Sindbad~EG File Manager
�
'Μg`V����ddlZddlZddlZddlZddlZddlZddlZddlmZddlm Z ddl
mZdZdZ
dZGd�d ej�Zed
k(rej$�yy)�N)�mock)�support)� os_helpera�NAME=Fedora
VERSION="32 (Thirty Two)"
ID=fedora
VERSION_ID=32
VERSION_CODENAME=""
PLATFORM_ID="platform:f32"
PRETTY_NAME="Fedora 32 (Thirty Two)"
ANSI_COLOR="0;34"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:32"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f32/system-administrators-guide/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=32
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=32
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
a~NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
a
# test data
ID_LIKE="egg spam viking"
EMPTY=
# comments and empty lines are ignored
SINGLE_QUOTE='single'
EMPTY_SINGLE=''
DOUBLE_QUOTE="double"
EMPTY_DOUBLE=""
QUOTES="double\'s"
SPECIALS="\$\`\\\'\""
# invalid lines
=invalid
=
INVALID
IN-VALID=value
IN VALID=value
c�p�eZdZd�Zd�Zejej�d���Z d�Z
d�Zd�Zd�Z
d�Zd �Zd
�Zd�Zd�Zd
�Zd�Zd�Zej.ej2j5d�d�d��Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"ejFej2dvd�ej�d���Z$ej.ej2j5d�d�d��Z%d�Z&ej.ejNd�d ��Z(ejFejNd!�d"��Z)d#�Z*ej.ej2d$k(d%�d&��Z+ejFejXd'�d(��Z-ej\d)��Z/d*�Z0d+�Z1d,�Z2y-).�PlatformTestc��tjj�tjj�dt_dt_y�N)�platform�_platform_cache�clear�_sys_version_cache�_uname_cache�_os_release_cache��selfs �//usr/local/lib/python3.12/test/test_platform.py�clear_cacheszPlatformTest.clear_cachesHs6��� � �&�&�(��#�#�)�)�+� $���%)��"�c�,�tj�}yr )r
�architecture�r�ress r�test_architecturezPlatformTest.test_architectureNs���#�#�%�rc��tj�5}d}|j|j|�|j|��ddd�y#1swYyxYw)N)z-cz/import platform; print(platform.architecture()))r�
PythonSymlink�assertEqual� call_real� call_link)r�py�cmds r�test_architecture_via_symlinkz*PlatformTest.test_architecture_via_symlinkQsI���
"�
"�
$��I�C����\�R�\�\�3�/�����s�1C�D�%�
$�
$�s�/A
�
Ac�L�dD]}dD]}tj||�}��!y)N)FT)r
)r�aliased�tersers r�
test_platformzPlatformTest.test_platformXs(��$�G�&���'�'���7��'�%rc�,�tj�}yr )r
�systemrs r�test_systemzPlatformTest.test_system]s���o�o��rc�,�tj�}yr )r
�noders r� test_nodezPlatformTest.test_node`s
���m�m�o�rc�,�tj�}yr )r
�releasers r�test_releasezPlatformTest.test_releasec������ �rc�,�tj�}yr )r
�versionrs r�test_versionzPlatformTest.test_versionfr/rc�,�tj�}yr )r
�machiners r�test_machinezPlatformTest.test_machineir/rc�,�tj�}yr )r
� processorrs r�test_processorzPlatformTest.test_processorls��� � �"�rc��tj|_tj|_tj
|_yr )�sysr1�save_version�_git�save_gitr
�
save_platformrs r�setUpzPlatformTest.setUpos%���K�K�������
� �\�\��rc��|jt_|jt_|j
t_yr )r;r:r1r=r<r>r
rs r�tearDownzPlatformTest.tearDownts'���'�'����=�=����)�)��rc
���dD];\}}tj|�\}}}}}}} |j||dd||| f|��=dd|jfddddd d
d|jfdi}
|
j �D�]0\\}}}
}|t
_|�tt
d
�rt
`n|t
_|
�|
t
_|jtj�|d�|jtj�|d�|jtj�|d�|jtj�|d�|jtj�|d�|jtj�|d���3|jt �5tjd�ddd�y#1swYyxYw)N) )zC2.4.3 (#1, Jun 21 2006, 13:54:21)
[GCC 3.3.4 (pre 3.3.5 20040809)])�CPython�2.4.3�rE�1zJun 21 2006 13:54:21zGCC 3.3.4 (pre 3.3.5 20040809))z"2.4.3 (truncation, date, t)
[GCC])rCrDrErE�
truncationzdate t�GCC)z!2.4.3 (truncation, date, )
[GCC]�rCrDrErErG�daterH)z 2.4.3 (truncation, date,)
[GCC]rI)z2.4.3 (truncation, date)
[GCC]rI)z2.4.3 (truncation, d)
[GCC])rCrDrErErG�drH)z2.4.3 (truncation, )
[GCC]�rCrDrErErGrErH)z2.4.3 (truncation,)
[GCC]rL)z2.4.3 (truncation)
[GCC]rLrEzX2.6.1 (r261:67515, Dec 6 2008, 15:26:00)
[GCC 4.0.1 (Apple Computer, Inc. build 5370)])rC� tags/r261�67515)rCz2.6.1rMrN)z
r261:67515zDec 6 2008 15:26:00z+GCC 4.0.1 (Apple Computer, Inc. build 5370))zC3.10.8 (tags/v3.10.8:aaaf517424, Feb 14 2023, 16:28:12) [GCC 9.4.0]N�linux)rCz3.10.8rErE)ztags/v3.10.8:aaaf517424zFeb 14 2023 16:28:12z GCC 9.4.0)z^2.5 (trunk:6107, Mar 26 2009, 13:02:18)
[Java HotSpot(TM) Client VM ("Apple Computer, Inc.")])�Jython�trunk�6107�java1.5.0_16)rPz2.5.0rQrR)z
trunk:6107�Mar 26 2009rSz12.5.2 (63378, Mar 26 2009, 18:03:29)
[PyPy 1.0.0])�PyPyrQ�63378)rUz2.5.2rQrV)rVrTrEr<r�����z2. 4.3 (truncation)
[GCC])r
�_sys_versionrr>�itemsr:r1�hasattrr<�python_implementation�python_version�
python_branch�python_revision�python_build�python_compiler�assertRaises�
ValueError)r�input�output�namer1�branch�revision�buildno� builddate�compiler�sys_versions�version_tag�scm�sys_platform�infos r�test_sys_versionzPlatformTest.test_sys_versionys����M�E�6�.�*�*�5�1�
L�T�7�F�H�g�y�(�����w��B���H�E�v�
O�1�<i�
.��0B�0B�
D�@�
�R�
9�@�B�
'��);�);�
=��/��6�"�"�$�
3�,�[�#�|�d�%�C�K��{��3��'�������'�+������X�;�;�=�t�A�w�G����X�4�4�6��Q��@����X�3�3�5�t�A�w�?����X�5�5�7��a��A����X�2�2�4�d�1�g�>����X�5�5�7��a��A�%� �
�
�z�
*��!�!�"?�@�+�
*�
*�s�>G�G&c��tjtj�tj�tj��}yr )r
�system_aliasr'r-r1rs r�test_system_aliaszPlatformTest.test_system_alias�s4���#�#��O�O����������
�rc�~�tj�}|jt|��|j |d|j
�|j |d|j
�|j |d|j�|j |d|j�|j |d|j�|j |d|j�|j |d|j�|j |d|j�|j |d |j�|j |d
|j�|j |d|j�|j |d|j�|j t|�d
�y)Nri����rW���rX���rY���rZ���r[����)r
�uname�
assertTrue�anyrr'r*r-r1r4r7�lenrs r�
test_unamezPlatformTest.test_uname�sR���n�n�������C��!�����Q�����,�����R��#�*�*�-�����Q�����*�����R��#�(�(�+�����Q�����-�����R��#�+�+�.�����Q�����-�����R��#�+�+�.�����Q�����-�����R��#�+�+�.�����Q�����/�����R��#�-�-�0�����S��1�%r�winzwindows only testc��d�}tjtd|�5|j�ddd�y#1swYyxYw)Nc��t��r ��OSError��as r�raises_oserrorzAPlatformTest.test_uname_win32_without_wmi.<locals>.raises_oserror�� ���)�Or�
_wmi_query)r� swap_attrr
r�)rr�s r�test_uname_win32_without_wmiz)PlatformTest.test_uname_win32_without_wmi�s2�� ��
�
�x��~�
F��O�O��G�
F�
F�s �9�Ac���tj�}|j|j|j|j
|j|jf}|jt|�|�yr )
r
rr'r*r-r1r4r7r�tuple�rr�expecteds r�test_uname_cast_to_tuplez%PlatformTest.test_uname_cast_to_tuple�sQ���n�n����J�J����#�+�+�s�{�{�C�K�K��M�M�
��
����s��X�.rc��tj�}|jddddd��}|j|jd�|j|j
d�|j|jd�|j|jd�|j|jd�|j|j|j�y)Nr'r*r-r1r4)r'r*r-r1r4)
r
r�_replacerr'r*r-r1r4r7)rr�news r�test_uname_replacezPlatformTest.test_uname_replace�s����n�n����l�l��&�)��y��2��
������X�.�������6�*�������i�0�������i�0�������i�0��������
�
�6rc��tj�}|jtj|�|�|jtj|�|�yr )r
rr�copy�deepcopy)rrs r�test_uname_copyzPlatformTest.test_uname_copy�s@����� ��������5�)�5�1�������u�-�u�5rc�6�tj�}ttjdz�D]Z}|j|��5tj||�}tj|�}|j||�ddd��\y#1swY�gxYw)NrW)�protocol) r
r�range�pickle�HIGHEST_PROTOCOL�subTest�dumps�loadsr)r�orig�proto�pickled�restoreds r�test_uname_picklezPlatformTest.test_uname_pickless���~�~����6�2�2�Q�6�7�E����u��-� �,�,�t�U�3��!�<�<��0��� � ��4�0�.�-�8�-�-�s�>B�B c��tj�}t|�}|j|dd|�|j|dd|dd�y)Nr[)r
rr�rr�s r�test_uname_sliceszPlatformTest.test_uname_slicessG���n�n�����:������Q���*�����R�a��(�2�A�,�/rc�`�|jdtj�j�y)Nr7)�assertInr
r�_fieldsrs r�test_uname_fieldszPlatformTest.test_uname_fieldss���
�
�k�8�>�>�#3�#;�#;�<rc��tj�j�}|jt |�d�|jd|�y)Nr~r7)r
r�_asdictrr�r�rs r�test_uname_asdictzPlatformTest.test_uname_asdicts9���n�n��&�&�(������S��1�%��
�
�k�3�'r)�win32�OpenVMSzuname -p not usedc�� tjddgd��j�}tj|�}|jtj�j|�y#t
tjf$rd}Y�LwxYw)Nrz-pT��textrE)
�
subprocess�check_output�stripr
�_unknown_as_blankr��CalledProcessErrorrrr7)r�proc_res�expects r�test_uname_processorz!PlatformTest.test_uname_processors{�� � �!�.�.����T�J�P�P�R�H��/�/��9�F�
������)�3�3�V�<����6�6�7� ��F� �s�<A.�.B�Bc��d�}tjtd|�5tj�5} d|vr|d=d|d<dt_tj�\}}}}}}|j|d�d|d<dt_tj�\}}}}}}|j|d�dt_ ddd�ddd�y#dt_wxYw#1swY�"xYw#1swYyxYw)Nc��t��r r�r�s rr�zBPlatformTest.test_uname_win32_ARCHITEW6432.<locals>.raises_oserror-r�rr��PROCESSOR_ARCHITEW6432�foo�PROCESSOR_ARCHITECTURE�bar)rr�r
r�EnvironmentVarGuardrrr) rr��environr'r*r-r1r4r7s r�test_uname_win32_ARCHITEW6432z*PlatformTest.test_uname_win32_ARCHITEW6432$s��� ��
�
�x��~�
F��.�.�0�G�1�/�7�:�#�$<�=�8=�G�4�5�,0�H�)�IQ���IY�F�F�D�'�7�G�Y��$�$�W�e�4�8=�G�4�5�,0�H�)�IQ���IY�F�F�D�'�7�G�Y��$�$�W�e�4�,0�H�)�1�G�
F��-1�H�)��1�0��G�
F�s:�C0�C$�BC�7C$�C0�
C!�!C$�$C- �)C0�0C9c��tj�}tjdk(r|jt |��yy)N�java)r
�java_verr:r��allrs r�
test_java_verzPlatformTest.test_java_ver@s1�����!���<�<�6�!��O�O�C��H�%�"rz%This test only makes sense on Windowsc���d\}}}}tj||||�}|jt|�d�|\}}}} |r|j ||�|r3|jd|�|j
d�D]
}
t|
��|r"|j|jd�|��| r=tj�dkDr|jd| �y|jd| �yy) N)r��b�crKrZ�.�SP)�msgrW�Multiprocessor�Uniprocessor)r
� win32_verrr��assertNotEqualr��split�intr��
startswith�os� cpu_count)r�release1�version1�csd1�ptype1rr-r1�csd�ptype�vs r�test_win32_verzPlatformTest.test_win32_verEs���+=�(��(�D�&�� � ��8�T�6�B������S��1�%�'*�$���#�u��
�����2��
�M�M�#�w�'��]�]�3�'���A��(���O�O�C�N�N�4�0�c�O�:���|�|�~��!��
�
�.��6��
�
�n�e�4� rz)This test only makes sense on non Windowsc�z�d\}}}}tj||||�}|j|||||ft��y)N)r��1.0r�rK)�seq_type)r
r��assertSequenceEqualr�)rr-r1r�r�rs r�test_win32_ver_on_non_windowsz*PlatformTest.test_win32_ver_on_non_windows^sD��';�$���#�u�� � ��'�3��>��� � ��w���e�&D�u� �Urc���tj�}tj�jdk(�r8t j
dgd��}|j
�D]6}|jd�s�|j�j�d}n|jd|���|djd �}jd �}t|�t|�z
}|dkDr|jd
g|z�|ddgk7r|j||�|j|d
d�tjdk(r|j!|dd�y|j|dd�yy)N�Darwin�sw_versTr�zProductVersion:r}z failed to parse sw_vers output: rr��0�10�16rW�rErErE�littlerX)�i386�x86_64�arm64�PowerPC)r
�mac_verrr'r�r��
splitlinesr�r�r��failr��extendrr:� byteorderr�)rrrh�line�real_ver�result_list�expect_list�len_diffs r�test_mac_verzPlatformTest.test_mac_verdsI����� ���>�>��"�"�h�.� �,�,�i�[�t�D�F��)�)�+���?�?�#4�5�#�z�z�|�1�1�3�B�7�H��,�
� � �<�V�J�G�H��a�&�,�,�s�+�K�"�.�.��-�K��;�'�#�k�*:�:�H��!�|��"�"�C�5�8�#3�4��t�T�l�*�� � ��k�:�
���S��V�\�2��}�}��(��
�
�c�!�f�&A�B�� � ��Q���3�=/r�darwinz
OSX only testc��tj�}|dk(r*tj�}tjd�ytj|d��y)Nr)�exitcode)r��forkr
r��_exitr�wait_process)r�pidrss r�test_mac_ver_with_forkz#PlatformTest.test_mac_ver_with_fork�sA���g�g�i���!�8��#�#�%�D��H�H�Q�K�
� � ��q�1rzDoes not apply to Emscriptenc��tjjtj�rDtjjtjdz�rtjdz}nftjdk(rCtjjtj�sddl}|jd�}ntj}t
j|�tj}|jtj|�tjddd��5|j!t
j�d�d D]d\}}t#|d
�5}|j%d|z�|j'�ddd�|j!t
j|��|��f ddd�d
}t#|d
�5}|j%d|dz
z�|j%d�ddd�|j!t
j||��d�y#1swY��xYw#1swY�|xYw#1swY�IxYw)Nz.exer�rz
os.confstrTzmock 1.0)�create�return_value)rr�))s__libc_init)�libcrE)s GLIBC_2.9)�glibcz2.9)s
libc.so.1.2.5)rz1.2.5)slibc_pthread.so.1.2.5)rz
1.2.5_pthread)r)rErE�wbs
[xxx%sxxx])�
executablei@�x�
s"GLIBC_1.23.4GLIBC_1.9GLIBC_1.21)� chunksize)r
z1.23.4)r��path�isdirr:r�existsr
�_winapi�GetModuleFileName�libc_verr�TESTFN�
addCleanup�unlinkr�patchr�open�write�flush) rrr�filename�datar��fpr�fs r�
test_libc_verzPlatformTest.test_libc_ver�s����7�7�=�=����(�
�7�7�>�>�#�.�.��/�0����&�0�J�
�\�\�W�
$�R�W�W�^�^�C�N�N�-K�
� �2�2�1�5�J����J����*�%��#�#����� �(�(�(�3�
�Z�Z��T�
�
K����X�.�.�0�/�B�#���h��(�D�)�R��H�H�]�T�1�2��H�H�J�*�
� � ��!2�!2�h�!G�!)�+�#�L�,� �
�(�D�
!�Q�
�G�G�D�)�b�.�)�*�
�G�G�<�=�"�
����*�*�8�y�I�,� .�*�)��L�
K��."�
!�s0�59H?�.%H3�0H?�)I�3H<�8H?�?I�Ic�T�ddlm}|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d ��|j|d�|d
��|j|d �|d��|j|d
�|d��|j|d�|d
��|j|d�|d
��|j|d
�|d��|j|d
�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d�|d��|j|d �|d!��|j|d"�|d#��|j|d"�|d ��|j|d!�|d#��|j|d �|d#��|j|d$�|d%��|j|d&�|d'��|j|d(�|d)��y)*Nr)�_comparable_versionz1.2.3z1.2.10z1.2.3.4z1_2-3+4z1.2spamz1.2devz1.2alphaz1.2az1.2betaz1.2bz1.2cz1.2RCz1.2rcz1.2.0z1.2plz1.2pz1.5.1z1.5.2b2z3.10a�161z8.02z3.4jz
1996.07.12z3.1.1.6z3.2.pl0�2g6�11gz0.9z2.2z1.2z1.2.1z1.1z1.2.2z0.4z0.4.0z1.13++z5.5.kwz0.960923z 2.2beta29)r
r&r�
assertLess)r�Vs r�test__comparable_versionz%PlatformTest.test__comparable_version�s���5�����7��Q�w�Z�0�����'�
�A�h�K�0�����9��q��|�4�����)��a��k�2�����(��Q�z�]�3�����(��Q�v�Y�/�����*�
�q��|�4�����&� �1�V�9�-�����)��a��i�0�����&� �1�V�9�-�����&� �1�W�:�.�����&� �1�W�:�.�����'�
�A�g�J�/�����'�
�A�g�J�/�����'�
�A�g�J�/�����'�
�A�f�I�.�����'�
�A�i�L�1�����'�
�A�e�H�-�����6��A�f�I�.�����&� �1�\�?�3�����)��a� �l�3�����%��!�E�(�+�����%��!�E�(�+�����%��!�G�*�-�����%��!�G�*�-�����%��!�E�(�+�����'�
�A�g�J�/�����%��!�G�*�-�����%��!�G�*�-�����(��Q�x�[�1�����*�
�q��~�6rc �p�|j|j�d}d}tjj t
d|��5tjj t
d|��5dD]�\}}}tjj t
d|��5|j�|j
tj
d� �|�|j
tj
�|�ddd��� ddd�ddd�y#1swY��xYw#1swY�xYw#1swYyxYw)
N)r��hostnamez17.7.0z_Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64r�r�)�64bitrEr)rr))r�z
Darwin-17.7.0zDarwin-17.7.0-x86_64-i386-64bit))z10.13.6r�r�z
macOS-10.13.6zmacOS-10.13.6-x86_64-i386-64bitr�rW)r$)rrrr�objectr
r)rr�archr��expected_terser�s r�
test_macoszPlatformTest.test_macos�s�������)�)�*�#��
��
�Z�Z�
�
�x��u�
�
E�
�Z�Z�
�
�x��d�
�
K� 6�1�����Z�Z�&�&�x��4;�'�=��%�%�'��$�$�X�%6�%6�Q�%?��P��$�$�X�%6�%6�%8�(�C� =�=� 6�L�F�
E�=�=��L�
K��F�
E�s=�'D,�-0D �AD �8
D �D,�D
�D � D) �%D,�,D5c���|j|j�|j�td�tjD��rbtj
�}|j
d|�|j
d|�d|d<|jdtj
��y|jt�5tj
�ddd�y#1swYyxYw)Nc3�ZK�|]#}tjj|����%y�wr )r�r�isfile)�.0�fns r� <genexpr>z;PlatformTest.test_freedesktop_os_release.<locals>.<genexpr>
s ����L�,K�b�r�w�w�~�~�b�!�,K�s�)+�NAME�ID�test�CPYTHON_TEST)
rrr�r
�_os_release_candidates�freedesktop_os_releaser��assertNotInrer�)rrss r�test_freedesktop_os_releasez(PlatformTest.test_freedesktop_os_release s�������)�)�*������L�H�,K�,K�L�L��2�2�4�D��M�M�&�$�'��M�M�$��%�#)�D�� ������/�/�1�
�
�"�"�7�+��/�/�1�,�+�+�s�C!�!C*c��tjtj��}|j |dd�|j |dd�|jd|�|j |dd�tjtj��}|j |dd�|j |dd �|j |dd
�|j |dd�tjtj��}dd
d
ddddddddd�}|j ||�|j t|d�d�y)Nr:�Fedorar;�fedora�ID_LIKE�VERSION_CODENAMErE�Ubuntu�ubuntu�debian�focalrO�Linuxzegg spam viking�double�singlezdouble'sz$`\'")r;r:�PRETTY_NAMErE�EMPTY�DOUBLE_QUOTE�EMPTY_DOUBLE�SINGLE_QUOTE�EMPTY_SINGLE�QUOTES�SPECIALSrUr[) r
�_parse_os_release�FEDORA_OS_RELEASEr�rr@�UBUNTU_OS_RELEASE�TEST_OS_RELEASEr�)rrsr�s r�test_parse_os_releasez"PlatformTest.test_parse_os_releasesC���)�)�*;�*F�*F�*H�I������f��x�0�����d��X�.�����D�)�����0�1�2�6��)�)�*;�*F�*F�*H�I������f��x�0�����d��X�.�����i��(�3�����0�1�7�;��)�)�/�*D�*D�*F�G����"�(��$��$�� �!�
��
����x�(�����T�*�-�.��2rN)3�__name__�
__module__�__qualname__rrr�skip_unless_symlinkr�requires_subprocessr!r%r(r+r.r2r5r8r?rArtrwr��unittest�
skipUnlessr:r
r�r�r�r�r�r�r�r�r��skipIfr�r�r��
MS_WINDOWSr�r�rr�
is_emscriptenr$�cpython_onlyr,r3rArZ�rrrrGs(��*�&��"�"� �W� � �"�E�#�#�E�
8�
��!�!�!�#�*�
*�
KA�Z
�&�"�X������0�0��7�9L�M��N��/�7�6�
1�0�=�(�
�X�_�_�S�\�\�%9�9�;N�O� �W� � �"�
=�#�P�
=��X������0�0��7�9L�M�1�N�1�6&�
�X����+�+�-T�U�5�V�5�0�X�_�_�W�'�'�)T�U�V�V�V�
!4�H�X�������1�?�C�
2�D�
2��X�_�_�W�*�*�,J�K�..�L�..�`
���!7��!7�HD�62�$3rr�__main__)r�r�r�r
r�r:r`rr<r�test.supportrrWrXrY�TestCaserr[�mainrfrr�<module>rksi�� ��
���
����"���,
����*p3�8�$�$�p3�f�z���H�M�M�O�r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists