§
    ¢éUg  ã                   óD   — d dl mZ d dlZd dlZd dlZd„ Zd„ Zdd„Zd„ Z	dS )	é    )ÚIterableNc                 óŒ   — | dk    rdS | dk    rdS | dv rdS | dk    rdS | d	k    rd
S | dk    rdS | dk    rdS t          d¦  «        ‚)zAConvert an extension mode to the corresponding integer code.
    Únearestr   Úwrapé   )Úreflectzgrid-mirroré   Úmirroré   Úconstanté   z	grid-wrapé   zgrid-constanté   zboundary mode not supported)ÚRuntimeError)Úmodes    úX/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/ndimage/_ni_support.pyÚ_extend_mode_to_coder   %   s‚   € ð ˆyÒÐØˆqØ	�ŠˆØˆqØ	Ð+Ð	+Ð	+ØˆqØ	�Ò	Ð	ØˆqØ	�Ò	Ð	ØˆqØ	�Ò	Ð	ØˆqØ	�Ò	 Ð	 ØˆqåÐ8Ñ9Ô9Ð9ó    c                 óÒ   — t          | t          ¦  «        }|sIt          | t          ¦  «        r4t          | ¦  «        }t	          |¦  «        |k    rd}t          |¦  «        ‚n| g|z  }|S )z·If input is a scalar, create a sequence of length equal to the
    rank by duplicating the input. If input is a sequence,
    check if its length is equal to the length of array.
    z6sequence argument must have length equal to input rank)Ú
isinstanceÚstrr   ÚlistÚlenr   )ÚinputÚrankÚis_strÚ
normalizedÚerrs        r   Ú_normalize_sequencer   :   ss   € õ
 ˜�sÑ#Ô#€FØð $•j ­Ñ1Ô1ð $Ý˜%‘[”[ˆ
Ýˆz‰?Œ?˜dÒ"Ð"ØJˆCÝ˜sÑ#Ô#Ð#ð #ð �W˜t‘^ˆ
ØÐr   Fc                 ó~  — |€|j         }| €`|s"t          j        ||j        j        ¬¦  «        } �n�t          j        |j        t          j        ¦  «        }t          j        ||¬¦  «        } �nQt          | t          t          j        f¦  «        rk|rRt          j        | ¦  «        j	        dk    r5t          j        dd¬¦  «         t          j        | t          j        ¦  «        } t          j        || ¬¦  «        } nÅt          | t          ¦  «        rut          j        | ¦  «        } |r| j	        dk    rt          d¦  «        ‚t          | j        t          j        ¦  «        st          d¦  «        ‚t          j        || ¬¦  «        } n;| j         |k    rt          d¦  «        ‚|r| j        j	        dk    rt          d¦  «        ‚| S )	N)ÚdtypeÚcz+promoting specified output dtype to complexr   )Ú
stacklevelzoutput must have complex dtypezoutput must have numeric dtypezoutput shape not correct)ÚshapeÚnpÚzerosr!   ÚnameÚpromote_typesÚ	complex64r   ÚtypeÚkindÚwarningsÚwarnr   r   Ú
issubclassÚnumber)Úoutputr   r$   Úcomplex_outputÚcomplex_types        r   Ú_get_outputr3   J   s£  € Ø€}Ø”ˆØ€~Øð 	9Ý”X˜e¨5¬;Ô+;Ð<Ñ<Ô<ˆF‰FåÔ+¨E¬K½¼ÑFÔFˆLÝ”X˜e¨<Ð8Ñ8Ô8ˆF‰FÝ	�F�T¥2¤8Ð,Ñ	-Ô	-ð =àð 	<�bœh vÑ.Ô.Ô3°sÒ:Ð:ÝŒMÐGÐTUÐVÑVÔVÐVÝÔ% f­b¬lÑ;Ô;ˆFÝ”˜% vÐ.Ñ.Ô.ˆˆÝ	�F�CÑ	 Ô	 ð 
=Ý”˜&Ñ!Ô!ˆØð 	A˜fœk¨SÒ0Ð0ÝÐ?Ñ@Ô@Ð@Ý˜FœK­¬Ñ3Ô3ð 	AÝÐ?Ñ@Ô@Ð@Ý”˜% vÐ.Ñ.Ô.ˆˆØ	Œ˜Ò	Ð	ÝÐ5Ñ6Ô6Ð6Ø	ð =˜FœLÔ-°Ò4Ð4ÝÐ;Ñ<Ô<Ð<Ø€Mr   c                 ó0  ‡— | €t          t          ‰¦  «        ¦  «        S t          j        | ¦  «        rt	          j        | ¦  «        f} nƒt          | t          ¦  «        r]| D ]>}t          d„ | D ¦   «         ¦  «        } |‰ k     s	|‰dz
  k    rt          d|› d�¦  «        ‚Œ?t          ˆfd„| D ¦   «         ¦  «        } nd}t          |¦  «        ‚t          t          t          | ¦  «        ¦  «        ¦  «        t          | ¦  «        k    rt          d¦  «        ‚| S )Nc              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S )N)ÚoperatorÚindex)Ú.0Úaxs     r   ú	<genexpr>z_check_axes.<locals>.<genexpr>n   s,   è è € Ð;Ð;°�œ¨Ñ+Ô+Ð;Ð;Ð;Ð;Ð;Ð;r   r   zspecified axis: z is out of rangec              3   ó2   •K  — | ]}|d k     r|‰z  n|V — ŒdS )r   N© )r8   r9   Úndims     €r   r:   z_check_axes.<locals>.<genexpr>q   s3   øè è € Ð@Ð@°R " q¢& &�R˜$‘Y�Y¨bÐ@Ð@Ð@Ð@Ð@Ð@r   z6axes must be an integer, iterable of integers, or Nonezaxes must be unique)ÚtupleÚranger%   Úisscalarr6   r7   r   r   Ú
ValueErrorr   Úset)Úaxesr=   r9   Úmessages    `  r   Ú_check_axesrE   g   s)  ø€ Ø€|Ý•U˜4‘[”[Ñ!Ô!Ð!Ý	Œ�TÑ	Ô	ð 
"Ý”˜tÑ$Ô$Ð&ˆˆÝ	�D�(Ñ	#Ô	#ð "Øð 	Jð 	JˆBÝÐ;Ð;°dÐ;Ñ;Ô;Ñ;Ô;ˆDØ�T�EŠzˆz˜R $¨¡(š]˜]Ý Ð!H°BÐ!HÐ!HÐ!HÑIÔIÐIð +åÐ@Ð@Ð@Ð@¸4Ð@Ñ@Ô@Ñ@Ô@ˆˆàJˆÝ˜Ñ!Ô!Ð!Ý
�5•�T‘”ÑÔÑÔ¥ D¡	¤	Ò)Ð)ÝÐ.Ñ/Ô/Ð/Ø€Kr   )NF)
Úcollections.abcr   r6   r,   Únumpyr%   r   r   r3   rE   r<   r   r   ú<module>rH      s‚   ðð> %Ð $Ð $Ð $Ð $Ð $Ø €€€Ø €€€Ø Ð Ð Ð ð:ð :ð :ð*ð ð ð ð ð ð ð:ð ð ð ð r   