ó
    �œ‘hÊ/  ã                   óÞ   • S r SSKrSSKrSSKrSSKrSSKJrJrJ	r	J
r
JrJrJr  S rS rS rS rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS r  " S S5      r!S r"S r#g)zƒTests of interaction of matrix with other parts of numpy.

Note that tests with MaskedArray and linalg are done in separate files.
é    N)Úassert_Úassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regexc                  óx  • [         R                  " SS/SS//5      n [        [        U / SQS S 24   [         R                  5      5        [         R                  " [         R
                  " S5      R                  SS5      5      n[        US S2[         R                  " S	5      4   US S2S	4   R                  5        g )
Né   é   é   é   )r   r   r   é2   é   é
   éÿÿÿÿ)
ÚnpÚmatrixr   Ú
isinstanceÚasmatrixÚarangeÚreshaper   ÚarrayÚT)ÚmÚxs     ÚjC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/matrixlib/tests/test_interaction.pyÚtest_fancy_indexingr      s�   € ô
 	�	Š	�A�q�6˜A˜q˜6Ð"Ó#€AäŒJ�qš¢A˜‘¬¯	©	Ó2Ô3ô 	�Š”B—I’I˜b“M×)Ñ)¨!¨RÓ0Ó1€AÜ��2�A�2”r—x’x “|Ð#Ñ$ a¨¨¨¨B¨¡i§k¡kÕ2ó    c                  óÜ   • SS/n SS/n[         R                  " X /5      n[         R                  R                  R	                  X U5      n[        [        U[         R                  5      5        g )Nr   r   r   r   )r   r   Ú
polynomialÚ	polyutilsÚ	mapdomainr   r   )Údom1Údom2r   Úress       r   Útest_polynomial_mapdomainr'   %   sU   € ð ˆqˆ6€DØˆqˆ6€DÜ
�	Š	�4�,Ó€AÜ
�-‰-×
!Ñ
!×
+Ñ
+¨A°TÓ
:€CÜŒJ�sœBŸI™IÓ&Õ'r   c                  óð   • [         R                  " / SQ/5      n [         R                  " U S S9n[         R                  " / SQ/5      n[        X5        [	        [        U5      [         R                  L 5        g )N©r   r   r   ©Úaxis©r   r   r   )r   r   Úsortr   r   Útype©ÚaÚactualÚexpecteds      r   Útest_sort_matrix_noner3   /   sO   € ä
�	Š	’9�+Ó€AÜ�WŠW�Q˜TÑ"€FÜ�yŠyš)˜Ó%€HÜ�Ô"ÜŒD�‹NœbŸi™iÐ'Õ(r   c                  óò   • [         R                  " / SQ/5      n [         R                  " U SS S9n[         R                  " / SQ/5      n[        X5        [	        [        U5      [         R                  L 5        g )Nr)   r   r*   r,   )r   r   Ú	partitionr   r   r.   r/   s      r   Útest_partition_matrix_noner6   8   sS   € ô 	�	Š	’9�+Ó€AÜ�\Š\˜!˜Q TÑ*€FÜ�yŠyš)˜Ó%€HÜ�Ô"ÜŒD�‹NœbŸi™iÐ'Õ(r   c                  óö   • [         R                  " SS/[        S9n [         R                  " SS//[        S9n[        [         R                  " U S5      U5        [        [         R                  " SU 5      U5        g ©Nr   r   ©Údtyper   é   )r   r   Úobjectr   Údot©ÚarrÚdesireds     r   Ú%test_dot_scalar_and_matrix_of_objectsrA   B   sV   € ô �)Š)�Q˜�F¤&Ñ
)€CÜ�iŠi˜!˜Q˜˜¬Ñ/€GÜ”—’˜˜Q“ Ô)Ü”—’˜˜3“ Õ)r   c                  ó‚  • [         R                  S   [         R                  S   -   S-    H‘  n [         R                  " SU S9S   n[         R                  " SS/SS	//U S9n[         R                  " SS
/SS//U S9n[	        [         R
                  " X!5      U5        [	        [         R
                  " X5      U5        M“     g )NÚ
AllIntegerÚAllFloatÚ?r   r9   © r   r   r   r;   é	   é   )r   Ú	typecodesr   r   r   Úinner)ÚdtÚscar?   r@   s       r   Útest_inner_scalar_and_matrixrM   K   sž   € ä�l‰l˜<Ñ(¬2¯<©<¸
Ñ+CÑCÀcÔIˆÜ�hŠh�q Ñ# BÑ'ˆÜ�iŠi˜!˜Q˜ ! Q Ð(°Ñ3ˆÜ—)’)˜a ˜V a¨ WÐ-°RÑ8ˆÜ”R—X’X˜cÓ'¨Ô1Ü”R—X’X˜cÓ'¨Ö1ò Jr   c                  óö   • [         R                  " SS/[        S9n [         R                  " SS//[        S9n[        [         R                  " U S5      U5        [        [         R                  " SU 5      U5        g r8   )r   r   r<   r   rJ   r>   s     r   Ú'test_inner_scalar_and_matrix_of_objectsrO   U   sX   € ô �)Š)�Q˜�F¤&Ñ
)€CÜ�iŠi˜!˜Q˜˜¬Ñ/€GÜ”—’˜#˜qÓ! 7Ô+Ü”—’˜!˜SÓ! 7Õ+r   c            
      óÖ  • [         R                  " SS/SS//5      n [         R                  " S5      R                  SS5      R                  n[         R
                  " XS // S/S/SS//5      n[        [        UR                  S   5      [         R                  L 5        [        [        UR                  S   5      [         R                  L5        [        UR                  S   R                  S5        [         R                  " S5      R                  SSS5      n[        [        [         R
                  XS // S/S/SS//5        [         R
                  " XS // S/S// S	Q/5      n[        [        UR                  S   5      [         R                  L 5        [        [        UR                  S   5      [         R                  L5        [        UR                  S   R                  S
5        g )Nr   r   r   r   ÚreadonlyÚ	writeonlyÚallocate)r   r   )rR   rS   Ú
no_subtype)r   r   r   )r   r   r   r   r   Únditerr   r.   ÚoperandsÚndarrayr   Úshaper   ÚRuntimeError)r0   ÚbÚis      r   Ú!test_iter_allocate_output_subtyper\   ^   s†  € ô 	�	Š	�A�q�6˜A˜q˜6Ð"Ó#€AÜ
�	Š	�!‹×Ñ˜Q Ó"×$Ñ$€AÜ
�	Š	�1˜�, Ø�< * °¸ZÐ/HÐIó	K€AäŒD�—‘˜A‘Ó¤2§9¡9Ð,Ô-ÜŒD�—‘˜A‘Ó¤r§z¡zÐ1Ô2Ü�—‘˜A‘×$Ñ$ fÔ-ô 	�	Š	�!‹×Ñ˜Q  1Ó%€AÜ”,¤§	¡	¨A°$¨<¸Ø�< * °¸ZÐ/HÐIôKô 	�	Š	�1˜�, Ø�< * Ú:ð<ó	=€Aô ŒD�—‘˜A‘Ó¤2§:¡:Ð-Ô.ÜŒD�—‘˜A‘Ó¤r§y¡yÐ0Ô1Ü�—‘˜A‘×$Ñ$ iÕ0r   c                  óV  • [         R                  " SS/SS//5      n [         R                  [         R                  [         R                  4 HZ  nU" U 5      n[        [        U5      [         R                  L 5        U" U SS9n[        [        U5      [         R                  L5        M\     g )Nr   r   r   r   F)Úsubok)r   r   Ú
zeros_likeÚ	ones_likeÚ
empty_liker   r.   )r0   Úlike_functionrZ   Úcs       r   rb   rb   y   s{   € ä
�	Š	�A�q�6˜A˜q˜6Ð"Ó#€AÜŸ™¬¯©´b·m±mÓCˆÙ˜!ÓˆÜ”�Q“œ2Ÿ9™9Ð$Ô%á˜! 5Ñ)ˆÜ”�Q“œrŸy™yÐ(Ö)ò Dr   c                  óˆ  • [         R                  " / SQ/ SQ/SS9n U R                  SSSS9n[        XL 5        U R                  SSS	9n[	        X5        [	        [        U5      [         R                  5        U R                  SSSS9n[	        X5        [        XL5        [        [        U5      [         R                  L5        g )
Nr,   )r   r   r   Úf4r9   TF)r^   ÚcopyÚi4)rf   )r   r   Úastyper   r   r.   ©r0   rZ   s     r   Útest_array_astyperj   „   s¡   € ô 	�	Š	’9šiÐ(°Ñ5€AØ	�‰�˜T¨ˆÐ.€AÜˆAˆF„Oð 	
�‰�˜EˆÐ"€AÜ�ÔÜ”�a“œ"Ÿ)™)Ô$ð 	
�‰�˜U¨ˆÐ/€AÜ�ÔÜ��ÔÜŒD�‹Gœ2Ÿ9™9Ð$Õ%r   c                  ó~   • [         R                  " SS/SS//5      n [        [        S[         R                  X /5        g )Nr   r   r   r   zshape too large to be a matrix)r   r   r	   Ú
ValueErrorÚstack)r   s    r   Ú
test_stackrn   —   s7   € ô 	�	Š	�A�q�6˜A˜q˜6Ð"Ó#€AÜœ
Ð$DÜŸ™ 1 &õ*r   c                  óö   • [         R                  " SS/[        S9n [         R                  " SS//[        S9n[        [         R                  " U S5      U5        [        [         R                  " SU 5      U5        g r8   )r   r   r<   r   Úmultiplyr>   s     r   Útest_object_scalar_multiplyrq   Ÿ   sX   € ô �)Š)�Q˜�F¤&Ñ
)€CÜ�iŠi˜!˜Q˜˜¬Ñ/€GÜ”—’˜S !Ó$ gÔ.Ü”—’˜Q Ó$ gÕ.r   c            	      ó`  • [         R                  " [         R                  " S5      5      n [         R                  [         R                  4 H®  nU" U SS9n[        [        U[         R                  5      5        [        UR                  S:H  5        U" U SS9n[        [        U[         R                  5      5        [        UR                  S:H  5        U" U 5      n[        [         R                  " U5      5        M°     [         R                  U S'   [         R                  [         R                  4 GHD  n[        R                  " SS9 n[        R                  " S	5        U" U SS9n[        [        U[         R                  5      5        [        [         R                  " [         R                  " U5      5      (       + 5        [        [        U5      S:H  5        S S S 5        [        R                  " SS9 n[        R                  " S	5        U" U SS9n[        [        U[         R                  5      5        [        [         R                  " US
   5      =(       aC    [         R                  " US   5      (       + =(       a    [         R                  " US   5      (       + 5        [        [        U5      S:H  S5        [        [!        US   R"                  [$        5      5        S S S 5        [        R                  " SS9 n[        R                  " S	5        U" U 5      n[        [         R                  " U5      5        [        U[         R                  :g  5        [        [        U5      S:H  5        S S S 5        GMG     g ! , (       d  f       GN©= f! , (       d  f       N³= f! , (       d  f       GM}  = f)Nr   r   r*   ©r   r   r   ©r   r   T)ÚrecordÚalways)r   r   )r   r   )r   r   zno warning raised)r   r   ÚeyeÚnanminÚnanmaxr   r   rX   ÚisscalarÚnanÚwarningsÚcatch_warningsÚsimplefilterÚanyÚisnanÚlenÚ
issubclassÚcategoryÚRuntimeWarning)ÚmatÚfr&   Úws       r   Útest_nanfunctions_matricesrˆ   ¨   sj  € ô �)Š)”B—F’F˜1“IÓ
€CÜ�i‰iœŸ™Ó#ˆÙ�˜!‰nˆÜ”
˜3¤§	¡	Ó*Ô+Ü�—	‘	˜VÑ#Ô$Ù�˜!‰nˆÜ”
˜3¤§	¡	Ó*Ô+Ü�—	‘	˜VÑ#Ô$Ù�‹fˆÜ”—’˜CÓ Ö!ñ $ô �V‰V€Cˆ�FÜ�i‰iœŸ™Ô#ˆÜ×$Ò$¨DÒ1°QÜ×!Ò! (Ô+Ù�C˜a‘.ˆCÜ”J˜s¤B§I¡IÓ.Ô/ÜœŸšœrŸxšx¨›}Ó-Ô-Ô.Ü”C˜“F˜a‘KÔ ÷ 2ô ×$Ò$¨DÒ1°QÜ×!Ò! (Ô+Ù�C˜a‘.ˆCÜ”J˜s¤B§I¡IÓ.Ô/Ü”B—H’H˜S ™YÓ'÷ 0´·²¸¸T¹Ó0CÔ,C÷ 0ÜŸHšH S¨¡YÓ/Ô/ô1ä”C˜“F˜a‘KÐ!4Ô5Ü”J˜q ™tŸ}™}¬nÓ=Ô>÷ 2ô ×$Ò$¨DÒ1°QÜ×!Ò! (Ô+Ù�C“&ˆCÜ”B—K’K Ó$Ô%Ü�Cœ2Ÿ6™6‘MÔ"Ü”C˜“F˜a‘KÔ ÷ 2Ò1ò# $ß1Ö1ú÷ 2Õ1ú÷ 2×1ús'   ÅBM:Ç4C+NË;A1NÍ:
N		Î
N	Î
N-	c                  ón  • [         R                  " [         R                  " S5      5      n [         R                  [         R                  [         R
                  [         R                  [         R                  [         R                  [         R                  4 H®  nU" U SS9n[        [        U[         R                  5      5        [        UR                  S:H  5        U" U SS9n[        [        U[         R                  5      5        [        UR                  S:H  5        U" U 5      n[        [         R                  " U5      5        M°     [         R                  [         R                  4 HÊ  nU" U SS9n[        [        U[         R                  5      5        [        UR                  S:H  5        U" U SS9n[        [        U[         R                  5      5        [        UR                  S:H  5        U" U 5      n[        [        U[         R                  5      5        [        UR                  S:H  5        MÌ     g )	Nr   r   r*   rs   r   rt   )r   r   )r   rG   )r   r   rw   Ú	nanargminÚ	nanargmaxÚnansumÚnanprodÚnanmeanÚnanvarÚnanstdr   r   rX   rz   Ú	nancumsumÚ
nancumprod)r…   r†   r&   s      r   Ú"test_nanfunctions_matrices_generalr“   Ñ   sn  € ô �)Š)”B—F’F˜1“IÓ
€CÜ�l‰lœBŸL™L¬"¯)©)´R·Z±ZÜ�j‰jœ"Ÿ)™)¤R§Y¡Yó0ˆá�˜!‰nˆÜ”
˜3¤§	¡	Ó*Ô+Ü�—	‘	˜VÑ#Ô$Ù�˜!‰nˆÜ”
˜3¤§	¡	Ó*Ô+Ü�—	‘	˜VÑ#Ô$Ù�‹fˆÜ”—’˜CÓ Ö!ñ0ô �\‰\œ2Ÿ=™=Ó(ˆÙ�˜!‰nˆÜ”
˜3¤§	¡	Ó*Ô+Ü�—	‘	˜VÑ#Ô$Ù�˜!‰nˆÜ”
˜3¤§	¡	Ó*Ô+Ü�—	‘	˜VÑ#Ô$Ù�‹fˆÜ”
˜3¤§	¡	Ó*Ô+Ü�—	‘	˜ZÑ'Ö(ò )r   c                  óÌ  • [         R                  " [         R                  R                  SS5      5      n [	        U R                  S5      [         R                  " U S5      5        [         R                  " SS/SS//5      n[         R                  " SS/SS//5      n[         R                  " USUS9n[        [        U5      [         R                  5        [        USS	//5        g )
Nr   r   r   r   r   r   )r+   Úweightsg      @g«ªªªªª
@)	r   r   ÚrandomÚrandr   ÚmeanÚaverager   r.   )Úyr0   r‡   Úrs       r   Útest_average_matrixrœ   í   s§   € ä
�	Š	”"—)‘)—.‘.  AÓ&Ó'€AÜ�q—v‘v˜a“y¤"§*¢*¨Q°Ó"2Ô3ä
�	Š	�A�q�6˜A˜q˜6Ð"Ó#€AÜ
�	Š	�A�q�6˜A˜q˜6Ð"Ó#€Aä
�
Š
�1˜1 aÑ(€AÜ”�a“œ"Ÿ)™)Ô$Ü��c˜8�_Ð%Õ&r   c                  ó:  • [         R                  " SS5      n [         R                  " SS5      n[         R                  " U 5      n[         R                  " U5      n[         R                  " X5      n[         R                  " X#R                  5      n[        XT5        g )Nr   r   éûÿÿÿ)r   Úlinspacer   r=   r   r   )r   rš   ÚmxÚmyr›   Úmrs         r   Útest_dot_matrixr£   ú   se   € ô 	�Š�A�qÓ€AÜ
�Š�B˜Ó€AÜ	�Š�1‹€BÜ	�Š�1‹€BÜ
�Šˆq‹€AÜ	�Š�—D‘DÓ	€BÜ˜Õr   c                  ó&  • [        [        R                  " [        R                  " S5      5      [        R                  5      (       d   e[        [        R                  " [        R                  " S5      SS9[        R                  5      (       d   eg )Nr   )Úto_begin)r   r   Úediff1dr   rF   r   r   Útest_ediff1d_matrixr§     sT   € ä”b—j’j¤§¢¨1£Ó.´·	±	×:Ñ:Ð:Ð:Ü”b—j’j¤§¢¨1£¸Ñ:¼B¿I¹I×FÑFÐFÑFr   c                  ó’  • S n [         R                  " SS/SS//5      n[         R                  " SS/SS//5      n[         R                  " U SU5      n[        [	        U[         R                  5      5        [        X25        [         R                  " U SU5      n[        [	        U[         R                  5      5        [        X25        g )Nc                 ó   • U S-  $ ©Nr   rF   )Úrows    r   ÚdoubleÚ,test_apply_along_axis_matrix.<locals>.double  s   € Ø�Q‰wˆr   r   r   r   r   r   r;   )r   r   Úapply_along_axisr   r   r   )r¬   r   r2   Úresults       r   Útest_apply_along_axis_matrixr°     s�   € òô 	�	Š	�A�q�6˜A˜q˜6Ð"Ó#€AÜ�yŠy˜1˜a˜& 1 a &Ð)Ó*€Hä× Ò  ¨¨AÓ.€FÜŒJ�vœrŸy™yÓ)Ô*Ü�vÔ(ä× Ò  ¨¨AÓ.€FÜŒJ�vœrŸy™yÓ)Ô*Ü�vÕ(r   c                  ó  • [         R                  " SS/5      n [         R                  " U 5      n[        [	        [         R
                  " X 5      5      [         R                  5        [        [	        [         R
                  " X5      5      [         R                  5        [        [	        [         R
                  " X5      5      [         R                  5        [        [	        [         R
                  " X5      5      [         R                  5        g rª   )r   Úonesr   r   r.   ÚkronrW   r   )r0   r   s     r   Útest_kron_matrixr´     sŒ   € ä
�Š��A�‹€AÜ
�Š�A‹€AÜ””b—g’g˜a“mÓ$¤b§j¡jÔ1Ü””b—g’g˜a“mÓ$¤b§i¡iÔ0Ü””b—g’g˜a“mÓ$¤b§i¡iÔ0Ü””b—g’g˜a“mÓ$¤b§i¡iÕ0r   c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestConcatenatorMatrixi)  c                 ó¼  ^^• SS/mSS/m[         R                  STT4   n[         R                  STT4   n[        [        U5      [         R                  5        [        [        U5      [         R                  5        [        [         R
                  " U5      / SQ/5        [        [         R
                  " U5      S/S/S/S//5        [        [        UU4S j5        g )	Nr   r   r   r   r›   rc   )r   r   r   r   c                  ó0   >• [         R                  ST T4   $ )NÚrc)r   Úr_ri   s   €€r   Ú<lambda>Ú4TestConcatenatorMatrix.test_matrix.<locals>.<lambda>8  s   ø€ ¬"¯%©%°°a¸°
Ò*;r   )r   rº   r   r.   r   r   r   rl   )ÚselfÚab_rÚab_cr0   rZ   s      @@r   Útest_matrixÚ"TestConcatenatorMatrix.test_matrix+  s£   ù€ Ø�ˆFˆØ�ˆFˆä�u‰u�S˜!˜Q�YÑˆÜ�u‰u�S˜!˜Q�YÑˆä”T˜$“Z¤§¡Ô+Ü”T˜$“Z¤§¡Ô+ä”R—X’X˜d“^¢l ^Ô4Ü”R—X’X˜d“^ q c¨A¨3°°°a°SÐ%9Ô:ä”jÕ";Õ<r   c                 óÀ   • [         R                  SSS/S4   n[        [        U5      [         R                  5        [        [         R
                  " U5      / SQ/5        g )Nr›   r   r   r   )r   r   r   )r   rº   r   r.   r   r   )r½   r›   s     r   Útest_matrix_scalarÚ)TestConcatenatorMatrix.test_matrix_scalar:  s@   € Ü�E‰E�#˜˜1�v˜q�.Ñ!ˆÜ”T˜!“WœbŸi™iÔ(Ü”R—X’X˜a“[¢9 +Õ.r   c                 óh  • [         R                  " S/5      n[         R                  " S/5      n[         R                  " S/5      n[         R                  " S/5      n[         R                  S   n[         R                  " X/X4//5      n[	        XV5        [	        [        U5      [        U5      5        g )Nr   r   r   r   z
a, b; c, d)r   r   rº   Úbmatr   r.   )r½   r0   rZ   rc   Údr1   r2   s          r   Útest_matrix_builderÚ*TestConcatenatorMatrix.test_matrix_builder?  s}   € Ü�HŠH�a�S‹MˆÜ�HŠH�a�S‹MˆÜ�HŠH�a�S‹MˆÜ�HŠH�a�S‹MˆÜ—‘�|Ñ$ˆÜ—7’7˜Q˜F Q FÐ+Ó,ˆä�VÔ&Ü”T˜&“\¤4¨£>Õ2r   rF   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rÀ   rÃ   rÈ   Ú__static_attributes__rF   r   r   r¶   r¶   )  s   † ò=ò/õ
	3r   r¶   c                  óH  • [         R                  " [        5       n [        [        R
                  " SS/5      [        R                  " SS/5      5        S S S 5        [        W R                  5      n[        R                  " S5      n[        X5        g ! , (       d  f       NE= f)Nr   r   zw
    Arrays are not equal

    (shapes (2,), (1, 2) mismatch)
     ACTUAL: array([1, 2])
     DESIRED: matrix([[1, 2]]))ÚpytestÚraisesÚAssertionErrorr   r   r   r   ÚstrÚvalueÚtextwrapÚdedent)Úexc_infoÚmsgÚmsg_references      r   Ú%test_array_equal_error_message_matrixrÚ   K  sm   € ä	�Š”~Ô	&¨(Ü”R—X’X˜q !˜fÓ%¤r§y¢y°!°Q°Ó'8Ô9÷ 
'ä
ˆh�n‰nÓ
€CÜ—O’Oð %"ó #€Mô �Õ$÷ 
'Õ	&ús   ›9BÂ
B!c                  óH  • [         R                  " SS//5      n [         R                  " S[         R                  //5      n[         R                  " S[         R                  * //5      n[         R                  " [         R                  [         R                  //5      n[         R                  " SS/[         R                  [         R                  //5      n[        [
        4 H=  nXX#U4 H1  nU" Xf5        [         R                  " U5      nU" Xv5        U" Xg5        M3     M?     g )Ng      ð?g       @)r   r   r{   Úinfr   r   r   )Úm1Úm2Úm3Úm4Úm5Úassert_funcr   r0   s           r   Útest_array_almost_equal_matrixrã   Z  sÓ   € ô 
�Š�R˜�H�:Ó	€BÜ	�Š�RœŸ™�L�>Ó	"€BÜ	�Š�Rœ"Ÿ&™&˜�M�?Ó	#€BÜ	�Š”R—V‘VœRŸV™VÐ$Ð%Ó	&€BÜ	�Š�R˜�HœrŸv™v¤r§v¡vÐ.Ð/Ó	0€BÜ0Ô2EÓEˆØ˜ Ó#ˆAÙ˜ÔÜ—’˜“ˆAÙ˜ÔÙ˜Öó	 $ò Fr   )$Ú__doc__rÕ   r|   rÐ   Únumpyr   Únumpy.testingr   r   r   r   r   r   r	   r   r'   r3   r6   rA   rM   rO   r\   rb   rj   rn   rq   rˆ   r“   rœ   r£   r§   r°   r´   r¶   rÚ   rã   rF   r   r   Ú<module>rç      s�   ðñó Û ã ã ÷÷ ñ ò3ò(ò)ò)ò*ò2ò,ò1ò6*ò&ò&*ò/ò&!òR)ò8
'ò	òGò)ò&1÷3ñ 3òD%ór   