403Webshell
Server IP : 54.37.205.81  /  Your IP : 216.73.216.76
Web Server : nginx/1.22.1
System : Linux vps-249481fa 6.1.0-50-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64
User : debian ( 1000)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/numpy/distutils/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/numpy/distutils/__pycache__/from_template.cpython-311.pyc
�

���c�����dZddgZddlZddlZddlZejdej��Zejdej��Zejdej��Z	d�Z
ejd	��Zejd
��Zejd��Z
d�Zd
�Zejd��Zd�Zd�Zejd��Zd�Zd�Zejdej��Zd�Zd�Zed��Zd�Zedkre��dSdS)a�

process_file(filename)

  takes templated file .xxx.src and produces .xxx file where .xxx
  is .pyf .f90 or .f using the following template rules:

  '<..>' denotes a template.

  All function and subroutine blocks in a source file with names that
  contain '<..>' will be replicated according to the rules in '<..>'.

  The number of comma-separated words in '<..>' will determine the number of
  replicates.

  '<..>' may have two different forms, named and short. For example,

  named:
   <p=d,s,z,c> where anywhere inside a block '<p>' will be replaced with
   'd', 's', 'z', and 'c' for each replicate of the block.

   <_c>  is already defined: <_c=s,d,c,z>
   <_t>  is already defined: <_t=real,double precision,complex,double complex>

  short:
   <s,d,c,z>, a short form of the named, useful when no <p> appears inside
   a block.

  In general, '<..>' contains a comma separated list of arbitrary
  expressions. If these expression must contain a comma|leftarrow|rightarrow,
  then prepend the comma|leftarrow|rightarrow with a backslash.

  If an expression matches '\<index>' then it will be replaced
  by <index>-th expression.

  Note that all '<..>' forms in a block must have the same number of
  comma-separated entries.

 Predefined named template rules:
  <prefix=s,d,c,z>
  <ftype=real,double precision,complex,double complex>
  <ftypereal=real,double precision,\0,\1>
  <ctype=float,double,complex_float,complex_double>
  <ctypereal=float,double,\0,\1>

�process_str�process_file�Nz2(\n|\A)((     (\$|\*))|)\s*(subroutine|function)\bz+\n\s*end\s*(subroutine|function)\b.*(\n|\Z)z\n     (\$|\*)\s*function\bc�"�g}d}	t�||��}|�n�|���}t�|||�����r4	|�d||��}|dkrn|}|||dz�dkrn�3|dz
}t�||�����}|r|���dz
pt|��x}}|�	||f����	|S)	z� Return a list of tuples for each function or subroutine each
    tuple is the start and end of a subroutine or function to be
    expanded.
    rTN�
����z
     $�)
�routine_start_re�search�start�function_start_re�match�end�rfind�routine_end_re�len�append)�astr�spanlist�ind�mr�irs       �?/usr/lib/python3/dist-packages/numpy/distutils/from_template.py�parse_structurer:s���H�
�C�&��#�#�D�#�.�.���9�����	�	���"�"�4�������8�8�	�
��J�J�t�S�%�0�0���b�5�5������!�A�#��;�
�*�*��

�	��
���!�!�$������0�0���O�!�%�%�'�'�!�)�0�s�4�y�y�0��c�������%�%�%�!&�"�O�z<\s*(\w[\w\d]*)\s*>z<\s*(\w[\w\d]*)\s*=\s*(.*?)\s*>z<\s*((.*?))\s*>c��t�|��}i}|D][}|d���pt|��}|d�dd��}t|��}|||<�\|S)Nrr	�\,�@comma@)�named_re�findall�strip�
unique_key�replace�conv)r�reps�names�rep�name�repl�thelists       r�find_repl_patternsr+Ysy�����D�!�!�D��E������1�v�|�|�~�~�2��E�!2�!2���1�v�~�~�e�Y�/�/���t�*�*����d����Lrc�j�t|��}tjtd|��d}||fS)N�r)r+�re�subnr)rr&s  r�find_and_remove_repl_patternsr0cs1���t�$�$�E�
�7�8�R��&�&�q�)�D���;�rz\A\\(?P<index>\d+)\Zc�J�|�d��}d�|D��}tt|����D]Q}t�||��}|r-t|�d����}||||<�Rd�|��S)N�,c�6�g|]}|�����S�)r!)�.0�xs  r�
<listcomp>zconv.<locals>.<listcomp>ks �����q��������r�index)�split�ranger�item_rer�int�group�join)r�b�lrr�js      rr$r$is����
�
�3���A���A����A�
�3�q�6�6�]�]�����M�M�!�A�$�����	��A�G�G�G�$�$�%�%�A��Q�4�A�a�D���8�8�A�;�;�rc�z�t|�����}d}d}|sd|z}||vr|dz
}nd}|�|S)z( Obtain a unique key given a dictionary.Fr	z__l%sT)�list�keys)�adict�allkeys�done�n�newkeys     rr"r"ss^���5�:�:�<�<� � �G��D�	�A����A����W���
��F�A�A��D����Mrz\A\s*(\w[\w\d]*)\s*\Zc�����
�|�dd��}|�dd��}t|���t�d|��}�fd�}t�||��}d}d}i�
t
�|��D]�}|�
vr׉�||�|d����}|�td|z���||vr|�	d��s|||<d	�|�
d
��D��}t|��}|�
|}|�
|<|}��||kr|�
|<��td|�dd
�
�
|���d
|�d|�d�	���މ
s|S��
fd�}	d}
t|��D]#�|
t
�|	|��dzz
}
�$|
�dd��}
|
�dd��}
|
S)Nz\>z@rightarrow@z\<z@leftarrow@z<\1>c�2��t|�d���dd����}t�|��rd|zSd}����D]}�||kr|}�|�t
���}|�|<d|zS)Nr	rrz<%s>)r$r=r#�template_name_rerrDr")�mobjr*r(�key�lnamess    �r�listreplzexpand_sub.<locals>.listrepl�s�����t�z�z�!�}�}�,�,�U�I�>�>�?�?���!�!�'�*�*�	&��W�%�%����;�;�=�=�	�	�C��c�{�g�%�%�����<��f�%�%�D�"�F�4�L���}�rzNo replicates found for <%s>�_c�:�g|]}|�dd����S)rr2)r#)r5rs  rr7zexpand_sub.<locals>.<listcomp>�s&��J�J�J�!�A�I�I�i��-�-�J�J�Jrr2z*Mismatch in number of replacements (base <�=z>) for <z>. Ignoring.c�t��|�d��}��|�dz|gz���S)Nr	)r=�get)rMr(�k�ruless  ��r�namereplzexpand_sub.<locals>.namerepl�s5����z�z�!�}�}���y�y���!��d�V�|�,�,�Q�/�/rr-z

�>�<)r#r+r�sub�list_re�template_rer rU�
ValueError�
startswithr9r�printr>r:)�substrr&rP�numsubs�	base_rule�rr*�rule�numrX�newstrrVrOrWs           @@@r�
expand_subrh�sE�����
�^�^�E�>�
2�
2�F�
�^�^�E�=�
1�
1�F�
��
'�
'�F�
�\�\�'�6�
*�
*�F�������[�[��6�
*�
*�F��G��I��E�
�
 �
 ��
(�
(�K�K���E�>�>��j�j��E�I�I�a��$6�$6�7�7�G��� �!?�1�!E�F�F�F���~�~�g�&8�&8��&=�&=�~�"��a��J�J�w�}�}�S�7I�7I�J�J�J�D��d�)�)�C�������a���	�	�������a����� �y�y�#�(�(�5��+;�"<�"<�"<�"<�a�a�a����J�K�K�K�����
�0�0�0�0�0�0��F�
�7�^�^�=�=���+�/�/�(�F�3�3�f�<�<���
�^�^�N�C�
0�
0�F�
�^�^�M�3�
/�
/�F��Mrc�^�|}d}t|��}d}i}|�t��|D]k}t|||d���\}}||z
}|�|��|t	||d|d�|��z
}|d}�l|||d�z
}|S)Nr-rr	)r�update�_special_namesr0rh)	�allstrrg�writestr�struct�oldendr&r[�
cleanedstr�defss	         rrr�s���
�F��H�
�V�
$�
$�F�
�F��E�	�L�L�� � � �����8���s�1�v�
�9N�O�O��
�D��J���
���T�����J�v�c�!�f�S��V�m�4�e�<�<�<���a�&�����v�w�w���H��Orz8(\n|\A)\s*include\s*['\"](?P<name>[\w\d./\\]+\.src)['\"]c�\�tj�|��}t|��5}g}|D]�}t�|��}|r�|�d��}tj�|��s tj�||��}tj�	|��r#|�
t|������|�|����|�|����	ddd��n#1swxYwY|S)Nr()
�os�path�dirname�open�include_src_rerr=�isabsr>�isfile�extend�resolve_includesr)�source�d�fid�lines�liner�fns       rr{r{�sF��
�������A�	
�f���
#�����	#�	#�D��$�$�T�*�*�A��	
#��W�W�V�_�_���w�}�}�R�(�(�-�����a��,�,�B��7�>�>�"�%�%�'��L�L�!1�"�!5�!5�6�6�6�6��L�L��&�&�&�&����T�"�"�"�"�	#�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#����
#�
#�
#�
#��Ls�C%D!�!D%�(D%c�d�t|��}td�|����S)Nr-)r{rr>)r|rs  rrr�s'���V�$�$�E��r�w�w�u�~�~�&�&�&rz�
<_c=s,d,c,z>
<_t=real,double precision,complex,double complex>
<prefix=s,d,c,z>
<ftype=real,double precision,complex,double complex>
<ctype=float,double,complex_float,complex_double>
<ftypereal=real,double precision,\0,\1>
<ctypereal=float,double,\0,\1>
c�v�	tjd}t|d��}tj�|��\}}|}t|d��}n(#t$rtj}tj}YnwxYw|�	��}t|��}|�|��dS)Nr	rd�w)�sys�argvrvrsrt�splitext�
IndexError�stdin�stdout�readr�write)�filer~�base�ext�newname�outfilerlrms        r�mainr��s���	%��x��{��
�4��o�o���g�&�&�t�,�,���s����w��$�$���������i���*���������X�X�Z�Z�F��6�"�"�H��M�M�(�����s�A�"A>�=A>�__main__)�__doc__�__all__rsr�r.�compile�Ir
rr
rr]rr\r+r0r;r$r"rLrhrrwr{rrkr��__name__r4rr�<module>r�s���-�-�\�.�
)��	�	�	�	�
�
�
�
�	�	�	�	��2�:�S�UW�UY�Z�Z�����J�B�D�Q�Q���B�J�=�r�t�D�D�����6�b�j�/�0�0���2�:�8�9�9��
�"�*�'�
(�
(��������
�"�*�,�
-�
-���������2�:�6�7�7��:�:�:�x���&���W�Y[�Y]�^�^�����$'�'�'�$�#�%�������"�z����D�F�F�F�F�F��r

Youez - 2016 - github.com/yon3zu
LinuXploit