403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.170
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/matplotlib/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/matplotlib/tests/__pycache__/test_mlab.cpython-312.pyc
�

G8�c����F�ddlmZmZmZmZddlZddlZddlm	Z	m
Z
Gd�d�Zd�ZGd�d�Z
ejjd	d
dgdd
gd��ejjdgd�d��ejjdgdddddfdgdddddfgd�dddddfgdddddfgdddddfgdddddfgdddddfgdddddfgdddddfgdddddfgdddddfggd�d��Gd �d!����Zd"�ZGd#�d$�ZGd%�d&�ZGd'�d(�Zd)�Zd*�Zy)+�)�assert_allclose�assert_almost_equal�assert_array_equal�assert_array_almost_equal_nulpN)�mlab�_apic���eZdZd�Zej
d��d��Zdd�Zejjddd	gd
dg��d
��Z
ejjdgd�gd���d��Zejjdddgddg��ejjdgd�gd���d���Zejjdddgddg��d��Z
y)�
TestStridec�T�|}|j�|j}|j��|S�N)�base)�self�x�ys   �</usr/lib/python3/dist-packages/matplotlib/tests/test_mlab.py�get_basezTestStride.get_base
s+��
���f�f� ����A��f�f� ���T)�autousec#�fK�tj�5d��ddd�y#1swYyxYw�wr)r�'suppress_matplotlib_deprecation_warning�rs r�stride_is_deprecatedzTestStride.stride_is_deprecateds)����
�
9�
9�
;�	��	�	�	�s�1�%�	1�.�1rc��||z
}tjdt|�|z
dz|�}t|�}tj||f�}t	|�D]}	|||	||	|z|dd�|	f<�|dk(r|j
}|S)z�
        This is an adaptation of the original window extraction algorithm.
        This is here to test to make sure the new implementation has the same
        result.
        r�N)�np�arange�len�zeros�range�T)
rr�NFFT�noverlap�axis�step�ind�n�result�is
          r�calc_window_targetzTestStride.calc_window_targets����h����i�i��3�q�6�D�=�1�,�d�3����H�����4��)�$���q��	1�A��S��V�C��F�4�K�0�F�1�a�4�L�	1��1�9��X�X�F��
r�shape�)�
r�0D�2D)�idsc��tjtj|��j|�}t	j
t�5tj|d�ddd�y#1swYyxYw)N�)	rr�prod�reshape�pytest�raises�
ValueErrorr�stride_windows)rr*rs   r�'test_stride_windows_invalid_input_shapez2TestStride.test_stride_windows_invalid_input_shape'sT���I�I�b�g�g�e�n�%�-�-�e�4��
�]�]�:�
&�	&�����1�%�	&�	&�	&�s�A1�1A:zn, noverlap))rN)�N)�r:)r:�)z
n less than 1zn greater than inputznoverlap greater than nznoverlap equal to nc��tjd�}tjt�5tj|||�ddd�y#1swYyxYw)Nr,)rrr4r5r6rr7)rr&r"rs    r�"test_stride_windows_invalid_paramsz-TestStride.test_stride_windows_invalid_params-sD��
�I�I�b�M��
�]�]�:�
&�	0�����1�h�/�	0�	0�	0�s�A�Ar#r�axis0�axis1))rr)r1r)�r:)�
���)zn1-noverlap0zn5-noverlap0z
n15-noverlap2zn13-noverlapn3c�d�tjd�}tj||||��}ddg}|||<d||z
z|d|z
<|j	||||��}|j
|j
k(sJ�t
||�t|�|j
k(sJ�|j|�|usJ�y)N�d)r"r#rr)	rrrr7r)r*r�tupler)rr&r"r#rr�expected_shape�yts        r�test_stride_windowszTestStride.test_stride_windows7s���
�I�I�c�N������1�x�d�C���Q��� ��t��#&�1�x�<�#8��q�4�x� �
�
$�
$�Q��H�4�
$�
H���x�x�1�7�7�"�"�"��2�q�!��^�$����/�/�/��}�}�Q��1�$�$�$rc�@�d}tj|�tj}tj|d�}|j	�}tj|||��}|dk(r|j}|j|jk(sJ�t||�y)N� )�r�r#r)
rr�newaxis�tile�flattenrr7r r*r)rr#r&r�x1�x2rs       r�+test_stride_windows_n32_noverlap0_unflattenz6TestStride.test_stride_windows_n32_noverlap0_unflattenJs|�����I�I�a�L����$��
�W�W�Q��
 ��
�Z�Z�\������A�D�1���1�9����B��w�w�"�(�(�"�"�"��1�b�!rN)rr)�__name__�
__module__�__qualname__rr4�fixturerr)�mark�parametrizer8r=rHrRr+rrr
r
	s!����V�^�^�D�!��"���$�[�[���W�r�7�m�$����F�&�G�&�
�[�[���]�D�"9��:�
0�:�
0�
�[�[���V�a��V�'�7�1C��D��[�[���]�@�"E��F�%�	F�E�
%��[�[���V�a��V�'�7�1C��D�
"�E�
"rr
c�"�tjjd�d}tjj|�dz}tj|�}tt
j|�|�tt
j|�|�ttjt|��|zt
j|��ttjt|��t
j|��y)Nr��rD)r�random�seed�standard_normal�onesrr�window_none�hanningr�window_hanning)r&�randr^s   r�test_windowrcXs����I�I�N�N�1���A�
�9�9�$�$�Q�'�#�-�D�
�7�7�1�:�D��t�'�'��-�t�4��t�'�'��-�t�4��r�z�z�#�d�)�,�t�3�T�5H�5H��5N�O��r�z�z�#�d�)�,�d�.A�.A�$�.G�Hrc�N�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�TestDetrendc�:�tjjd�d}tjdd|�}tj|�|_|j
dz|_tjdd|�|_||j�z
|_	tjj|�tj|dztjz|dzz�z|_
|xj|jj�zc_
y)	NrrZ�rD�Y@g$�g�V@r:)rr[r\�linspacer�	sig_zeros�sig_off�	sig_slope�mean�sig_slope_meanr]�sin�pi�sig_base)rr&rs   r�setup_methodzTestDetrend.setup_methodds���
�	�	���q�����K�K��C��#�����!�����~�~��,������T�3��2����!�&�&�(�l���
�I�I�%�%�a�(�2�6�6�!�A�#�b�e�e�)�Q�s�U�2C�+D�D�	
�
��
�
����+�+�-�-�
rc��t|ddi�y)N�atol�:�0�yE>)r)r�argss  r�allclosezTestDetrend.allclosess����)�D�)rc
�@�tjd�dk(sJ�tjdd��dk(sJ�tjdd��dk(sJ�tjdtj��dk(sJ�d|j|j|j
|j
|jz|jzj
�tj|j
|j
|jz|j
|jz|j
|jz|jzg�tj|j
|j
|jz|j
|jz|j
|jz|jzg�jfD]V}t|tj�r ttj|�|��=tj|�|k(r�VJ�y)NrgrrL�none��key�@)
r�detrend_none�detrendrkrlrq�tolistr�vstackr �
isinstance�ndarrayr�r�sigs  r�test_detrend_nonezTestDetrend.test_detrend_nonevs���� � ��$��*�*�*�� � ��!�,��2�2�2��|�|�B�F�+�r�1�1�1��|�|�B�D�$5�$5�6�"�<�<�<��T�\�\�4�>�>�4�=�=�������/�$�,�,�>�F�F�H��	�	�4�=�=��=�=�4�<�<�7��=�=�4�>�>�9��=�=�4�<�<�7�$�.�.�H�J�K��	�	�4�=�=��=�=�4�<�<�7��=�=�4�>�>�9��=�=�4�<�<�7�$�.�.�H�J�K�LM�1�
�	5�C��#�r�z�z�*�"�4�#4�#4�S�#9�3�?��(�(��-��4�4�4�	5rc��dD]b}tj|�dk(sJ�tj|d��dk(sJ�tj|tj��dk(r�bJ�|jtj|j�|j�|jtj|j
�|j
�|jtj|j
|jz�|j
�|jtj|j
|jz�|j
|jz�|jtj|j
|jz|jz�|j
|jz�y)N)rgr|rgrmrz)	r�detrend_meanr~rwrjrqrkrlrnr�s  r�test_detrend_meanzTestDetrend.test_detrend_mean�sO���	B�C��$�$�S�)�R�/�/�/��<�<���0�B�6�6�6��<�<���):�):�;�r�A�A�A�	B�
	
�
�
�d�'�'����7����H��
�
�d�'�'��
�
�6��
�
�F��
�
�d�'�'��
�
����(D�E��m�m�	%��
�
�d�'�'��
�
����(F�G��m�m�d�&9�&9�9�	;��
�
����d�m�m�d�n�n�<�t�|�|�K�L��M�M�D�/�/�/�	1rc��|j|jz|jz}|j|jz}|j	tj|d��|�|j	tj|j��|�|j	tj|j�d��|�y�NrrL)rqrlrkrnrwrr�r�r�input�targets   r�4test_detrend_mean_1d_base_slope_off_list_andor_axis0z@TestDetrend.test_detrend_mean_1d_base_slope_off_list_andor_axis0�s����
�
����.����=������!4�!4�4���
�
�d�'�'��A�6��?��
�
�d�'�'�����7��@��
�
�d�'�'�����Q�?��Hrc��tj|j|j|jzg�}tj|j|jg�}|jt
j|�|�|jt
j|d��|�|jt
j|jd��j|�|jt
j|�|�|jt
j|d��|�|jt
j|jdd��|j�tj|j|j|jz|j|jz|j|jz|jzg�}tj|j|j|j|jz|j|jzg�}|jt
j|jd��|j�|jt
j|d��|�|jt
j|d��|�|jt
j|dd��|�|jt
j|jdd��|j�|jt
j|jtjd��|j�y)	NrL�constant�r{r#rr����defaultrm)rr�rkrqrjrwrr�r r~rlrnr�s   r�test_detrend_mean_2dz TestDetrend.test_detrend_mean_2d�s_���	�	�4�<�<��=�=�4�<�<�7�9�:�����D�N�N� �M�M�+�,���
�
�d�'�'��.��7��
�
�d�'�'��D�9�6�B��
�
�d�'�'����d�;�=�=�v�F��
�
�d�l�l�5�)�6�2��
�
�d�l�l�5�t�4�f�=��
�
��L�L����j�t�<�f�h�h�	H��	�	�4�=�=��=�=�4�<�<�7��=�=�4�>�>�9��=�=�4�<�<�7�$�.�.�H�J�K�����D�M�M� �M�M� �M�M�D�,?�,?�?� �M�M�D�,?�,?�?�A�B��	
�
�
�d�'�'����a�8�&�(�(�C��
�
�d�'�'��A�6��?��
�
�d�'�'��B�7��@��
�
�d�l�l�5�i�a�@�&�I��
�
�d�l�l�5�7�7��Q�?����J��
�
��L�L����d�&7�&7�a�@�&�(�(�	Lrc��|jtjddif|jtjddifdddif|jddif|jtjddiffD]=\}}tjt
�5t
j|fi|��ddd��?y#1swY�JxYw)	Nr{�spamr1r|r#rrr:)rlrrMr4r5r6rr~�r�signal�kwargss   r�test_detrend_ValueErrorz#TestDetrend.test_detrend_ValueError�s�������
�
�+�e�V�_�=�����
�
�+�e�Q�Z�8��v�q�k�"����&�!��-�����
�
�+�f�a�[�9�
�	/�N�F�F����z�*�
/����V�.�v�.�
/�
/�	/�
/�
/�s�B8�8C	c��dddif|jddif|jtjddiffD]=\}}tjt
�5t
j|fi|��ddd��?y#1swY�JxYw)Nr|r#rrr:)rlrrMr4r5r6rr�r�s   r�test_detrend_mean_ValueErrorz(TestDetrend.test_detrend_mean_ValueError�s����v�q�k�"����&�!��-�����
�
�+�f�a�[�9�
�	4�N�F�F�
���z�*�
4��!�!�&�3�F�3�
4�
4�	4�

4�
4�s�A8�8B	c��tjd�dk(sJ�tjd�dk(sJ�tjdd��dk(sJ�tjdtj��dk(sJ�|j|j|j|jzfD]1}|jtj|�|j��3y)Nrgr|�linearrz)r�detrend_linearr~rkrlrwrjr�s  r�test_detrend_linearzTestDetrend.test_detrend_linear�s����"�"�2�&�"�,�,�,��"�"�3�'�2�-�-�-��|�|�C�X�.�"�4�4�4��|�|�C�T�%8�%8�9�R�?�?�?�������������-�
�	D�C�

�M�M�$�-�-�c�2�D�N�N�C�	Drc�l�|j|jz}|j}|jt	j
|d��|�|jt	j
|tj��|�|jt	j|j��|�y)Nr�rz)rlrkrjrwrr~r�rr�s   r�test_detrend_str_linear_1dz&TestDetrend.test_detrend_str_linear_1d�st��������-�������
�
�d�l�l�5�h�7��@��
�
�d�l�l�5�d�.A�.A�B�F�K��
�
�d�)�)�%�,�,�.�9�6�Brc�z�tj|j|j|j|jzg�}tj|j|j|jg�}|jt
j|jdd��|j�|jt
j|jtjd��|j�|jt
j|dd��|�|jt
j|tjd��|�tjt�5t
j|jtj�ddd�y#1swYyxYw)Nr�rr�r)rr�rkrlrjrwrr~r r�r4r5r6rMr�s   r�test_detrend_linear_2dz"TestDetrend.test_detrend_linear_2d�s2���	�	�4�<�<��>�>��>�>�D�L�L�8�:�;�����D�N�N� �N�N� �N�N�,�-��	
�
�
��L�L����h�Q�7����	C��
�
��L�L����d�&9�&9��B�F�H�H�	N��
�
��L�L��H�1�5�v�	?��
�
��L�L��D�$7�$7�a�@�&�	J��]�]�:�
&�	<�������r�z�z� :�;�	<�	<�	<�s�71F1�1F:N)rSrTrUrrrwr�r�r�r�r�r�r�r�r�r+rrrerecs=��
.�*�5�,1� I�L�:	/�4�D�C�<rre�	iscomplexFT�real�complex�class)r/�scope�sides)�onesided�twosidedr�)r�zFfstims,len_x,NFFT_density,nover_density,pad_to_density,pad_to_spectrumr��)r�r1r,�i���!i�rJ)�nosig�Fs4�FsAll�nosig_noNFFT�nosig_nopad_to�nosig_noNFFT_no_pad_to�
nosig_trim�	nosig_odd�nosig_oddlen�
nosig_stretch�
nosig_overlapc�l�eZdZejdd��d��Zd�Zd�Zd�Zejjdd	d
g�d��Zejjdgd
��d��Zd�Z
d�Zd�Zejjdej"ej&fej"dfej(ej*fej(dfg�d��Zd�Zd�Zd�Zd�Zejjdgd��d��Zejjdidd	idd
iddiddidd idd!ig�d"��Zd#�Zd$�Zejjdd	d
g�d%��Zejjd&dej@fd ejBfd!d'�fg�d(��Z"d)�Z#y*)+�TestSpectralr�T)r�rc
�X�d}
tjddd|
z�}|�|d|}|D�cgc]}|
|z��	}}|�d}
n|dkrdx}
}n|}
|�d}n|dkr|
dzx}}n|}|�|
}n>|dkr7tdtjtj|
��z�}|}n|}|	�t|�}n|	dkrt|�x}}	n|	}|	�|x}}n
t|�x}}d}|}|}|}|
}|}|dk(s|d	k(r�|s�|dzr#tjd|
dz|d
��ddd�}n!tjd|
dz|dzdz��}|dzr#tjd|
dz|d
��ddd�}n�tjd|
dz|dzdz��}n�|dzr*tj|
dz|
dzd|zd
��ddd�}n tj|
dz|
dz|d
��}|dzr*tj|
dz|
dzd|zd
��ddd�}n tj|
dz|
dz|d
��}|}|dz}t|�|dzz
dz}||z
}||||�}|dzr|d|
zdzz
}t|�dk(rtj|d|
zzg�}tj|d|
zzg�} |}!tj|�}"t|�D]:\}#}|"tj||ztjzdz�d|#zzz
}"�<|r|"jd
�}"|j}$|
|$_||$_||$_||$_||$_||$_||$_||$_|	|$_||$_||$_||$_||$_|!|$_| |$_|"|$_||$_||$_||$_ |
|$_!ycc}w)Nrhrr,rr�rDr:r�r�F)�num�endpoint�r�r�)"rr�int�ceil�log2rri�array�
zeros_like�	enumeraterorp�astype�cls�Fsr��fstims�NFFT_density�
nover_density�pad_to_density�
NFFT_spectrum�nover_spectrum�pad_to_spectrum�
NFFT_specgram�nover_specgram�pad_to_specgram�
t_specgram�	t_density�
t_spectrumr�
freqs_density�freqs_spectrum�freqs_specgram�NFFT_density_real)%r�requestr�r�r��len_xr�r�r�r�r�r�fstimr��nover_density_real�pad_to_density_real�pad_to_spectrum_real�NFFT_spectrum_realr�r�r�r�r��NFFT_specgram_real�nover_specgram_realr�r�r��t_start�t_stop�t_stepr�r�r�rr(r�s%                                     r�stimzTestSpectral.stims������I�I�a��Q��V�$�����&�5�	�A�+1�1��"�u�*�1��1��� #��
�A�
�/2�2��� ,��� �!"��
�Q�
�1B�a�1G�G���!.���!�"3��
�a�
� ��B�G�G�B�G�G�4E�,F�$G�!G�H�N�"0��"0���"�#&�q�6� �
�q�
 �58��V�;� �?�#2� ��"�1E�E���14�Q��7�����$�
�&��(��.��0���J��5�I�#5�i�#�Q�&� "���A�r�A�v�0C�5:�!<�<?�a�C�!A�
�!#���A�r�A�v�0C�q�0H�1�0L�!N�
�
$�a�'�!#���Q��Q��1E�6;�"=�=@�q�S�"B��"$���Q��Q��1E��1J�Q�1N�"P��
#�Q�&� "���R�C�!�G�R�!�V�01�4G�0G�5:�!<�<=�D�q�D�!B�
�!#���R�C�!�G�R�!�V�0C�5:�!<�
�$�a�'�!#���b�S�1�W�b�1�f�12�5I�1I�6;�"=�=>�T��T�"C��"$���b�S�1�W�b�1�f�1E�6;�"=��'��$��)���Q��,��1�1�A�5��#�&9�9���w�v�f�,�-�
���!��!�b�&�1�*�$�J��z�?�a�����#5��R��#@�"A�B�J��X�X�1�Q��V�<�=�>�
��	��M�M�!���!�&�)�	7�H�A�u�
������	�B�E�E�)�A�-�.��Q��6�6�A�	7������#�A�
�k�k�������	���
�'���)���+���)���+���-���)���+���-���#���!��
�#������)���+���+��� 1����S2s�N'c�&�|j�dk(sJ�|j�t|�dz
k(sJ�t||d��|D]H}t	j
||z
�j�}||||dzkDsJ�||||dz
kDr�HJ�y)Nrr���ư>�rtr:)�argmin�argmaxrrr�abs)r�vals�	targfreqs�resfreqsr�r�r(s       r�check_freqszTestSpectral.check_freqs�s������ �A�%�%�%���� �C��M�!�O�3�3�3���)�%�8��	'�E����x�%�'�(�/�/�1�A���7�T�!�A�#�Y�&�&�&���7�T�!�A�#�Y�&�&�&�	'rc��t|�dk(ry|j�dkrXtj|�}|j	�}|j|d||d||�|j||d||d|�y|dd}|j
�}|r6|j�}||}	t|	|d�|d=d||dz
|dz|r�5yy)Nrr�r1)	r�minrr�r��
check_maxfreq�copyr�r)
r�spec�fspr��fspa�zeroind�fstimst�spect�maxind�maxfreqs
          rr�zTestSpectral.check_maxfreq�s����v�;�!����7�7�9�q�=��6�6�#�;�D��k�k�m�G����t�H�W�~�t�H�W�~�v�F����t�G�H�~�t�G�H�~�v�F����)���	�	�����\�\�^�F��&�k�G������5����'(�E�&��(�6�!�8�$�rc
���|jdzdd�|jdzdd�|jdzdd�|jdzdd�ddi|jd	d
�|jddd
�ddd�|jdtjd�d�f	D]E}tjt
�5t
jdd|ji|��ddd��Gy#1swY�RxYw)Nrr�)r�mode�	magnitude�angle�phaserr��eggs)rr�r,�)rr!r")r!r"�	)rr!�windowrr+)rrr^r4r5r6r�_spectral_helper)rr�s  r�test_spectral_helper_raisesz(TestSpectral.test_spectral_helper_raises�s����&�&��(�I�.��&�&��(�K�0��&�&��(�G�,��&�&��(�G�,�
�V���&�&�6�*��&�&�"�"�5��R�(��&�&�"��w�w�q�z�
#�
�
	:�F����z�*�
:��%�%�9����9�&�9�
:�
:�
	:�
:�
:�s�)"C�C	rr��psdc��tjt�5tj|j
|��ddd�y#1swYyxYw)N)rr)r4r5r6r�_single_spectrum_helperr)rrs  r�-test_single_spectrum_helper_unsupported_modesz:TestSpectral.test_single_spectrum_helper_unsupported_modes�s7��
�]�]�:�
&�	>��(�(�4�6�6��=�	>�	>�	>�s�"A�Az
mode, case))r�density)r�specgram)r�spectrumc���t|d|���}tj|j|jt|d|���|jt|d|���t|d|���|j
|��\}}}t
||d��t
|t|d|���d��|jd	|jd	k(sJ�|jd
t|d|���jd	k(sJ�y)N�freqs_�NFFT_�nover_�pad_to_)rrr!r�r"�pad_tor�rr�r��t_rr)�getattrrr
rr�r�rr*)rr�case�freqsr�r��ts       r�test_spectral_helper_psdz%TestSpectral.test_spectral_helper_psd�s������t�f�o�.���,�,��f�f�������t�f�~�.��w�w��T�V�D�6�?�3��4�7�4�&�!1�2��*�*�����c�1�	��U��/���7�4�2�d�V��5�E�B��z�z�!�}����A��.�.�.��z�z�!�}����4�&�k� :� @� @�� C�C�C�Crc	�>�|j}tj|j|jdz|j|j
|j|j|j��\}}t||d��|j|jk(sJ�y)Nr�rrr!r�r"rr�r�r�)r�r�csdrr�r�r�r�r�rr*�rrr�r�s    r�test_csdzTestSpectral.test_csd�s|���"�"���H�H�t�v�v������"&�"3�"3� $���&*�&8�&8�$(�$7�$7�#'�:�:�/�	��c�	��U��/��z�z�U�[�[�(�(�(rc	�6�|j�yt|j|jdz|jtj
|j��}t	jdd|ji|��\}}t	jdd|jdzi|��\}}ttjtj|�|z�jtjtj|dz�|zdz�j�y)zTest zero padding of csd().Nr)rrr�r	r�r!r:r+)
r��dictrr�rr_r�r!rr�sum�	conjugater�)r�sargs�spec0�_�spec1s     r�test_csd_paddingzTestSpectral.test_csd_padding
s������$���t�v�v������d�g�g�d�>N�>N��:�:�'���8�8�<��!2�!2�<�e�<���q��8�8�>��!2�!2�1�!4�>��>���q��B�F�F�2�<�<��#6�u�#<�=�B�B��F�F�2�<�<��a��#8��#>�q�#@�A�F�F�	Hrc�B�|j}tj|j|j|j
|j|j|j��\}}|j|jk(sJ�|j||||j�y)N�rr!r�r"rr�)r�rrrr�r�r�r�r�r*r�r�r"s    r�test_psdzTestSpectral.test_psds~���"�"���H�H�t�v�v�"&�"3�"3� $���&*�&8�&8�$(�$7�$7�#'�:�:�/�	��c��z�z�U�[�[�(�(�(�����u�c�4�;�;�7rzmake_data, detrendrmr�c�X�|j�y||j�}|dz}|dz}tj||g�}tj|d�}|jj�}|j�}tj|�}tj||j|jd|j|��\}}	tj||j|jd|j|��\}
}tj||j|jd|j��\}}
t|	|
�t||
�t||d��tjt�5t|
|d��ddd�y#1swYyxYw)	Nr1�ffffff
@�rrr)rr!r�r"r�r~)rr!r�r"r�rur�)r�rr�rNr rOr�rrr�r�rrr4r5�AssertionError)r�	make_datar~�ydata�ydata1�ydata2�ydatab�ycontrol�spec_g�fsp_g�spec_b�fsp_b�spec_c�fsp_cs              r�test_psd_detrendzTestSpectral.test_psd_detrend!sd��
���$���$�+�+�,���q����s����	�	�6�6�*�+������w�'�������"���
�
����=�=��'�����5�&*�&7�&7�$(�G�G�*+�'+�z�z�)0�2�
������6�&*�&7�&7�$(�G�G�*+�'+�z�z�)0�2�
������8�&*�&7�&7�$(�G�G�*+�'+�z�z�	3�
���
	�5�%�(��5�%�(����U�3�
�]�]�>�
*�	8��F�F��7�	8�	8�	8�s�F � F)c��|j�ytj|j�}|dz}|dz}tjtj
|��}||z}tj|�}tj||g�}tj||g�}tj|d�}tj|d�}|jj�}|j�}	|j�}tj|	|j|jd|jtj��\}
}tj||j|jd|jtj��\}}
tj||j|jd|jtj��\}}|t|�tj|�dzj!�zz}t#||�t#|
|�t%|
|d��t'j(t*�5t%||d��ddd�y#1swYyxYw)	Nr1r1r2r�rr!r�r"r�r	r:rur�)r�rrrra�	ones_liker�rNr rOrr�r�r_rr�r&rrr4r5r3)rr5r6r7�
windowVals�	ycontrol1�	ycontrol2r9r8�ydatafr:r;r<r=r>r?s                r�test_psd_window_hanningz$TestSpectral.test_psd_window_hanningHs������$���	�	�$�+�+�,���q����s����(�(����f�)=�>�
��Z�'�	��'�'��/�	��	�	�6�6�*�+���9�9�i��3�4������w�'���7�7�8�W�-�������"��������#�#�%�����6�&*�&7�&7�$(�G�G�*+�'+�z�z�(,�(;�(;�=�
������6�&*�&7�&7�$(�G�G�*+�'+�z�z�(,�(;�(;�=�
������8�&*�&7�&7�$(�G�G�*+�'+�z�z�(,�(8�(8�:�
���	�#�i�.�"�&�&��"4�a�"7�!<�!<�!>�>�>���5�%�(��5�%�(����U�3�
�]�]�>�
*�	8��F�F��7�	8�	8�	8�s�I7�7Jc	��|j�ytj|j�}tj|j�}|dz}|dz}|}|}t	j
tj|��}||z}t	j
|�}tj||g�}tj||g�}tj|d�}tj|d�}|jj�}|j�}	|j�}t	j|	|j|jd|jtjtj
��\}
}t	j||j|jd|jtjtj
��\}}
t	j||j|jd|jtj��\}}|t!|�tj"|�dzj%�zz}t'||�t'|
|�t)|
|d�	�t+j,t.�5t)||d�	�ddd�y#1swYyxYw)
Nr1r1r2r)rr!r�r"r�r~r	rBr:rur�)r�rrrrrarCr�rNr rOrr�r�r�r_rr�r&rrr4r5r3)rr5r9r6r7rErFrDr8rGr:r;r<r=r>r?s                r�&test_psd_window_hanning_detrend_linearz3TestSpectral.test_psd_window_hanning_detrend_linearrs+�����$���	�	�$�+�+�,���8�8�D�-�-�.���q����s����	��	��(�(����i�)@�A�
��
�*�	��'�'�	�2�	��	�	�6�6�*�+���9�9�i��3�4������w�'���7�7�8�W�-�������"��������#�#�%�����6�&*�&7�&7�$(�G�G�*+�'+�z�z�)-�)<�)<�(,�(;�(;�
=�
������6�&*�&7�&7�$(�G�G�*+�'+�z�z�)-�)<�)<�(,�(;�(;�
=�
������8�&*�&7�&7�$(�G�G�*+�'+�z�z�(,�(8�(8�:�
���	�#�i�.�"�&�&��"4�a�"7�!<�!<�!>�>�>���5�%�(��5�%�(����U�3�
�]�]�>�
*�	8��F�F��7�	8�	8�	8�s� J8�8Kc�^�|j}tj|j|j|j
|j|j|jtj|j���\}}t||d��|j|jk(sJ�y)N�rr!r�r"rr�r	r�r�)r�rrrr�r�r�r�r�rr^r�rr*r"s    r�test_psd_windowarrayz!TestSpectral.test_psd_windowarray�s����"�"���H�H�t�v�v�"&�"3�"3� $���&*�&8�&8�$(�$7�$7�#'�:�:�$&�G�G�D�,B�,B�$C�
E�	��c�	��U��/��z�z�U�[�[�(�(�(rc
��tjtj|j��}tj
|j|j|j|j|j|jtj��\}}tj
|j|j|j|j|j|jtjd��\}}tj
|j|j|j|j|j|jtjd��\}}t||�t||�t||�t||dzj�z||jz|j�dzzd��y)NrLT)rr!r�r"rr�r	�
scale_by_freqFr:rur�)rrarr^r�rrr�r�r�r�r�rrr&)r�winr�r��spec_s�fsp_s�spec_n�fsp_ns        r�"test_psd_windowarray_scale_by_freqz/TestSpectral.test_psd_windowarray_scale_by_freq�s_���!�!�"�'�'�$�*@�*@�"A�B���H�H�t�v�v�"&�"3�"3� $���&*�&8�&8�$(�$7�$7�#'�:�:�$(�$7�$7�
9�	��c����4�6�6�&*�&7�&7�$(�G�G�*.�*<�*<�(,�(;�(;�'+�z�z�(,�(;�(;�/3�5�
������4�6�6�&*�&7�&7�$(�G�G�*.�*<�*<�(,�(;�(;�'+�z�z�(,�(;�(;�/4�6�
���	�3��&��3��&��4��(����Q��|�|�~�-��t�w�w��s�w�w�y�!�|�3�"�	$r�kind)r�rrrc��|j}tt|�d��|j|j|j
|j��\}}t||d��|j|jk(sJ�|dk(r<|j|||j�|j||||j�yy)N�	_spectrum)rr�r�rr�r�r)r�rrrr�r�r�rr*r�r�r�)rrVrr�r�s     r�
test_spectrumzTestSpectral.test_spectrum�s����#�#��5�G�D�T�F�)�"4�5��f�f��w�w�d�j�j��1E�1E�G�	��c�	��U��/��z�z�U�[�[�(�(�(��;�����t�S�$�+�+�6����T�5�#�t�{�{�;�rr�rr�rrc
��|j}tjd|j|j|j
|j|j|jd�|��\}}}|jd�dk(rtj|�}tj|d��}t||d��t||jd��|jd|jdk(sJ�|jd|jjdk(sJ�|jd�d	vr{tj|j!��dk7rUttj"|d��j!�tj|j!��zdd
��|jd�dvr|j%||||j&�yy)
Nr.rr�rrLr�r�r)r�rrg{�G�z�?)rrr+)r�rrrr�r�r�r�r��getrr�rmrr�r*�max�diffr�r�)rr�rr�r�r�specms       r�
test_specgramzTestSpectral.test_specgram�s���
�#�#���}�}�/�t�v�v�*.�*<�*<�(,���.2�.A�.A�,0�,@�,@�+/�:�:�/�(.�
/���c�1��:�:�f���*��6�6�$�<�D�����1�%����U��/���4�?�?��7��z�z�!�}����A��.�.�.��z�z�!�}���� 5� 5�a� 8�8�8�8��:�:�f��%B�B��v�v�d�h�h�j�!�Q�&���G�G�D�q�)�-�-�/�"�&�&�����2D�D�a�� ��:�:�f��%7�7����U�E�3����<�8rc���tjtd��5tj|j
t
|j
�|j��ddd�y#1swYyxYw)z+Warning should be raised if len(x) <= NFFT.zOnly one segment is calculated)�match)rr!r�N)r4�warns�UserWarningrrrrr�rs r�test_specgram_warn_only1segz(TestSpectral.test_specgram_warn_only1seg�sJ��
�\�\�+�-M�
N�	B��M�M�D�F�F��T�V�V�����A�	B�	B�	B�s�AA%�%A.c	��tj|j|j|j|j
|j|j��\}}tj|j|j|j|j|j
|j|j��\}}t||�t||�y)Nr.r )rrrr�r�r�r�r�r!rr)r�Pxx�freqsxx�Pxy�freqsxys     r�test_psd_csd_equalzTestSpectral.test_psd_csd_equals����x�x�$�&�&�%)�%6�%6�#'�7�7�)-�);�);�'+�':�':�&*�j�j�2���W��x�x�$�&�&�D�F�F�%)�%6�%6�#'�7�7�)-�);�);�'+�':�':�&*�j�j�2���W�	'�s�C�0��7�G�,rc	��tj|j|j|j|j
|j|j��\}}}tj|j|j|j|j
|j|j|��\}}}t||�t||�t||�y)zr
        Test that mlab.specgram without mode and with mode 'default' and 'psd'
        are all the same.
        r.�rr!r�r"rr�rN)	rrrr�r�r�r�r�r)rr�speca�	freqspeca�ta�specb�	freqspecb�tbs        r�$test_specgram_auto_default_psd_equalz1TestSpectral.test_specgram_auto_default_psd_equals��� $�}�}�t�v�v�26�2D�2D�04���6:�6I�6I�48�4H�4H�37�:�:� ?���y�"� $�}�}�t�v�v�26�2D�2D�04���6:�6I�6I�48�4H�4H�37�:�:�26�
 8���y�"�	�5�%�(��9�i�0��2�r�"rz
mode, convc�V�tjtj|�d��Sr�)r�unwrapr�rs r�<lambda>zTestSpectral.<lambda>+s���	�	�"�(�(�1�+�A� >�rc	���tj|j|j|j|j
|j|jd��\}}}tj|j|j|j|j
|j|j|��\}}}t||�t||�t||�|d��y)Nr�rlr�r�)
rrrr�r�r�r�r�rr)	rr�conv�specc�	freqspecc�tcr^�	freqspecm�tms	         r� test_specgram_complex_equivalentz-TestSpectral.test_specgram_complex_equivalent's��� $�}�}�t�v�v�26�2D�2D�04���6:�6I�6I�48�4H�4H�37�:�:�2;�
 =���y�"� $�}�}�t�v�v�26�2D�2D�04���6:�6I�6I�48�4H�4H�37�:�:�26�
 8���y�"�	�9�i�0��2�r�"���U��U��7rc	��tjtj|j��}tj
|j|j|j|j|j|j|��\}}tj
|j|j|j|j|j|j��\}}t||�t||d��y)NrLr.rur�)rrarr^r�rrr�r�r�r�r�rr)rrPrmr�rp�fspbs      r�test_psd_windowarray_equalz'TestSpectral.test_psd_windowarray_equalAs����!�!�"�'�'�$�*@�*@�"A�B���h�h����$(�$5�$5�"&�'�'�(,�(:�(:�&*�&9�&9�%)�Z�Z�&)�
+���t��h�h����$(�$5�$5�"&�'�'�(,�(:�(:�&*�&9�&9�%)�Z�Z�1���t�	�4��&���u�5�1rN)$rSrTrUr4rVr�r�r�rrWrXrrr#r,r/rrrr�rr�r@rHrJrMrUrYr_rdrjrsr�rrr�r+rrr�r��s&��D�V�^�^�'�4�0�R2�1�R2�h'�)�0:�"�[�[���V�i��%7�8�>�9�>��[�[���\�,��
D��
D� 	)�
H�	8��[�[����
�(�(�D�%�%�	&����6�(:�
�)�)�T�(�(�	)�B�I�I�x�+@�	B�C�!8�	C�!8�F(8�T-8�^
)�$�B�[�[����:�<�	<�<�	<��[�[����	�f�i�
 �6�5�/�F�K�3H�
�)�	�v�w�/�&�'�1B�	D�E�=�	E�=�8B�
-� �[�[���V�i��%7�8�#�9�#�,�[�[����
�"�&�&�!�
�b�h�h��
�>�?�
��8�
�8�(2rr�c���d}tjjd�tjj|�}tj|d�}tj
|tjd�dzd��}tj||ddd	�
�\}}ttj|�dd�
�tjtj|��sJ�y)Nr�i!N,rg4@�same)rr�r:r�)r!r�r"gbX9���?g����MbP?r�)rr[r\�randn�roll�convolver^r�cohererrm�isreal)�Nrr�cohsq�fs     r�test_coherer�Us����A��I�I�N�N�8��
�	�	�����A�
����2��A�
���A�r�w�w�r�{�S�(�v�6�A��{�{�1�a�c�a�#�>�H�E�1��B�G�G�E�N�E��6�
�9�9�R�W�W�U�^�$�$�$rc��eZdZd�Zd�Zd�Zy)�TestGaussianKDEc��tjd�}tj|�}gd�}tjj||�|d��y)zRegression test for #1181.r1)�B��\A�?筱�ES�?g�
f���?r�r����decimalN)rrr�GaussianKDE�testing�assert_array_almost_equal)rrP�kde�
y_expecteds    r�test_kde_integer_inputz&TestGaussianKDE.test_kde_integer_inputjsC��
�Y�Y�q�\�����r�"��"�
�
�
�
�,�,�S��W�j�!�,�Lrc��tjgd�t��}tjddd��}gd�}t	j
|d�}||�}tjj||d	�
�y)N�������rr�r1)�dtypei����r,r1r�)g>L\�9�?gp4=�?g�H��꟫?g8(H	MT�?gIJ�CR�?�scott�r�)rr��floatrirr�r�r�)rrP�xsr��kde2�y2s      r�$test_gaussian_kde_covariance_cachingz4TestGaussianKDE.test_gaussian_kde_covariance_cachingrsb��
�X�X�'�u�
5��
�[�[��b�a�
(��"�
�����G�,��
�"�X��
�
�
�,�,�Z��Q�,�Grc�<�tjjd�d}tjj|�}t	j
|�}t	j
|d�}t	j
||j��}tjddd�}|j|�}|j|�}|j�|j�k(sJ�|j|�}	|j�|	j�k(sJ�y)N���2r���	bw_methodr�r��3)
rr[r\r�rr��factorri�evaluate�all)
r�n_basesample�xn�gkde�gkde2�gkde3r��kdepdf�kdepdf2�kdepdf3s
          r�test_kde_bandwidth_methodz)TestGaussianKDE.test_kde_bandwidth_method�s���
�	�	���w����
�Y�Y�_�_�\�
*������#��� � ��W�-��� � ��t�{�{�;��
�[�[��Q��
#�����r�"���.�.��$���z�z�|�w�{�{�}�,�,�,��.�.��$���z�z�|�w�{�{�}�,�,�,rN)rSrTrUr�r�r�r+rrr�r�hs��M�H�-rr�c�N�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�TestGaussianKDECustomc��tjt�5tjg�ddd�y#1swYyxYw)z(Pass no data into the GaussianKDE class.N�r4r5r6rr�rs r�test_no_dataz"TestGaussianKDECustom.test_no_data�s1��
�]�]�:�
&�	!����R� �	!�	!�	!�s	�9�Ac��tjt�5tjdg�ddd�y#1swYyxYw)z9Pass a single dataset element into the GaussianKDE class.�*Nr�rs r�test_single_dataset_elementz1TestGaussianKDECustom.test_single_dataset_element�s3��
�]�]�:�
&�	#����b�T�"�	#�	#�	#�s	�:�Ac���tjgd�gd�gd�g�}tjtjj
�5t
j|d�ddd�y#1swYyxYw)z/Test silverman's for a multi-dimensional array.�rr:r;�r�r1r��r��r�	silvermanN�rr�r4r5�linalg�LinAlgErrorrr��rrPs  r�test_silverman_multidim_datasetz5TestGaussianKDECustom.test_silverman_multidim_dataset�sR��
�X�X�y�)�Y�7�
8��
�]�]�2�9�9�0�0�
1�	.����R��-�	.�	.�	.���A,�,A5c��tjgd��}tj|d�}d}t	|j�|d�y)z4Test silverman's output for a single dimension list.r�r�g/�����?r�N�rr�rr�r�covariance_factor�rrP�mygaussr�s    r� test_silverman_singledim_datasetz6TestGaussianKDECustom.test_silverman_singledim_dataset�s=��
�X�X�'�
(���"�"�2�{�3��(�
��G�5�5�7��Q�Grc���tjgd�gd�gd�g�}tjtjj
�5t
j|d�ddd�y#1swYyxYw)z2Test scott's output for a multi-dimensional array.r�r�r�r�Nr�r�s  r�test_scott_multidim_datasetz1TestGaussianKDECustom.test_scott_multidim_dataset�sR��
�X�X�y�)�Y�7�
8��
�]�]�2�9�9�0�0�
1�	*����R��)�	*�	*�	*�r�c��tjgd��}tj|d�}d}t	|j�|d�y)z/Test scott's output a single-dimensional array.r�r�g��	e1�?r�Nr�r�s    r�test_scott_singledim_datasetz2TestGaussianKDECustom.test_scott_singledim_dataset�s=��
�X�X�'�
(���"�"�2�w�/��(�
��G�5�5�7��Q�Grc��tjt�5tjgd��ddd�y#1swYyxYw)z0Test the scalar's cov factor for an empty array.r1r�Nr�rs r�test_scalar_empty_datasetz/TestGaussianKDECustom.test_scalar_empty_dataset�s3��
�]�]�:�
&�	.����R�1�-�	.�	.�	.�s	�;�Ac��tjjd�d}td�D�cgc]!}tjj	|���#}}tj|d��}|j�dk(sJ�ycc}w)zTest a scalar's cov factor.r�r�r1g�?r�N�rr[r\rr�rr�r�)rr�r(�
multidim_datar�s     r�test_scalar_covariance_datasetz4TestGaussianKDECustom.test_scalar_covariance_dataset�sj��
�	�	���w����@E�a��I�1�������6�I�
�I����}��<���$�$�&�#�-�-�-��Js�&Bc��tjjd�d}td�D�cgc]!}tjj	|���#}}d�}tj||��}|j�dk(sJ�ycc}w)z=Test the callable's cov factor for a multi-dimensional array.r�r�r1c��y)N皙�����?r+rvs r�callable_funzLTestGaussianKDECustom.test_callable_covariance_dataset.<locals>.callable_fun�s��rr�r�Nr�)rr�r(r�r�r�s      r� test_callable_covariance_datasetz6TestGaussianKDECustom.test_callable_covariance_dataset�so��
�	�	���w����@E�a��I�1�������6�I�
�I�	����}��E���$�$�&�$�.�.�.��Js�&Bc���tjjd�d}tjj|�}t	j
|d��}d}t
|j�|d�y)z>Test the callable's cov factor for a single-dimensional array.r�r�r�r�g}�B8�?r�N)rr[r\r�rr�rr�)rr�r�r�r�s     r�test_callable_singledim_datasetz5TestGaussianKDECustom.test_callable_singledim_dataset�sU��
�	�	���w�����	�	����5�
����}��D��(�
��C�1�1�3�Z��Crc��tjjd�d}tjj|�}t	j
t�5tj|d��ddd�y#1swYyxYw)z@Test the error message that should be called when bw is invalid.r�r��invalidr�N)	rr[r\r�r4r5r6rr�)rr��datas   r�test_wrong_bw_methodz*TestGaussianKDECustom.test_wrong_bw_method�sZ��
�	�	���w�����y�y���|�,��
�]�]�:�
&�	8����T�Y�7�	8�	8�	8�s�A;�;BN)rSrTrUr�r�r�r�r�r�r�r�r�r�r�r+rrr�r��s<��!�
#�
.�H�*�H�.�
.�	/�D�8rr�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TestGaussianKDEEvaluatec��tjddd�}tj|�}tjddd�}gd�}|j	|�}tj
j
||d�y)zr
        Test the evaluate method when the dim's of dataset and points have
        different dimensions.
        r;r,r:�)�X�]��?�A�G$�?r�r�g�;�]��?r�N�rrrr�r�r�r�)rrPr�rQr�rs      r�test_evaluate_diff_dimz.TestGaussianKDEEvaluate.test_evaluate_diff_dim�se��
�Y�Y�q�"�a�
 �����r�"��
�Y�Y�q�"�a�
 ��
�
�
�L�L����
�
�
�,�,�Q�
�A�>rc�<�tjjd�d}tjj|�}t	j
|�}dgdgdgg}t
jt�5|j|�ddd�y#1swYyxYw)z�
        Invert the dimensions; i.e., for a dataset of dimension 1 [3, 2, 4],
        the points should have a dimension of 3 [[3], [2], [4]].
        r�r�rr:r;N)
rr[r\r�rr�r4r5r6r�)rr�r�r�rQs     r�test_evaluate_inv_dimz-TestGaussianKDEEvaluate.test_evaluate_inv_dim�sy��
	�	�	���w�����	�	����5�
����}�-���c�A�3���_��
�]�]�:�
&�	��L�L���	�	�	�s�7B�Bc���tjddd�}tjdg�}tj|�}dg}|j|�}tjj||d�y)z-Tests if evaluated against a one by one arrayr;r,r:r�r�N)rrr�rr�r�r�r��rrPrQr�r�rs      r�test_evaluate_dim_and_numz1TestGaussianKDEEvaluate.test_evaluate_dim_and_nums^��
�Y�Y�q�"�a�
 ��
�X�X�q�c�]�����r�"�� �\�
��L�L����
�
�
�,�,�Q�
�A�>rc�6�tjddd�}tjddd�tjddd�g}tj|�}t	j
t�5|j|�ddd�y#1swYyxYw)Nr;r,r:)rrrr�r4r5r6r�)rrPrQr�s    r�test_evaluate_point_dim_not_onez7TestGaussianKDEEvaluate.test_evaluate_point_dim_not_onesu��
�Y�Y�q�"�a�
 ���i�i��2�q�!�2�9�9�Q��A�#6�
7�����r�"��
�]�]�:�
&�	��L�L���	�	�	�s�4B�Bc��tjddd�}tjddd�}tj|�}gd�}|j	|�}tj
j
||d�y)Nr;r,r:r�)r�r�r�r�r�r�s      r�"test_evaluate_equal_dim_and_num_ltz:TestGaussianKDEEvaluate.test_evaluate_equal_dim_and_num_lts_��
�Y�Y�q�"�a�
 ��
�Y�Y�q�!�Q�
�����r�"��9�
��L�L����
�
�
�,�,�Q�
�A�>rN)rSrTrUr�r�r�r�r�r+rrr�r��s��?��?��?rr�c���tjgd��}d}tjtjj|�|z�dz||jzz}tj||jd|zt
jt
jdddd��	\}}tj|dg|dd|ddddd	�z�}t||d
��y)N�rrr:r;rr:r��?r:rrr��r!r�r	r~r"rrOr�r�r�r�r�)rr�r��fft�sizerrr_r}�appendr��u�dt�Su�Pr��Su_1sides      r�test_psd_onesided_normrs���
���&�'�A�	�B�	������
�
�1�
��"�	#�Q�	&�"�q�v�v�+�	6�B��8�8�A�A�F�F�q��t�D�4D�4D� �-�-��$�"&�$�&�D�A�q��y�y�"�Q�%��"�Q�q�'�B�q�r�F�4�R�4�L�"8�9�H��A�x�e�,rc��tjgd��}d}tjtjj|�|z�dz||jzz}tj||jdzd|zt
jt
jdddd��	\}}tj|dg|dd	|d	dddd
�z�}ttj|�tj|��y)z&Test the case len(x) < NFFT for psd().r�r�r:rrNr�r�r�r�)rr�r�r�r�rrr_r}rrr&rs      r�test_psd_oversamplingr	(s���
���&�'�A�	�B�	������
�
�1�
��"�	#�Q�	&�"�q�v�v�+�	6�B��8�8�A�A�F�F�1�H��2��d�6F�6F� �-�-��$�"&�$�&�D�A�q��y�y�"�Q�%��"�Q�q�'�B�q�r�F�4�R�4�L�"8�9�H�����q�	�2�6�6�(�#3�4r)�
numpy.testingrrrr�numpyrr4�
matplotlibrrr
rcrerWrXr�r�r�r�r�rr	r+rr�<module>r
s���O�O��
�!�L"�L"�^I�V<�V<�r������u�d�m�$�i�0���A�������"E�&��(������L�	�T�2�r�2�r�"�
��d�B��B��#�	�T�2�r�2�r�*�	�T�4��R��&�	�T�2�r�4��&�	�T�4��T�4�(�	�T�3��B��$�	�S�"�b�"�c�"�	�S�"�b�"�d�#�	�S�#�r�3��$�	�T�2�r�2�r�"��	��9��:t2�t2�;�(�A�Bt2�p
%�&*-�*-�ZN8�N8�b3?�3?�l	-�
5r

Youez - 2016 - github.com/yon3zu
LinuXploit