§
    -áUgÉh  ã                   ó  — 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 ddl	m
Z
 ddl	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&„ 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_dV„ Z`eRdWeSdXeTdYeUdZeXd[eWd\eNd]e\d^e^d_e_d`e`daiZadb„ Zbdc„ Zcdd„ Zdde„ Zedf„ Zfdg„ Zgdh„ Zhdi„ Zidj„ Zjdk„ Zkdl„ Zldm„ Zmdn„ Zn G do„ dpeo¦  «        Zp G dq„ dr¦  «        Zqds„ Zrdt„ Zsdu„ Ztdv„ Zudw„ ZvdŽdx„Zwdy„ Zxi fdz„Zyd{„ Zzd|„ 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)Údeepcopyé   )Ú__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Ú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_dictc                 ó~   — t                                dd¦  «        r!t          j                             | ¦  «         d S d S )NÚverboser   )ÚoptionsÚgetÚsysÚstdoutÚwrite)Úts    úR/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/numpy/f2py/auxfuncs.pyr]   r]   =   s>   € Ý‡{‚{�9˜aÑ Ô ð ÝŒ
×Ò˜ÑÔÐÐÐðð ó    c                 ó   — dt           v S )NÚcapi)Údebugoptions©Úvars    rm   r
   r
   B   s   € Ø•\Ð!Ð!rn   c                 óB   — d| v o| d         dk    ot          | ¦  «         S ©NÚtypespecÚ	character©r)   rr   s    rm   Ú_ischaracterry   F   ó0   € Ø˜Ðð   Z¤°KÒ!?ð Ý˜#‰ŒÐðrn   c                 óB   — d| v o| d         dk    ot          | ¦  «         S ru   rx   rr   s    rm   Ú	_isstringr|   K   rz   rn   c                 ó(   — t          | ¦  «        od| vS ©NÚcharselector©ry   rr   s    rm   r"   r"   P   s   € Ý˜ÑÔÐ: °sÐ!:Ð:rn   c                 ó@   — t          | ¦  «        ot          | ¦  «         S ©N©r"   r   rr   s    rm   r    r    T   s   € Ý(¨Ñ-Ô-ÐBµg¸c±l´lÐ2BÐBrn   c                 ó>   — t          | ¦  «        ot          | ¦  «        S r‚   rƒ   rr   s    rm   r!   r!   X   s   € Ý(¨Ñ-Ô-Ð>µ'¸#±,´,Ð>rn   c                 ó(   — t          | ¦  «        od| v S r~   r€   rr   s    rm   rM   rM   \   s   € Ý˜ÑÔÐ6 °3Ð!6Ð6rn   c                 ó@   — t          | ¦  «        ot          | ¦  «         S r‚   ©rM   r   rr   s    rm   rK   rK   `   s   € Ý" 3Ñ'Ô'Ð<µ¸±´Ð,<Ð<rn   c                 ó>   — t          | ¦  «        ot          | ¦  «        S r‚   r‡   rr   s    rm   rL   rL   d   s   € Ý" 3Ñ'Ô'Ð8­G°C©L¬LÐ8rn   c                 óD   — t          | ¦  «        o| d         d         dk    S )NÚ	dimensionéÿÿÿÿz(*))rL   rr   s    rm   r   r   h   s&   € õ ˜ÑÔÐ? # kÔ"2°2Ô"6¸%Ò"?Ð?rn   c                 ó*   — d| v ot          | ¦  «         S ©NrŠ   rx   rr   s    rm   r   r   n   s   € Ø˜#ÐÐ5¥j°¡o¤oÐ"5Ð5rn   c                 ó^   — t          | ¦  «        pt          | ¦  «        pt          | ¦  «         S r‚   )r   rK   r)   rr   s    rm   rI   rI   r   s'   € Ý˜‘”Ð@¥¨¡¤Ð@µ¸C±´ÐAÐArn   c                 óN   — t          | ¦  «        o|                      d¦  «        dv S ©Nrv   )Úcomplexzdouble complex©rI   rh   rr   s    rm   r#   r#   v   s,   € Ý�C‰=Œ=ð @Ø�7Š7�:ÑÔÐ"?Ð?ð@rn   c                 óR   — t          | ¦  «        o|                      d¦  «        dk    S )Nrv   Úlogicalr’   rr   s    rm   r;   r;   {   ó$   € Ý�C‰=Œ=Ð=˜SŸWšW ZÑ0Ô0°IÒ=Ð=rn   c                 óR   — t          | ¦  «        o|                      d¦  «        dk    S )Nrv   Úintegerr’   rr   s    rm   r.   r.      r•   rn   c                 óR   — t          | ¦  «        o|                      d¦  «        dk    S )Nrv   Úrealr’   rr   s    rm   Úisrealrš   ƒ   s$   € Ý�C‰=Œ=Ð:˜SŸWšW ZÑ0Ô0°FÒ:Ð:rn   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©ÚKeyErrorrr   s    rm   Úget_kindr¡   ‡   sq   € ðØ�>Ô" 3Ô'Ð'øÝð ð ð ð	Ø�~Ô& vÔ.Ð.Ð.Ð.øÝð 	ð 	ð 	ØˆDˆDˆDð	øøøðøøøs    ‚ �
>›+¨>«
:µ>¹:º>c                 óz   — |                       d¦  «        dk    o"t          | ¦  «        dk    ot          | ¦  «         S ©Nrv   r—   Ú1)rh   r¡   r   rr   s    rm   r,   r,   ‘   s?   € Ø�7Š7�:ÑÔ )Ò+ð 6Ý�S‰MŒM˜SÒ ð6Ý)0°©¬Ð%5ð6rn   c                 ó|   — t          | ¦  «        sdS |                      d¦  «        dvrdS t          | ¦  «        dk    S )Nr   rv   ©r—   r”   Ú8©rI   rh   r¡   rr   s    rm   r@   r@   –   sC   € Ý�C‰=Œ=ð ØˆqØ
‡w‚wˆzÑÔÐ"8Ð8Ð8ØˆqÝ�C‰=Œ=˜CÒÐrn   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    rdS t          | ¦  «        dk    S )Nr   rv   r—   ú-1r¨   rr   s    rm   rT   rT   ž   óB   € Ý�C‰=Œ=ð ØˆqØ
‡w‚wˆzÑÔ˜iÒ'Ð'ØˆqÝ�C‰=Œ=˜DÒ Ð rn   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    rdS t          | ¦  «        dk    S )Nr   rv   r—   ú-2r¨   rr   s    rm   rX   rX   ¦   r«   rn   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    rdS t          | ¦  «        dk    S )Nr   rv   r—   ú-4r¨   rr   s    rm   rS   rS   ®   r«   rn   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    rdS t          | ¦  «        dk    S )Nr   rv   r—   ú-8r¨   rr   s    rm   rV   rV   ¶   r«   rn   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    sdS t          | ¦  «        dk    S )Nr   rv   r™   r§   r¨   rr   s    rm   r'   r'   ¾   sB   € Ý�C‰=Œ=ð ØˆqØ�7Š7�:ÑÔ &Ò(Ð(ØˆqÝ�C‰=Œ=˜CÒÐrn   c                 ó€   — t          | ¦  «        sdS |                      d¦  «        dk    sdS t          | ¦  «        dk    S )Nr   rv   r™   Ú16r¨   rr   s    rm   r>   r>   Æ   sB   € Ý�C‰=Œ=ð ØˆqØ�7Š7�:ÑÔ &Ò(Ð(ØˆqÝ�C‰=Œ=˜DÒ Ð rn   c                 óJ   — t          | ¦  «        sdS t          | ¦  «        dk    S )Nr   Ú32)r#   r¡   rr   s    rm   r=   r=   Î   s&   € Ý�S‰>Œ>ð ØˆqÝ�C‰=Œ=˜DÒ Ð rn   c                 óN   — t          | ¦  «        o|                      d¦  «        dv S r�   )r   rh   rr   s    rm   r$   r$   Ô   s,   € Ý�3‰<Œ<ð @Ø�7Š7�:ÑÔÐ"?Ð?ð@rn   c                 óx   — t          | ¦  «        o+|                      d¦  «        dk    ot          | ¦  «        dk    S r£   ©r   rh   r¡   rr   s    rm   r-   r-   Ù   s;   € Ý�3‰<Œ<ð !˜CŸGšG JÑ/Ô/°9Ò<ð !Ý�S‰MŒM˜SÒ ð!rn   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrv   r¦   rª   r¹   rr   s    rm   rU   rU   Þ   ó<   € Ý�3‰<Œ<ð "˜CŸGšG JÑ/Ô/Ð3IÐIð "Ý�S‰MŒM˜TÒ!ð"rn   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrv   r¦   r­   r¹   rr   s    rm   rY   rY   ã   r»   rn   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrv   r¦   r¯   r¹   rr   s    rm   Úisunsignedarrayr¾   è   r»   rn   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrv   r¦   r±   r¹   rr   s    rm   rW   rW   í   r»   rn   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrv   r¦   r¤   r¹   rr   s    rm   Úissigned_chararrayrÁ   ò   ó<   € Ý�3‰<Œ<ð !˜CŸGšG JÑ/Ô/Ð3IÐIð !Ý�S‰MŒM˜SÒ ð!rn   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrv   r¦   Ú2r¹   rr   s    rm   Úissigned_shortarrayrÅ   ÷   rÂ   rn   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrv   r¦   Ú4r¹   rr   s    rm   Úissigned_arrayrÈ   ü   rÂ   rn   c                 ót   — t          | ¦  «        o)|                      d¦  «        dv ot          | ¦  «        dk    S )Nrv   r¦   r§   r¹   rr   s    rm   rJ   rJ     rÂ   rn   c                 ó   — d| v o	d| d         v S )NÚattrspecÚallocatable© rr   s    rm   r   r     s   € Ø˜ÐÐA °#°j´/Ð!AÐArn   c                 ó*   — d| vpt          | ¦  «         S r�   )rK   rr   s    rm   Ú	ismutablerÏ   
  s   € Ø 3Ð&Ð7­(°3©-¬-Ð8Ð8rn   c                 ó
   — d| v S )NÚ
modulenamerÍ   ©Úrouts    rm   rC   rC     s   € Ø˜4ÐÐrn   c                 ó"   — d| v od| d         k    S )NÚblockÚmodulerÍ   rÒ   s    rm   rB   rB     s   € Ø�dˆ?Ð8˜x¨4°¬=Ò8Ð8rn   c                 ó"   — d| v od| d         k    S )NrÕ   ÚfunctionrÍ   rÒ   s    rm   r*   r*     s   € Ø�dˆ?Ð:˜z¨T°'¬]Ò:Ð:rn   c                 óp   — t          | ¦  «        rdS t          ot          | ¦  «        ot          | ¦  «         S ©Nr   )r0   Ú	wrapfuncsr*   r)   rÒ   s    rm   r+   r+     s:   € Ý�$ÑÔð ØˆqÝÐD� DÑ)Ô)ÐDµ:¸dÑ3CÔ3CÐ/CÐDrn   c                 ó"   — d| v od| d         k    S )NrÕ   Ú
subroutinerÍ   rÒ   s    rm   rO   rO      s   € Ø�dˆ?Ð<˜|¨t°G¬}Ò<Ð<rn   c                 ó`   — t          | ¦  «        rdS t          | ¦  «        ot          | ¦  «        S rÚ   )r0   rO   ÚhasassumedshaperÒ   s    rm   rQ   rQ   $  s2   € Ý�$ÑÔð ØˆqÝ˜ÑÔÐ7¥/°$Ñ"7Ô"7Ð7rn   c                 ó2   — d|                       dg ¦  «        v S )NÚvaluerË   ©rh   rr   s    rm   rb   rb   )  s   € Ø�c—g’g˜j¨"Ñ-Ô-Ð-Ð-rn   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      rm   rß   rß   -  s�   € Ø‡x‚xÐ!Ñ"Ô"ð ØˆtØ�&Œ\ð ð ˆØ�f”×!Ò! ! RÑ(Ô(×,Ò,¨[¸"Ñ=Ô=ð 	ð 	ˆAØ�CŠxˆxØ*.�Ð&Ñ'Ø�t�t�tð ð	ð ˆ5rn   c                 ó>   — t          | ¦  «        pt          | ¦  «        S r‚   )rC   rß   rÒ   s    rm   Úrequiresf90wrapperrê   8  s   € Ý˜4Ñ Ô Ð9¥O°DÑ$9Ô$9Ð9rn   c                 ó>   — t          | ¦  «        pt          | ¦  «        S r‚   )r*   rO   rÒ   s    rm   rH   rH   <  s   € Ý�dÑÔÐ1�|¨DÑ1Ô1Ð1rn   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     rm   r<   r<   @  ó`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ˜˜fœ aœÑ)Ô)Ð)Øˆ1rn   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rí   )r*   r@   rð   s     rm   rA   rA   L  s`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ˜4 œ<¨œ?Ñ+Ô+Ð+Øˆ1rn   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rí   )r*   r>   rð   s     rm   r?   r?   X  s`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ˜T &œ\¨!œ_Ñ-Ô-Ð-Øˆ1rn   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rí   )r*   r#   rð   s     rm   r%   r%   d  rñ   rn   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    rm   r&   r&   p  s9   € Ý˜ÑÔð 	Ýð Hñ 	Iô 	Ið 	Ið ˆqØˆ1rn   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rí   )r*   rK   rð   s     rm   rN   rN   ~  s`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ˜˜Vœ QœÑ(Ô(Ð(Øˆ1rn   c                 ó   — d| v o| d         S )NÚ	externalsrÍ   rÒ   s    rm   r   r   Š  s   € Ø˜$ÐÐ4 4¨Ô#4Ð4rn   c                 ó   — d| v o	d| d         v S )NÚf2pyenhancementsÚ
threadsaferÍ   rÒ   s    rm   rR   rR   Ž  s"   € Ø Ð%ð 4Ø˜4Ð 2Ô3Ð3ð4rn   c                 ó   — d| v o| d         S )Nrå   rÍ   rÒ   s    rm   Úhasvariablesrý   “  s   € Ø�Tˆ>Ð*˜d 6œlÐ*rn   c                 óP   — d| v o"d| d         v od| d         vot          | ¦  «        S )NrË   ÚoptionalÚrequired)r8   rr   s    rm   rD   rD   —  sB   € Ø˜#Ðð . *°°J´Ð"?ð .Ø˜c *œoÐ-ðIÝ3CÀCÑ3HÔ3HðIrn   c                 ó   — d| v o	d| d         v S )NrË   ÚexternalrÍ   rr   s    rm   r)   r)   œ  s   € Ø˜ÐÐ> ¨s°:¬Ð!>Ð>rn   c                 ó®   ‡— dŠd|                       ¦   «         v r9t          d„ | d         D ¦   «         ¦  «        rˆfd„| d         D ¦   «         d         S d S d S )Nz	\((.*?)\)rË   c              3   ó   K  — | ]}d |v V — Œ	dS )rŠ   NrÍ   )Ú.0Úss     rm   ú	<genexpr>zgetdimension.<locals>.<genexpr>£  s'   è è € Ð9Ð9 Aˆ{˜aÐÐ9Ð9Ð9Ð9Ð9Ð9rn   c                 ó:   •— g | ]}t          j        ‰|¦  «        ‘ŒS rÍ   )ÚreÚfindall)r  ÚvÚ
dimpatterns     €rm   ú
<listcomp>z getdimension.<locals>.<listcomp>¤  s%   ø€ ÐGÐGÐG°!•B”J˜z¨1Ñ-Ô-ÐGÐGÐGrn   r   )ÚkeysÚany)rs   r  s    @rm   r   r      sv   ø€ Ø€JØ�S—X’X‘Z”ZÐÐÝÐ9Ð9¨¨Z¬Ð9Ñ9Ô9Ñ9Ô9ð 	KØGÐGÐGÐG°s¸:´ÐGÑGÔGÈÔJÐJð  Ðð	Kð 	Krn   c                 ó@   — t          | ¦  «         ot          | ¦  «        S r‚   )rD   r8   rr   s    rm   rG   rG   §  s   € Ý˜#‰ŒÐÐ8Õ#3°CÑ#8Ô#8Ð8rn   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Í   rr   s    rm   r5   r5   «  s�   € Ø�sÐÐØˆqØ��X”ÐÐØˆqØ�C˜”MÐ!Ð!ØˆqØˆs�8Œ}ÐÐØˆqØ��H”ÐÐØˆqØ�#�h”-ÐÐØˆqØ�#�h”-ÐÐØˆqØˆ1rn   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Í   rr   s    rm   r6   r6   ½  sg   € Ø˜ˆOð K ¨C°¬MÐ!9ð "%Ø�s˜8”}Ð$ðKØ*.°c¸(´mÐ*CðKà˜#˜hœ-Ð'ðKà,5¸SÀ¼]Ð,JðLrn   c                 ó2   — d|                       dg ¦  «        v S )Nr  r  râ   rr   s    rm   r9   r9   Ã  ó   € Ø�C—G’G˜H bÑ)Ô)Ð)Ð)rn   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   rr   s    rm   r4   r4   Ç  sd   € Ø˜ˆOð D ¨3¨x¬=Ð!8ð "CØ�c˜(”mÐ#ð B¨°C¸´MÐ(Að BØ;•T�.Õ*:Ñ;Ô;¸CÑ@Ô@Ð@ðErn   c                 ó"   — t          | ¦  «         S r‚   )r4   rr   s    rm   r8   r8   Í  s   € Ý˜SÑ!Ô!Ð!Ð!rn   c                 ó2   — d|                       dg ¦  «        v S )NÚcr  râ   rr   s    rm   r0   r0   Ñ  s   € Ø�#—'’'˜( BÑ'Ô'Ð'Ð'rn   c                 ó2   — d|                       dg ¦  «        v S )NÚcacher  râ   rr   s    rm   Úisintent_cacher"  Õ  s   € Ø�c—g’g˜h¨Ñ+Ô+Ð+Ð+rn   c                 ó2   — d|                       dg ¦  «        v S )NÚcopyr  râ   rr   s    rm   r2   r2   Ù  s   € Ø�S—W’W˜X rÑ*Ô*Ð*Ð*rn   c                 ó2   — d|                       dg ¦  «        v S )NÚ	overwriter  râ   rr   s    rm   r:   r:   Ý  ó   € Ø˜#Ÿ'š' (¨BÑ/Ô/Ð/Ð/rn   c                 ó2   — d|                       dg ¦  «        v S )NÚcallbackr  râ   rr   s    rm   r1   r1   á  ó   € Ø˜Ÿš ¨2Ñ.Ô.Ð.Ð.rn   c                 ó2   — d|                       dg ¦  «        v S )Nr  r  râ   rr   s    rm   r7   r7   å  s   € Ø˜Ÿš ¨"Ñ-Ô-Ð-Ð-rn   c                 ó2   — d|                       dg ¦  «        v S )NÚauxr  râ   rr   s    rm   r/   r/   é  r  rn   c                 ó2   — d|                       dg ¦  «        v S )NÚaligned4r  râ   rr   s    rm   Úisintent_aligned4r0  í  r*  rn   c                 ó2   — d|                       dg ¦  «        v S )NÚaligned8r  râ   rr   s    rm   Úisintent_aligned8r3  ñ  r*  rn   c                 ó2   — d|                       dg ¦  «        v S )NÚ	aligned16r  râ   rr   s    rm   Úisintent_aligned16r6  õ  r'  rn   Ú	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Í   rr   s    rm   rE   rE     s   € Ø˜ÐÐ= ¨c°*¬oÐ!=Ð=rn   c                 ó^   — t          | ¦  «        dk    rd| v r| d         d         dv rd}nd}|S )Nr   rË   r   )ÚpublicrC  FT©Úlen)rs   Úis_vars     rm   rF   rF     sA   € å
ˆ3�x„x�1‚}€}˜ sÐ*Ð*Ø�
ŒO˜AÔÐ"7Ð7Ð7ØˆˆàˆØ€Mrn   c                 ó
   — d| v S )Nú=rÍ   rr   s    rm   r   r     s   € Ø�#ˆ:Ðrn   c                 óD   — t          | ¦  «        sdS | d         d         dv S )Nr   rJ  )ú"ú')r   rr   s    rm   ÚhasinitvalueasstringrN    s*   € Ý˜ÑÔð ØˆqØˆsŒ8�AŒ;˜*Ð$Ð$rn   c                 ó
   — d| v S )NÚnoterÍ   rr   s    rm   r   r     s   € Ø�Sˆ=Ðrn   c                 óœ   — t          | ¦  «        sdS d| v r	| d         }n| d         }|| d         v rt          | d         |         ¦  «        S dS rí   )r*   r   rð   s     rm   r   r     s`   € Ý�dÑÔð ØˆqØ�4ÐÐØ�ŒNˆˆà�ŒLˆØˆD�ŒLÐÐÝ�t˜F”| A”Ñ'Ô'Ð'Øˆ1rn   c                 ó
   — d| v S )NÚcommonrÍ   rÒ   s    rm   r   r   +  s   € Ø�tÐÐrn   c                 ó€   — t          | ¦  «        rdS t          | ¦  «        r| d         D ]}t          |¦  «        r dS ŒdS )Nr   Úbodyr   )r   r   Úcontainscommon)rÓ   Úbs     rm   rV  rV  /  sW   € Ý��„ð ØˆqÝˆt�}„}ð Ø�f”ð 	ð 	ˆAÝ˜aÑ Ô ð Ø�q�qðàˆ1rn   c                 ó„   — t          | ¦  «        rdS t          | ¦  «        sdS | d         D ]}t          |¦  «        r dS ŒdS )Nr   r   rU  )rB   r   Úcontainsmodule)rÕ   rW  s     rm   rY  rY  9  s\   € Ý��„ð ØˆqÝ�5‰>Œ>ð ØˆqØ�6Œ]ð ð ˆÝ˜!ÑÔð 	Ø�1�1ð	àˆ1rn   c                 ó
   — d| v S )NrU  rÍ   rÒ   s    rm   r   r   D  s   € Ø�Tˆ>Ðrn   c                 ó$   — t          | ¦  «        d uS r‚   )r   rÒ   s    rm   r   r   H  s   € Ý˜DÑ!Ô!¨Ð-Ð-rn   c                 ó   — dS )Nr   rÍ   rr   s    rm   Úistruer]  L  ó   € Øˆ1rn   c                 ó   — dS rÚ   rÍ   rr   s    rm   Úisfalser`  P  r^  rn   c                   ó   — e Zd ZdS )Ú	F2PYErrorN)Ú__name__Ú
__module__Ú__qualname__rÍ   rn   rm   rb  rb  T  s   € € € € € Ø€Drn   rb  c                   ó   — e Zd Zd„ Zd„ ZdS )ra   c                 ó   — || _         d S r‚   )Úmess)Úselfrh  s     rm   Ú__init__zthrow_error.__init__Z  s   € ØˆŒ	ˆ	ˆ	rn   c                 ó<   — d|›d| j         ›d�}t          |¦  «        ‚)Nz


  var = z
  Message: ú
)rh  rb  )ri  rs   rh  s      rm   Ú__call__zthrow_error.__call__]  s$   € € Ø47°C°C¸¼¸¸ÐCˆÝ˜‰oŒoÐrn   N)rc  rd  re  rj  rm  rÍ   rn   rm   ra   ra   X  s2   € € € € € ðð ð ðð ð ð ð rn   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 ©ÚrangerG  ÚappendÚevalÚjoin©ÚfÚl1Úl2Úis       rm   rZ   rZ   b  su   € Ø˜ˆ€BÝ•3�q‘6”6‰]Œ]ð "ð "ˆØ˜r 1 a˜jÑ(ˆØ
�	Š	�(˜a‘.Ñ!Ô!Ð!Ð!Ý˜2˜2˜2˜wŸ|š|¨BÑ/Ô/Ð/Ð0Ñ1Ô1Ð1rn   c                  óÖ   — dg }}t          t          | ¦  «        ¦  «        D ]"}d|||fz  }|                     d|z  ¦  «         Œ#t          |›dd                     |¦  «        ›�¦  «        S )Nro  rp  rq  ræ   z or rr  rw  s       rm   r\   r\   j  sr   € Ø˜ˆ€BÝ•3�q‘6”6‰]Œ]ð "ð "ˆØ˜r 1 a˜jÑ(ˆØ
�	Š	�(˜a‘.Ñ!Ô!Ð!Ð!Ý˜2˜2˜2˜vŸ{š{¨2™œ˜Ð/Ñ0Ô0Ð0rn   c                 ó    — t          d¦  «        S )Nzlambda v,f=f:not f(v))ru  )rx  s    rm   r[   r[   r  s   € ÝÐ'Ñ(Ô(Ð(rn   c                 óJ   — 	 | d         d         dk    S # t           $ r Y dS w xY w)Nrú   ÚfortrannameÚ r   rŸ   rÒ   s    rm   r(   r(   v  s?   € ðØÐ&Ô'¨Ô6¸"Ò<Ð<øÝð ð ð Øˆqˆqðøøøs   ‚ ”
"¡"c                 ó²   — 	 | d         d         }|dk    rt           ‚|st          d| d         z  ¦  «         t           ‚n# t           $ r | d         }Y nw xY w|S )Nrú   r  r€  z"Failed to use fortranname from %s
rï   )r    r   )rÓ   rï   s     rm   r   r   }  s‰   € ð	ØÐ&Ô'¨Ô6ˆØ�2Š:ˆ:ÝˆNØð 	ÝÐ9ØÐ,Ô-ñ/ñ 0ô 0ð 0åˆNð	øõ ð ð ð Ø�FŒ|ˆˆˆðøøøà€Ks   ‚<? ¿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 `'''`: rl  )rh   r    Ú
isinstanceÚstrÚlistrG  Úreprr   )rÓ   Ú	blocknameÚcommentÚcounterÚrs        rm   Úgetmultilineblockr�  ‹  s}  € ðØÐ#Ô$×(Ò(¨Ñ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�y¥$ q¡'¤' ' 'ð+ñ ,ô ,ð ,à€Hs   ‚ ž
,«,c                 ó"   — t          | d¦  «        S )NÚcallstatement©r�  rÒ   s    rm   r   r   ©  s   € Ý˜T ?Ñ3Ô3Ð3rn   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 )NÚcallprotoargumentr   )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   rt  rv  )
rÓ   Úcb_maprŒ  r“  Ú	arg_typesÚ
arg_types2Únrs   ÚctypeÚ
proto_argss
             rm   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Ñ@Ô@ð (ØÝ˜#‘”ð (Øå# CÑ(Ô(ð (Ø! C™K�EÝ˜‘”ð ,Ý$ SÑ)Ô)ð,å! #Ñ&Ô&ð,ð ×!Ò! (Ñ+Ô+Ð+Ø×Ò˜ÑÔÐÐà—’˜) jÑ0Ñ1Ô1€JØð Øˆ
ØÐrn   c                 ó"   — t          | d¦  «        S )NÚusercoder�  rÒ   s    rm   r   r   Ô  s   € Ý˜T :Ñ.Ô.Ð.rn   c                 ó&   — t          | dd¬¦  «        S )Nr¡  r   )r‹  r�  rÒ   s    rm   r   r   Ø  s   € Ý˜T :°qÐ9Ñ9Ô9Ð9rn   c                 ó"   — t          | d¦  «        S )NÚpymethoddefr�  rÒ   s    rm   r   r   Ü  s   € Ý˜T =Ñ1Ô1Ð1rn   c                 óÈ   — g g }}d| v rW| d         }d| v rC| d         D ]}||v r|                      |¦  «         Œ|D ]}||vr|                      |¦  «         Œn| d         }||fS )Nrä   Úsortvars)rt  )rÓ   Úsortargsrä   rç   s       rm   Úgetargsr¨  à  sŸ   € Ø˜ˆd€HØ�€~€~Ø�FŒ|ˆØ˜ÐÐØ˜*Ô%ð 'ð '�Ø˜�9�9Ø—O’O AÑ&Ô&Ð&øØð 'ð '�Ø˜HÐ$Ð$Ø—O’O AÑ&Ô&Ð&øð'ð ˜F”|ˆHØ�ˆ>Ðrn   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     €€rm   r  zgetargs2.<locals>.<listcomp>ò  s@   ø€ ð "ð "ð "�Qµ¸dÀ6¼lÈ1¼oÑ1NÔ1Nð "Ø˜D�=�=ð Ø �=�=rn   rå   r¦  )rh   r  rt  )rÓ   r§  Úauxvarsrç   rä   s   `   @rm   r   r   ð  sé   øø€ Ø˜Ÿš &¨"Ñ-Ô-€N€Hˆdð"ð "ð "ð "ð "˜$˜vœ,×+Ò+Ñ-Ô-ð "ñ "ô "€Gà�T‰>€DØ�TÐÐØ�jÔ!ð 	#ð 	#ˆAØ�DˆyˆyØ—’ Ñ"Ô"Ð"øØð 	#ð 	#ˆAØ˜Ð Ð Ø—’ Ñ"Ô"Ð"øð	#ð ˜T &œ\Ñ)ˆØ�ˆ>Ðrn   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     rm   r   r     sT   € Ø˜tÐ#Ð#ØˆtØ€AØˆG„}˜Ò'Ð'Ø�ŒM˜4 œ<Ð'ˆØÐ Ô!×%Ò% a¨Ñ.Ô.Ð.rn   c                 óV   — dt          | ¦  «        z
  dz
  dz  }d|dz  ›d| ›d|dz  ›d�S )NéP   é   é   z/*r�   ú z*/rF  )rï   Úlns     rm   r   r   
  s>   € Ø
�s�4‰yŒy‰.˜1Ñ
 Ñ	"€B€BØ #™X˜X˜X t t t¨R°#©X¨X¨XÐ6Ð6rn   c                 ód   — t          | t          ¦  «        rt          t          fd„| g ¦  «        S | gS )Nc                 ó   — |  ||¦  «        z   S r‚   rÍ   )ÚxÚyrx  s      rm   ú<lambda>zflatlist.<locals>.<lambda>  s   € ¨q°1°1°Q±4´4©x€ rn   )r…  r‡  r   Úflatlist)Úlsts    rm   rº  rº    s7   € Ý�#•tÑÔð BÝ¥XÐ7Ð7Ð7¸¸bÑAÔAÐAØˆ5€Lrn   c                 ó6   — | r| d         dk    r
| d d…         S | S )Nr‹   r–  rÍ   )r  s    rm   r`   r`     s(   € Øð ˆQˆrŒU�cŠ\ˆ\Ø��"�ŒvˆØ€Hrn   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          ¦  «        r@‰                      d|z  |                     t          ‰|         ¦  «        ¦  «        ¦  «        Š Œƒ‰                      d|z  ‰|         ¦  «        Š Œ£‰ S )Nc                 ó2   •— g | ]}t          ‰|‰¦  «        ‘ŒS rÍ   ©r^   )r  Ú_mÚ
defaultsepr†  s     €€rm   r  zreplace.<locals>.<listcomp>  s%   ø€ Ð9Ð9Ð9°•˜˜R Ñ,Ô,Ð9Ð9Ð9rn   c                 ó2   •— g | ]}t          |‰‰¦  «        ‘ŒS rÍ   r¿  )r  rÀ  rè   rÁ  s     €€rm   r  zreplace.<locals>.<listcomp>  s%   ø€ Ð9Ð9Ð9¨r•˜˜A˜zÑ*Ô*Ð9Ð9Ð9rn   r²  Úseparatorsforz#%s#)r…  r‡  r  r^   rv  rº  )r†  rè   rÁ  r®  Úseps   ```  rm   r^   r^     s*  øøø€ Ý�!•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‘”Ñð 
2ð 
2ˆØ�ÒÐØØ˜aÐÐ A¨¨?Ô);Ð$;Ð$;Ø�OÔ$ QÔ'ˆCˆCàˆCÝ�a˜”d�DÑ!Ô!ð 	2Ø—+’+˜f¨™l¨C¯HªHµX¸aÀ¼d±^´^Ñ,DÔ,DÑEÔEˆCˆCà—+’+˜f¨™l¨A¨a¬DÑ1Ô1ˆCˆCØ€Jrn   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†  rt  Údict)ÚrdÚarrç   r®  Úk1s        rm   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Ø€Irn   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          ¦  «        �rLg ||<   | |                              ¦   «         D �]*}
t          |
t          j        ¦  «        �r |
|¦  «        �r t          | |         |
         t          ¦  «        rr| |         |
         D ]b}t          |t          ¦  «        r"t          d|i||¦  «        }d|v r	|d         }nd	}||          	                    t          ||¦  «        ¦  «         ŒcŒ½| |         |
         }t          |t          ¦  «        r!t          d|i|¦  «        }d|v r	|d         }nd	}||          	                    t          ||¦  «        ¦  «         �Œ,n%t          d
t          | |         ¦  «        z  ¦  «         t          ||         t          ¦  «        r9t          ||         ¦  «        dk    r||         d         ||<   ||         g k    r||= �Œ |S )NÚ_breakÚ_checkÚneedÚneedsrÃ  r   rÆ  Ú	supertextr€  zapplyrules: ignoring rule %s.
r   )r…  r‡  r	   r   r   Úappend_needsr  r†  r^   rt  rÇ  ÚtypesÚFunctionTyper   rˆ  rG  )Úrulesrè   rs   ÚretrŒ  ÚrrÚresr®  r{  rÉ  rÊ  s              rm   r	   r	   K  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¥Ñ$Ô$ð !	HÝ˜U 1œX qÑ)Ô)ˆC�‰F‰FÝ˜˜aœ¥$Ñ'Ô'ð 	HØˆC�‰FØ˜1”Xð )ð )�Ý  A ¨¨3Ñ/Ô/�Ø˜�7�7Ø˜”F—M’M " Q¤%Ñ(Ô(Ð(øñ)ð ˆqŒT�SŠ[ˆ[ØÝ˜˜aœ¥$Ñ'Ô'ñ 	HØˆ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 Ø#.°#Ð#5Ð#5Ø(+¨KÔ(8 A Aà(* AØ œFŸMšM­'°!°Q©-¬-Ñ8Ô8Ð8Ð8ð9ð " !œH RœL˜Ý% a­Ñ.Ô.ð 'Ý",¨k¸1Ð-=¸qÑ"AÔ"A˜CØ*¨cÐ1Ð1Ø$'¨Ô$4  à$& Ø˜AœŸš¥g¨a°¡m¤mÑ4Ô4Ð4ùð'5õ* Ð5½¸UÀ1¼X¹¼ÑFÑGÔGÐGÝ�c˜!”f�dÑ#Ô#ð 	Ý�3�q”6‰{Œ{˜aÒÐØ˜Qœ œ��A‘Ø�1Œv˜Š|ˆ|Ø˜�FùØ€Jrn   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ï   rx  ÚlineÚms        rm   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 )NrU  Úusec                 ó   — g | ]}d |v¯|‘Œ	S )Ú__rÍ   )r  r·  s     rm   r  z getuseblocks.<locals>.<listcomp>ž  s   € Ð XÐ XÐ X qÈ$ÐVWÈ-È- È-È-È-rn   )rh   r™  r  )ÚpymodÚall_usesÚinnerÚmodblocks       rm   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ð €Orn   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Í   )Úlower)r  rÊ  Úv1s      rm   ú
<dictcomp>z'process_f2cmap_dict.<locals>.<dictcomp>Ë  s&   € Ð<Ð<Ð<¡v r¨2�B—H’H‘J”J Ð<Ð<Ð<rn   z	Warning: redefinition of {'z':{'z':'z'->'z'}}
z
	Mapping "z(kind=z)" to "z"
z	Ignoring map {'z'}}: 'z' must be in rl  )Úitemsrê  r]   rt  r   r‡  r  )Ú
f2cmap_allÚnew_mapÚc2py_maprf   Úf2cmap_mappedÚnew_map_lowerr®  Úd1Úd1_lowerrÊ  rë  s              rm   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Ñ!Øð OÝ�GÀ1À1À1ÀbÀbÀbÈ"È"È"ÐMÑNÔNÐNØ×$Ò$ RÑ(Ô(Ð(Ð(àð Ý�Gà˜1˜1˜b˜b˜b " " " b b b­$¨x¯}ª}©¬Ñ*?Ô*?Ð*?Ð*?ðAñô ð øð	ð$ �}Ð$Ð$rn   )r   r   )r€  )F)ŽÚ__doc__Úpprintri   r	  rÒ  Ú	functoolsr   r$  r   r€  r   r   r   Ú__all__ÚversionÚf2py_versionr_   rg   rq   rÛ   r]   r
   ry   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   r5   r6   r9   r4   r8   r0   r"  r2   r:   r1   r7   r/   r0  r3  r6  r3   rE   rF   r   rN  r   r   r   rV  rY  r   r   r]  r`  Ú	Exceptionrb  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Í   rn   rm   ú<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ð
?ð ?ð ?ðKð Kð Kð9ð 9ð 9ðð ð ð$Lð Lð Lð*ð *ð *ðEð Eð Eð"ð "ð "ð(ð (ð (ð,ð ,ð ,ð+ð +ð +ð0ð 0ð 0ð/ð /ð /ð.ð .ð .ð*ð *ð *ð/ð /ð /ð/ð /ð /ð0ð 0ð 0ð ˜k¨>¸>Ø˜|¨]¸MØ Ø˜Z¨°ZØ!Ð#3Ø"Ð$5Ø"Ð$5Ø#Ð%7ð€ð>ð >ð >ðð ð ðð ð ð%ð %ð %ðð ð ð	ð 	ð 	ðð ð ðð ð ðð ð ðð ð ð.ð .ð .ðð ð ðð ð ð	ð 	ð 	ð 	ð 	�	ñ 	ô 	ð 	ðð ð ð ð ñ ô ð ð2ð 2ð 2ð1ð 1ð 1ð)ð )ð )ðð ð ðð ð ðð ð ð ð<4ð 4ð 4ð ')ð $ð $ð $ð $ðN/ð /ð /ð:ð :ð :ð2ð 2ð 2ðð ð ð ð ð ð"/ð /ð /ð7ð 7ð 7ð
ð ð ðð ð ðð ð ð ð&ð ð ð:  ð ;ð ;ð ;ð ;ðz %˜"œ*Ð%MØ%'¤Tñ+ô +Ü+0ð à)˜rœzð +=Ø>@¼dñ Dô  DÜDIð ð
ð 
ð 
ðð ð ðC%ð C%ð C%ð C%ð C%ð C%rn   