§
    `Štj(i  ã                   ó  — d Z ddlZddlZddlZddlZddlmZ ddlmZm	Z	 ddl	m
Z
 g d¢Zej        Zej        Zi Zg ZdZd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d „ Z*d!„ Z+d"„ Z,d#„ Z-d$„ Z.d%„ Z/d&„ Z0d'„ Z1d(„ Z2d)„ Z3d*„ Z4d+„ Z5d,„ Z6d-„ Z7d.„ Z8d/„ Z9d0„ Z:d1„ Z;d2„ Z<d3„ Z=d4„ Z>d5„ Z?d6„ Z@d7„ ZAd8„ ZBd9„ ZCd:„ ZDd;„ ZEd<„ ZFd=„ ZGd>„ ZHd?„ ZId@„ ZJdA„ ZKdB„ ZLdC„ ZMdD„ ZNdE„ ZOdF„ ZPdG„ ZQdH„ ZRdI„ ZSdJ„ ZTdK„ ZUdL„ ZVdM„ ZWdN„ ZXdO„ ZYdP„ ZZdQ„ Z[dR„ Z\dS„ Z]dT„ Z^dU„ Z_eQdVeRdWeSdXeTdYeWdZeVd[eLd\e[d]e]d^e^d_e_d`iZ`da„ Zadb„ Zbdc„ Zcdd„ Zdde„ Zedf„ Zfdg„ Zgdh„ Zhdi„ Zidj„ Zjdk„ Zkdl„ Zldm„ Zmdn„ Zndo„ Zo G dp„ dqep¦  «        Zq G dr„ ds¦  «        Zrdt„ Zsdu„ Ztdv„ Zudw„ Zvdx„ Zwd�dy„Zxdz„ Zyi fd{„Zzd|„ Z{d}„ Z|d~„ Z}d„ Z~d€„ Zd�„ Z€d‚„ Z�dƒ„ Z‚d„„ Zƒd�d†„Z„d‡„ Z…i fdˆ„Z† ej‡        d‰ejˆ        ¦  «        j‰        ZŠ ej‡        dŠejˆ        ¦  «        j‰        Z‹d‹„ ZŒdŒ„ Z�d‘dŽ„ZŽdS )’a9  
Auxiliary functions for f2py2e.

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

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
é    N)Úreduceé   )Ú__version__Úcfuncs)Úerrmess)`Ú
applyrulesÚ	debugcapiÚ
dictappendr   ÚgentitleÚgetargs2ÚgetcallprotoargumentÚgetcallstatementÚgetfortrannameÚgetpymethoddefÚ
getrestdocÚgetusercodeÚgetusercode1ÚgetdimensionÚhasbodyÚhascallstatementÚ	hascommonÚhasexternalsÚhasinitvalueÚhasnoteÚhasresultnoteÚisallocatableÚisarrayÚisarrayofstringsÚischaracterÚischaracterarrayÚischaracter_or_characterarrayÚ	iscomplexÚiscstyledirectiveÚiscomplexarrayÚiscomplexfunctionÚiscomplexfunction_warnÚisdoubleÚisdummyroutineÚ
isexternalÚ
isfunctionÚisfunction_wrapÚisint1Úisint1arrayÚ	isintegerÚisintent_auxÚ
isintent_cÚisintent_callbackÚisintent_copyÚisintent_dictÚisintent_hideÚisintent_inÚisintent_inoutÚisintent_inplaceÚisintent_nothideÚisintent_outÚisintent_overwriteÚ	islogicalÚislogicalfunctionÚislong_complexÚislong_doubleÚislong_doublefunctionÚislong_longÚislong_longfunctionÚismoduleÚismoduleroutineÚ
isoptionalÚ	isprivateÚ
isvariableÚ
isrequiredÚ	isroutineÚisscalarÚissigned_long_longarrayÚisstringÚisstringarrayÚisstring_or_stringarrayÚisstringfunctionÚissubroutineÚget_f2py_modulenameÚissubroutine_wrapÚisthreadsafeÚ
isunsignedÚisunsigned_charÚisunsigned_chararrayÚisunsigned_long_longÚisunsigned_long_longarrayÚisunsigned_shortÚisunsigned_shortarrayÚl_andÚl_notÚl_orÚoutmessÚreplaceÚshowÚ
stripcommaÚthrow_errorÚisattr_valueÚgetuseblocksÚprocess_f2cmap_dictÚcontainscommonÚcontainsderivedtypesc                 ó~   — t                                dd¦  «        r!t          j                             | ¦  «         d S d S )NÚverboser   )ÚoptionsÚgetÚsysÚstdoutÚwrite)Úts    úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/f2py/auxfuncs.pyr]   r]   ;   s>   € Ý‡{‚{�9˜aÑ Ô ð ÝŒ
×Ò˜ÑÔÐÐÐðð ó    c                 ó   — dt           v S )NÚcapi)Údebugoptions©Úvars    ro   r	   r	   @   s   € Ø•\Ð!Ð!rp   c                 óB   — d| v o| d         dk    ot          | ¦  «         S ©NÚtypespecÚ	character©r)   rt   s    ro   Ú_ischaracterr{   D   ó0   € Ø˜Ðð   Z¤°KÒ!?ð Ý˜#‰ŒÐðrp   c                 óB   — d| v o| d         dk    ot          | ¦  «         S rw   rz   rt   s    ro   Ú	_isstringr~   I   r|   rp   c                 ó(   — t          | ¦  «        od| vS ©NÚcharselector©r{   rt   s    ro   r!   r!   N   s   € Ý˜ÑÔÐ: °sÐ!:Ð:rp   c                 ó@   — t          | ¦  «        ot          | ¦  «         S ©N©r!   r   rt   s    ro   r   r   R   s   € Ý(¨Ñ-Ô-ÐBµg¸c±l´lÐ2BÐBrp   c                 ó>   — t          | ¦  «        ot          | ¦  «        S r„   r…   rt   s    ro   r    r    V   s   € Ý(¨Ñ-Ô-Ð>µ'¸#±,´,Ð>rp   c                 ó(   — t          | ¦  «        od| v S r€   r‚   rt   s    ro   rM   rM   Z   s   € Ý˜ÑÔÐ6 °3Ð!6Ð6rp   c                 ó@   — t          | ¦  «        ot          | ¦  «         S r„   ©rM   r   rt   s    ro   rK   rK   ^   s   € Ý" 3Ñ'Ô'Ð<µ¸±´Ð,<Ð<rp   c                 ó>   — t          | ¦  «        ot          | ¦  «        S r„   r‰   rt   s    ro   rL   rL   b   s   € Ý" 3Ñ'Ô'Ð8­G°C©L¬LÐ8rp   c                 óD   — t          | ¦  «        o| d         d         dk    S )NÚ	dimensionéÿÿÿÿz(*))rL   rt   s    ro   r   r   f   s&   € õ ˜ÑÔÐ? # kÔ"2°2Ô"6¸%Ò"?Ð?rp   c                 ó*   — d| v ot          | ¦  «         S ©NrŒ   rz   rt   s    ro   r   r   l   s   € Ø˜#ÐÐ5¥j°¡o¤oÐ"5Ð5rp   c                 ó^   — t          | ¦  «        pt          | ¦  «        pt          | ¦  «         S r„   )r   rK   r)   rt   s    ro   rI   rI   p   s'   € Ý˜‘”Ð@¥¨¡¤Ð@µ¸C±´ÐAÐArp   c                 óN   — t          | ¦  «        o|                      d¦  «        dv S ©Nrx   )Úcomplexzdouble complex©rI   rj   rt   s    ro   r"   r"   t   s,   € Ý�C‰=Œ=ð @Ø�7Š7�:ÑÔÐ"?Ð?ð@rp   c                 óR   — t          | ¦  «        o|                      d¦  «        dk    S )Nrx   Úlogicalr”   rt   s    ro   r;   r;   y   ó$   € Ý�C‰=Œ=Ð=˜SŸWšW ZÑ0Ô0°IÒ=Ð=rp   c                 óR   — t          | ¦  «        o|                      d¦  «        dk    S )Nrx   Úintegerr”   rt   s    ro   r.   r.   }   r—   rp   c                 óR   — t          | ¦  «        o|                      d¦  «        dk    S )Nrx   Úrealr”   rt   s    ro   Úisrealrœ   �   s$   € Ý�C‰=Œ=Ð:˜SŸWšW ZÑ0Ô0°FÒ:Ð:rp   c                 ó‚   — 	 | d         d         S # t           $ r$ 	 | d         d         cY S # t           $ r Y Y d S w xY ww xY w)NÚkindselectorÚ*Úkind©ÚKeyErrorrt   s    ro   Úget_kindr£   …   sq   € ðØ�>Ô" 3Ô'Ð'øÝð ð ð ð	Ø�~Ô& vÔ.Ð.Ð.Ð.øÝð 	ð 	ð 	ØˆDˆDˆDð	øøøðøøøs    ‚ �
>›+¨>«
:µ>¹:º>c                 óz   — |                       d¦  «        dk    o"t          | ¦  «        dk    ot          | ¦  «         S ©Nrx   r™   Ú1)rj   r£   r   rt   s    ro   r,   r,   �   s?   € Ø�7Š7�:ÑÔ )Ò+ð 6Ý�S‰MŒM˜SÒ ð6Ý)0°©¬Ð%5ð6rp   c                 ó|   — t          | ¦  «        sdS |                      d¦  «        dvrdS t          | ¦  «        dk    S )Nr   rx   ©r™   r–   Ú8©rI   rj   r£   rt   s    ro   r@   r@   ”   sC   € Ý�C‰=Œ=ð ØˆqØ
‡w‚wˆzÑÔÐ"8Ð8Ð8ØˆqÝ�C‰=Œ=˜CÒÐrp   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    rdS t          | ¦  «        dk    S )Nr   rx   r™   ú-1rª   rt   s    ro   rT   rT   œ   óB   € Ý�C‰=Œ=ð ØˆqØ
‡w‚wˆzÑÔ˜iÒ'Ð'ØˆqÝ�C‰=Œ=˜DÒ Ð rp   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    rdS t          | ¦  «        dk    S )Nr   rx   r™   ú-2rª   rt   s    ro   rX   rX   ¤   r­   rp   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    rdS t          | ¦  «        dk    S )Nr   rx   r™   ú-4rª   rt   s    ro   rS   rS   ¬   r­   rp   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    rdS t          | ¦  «        dk    S )Nr   rx   r™   ú-8rª   rt   s    ro   rV   rV   ´   r­   rp   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    sdS t          | ¦  «        dk    S )Nr   rx   r›   r©   rª   rt   s    ro   r'   r'   ¼   sB   € Ý�C‰=Œ=ð ØˆqØ�7Š7�:ÑÔ &Ò(Ð(ØˆqÝ�C‰=Œ=˜CÒÐrp   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    sdS t          | ¦  «        dk    S )Nr   rx   r›   Ú16rª   rt   s    ro   r>   r>   Ä   sB   € Ý�C‰=Œ=ð ØˆqØ�7Š7�:ÑÔ &Ò(Ð(ØˆqÝ�C‰=Œ=˜DÒ Ð rp   c                 óJ   — t          | ¦  «        sdS t          | ¦  «        dk    S )Nr   Ú32)r"   r£   rt   s    ro   r=   r=   Ì   s&   € Ý�S‰>Œ>ð ØˆqÝ�C‰=Œ=˜DÒ Ð rp   c                 óN   — t          | ¦  «        o|                      d¦  «        dv S r’   )r   rj   rt   s    ro   r$   r$   Ò   s,   € Ý�3‰<Œ<ð @Ø�7Š7�:ÑÔÐ"?Ð?ð@rp   c                 óx   — t          | ¦  «        o+|                      d¦  «        dk    ot          | ¦  «        dk    S r¥   ©r   rj   r£   rt   s    ro   r-   r-   ×   s;   € Ý�3‰<Œ<ð !˜CŸGšG JÑ/Ô/°9Ò<ð !Ý�S‰MŒM˜SÒ ð!rp   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrx   r¨   r¬   r»   rt   s    ro   rU   rU   Ü   ó<   € Ý�3‰<Œ<ð "˜CŸGšG JÑ/Ô/Ð3IÐIð "Ý�S‰MŒM˜TÒ!ð"rp   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrx   r¨   r¯   r»   rt   s    ro   rY   rY   á   r½   rp   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrx   r¨   r±   r»   rt   s    ro   ÚisunsignedarrayrÀ   æ   r½   rp   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrx   r¨   r³   r»   rt   s    ro   rW   rW   ë   r½   rp   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrx   r¨   r¦   r»   rt   s    ro   Úissigned_chararrayrÃ   ð   ó<   € Ý�3‰<Œ<ð !˜CŸGšG JÑ/Ô/Ð3IÐIð !Ý�S‰MŒM˜SÒ ð!rp   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrx   r¨   Ú2r»   rt   s    ro   Úissigned_shortarrayrÇ   õ   rÄ   rp   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrx   r¨   Ú4r»   rt   s    ro   Úissigned_arrayrÊ   ú   rÄ   rp   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrx   r¨   r©   r»   rt   s    ro   rJ   rJ   ÿ   rÄ   rp   c                 ó   — d| v o	d| d         v S )NÚattrspecÚallocatable© rt   s    ro   r   r     s   € Ø˜ÐÐA °#°j´/Ð!AÐArp   c                 ó*   — d| vpt          | ¦  «         S r�   )rK   rt   s    ro   Ú	ismutablerÑ     s   € Ø 3Ð&Ð7­(°3©-¬-Ð8Ð8rp   c                 ó
   — d| v S )NÚ
modulenamerÏ   ©Úrouts    ro   rC   rC     s   € Ø˜4ÐÐrp   c                 ó"   — d| v od| d         k    S )NÚblockÚmodulerÏ   rÔ   s    ro   rB   rB     s   € Ø�dˆ?Ð8˜x¨4°¬=Ò8Ð8rp   c                 ó"   — d| v od| d         k    S )Nr×   ÚfunctionrÏ   rÔ   s    ro   r*   r*     s   € Ø�dˆ?Ð:˜z¨T°'¬]Ò:Ð:rp   c                 óp   — t          | ¦  «        rdS t          ot          | ¦  «        ot          | ¦  «         S ©Nr   )r0   Ú	wrapfuncsr*   r)   rÔ   s    ro   r+   r+     s:   € Ý�$ÑÔð ØˆqÝÐD� DÑ)Ô)ÐDµ:¸dÑ3CÔ3CÐ/CÐDrp   c                 ó"   — d| v od| d         k    S )Nr×   Ú
subroutinerÏ   rÔ   s    ro   rO   rO     s   € Ø�dˆ?Ð<˜|¨t°G¬}Ò<Ð<rp   c                 ó`   — t          | ¦  «        rdS t          | ¦  «        ot          | ¦  «        S rÜ   )r0   rO   ÚhasassumedshaperÔ   s    ro   rQ   rQ   "  s2   € Ý�$ÑÔð ØˆqÝ˜ÑÔÐ7¥/°$Ñ"7Ô"7Ð7rp   c                 ó2   — d|                       dg ¦  «        v S )NÚvaluerÍ   ©rj   rt   s    ro   rb   rb   '  s   € Ø�c—g’g˜j¨"Ñ-Ô-Ð-Ð-rp   c                 óÎ   — |                       d¦  «        rdS | d         D ]D}| d                               |i ¦  «                              dg ¦  «        D ]}|dk    r	d| d<     dS ŒŒEdS )Nrá   TÚargsÚvarsrŒ   ú:Frä   )rÕ   ÚaÚds      ro   rá   rá   +  s�   € Ø‡x‚xÐ!Ñ"Ô"ð ØˆtØ�&Œ\ð ð ˆØ�f”×!Ò! ! RÑ(Ô(×,Ò,¨[¸"Ñ=Ô=ð 	ð 	ˆAØ�CŠxˆxØ*.�Ð&Ñ'Ø�t�t�tð ð	ð ˆ5rp   c                 ó>   — t          | ¦  «        pt          | ¦  «        S r„   )rC   rá   rÔ   s    ro   Úrequiresf90wrapperrì   6  s   € Ý˜4Ñ Ô Ð9¥O°DÑ$9Ô$9Ð9rp   c                 ó>   — t          | ¦  «        pt          | ¦  «        S r„   )r*   rO   rÔ   s    ro   rH   rH   :  s   € Ý�dÑÔÐ1�|¨DÑ1Ô1Ð1rp   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS ©Nr   ÚresultÚnamerç   )r*   r;   ©rÕ   ré   s     ro   r<   r<   >  ó`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ˜˜fœ aœÑ)Ô)Ð)Øˆ1rp   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rï   )r*   r@   rò   s     ro   rA   rA   J  s`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ˜4 œ<¨œ?Ñ+Ô+Ð+Øˆ1rp   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rï   )r*   r>   rò   s     ro   r?   r?   V  s`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ˜T &œ\¨!œ_Ñ-Ô-Ð-Øˆ1rp   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rï   )r*   r"   rò   s     ro   r%   r%   b  ró   rp   c                 óF   — t          | ¦  «        rt          d¦  «         dS dS )Na‰      **************************************************************
        Warning: code with a function returning complex value
        may not work correctly with your Fortran compiler.
        When using GNU gcc/g77 compilers, codes should work
        correctly for callbacks with:
        f2py -c -DF2PY_CB_RETURNCOMPLEX
    **************************************************************
r   r   )r%   r]   rÔ   s    ro   r&   r&   n  s9   € Ý˜ÑÔð 	Ýð Hñ 	Iô 	Ið 	Ið ˆqØˆ1rp   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rï   )r*   rK   rò   s     ro   rN   rN   |  s`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ˜˜Vœ QœÑ(Ô(Ð(Øˆ1rp   c                 ó   — d| v o| d         S )NÚ	externalsrÏ   rÔ   s    ro   r   r   ˆ  s   € Ø˜$ÐÐ4 4¨Ô#4Ð4rp   c                 ó   — d| v o	d| d         v S )NÚf2pyenhancementsÚ
threadsaferÏ   rÔ   s    ro   rR   rR   Œ  s"   € Ø Ð%ð 4Ø˜4Ð 2Ô3Ð3ð4rp   c                 ó   — d| v o| d         S )Nrç   rÏ   rÔ   s    ro   Úhasvariablesrÿ   ‘  s   € Ø�Tˆ>Ð*˜d 6œlÐ*rp   c                 óP   — d| v o"d| d         v od| d         vot          | ¦  «        S )NrÍ   ÚoptionalÚrequired)r8   rt   s    ro   rD   rD   •  sB   € Ø˜#Ðð . *°°J´Ð"?ð .Ø˜c *œoÐ-ðIÝ3CÀCÑ3HÔ3HðIrp   c                 ó   — d| v o	d| d         v S )NrÍ   ÚexternalrÏ   rt   s    ro   r)   r)   š  s   € Ø˜ÐÐ> ¨s°:¬Ð!>Ð>rp   c                 ó¼   ‡— dŠd|                       ¦   «         v r@t          d„ | d         D ¦   «         ¦  «        r#t          ˆfd„| d         D ¦   «         ¦  «        S d S d S )Nz	\((.*?)\)rÍ   c              3   ó   K  — | ]}d |v V — Œ	dS )rŒ   NrÏ   )Ú.0Úss     ro   ú	<genexpr>zgetdimension.<locals>.<genexpr>¡  s'   è è € Ð9Ð9 Aˆ{˜aÐÐ9Ð9Ð9Ð9Ð9Ð9rp   c              3   óB   •K  — | ]}t          j        ‰|¦  «        V — Œd S r„   )ÚreÚfindall)r  ÚvÚ
dimpatterns     €ro   r	  zgetdimension.<locals>.<genexpr>¢  s/   øè è € ÐKÐK°a�œ
 :¨qÑ1Ô1ÐKÐKÐKÐKÐKÐKrp   )ÚkeysÚanyÚnext)ru   r  s    @ro   r   r   ž  sz   ø€ Ø€JØ�S—X’X‘Z”ZÐÐÝÐ9Ð9¨¨Z¬Ð9Ñ9Ô9Ñ9Ô9ð 	LÝÐKÐKÐKÐK¸3¸z¼?ÐKÑKÔKÑKÔKÐKð  Ðð	Lð 	Lrp   c                 ó@   — t          | ¦  «         ot          | ¦  «        S r„   )rD   r8   rt   s    ro   rG   rG   ¥  s   € Ý˜#‰ŒÐÐ8Õ#3°CÑ#8Ô#8Ð8rp   c                 óB   ‡ — h d£}t          ˆ fd„|D ¦   «         ¦  «        S )N>   ÚpymethoddefÚcallstatementÚcallprotoargumentc              3   óD   •K  — | ]}|‰                      ¦   «         v V — Œd S r„   ©Úlower)r  Ú	directiveÚ	f2py_lines     €ro   r	  z$iscstyledirective.<locals>.<genexpr>«  s2   øè è € ÐJÐJ°)ˆy˜IŸOšOÑ-Ô-Ð-ÐJÐJÐJÐJÐJÐJrp   )r  )r  Ú
directivess   ` ro   r#   r#   ©  s1   ø€ ØFÐFÐF€JÝÐJÐJÐJÐJ¸zÐJÑJÔJÑJÔJÐJrp   c                 ó¢   — d| vrdS d| d         v rdS d| d         v rdS d| d         v rdS d| d         v rdS d| d         v rdS d	| d         v rdS dS )
NÚintentr   Úhider   ÚinplaceÚinÚoutÚinoutÚoutinrÏ   rt   s    ro   r5   r5   ®  s�   € Ø�sÐÐØˆqØ��X”ÐÐØˆqØ�C˜”MÐ!Ð!ØˆqØˆs�8Œ}ÐÐØˆqØ��H”ÐÐØˆqØ�#�h”-ÐÐØˆqØ�#�h”-ÐÐØˆqØˆ1rp   c                 ón   — d| v o1d| d         v s
d| d         v od| d         vod| d         vo	d| d         vS )Nr  r#  r$  r!  r  r   rÏ   rt   s    ro   r6   r6   À  sg   € Ø˜ˆOð K ¨C°¬MÐ!9ð "%Ø�s˜8”}Ð$ðKØ*.°c¸(´mÐ*CðKà˜#˜hœ-Ð'ðKà,5¸SÀ¼]Ð,JðLrp   c                 ó2   — d|                       dg ¦  «        v S )Nr"  r  rä   rt   s    ro   r9   r9   Æ  ó   € Ø�C—G’G˜H bÑ)Ô)Ð)Ð)rp   c                 óŽ   — d| v oAd| d         v p7d| d         v o-d| d         vo# t          t          t          ¦  «        | ¦  «         S )Nr  r  r"  r!  )r\   r6   r7   rt   s    ro   r4   r4   Ê  sd   € Ø˜ˆOð D ¨3¨x¬=Ð!8ð "CØ�c˜(”mÐ#ð B¨°C¸´MÐ(Að BØ;•T�.Õ*:Ñ;Ô;¸CÑ@Ô@Ð@ðErp   c                 ó"   — t          | ¦  «         S r„   )r4   rt   s    ro   r8   r8   Ð  s   € Ý˜SÑ!Ô!Ð!Ð!rp   c                 ó2   — d|                       dg ¦  «        v S )NÚcr  rä   rt   s    ro   r0   r0   Ô  s   € Ø�#—'’'˜( BÑ'Ô'Ð'Ð'rp   c                 ó2   — d|                       dg ¦  «        v S )NÚcacher  rä   rt   s    ro   Úisintent_cacher.  Ø  s   € Ø�c—g’g˜h¨Ñ+Ô+Ð+Ð+rp   c                 ó2   — d|                       dg ¦  «        v S )NÚcopyr  rä   rt   s    ro   r2   r2   Ü  s   € Ø�S—W’W˜X rÑ*Ô*Ð*Ð*rp   c                 ó2   — d|                       dg ¦  «        v S )NÚ	overwriter  rä   rt   s    ro   r:   r:   à  ó   € Ø˜#Ÿ'š' (¨BÑ/Ô/Ð/Ð/rp   c                 ó2   — d|                       dg ¦  «        v S )NÚcallbackr  rä   rt   s    ro   r1   r1   ä  ó   € Ø˜Ÿš ¨2Ñ.Ô.Ð.Ð.rp   c                 ó2   — d|                       dg ¦  «        v S )Nr   r  rä   rt   s    ro   r7   r7   è  s   € Ø˜Ÿš ¨"Ñ-Ô-Ð-Ð-rp   c                 ó2   — d|                       dg ¦  «        v S )NÚauxr  rä   rt   s    ro   r/   r/   ì  r'  rp   c                 ó2   — d|                       dg ¦  «        v S )NÚaligned4r  rä   rt   s    ro   Úisintent_aligned4r<  ð  r6  rp   c                 ó2   — d|                       dg ¦  «        v S )NÚaligned8r  rä   rt   s    ro   Úisintent_aligned8r?  ô  r6  rp   c                 ó2   — d|                       dg ¦  «        v S )NÚ	aligned16r  rä   rt   s    ro   Úisintent_aligned16rB  ø  r3  rp   Ú	INTENT_INÚINTENT_INOUTÚ
INTENT_OUTÚINTENT_HIDEÚINTENT_CACHEÚINTENT_CÚOPTIONALÚINTENT_INPLACEÚINTENT_ALIGNED4ÚINTENT_ALIGNED8ÚINTENT_ALIGNED16c                 ó   — d| v o	d| d         v S )NrÍ   ÚprivaterÏ   rt   s    ro   rE   rE     s   € Ø˜ÐÐ= ¨c°*¬oÐ!=Ð=rp   c                 ó^   — t          | ¦  «        dk    rd| v r| d         d         dv rd}nd}|S )Nr   rÍ   r   )ÚpublicrO  FT©Úlen)ru   Úis_vars     ro   rF   rF     sA   € å
ˆ3�x„x�1‚}€}˜ sÐ*Ð*Ø�
ŒO˜AÔÐ"7Ð7Ð7ØˆˆàˆØ€Mrp   c                 ó
   — d| v S )Nú=rÏ   rt   s    ro   r   r     s   € Ø�#ˆ:Ðrp   c                 óD   — t          | ¦  «        sdS | d         d         dv S )Nr   rV  )ú"ú')r   rt   s    ro   ÚhasinitvalueasstringrZ    s*   € Ý˜ÑÔð ØˆqØˆsŒ8�AŒ;˜*Ð$Ð$rp   c                 ó
   — d| v S )NÚnoterÏ   rt   s    ro   r   r     s   € Ø�Sˆ=Ðrp   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rï   )r*   r   rò   s     ro   r   r   "  s`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ�t˜F”| A”Ñ'Ô'Ð'Øˆ1rp   c                 ó
   — d| v S )NÚcommonrÏ   rÔ   s    ro   r   r   .  s   € Ø�tÐÐrp   c                 ó€   — t          | ¦  «        rdS t          | ¦  «        r| d         D ]}t          |¦  «        r dS ŒdS ©Nr   Úbodyr   )r   r   re   ©rÕ   Úbs     ro   re   re   2  sW   € Ý��„ð ØˆqÝˆt�}„}ð Ø�f”ð 	ð 	ˆAÝ˜aÑ Ô ð Ø�q�qðàˆ1rp   c                 ó"   — d| v o| d         dk    S )Nr×   ÚtyperÏ   rÔ   s    ro   Úhasderivedtypesrg  <  s   € Ø�tˆOÐ8  g¤°&Ò!8Ð8rp   c                 ó€   — t          | ¦  «        rdS t          | ¦  «        r| d         D ]}t          |¦  «        r dS ŒdS ra  )rg  r   rc  s     ro   rf   rf   @  sY   € Ý�tÑÔð ØˆqÝˆt�}„}ð Ø�f”ð 	ð 	ˆAÝ˜qÑ!Ô!ð Ø�q�qðàˆ1rp   c                 ó„   — t          | ¦  «        rdS t          | ¦  «        sdS | d         D ]}t          |¦  «        r dS ŒdS )Nr   r   rb  )rB   r   Úcontainsmodule)r×   rd  s     ro   rj  rj  J  s\   € Ý��„ð ØˆqÝ�5‰>Œ>ð ØˆqØ�6Œ]ð ð ˆÝ˜!ÑÔð 	Ø�1�1ð	àˆ1rp   c                 ó
   — d| v S )Nrb  rÏ   rÔ   s    ro   r   r   U  s   € Ø�Tˆ>Ðrp   c                 ó$   — t          | ¦  «        d uS r„   )r   rÔ   s    ro   r   r   Y  s   € Ý˜DÑ!Ô!¨Ð-Ð-rp   c                 ó   — dS )Nr   rÏ   rt   s    ro   Úistruern  ]  ó   € Øˆ1rp   c                 ó   — dS rÜ   rÏ   rt   s    ro   Úisfalserq  a  ro  rp   c                   ó   — e Zd ZdS )Ú	F2PYErrorN)Ú__name__Ú
__module__Ú__qualname__rÏ   rp   ro   rs  rs  e  s   € € € € € Ø€Drp   rs  c                   ó   — e Zd Zd„ Zd„ ZdS )ra   c                 ó   — || _         d S r„   )Úmess)Úselfry  s     ro   Ú__init__zthrow_error.__init__k  s   € ØˆŒ	ˆ	ˆ	rp   c                 ó<   — d|› d| j         › d�}t          |¦  «        ‚)Nz


  var = z
  Message: ú
)ry  rs  )rz  ru   ry  s      ro   Ú__call__zthrow_error.__call__n  s(   € Ø=˜cÐ=Ð=°´	Ð=Ð=Ð=ˆÝ˜‰oŒoÐrp   N)rt  ru  rv  r{  r~  rÏ   rp   ro   ra   ra   i  s2   € € € € € ðð ð ðð ð ð ð rp   ra   c                  óÖ   — dg }}t          t          | ¦  «        ¦  «        D ]"}d|||fz  }|                     d|z  ¦  «         Œ#t          |› dd                     |¦  «        › �¦  «        S )Núlambda vú%s,f%d=f[%d]úf%d(v)rè   z and ©ÚrangerS  ÚappendÚevalÚjoin©ÚfÚl1Úl2Úis       ro   rZ   rZ   s  sw   € Ø˜ˆ€BÝ•3�q‘6”6‰]Œ]ð "ð "ˆØ˜r 1 a˜jÑ(ˆØ
�	Š	�(˜a‘.Ñ!Ô!Ð!Ð!Ý�2Ð*Ð*˜Ÿš RÑ(Ô(Ð*Ð*Ñ+Ô+Ð+rp   c                  óÖ   — dg }}t          t          | ¦  «        ¦  «        D ]"}d|||fz  }|                     d|z  ¦  «         Œ#t          |› dd                     |¦  «        › �¦  «        S )Nr€  r�  r‚  rè   z or rƒ  rˆ  s       ro   r\   r\   {  su   € Ø˜ˆ€BÝ•3�q‘6”6‰]Œ]ð "ð "ˆØ˜r 1 a˜jÑ(ˆØ
�	Š	�(˜a‘.Ñ!Ô!Ð!Ð!Ý�2Ð)Ð)˜Ÿš B™œÐ)Ð)Ñ*Ô*Ð*rp   c                 ó    — t          d¦  «        S )Nzlambda v,f=f:not f(v))r†  )r‰  s    ro   r[   r[   ƒ  s   € ÝÐ'Ñ(Ô(Ð(rp   c                 óJ   — 	 | d         d         dk    S # t           $ r Y dS w xY w)Nrü   ÚfortrannameÚ r   r¡   rÔ   s    ro   r(   r(   ‡  s?   € ðØÐ&Ô'¨Ô6¸"Ò<Ð<øÝð ð ð Øˆqˆqðøøøs   ‚ ”
"¡"c                 ó´   — 	 | d         d         }|dk    rt           ‚|s t          d| d         › d�¦  «         t           ‚n# t           $ r | d         }Y nw xY w|S )Nrü   r�  r‘  zFailed to use fortranname from r}  rñ   )r¢   r   )rÕ   rñ   s     ro   r   r   Ž  s†   € ðØÐ&Ô'¨Ô6ˆØ�2Š:ˆ:ÝˆNØð 	ÝÐR°dÐ;MÔ6NÐRÐRÐRÑSÔSÐSÝˆNð	øõ ð ð ð Ø�FŒ|ˆˆˆðøøøà€Ks   ‚=A  Á AÁAc                 óF  — 	 | d                               |¦  «        }n# t          $ r Y d S w xY w|sd S |dk    rt          |t          ¦  «        rd S t          |t          ¦  «        r|t          |¦  «        k    rd S ||         }|d d…         dk    r‘|r'd|z   dz   t          |¦  «        z   dz   |dd …         z   }n
|dd …         }|dd …         dk    r.|r!|d d…         d	z   t          |¦  «        z   d
z   }n-|d d…         }n"t          |› dt          |¦  «        › d�¦  «         |S )Nrü   r   é   z'''z
	/* start z multiline (z) */
éýÿÿÿz
	/* end multiline (z)*/z( multiline block should end with `'''`: r}  )rj   r¢   Ú
isinstanceÚstrÚlistrS  Úreprr   )rÕ   Ú	blocknameÚcommentÚcounterÚrs        ro   Úgetmultilineblockrž  ›  sx  € ðØÐ#Ô$×(Ò(¨Ñ3Ô3ˆˆøÝð ð ð Øˆˆðøøøàð ØˆØ�‚{€{•z !¥SÑ)Ô)€{ØˆÝ�!•TÑÔð Ø•c˜!‘f”fÒÐØˆFØˆgŒJˆØˆˆ!ˆ„u�‚~€~Øð 	Ø 	Ñ)ØñÝ!% g¡¤ñ/Ø19ñ:Ø<=¸a¸b¸b¼EñBˆAˆAð �!�"�"”ˆAØˆRˆSˆSŒ6�UŠ?ˆ?Øð Ø�c�r�c”FÐ5Ñ5½¸W¹¼ÑEÈÑM��à�c�r�c”F��å�yÐUÐUÍ$ÈqÉ'Ì'ÐUÐUÐUÑVÔVÐVØ€Hs   ‚ ž
,«,c                 ó"   — t          | d¦  «        S )Nr  ©rž  rÔ   s    ro   r   r   ¸  s   € Ý˜T ?Ñ3Ô3Ð3rp   c           	      ó8  — t          | dd¬¦  «        }|r|S t          | ¦  «        rt          d¦  «         d S ddlm} g g }} t          t          t          t          ¦  «        ¦  «        | ¦  «        r| 	                    ddg¦  «         | d	         D ]í}| d
         |         }t          |¦  «        rŒ ||v r||         dz   }n¨ ||¦  «        } t          t          t          t          t          ¦  «        ¦  «        |¦  «        rn$t          |¦  «        rnt!          |¦  «        s|dz   }t          |¦  «        st#          |¦  «        st%          |¦  «        r|                     d¦  «         |                     |¦  «         Œîd                     ||z   ¦  «        }	|	sd}	|	S )Nr  r   )r›  z<warning: callstatement is defined without callprotoargument
r   )Úgetctypezchar*Úsize_træ   rç   Ú_typedefrŸ   ú,Úvoid)rž  r   r]   Ú	capi_mapsr¢  rZ   rN   r[   r+   Úextendr1   r0   r\   rI   r"   rK   rb   r   rL   r…  r‡  )
rÕ   Úcb_mapr�  r¢  Ú	arg_typesÚ
arg_types2Únru   ÚctypeÚ
proto_argss
             ro   r   r   ¼  sÚ  € Ý˜$Ð 3¸QÐ?Ñ?Ô?€AØð ØˆÝ˜ÑÔð ÝØKñ	Mô 	Mð 	MàˆØ#Ð#Ð#Ð#Ð#Ð#Ø ˆz€IØ6…uÕ�u¥_Ñ5Ô5Ñ6Ô6°tÑ<Ô<ð .Ø×Ò˜' 8Ð,Ñ-Ô-Ð-Ø�&Œ\ð  ð  ˆØ�6Œl˜1ŒoˆÝ˜SÑ!Ô!ð 	ØØ�ˆ;ˆ;Ø˜1”I 
Ñ*ˆEˆEà�H˜S‘M”MˆEØ;�u•Z¥¥hµ	Ñ!:Ô!:Ñ;Ô;¸CÑ@Ô@ð $ØÝ˜#‘”ð $ØÝ! #Ñ&Ô&ð $Ø ™�Ý˜‘”ð ,Ý$ SÑ)Ô)ð,å! #Ñ&Ô&ð,ð ×!Ò! (Ñ+Ô+Ð+Ø×Ò˜ÑÔÐÐà—’˜) jÑ0Ñ1Ô1€JØð Øˆ
ØÐrp   c                 ó"   — t          | d¦  «        S )NÚusercoder   rÔ   s    ro   r   r   â  s   € Ý˜T :Ñ.Ô.Ð.rp   c                 ó&   — t          | dd¬¦  «        S )Nr°  r   )rœ  r   rÔ   s    ro   r   r   æ  s   € Ý˜T :°qÐ9Ñ9Ô9Ð9rp   c                 ó"   — t          | d¦  «        S )Nr  r   rÔ   s    ro   r   r   ê  s   € Ý˜T =Ñ1Ô1Ð1rp   c                 óÈ   — g g }}d| v rW| d         }d| v rC| d         D ]}||v r|                      |¦  «         Œ|D ]}||vr|                      |¦  «         Œn| d         }||fS )Nræ   Úsortvars)r…  )rÕ   Úsortargsræ   ré   s       ro   Úgetargsr¶  î  sŸ   € Ø˜ˆd€HØ�€~€~Ø�FŒ|ˆØ˜ÐÐØ˜*Ô%ð 'ð '�Ø˜�9�9Ø—O’O AÑ&Ô&Ð&øØð 'ð '�Ø˜HÐ$Ð$Ø—O’O AÑ&Ô&Ð&øð'ð ˜F”|ˆHØ�ˆ>Ðrp   c                 ó<  ‡ ‡— g ‰                       dg ¦  «        c}Šˆˆ fd„‰ d                              ¦   «         D ¦   «         }|‰z   Šd‰ v rC‰ d         D ]}|‰v r|                     |¦  «         Œ‰D ]}||vr|                     |¦  «         Œn|‰ d         z   }‰|fS )Nræ   c                 óR   •— g | ]#}t          ‰d          |         ¦  «        r|‰v¯!|‘Œ$S )rç   )r/   )r  ré   ræ   rÕ   s     €€ro   ú
<listcomp>zgetargs2.<locals>.<listcomp>   s@   ø€ ð "ð "ð "�Qµ¸dÀ6¼lÈ1¼oÑ1NÔ1Nð "Ø˜D�=�=ð Ø �=�=rp   rç   r´  )rj   r  r…  )rÕ   rµ  Úauxvarsré   ræ   s   `   @ro   r   r   þ  sé   øø€ Ø˜Ÿš &¨"Ñ-Ô-€N€Hˆdð"ð "ð "ð "ð "˜$˜vœ,×+Ò+Ñ-Ô-ð "ñ "ô "€Gà�T‰>€DØ�TÐÐØ�jÔ!ð 	#ð 	#ˆAØ�DˆyˆyØ—’ Ñ"Ô"Ð"øØð 	#ð 	#ˆAØ˜Ð Ð Ø—’ Ñ"Ô"Ð"øð	#ð ˜T &œ\Ñ)ˆØ�ˆ>Ðrp   c                 ó‚   — d| vrd S d }| d         dk    r| d         | d         f}| d                               |d ¦  «        S )NÚf2pymultilinesr×   zpython modulerñ   rä   )rÕ   Úks     ro   r   r     sT   € Ø˜tÐ#Ð#ØˆtØ€AØˆG„}˜Ò'Ð'Ø�ŒM˜4 œ<Ð'ˆØÐ Ô!×%Ò% a¨Ñ.Ô.Ð.rp   c                 óV   — dt          | ¦  «        z
  dz
  dz  }d|dz  › d| › d|dz  › d�S )NéP   é   é   z/*rŸ   ú z*/rR  )rñ   Úlns     ro   r   r     sD   € Ø
�s�4‰yŒy‰.˜1Ñ
 Ñ	"€BØ.��S‘Ð.Ð.˜4Ð.Ð. " s¡(Ð.Ð.Ð.Ð.rp   c                 ód   — t          | t          ¦  «        rt          t          fd„| g ¦  «        S | gS )Nc                 ó   — |  ||¦  «        z   S r„   rÏ   )ÚxÚyr‰  s      ro   ú<lambda>zflatlist.<locals>.<lambda>  s   € ¨q°1°1°Q±4´4©x€ rp   )r–  r˜  r   Úflatlist)Úlsts    ro   rÉ  rÉ    s7   € Ý�#•tÑÔð BÝ¥XÐ7Ð7Ð7¸¸bÑAÔAÐAØˆ5€Lrp   c                 ó6   — | r| d         dk    r
| d d…         S | S )Nr�   r¥  rÏ   )r  s    ro   r`   r`   #  s(   € Øð ˆQˆrŒU�cŠ\ˆ\Ø��"�ŒvˆØ€Hrp   r‘  c           
      ó.  ‡ ‡‡— t          ‰t          ¦  «        rˆˆ fd„‰D ¦   «         S t          ‰ t          ¦  «        rˆˆfd„‰ D ¦   «         S dt          ‰                     ¦   «         ¦  «        z  D ]¤}|dk    rŒ	d‰v r|‰d         v r‰d         |         }n‰}t          ‰|         t          ¦  «        rA‰                      d|› d�|                     t          ‰|         ¦  «        ¦  «        ¦  «        Š Œ„‰                      d|› d�‰|         ¦  «        Š Œ¥‰ S )Nc                 ó2   •— g | ]}t          ‰|‰¦  «        ‘ŒS rÏ   ©r^   )r  Ú_mÚ
defaultsepr—  s     €€ro   r¹  zreplace.<locals>.<listcomp>+  s%   ø€ Ð9Ð9Ð9°•˜˜R Ñ,Ô,Ð9Ð9Ð9rp   c                 ó2   •— g | ]}t          |‰‰¦  «        ‘ŒS rÏ   rÎ  )r  rÏ  rê   rÐ  s     €€ro   r¹  zreplace.<locals>.<listcomp>-  s%   ø€ Ð9Ð9Ð9¨r•˜˜A˜zÑ*Ô*Ð9Ð9Ð9rp   rÁ  Úseparatorsforú#)r–  r˜  r  r^   r‡  rÉ  )r—  rê   rÐ  r½  Úseps   ```  ro   r^   r^   )  s2  øøø€ Ý�!•TÑÔð :Ø9Ð9Ð9Ð9Ð9°qÐ9Ñ9Ô9Ð9Ý�#•tÑÔð :Ø9Ð9Ð9Ð9Ð9°SÐ9Ñ9Ô9Ð9Ø•�a—f’f‘h”h‘”Ñð 
.ð 
.ˆØ�ÒÐØØ˜aÐÐ A¨¨?Ô);Ð$;Ð$;Ø�OÔ$ QÔ'ˆCˆCàˆCÝ�a˜”d�DÑ!Ô!ð 	.Ø—+’+˜h !˜h˜h˜h¨¯ªµ¸!¸A¼$±´Ñ(@Ô(@ÑAÔAˆCˆCà—+’+˜h !˜h˜h˜h¨¨!¬Ñ-Ô-ˆCˆCØ€Jrp   c                 ó,  — t          |t          ¦  «        r|D ]}t          | |¦  «        } Œ| S |                     ¦   «         D �]Q}|d         dk    rŒ|| v �r1t          | |         t          ¦  «        r| |         g| |<   t          | |         t          ¦  «        rRt          ||         t          ¦  «        r| |         ||         z   | |<   Œ‡| |                              ||         ¦  «         Œ©t          | |         t          ¦  «        r€t          ||         t          ¦  «        re|dk    r@||                              ¦   «         D ]#}|| |         vr||         |         | |         |<   Œ$�Œ%t          | |         ||         ¦  «        | |<   �ŒF||         | |<   �ŒS| S )Nr   Ú_rÒ  )r–  r˜  r
   r  r—  r…  Údict)ÚrdÚarré   r½  Úk1s        ro   r
   r
   <  sš  € Ý�"•dÑÔð Øð 	#ð 	#ˆAÝ˜B Ñ"Ô"ˆBˆBØˆ	Ø�WŠW‰YŒYð ñ ˆØˆQŒ4�3Š;ˆ;ØØ�ˆ7‰7Ý˜"˜Qœ%¥Ñ%Ô%ð  Ø˜Aœ˜��1‘Ý˜"˜Qœ%¥Ñ&Ô&ð 9Ý˜b œe¥TÑ*Ô*ð (Ø˜qœE B q¤E™M�B�q‘E�Eà�q”E—L’L  A¤Ñ'Ô'Ð'Ð'Ý˜B˜qœE¥4Ñ(Ô(ð 9Ý˜b œe¥TÑ*Ô*ð 9Ø˜OÒ+Ð+Ø"$ Q¤%§*¢*¡,¤,ð 6ð 6˜BØ!¨¨A¬˜˜Ø,.¨q¬E°"¬I  1¤ b¡	øñ6õ !+¨2¨a¬5°"°Q´%Ñ 8Ô 8˜˜1™ùà�q”EˆBˆq‰E‰EØ€Irp   c           	      óº  — i }t          | t          ¦  «        r.| D ])}t          |||¦  «        }t          ||¦  «        }d|v r nŒ*|S d| v r | d         |¦  «        s|S d| v r7t          d| d         i||¦  «        }d|v rt	          j        |d         ¦  «         |                      ¦   «         D �]­}|dk    r| |         ||<   Œt          | |         t          ¦  «        rt          | |         |¦  «        ||<   �nt          | |         t          ¦  «        rJg ||<   | |         D ]:}t          ||i||¦  «        }	||	v r!||          	                    |	|         ¦  «         Œ;�n©|d         dk    rŒ½t          | |         t          ¦  «        �rZg ||<   | |                              ¦   «         D �]8}
t          |
t          j        ¦  «        �r |
|¦  «        �rt          | |         |
         t          ¦  «        ry| |         |
         D ]i}t          |t          ¦  «        r)t          d|i||¦  «        }|                     dd	¦  «        }||          	                    t          ||¦  «        ¦  «         ŒjŒÄ| |         |
         }t          |t          ¦  «        r(t          d|i|¦  «        }|                     dd	¦  «        }||          	                    t          ||¦  «        ¦  «         �Œ:n&t          d
t          | |         ¦  «        › d�¦  «         t          ||         t          ¦  «        r9t!          ||         ¦  «        dk    r||         d         ||<   ||         g k    r||= �Œ¯|S )NÚ_breakÚ_checkÚneedÚneedsrÒ  r   rÖ  Ú	supertextr‘  zapplyrules: ignoring rule z.
r   )r–  r˜  r   r
   r   Úappend_needsr  r—  r^   r…  r×  ÚtypesÚFunctionTyperj   r   r™  rS  )Úrulesrê   ru   Úretr�  ÚrrÚresr½  rŒ  rÙ  rÚ  s              ro   r   r   Y  s‚  € Ø
€CÝ�%�ÑÔð Øð 	ð 	ˆAÝ˜A˜q #Ñ&Ô&ˆBÝ˜S "Ñ%Ô%ˆCØ˜2ˆ~ˆ~Ø�ð àˆ
Ø�5ÐÐ / %¨¤/°#Ñ"6Ô"6ÐØˆ
Ø�€€Ý˜' 5¨¤=Ð1°1°cÑ:Ô:ˆØ�cˆ>ˆ>ÝÔ  G¤Ñ-Ô-Ð-à�ZŠZ‰\Œ\ð $ñ $ˆØ�ÒÐØ˜1”XˆC�‰FØÝ�e˜A”h¥Ñ$Ô$ð 	FÝ˜U 1œX qÑ)Ô)ˆC�‰F‰FÝ˜˜aœ¥$Ñ'Ô'ð 	FØˆC�‰FØ˜1”Xð )ð )�Ý  A ¨¨3Ñ/Ô/�Ø˜�7�7Ø˜”F—M’M " Q¤%Ñ(Ô(Ð(øñ)ð ˆqŒT�SŠ[ˆ[ØÝ˜˜aœ¥$Ñ'Ô'ñ 	FØˆC�‰FØ˜A”h—m’m‘o”oð 5ñ 5�Ý˜b¥%Ô"4Ñ5Ô5ñ 5¸"¸"¸S¹'¼'ñ 5Ý! %¨¤(¨2¤,µÑ5Ô5ð 5Ø!& q¤¨"¤ð 9ð 9˜AÝ)¨!­TÑ2Ô2ð =Ý&0°+¸qÐ1AÀ1ÀcÑ&JÔ&J Ø$'§G¢G¨K¸Ñ$<Ô$< Ø œFŸMšM­'°!°Q©-¬-Ñ8Ô8Ð8Ð8ð	9ð " !œH RœL˜Ý% a­Ñ.Ô.ð 9Ý",¨k¸1Ð-=¸qÑ"AÔ"A˜CØ #§¢¨°RÑ 8Ô 8˜AØ˜AœŸš¥g¨a°¡m¤mÑ4Ô4Ð4ùð5õ ÐDµ°e¸A´h±´ÐDÐDÐDÑEÔEÐEÝ�c˜!”f�dÑ#Ô#ð 	Ý�3�q”6‰{Œ{˜aÒÐØ˜Qœ œ��A‘Ø�1Œv˜Š|ˆ|Ø˜�FùØ€Jrp   z%\s*python\s*module\s*(?P<name>[\w_]+)z4\s*python\s*module\s*(?P<name>[\w_]*?__user__[\w_]*)c                 óÒ   — d }t          | ¦  «        5 }|D ]:}t          |¦  «        }|r't          |¦  «        rŒ#|                     d¦  «        } nŒ;d d d ¦  «         n# 1 swxY w Y   |S )Nrñ   )ÚopenÚ_f2py_module_name_matchÚ_f2py_user_module_name_matchÚgroup)Úsourcerñ   r‰  ÚlineÚms        ro   rP   rP   –  s¼   € Ø€DÝ	ˆf‰Œð ˜Øð 	ð 	ˆDÝ'¨Ñ-Ô-ˆAØð Ý/°Ñ5Ô5ð ØØ—w’w˜v‘”�Ø�ð	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð €Ks   ’>AÁA Á#A c                 óè   — g }| d         D ]f}|d         D ][}|                      d¦  «        rD|                     d„ |                      d¦  «                             ¦   «         D ¦   «         ¦  «         Œ\Œg|S )Nrb  Úusec                 ó   — g | ]}d |v¯|‘Œ	S )Ú__rÏ   )r  rÆ  s     ro   r¹  z getuseblocks.<locals>.<listcomp>§  s   € Ð XÐ XÐ X qÈ$ÐVWÈ-È- È-È-È-rp   )rj   r¨  r  )ÚpymodÚall_usesÚinnerÚmodblocks       ro   rc   rc   ¢  s�   € Ø€HØ�v”ð Zð ZˆØ˜fœð 	Zð 	ZˆHØ�|Š|˜EÑ"Ô"ð ZØ—’Ð XÐ X¨H¯LªL¸Ñ,?Ô,?×,DÒ,DÑ,FÔ,FÐ XÑ XÔ XÑYÔYÐYøð	Zð €Orp   Fc                 óŽ  — g }i }|                      ¦   «         D ]:\  }}d„ |                      ¦   «         D ¦   «         }|||                     ¦   «         <   Œ;|                      ¦   «         D ]Ú\  }}|| vri | |<   |                      ¦   «         D ]·\  }	}
|
|v rn|	| |         v r(t          d|›d|	›d| |         |	         ›d|
›d�	¦  «         |
| |         |	<   |rt          d|› d|	› d	|
› d
�¦  «         |                     |
¦  «         Œw|r>t	          d|›d|	›d|
›d|
›dt          |                     ¦   «         ¦  «        ›d�¦  «         Œ¸ŒÛ| |fS )aê  
    Update the Fortran-to-C type mapping dictionary with new mappings and
    return a list of successfully mapped C types.

    This function integrates a new mapping dictionary into an existing
    Fortran-to-C type mapping dictionary. It ensures that all keys are in
    lowercase and validates new entries against a given C-to-Python mapping
    dictionary. Redefinitions and invalid entries are reported with a warning.

    Parameters
    ----------
    f2cmap_all : dict
        The existing Fortran-to-C type mapping dictionary that will be updated.
        It should be a dictionary of dictionaries where the main keys represent
        Fortran types and the nested dictionaries map Fortran type specifiers
        to corresponding C types.

    new_map : dict
        A dictionary containing new type mappings to be added to `f2cmap_all`.
        The structure should be similar to `f2cmap_all`, with keys representing
        Fortran types and values being dictionaries of type specifiers and their
        C type equivalents.

    c2py_map : dict
        A dictionary used for validating the C types in `new_map`. It maps C
        types to corresponding Python types and is used to ensure that the C
        types specified in `new_map` are valid.

    verbose : boolean
        A flag used to provide information about the types mapped

    Returns
    -------
    tuple of (dict, list)
        The updated Fortran-to-C type mapping dictionary and a list of
        successfully mapped C types.
    c                 ó>   — i | ]\  }}|                      ¦   «         |“ŒS rÏ   r  )r  rÚ  Úv1s      ro   ú
<dictcomp>z'process_f2cmap_dict.<locals>.<dictcomp>Ô  s&   € Ð<Ð<Ð<¡v r¨2�B—H’H‘J”J Ð<Ð<Ð<rp   z	Warning: redefinition of {'z':{'z':'z'->'z'}}
z
	Mapping "z(kind=z)" to "z"
z	Ignoring map {'z'}}: 'z' must be in r}  )Úitemsr  r]   r…  r   r˜  r  )Ú
f2cmap_allÚnew_mapÚc2py_maprh   Úf2cmap_mappedÚnew_map_lowerr½  Úd1Úd1_lowerrÚ  rú  s              ro   rd   rd   ª  s¼  € ðL €Mà€MØ—’‘”ð ,ð ,‰ˆˆ2Ø<Ð<°·²±´Ð<Ñ<Ô<ˆØ#+ˆ�a—g’g‘i”iÑ Ð à×$Ò$Ñ&Ô&ð ð ‰ˆˆ2Ø�JÐÐØˆJ�q‰Mà—h’h‘j”jð 	ð 	‰FˆB�Ø�Xˆ~ˆ~Ø˜ AœÐ&Ð&Ý�Gà˜1˜1˜b˜b˜b *¨Q¤-°Ô"3Ð"3Ð"3°R°R°Rð9ñô ð ð %'�
˜1”˜bÑ!Øð HÝÐF¨!ÐFÐF°2ÐFÐF¸bÐFÐFÐFÑGÔGÐGØ×$Ò$ RÑ(Ô(Ð(Ð(Øð Ý�à�q�q˜"˜"˜"˜b˜b˜b " " "¥d¨8¯=ª=©?¬?Ñ&;Ô&;Ð&;Ð&;ð=ñô ð øð	ð" �}Ð$Ð$rp   )r   r   )r‘  )F)�Ú__doc__Úpprintr  rk   râ  Ú	functoolsr   r‘  r   r   r   Ú__all__ÚversionÚf2py_versionr_   ri   rs   rÝ   r]   r	   r{   r~   r!   r   r    rM   rK   rL   r   r   rI   r"   r;   r.   rœ   r£   r,   r@   rT   rX   rS   rV   r'   r>   r=   r$   r-   rU   rY   rÀ   rW   rÃ   rÇ   rÊ   rJ   r   rÑ   rC   rB   r*   r+   rO   rQ   rb   rá   rì   rH   r<   rA   r?   r%   r&   rN   r   rR   rÿ   rD   r)   r   rG   r#   r5   r6   r9   r4   r8   r0   r.  r2   r:   r1   r7   r/   r<  r?  rB  r3   rE   rF   r   rZ  r   r   r   re   rg  rf   rj  r   r   rn  rq  Ú	Exceptionrs  ra   rZ   r\   r[   r(   r   rž  r   r   r   r   r   r¶  r   r   r   rÉ  r`   r^   r
   r   ÚcompileÚIÚmatchrê  rë  rP   rc   rd   rÏ   rp   ro   ú<module>r     s¤  ðð	ð 	ð €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð ðð ð €ð: Ô"€ð „}€à
€Ø€Ø€	ðð ð ð
"ð "ð "ðð ð ð
ð ð ð
;ð ;ð ;ðCð Cð Cð?ð ?ð ?ð7ð 7ð 7ð=ð =ð =ð9ð 9ð 9ð@ð @ð @ð6ð 6ð 6ðBð Bð Bð@ð @ð @ð
>ð >ð >ð>ð >ð >ð;ð ;ð ;ðð ð ð6ð 6ð 6ð
 ð  ð  ð!ð !ð !ð!ð !ð !ð!ð !ð !ð!ð !ð !ð ð  ð  ð!ð !ð !ð!ð !ð !ð@ð @ð @ð
!ð !ð !ð
"ð "ð "ð
"ð "ð "ð
"ð "ð "ð
"ð "ð "ð
!ð !ð !ð
!ð !ð !ð
!ð !ð !ð
!ð !ð !ð
Bð Bð Bð9ð 9ð 9ð ð  ð  ð9ð 9ð 9ð;ð ;ð ;ðEð Eð Eð=ð =ð =ð8ð 8ð 8ð
.ð .ð .ðð ð ð:ð :ð :ð2ð 2ð 2ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ðð ð ð	ð 	ð 	ð5ð 5ð 5ð4ð 4ð 4ð
+ð +ð +ðIð Ið Ið
?ð ?ð ?ðLð Lð Lð9ð 9ð 9ðKð Kð Kð
ð ð ð$Lð Lð Lð*ð *ð *ðEð Eð Eð"ð "ð "ð(ð (ð (ð,ð ,ð ,ð+ð +ð +ð0ð 0ð 0ð/ð /ð /ð.ð .ð .ð*ð *ð *ð/ð /ð /ð/ð /ð /ð0ð 0ð 0ð ˜k¨>¸>Ø˜|¨]¸MØ Ø˜Z¨°ZØ!Ð#3Ø"Ð$5Ø"Ð$5Ø#Ð%7ð€ð>ð >ð >ðð ð ðð ð ð%ð %ð %ðð ð ð	ð 	ð 	ðð ð ðð ð ð9ð 9ð 9ðð ð ðð ð ðð ð ð.ð .ð .ðð ð ðð ð ð	ð 	ð 	ð 	ð 	�	ñ 	ô 	ð 	ðð ð ð ð ñ ô ð ð,ð ,ð ,ð+ð +ð +ð)ð )ð )ðð ð ð
ð 
ð 
ðð ð ð ð:4ð 4ð 4ð ')ð #ð #ð #ð #ðL/ð /ð /ð:ð :ð :ð2ð 2ð 2ðð ð ð ð ð ð"/ð /ð /ð/ð /ð /ð
ð ð ðð ð ðð ð ð ð&ð ð ð:  ð 5ð 5ð 5ð 5ðp %˜"œ*Ð%MØ%'¤Tñ+ô +Ü+0ð à)˜rœzð +=Ø>@¼dñ Dô  DÜDIð ð
ð 
ð 
ðð ð ðB%ð B%ð B%ð B%ð B%ð B%rp   