add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

��Wc�}c
s.�	ddlZddlZddlmZmZgd�ZdhZddddd	d
ddd
�ddddddddd
�ddddddddd
�ddddd	d
ddd
�ddddddddd
�d�Zejdkreded<neded<eded<d�Z	e	��duZ
e
r!eddddd d!d"d#�d$d$d%d%d&d'd"d#�d(d(d)d)d&d'd"d#�d*�zZeed+��sejej
ksd,ejvrd-Zd#Zej���dZejd�d.ejd/��Zejd�ejd/��Zej�ej��Zej�ej
��Zej�ej��Zej�ej��ZdadZ d0Z!d1Z"d2Z#d3�Z$ej%r)ej�&e$ej%����Z'ne$ej(����Z'e)ed4d��Z*e*re*Z'ejdkr,e$e'���+e$e�d5�����reZ'd6ejvre$ejd6��Z'dZd7�Z,e,��Z-e-r#d8D]Z.ee.Z.e.d9e.d:<d;e.d9<d<e.d=<� [.d>�Z/d?�Z0da1d@�Z2dA�Z3dB�Z4dC�Z5dD�Z6d[dF�Z7dG�Z8dH�Z9dI�Z:dJ�Z;dK�Z<dZdL�Z=dM�Z>dN�Z?dO�Z@e6��ddEfdP�ZAe6��ddEfdQ�ZBdR�ZCdS�ZDdT�ZEdU�ZFdV�ZGdW�ZHdX�ZIeJdYkreI��dSdS)\�N)�pardir�realpath)�get_config_h_filename�get_config_var�get_config_vars�get_makefile_filename�get_path�get_path_names�	get_paths�get_platform�get_python_version�get_scheme_names�parse_config_hZMACOSX_DEPLOYMENT_TARGETz6{installed_base}/{platlibdir}/python{py_version_short}z0{platbase}/{platlibdir}/python{py_version_short}z1{base}/lib/python{py_version_short}/site-packagesz>{platbase}/{platlibdir}/python{py_version_short}/site-packagesz;{installed_base}/include/python{py_version_short}{abiflags}z?{installed_platbase}/include/python{py_version_short}{abiflags}z
{base}/binz{base})�stdlib�
platstdlib�purelib�platlib�include�platinclude�scripts�dataz{installed_base}/lib/pythonz{base}/lib/pythonz{installed_base}/include/pythonz{installed_base}/Libz
{base}/Libz{base}/Lib/site-packagesz{installed_base}/Includez{base}/Scripts)�posix_prefix�
posix_home�nt�
posix_venv�nt_venvrr�venvrrZ
rpm_prefixc	s��tj�dd��}|r|StjdvrdSd�}tjdkr-tj�d��pd}||d��StjdkrItjr=|dd	tjtjd
�dtjd����S|dd
��S)NZPYTHONUSERBASE>ZwasiZvxworksZ
emscriptencsb�tj�tjj|���S�N)�os�path�
expanduser�join)�args� �"/usr/lib64/python3.11/sysconfig.py�joinuserz_getuserbase.<locals>.joinuser{s!���w�!�!�"�'�,��"5�6�6�6�rZAPPDATAz~ZPython�darwinZLibraryr�.�z.local)r�environ�get�sys�platform�name�
_framework�version_info)Zenv_baser$�base�   r#�_getuserbaser2rs����z�~�~�.��5�5�H������|�8�8���t�7�7�7�
�w�$��(��z�~�~�i�(�(�/�C���x��h�'�'�'�
�|�x��H�C�N�H��x��Y����+�A�.�F�F��1A�!�1D�F�F�H�H�	H��8�C��"�"�"r%z({userbase}/Python{py_version_nodot_plat}z6{userbase}/Python{py_version_nodot_plat}/site-packagesz0{userbase}/Python{py_version_nodot_plat}/Includez0{userbase}/Python{py_version_nodot_plat}/Scriptsz
{userbase})rrrrrrrz0{userbase}/{platlibdir}/python{py_version_short}z5{userbase}/lib/python{py_version_short}/site-packagesz+{userbase}/include/python{py_version_short}z{userbase}/binz{userbase}/lib/pythonz#{userbase}/lib/python/site-packages)�nt_user�
posix_user�osx_framework_userZreal_prefix�RPM_BUILD_ROOTz/localr'r(z"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)z\$\(([A-Za-z][A-Za-z0-9_]*)\)z\${([A-Za-z][A-Za-z0-9_]*)}csF�	t|��S#t$r|cYSwxYwr)r�OSError)rr"r#�_safe_realpathr8�s7�����~�~��������������s�� � Z_homez\PCbuildZ_PYTHON_PROJECT_BASEcs��|�!ddl}|�dtd���dD]H}tj�tj�td|����rdS�IdS)	Nrz.check_home argument is deprecated and ignored.�)Z
stacklevel)ZSetupzSetup.localZModulesTF)�warningsZwarnZDeprecationWarningrrZisfiler �
_PROJECT_BASE)Z
check_homer:Zfnr1r#�is_python_buildr<�s~���8������
�
�F�(�Q�	�	8�	8�	8�&����
�7�>�>�"�'�,�,�}�i��D�D�E�E�	��4�4�	��5r%)rrrZheadersz{srcdir}/Includez{projectbase}/.rcs��	|jdi|��S#t$rA}	|jditj��cYd}~S#t$rt	|���d�wxYwd}~wwxYw)N�)ZformatZKeyErrorrr)�AttributeError)�sZ
local_varsZvarr1r#�_subst_varsr@s���5��q�x�%�%�*�%�%�%���5�5�5�	5��1�8�)�)�b�j�)�)�)�)�)�)�)�)���	5�	5�	5� �C��*�*��4�	5��������5���s#��
A�6�A�A�A�Acsv�|���}|���D]\}}||vr�
|||<�dSr)�keys�items)Ztarget_dictZ
other_dictZtarget_keys�key�value�     r#�_extend_dictrFsY���"�"�$�$�K� �&�&�(�(�!�!�
��U��+��	�� ��C���!�!r%cs|�t�/tt����adtd<dtd<tS)Nz
/usr/localr0�platbase)�_CONFIG_VARS_LOCALZdictrr=r%r#�_config_vars_localrIs<���6�!�/�"3�"3�4�4��%1��6�"�)5��:�&��r%cs��i}|�i}|dkr6tdkr+dtjvrt|t	����nt|t����tjdkr|ddiz}t|���D]b\}}tjdvrtj	�
|��}tj	�t||����||<�c|S)Nrz/usrr6r�
platlibdirZlib)�posixr)
�_PREFIXrr)rFrIrr-�_INSTALL_SCHEMESrBrr�normpathr@)�scheme�varsZresrCrDrEr#�_expand_varsrQ%s��
�C�����	�.� �.��6��.���
�*�.�
��1�3�3�4�4�4�4��T�?�,�,�-�-�-�	�w�$��,��|�U�+�+��&�v�.�4�4�6�6�>�>�
��U�
�7�o�%�	.��G�&�&�u�-�-�E��7�#�#�K��t�$<�$<�=�=��C����Jr%cs~�tjdkrdddd�Stjdkrtjrdddd�Sdddd�S)	Nrrr3)�prefixZhomeZuserr&rr5r4)rr-r+r,r.r=r%r#�_get_preferred_schemesrSFst��	�w�$��
�� ��
�
�	
�
�|�x��
�C�N�
�$� �(�
�
�	
�!�����r%cs��|dkrtjtjkrdSt��|}|tvrt|�d|�d����|S)NrRrz
 returned z., which is not a valid scheme on this platform)r+rR�base_prefixrSrM�
ValueError)rCrO�  r#�get_preferred_schemerWZsx��
�h���3�:���8���v�
#�
%�
%�c�
*�F�
�%�%�
���
 �
 ��
 �
 �
 �
�
�	
��Mr%cs �td��S)NrR)rWr=r%r#�get_default_schemerXfs����)�)�)r%TcsR�	ddl}|�i}i}i}t|tj��d���5}|���}ddd��n#1swxYwY|D]�}|�d��s|���dkr�0|�t|��}	|	r�|	�	dd��\}
}|���}|�
dd��}d	|vr|||
<��	|
tvrt�t|��}|||
<��#t$r|�
dd	��||
<Y��wxYw��t|�����}
d
}t!|
��dk�rLt#|
��D�]'}||}|�t&|��}|�t(|��}|r1|r/|���|���kr|n|}	n|r|n|}	|	���|	�	d��}
d}|
|vrt-||
��}nz|
|vrd}ns|
t.jvrt.j|
}nR|
|vrG|�d
��r|dd�|vrd}n*d
|
z|vrd}n t-|d
|
z��}ndx||
<}|r�||	���d�}|d|	����|z|z}d	|vr|||<��s	|tvrt�t|��}|||<n'#t$r|���||<YnwxYw|
�|��|�d
��r|dd�|vr|dd�}||vr|||<��|r|||<|
�|����)t!|
��dk��L|���D]1\}}t9|t,��r|���||<�2|�|��|S)NrZsurrogateescape)�encodingZerrorsz#�r(r9z$$z$)ZCFLAGSZLDFLAGSZCPPFLAGSTFZPY_�)�re�openr+ZgetfilesystemencodingZ	readlines�
startswithZstrip�match�_variable_rx�group�replace�_ALWAYS_STRrU�intZlistrAZlen�tuple�search�_findvar1_rx�_findvar2_rxZstartZstrrr)�endZremoverBZ
isinstance�update)ZfilenamerPZkeep_unresolvedr\ZdoneZnotdone�fZlines�line�m�n�vZtmpvZ	variablesZrenamed_variablesr-rDZm1Zm2ZfoundZitemZafterZks                       r#�_parse_makefilerpjs����I�I�I�����
�D��G�	
�h��!:�!<�!<�&�
(�
(�
(��+,����
�
��������������������� � ���?�?�3���	�4�:�:�<�<�2�#5�	���H�H�\�4�(�(���	 ��7�7�1�a�=�=�D�A�q����	�	�A��9�9�T�2�&�&�D��d�{�
 ����
�
�	 ��K�'�)�(�(��A���A�
 �D��G�G��	"�3�3�3��i�i��c�2�2�D��G�G�G�3����	 �*�W�\�\�^�^�$�$�I�:��

�i�.�.�1�
�A'��)�$�$�@	'�@	'�D��D�M�E����<��/�/�B����<��/�/�B��
%�b�
%��(�(�*�*�r�x�x�z�z�1�9�B�B�r����$�B�B�"���8
'��G�G�A�J�J������9�(��t�A�w�<�<�D�D��'�\�(�!�E�E��"�*�_�(��:�a�=�D�D��+�+�(�����.�.�4��Q�R�R��$5�5�4�!������g�-�4� %��� #�4���	�?�3�3���&(�'�D��G�d��3�!�!�%�%�'�'�(�(�O�E�!�*�1�7�7�9�9�*�-��4�u�<�E��e�|�3�(-���
�
�/�#�{�2�1�&0� 0�$'��J�J�E�*/�D��J�J�� *�7�7�7�).�����D��J�J�J�7����"�(�(��.�.�.��?�?�5�1�1�3� ����H�(9�9�3�$(����8�D�#�4�/�3�-2��T�
��
#�'�!&�D��J�� � ��&�&�&�&�C�i�.�.�1�
�A'�H�
�
��� � ���1��a����	 ��g�g�i�i�D��G��	�K�K������Ks5�A�A�A�:D�#E�E�L(�(!M�Mcsv�	tr%tj�td��Sttd��rdt�tj��}nd}ttj	d��r|dtj	j
��z
}tj�td��|d��S)NZMakefile�abiflagszconfig-Zconfig�
_multiarch�-r)�
_PYTHON_BUILDrrr r;�hasattrr+�_PY_VERSION_SHORTrq�implementationrrr)Zconfig_dir_namer"r#rr�s���*��7��w�|�|�M�:�6�6�6��s�J���#�E�$5�E�s�|�E�E���"���s�!�<�0�0�?��>�s�1�<�>�>�>��
�7�<�<���*�*�O�Z�H�H�Hr%c	s��ttjdd��}tj�ddtj�dtj�d|����S)NrrrZZ_PYTHON_SYSCONFIGDATA_NAMEZ_sysconfigdata_�_)�getattrr+rwrr)r*rqr,)Z	multiarchr"r#�_get_sysconfigdata_namerz�sP����*�L�"�=�=�I�
�:�>�>�$�C�#�,�C�C���C�C�	�C�C���r%cs��	ddl}i}t��}	t||��nC#t$r6}d|��}t	|d��r
|�d|j�d�}t|���d}~wwxYwt
��}	t|d���5}t||��ddd��n#1swxYwYnC#t$r6}d|��}t	|d��r
|�d|j�d�}t|���d}~wwxYwtr|d|d	<t��}d
tjvr/ddl
}|�|��}	||	_|	tj|<dt#���dt$��}
t	td
��r|
dz
}
t'j|
d���t&j�|
|dz��}t|dd���5}|�d��|�d��|�||���ddd��n#1swxYwYtddd���5}|�|
��ddd��dS#1swxYwYdS)Nrz,invalid Python installation: unable to open �strerrorz (z)zutf-8)rYZLDSHAREDZ	BLDSHAREDr&z
build/lib.rsZgettotalrefcountz-pydebugT)Zexist_okz.pyZwZutf8zB# system configuration generated and used by the sysconfig module
zbuild_time_vars = )Zstreamzpybuilddir.txt)�pprintrrpr7rur{rr]r
rtrzr+r,�typesZ
ModuleType�build_time_varsZmodulesr
rvrZmakedirsrr Zwrite)r|rPZmakefileZeZmsgZconfig_hrkr-r}ZmoduleZ
pybuilddirZdestfiles            r#�_generate_posix_varsr�s���E��M�M�M�
�D�$�&�&�H����$�'�'�'�'������G�X�G�G���1�j�!�!�	*��)�)�A�J�)�)�)�C��c�l�l������	����%�&�&�H��
�(�W�
-�
-�
-�	$���1�d�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�������G�X�G�G���1�j�!�!�	*��)�)�A�J�)�)�)�C��c�l�l������	�����-� ��,��[��#�$�$�D��3�<��#������!�!�$�'�'��!%���"���D��B�l�n�n�B�B�/@�B�B�J��s�&�'�'�!��j� �
��K�
�T�*�*�*�*��w�|�|�J��u��5�5�H�	
�h��f�	-�	-�	-�&��	���*�	+�	+�	+�	���$�%�%�%��
�
�d�1�
�%�%�%�	&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�
���f�	5�	5�	5���	���
������������������������su�(�
A(�1A#�#A(�:B4�B(�B4�(B,�,B4�/B,�0B4�4
C4�>1C/�/C4�AH � H$�'H$�=I � I$�'I$cs��	t��}t|t��t��dgd��}|j}|�|��dS)Nr~r)rzZ
__import__ZglobalsZlocalsr~rj)rPr-Z_tempr~�    r#�_init_posixr�>sQ��A�"�$�$�D��t�W�Y�Y����3D�2E�q�I�I�E��+�O��K�K�� � � � � r%csP�	ddl}td��|d<td��|d<td��|d<|���d|d<d	|d
<t|d<tj�ttj	����|d<d
|d<dS)NrrZLIBDESTrZ
BINLIBDESTrZ	INCLUDEPYZ
EXT_SUFFIXz.exeZEXEZVERSIONZBINDIRrZZTZPATH)
�_imprZextension_suffixes�_PY_VERSION_SHORT_NO_DOTrr�dirnamer8r+�
executable)rPr�rVr#�_init_non_posixr�Fs���5��K�K�K��x�(�(�D��O�!�,�/�/�D��� ��+�+�D����0�0�2�2�1�5�D����D��K�.�D��O��W�_�_�^�C�N�%C�%C�D�D�D��N��D��N�N�Nr%cs��	|�i}ddl}|�d��}|�d��}	|���}|sn�|�|��}|rP|�dd��\}}	|t
vrt�t|��}n#t$rYnwxYw|||<n/|�|��}|rd||�d��<��|S)Nrz"#define ([A-Z][A-Za-z0-9_]+) (.*)
z&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/
Tr(r9)r\�compileZreadliner_rarcrUrd)	ZfprPr\Z	define_rxZundef_rxrlrmrnros	         r#r
r
Xs�������
�I�I�I��
�
�@�A�A�I��z�z�C�D�D�H�%��{�{�}�}���	���O�O�D�!�!���	%��7�7�1�a�=�=�D�A�q�
���#�%�$�$���F�F�����
�
�
���
�����D��G�G����t�$�$�A��
%�#$��Q�W�W�Q�Z�Z� �#%�$�Ks�=B�
B*�)B*cs��	tr>tjdkr&tj�t
d��}nt
}nt
d��}tj�|d��S)NrZPCrz
pyconfig-64.h)rtrr-rr r;r)Zinc_dirr"r#rrzs\��(��*�
�7�d�?�	$��g�l�l�=�$�7�7�G�G�#�G�G��=�)�)��
�7�<�<���1�1�1r%csF�	ttt����Sr)re�sortedrMr=r%r#rr�s��6���(�)�)�*�*�*r%cs�	tSr)�_SCHEME_KEYSr=r%r#rr�s��4��r%csB�	|rt||��St|Sr)rQrM)rOrP�expandr1r#r	r	�s,���
�(��F�D�)�)�)���'�'r%cs2�	t|||��|Sr)r	)r-rOrPr�r�r#rr�s ����V�T�6�*�*�4�0�0r%cs��	t���iattd<ttd<ttd<ttd<t
td<ttd<ttd<ttd<ttd	<ttd
<tj
td<	tjtd<n#t$r
d
td<YnwxYw	tj
�dd
��td<n#t$r
d
td<YnwxYwtjdkr(t#t��tjtd<tjdkrt't��t(rt+��td<t�dt��}tjdkr~t.rLtj�t5����}tj�||��}n+tj�t5����}t9|��td<tjdkrddl}|�t��|r6g}|D]/}|� t�|�����0|StS)NrR�exec_prefixZ
py_versionZpy_version_shortZpy_version_nodotZinstalled_baser0Zinstalled_platbaserGZprojectbaserJrqrZr'Zpy_version_nodot_platrZVPATHrKZuserbase�srcdirr&r)!�_CONFIG_VARSrL�_EXEC_PREFIX�_PY_VERSIONrvr��_BASE_PREFIX�_BASE_EXEC_PREFIXr;r+rJrqr>Zwinverrbrr-r�Z_vpathr��_HAS_USER_BASEr2r*rtrr�rr r8r,�_osx_supportZcustomize_config_varsZappend)r!r�r0r�Zvalsr-�      r#rr�s�����:=���")��X��&2��]�#�%0��\�"�+<��'�(�+C��'�(�)5��%�&�&��V��->��)�*�#/��Z� �&3��]�#�%(�^��\�"�	*�'*�|�L��$�$���	*�	*�	*�')�L��$�$�$�	*����	7�47�J�4F�4F�s�B�4O�4O�L�0�1�1���	7�	7�	7�46�L�0�1�1�1�	7�����7�d�?�	/��L�)�)�)�$'�J�L��!�
�7�g��	&���%�%�%��	6�(4�~�~�L��$��!�!�(�M�:�:��
�7�g��	B��
B��w���'<�'>�'>�?�?������d�F�3�3�������)>�)@�)@�A�A��!/��!7�!7��X���<�8�#�	=������.�.�|�<�<�<������	0�	0�D��K�K��(�(��.�.�/�/�/�/����s$�7C�C#�"C#�'(D�D'�&D'csF�	t���|��Sr)rr*)r-r"r#rr�s#���
��� � ��&�&�&r%cs��	tjdkrrdtj���vrdSdtj���vrdSdtj���vrdStjStjdkst
td	��stjSd
tjvrtjd
Stj��\}}}}}|����	dd��}|�	d
d��}|�	dd��}|dd�dkr|�d|��S|dd�dkrQ|ddkrDd}t|d��dz
�d|dd���}ddd�}|d|tj��z
}n�|dd�dkrddlm
}|��S|dd�dkrGd}ddl}|�d ��}|�|��}	|	r|	���}n:|dd�d!kr,ddl}
|
�t)��|||��\}}}|�d|�d|��S)"NrZamd64z	win-amd64z(arm)z	win-arm32z(arm64)z	win-arm64rK�unameZ_PYTHON_HOST_PLATFORMz/rZz rxrsiZlinuxZsunosrZ5Zsolarisr[r'r9Z32bitZ64bit)i���l����Zaix)�aix_platformiZcygwinz[\d.]+r&)rr-r+�versionZlowerr,rur)r�rbrdZmaxsizeZ_aix_supportr�r\r�r_rar�Zget_platform_osxr)ZosnameZhostZreleaser�ZmachineZbitnessr�r\Zrel_rermr�s           r#r
r
�s����(
�w�$����c�k�'�'�)�)�)�	��;��c�k�'�'�)�)�)�	��;����)�)�+�+�+�	��;��|��	�w�'�����W�!5�!5���|���"�*�,�3��z�1�2�2�/1�h�j�j�+�F�D�'�7�G��\�\�^�^�
#�
#�C��
,�
,�F��o�o�c�3�'�'�G��o�o�c�3�'�'�G�
�b�q�b�z�W��F��%�%�G�%�%�%�	�����w�	�F��1�:���	2��F��W�Q�Z���1�,�<�<�w�q�r�r�{�<�<�G�#*�w�G�G�G��1�7�3�;�/�1�1�1�G��	�����u�	�F�-�-�-�-�-�-��|�~�~��	�����x�	�F����	�	�	����I�&�&���L�L��!�!���	 ��g�g�i�i�G��	�����x�	�F�����#/�#@�#@�,;�,=�,=�,2�G�W�$F�$F� �����*�*�w�*�*��*�*�*r%cs�tSr)rvr=r%r#rrNs���r%cs2�	ddl}	|�t|��p|�t|��}|rV|���\}}|d|�|�|�d����z||d�z}nn��|S)NrTr()r\rfrgrhZspanr*ra)r?rPr\rmZbegrir�r#�expand_makefile_varsr�Rs�����I�I�I���I�I�l�A�&�&�D�"�)�)�L�!�*D�*D���	������J�S�#��!�C�%��4�8�8�A�G�G�A�J�J�/�/�/�!�C�D�D�'�9�A�A��
�
�Hr%cs��tt|�������D]6\}\}}|dkrt|�d���td|�d|�d����7dS)Nrz: z	z = "�")Z	enumerater�rB�print)ZtitlerZindexrCrDrEr#�_print_dictr�ls���(���
�
���)=�)=�>�>�&�&���|��U��A�:�	 ��U�,�,�,����
�$�3�$�$�E�$�$�$�%�%�%�%�&�&r%cs��	dtjvrt��dStdt	���d���tdt���d���tdt
���d���t��tdt����t��tdt����dS)Nz--generate-posix-varszPlatform: "r�zPython version: "zCurrent installation scheme: "ZPathsZ	Variables)
r+Zargvrr�r
rrXr�r	rr=r%r#�_mainr�ss���4��#�(�*��������	�
)����
)�
)�
)�*�*�*�	�
5�0�2�2�
5�
5�
5�6�6�6�	�
B�+=�+?�+?�
B�
B�
B�C�C�C�	�G�G�G������%�%�%�	�G�G�G���_�.�.�/�/�/�/�/r%Z__main__r)NT)Krr+Zos.pathrrZ__all__rcrMr-r2r�rurRrTr)Z_prefix_additionr�r�Zsplitr�r/rvr�rrNrLr�r�r�Zbase_exec_prefixr�r�Z
_USER_BASEr`rgrhr8r�r�r;ZgetcwdryZ	_sys_homer^r<rtrOr@rFrHrIrQrSrWrXrprrzrr�r�r
rrrr	rrrr
rr�r�r�Z__name__r=r%r#�<module>r�sy��3�	�	�	�	�
�
�
�
�$�$�$�$�$�$�$�$����� ���K�H�F�S�I�M���
�
�0�)�&�&�4�8���	
�	
�)�"�-�-�-�1�#��	
�	
�8K�H�F�S�I�M���
�
�)�"�-�-�-�1�#��	
�	
�}H�H��V�7�d�?�>�/�	�:��V���/��=��V��
"2�.�!A����
#�#�#�,�,�.�.��,�����A�D�O�O�I�I� ���I�L�N�N�D�'� ���.�1�<�<�D�'� ���)����L
���m�	$�	$� ��J�#�/�!� ��B�J�&� � ��#���k���!�!�!�$���'��*�B�B�S�-=�a�-@�B�B��!�.�q�1�H�3�3C�A�3F�H�H��
�'�
�
�3�:�
&�
&���w�����0�0���w�����0�0���G�$�$�S�%9�:�:����
�
�5��/��-������>�0��G�O�O�N�N�3�>�$B�$B�C�C�M�M�#�N�9�2�9�;�;�/�/�M�

�G�C��$�'�'�	����M��7�d�?�%��~�m�$�$�/�/��N�l�5�5�5�6�6�8�8�%�$�
��R�Z�'�G�"�N�2�:�.D�#E�F�F�M����� ��!�!�
��
�0�2�2��
"�&�)��"�9�-��y��.��y�� 1��}����5�5�5�!�!�!���������B���(	�	�	�*�*�*�}�}�}�}�@
I�
I�
I����=�=�=�~!�!�!����$����D	2�	2�	2�+�+�+�
���
(�'�)�)��T�	(�	(�	(�	(�-�,�.�.�T�$�1�1�1�1�M�M�M�`'�'�'�N+�N+�N+�b���
�
�
�4&�&�&�0�0�0��z���	�E�G�G�G�G�G��r%