Ë
    âQ(h´  ã                   ó¬  — d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
Z
d dlmZ d dlZd dlZd dlZd dlmZmZmZmZmZmZ d dlZd dlmZ d dlZd d	lmZ d d
lmZmZm Z m!Z! d dl"Z#d dl$m%Z%m&Z&m'Z' d dl(mc m)c m*Z+ d dl,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3m4Z4m5Z5 d dl6m7Z7m8Z8m9Z9m:Z:m;Z; d dl<mc m)c m=Z> d dl?m@Z@  e eeA«      d«      ZBej†                  jˆ                  ZEd„ ZFejŽ                  dz   ej�                  deI¬«      j•                  dd«      z  ZKdddideKidœgZLeLj›                  dddid edg«      idœ«       eLj›                  dddid ejœ                  eK«      d ejž                  eK«      z  z   idœ«        ej                   d «      ZQ eR eSdd!«      «      eQd <    eR eSdd«      «      eQdd…d f<   eLj›                  d"d#did#eQidœ«       eLj›                  d$d%d$id% e eQ«      idœ«       eQj©                  eU«      ZVeVd&xx   dz  cc<   eLj›                  d'd(d$id( e eV«      idœ«       eLj›                  d)ddd*œeKeQd*œdœ«       eLj›                  d+d,did, eFd-«      idœ«       eLj›                  d.d/did/ ed0g«      idœ«        eFg  eFdg«       eFdd1gg«       eFg d2¢g«      feW¬«      j•                  dd-«      ZX ed3g«      eXd&<   d4d5d4id5eXidœgZY eF eFd«       eFd1«       eFg «       eFg «       eFd6«      feW¬«      j•                  dd-«      ZZ ej¶                  d7eW¬«      Z\ eFd«      e\d&<   eYj›                  d8d9d4id9e\idœ«       eYj›                  d:d;d4id;eZidœ«       eYj›                  d<d=did= eg d>¢«      idœ«       eYj›                  d?d@did@ ejº                   ej”                   eR eSddA«      «      dB«      «      idœ«        e ej¼                  d1«       ej¾                  d«      ejŽ                  g«      j•                  dd6«      Z`dCD � cg c]  } | eWf‘Œ c} Za ej                   d7ea«      Zb edDg«      ebdE   d&<   e`ebdF   d&<   e`dGz  ebdH   d&<   eYj›                  dIdJdIidJebidœ«        ej                   dKeW¬«      Zc eFd«      ecd&<    ej                   dLeW¬«      ecdM<    eFd1ejÈ                  ¬«      ecdM   d&<    eFd6ggejÈ                  ¬«      ecdM   dM<    ej                   dKeW¬«      ecdM   dN<    eFdejÈ                  ¬«      ecdM   dN   d&<    eFdOejÈ                  ¬«      ecdM   dN   dM<   eYj›                  dPdQd4idQecidœ«        ej¶                  d7dRD � cg c]  } | eWf‘Œ c} ¬«      Ze eFd«      eed&   dS<    ej¶                  d7dTeWfg¬«      eed&   dU<    edVg«      eed&   dU   d&   dT<   eYj›                  dWdXdIidXeeidœ«        ej¶                  dKdRD � cg c]  } | eWf‘Œ c} ¬«      Zf eFd«      efd&   dS<    eFd1«      efd&   dU<    edYg«      efdM   dS<    edZg«      efdM   dU<   eYj›                  d[d\dIid\efidœ«        ejÂ                  d]D � cg c]  } | eWf‘Œ c} «      Zg e' ej                   d7eg¬«      d^«      Zhehd&   Zi ed_g«      eid`<    edag«      eidb<    ed_g«      eidc<    eFd «      eidd<    eFd«      eide<    eFd«      eidf<   eYj›                  dgdhdgidhehidœ«        ej eeBdi«      dj«      ZkekjÙ                  «       jÛ                  dk«      Znekjß                  «        eYj›                  dldmdidm eeng«      idœ«       eYj›                  d$d%d$id% e eQ«      idœ«       eYj›                  d'd(d$id( e eV«      idœ«       eYj›                  dndodpido edqgdrgg«      idœ«       eYdd Zpepj›                  dsdtdgidt ejâ                  ehd1«      j•                  dd1«      idœ«       du„ Zrdv„ Zsdw„ Ztdx„ Zudy„ ZvdÆdz„Zwej†                  jñ                  dfd{«      d|„ «       Zyej†                  jñ                  dfd{«      d}„ «       Zzej†                  jñ                  d~ddd€gfd�d€gfg«      d‚„ «       Z{dƒ„ Z|d„„ Z}d…„ Z~d†„ Zd‡„ Z€dˆ„ Z�d‰„ Z‚dŠ„ Zƒd‹„ Z„dŒ„ Z…d�„ Z†dŽ„ Z‡d�„ Zˆd�„ Z‰d‘„ ZŠd’„ Z‹d“„ ZŒd”„ Z�d•„ ZŽd–„ Z�d—„ Z�d˜„ Z‘d™„ Z’dš„ Z“d›„ Z”dœ„ Z•d�„ Z–dž„ Z—dŸ„ Z˜d „ Z™d¡„ Zšd¢„ Z›d£„ Zœd¤„ Z�d¥„ Zžd¦„ ZŸd§„ Z d¨„ Z¡d©„ Z¢dª„ Z£d«„ Z¤d¬„ Z¥d­„ Z¦d®„ Z§d¯„ Z¨d°„ Z©d±„ Zªd²„ Z«d³„ Z¬d´„ Z­dµ„ Z®d¶„ Z¯d·„ Z°d¸„ Z±d¹„ Z²dº„ Z³ej†                  jñ                  d»g d¼¢«      d½„ «       Z´d¾„ Zµd¿„ Z¶dÀ„ Z·dÁ„ Z¸dÂ„ Z¹dÃ„ ZºdÄ„ Z»dÅ„ Z¼yc c} w c c} w c c} w c c} w )Çé    N)ÚOrderedDict)ÚjoinÚdirname)Úglob)ÚBytesIO)Úmkdtemp)Úassert_array_equalÚassert_array_almost_equalÚassert_equalÚassert_Úassert_warnsÚassert_allclose)Úraises)Úarray)ÚissparseÚ	eye_arrayÚ	coo_arrayÚ	csc_array)ÚMatlabOpaqueÚMatlabFunctionÚMatlabObject)ÚmatdimsÚMatWriteErrorÚMatReadErrorÚmatfile_version)Úmat_reader_factoryÚloadmatÚsavematÚwhosmat)ÚMatFile5WriterÚMatFile5ReaderÚvarmats_from_matÚto_writeableÚEmptyStructMarker)ÚVisibleDeprecationWarningÚdatac                  óP   — t        j                  | i |¤Ž}t        |«      |_        |S )z;Convenience function to return matlab-compatible 2-D array.)Únpr   r   Úshape)ÚargsÚkwargsÚarrs      ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/io/matlab/tests/test_mio.pyÚmlarrr.   '   s%   € ä
�(‰(�DÐ
#˜FÑ
#€CÜ˜“€C„IØ€Jó    é   é	   ©Údtypeé   ÚdoubleÚ
testdouble)ÚnameÚclassesÚexpectedÚstringÚ
teststringÚcharz+"Do nine men interpret?" "Nine men," I nod.ÚcomplexÚtestcomplexy              ð?)é   é   é   ÚmatrixÚ
testmatrixÚsparseÚ
testsparse©r   r   ÚsparsecomplexÚtestsparsecomplexÚmulti)ÚthetaÚaÚminusÚ	testminuséÿÿÿÿÚonecharÚtestonecharÚré   )r4   rR   r?   z@This cell contains this string and 3 arrays of increasing lengthÚcellÚtestcellr?   ©r4   r4   Ú
scalarcellÚtestscalarcellÚ	emptycellÚtestemptycellÚstringarrayÚteststringarray)zone  ztwo  ÚthreeÚ3dmatrixÚtest3dmatrixé   )r0   r?   rR   )ÚstringfieldÚdoublefieldÚcomplexfieldzRats live on no evil star.r`   ra   y      ð?      ð?rb   ÚstructÚ
teststruct©r4   rR   )r4   r?   ©r   r4   )r   rR   r@   ÚcellnestÚtestcellnest©ÚoneÚtworj   r\   rk   znumber 3Ú
structnestÚteststructnestznumber 1znumber 2Ú	structarrÚteststructarr)ÚexprÚ	inputExprr*   ÚisEmptyÚnumArgsÚversionÚinlineÚxrp   z x = INLINE_INPUTS_{1};rq   r*   rr   rs   rt   ÚobjectÚ
testobjectzjapanese_utf8.txtÚrbzutf-8ÚunicodeÚtestunicodeÚboolÚ	testboolsÚlogicalTFÚobjectarrayÚtestobjectarrayc                 ó*  — t        | «      }t        |«      }||u ry|t        j                  u r*| j                  dk(  rt        | j	                  «       «      |u S |t        j                  u r*|j                  dk(  rt        |j	                  «       «      |u S y)zkCheck if types are same or compatible.

    0-D numpy scalars are compatible with bare python scalars.
    T© F)Útyper(   Úndarrayr)   Úitem)Úvar1Úvar2Útype1Útype2s       r-   Útypes_compatiblerŠ   è   s}   € ô
 �‹J€EÜ�‹J€EØ��~ØØ”—
‘
Ñ˜tŸz™z¨RÒ/Ü�D—I‘I“KÓ  EÐ)Ð)Ø”—
‘
Ñ˜tŸz™z¨RÒ/Ü�D—I‘I“KÓ  EÐ)Ð)Ør/   c           	      óò  — t        |«      r@t        t        |«      «       t        |j                  «       |j                  «       | d¬«       yt        t	        ||«      dt        |«      › dt        |«      › d| › �«       t        |t        j                  t        j                  z  t        z  «      st        ||«       yt        |j                  |j                  k(  d|j                  › d|j                  › d| › �¬«       |j                  }|j                  r[t        |t        «      r t        |j                  |j                  «       t!        |«      D ]  \  }}d	| |fz  }t#        ||||   «       Œ y|j$                  r-|j$                  D ]  }| › d
|› d�}t#        |||   ||   «       Œ y|j
                  t&        t        j(                  t        j*                  fv rt        ||| ¬«       yt        ||| d¬«       y)z/ Check one level of a potentially nested array r@   )Úerr_msgÚdecimalNzExpected type z, got z at zExpected shape )Úmsgz
%s, [%d], z, field z, ©rŒ   )r   r   r
   ÚtoarrayrŠ   rƒ   Ú
isinstancer(   Úvoidr„   r   r   r)   r3   Ú	hasobjectÚ	classnameÚ	enumerateÚ_check_levelÚfieldsÚstrÚstr_Úbool_)Úlabelr9   ÚactualÚex_dtypeÚiÚevÚlevel_labelÚfns           r-   r–   r–   ø   sÈ  € ä�ÔÜ”˜Ó Ô!Ü! &§.¡.Ó"2Ø"*×"2Ñ"2Ó"4Ø*/Ø*+õ	-ð 	äÔ˜X vÓ.ØœT (›^Ð,¨F´4¸³<°.ÀÀUÀGÐLôNô �h¤§¡¬"¯*©*Ñ 4´|Ñ CÔDÜ�X˜vÔ&ØäˆH�N‰N˜fŸl™lÑ*Ø! (§.¡.Ð!1°¸¿¹°~ÀTÈ%ÈÐQõSà�~‰~€HØ×ÒÜ�h¤Ô-Ü˜×+Ñ+¨V×-=Ñ-=Ô>Ü˜xÓ(ò 	5‰EˆAˆrØ&¨%°¨Ñ3ˆKÜ˜ b¨&°©)Õ4ð	5ð 	Ø‡‚Ø—/‘/ò 	3ˆBØ"˜G 8¨B¨4¨rÐ2ˆKÜ˜Ø! "™ v¨b¡zõ3ð	3ð 	Ø‡}�}œÜŸ™ÜŸ™ð#ñ #ô 	�V˜X¨uÕ5Øä˜f h¸ÀqÖIr/   c                 ó¾   — |D ]X  }t        |dd¬«      }d| › d|› �}|j                  «       D ]-  \  }}|› d|› �}t        ||v d|› �«       t        ||||   «       Œ/ ŒZ y )NTF©Ústruct_as_recordÚspmatrixútest ú; file z, variable zMissing key at )r   Úitemsr   r–   )	r7   ÚfilesÚcaseÚ	file_nameÚmatdictr›   Úkr9   Úk_labels	            r-   Ú_load_check_caser¯   #  s   € Øò 8ˆ	Ü˜)°dÀUÔKˆØ˜�v˜W Y KÐ0ˆØŸ:™:›<ò 	8‰KˆAˆxØ˜˜{¨1¨#Ð.ˆGÜ�A˜�L O°G°9Ð"=Ô>Ü˜ (¨G°A©JÕ7ñ	8ñ8r/   c           
      ó  — |D ]|  }d| › d|› �}t        |«      }|j                  «       D ��cg c]  \  }}||j                  ||   f‘Œ }	}}|j                  «        |	j                  «        t	        ||	|› d|›d|	›�«       Œ~ y c c}}w )Nr¦   r§   z: z != )r   r¨   r)   Úsortr   )
r7   r©   rª   r8   r«   r›   Úwhosr­   r9   Úexpected_whoss
             r-   Ú_whos_check_caser´   -  s¥   € Øò ˆ	Ø˜�v˜W Y KÐ0ˆä�yÓ!ˆð @D¿z¹z»|÷MÙ0;°°8ˆQ�—‘ ¨¡
Ò+ðMˆñ Mð 	�	‰	ŒØ×ÑÔÜ�T˜=Ø�w˜b  ¨¨]Ð,=Ð>õ	ñùó
Ms   ¬Bc                 ór   — t        «       }t        |||¬«       |j                  d«       t        | |g|«       y )N©Úformatr   )r   r   Úseekr¯   )r7   r9   r·   Ú
mat_streams       r-   Ú_rt_check_caserº   >  s/   € Ü“€JÜˆJ˜¨Õ0Ø‡O�O�AÔÜ�T˜J˜<¨Õ2r/   c              #   ó"  K  — | dk(  rt         }n| dk(  rt        }n| dk(  sJ ‚t        }|D ]a  }|d   }|d   }|€d }nCt        t        |t        |¬«      z  «      }t        |«      }t        |«      dkD  sJ d|› d	|› �«       ‚|d
   }||||f–— Œc y ­w)NÚ4Ú5Ú5_rtr7   r9   )r7   r   zNo files for test ú using filter r8   )Úcase_table4Úcase_table5Úcase_table5_rtÚpjoinÚtest_data_pathÚdictr   Úlen)	rt   ÚfiltÚcasesrª   r7   r9   r©   Úuse_filtr8   s	            r-   Ú_casesrÊ   F  s¼   è ø€ Ø�#‚~Ü‰Ø	�CŠÜ‰à˜&Ò Ð Ð ÜˆØò -ˆØ�F‰|ˆØ˜
Ñ#ˆØˆ<Ø‰Eäœ^¨T´D¸d´OÑ-CÓDˆHÜ˜“NˆEÜ�u“: ’>ð @Ø$ T F¨.¸¸Ð?ó@�>à�y‘/ˆØ�E˜8 WÐ,Ó,ñ-ùs   ‚BB©r¼   r½   c                 ó:   — t        | «      D ]  }t        |d d Ž  Œ y )Nr?   )rÊ   r¯   ©rt   rª   s     r-   Ú	test_loadrÎ   \  s#   € ä�w“ò $ˆÜ˜$˜r ˜(Ò#ñ$r/   c                 ó4   — t        | «      D ]
  }t        |Ž  Œ y ©N)rÊ   r´   rÍ   s     r-   Ú	test_whosrÑ   b  s   € ä�w“ò  ˆÜ˜$Òñ r/   zversion, fmtsr¼   r½   r¾   c                 ó\   — t        | d ¬«      D ]  }|D ]  }t        |d   |d   |«       Œ Œ y )N)rÇ   r   rR   )rÊ   rº   )rt   Úfmtsrª   Úfmts       r-   Útest_round_triprÕ   i  s=   € ô
 �w TÔ*ò 2ˆØò 	2ˆCÜ˜4 ™7 D¨¡G¨SÕ1ñ	2ñ2r/   c                  ó:  — t        j                  d«      } d| d<   d| d<   t        | «      }d}d|i}d}t        «       }	 t	        ||«      }t        j                  |d	¬
«      }t        |||¬«       |j                  «        t        j                  |d¬
«      }t        |dd¬«      }|j                  «        t        j                  |«       t        |d   j                  «       |d   j                  «       t        |«      ¬«       y # t        j                  |«       w xY w)N)é   r×   gffffff@©rR   r?   g      @)r0   r@   Ú	gzip_testrv   r¼   Úwb)Úmoder¶   ry   TFr£   r�   )r(   Úzerosr   r   rÃ   ÚgzipÚopenr   Úcloser   ÚshutilÚrmtreer
   r�   Úrepr)	Úxdenserv   r7   r9   r·   ÚtmpdirÚfnamer¹   rœ   s	            r-   Útest_gzip_simpleræ   s  só   € Ü�X‰X�gÓ€FØ€Fˆ3�KØ€Fˆ3�KÜ�&Ó€Aà€DØ�Aˆw€HØ€Fä‹Y€Fð
Ü�f˜TÓ"ˆÜ—Y‘Y˜u¨4Ô0ˆ
Ü�
˜H¨VÕ4Ø×ÑÔä—Y‘Y˜u¨4Ô0ˆ
Ü˜°dÀUÔKˆØ×ÑÔä�‰�fÔä˜f S™k×1Ñ1Ó3Ø& s™m×3Ñ3Ó5Ü&*¨6£lö4øô 	�‰�fÕús   ¾A6D ÄDc                  óJ  — t        «       } 	 t        t        j                  d«      ¬«      }t	        | d«      }t        ||«       t        j                  |«       t        ||«       t        |«       t        j                  |«       t        |d«      }t        ||«       |j                  d«       |j                  «        t        |d«      }t        |«       |j                  d«       |j                  «        t        j                  | «       y # t        j                  | «       w xY w)N)rR   rR   ©rv   za.matrÚ   r   ry   )r   rÅ   r(   rÜ   rÃ   r   ÚosÚunlinkr   rÞ   r¸   rß   rà   rá   )rä   rv   rå   Úfs       r-   Útest_multiple_openrì   �  sÍ   € ä‹Y€FðÜ”2—8‘8˜FÓ#Ô$ˆä�f˜gÓ&ˆô 	��qÔÜ
�	‰	�%ÔÜ��qÔÜ�ŒÜ
�	‰	�%Ôô �˜ÓˆÜ��1ŒØ	�‰ˆqŒ	Ø	�‰Œ	ä�˜ÓˆÜ�Œ
Ø	�‰ˆqŒ	Ø	�‰Œ	ä�‰�fÕøŒ�‰�fÕús   ŒC)D ÄD"c                  óØ   — t        t        t        d«      «      } t        t	        | «      dkD  «       | D ]5  }t        |d«      }t        t        t        |d¬«       |j                  «        Œ7 y )Nztesthdf5*.matr   ry   T©r¤   )
r   rÃ   rÄ   r   rÆ   rÞ   Úassert_raisesÚNotImplementedErrorr   rß   )Ú	filenamesÚfilenameÚfps      r-   Ú
test_mat73rô   ¬  sa   € äÜŒn˜oÓ.ó0€IäŒC�	‹N˜QÑÔØò ˆÜ�(˜DÓ!ˆÜÔ)ÜØØ'+õ	-ð 	�‰�
ñr/   c                  óÔ   — t        t        d«      } t        j                  «       5  t        j                  d«       t        | d¬«       t        | d¬«       d d d «       y # 1 sw Y   y xY w)Nztestdouble_7.1_GLNX86.matÚerrorTrî   F)rÃ   rÄ   ÚwarningsÚcatch_warningsÚsimplefilterr   )rå   s    r-   Útest_warningsrú   º  sT   € ô ”.Ð"=Ó>€EÜ	×	 Ñ	 Ó	"ñ /Ü×Ñ˜gÔ&ä�¨Õ-ä�¨Õ.÷/÷ /ñ /ús   ¥0AÁA'c                  óþ   — t        «       } t        | dddiid¬«       t        | «      d   }t        |j                  d«       t        |j
                  t        j
                  t        «      «       t        |d   d u «       y )NÚdr4   rR   r½   r¶   rU   rF   ©	r   r   r   r   r)   r3   r(   rw   r   )ÚsioÚbacks     r-   Útest_regression_653r   Ç  sc   € ô ‹)€CÜˆC�#�q˜�e� SÕ)Ü�3‹<˜Ñ€Dä�—‘˜UÔ#Ü�—‘œRŸX™X¤fÓ-Ô.ÜˆD�‰I˜ÐÕr/   c                  ó  — d} d| z  }t        j                  d|t        fg¬«      }t        t	        «       d|id¬«       d| dz   z  }t        j                  d|t        fg¬«      }t        t        t        t	        «       d|id¬«       y )	Né   rK   rU   r2   Ú
longstructr½   r¶   r4   ©r(   rÜ   rw   r   r   rï   Ú
ValueError©ÚlimÚfldnameÚst1s      r-   Útest_structname_lenr
  Ó  sz   € à
€CØ�C‰i€GÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CÜŒG‹I˜ cÐ*°3Õ7Ø�S˜‘U‰m€GÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CÜ”*œg¤w£yØ Ð%¨cö3r/   c                  ó†   — t        j                  ddt        fg¬«      } t        t        t
        t        «       d| idd¬«       y )NrU   Úmy_fieldnamer2   Ú	my_structr¼   T©r·   Úlong_field_names)r(   rÜ   rw   rï   r  r   r   )r  s    r-   Ú(test_4_and_long_field_names_incompatibler  ß  s7   € ä—‘˜ ~´fÐ&=Ð%>Ô?€IÜ”*œg¤w£yØ˜yÐ)°#ÈöNr/   c                  ó  — d} d| z  }t        j                  d|t        fg¬«      }t        t	        «       d|idd¬«       d| d	z   z  }t        j                  d|t        fg¬«      }t        t        t        t	        «       d|idd¬«       y )
Né?   rK   rU   r2   r  r½   Tr  r4   r  r  s      r-   Útest_long_field_namesr  æ  s   € à
€CØ�C‰i€GÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CÜŒG‹I˜ cÐ*°3ÈÕMØ�S˜‘U‰m€GÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CÜ”*œg¤w£yØ Ð%¨cÀ4öIr/   c                  ó  — d} d| z  }t        j                  dt        ¬«      }t        j                  d|t        fg¬«      }||d<   ||d<   t	        t        «       d|id	d
¬«       t        t        t        t        «       d|id	d¬«       y )Nr  rK   re   r2   rU   rF   rf   r  r½   Tr  F)r(   r„   rw   rÜ   r   r   rï   r  )r  r  rS   r	  s       r-   Útest_long_field_names_in_structr  ò  s€   € ð €CØ�C‰i€GÜ�:‰:�e¤&Ô)€DÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CØ€Dˆ�IØ€Dˆ�IÜŒG‹I˜ dÐ+°CÈÕNô ”*œg¤w£yØ Ð&¨sÀUöLr/   c                  óî   — t        j                  dt        ¬«      } d| d<   d| d<   t        t	        «       d| id¬	«       t        j                  d
t        ¬«      } d| d<   t        t	        «       d| id¬	«       y )Nre   r2   ÚHellorF   ÚWorldrf   rv   r½   r¶   rU   zHello, world)r(   r„   rw   r   r   )Úcellss    r-   Útest_cell_with_one_thing_in_itr    sc   € ô �J‰J�u¤6Ô*€EØ€Eˆ#�JØ€Eˆ#�JÜŒG‹I˜˜U�|¨CÕ0ä�J‰J�u¤6Ô*€EØ€Eˆ#�JÜŒG‹I˜˜U�|¨CÖ0r/   c                  ó`  — t        t        «       «      } t        | j                  g «       dg| _        t        | j                  dg«       t        | j                  d«       d| _        t        | j                  d«       t        | j
                  d«       d| _        t        | j
                  d«       y )NÚavarFT)r    r   r   Úglobal_varsÚunicode_stringsr  )Úmfws    r-   Útest_writer_propertiesr     s…   € ä
œ›Ó
#€CÜ�—‘ "Ô%Ø�h€C„OÜ�—‘ 6 (Ô+Ü�×$Ñ$ eÔ,Ø€CÔÜ�×$Ñ$ dÔ+Ü�×%Ñ% uÔ-Ø€CÔÜ�×%Ñ% tÕ,r/   c                  ó$  — t        «       } t        | «      }t        j                  d«      }|j	                  d|i«       t        | j                  «       «      }| j                  d«       | j                  d«       |j	                  d|i«       t        |t        | j                  «       «      z
  dkD  «       | j                  d«       | j                  d«       |j	                  d|i«       t        t        | j                  «       «      |z
  dk  «       y )Né
   Úaaaaar   Úaaaar0   Úaaaaaa)
r   r    r(   rÜ   Úput_variablesrÆ   ÚgetvalueÚtruncater¸   r   )rþ   Úwtrr,   Úw_szs       r-   Útest_use_small_elementr+    sÌ   € ä
‹)€CÜ
˜Ó
€Cä
�(‰(�2‹,€CØ×Ñ�w �nÔ%Üˆs�|‰|‹~Ó€Dà‡L�L�„OØ‡H�HˆQ„KØ×Ñ�v˜s�mÔ$ÜˆD”3�s—|‘|“~Ó&Ñ&¨Ñ*Ô+à‡L�L�„OØ‡H�HˆQ„KØ×Ñ�x �oÔ&ÜŒC�—‘“Ó $Ñ&¨Ñ*Õ+r/   c                  óN  — t        j                  dggdt        fdt        fg¬«      } t        t        fD ]o  } |ddg«      }t        «       }t        |d|i«       |j                  d«       t        |«      d   }t        |j                  j                  d	«       t        || «       Œq y )
Nre   rK   Úbr2   )rK   r4   )r-  rR   rÅ   r   ©rK   r-  )r(   r   rw   rÅ   r   r   r   r¸   r   r   r3   Únamesr	   )Úab_expÚ	dict_typerü   ÚstreamÚvalss        r-   Útest_save_dictr4  3  s”   € ô �X‰X˜�x�j¨#¬v¨¸¼f¸Ð(FÔG€FÜœKÐ(ò )ˆ	á�x Ð*Ó+ˆÜ“ˆÜ�˜ ˜Ô$Ø�‰�AŒÜ�v‹˜vÑ&ˆÜ�T—Z‘Z×%Ñ% zÔ2Ü˜4 Õ(ñ)r/   c                  ó´  — t        j                  d«      } dD ]¾  }t        «       }t        |d| i|¬«       t	        |«      }t        |d   j                  d«       t        «       }t        |d| i|d¬«       t	        |«      }t        |d   j                  d«       t        «       }t        |d| i|d	¬«       t	        |«      }t        |d   j                  d«       ŒÀ y )
Nr@   rË   Úonedr¶   )r4   r@   Úcolumn)r·   Úoned_as)r@   r4   Úrow)r(   Úaranger   r   r   r   r)   )r,   r·   r2  r3  s       r-   Útest_1d_shaper;  B  sÊ   € ä
�)‰)�A‹,€CØò 0ˆä“ˆÜ�˜ ˜¨fÕ5Ü�v‹ˆÜ�T˜&‘\×'Ñ'¨Ô0ä“ˆÜ�˜ ˜ØØ õ	"ô �v‹ˆÜ�T˜&‘\×'Ñ'¨Ô/ä“ˆÜ�˜ ˜ØØõ	ô �v‹ˆÜ�T˜&‘\×'Ñ'¨Õ/ñ'0r/   c                  ó   — t        j                  d«      j                  d«      } d| d<   t        «       }t	        |d| i«       t        |j                  «       «      }t        |«      }t        |d   | «       t        «       }t	        |d| id¬«       t        |j                  «       «      }t        |«      }t        |d   | «       t        ||kD  «       | j                  «       }d|d<   t        «       }t	        || |d	œd
¬«       t        |«      }t        |d   |«       t        «       }t	        || |d	œd¬«       t        |«      }t        |d   |«       y )Néd   )r@   r×   r4   )rR   r"  r,   T)Údo_compressionrF   )r,   Úarr2Fr?  )r(   rÜ   Úreshaper   r   rÆ   r'  r   r	   r   Úcopy)r,   r2  Úraw_lenr3  Úcompressed_lenr?  s         r-   Útest_compressionrD  [  s  € Ü
�(‰(�3‹-×
Ñ
 Ó
'€CØ€Cˆ�IÜ‹Y€FÜˆF�U˜3�KÔ Ü�&—/‘/Ó#Ó$€GÜ�6‹?€DÜ�t˜E‘{ CÔ(Ü‹Y€FÜˆF�U˜3�K°Õ5Ü˜Ÿ™Ó*Ó+€NÜ�6‹?€DÜ�t˜E‘{ CÔ(ÜˆG�nÑ$Ô%à�8‰8‹:€DØ€Dˆ�IÜ‹Y€FÜˆF˜3 tÑ,¸UÕCÜ�6‹?€DÜ�t˜F‘| TÔ*Ü‹Y€FÜˆF˜3 tÑ,¸TÕBÜ�6‹?€DÜ�t˜F‘| TÕ*r/   c                  óf   — t        «       } t        | dt        j                  dt        ¬«      i«       y )NÚAr4   r2   )r   r   r(   r   rw   )r2  s    r-   Útest_single_objectrG  v  s#   € Ü‹Y€FÜˆF�SœŸ™ !¬6Ô2Ð3Õ4r/   c                  ó  — t        t        d«      } t        | d¬«      }t        d|v «       t        d|v «       t	        | d¬«      \  }}|j                  d«      }t        d|v «       |j                  j                  «        y )Nztest_skip_variable.matTrî   ÚfirstÚsecond)rÃ   rÄ   r   r   r   Úget_variablesr¹   rß   )rò   rü   ÚfactoryÚfile_openeds       r-   Útest_skip_variablerN  {  sz   € ô ”^Ð$<Ó=€Hô 	�¨4Ô0€AÜˆG�qˆLÔÜˆH˜ˆMÔô .¨hÈÔNÑ€Gˆ[ð 	×Ñ˜hÓ'€AÜˆH˜ˆMÔØ×Ñ×ÑÕr/   c                  ó„  — t        t        d«      } t        | d¬«      }|d   }t        |j                  d«       t        |j
                  t        j
                  t        «      «       t        |d   d u «       t        «       }t        j                  dd¬	«      }t        |d
|i«       t        |«      }|d
   }t        ||«       y )Nztest_empty_struct.matTrî   rK   rU   rF   r‚   ÚUr2   r,   )rÃ   rÄ   r   r   r)   r3   r(   rw   r   r   r   r   r	   )rò   rü   rK   r2  r,   Úa2s         r-   Útest_empty_structrR  ™  sœ   € ä”^Ð$;Ó<€Hô 	�¨4Ô0€AØ	ˆ#‰€AÜ�—‘˜%Ô Ü�—‘œ"Ÿ(™(¤6Ó*Ô+ÜˆAˆc‰F�dˆNÔÜ‹Y€FÜ
�(‰(�2˜SÔ
!€CäˆF�U˜3�KÔ Ü�‹€AØ	
ˆ5‰€BÜ�r˜3Õr/   c                  óú   — t        «       } t        | di i«       t        | «      }|d   }t        |j                  d«       t        |j
                  t        j
                  t        «      «       t        |d   d u «       y )Nr,   rU   rF   rý   )r2  rü   rK   s      r-   Útest_save_empty_dictrT  ¬  s^   € ä‹Y€FÜˆF�U˜B�KÔ Ü�‹€AØ	ˆ%‰€AÜ�—‘˜%Ô Ü�—‘œ"Ÿ(™(¤6Ó*Ô+ÜˆAˆc‰F�dˆNÕr/   c                 ód   — d}|D ]  }t        j                  | |k(  «      sŒd} n t        |«       y)zH Assert `output` is equal to at least one element in `alternatives`
    FTN)r(   Úallr   )ÚoutputÚalternativesÚ	one_equalr9   s       r-   Úassert_any_equalrZ  ·  s;   € ð €IØ ò ˆÜ�6‰6�&˜HÑ$Õ%ØˆIÙðô ˆIÕr/   c                  ó  — t        t        j                  dg«      «      } t        | j                  d«       t        | d«       t        j                  dgddg¬«      }t        j                  dgddg¬«      }||f}t        t        ddd	œ«      |«       t        t        ddd
dœ«      |«       t        t        ddd
dœ«      |«       t        t        ddd
dœ«      |«        G d„ d«      }|}d|_        d|_        t        t        |«      |«       t        g «      } t        | j                  d«       t        | j                  j                  t        j                  «       t        d«      } t        | j                  d«       t        | j                  j                  t        j                  «       t        t        d «      d u «       t        t        d«      j                  j                  t        j                  «       t        d«      } t        | j                  d«       t        | j                  j                  t        j                  d«      j                  j                  «       t        | d«       t        t        i «      t        u «       t        t        t        «       «      d u «        G d„ d«      }t        t         |«       «      t        u «       t        ddi«      d   } t        | j                  d«       t        | j                  j                  t        j                   «       t        t        ddi«      t        u «       t        t        ddi«      t        u «       t        t        dddœ«      t        j                  dgdg¬«      «       y )Nr4   )r4   re   )rK   ú|O8)r-  r\  r2   )rR   r4   rR   r.  r?   )rK   r-  Ú_c)rK   r-  r=  )rK   r-  Ú99c                   ó   — e Zd Zy)ú test_to_writeable.<locals>.klassN©Ú__name__Ú
__module__Ú__qualname__r‚   r/   r-   Úklassr`  Ô  ó   „ Ør/   re  ©r   r‚   úa stringc                   ó   — e Zd Zy)útest_to_writeable.<locals>.CNra  r‚   r/   r-   ÚCrj  ñ  rf  r/   rk  rK   Ú1Ú_a)rl  rë   ©rR   )rë   r\  )r#   r(   r   r   r)   r	   rZ  rK   r-  r3   rƒ   Úfloat64r   r™   r$   rw   Úobject_)ÚresÚ	expected1Ú	expected2rX  re  Úcrk  s          r-   Útest_to_writeableru  Â  sŽ  € ä
”r—x‘x  “}Ó
%€CÜ�—‘˜DÔ!Ü�s˜AÔä—‘˜&˜¨,¸Ð)EÔF€IÜ—‘˜&˜¨,¸Ð)EÔF€IØ˜yÐ)€LÜ”\ q¨Q¡-Ó0°,Ô?ä”\ q¨Q°QÑ"7Ó8¸,ÔGä”\ q¨Q°AÑ"6Ó7¸ÔFä”\ q¨Q°QÑ"7Ó8¸,ÔG÷ñ ð 	€AØ
€A„CØ
€A„CÜ”\ !“_ lÔ3ä
�rÓ
€CÜ�—‘˜DÔ!Ü�—‘—‘¤§¡Ô,Ü
�rÓ
€CÜ�—‘˜DÔ!Ü�—‘—‘¤§¡Ô,äŒL˜Ó $Ð&Ô'ä”˜jÓ)×/Ñ/×4Ñ4´b·g±gÔ>ä
�q‹/€CÜ�—‘˜BÔÜ�—‘—‘¤§¡¨!£×!2Ñ!2×!7Ñ!7Ô8Ü�s˜AÔäŒL˜ÓÔ 1Ð1Ô2äŒLœ›Ó" dÐ*Ô+÷ñ ô ŒL™›ÓÔ!2Ð2Ô3ä
˜˜Q�xÓ
  Ñ
%€CÜ�—‘˜DÔ!Ü�—‘—‘¤§¡Ô,äŒL˜#˜a˜Ó!Ô%6Ð6Ô7ÜŒL˜$˜q˜Ó"Ô&7Ð7Ô8ä” 1¨1™oÓ.Ü—‘˜4˜&¨¨Ô7õ9r/   c                  óH  — ddg} t        j                  d| ¬«      }d|d   d<   d|d   d	<   d
|d   d<   d|d   d	<   t        «       }t        |d|i«       t	        |d¬«      }|d   d   }t        |j                  d«       t        |j                  d«       t	        |d¬«      }|d   d   }t        |d   d«       t        |d	   d«       t        |j                  t        j                  ddg«      «       |d   j                  d   }t        |d   d
«       t        |d	   d«       y )N)Úf1Úf8)Úf2ÚS10rn  r2   g      à?r   rw  Úpythonry  éc   r4   znot perlr,   Frî   rF   T)rw  ÚO)ry  r}  )
r(   rÜ   r   r   r   r   rw  ry  r3   Úflat)Údtr,   r2  rü   Úa20Úa21s         r-   Útest_recarrayr‚    s#  € à
Ø
ð
€Bä
�(‰(�4˜rÔ
"€CØ€Cˆ�Fˆ4�LØ€Cˆ�Fˆ4�LØ€Cˆ�Fˆ4�LØ€Cˆ�Fˆ4�LÜ‹Y€FÜˆF�U˜C�LÔ!Ü�¨Ô/€AØ
ˆE‰(�3‰-€CÜ�—‘˜ÔÜ�—‘˜Ô"Ü�¨Ô.€AØ
ˆE‰(�3‰-€CÜ��T‘˜CÔ Ü��T‘˜HÔ%ä�—‘œBŸH™H kØ&1ð&3ó 4ô 5à
ˆE‰(�-‰-˜Ñ
€CÜ��T‘˜BÔÜ��T‘˜JÕ'r/   c                  óZ  —  G d„ d«      }  | «       }d|_         d|_        t        «       }t        |d|i«       t	        |d¬«      }|d   d   }t        |j                   d«       t        |j                  d«       t	        |d	¬«      }|d   d   }t        |d
   d«       t        |d   d«       y )Nc                   ó   — e Zd Zy)útest_save_object.<locals>.CNra  r‚   r/   r-   rk  r…    rf  r/   rk  r4   rh  rt  Frî   rF   TÚfield1Úfield2)r†  r‡  r   r   r   r   )rk  rt  r2  rü   Úc2s        r-   Útest_save_objectr‰    s    € ÷ñ á	‹€AØ€A„HØ€A„HÜ‹Y€FÜˆF�S˜!�HÔÜ�¨Ô/€AØ	
ˆ3‰�‰€BÜ�—‘˜AÔÜ�—‘˜JÔ'Ü�¨Ô.€AØ	
ˆ3‰�‰€BÜ��H‘˜qÔ!Ü��H‘˜zÕ*r/   c                  ó¦  — t        j                  d«      j                  dd«      } t        «       }t	        |d| i«       t        |«      }|j                  «       }|d   }t        || «       t        |d¬«      }t        |j                  «       d   | j                  d«      «       d|_        t        || «       t        |t        j                  ¬«      }t        |j                  «       d   | «       t        |t        j                  ¬«      }t        t        |j                  «       t        j                  |_        t        |j                  «       d   | «       t        j                  d	g«      } |j!                  d
«       |j#                  d
«       t	        |d| i«       t        |«      }t        |j                  «       d   | «       t        |d¬«      }t        j$                  t        j                  t'        | j)                  «       «      d¬«      «      }t        |j                  «       d   |«       d|_        t        |j                  «       d   | «       y )NrA   r4   rK   T©Ú
squeeze_me)rA   F)Ú
byte_orderrh  r   )Úchars_as_stringsÚU1r2   )r(   r:  r@  r   r   r!   rK  r	   rŒ  ÚbocÚnative_codeÚswapped_coderï   Ú	Exceptionr�  r   r(  r¸   Ú
atleast_2dÚlistr…   rŽ  )r,   r2  ÚrdrÚ	back_dictÚrarrÚcarrs         r-   Útest_read_optsrš  .  sÊ  € ô �)‰)�A‹,×
Ñ
˜q Ó
#€CÜ‹Y€FÜˆF�S˜#�JÔÜ
˜Ó
 €CØ×!Ñ!Ó#€IØ�S‰>€DÜ�t˜SÔ!Ü
˜¨DÔ
1€CÜ�s×(Ñ(Ó*¨3Ñ/°·±¸TÓ1BÔCØ€C„NÜ�t˜SÔ!Ü
˜¬C¯O©OÔ
<€CÜ�s×(Ñ(Ó*¨3Ñ/°Ô5ô ˜¬C×,<Ñ,<Ô
=€CÜ”)˜S×.Ñ.Ô/Ü—_‘_€C„NÜ�s×(Ñ(Ó*¨3Ñ/°Ô5Ü
�(‰(�J�<Ó
 €CØ
‡O�O�AÔØ
‡K�K�„NÜˆF�S˜#�JÔÜ
˜Ó
 €CÜ�s×(Ñ(Ó*¨3Ñ/°Ô5Ü
˜°%Ô
8€CÜ�=‰=œŸ™¤$ s§x¡x£zÓ"2¸$Ô?Ó@€DÜ�s×(Ñ(Ó*¨3Ñ/°Ô6Ø€CÔÜ�s×(Ñ(Ó*¨3Ñ/°Õ5r/   c                  óØ  — t        t        d«      } t        | d«      }t        |«      }|j	                  «       }|j                  «        t        |d   t        j                  g d¬«      «       t        «       }t        |dt        j                  dg«      i«       t        |«      }|j	                  «       }t        |d   t        j                  g d¬«      «       |j                  d«       |j                  d«       t        |dt        j                  g d¬«      i«       t        |«      }|j	                  «       }t        |d   t        j                  g d¬«      «       |j                  «        y )Nzsingle_empty_string.matry   rK   r�  r2   Ú r   )rÃ   rÄ   rÞ   r!   rK  rß   r	   r(   r   r   r   r(  r¸   )Úestring_fnameró   r–  rü   r2  s        r-   Útest_empty_stringrž  Q  s  € äœ.Ð*CÓD€MÜ	ˆm˜TÓ	"€BÜ
˜Ó
€CØ×ÑÓ€AØ‡H�H„JÜ�q˜‘vœrŸx™x¨°$Ô7Ô8ô ‹Y€FÜˆF�Sœ"Ÿ(™( B 4›.Ð)Ô*Ü
˜Ó
 €CØ×ÑÓ€AÜ�q˜‘vœrŸx™x¨°$Ô7Ô8Ø
‡O�O�AÔØ
‡K�K�„NÜˆF�Sœ"Ÿ(™( 2¨TÔ2Ð3Ô4Ü
˜Ó
 €CØ×ÑÓ€AÜ�q˜‘vœrŸx™x¨°$Ô7Ô8Ø
‡L�L…Nr/   c                  óè   — dd l } t        df| j                  dffD ]I  \  }}t        t	        t
        |«      d«      5 }t        |«      }t        ||j                  «       d d d «       ŒK y # 1 sw Y   ŒVxY w)Nr   úcorrupted_zlib_data.matzcorrupted_zlib_checksum.matry   )	Úzlibr  rö   rÞ   rÃ   rÄ   r!   rï   rK  )r¡  Úexcrå   ró   r–  s        r-   Útest_corrupted_datar£  l  sx   € ÛÜ"Ð$=Ð>ØŸ
™
Ð$AÐBðDò 2‰
ˆˆUä”%œ¨Ó.°Ó5ð 	2¸Ü  Ó$ˆCÜ˜#˜s×0Ñ0Ô1÷	2ð 	2ñ2÷	2ð 	2ús   »"A(Á(A1	c                  óœ   — t        t        t        d«      d«      5 } t        | d¬«      }|j	                  «        d d d «       y # 1 sw Y   y xY w)Nr   ry   F)Ú verify_compressed_data_integrity)rÞ   rÃ   rÄ   r!   rK  )ró   r–  s     r-   Ú)test_corrupted_data_check_can_be_disabledr¦  u  sC   € Ü	Œe”NÐ$=Ó>ÀÓ	Eð ÈÜ˜RÀ%ÔHˆØ×ÑÔ÷÷ ñ ús   ›AÁAc            	      ód  — dD ]«  } t        t        t        | «      d«      }t        |«      }|j	                  «       }|j                  «        t        |d   t        j                  dgdggt        ¬«      «       t        |d   t        j                  dd	gd	d
ggt        j                  ¬«      «       Œ­ y )N)zbig_endian.matzlittle_endian.matry   ÚstringsÚhelloÚworldr2   Úfloatsç       @ç      @ç      @)rÞ   rÃ   rÄ   r!   rK  rß   r	   r(   r   rw   Úfloat32)rå   ró   r–  rü   s       r-   Útest_read_both_endianr°  {  sª   € à8ò 
CˆÜ”%œ¨Ó.°Ó5ˆÜ˜RÓ ˆØ×ÑÓˆØ
�‰Œ
Ü˜1˜Y™<ÜŸ8™8 g YØ&- Yð%0Ü7=ô?ô	@ô 	˜1˜X™;ÜŸ8™8 b¨" XØ&(¨" Xð%/Ü68·j±jôBõ	Cñ
Cr/   c            	      óÖ  — t        j                  ddgddgg«      } t        j                  d«      j                  d«      }t        j                  ddgd¬	«      }t	        «       }t        || j                  «       j                  | j                  j                  «       «      |j                  «       j                  |j                  j                  «       «      |j                  «       j                  |j                  j                  «       «      d
œ«       t        |«      }|j                  «       }t        |d   | «       t        |d   |«       t        |d   |«       |j                  «        y )Nr¬  r­  r®  rA   rØ   r©  rª  rP  r2   )r«  ÚintsÚuni_arrr«  r²  r³  )r(   r   r:  r@  r   r   ÚbyteswapÚviewr3   Únewbyteorderr!   rK  r	   rß   )Ú	float_arrÚint_arrr³  r2  r–  rü   s         r-   Útest_write_opposite_endianr¹  Š  s   € ô —‘˜2˜r˜(Ø˜r˜(ð$ó %€Iä�i‰i˜‹l×"Ñ" 6Ó*€GÜ�h‰h˜ Ð)°Ô5€GÜ‹Y€FÜˆFØ×$Ñ$Ó&×+Ñ+¨I¯O©O×,HÑ,HÓ,JÓKØ× Ñ Ó"×'Ñ'¨¯©×(BÑ(BÓ(DÓEØ×#Ñ#Ó%×*Ñ*¨7¯=©=×+EÑ+EÓ+GÓHñô ô
 ˜Ó
 €CØ×ÑÓ€AÜ�q˜‘{ IÔ.Ü�q˜‘y 'Ô*Ü�q˜‘| WÔ-Ø
‡L�L…Nr/   c                  óR  — t        t        t        d«      d«      5 } t        | d¬«      }|j	                  «       }d d d «       t        j                  dgdggt
        j                  ¬«      }t        d   |«       t        |d   j                  |j                  «       y # 1 sw Y   ŒexY w)Nztestbool_8_WIN64.matry   T©Ú	mat_dtypeFr2   r}   )rÞ   rÃ   rÄ   r!   rK  r(   r   rš   r	   r   r3   )Úfobjr–  rü   rv   s       r-   Útest_logical_arrayr¾  Ÿ  sŒ   € ô 
Œe”NÐ$:Ó;¸TÓ	Bð  ÀdÜ˜T¨TÔ2ˆØ×ÑÓˆ÷ ô 	�‰�4�&˜5˜'Ð"¬"¯(©(Ô3€AÜ�q˜‘~ qÔ)Ü��;‘×%Ñ% q§w¡wÕ/÷ ð  ús   ›BÂB&c                  óô  — t        «       } t        j                  g d¢«      }t        | d|i«       | j	                  d«       t        | «      }|j                  «        |j                  «        |j                  «       \  }}t        |j                  t        j                  «       t        |j                  d«       |j                  |d«      }t        |j                  j                   t        j"                  «       y )N)FTFÚbarrayr   TF)r   r(   r   r   r¸   r!   Úinitialize_readÚread_file_headerÚread_var_headerr   ÚmclassÚmio5pÚmxUINT8_CLASSÚ
is_logicalÚread_var_arrayr3   rƒ   Úuint8)r2  ÚbarrÚreaderÚhdrÚ_Úvars         r-   Útest_logical_out_typerÏ  ª  s²   € ô ‹Y€FÜ�8‰8Ò(Ó)€DÜˆF�X˜tÐ$Ô%Ø
‡K�K�„NÜ˜FÓ#€FØ
×ÑÔØ
×ÑÔØ×#Ñ#Ó%�F€CˆÜ�—‘œU×0Ñ0Ô1Ü�—‘ Ô&Ø
×
Ñ
  UÓ
+€CÜ�—‘—‘¤§¡Õ*r/   c                  ó˜   — t        «       } t        | dt        j                  d«      i«       t	        | «      }|d   j
                  dk(  sJ ‚y )Nrü   )r"  r   )r   r   r(   Úemptyr   r)   )r2  rü   s     r-   Útest_roundtrip_zero_dimensionsrÒ  »  s@   € Ü‹Y€FÜˆF�SœŸ™ 'Ó*Ð+Ô,Ü�‹€AØˆS‰6�<‰<˜7Ò"Ð"Ñ"r/   c                  ó”   — t        «       } t        j                  d«      j                  d«      }t	        t
        t        | d|idd«       y )Né   )rR   r?   r0   rK   Tr¼   )r   r(   r:  r@  rï   r  r   )r2  r,   s     r-   Útest_mat4_3drÕ  Â  s7   € ä‹Y€FÜ
�)‰)�B‹-×
Ñ
 Ó
(€CÜ”*œg v°°S¨z¸4ÀÕEr/   c                  ó  — t        t        d«      } t        | d«      }t        |«      }|j	                  «       }|j                  «        t        |d   t        «      sJ ‚t        «       }t        |«      }t        t        |j                  |«       y )Nztestfunc_7.4_GLNX86.matry   Útestfunc)rÃ   rÄ   rÞ   r!   rK  rß   r‘   r   r   r    rï   r   r&  )Úfunc_egró   r–  rü   r2  r)  s         r-   Útest_func_readrÙ  É  ss   € Ü”NÐ$=Ó>€GÜ	ˆg�tÓ	€BÜ
˜Ó
€CØ×ÑÓ€AØ‡H�H„JÜ�a˜
‘m¤^Ô4Ð4Ð4Ü‹Y€FÜ
˜Ó
 €CÜ”- ×!2Ñ!2°AÕ6r/   c                  ó”  — t        t        d«      } t        | d«      }t        |d¬«      }|j	                  «       }|j                  «        t        |d   j                  j                  d«       t        | d«      }t        |d¬«      }|j	                  «       }|j                  «        t        |d   j                  j                  d«       y )	Nztestmatrix_6.1_SOL2.matry   Fr»  rC   ÚuTrë   )	rÃ   rÄ   rÞ   r!   rK  rß   r   r3   Úkind)Ú	double_egró   r–  rü   s       r-   Útest_mat_dtyperÞ  Õ  s¡   € Ü”nÐ&?Ó@€IÜ	ˆi˜Ó	€BÜ
˜ uÔ
-€CØ×ÑÓ€AØ‡H�H„JÜ��<‘×&Ñ&×+Ñ+¨SÔ1ä	ˆi˜Ó	€BÜ
˜ tÔ
,€CØ×ÑÓ€AØ‡H�H„JÜ��<‘×&Ñ&×+Ñ+¨SÕ1r/   c                  óÔ   — dt        d«      i} t        «       }t        |d| i«       t        |d¬«      }t	        |d   d   d   j                  «       t        j                  d«      «       y )NÚsparsefieldr0   rK   Trî   rF   )r   r   r   r   r	   r�   r(   Úeye)Ústr2  rü   s      r-   Útest_sparse_in_structrã  ä  s[   € ð œ 1›Ð	&€BÜ‹Y€FÜˆF�S˜�HÔÜ�¨Ô.€AÜ�q˜‘v˜d‘| MÑ2×:Ñ:Ó<¼b¿f¹fÀQ»iÕHr/   c                  ót   — t        «       } ddddœi}t        | |«       t        | d¬«       t        | dd¬«       y )	Nrâ  r4   rR   ri   Frî   T)r¤   rŒ  )r   r   r   )r2  Úin_ds     r-   Útest_mat_struct_squeezeræ  î  s8   € Ü‹Y€FØ˜ Ñ#Ð$€DÜˆF�DÔäˆF UÕ+äˆF U°tÖ<r/   c                  ó  — t        «       } dggddddœdœ}t        | |«       t        | d¬«      }t        t	        |d	   t
        «      «       t        t	        |d
   t        «      «       t        t	        |d   t        j                  «      «       y )Nçš™™™™™¹?zmy namer4   rR   ri   )Úscalarr:   râ  Tr‹  ré  r:   râ  )	r   r   r   r   r‘   Úfloatr˜   r(   r„   )r2  rå  Úout_ds      r-   Útest_scalar_squeezerì  ø  sq   € Ü‹Y€FØ�u�g¨ÀÈÑ9KÑL€DÜˆF�DÔÜ�F tÔ,€EÜŒJ�u˜X‘¬Ó.Ô/ÜŒJ�u˜X‘¬Ó,Ô-ÜŒJ�u˜T‘{¤B§J¡JÓ/Õ0r/   c                  óÀ  — t        «       } t        j                  ddg«      }t        j                  ddg«      }t        | t	        |¬«      «       t        | «      }t        |d   |«       | j                  d«       | j                  d«       |j                  d¬«      }t        j                  t        j                  |j                  d|¬	«      }t        | t	        |¬«      «       t        |d   |«       | j                  d«       | j                  d«       |j                  d
«      }|j                  d
«      }t        | d|i«       t        | «      }t        |d   |«       y )Nr  ÚFoobzFoob )rK   rK   r   ÚF)Úorder)r)   r3   rð  ÚbufferrP  )r   r(   r   r   rÅ   r   r	   r(  r¸   Útobytesr„   rK   r)   r3   Úastype)r2  Úin_arrÚout_arrrq  Úin_strÚin_from_strÚin_arr_uÚ	out_arr_us           r-   Útest_str_roundrú    s  € ä‹Y€FÜ�X‰X�w Ð'Ó(€FÜ�h‰h˜ Ð)Ó*€GÜˆF”D˜6”NÔ#Ü
�&‹/€Cä�s˜3‘x Ô)Ø
‡O�O�AÔØ
‡K�K�„Nà�^‰^ #ˆ^Ó&€FÜ—*‘*¤1§7¡7Ø#)§<¡<Ø#&Ø$*ô,€Kô ˆF”D˜;Ô'Ô(Ü�s˜3‘x Ô)à
‡O�O�AÔØ
‡K�K�„NØ�}‰}˜SÓ!€HØ—‘˜sÓ#€IÜˆF�S˜(�OÔ$Ü
�&‹/€CÜ�s˜3‘x Õ+r/   c                  ó°   — t        «       } t        | ddddœi«       t        | «      }|d   j                  j                  }t        t        |«      ddh«       y )NrK   r4   rR   r.  r-  )r   r   r   r3   r/  r   Úset)r2  rq  Úfield_namess      r-   Útest_fieldnamesrþ    sK   € ä‹Y€FÜˆF�S˜q a™.Ð)Ô*Ü
�&‹/€CØ�c‘(—.‘.×&Ñ&€KÜ”�[Ó! C¨ :Õ.r/   c                  óx  — g d¢} t        t        d«      g ft        t        d«      | ffD �]Ž  \  }}t        |«      }t        t	        |j                  «       «      t	        ddg|z   «      «       t        |d¬«      }t        t	        |j                  «       «      t	        dg|z   «      «       t        |dg¬«      }t        t	        |j                  «       «      t	        dg|z   «      «       t        |dg¬«      }t        t	        |j                  «       «      t	        dg|z   «      «       t        |d¬«      }t        t	        |j                  «       «      t	        dg|z   «      «       t        |g ¬«      }t        t	        |j                  «       «      t	        |«      «       dg}t        ||¬«      }t        |dg«       �Œ‘ y )N)Ú__globals__Ú
__header__Ú__version__ztestmulti_4.2c_SOL2.matztestmulti_7.4_GLNX86.matrK   rJ   )Úvariable_names)rJ   )rÃ   rÄ   r   r   rü  Úkeys)Úmat5_sys_namesÚeg_fileÚsys_v_namesÚvarsÚvnamess        r-   Útest_loadmat_varnamesr
  (  sv  € ò%€Nô 
Œ~Ð8Ó	9¸2Ð>ÄÜÐ6óB8Ø9GðAIð!Jó (Ñˆ�ô �wÓˆÜ”S˜Ÿ™›Ó%¤s¨C°¨>¸KÑ+GÓ'HÔIÜ�w¨sÔ3ˆÜ”S˜Ÿ™›Ó%¤s¨C¨5°;Ñ+>Ó'?Ô@Ü�w°¨uÔ5ˆÜ”S˜Ÿ™›Ó%¤s¨C¨5°;Ñ+>Ó'?Ô@Ü�w°¨yÔ9ˆÜ”S˜Ÿ™›Ó%¤s¨G¨9°{Ñ+BÓ'CÔDÜ�w¨zÔ:ˆÜ”S˜Ÿ™›Ó%¤s¨G¨9°{Ñ+BÓ'CÔDÜ�w¨rÔ2ˆÜ”S˜Ÿ™›Ó%¤s¨;Ó'7Ô8Ø�ˆÜ�w¨vÔ6ˆÜ�V˜g˜YÖ'ñ#(r/   c                  ó<  — t        j                  d«      } t        «       }dD ]x  }|j                  d«       |j	                  d«       t        |d| j                  |«      i«       t        |«      }t        t        j                  |«      |d   j                  «       Œz y )Nr"  )rx  Úf4Úi8Úi4Úi2Úi1Úu8Úu4Úu2Úu1Úc16Úc8r   r,   )
r(   r:  r   r(  r¸   r   ró  r   r   r3   )r,   r2  Údtsr  s       r-   Útest_round_typesr  A  sz   € ä
�)‰)�B‹-€CÜ‹Y€Fð0ò 7ˆà�‰˜ÔØ�‰�AŒÜ�˜ §
¡
¨3£Ð0Ô1Ü�v‹ˆÜ”R—X‘X˜c“] D¨¡K×$5Ñ$5Õ6ñ7r/   c                  ó’  ‡	— dt        t        j                  d«      «      fdt        d«      fdt        d«      ffŠ	 G ˆ	fd„d«      } t        «       }t	        | | «       «       t        |«      }t        t        |«      d«       t        d«      D ]8  }||   \  }}‰	|   \  }}t        ||«       t        |«      }t        ||   |«       Œ: y )	Nr,   r"  Úmystrrh  Úmynumc                   ó   •— e Zd Zˆ fd„Zy)ú test_varmats_from_mat.<locals>.Cc                 ó   •— ‰S rÐ   r‚   )ÚselfÚ
names_varss    €r-   r¨   z&test_varmats_from_mat.<locals>.C.itemsV  s	   ø€ ØÐr/   N)rb  rc  rd  r¨   )r   s   €r-   rk  r  U  s   ø„ õ	r/   rk  r?   )r.   r(   r:  r   r   r"   r   rÆ   Úranger   r	   )
rk  r2  Úvarmatsrž   r7   Ú
var_streamÚexp_nameÚexp_resrq  r   s
            @r-   Útest_varmats_from_matr&  N  sÀ   ø€ àœ%¤§	¡	¨"£Ó.Ð/ØœE *Ó-Ð.ØœE "›IÐ&ð(€J÷
ó ô ‹Y€FÜˆF‘A“CÔÜ˜vÓ&€GÜ”�W“˜qÔ!Ü�1‹Xò /ˆØ" 1™:ÑˆˆjØ& q™MÑˆ�'Ü�T˜8Ô$Ü�jÓ!ˆÜ˜3˜t™9 gÕ.ñ/r/   c                  óÄ   — t        t        d«      } t        | d«      }t        |«      }|j	                  «       }|j                  «        t        |d   j                  d«       y )Nzone_by_zero_char.matry   rÎ  rg  )rÃ   rÄ   rÞ   r!   rK  rß   r   r)   )rØ  ró   r–  rü   s       r-   Útest_one_by_zeror(  d  sN   € ä”NÐ$:Ó;€GÜ	ˆg�tÓ	€BÜ
˜Ó
€CØ×ÑÓ€AØ‡H�H„JÜ��5‘—‘ Õ&r/   c                  ó^   — t        t        d«      } t        | «      }t        |d   ddgg«       y )Nztest_mat4_le_floats.matrK   rè  g333333ó?)rÃ   rÄ   r   r	   )Ú
mat4_fnamer  s     r-   Útest_load_mat4_ler+  n  s/   € ô ”~Ð'@ÓA€JÜ�:Ó€DÜ�t˜C‘y C¨ : ,Õ/r/   c                  óv   — t        «       } ddi}t        | |d¬«       t        | «      }t        |d   |d   «       y )NÚ
second_catu   SchrÃ¶dingerr¼   r¶   )r   r   r   r   )ÚbiorÎ  Úvar_backs      r-   Útest_unicode_mat4r0  v  s<   € ä
‹)€CØ˜Ð
(€CÜˆC�˜SÕ!Ü�s‹|€HÜ�˜,Ñ'¨¨\Ñ):Õ;r/   c            	      óB  — t        t        d«      } t        | dd¬«      }|d   }t        t	        |«      xr |j
                  dk(  «       t        |j                  j                  t        j                  «       t        |j                  «       g d¢g d¢g d¢g d	¢g d	¢g«       y )
Nzlogical_sparse.matTFr£   Ú
sp_log_5_4Úcsc)TTTF)FFTF)FFFF)rÃ   rÄ   r   r   r   r·   r   r3   rƒ   r(   rš   r	   r�   )rò   rü   Úlog_sps      r-   Útest_logical_sparser5    s‚   € ô ”^Ð$8Ó9€Hô 	�¨4¸%Ô@€AØˆ|‰_€FÜŒH�VÓÒ7 §¡°%Ñ!7Ô8Ü�—‘×"Ñ"¤B§H¡HÔ-Ü�v—~‘~Ó'Ú1Ú3Ú3Ú4Ú4ð	6õ7r/   c                  ó  — t        «       } dd l}|j                  j                  ddgddgg«      }t	        | t        |¬«      «       | j                  d«       t        | d¬«      }|j                  j                  |d   «      rJ ‚t        | d¬«      }|j                  j                  |d   «      sJ ‚t        | «      }|j                  j                  |d   «      sJ ‚t        |d   j                  |j                  «       t        |d   j                  «       d«       | j                  d«       t        | «      }|j                  «        |j                  «        |j                  «       \  }}t!        |j"                  d«       y )Nr   rè   F)r¥   rv   Tr4   )r   Úscipy.sparserD   Ú	csr_arrayr   rÅ   r¸   r   Ú
isspmatrixr	   r)   r�   r!   rÁ  rÂ  rÃ  r   Únzmax)rþ   ÚscipyÚempty_sparserq  rË  rÌ  rÍ  s          r-   Útest_empty_sparser=  ”  s9  € ä
‹)€CÛØ—<‘<×)Ñ)¨A¨a¨5°!°A°¨-Ó8€LÜˆC”˜Ô%Ô&Ø‡H�HˆQ„Kä
�# Ô
&€CØ�|‰|×&Ñ& s¨3¡xÔ0Ð0Ð0Ü
�# Ô
%€CØ�<‰<×"Ñ" 3 s¡8Ô,Ð,Ð,Ü
�#‹,€CØ�<‰<×"Ñ" 3 s¡8Ô,Ð,Ð,ä�s˜3‘x—~‘~ |×'9Ñ'9Ô:Ü�s˜3‘x×'Ñ'Ó)¨1Ô-ð ‡H�HˆQ„KÜ˜CÓ €FØ
×ÑÔØ
×ÑÔØ×#Ñ#Ó%�F€CˆÜ�—‘˜AÕr/   c                  óB   — t        «       } t        t        t        | «       y rÐ   )r   rï   r   r   )rþ   s    r-   Útest_empty_mat_errorr?  ¯  s   € ä
‹)€CÜ”,¤¨Õ-r/   c                  ó
  — t        t        d«      } t        | «      }t        |d   t	        j
                  d«      d d d …f   «       t        t        d«      } t        t        «      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nzmiuint32_for_miint32.matÚan_arrayr"  zbad_miuint32.mat)rÃ   rÄ   r   r   r(   r:  rï   r  ©rò   rq  s     r-   Útest_miuint32_compromiserC  µ  sl   € ô ”^Ð%?Ó@€HÜ
�(Ó
€CÜ��Z‘¤"§)¡)¨B£-°²a°Ñ"8Ô9ä”^Ð%7Ó8€HÜ	”zÓ	"ñ Ü�Ô÷÷ ñ ús   Á$A9Á9Bc                  óÚ   — t        t        d«      } t        | «      }t        |d   dgg«       t        t        d«      } t	        t
        «      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nzmiutf8_array_name.matÚ
array_namer4   zbad_miutf8_array_name.mat)rÃ   rÄ   r   r   rï   r  rB  s     r-   Ú!test_miutf8_for_miint8_compromiserF  Á  s^   € ä”^Ð%<Ó=€HÜ
�(Ó
€CÜ��\Ñ" a S EÔ*ä”^Ð%@ÓA€HÜ	”zÓ	"ñ Ü�Ô÷÷ ñ ús   ÁA!Á!A*c                  óx   — t        t        d«      } t        | «      }t        |d   dj	                  dd«      «       y )Nzbroken_utf8.matÚ
bad_strings   € am brokenÚutf8Úreplace)rÃ   rÄ   r   r   ÚdecoderB  s     r-   Útest_bad_utf8rL  Ì  s8   € ä”^Ð$5Ó6€HÜ
�(Ó
€CÜ��\Ñ"Ø"×)Ñ)¨&°)Ó<õ>r/   c                 ó|   — t         j                  j                  t        | «      d«      }ddddœi}t	        ||«       y )Nútest.matrK   r4   Útest_str)r-  rt  )ré   Úpathr   r˜   r   )rä   rò   Ú	test_dicts      r-   Útest_save_unicode_fieldrR  Ô  s3   € Ü�w‰w�|‰|œC ›K¨Ó4€HØ˜! 
Ñ+Ð,€IÜˆH�iÕ r/   c                 óî   —  G d„ d«      } |«       }t         j                  j                  t        | «      d«      }t	        |d|i«       t        |«      }t        |d   t        j                  |«      «       y )Nc                   ó   — e Zd Zdd„Zy)ú0test_save_custom_array_type.<locals>.CustomArrayNc                 óL   — t        j                  d«      j                  dd«      S )Ng      @rR   r?   )r(   r:  r@  )r  r3   rA  s      r-   Ú	__array__z:test_save_custom_array_type.<locals>.CustomArray.__array__Ü  s   € Ü—9‘9˜S“>×)Ñ)¨!¨QÓ/Ð/r/   )NN)rb  rc  rd  rW  r‚   r/   r-   ÚCustomArrayrU  Û  s   „ ô	0r/   rX  rN  rK   )	ré   rP  r   r˜   r   r   r	   r(   r   )rä   rX  rK   rò   Úouts        r-   Útest_save_custom_array_typerZ  Ú  s[   € ÷0ñ 0ñ 	‹€AÜ�w‰w�|‰|œC ›K¨Ó4€HÜˆH�s˜A�hÔÜ
�(Ó
€CÜ�s˜3‘x¤§¡¨!£Õ-r/   c                  óX   — t        t        t        d«       t        t        t        d«       y )NzNotExistentFile00.matÚNotExistentFile00)rï   ÚOSErrorr   r‚   r/   r-   Útest_filenotfoundr^  å  s   € ä”'œ7Ð$;Ô<Ü”'œ7Ð$7Õ8r/   c                  ó*  — t        t        d«      } t        | d¬«      }t        | d¬«      }t        t	        |d   t
        «      «       t        t	        |d   t        j                  «      «       t        |d   d   t        j                  g d¢«      «       y )Nztestsimplecell.matT©Úsimplify_cellsFÚsÚmycell)rK   r-  rt  )
rÃ   rÄ   r   r   r‘   rÅ   r(   r„   r	   r   )rò   Úres1Úres2s      r-   Útest_simplify_cellsrf  ë  sm   € ä”^Ð%9Ó:€HÜ�8¨DÔ1€DÜ�8¨EÔ2€DÜŒJ�t˜C‘y¤$Ó'Ô(ÜŒJ�t˜C‘y¤"§*¡*Ó-Ô.Ü�t˜C‘y Ñ*¬B¯H©H²_Ó,EÕFr/   zversion, filt, regex))r   z_4*_*N)r4   z_5*_*N)r4   z_6*_*N)r4   ú_7*_*z^((?!hdf5).)*$)rR   rg  z.*hdf5.*)r4   z8*_*Nc                 ó
  — t        t        d|› d�«      }t        |«      }|�&|D �cg c]  }t        j                  ||«      €Œ|‘Œ }}t        |«      dkD  sJ d| › d|› �«       ‚|D ]  }t        |«      }|d   | k(  rŒJ ‚ y c c}w )Nztest*z.matr   zNo files for version r¿   )rÃ   rÄ   r   ÚreÚmatchrÆ   r   )rt   rÇ   ÚregexrÉ   r©   ÚfileÚgot_versions          r-   Útest_matfile_versionrn  õ  s£   € ô ”^ u¨T¨F°$Ð%7Ó8€HÜ�‹N€EØÐØ"'ÖM˜$¬2¯8©8°E¸4Ó+@Ñ+L’ÐMˆÐMÜˆu‹:˜Š>ð >Ø
 ˜y¨°t°fÐ=ó>ˆ>àò )ˆÜ% dÓ+ˆØ˜1‰~ Ó(Ð(Ð(ñ)ùò Ns   ¦B ÁB c                  óÎ   — t        t        t        d«      «      } t        | d   t        «      sJ ‚t        | d   j                  «       d   j                  «       d   t        «      sJ ‚y)z,Test that we can read a MatlabOpaque object.úparabola.matÚparabolar?   N)r   rÃ   rÄ   r‘   r   r…   r   ©r&   s    r-   Útest_opaquers  	  sY   € ä”5œ¨Ó8Ó9€DÜ�d˜:Ñ&¬Ô7Ð7Ð7Ü�d˜:Ñ&×+Ñ+Ó-¨aÑ0×5Ñ5Ó7¸Ñ:¼LÔIÐIÑIr/   c                  ód   — t        t        t        d«      d¬«      } t        | d   t        «      sJ ‚y)zETest that we can read a MatlabOpaque object when simplify_cells=True.rp  Tr`  rq  N)r   rÃ   rÄ   r‘   r   rr  s    r-   Útest_opaque_simplifyru    s*   € ä”5œ¨Ó8ÈÔN€DÜ�d˜:Ñ&¬Ô7Ð7Ñ7r/   c                  óü   — t        t        «      5  t        j                  j                  j
                  j                   ddd«       t        t        «      5  ddlm}  ddd«       y# 1 sw Y   Œ(xY w# 1 sw Y   yxY w)z4Test that access to previous attributes still works.Nr   ©r   )	r   ÚDeprecationWarningr;  ÚioÚmatlabÚmio5_paramsr   Úscipy.io.matlab.miobaser   rw  s    r-   Útest_deprecationr}    sa   € ô 
Ô(Ó	)ñ 1Ü�‰�‰×#Ñ#×0Ò0÷1ô 
Ô(Ó	)ñ 9Ý8÷9ð 9÷	1ð 1ú÷9ð 9ús   �/A&ÁA2Á&A/Á2A;c                 óº  — t         j                  j                  d«      }| dz  }|j                  d«      }|j                  d«      }||g}t         j                  j	                  «       5 }|j                  t        «       t        |d|idd¬«       d d d «       i }t        ||«       t        |d   d   d   |«       t        |d   d   d	   |«       y # 1 sw Y   ŒBxY w)
Ni90  z	lists.mat)r@   r?   )rA   r?   r&   T)r  r>  r   r4   )
r(   ÚrandomÚdefault_rngÚtestingÚsuppress_warningsÚfilterr%   r   r   r   )Útmp_pathÚrngÚoutfileÚ	array_oneÚ	array_twoÚlist_of_arraysÚsupÚnew_dicts           r-   Útest_gh_17992rŒ  !  sØ   € Ü
�)‰)×
Ñ
 Ó
&€CØ˜Ñ$€GØ—
‘
˜5Ó!€IØ—
‘
˜5Ó!€IØ Ð+€Nä	�‰×	%Ñ	%Ó	'ð %¨3Ø�
‰
Ô,Ô-Ü�Ø˜Ð(Ø!%Ø#õ	%÷%ð €HÜˆGØôä�H˜VÑ$ QÑ'¨Ñ*¨IÔ6Ü�H˜VÑ$ QÑ'¨Ñ*¨IÕ6÷%ð %ús   Á)'CÃCc                 ó°   — t        j                  t        d«      t        d«      gd¬«      t        j                  ddg«      dœ}| dz  }t        ||d¬«       y )	Nr<   r�  r2   r:   )Ú
char_arrayÚstring_arrayztmp.matr¼   r¶   )r(   r   r•  r   )r„  rü   r†  s      r-   Útest_gh_19659r�  6  sM   € ä—h‘h¤ V£¬d°6«lÐ;À4ÔHÜŸ™ (¨HÐ!5Ó6ñ	
€Að ˜Ñ"€GäˆG�Q˜sÖ#r/   c                  óä   — t        t        d«      } t        j                  t        j                  k(  rdnd}t        j                  t        |¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nzdebigged_m4.matz$Not enough bytes to read matrix 'a';z9Variable 'a' has byte length longer than largest possible©rj  )	rÃ   rÄ   r(   ÚintpÚint64Úpytestr   r  r   )Útruncated_matrj  s     r-   Útest_large_m4r—  @  s[   € ô œ.Ð*;Ó<€Mä—‘œ2Ÿ8™8Ò#ñ 4àHð 
ô 
�‰”z¨Ô	/ñ Ü�Ô÷÷ ñ ús   ÁA&Á&A/c                  ó   — ddl m}  y )Nr   ©r"   )Úscipy.io.matlabr"   r™  s    r-   Útest_gh_19223r›  P  s   € Þ0r/   c                  ó(  — dD ]=  } t        j                  t        d¬«      5  t        t	        d| z  «      «       d d d «       Œ? t        j                  t        d¬«      5  t        t	        d«      «       d d d «       y # 1 sw Y   Œ‚xY w# 1 sw Y   y xY w)N)rR   r0   r"  é   z Mat file appears to be truncatedr’  ó    zMat file appears to be corrupts                       )r•  r   r   r   r   ©Úns    r-   Útest_corrupt_filesr¡  S  sˆ   € àò *ˆÜ�]‰]œ<Ø!CôEñ 	*ä”G˜G a™KÓ(Ô)÷	*ð 	*ð*ô 
�‰”|Ø=ô
?ñ 'ä”˜Ó%Ô&÷'ð '÷	*ð 	*ú÷'ð 'ús   ¡A<ÁBÁ<B	ÂB)ztest%(name)s_*.mat)½ré   Úcollectionsr   Úos.pathr   rÃ   r   r   ry  r   ri  Útempfiler   r÷   rà   rÝ   Únumpy.testingr	   r
   r   r   r   r   r•  r   rï   Únumpyr(   r   r7  r   r   r   r   Úscipy.ior;  rš  r   r   r   Úscipy.io.matlab._byteordercodesrz  Ú_byteordercodesr�  Úscipy.io.matlab._miobaser   r   r   r   Úscipy.io.matlab._mior   r   r   r   Úscipy.io.matlab._mio5r    r!   r"   r#   r$   Úscipy.io.matlab._mio5_paramsÚ_mio5_paramsrÅ  Úscipy._lib._utilr%   Ú__file__rÄ   ÚmarkÚthread_unsafeÚ
pytestmarkr.   Úpir:  rê  r@  rJ   rÀ   ÚappendÚcosÚsinrÜ   rF  r•  r!  ró  r=   ÚBrw   ÚCArÁ   ÚCAErÑ  ÚobjarrÚ	transposeÚsqrtÚexpÚ
st_sub_arrr3   r	  ÚCNrÉ  Úst2rK   ÚODTÚMOÚm0rÞ   Úfp_u_strÚreadrK  Úu_strrß   rÂ   ÚrepeatrŠ   r–   r¯   r´   rº   rÊ   ÚparametrizerÎ   rÑ   rÕ   ræ   rì   rô   rú   r   r
  r  r  r  r  r   r+  r4  r;  rD  rG  rN  rR  rT  rZ  ru  r‚  r‰  rš  rž  r£  r¦  r°  r¹  r¾  rÏ  rÒ  rÕ  rÙ  rÞ  rã  ræ  rì  rú  rþ  r
  r  r&  r(  r+  r0  r5  r=  r?  rC  rF  rL  rR  rZ  r^  rf  rn  rs  ru  r}  rŒ  r�  r—  r›  r¡  rŸ  s   0r-   ú<module>rÊ     s‡  ðÛ 	Ý #ß *Ý Ý Û 	Ý ã Û Û ÷Q÷ Qã Ý *ã Ý ß BÓ Bã ß FÑ Fß -Ó -÷;ó ;ç NÓ N÷õ ÷ -Ó ,Ý 6ñ ‘w˜xÓ(¨&Ó1€Ø�[‰[×&Ñ&€
òð 	�‰ˆa‰�	�—	‘	˜! %Ô(×0Ñ0°°1Ó5Ñ5€àØ˜xÐ(Ø Ð&ñð€ð
 × Ñ ØØ˜vÐ&ØÙÐFÐGÓHðJñôð × Ñ ØØ Ð)Ø  §¡¨£°°F°B·F±F¸5³MÑ1AÑ!AÐBñôð
 €B‡H�HˆUƒO€Ù‰E�!�A‹JÓ€€!�Ù	‰e�A�a‹jÓ	€‚!€A€#�Ø × Ñ ØØ˜xÐ(Ø Ð"ñôð
 × Ñ ØØ˜xÐ(Ø¡	¨!£Ð-ñôð
 ‡H�HˆWÓ€Ø €#ƒˆ"�ƒØ × Ñ ØØ$ hÐ/Ø%¡y°£|Ð4ñôð
 × Ñ ØØ"¨Ñ2Ø  qÑ)ñôð
 × Ñ ØØ˜hÐ'Ø™u R›yÐ)ñôð
 × Ñ ØØ Ð'Ø¡¨ u£Ð.ñôñ Ø
Ùˆqˆc‹
Ù��!ˆuˆg‹ÙŠwˆiÓð	ð "(ô	)÷ *1©°°2«ð	 ñ
 ØGÐHóJ€€3�ð Ø˜VÐ$Ø˜bÐ!ñ#ð$€ñ Ù	ˆ!ƒHÙ	ˆ!ƒHÙ	ˆ"ƒIÙ	ˆ"ƒIÙ	ˆ!ƒHðð
 ô÷
 %™W Q r›]ð ð 
ˆ�‰�%˜fÔ	%€Ù�A‹h€€s�Ø × Ñ ØØ! 6Ð*Ø" FÐ+ñôð
 × Ñ ØØ  &Ð)Ø! 3Ð'ñ)ô*ð × Ñ ØØ" FÐ+Ø#¡UÚó&!ð "ñôð × Ñ ØØ Ð*à�L�B—L‘L  §¡©D±°q¸³Ó,=¸wÓ!GÓHðJñôñ �G�B—G‘G˜A“J˜v˜rŸv™v a›y¨¯©Ð/Ó0×8Ñ8¸¸1Ó=€
ØLÖM˜ˆ!ˆVŠÒM€Ø€b‡h�hˆu�eÓ€ÙÐ!=Ð >Ó?€€MÑ �3Ñ Ø$€€MÑ �3Ñ Ø%¨Ñ0€€NÑ �CÑ Ø × Ñ ØØ˜xÐ(Ø Ð$ñôð
 €R‡X�Xˆe˜6Ô"€Ù
�‹(€€3�Ø
ˆ"�(‰(�5 Ô
'€€3�Ù�Q˜bŸh™hÔ'€€3�ˆ�Ù�q�c�U "§(¡(Ô+€€3�ˆ�Øˆr�x‰x˜ VÔ,€€3�ˆ�Ù˜! 2§8¡8Ô,€€3�ˆ�ˆSÑ Ù˜! 2§8¡8Ô,€€3�ˆ�ˆSÑ Ø × Ñ ØØ Ð(Ø  "Ð%ñôð
 €b‡h�hˆu°.ÖA¨Q˜a š[ÒAÔB€Ù˜“(€€C�ˆ�Ø�"—(‘(˜5¨'°6Ð):Ð(;Ô<€€C�ˆ�Ù % z lÓ 3€€C�ˆ��Ñ �WÑ Ø × Ñ ØØ! 8Ð,Ø" CÐ(ñôð
 €B‡H�HˆU°Ö?¨1˜A˜vš;Ò?Ô@€Ù�a“€€#�€u�Ù�a“€€#�€u�Ù�z�lÓ#€€#�€u�Ù�z�lÓ#€€#�€u�Ø × Ñ ØØ  (Ð+Ø! 1Ð%ñôð
 €b‡h�hð3ö4 ��F’ò 4ó 5€ñ �(�"—(‘(˜5¨Ô,¨hÓ7€Øˆ�W€Ù�C�5‹\€€6�
ÙÐ2Ð3Ó4€€;�Ù�C�5‹\€€6�
Ù�a“€€9�Ù�a“€€9�Ù�a“€€9�Ø × Ñ ØØ˜xÐ(Ø Ð#ñôñ
 ‘�nÐ&9Ó:¸DÓA€Ø�‰‹×Ñ˜wÓ'€Ø ‡�Ô Ø × Ñ ØØ Ð'Ø¡ u g£Ð/ñôð
 × Ñ ØØ˜xÐ(Ø¡	¨!£Ð-ñôð
 × Ñ ØØ$ hÐ/Ø%¡y°£|Ð4ñôð
 × Ñ ØØ˜iÐ(ØÙ˜$˜ % Ð)Ó*ð,ñôð ™Q�€à × Ñ ØØ" HÐ-Ø# Y R§Y¡Y¨r°1Ó%5×%=Ñ%=¸aÀÓ%BÐCñEôFòò (JòV8òò"3ó-ð, ‡�×Ñ˜ JÓ/ñ$ó 0ð$ð
 ‡�×Ñ˜ JÓ/ñ ó 0ð ð ‡�×Ñ˜Øˆ3�ˆ*ÐØˆcˆU€Oð+ó ñ2ó	ð2ò4ò8ò:ò
/ò	ò	3òNò	IòLò"1ò-ò,ò()ò0ò2+ò65ò
ò< ò&òò<9ò~(ò6+ò$ 6òFò62òòCòò*0ò+ò"#òFò	7ò2òIò=ò1ò,ò:/ò(ò2
7ò/ò,'ò0ò<ò7ò*ò6.ò	òò>ò!ò.ò9òGð ‡�×ÑÐ/ò 2ó ñ	)óð	)òJò8ò9ò7ò*$òò 1ó'ùòM& 	Nùò. Bùò @ùò4s   ÐeÕe
×e
Ùe