§
    �Åj¨(  ã            	       óŠ  — d dl Z d dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mZ ej                             ¦   «         Zd„ Zdefd„Zdefd„Z G d„ d	¦  «        Zdd„Ze j         G d„ d¦  «        ¦   «         Z edd¦  «         edd¦  «         edd¦  «         edd¦  «         edd¦  «         edd¦  «        gZd„ Zd„ Zd„ ZdS )é    N)ÚEinopsErrorÚasnumpyÚpackÚunpack)Úcollect_test_backendsc                 ó   — t          | |¦  «        \  }}t          | ||¦  «        }t          |¦  «        t          | ¦  «        k    sJ ‚t          || ¦  «        D ]6\  }}t	          j        t          |¦  «        t          |¦  «        ¦  «        sJ ‚Œ7d S ©N)r   r   ÚlenÚzipÚnpÚallcloser   )ÚxsÚpatternÚxÚpsÚunpackedÚaÚbs          úJC:\Projects\Historical\venv\Lib\site-packages\einops/tests/test_packing.pyÚpack_unpackr      s‘   € Ý��WÑÔ�E€A€rÝ�b˜"˜gÑ&Ô&€HÝˆx‰=Œ=�C ™GœGÒ#Ð#Ð#Ð#Ý�H˜bÑ!Ô!ð 3ð 3‰ˆˆ1ÝŒ{�7 1™:œ:¥w¨q¡z¤zÑ2Ô2Ð2Ð2Ð2Ð2ð3ð 3ó    r   c                 ó²   — t          | ||¦  «        }t          ||¬¦  «        \  }}t          j        t	          |¦  «        t	          | ¦  «        ¦  «        sJ ‚|S ©N)r   )r   r   r   r   r   )r   r   r   r   ÚpackedÚps2s         r   Úunpack_and_packr      sR   € Ý�a˜˜WÑ%Ô%€HÝ�x¨Ð1Ñ1Ô1�K€FˆCåŒ;•w˜v‘”­°©
¬
Ñ3Ô3Ð3Ð3Ð3Ø€Or   c                 ó>  — t          ¦   «         }t          ¦   «         }|5  t          | ||¦  «        }t          ||¬¦  «        \  }}d d d ¦  «         n# 1 swxY w Y   |5  t          | ¦  «        }t          |||¦  «        }	t          |	|¬¦  «        \  }
}d d d ¦  «         n# 1 swxY w Y   t	          |j        ¦  «        t	          |j        ¦  «        k    sJ ‚|j        �d S t          j        t          |¦  «        t          | ¦  «        ¦  «        sJ ‚t          j        t          |
¦  «        t          | ¦  «        ¦  «        sJ ‚t          |¦  «        t          |	¦  «        k    sJ ‚t          ||	¦  «        D ])\  }}t          j        t          |¦  «        |¦  «        sJ ‚Œ*d S r   )
ÚCaptureExceptionr   r   r   ÚtypeÚ	exceptionr   r   r
   r   )r   r   r   Úcapturer_backendÚcapturer_numpyr   r   r   Úx_npÚunpacked_npÚ	packed_npÚps3r   r   s                 r   Úunpack_and_pack_against_numpyr'      s  € Ý'Ñ)Ô)ÐÝ%Ñ'Ô'€Nà	ð 6ð 6Ý˜!˜R Ñ)Ô)ˆÝ˜8¨WÐ5Ñ5Ô5‰ˆ�ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 
ð <ð <Ý�q‰zŒzˆÝ˜T 2 wÑ/Ô/ˆÝ˜k°7Ð;Ñ;Ô;‰ˆ	�3ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <õ
 �Ô(Ñ)Ô)­TÐ2BÔ2LÑ-MÔ-MÒMÐMÐMÐMØÔÐ+àˆõ Œ{�7 6™?œ?­G°A©J¬JÑ7Ô7Ð7Ð7Ð7ÝŒ{�7 9Ñ-Ô-­w°q©z¬zÑ:Ô:Ð:Ð:Ð:Ý�8‰}Œ}¥ KÑ 0Ô 0Ò0Ð0Ð0Ð0Ý˜ +Ñ.Ô.ð 	.ð 	.‰DˆAˆqÝ”;�w q™zœz¨1Ñ-Ô-Ð-Ð-Ð-Ð-ð	.ð 	.s#   Ÿ&AÁAÁAÁ5BÂB#Â&B#c                   ó   — e Zd Zd„ Zd„ ZdS )r   c                 ó   — d | _         d S r	   ©r    ©Úselfs    r   Ú	__enter__zCaptureException.__enter__8   s   € ØˆŒˆˆr   c                 ó   — || _         dS )NTr*   )r,   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__zCaptureException.__exit__;   s   € Ø ˆŒØˆtr   N)Ú__name__Ú
__module__Ú__qualname__r-   r2   © r   r   r   r   7   s2   € € € € € ðð ð ðð ð ð ð r   r   é   é   c           	      óê  — d„ }d„ } |d| |¦  «        \  }}} || |d¦  «        } |t          j        |||gd¬¦  «        t          |||gd¦  «        d         ¦  «          |t          j        |||gd	¬¦  «        t          |||gd
¦  «        d         ¦  «          |t          j        |||gd¬¦  «        t          |||gd¦  «        d         ¦  «          |t          j        |||gd	¬¦  «        t          |||gd¦  «        d         ¦  «          |t          j        |||gd¬¦  «        t          |||gd¦  «        d         ¦  «         t           j        d d …d d …d f         } |t          j        ||         ||         ||         |gd¬¦  «        t          ||||gd¦  «        d         ¦  «         t          j        t          ¦  «        5  t          ||||gd¦  «         d d d ¦  «         n# 1 swxY w Y   t          |||gd¦  «         t          j        t          ¦  «        5  t          ||||gd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ||||gd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ||||gd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ||||gd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ||||gd¦  «         d d d ¦  «         n# 1 swxY w Y   t          ||||gd¦  «         d S )Nc                  ó6   — t                                | ¦  «        S r	   )ÚrngÚrandom)Úshapes    r   Úrandz test_numpy_trivial.<locals>.randA   s   € Ý�zŠz˜%Ñ Ô Ð r   c                 ó‚   — | j         |j         k    sJ ‚| j        |j        k    sJ ‚t          j        | |k    ¦  «        sJ ‚d S r	   )Údtyper=   r   Úall)r   r   s     r   Úcheckz!test_numpy_trivial.<locals>.checkD   sI   € ØŒw˜!œ'Ò!Ð!Ð!Ð!ØŒw˜!œ'Ò!Ð!Ð!Ð!ÝŒv�a˜1’f‰~Œ~ÐÐˆ~ÐÐr   é   é    é   )Úaxiszh w *r   é   zh * wz* h wzh *z* wzh w nonexisting_axis *z"some_name_for_H some_name_for_w1 *zh _w *zh_ w *z1h_ w *z1 w *zh h *zh H *)r   Ústackr   ÚconcatenateÚ	index_expÚpytestÚraisesr   )	ÚHÚWr>   rB   ÚrÚgr   Ú
embeddingsÚis	            r   Útest_numpy_trivialrS   @   sI  € ð!ð !ð !ðð ð ð
 ˆd�1�a˜‰mŒm�G€A€qˆ!Ø��a˜˜B‘”€Jà	€EÝ
Œ�!�Q˜� Ð#Ñ#Ô#Ýˆa��AˆY˜Ñ Ô  Ô#ñô ð ð 
€EÝ
Œ�!�Q˜� Ð#Ñ#Ô#Ýˆa��AˆY˜Ñ Ô  Ô#ñô ð ð 
€EÝ
Œ�!�Q˜� Ð#Ñ#Ô#Ýˆa��AˆY˜Ñ Ô  Ô#ñô ð ð
 
€EÝ
Œ˜˜1˜a�y qÐ)Ñ)Ô)Ýˆa��AˆY˜ÑÔ˜qÔ!ñô ð ð 
€EÝ
Œ˜˜1˜a�y qÐ)Ñ)Ô)Ýˆa��AˆY˜ÑÔ˜qÔ!ñô ð õ
 	Œ�Q�Q�Q˜˜˜˜4�ZÔ €AØ	€EÝ
Œ˜˜!œ˜a œd A a¤D¨*Ð5¸AÐ>Ñ>Ô>Ýˆa��A�zÐ" GÑ,Ô,¨QÔ/ñô ð õ
 
Œ•{Ñ	#Ô	#ð >ð >Ýˆa��A�zÐ"Ð$<Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >õ 	ˆ!ˆQ�ˆÐ8Ñ9Ô9Ð9å	Œ•{Ñ	#Ô	#ð .ð .Ýˆa��A�zÐ" HÑ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .å	Œ•{Ñ	#Ô	#ð .ð .Ýˆa��A�zÐ" HÑ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .å	Œ•{Ñ	#Ô	#ð /ð /Ýˆa��A�zÐ" IÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å	Œ•{Ñ	#Ô	#ð -ð -Ýˆa��A�zÐ" GÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•{Ñ	#Ô	#ð -ð -Ýˆa��A�zÐ" GÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ 	ˆ!ˆQ��:Ð	 Ñ(Ô(Ð(Ð(Ð(sl   ÇG(Ç(G,Ç/G,ÈI É IÉIÉ$JÊJ	ÊJ	Ê)K
Ë
KËKË.LÌLÌLÌ3MÍMÍMc                   óJ   — e Zd ZU ej        edf         ed<   eed<   d„ Zd„ Z	dS )ÚUnpackTestCase.r=   r   c                 óZ   — | j                              ¦   «                              d¦  «        S )NÚ*)r   ÚsplitÚindexr+   s    r   ÚdimzUnpackTestCase.dim€   s$   € ØŒ|×!Ò!Ñ#Ô#×)Ò)¨#Ñ.Ô.Ð.r   c                 óP   — | j         |                      ¦   «                  dk    sJ ‚d S )Né   )r=   rZ   r+   s    r   Ú	selfcheckzUnpackTestCase.selfcheckƒ   s(   € ØŒz˜$Ÿ(š(™*œ*Ô%¨Ò*Ð*Ð*Ð*Ð*Ð*r   N)
r3   r4   r5   ÚtypingÚTupleÚintÚ__annotations__ÚstrrZ   r]   r6   r   r   rU   rU   {   sT   € € € € € € àŒ<˜˜S˜Ô!Ð!Ð!Ñ!Ø€L€L�Lð/ð /ð /ð+ð +ð +ð +ð +r   rU   )r\   rW   )r\   é   z* seven)rc   r\   zseven *)r\   rC   é   z* three four)rd   r\   rC   zfour * three)rC   rd   r\   zthree four *c            	      ób	  ‡— t           D �]¤} | j        }| j        }t                               |¦  «        Št          ‰dgdgdgg|¦  «         t          j        t          ¦  «        5  t          ‰dgdgdgg|dz   ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ‰dgdgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ‰dgdgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          ‰dgdgdgg|¦  «         t          ‰dgdgdgg|¦  «         t          ‰dgdgdgg|¦  «         t          ‰dgdgdgg|¦  «        \  }}}|j        |  	                    ¦   «                  dk    sJ ‚t          j        t          ¦  «        5  t          ‰dgdgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ‰dgdgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          ‰ddgddgddgg|¦  «        }t          ˆfd	„|D ¦   «         ¦  «        sJ ‚t          ‰ddgddgddgg|¦  «        }t          ˆfd
„|D ¦   «         ¦  «        sJ ‚t          ‰ddgddgddgg|¦  «        }t          ˆfd„|D ¦   «         ¦  «        sJ ‚t          j        t          ¦  «        5  t          ‰ddgdgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ‰ddgdgddgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ‰ddgdgddgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ‰ddgddgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ‰ddgddgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          ‰dgdgdgg|¦  «         t          ‰dgdgdgg|¦  «         t          ‰dgdgdgg|¦  «         t          ‰ddgddgg|¦  «         �Œ¦d S )NrE   rG   z non_existent_axisrd   éÿÿÿÿrC   r   r\   c              3   ór   •K  — | ]1}t          |j        ¦  «        t          ‰j        ¦  «        d z   k    V — Œ2dS ©rG   N©r
   r=   ©Ú.0rO   r   s     €r   ú	<genexpr>z.test_pack_unpack_with_numpy.<locals>.<genexpr>µ   ó=   øè è € Ð@Ð@¸•3�q”w‘<”<¥3 q¤w¡<¤<°!Ñ#3Ò3Ð@Ð@Ð@Ð@Ð@Ð@r   c              3   ór   •K  — | ]1}t          |j        ¦  «        t          ‰j        ¦  «        d z   k    V — Œ2dS rh   ri   rj   s     €r   rl   z.test_pack_unpack_with_numpy.<locals>.<genexpr>·   rm   r   c              3   ór   •K  — | ]1}t          |j        ¦  «        t          ‰j        ¦  «        d z   k    V — Œ2dS rh   ri   rj   s     €r   rl   z.test_pack_unpack_with_numpy.<locals>.<genexpr>¹   rm   r   )Úcasesr=   r   r;   r<   r   rK   rL   r   rZ   r   rA   )Úcaser=   r   Ú_ÚlastÚrsr   s         @r   Útest_pack_unpack_with_numpyru   “   s¿  ø€ õ ð 97ñ 97ˆØ”
ˆØ”,ˆå�JŠJ�uÑÔˆå˜˜Q˜C !  q c˜?¨GÑ4Ô4Ð4åŒ]�;Ñ'Ô'ð 	Pð 	PÝ˜A   a S¨1¨#˜°Ð:NÑ0NÑOÔOÐOð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	PåŒ]�;Ñ'Ô'ð 	9ð 	9Ý˜A   a S¨1¨#˜°Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9åŒ]�;Ñ'Ô'ð 	9ð 	9Ý˜A   a S¨1¨#˜°Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9õ 	˜˜Q˜C !  r dÐ+¨WÑ5Ô5Ð5Ý˜˜Q˜C " ¨ sÐ+¨WÑ5Ô5Ð5Ý˜˜R˜D 1 #¨ sÐ+¨WÑ5Ô5Ð5Ý$ Q¨!¨¨q¨c°B°4Ð(8¸'ÑBÔB‰
ˆˆ1ˆdØŒz˜$Ÿ(š(™*œ*Ô%¨Ò*Ð*Ð*Ð*åŒ]�;Ñ'Ô'ð 	1ð 	1Ý�1˜�s˜Q˜C " Ð&¨Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ
 Œ]�;Ñ'Ô'ð 	1ð 	1Ý�1˜�t˜a˜S 1 #Ð&¨Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ ˜Q ! Q ¨!¨Q¨°"°a°Ð 9¸7ÑCÔCˆÝÐ@Ð@Ð@Ð@¸RÐ@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ý˜Q ! Q ¨!¨R¨°1°a°&Ð 9¸7ÑCÔCˆÝÐ@Ð@Ð@Ð@¸RÐ@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ý˜Q ! R ¨1¨a¨&°1°a°&Ð 9¸7ÑCÔCˆÝÐ@Ð@Ð@Ð@¸RÐ@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@õ Œ]�;Ñ'Ô'ð 	4ð 	4Ý�1˜˜A�w   a SÐ)¨7Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4åŒ]�;Ñ'Ô'ð 	7ð 	7Ý�1˜˜1�v ˜s Q¨ GÐ,¨gÑ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7õ Œ]�;Ñ'Ô'ð 	7ð 	7Ý�1˜˜1�v ˜s Q¨ GÐ,¨gÑ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7åŒ]�;Ñ'Ô'ð 	7ð 	7Ý�1˜˜1�v  2˜w¨¨Ð,¨gÑ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7åŒ]�;Ñ'Ô'ð 	7ð 	7Ý�1˜˜2�w  A ¨¨Ð,¨gÑ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7õ 	˜˜Q˜C !  r dÐ+¨WÑ5Ô5Ð5Ý˜˜Q˜C " ¨ sÐ+¨WÑ5Ô5Ð5Ý˜˜R˜D 1 #¨ sÐ+¨WÑ5Ô5Ð5õ 	˜˜Q ˜G a¨ VÐ,¨gÑ6Ô6Ð6Ñ6ðs97ð 97s´   Á$BÂB	ÂB	Â/CÃC	ÃC	Ã7DÄD	Ä"D	ÇG(Ç(G,	Ç/G,	ÈH0È0H4	È7H4	Ë9LÌL"	Ì%L"	ÍM(Í(M,	Í/M,	ÎN2Î2N6	Î9N6	ÏO<Ï<P 	ÐP 	Ð QÑQ
	ÑQ
	c            
      ó  — t          dd¬¦  «        D �]ì} t          d| j        › �¦  «         d}t          D �]Ç}t          }|j        }|j        }t                               |¦  «        }|  	                    |¦  «        } ||dgdgdgg|¦  «         t          j        t          ¦  «        5  t          |dgdgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |dgdgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y    ||dgdgdgg|¦  «          ||dgdgdgg|¦  «          ||dgdgdgg|¦  «         t          j        t          ¦  «        5  t          |dgdgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |dgdgd	gg|¦  «         d d d ¦  «         n# 1 swxY w Y    ||ddgddgddgg|¦  «          ||ddgddgddgg|¦  «          ||ddgddgddgg|¦  «         t          j        t          ¦  «        5  t          |ddgdgd	gg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |ddgdgd	dgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |ddgdgd
dgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |ddgd
dgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |d
dgddgdgg|¦  «         d d d ¦  «         n# 1 swxY w Y   |r_ ||dgd
gdgg|¦  «          ||dgd	gdgg|¦  «          ||dgdgd	gg|¦  «          ||dgd	gdgg|¦  «          ||ddgdd	gg|¦  «         �ŒÉ�Œîd S )NF)ÚsymbolicÚlayersztest packing against numpy for TrE   rG   rd   rf   r\   rC   r   )r   ÚprintÚframework_namerp   r'   r=   r   r;   r<   Ú
from_numpyrK   rL   r   r   )ÚbackendÚcheck_zero_lenrq   r   r=   r   r   s          r   Útest_pack_unpack_against_numpyr~   Ò   sÿ  € Ý(°%ÀÐFÑFÔFð <?ñ <?ˆÝÐH°Ô0FÐHÐHÑIÔIÐIØˆåð 8	?ñ 8	?ˆDÝ;ˆOØ”JˆEØ”lˆGå—
’
˜5Ñ!Ô!ˆAØ×"Ò" 1Ñ%Ô%ˆAàˆO˜A   a S¨1¨#˜°Ñ8Ô8Ð8å”�{Ñ+Ô+ð 4ð 4Ý�q˜A˜3   a S˜/¨7Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ ”�{Ñ+Ô+ð 4ð 4Ý�q˜A˜3   a S˜/¨7Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð ˆO˜A   a S¨2¨$Ð/°Ñ9Ô9Ð9ØˆO˜A   b T¨A¨3Ð/°Ñ9Ô9Ð9ØˆO˜A   q c¨A¨3Ð/°Ñ9Ô9Ð9õ ”�{Ñ+Ô+ð 5ð 5Ý�q˜A˜3   b TÐ*¨GÑ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5õ
 ”�{Ñ+Ô+ð 5ð 5Ý�q˜B˜4 !  q cÐ*¨GÑ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð ˆO˜A  A ¨¨A¨°°Q°Ð8¸'ÑBÔBÐBØˆO˜A  A ¨¨B¨°!°Q°Ð8¸'ÑBÔBÐBØˆO˜A  B ¨!¨Q¨°!°Q°Ð8¸'ÑBÔBÐBõ ”�{Ñ+Ô+ð 8ð 8Ý�q˜B ˜7 Q C¨!¨Ð-¨wÑ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8å”�{Ñ+Ô+ð ;ð ;Ý�q˜A˜q˜6 A 3¨¨B¨Ð0°'Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;õ ”�{Ñ+Ô+ð ;ð ;Ý�q˜A˜q˜6 A 3¨¨B¨Ð0°'Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;å”�{Ñ+Ô+ð ;ð ;Ý�q˜A˜q˜6 A r 7¨Q¨CÐ0°'Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;å”�{Ñ+Ô+ð ;ð ;Ý�q˜A˜r˜7 Q¨ F¨Q¨CÐ0°'Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ð ?à�  Q C¨!¨¨r¨dÐ#3°WÑ=Ô=Ð=Ø�  Q C¨!¨¨r¨dÐ#3°WÑ=Ô=Ð=Ø�  Q C¨"¨°¨sÐ#3°WÑ=Ô=Ð=Ø�  R D¨1¨#°¨sÐ#3°WÑ=Ô=Ð=ð  �  Q¨ G¨a°¨VÐ#4°gÑ>Ô>Ð>ùñq8	?ð	<?ð <?s¢   Â(CÃCÃCÃ0DÄDÄDÅ1FÆFÆFÆ9GÇG!Ç$G!ÉI(É(I,É/I,ÊJ2Ê2J6Ê9J6ËK<Ë<L ÌL Ì MÍM
ÍM
Í*NÎNÎNc            
      óŒ  — dd l } ddlm} | j        dk     rt	          j        ¦   «          t          D �]’}|j        }|j        }t           
                    |¦  «        }|                      |¦  «        }dgdgdggdgdgdggdgdgddggddgg d¢dggfD ]Ë}t          |||¦  «        }|                     |||¦  «        }	t          ||	¦  «        D ]2\  }
}t          j        |
|                     |dz   ¦  «        ¦  «        sJ ‚Œ3t#          ||¦  «        \  }}|                     |	|¦  «        \  }}||k    sJ ‚t          j        ||                     |¦  «        ¦  «        sJ ‚ŒÌddggdgd	ggdgd	gdggdgddggdgd	gddggfD ]D}t	          j        t&          ¦  «        5  t          |||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒE�Œ”d S )
Nr   )Ú	array_apiz2.0.0rE   rG   rf   rC   )rG   rG   rG   r\   )ÚnumpyÚeinopsr€   Ú__version__rK   Úskiprp   r=   r   r;   r<   Úfrom_dlpackr   r   r   r   r   r   rL   r   )ÚxpÚAArq   r=   r   r#   Úx_xpr   Ú
x_np_splitÚ
x_xp_splitr   r   Úx_agg_npÚps1Úx_agg_xpr   s                   r   Útest_pack_unpack_array_apirŽ     s|  € ØÐÐÐà&Ð&Ð&Ð&Ð&Ð&à	„~˜ÒÐÝŒ‰Œˆåð *ñ *ˆØ”
ˆØ”,ˆÝ�zŠz˜%Ñ Ô ˆØ�~Š~˜dÑ#Ô#ˆð ˆS�1�#˜�sˆOØˆS�1�#˜�tÐØˆS�1�#˜˜A�wÐØ�ˆV�Y�Y�Y  Ð%ð	
ð 	?ð 	?ˆBõ    b¨'Ñ2Ô2ˆJØŸš 4¨¨WÑ5Ô5ˆJÝ˜J¨
Ñ3Ô3ð 9ð 9‘��1Ý”{ 1 b§j¢j°°Q±Ñ&7Ô&7Ñ8Ô8Ð8Ð8Ð8Ð8å  ¨WÑ5Ô5‰MˆH�cØŸGšG J°Ñ8Ô8‰MˆH�cØ˜#’:�:�:�:Ý”;˜x¨¯ª°HÑ)=Ô)=Ñ>Ô>Ð>Ð>Ð>Ð>ð �ˆVˆHØˆS�1�#ˆJØˆS�1�#˜�tÐØˆS�1�a�&ˆMØˆS�1�#˜˜A�wÐð
ð 	*ð 	*ˆBõ ”�{Ñ+Ô+ð *ð *Ý�t˜R Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *øñ	*ð-*ð *s   ÆF6Æ6F:Æ=F:)r7   r8   )Údataclassesr^   r�   r   rK   r‚   r   r   r   r   Úeinops.testsr   r<   Údefault_rngr;   r   rb   r   r'   r   rS   Ú	dataclassrU   rp   ru   r~   rŽ   r6   r   r   ú<module>r“      sÎ  ðØ Ð Ð Ð Ø €€€à Ð Ð Ð Ø €€€à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø .Ð .Ð .Ð .Ð .Ð .à„i×ÒÑÔ€ð3ð 3ð 3ð Cð ð ð ð ð.°#ð .ð .ð .ð .ð4ð ð ð ð ñ ô ð ð8)ð 8)ð 8)ð 8)ðv Ôð+ð +ð +ð +ð +ñ +ô +ñ Ôð+ð €N�4˜ÑÔØ€N�6˜9Ñ%Ô%Ø€N�6˜9Ñ%Ô%Ø€N�9˜nÑ-Ô-Ø€N�9˜nÑ-Ô-Ø€N�9˜nÑ-Ô-ð		€ð<7ð <7ð <7ð~=?ð =?ð =?ð@&*ð &*ð &*ð &*ð &*r   