Ë
    ìmxiDú ã                   óh  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	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Zd dlmZ 	 ej2                  Zd dlmZm Z  d dl!m"Z"m#Z#m$Z$ d dl%m&c mZ' d dl!m&c m(Z) d dl*m+Z+ d dl,Z-	 d dl,m.Z/ 	 d dl0Z1d dl2mZ3 d	d
l4m5Z5m6Z6 ejn                  j`                  Z8dªd„Z9	 	 	 	 	 d«d„Z:d¬d„Z;	 	 d­d„Z<d®d„Z= G d„ d«      Z> G d„ d«      Z?ejn                  j�                  dg d¢«      d„ «       ZAejn                  j�                  dg d¢«      d„ «       ZB G d„ d«      ZC G d„ d«      ZD G d„ d«      ZE G d„ d«      ZF G d „ d!«      ZG G d"„ d#«      ZHd$„ ZId%„ ZJ G d&„ d'«      ZKd(„ ZLd)„ ZMejn                  j�                  d*d+gd,gf«      d-„ «       ZNd.„ ZOd/„ ZPd0„ ZQ ej¤                   e'j¦                  e'j¨                  «      «      d1„ «       ZUd2„ ZVd3„ ZWd4„ ZXd5„ ZYd6„ ZZd7„ Z[d8„ Z\d9„ Z]d:„ Z^d;„ Z_d<„ Z`d=„ Zad>„ Zbd?„ Zcd@„ ZddA„ ZedB„ ZfdC„ ZgdD„ Zhejn                  j�                  dE e-jÒ                  «       dFf e-jÔ                  «       dGf e-jÖ                  «       dHf e-jØ                  «       dIf e-jÚ                  «       dJf e-jÜ                  «       dKf e-jÞ                  «       dLf e-jà                  «       dMf e-jâ                  «       dNf e-jä                  «       dOf e-jæ                  «       dPf e-jè                  «       dQf e-jê                  «       dRf e-jì                  «       dSf e-jî                  «       dSf e-jð                  «       dTf e-jð                  dU¬V«      dTf e-jò                  «       dWf e-jô                   e-jô                   e-jØ                  «       «      «      dXf e-jö                  dYdZ«      d[f e-jø                  d\«      d]f e-jø                  d^d_«      d`f e-jú                  da«      dbf e-jü                  d^«      dbfg«      dc„ «       Zdd„ Z€de„ Z�df„ Z‚dg„ Zƒdh„ Z„di„ Z…dj„ Z†dk„ Z‡dl„ Zˆdm„ Z‰dn„ ZŠdo„ Z‹dp„ ZŒdq„ Z�dr„ ZŽd¯ds„Z�dt„ Z�du„ Z‘dv„ Z’dw„ Z“dx„ Z”dy„ Z• G dz„ d{e-�j,                  «      Z—d®d|„Z˜d}„ Z™d~„ Zšd„ Z› G d€„ d�e-�j,                  «      Zœd‚„ Z�dƒ„ Zžd„„ ZŸd…„ Z d†„ Z¡ejn                  j�                  d‡dˆdˆd‰gg«      dŠ„ «       Z¢d‹„ Z£ejn                  j`                  dŒ„ «       Z¤d�„ Z¥dŽ„ Z¦d�„ Z§d�„ Z¨d‘„ Z©ejn                  j\                  d’„ «       Zªd“„ Z«ejn                  j�                  d”g d•¢«      ejn                  j�                  d–dd—g«      ejn                  j�                  d˜ e	d™d	d	«       e	dšd	d	«      g«      d›„ «       «       «       Z¬dœ„ Z­ejn                  �j\                  d�„ «       Z¯dž„ Z°dŸ„ Z±d „ Z²d¡„ Z³d¢„ Z´d£„ Zµd¤„ Z¶d¥„ Z·ejn                  �jp                  d¦„ «       Z¹d§„ Zºejn                  �j\                  d¨„ «       Z»d©„ Z¼y# e$ r
 d dlmZ Y �Œ·w xY w# e$ r dZY �ŒÅw xY w# e$ r Y �Œœw xY w# e$ r Y �Œ•w xY w)°é    N)ÚOrderedDict)ÚdateÚdatetimeÚtimeÚ	timedeltaÚtimezone)ÚVisibleDeprecationWarning)Úget_logical_typeÚ_pandas_api)Úinvoke_scriptÚrandom_asciiÚrands)ÚVersion)Úparqueté   )Údataframe_with_arraysÚdataframe_with_listsc                 ó°  — t        j                  i dt        j                  | t        j                  ¬«      “dt        j                  | t        j
                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “d	t        j                  | t        j                  ¬«      “d
t        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  j                  | «      dkD  “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “t        j                  d| d¬«      t        j                  d| d¬«      t        | «      D �cg c]  }t!        |«      ‘Œ c}d gt        | dz
  «      D �cg c]  }t!        |«      ‘Œ c}z   d gz   dg| z  dœ¥«      S c c}w c c}w )NÚuint8©ÚdtypeÚuint16Úuint32Úuint64Úint8Úint16Úint32Úint64Úfloat32Úfloat64Úboolr   zdatetime[s]ú2016-01-01T00:00:00.001údatetime64[s]zdatetime[ms]údatetime64[ms]zdatetime[us]údatetime64[us]zdatetime[ns]údatetime64[ns]ztimedelta64[s]ztimedelta64[ms]útimedelta64[us]útimedelta64[ns]é   Ú )r'   r(   ÚstrÚstr_with_nullsÚ	empty_str)ÚpdÚ	DataFrameÚnpÚaranger   r   r   r   r   r   r   r   r    ÚrandomÚrandnÚranger+   )ÚsizeÚxs     úP/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/test_pandas.pyÚ_alltypes_exampler8   C   s`  € Ü�<‰<ð Ø”—‘˜4¤r§x¡xÔ0ðà”"—)‘)˜D¬¯	©	Ô2ðð 	”"—)‘)˜D¬¯	©	Ô2ðð 	”"—)‘)˜D¬¯	©	Ô2ð	ð
 	”—	‘	˜$¤b§h¡hÔ/ðð 	”—‘˜4¤r§x¡xÔ0ðð 	”—‘˜4¤r§x¡xÔ0ðð 	”—‘˜4¤r§x¡xÔ0ðð 	”2—9‘9˜T¬¯©Ô4ðð 	”2—9‘9˜T¬¯©Ô4ðð 	”—	‘	—‘ Ó%¨Ñ)ðð 	”r—y‘yÐ!:¸DØ'6ô8ðð 	œŸ	™	Ð";¸TØ(8ô:ðð  	œŸ	™	Ð";¸TØ(8ô:ð!ð$ 	œŸ	™	Ð";¸TØ(8ô:ð%ð( 	œ"Ÿ)™) A tÐ3CÔDð)ð* 	œ2Ÿ9™9 Q¨Ð4EÔFð+ô, Ÿ9™9 Q¨Ð4EÔFÜŸ9™9 Q¨Ð4EÔFÜ % d£Ö,˜1”�A•Ò,Ø˜&´E¸$À¹(³OÖ#D¨q¤C¨¥FÒ#DÑDÈÀvÑMØ�T˜D‘[ò5ó ð ùò0 -ùÚ#Ds   ÊKÊ'Kc                 ó<  — |rt         j                  nt         j                  }|j                  | |||rdnd¬«      }	|	j	                  |¬«      }
|r|	j
                  j                  |«      sJ ‚|€M| }|j                  D ]<  }||   j                  dk(  sŒ||   j                  t        j                  d i«      ||<   Œ> t        j                  «       5  t        j                  ddt        «       t!        j"                  |
|||rdnd	¬
«       d d d «       y # 1 sw Y   y xY w)Nr)   r   )ÚschemaÚpreserve_indexÚnthreads©Úuse_threadsÚobjectÚignoreúelementwise comparison failedÚequivF)Úcheck_dtypeÚcheck_index_type)ÚpaÚRecordBatchÚTableÚfrom_pandasÚ	to_pandasr:   ÚequalsÚcolumnsr   Úreplacer0   ÚnanÚwarningsÚcatch_warningsÚfilterwarningsÚDeprecationWarningÚtmÚassert_frame_equal)ÚdfÚexpectedr>   Úexpected_schemarC   r:   r;   Úas_batchÚklassÚtableÚresultÚcols               r7   Ú_check_pandas_roundtripr\   b   s  € ñ
 'ŒB�NŠN¬B¯H©H€EØ×Ñ˜b¨Ø-;Ù,7¡q¸Qð ó @€Eð �_‰_¨ˆ_Ó5€Fáð �|‰|×"Ñ" ?Ô3Ð3Ð3àÐØˆà×#Ñ#ò 	FˆCØ˜‰}×"Ñ" hÓ.Ø (¨¡× 5Ñ 5´r·v±v¸t°nÓ E�˜’ð	Fô 
×	 Ñ	 Ó	"ñ =Ü×ÑØÐ5Ô7Iô	Kä
×Ñ˜f h¸KÙ;I±Ø5:õ	=÷=÷ =ñ =ús   Ã9DÄDc                 óð   — t        j                  | d|¬«      }|�|€|}|�|j                  |k(  sJ ‚t        j                  |j                  «       | j                  ¬«      }t        j                  | |«       y )NT©rH   Útype©Úname)	rE   Úarrayr_   r.   ÚSeriesrI   ra   rR   Úassert_series_equal)ÚsÚtype_Úexpected_pa_typeÚarrrZ   s        r7   Ú_check_series_roundtripri   �   si   € Ü
�(‰(�1 $¨UÔ
3€CàÐÐ-Ð5Ø ÐàÐ#Ø�x‰xÐ+Ò+Ð+Ð+ä�Y‰Y�s—}‘}“¨Q¯V©VÔ4€FÜ×Ñ˜1˜fÕ%ó    c                 ó\  — t        j                  | d||¬«      }|j                  «       }t        j                  | «      }|€|j
                  |j                  «       k(  s$J ‚|j
                  ||z  j                  «       k(  sJ ‚|€~|€t        j                  | «      }n6t        j                  | «      j                  «       }d ||j                  «       <   |j                  dk(  r!|j                  t        j                  d i«      }t        j                  t        j                  |«      |d¬«       y )NT)rH   Úmaskr_   r?   F©Úcheck_names)rE   rb   rI   r.   ÚisnullÚ
null_countÚsumrc   Úcopyr   rL   r0   rM   rR   rd   )ÚvaluesrU   rl   r_   rh   rZ   Úvalues_nullss          r7   Ú_check_array_roundtripru   Ž   sî   € ä
�(‰(�6 t°$¸TÔ
B€CØ�]‰]‹_€Fä—9‘9˜VÓ$€LØ€|Ø�~‰~ ×!1Ñ!1Ó!3Ò3Ð3Ð3à�~‰~ $¨Ñ"5×!:Ñ!:Ó!<Ò<Ð<Ð<àÐØˆ<Ü—y‘y Ó(‰Hä—y‘y Ó(×-Ñ-Ó/ˆHØ$(ˆH�T—Y‘Y“[Ñ!à�>‰>˜XÒ%Ø×'Ñ'¬¯©°¨Ó7ˆHä×Ñœ2Ÿ9™9 VÓ,¨hÀEÖJrj   c                 ó€   — t        j                  | d|¬«      }|j                  «       }t        j                  || «       y )NTr^   ©rE   rb   rI   ÚnptÚassert_array_equal)Únp_arrayr_   rh   rZ   s       r7   Ú"_check_array_from_pandas_roundtripr{   ¦   s/   € Ü
�(‰(�8¨°DÔ
9€CØ�]‰]‹_€FÜ×Ñ˜6 8Õ,rj   c                   ó\  — e Zd ZdZd„ Zd„ Zd„ Zd„ Zej                  j                  ddd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ej                  j1                  d«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  ddd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*ej                  j                  d,e+jX                  e+jZ                  e+j\                  e+j^                  g«      d-„ «       Z0d.„ Z1d/„ Z2d0„ Z3d1„ Z4d2„ Z5y)3ÚTestConvertMetadataz9
    Conversion tests for Pandas metadata & indices.
    c                 ó´   — t        j                  dg d¢i«      }t        j                  j	                  |«      }|j                  d«      j                  dk(  sJ ‚y )Nr   ©r   r)   é   Ú0)r.   r/   rE   rG   rH   Úfieldra   ©ÚselfrT   rY   s      r7   Útest_non_string_columnsz+TestConvertMetadata.test_non_string_columns±   sD   € Ü�\‰\˜1ši˜.Ó)ˆÜ—‘×$Ñ$ RÓ(ˆØ�{‰{˜1‹~×"Ñ" cÒ)Ð)Ñ)rj   c                 ó.  — t        j                  g d¢g d¢dœ«      }|j                  d«      }t        j                  t
        «      5  t        j                  j                  |«      }|j                  d«      j                  dk(  sJ ‚	 d d d «       |j                  «       }t        |j                  j                  «      |j                  _
        t        j                  t
        «      5  t        ||d¬«       d d d «       y # 1 sw Y   ŒxxY w# 1 sw Y   y xY w)N©ç      ð?ç       @ç      @)ç      @ç      @ç      @)r   r   r   Ú1T©rU   r;   )r.   r/   Ú	set_indexÚpytestÚwarnsÚUserWarningrE   rG   rH   r‚   ra   rr   r+   Úindexr\   )r„   rT   rY   rU   s       r7   Ú"test_non_string_columns_with_indexz6TestConvertMetadata.test_non_string_columns_with_index¶   sÒ   € Ü�\‰\šo²/ÑBÓCˆØ�\‰\˜!‹_ˆô �\‰\œ+Ó&ñ 	.Ü—H‘H×(Ñ(¨Ó,ˆEØ—;‘;˜q“>×&Ñ&¨#Ò-Ð-Ñ-÷	.ð —7‘7“9ˆä! (§.¡.×"5Ñ"5Ó6ˆ�‰ÔÜ�\‰\œ+Ó&ñ 	9Ü# B°Ø37õ9÷	9ð 	9÷	.ð 	.ú÷	9ð 	9ús   ÁA C?Ã'DÃ?DÄDc                 ó²  — t        j                  g d¢g d¢g d¢dœddg¬«      }t        j                  j	                  |ddg¬«      }t        j                  j	                  |ddg   «      }|j                  |«      sJ ‚t        j                  j	                  |ddg¬«      }t        j                  j	                  |ddg   «      }|j                  |«      sJ ‚y )Nr   )r   r€   r€   )r)   é   é   ©r   r   r)   r   r   ©rK   )r.   r/   rE   rG   rH   rJ   rF   )r„   rT   rY   rU   Úrecord_batch_tableÚrecord_batch_expecteds         r7   Útest_from_pandas_with_columnsz1TestConvertMetadata.test_from_pandas_with_columnsÆ   s½   € Ü�\‰\šiªIº)ÑDØ#$ a &ô*ˆô —‘×$Ñ$ R°!°Q°Ð$Ó8ˆÜ—8‘8×'Ñ'¨¨A¨q¨6©
Ó3ˆØ�‰˜uÔ%Ð%Ð%äŸ^™^×7Ñ7¸ÀQÈÀFÐ7ÓKÐÜ "§¡× :Ñ :¸2¸qÀ!¸f¹:Ó FÐØ$×+Ñ+Ð,>Ô?Ð?Ñ?rj   c                 ót   — t        j                  dg d¢i«      }dg|j                  _        t	        |d¬«       y )NÚdatar   ÚaT©r;   )r.   r/   rK   Únamesr\   ©r„   rT   s     r7   Ú%test_column_index_names_are_preservedz9TestConvertMetadata.test_column_index_names_are_preservedÒ   s-   € Ü�\‰\˜6¢9Ð-Ó.ˆØ˜5ˆ�
‰
ÔÜ °4Ö8rj   ÚtzNúEurope/Brusselsc           	      ó¶   — t        j                  t        j                  j	                  dd«      t        j
                  ddd|¬«      ¬«      }t        |d¬«       y )	Nr˜   r€   z
2021-01-01Ú50D)ÚperiodsÚfreqr¥   rš   Tr¡   )r.   r/   r0   r2   r3   Ú
date_ranger\   )r„   r¥   rT   s      r7   Ú test_column_index_names_datetimez4TestConvertMetadata.test_column_index_names_datetime×   sB   € ô
 �\‰\Ü�I‰I�O‰O˜A˜qÓ!Ü—M‘M ,¸ÀÈ"ÔMô
ˆô 	  °4Ö8rj   c           
      ó~  — t        j                  t        j                  d«      t        j                  d«      ggt         j                  j                  t        j                  d«      gt        j                  d«      t        j                  d«      gg«      t        j                  d«      g¬«      }t        |d¬	«       y )
Nr˜   é   r   r)   r€   r—   )rK   r”   Tr¡   )r.   r/   ÚdecimalÚDecimalÚ
MultiIndexÚfrom_productr\   r£   s     r7   Ú$test_column_index_names_with_decimalz8TestConvertMetadata.test_column_index_names_with_decimalâ   s‡   € ä�\‰\Ü�o‰o˜aÓ ¤'§/¡/°!Ó"4Ð5Ð6Ü—M‘M×.Ñ.Ü—/‘/ !Ó$Ð%¬¯©¸Ó(:¼G¿O¹OÈAÓ<NÐ'OÐPóô —?‘? 1Ó%Ð&ô
ˆô 	  °4Ö8rj   c           	      ó¤  — d}t        j                  dg d¢it        j                  ddd|¬«      ¬«      }t        j                  dg d	¢it        j                  dd
«      ¬«      }t        j                  j                  |«      }t        j                  j                  |«      }t        |j                  «      dk(  sJ ‚|j                  «       }t        j                  ||«       t        |j                  t         j                  «      sJ ‚t        j                  |j                  d«      dk(  sJ ‚|j                  j                  |k(  sJ ‚|j                  «       }t        j                  ||«       t        |j                  t         j                  «      sJ ‚t        j                  |j                  d«      dk(  sJ ‚|j                  j                  �J ‚y )NÚfoor    ©r   r)   r€   r—   r   é   r)   ©Ústepra   ©r”   ©r—   r˜   r®   é   r—   r   r¹   )r.   r/   Ú
RangeIndexrE   rG   rH   Úlenr:   rI   rR   rS   Ú
isinstancer”   r   Úget_rangeindex_attributera   )r„   Ú
index_namerT   Údf2rY   Útable_no_index_namerZ   Úresult2s           r7   Útest_range_index_shortcutz-TestConvertMetadata.test_range_index_shortcutí   sn  € àˆ
Ü�\‰\˜3¢Ð-Ü "§¡¨a°¸ÀÔ LôNˆô �l‰l˜C¢Ð.Ü!#§¡¨q°!Ó!4ô6ˆô —‘×$Ñ$ RÓ(ˆÜ Ÿh™h×2Ñ2°3Ó7Ðô �5—<‘<Ó  AÒ%Ð%Ð%à—‘Ó"ˆÜ
×Ñ˜f bÔ)Ü˜&Ÿ,™,¬¯©Ô6Ð6Ð6Ü×3Ñ3°F·L±LÀ&ÓIÈQÒNÐNÐNØ�|‰|× Ñ  JÒ.Ð.Ð.à%×/Ñ/Ó1ˆÜ
×Ñ˜g sÔ+Ü˜'Ÿ-™-¬¯©Ô7Ð7Ð7Ü×3Ñ3°G·M±MÀ6ÓJÈaÒOÐOÐOØ�}‰}×!Ñ!Ð)Ð)Ñ)rj   c           	      ó8  — t        j                  dg d¢it        j                  dddd¬«      ¬«      }t        j                  j                  |d	¬
«      }|j                  dk(  sJ ‚d|j                  v sJ ‚|j                  «       }t        j                  ||«       y )Nr    r¶   r   r·   r)   rµ   r¸   rº   Tr¡   )r.   r/   r½   rE   rG   rH   Únum_columnsÚcolumn_namesrI   rR   rS   )r„   rT   rY   Úrestoreds       r7   Ú$test_range_index_force_serializationz8TestConvertMetadata.test_range_index_force_serialization  s‹   € ô �\‰\˜3¢Ð-Ü "§¡¨a°¸ÀÔ GôIˆô —‘×$Ñ$ R¸Ð$Ó=ˆØ× Ñ  AÒ%Ð%Ð%Ø˜×*Ñ*Ñ*Ð*Ð*à—?‘?Ó$ˆÜ
×Ñ˜h¨Õ+rj   c                 ó@  — t        j                  t        j                  j	                  dd«      ddg¬«      }t        j                  «       5  t        j                  d¬«       t        j                  dd	t        «       t        |d
¬«       d d d «       y # 1 sw Y   y xY w)Nr—   r)   r    Úbrš   Úerror©Úactionr@   úmake_block is deprecatedTr¡   )r.   r/   r0   r2   r3   rN   rO   ÚsimplefilterrP   rQ   r\   r£   s     r7   Útest_rangeindex_doesnt_warnz/TestConvertMetadata.test_rangeindex_doesnt_warn  s{   € ô �\‰\œ"Ÿ)™)Ÿ/™/¨!¨QÓ/¸#¸s¸ÔDˆä×$Ñ$Ó&ñ 	=Ü×!Ñ!¨Õ1ô ×#Ñ#ØÐ4Ô6Hôô $ B°tÕ<÷	=÷ 	=ñ 	=ús   Á?BÂBc                 óš   — t         j                  j                  ddgddgg«      }t        j                  g d¢|¬«      }t	        |d¬«       y )	NÚoneÚtwoÚXÚY©©r   r    ©r)   rÌ   )r€   Úcrš   Tr¡   ©r.   r±   Úfrom_arraysr/   r\   ©r„   rK   rT   s      r7   Útest_multiindex_columnsz+TestConvertMetadata.test_multiindex_columns%  sE   € Ü—-‘-×+Ñ+Ø�EˆN˜S #˜Jð-
ó ˆô �\‰\Ò8À'ÔJˆÜ °4Ö8rj   c                 óÈ   — t         j                  j                  ddgt        j                  ddg«      gddg¬«      }t        j                  g d¢|¬	«      }t        |d
¬«       y )NrÔ   rÕ   z
2017-08-01z
2017-08-02Úlevel_1Úlevel_2©r¢   rØ   rš   Tr¡   )r.   r±   rÝ   ÚDatetimeIndexr/   r\   rÞ   s      r7   Ú#test_multiindex_columns_with_dtypesz7TestConvertMetadata.test_multiindex_columns_with_dtypes,  sa   € Ü—-‘-×+Ñ+à˜�Ü× Ñ  ,°Ð!=Ó>ðð ˜iÐ(ð ,ó 
ˆô �\‰\Ò8À'ÔJˆÜ °4Ö8rj   c           
      óŒ  — t        j                  dgt        j                  dgt        ¬«      ¬«      }t	        |d¬«       t        j                  dgt        j                  dgt        ¬«      ¬«      }t	        |d¬«       t        j                  dgt        j                  t        ddd«      gd¬«      ¬«      }t	        |d¬«       y )	Nr   r   rš   Tr¡   çš™™™™™ñ?éâ  r?   )r.   r/   ÚIndexr?   r\   r   r£   s     r7   Ú(test_multiindex_with_column_dtype_objectz<TestConvertMetadata.test_multiindex_with_column_dtype_object7  s’   € ô
 �\‰\˜1˜#¤r§x¡x°°¼6Ô'BÔCˆÜ °4Õ8ô �\‰\˜1˜#¤r§x¡x°°¼VÔ'DÔEˆÜ °4Õ8ô �\‰\˜1˜#¤r§x¡xÜ�d˜A˜qÓ!Ð"¨(ô(4ô 5ˆä °4Ö8rj   c                 óš   — t         j                  j                  ddgddgg«      }t        j                  g d¢|¬«      }t	        |d¬«       y )	Nõ   ã�‚õ   ã�„rÖ   r×   rØ   rš   Tr¡   rÜ   rÞ   s      r7   Útest_multiindex_columns_unicodez3TestConvertMetadata.test_multiindex_columns_unicodeI  s>   € Ü—-‘-×+Ñ+¨e°U¨^¸cÀ3¸ZÐ,HÓIˆÜ�\‰\Ò8À'ÔJˆÜ °4Ö8rj   c                 óN  — t         j                  j                  ddgddgg«      }t        j                  g d¢|¬«      }t	        j
                  «       5  t	        j                  d¬«       t	        j                  d	d
t        «       t        |d¬«       d d d «       y # 1 sw Y   y xY w)NrÔ   rÕ   rÖ   r×   rØ   rš   rÍ   rÎ   r@   rÐ   Tr¡   )
r.   r±   rÝ   r/   rN   rO   rÑ   rP   rQ   r\   rÞ   s      r7   Útest_multiindex_doesnt_warnz/TestConvertMetadata.test_multiindex_doesnt_warnN  sˆ   € ä—-‘-×+Ñ+¨e°U¨^¸cÀ3¸ZÐ,HÓIˆÜ�\‰\Ò8À'ÔJˆä×$Ñ$Ó&ñ 	=Ü×!Ñ!¨Õ1ô ×#Ñ#ØÐ4Ô6Hôô $ B°tÕ<÷	=÷ 	=ñ 	=ús   Á?BÂB$c                 ó  — t         j                  j                  t        j                  dd«      t        j                  ddg«      g«      }t        j
                  t        j                  ddgd¬«      |¬«      }t        |d ¬«       y )Nr   r)   r   r    r`   rº   r¡   )r.   r±   rÝ   r½   ré   r/   rc   r\   )r„   Ú
multiindexrT   s      r7   Útest_multiindex_rangeindexz.TestConvertMetadata.test_multiindex_rangeindex]  sa   € ä—]‘]×.Ñ.Ü�]‰]˜1˜aÓ ¤"§(¡(¨A¨q¨6Ó"2Ð3ó
ˆ
ô �\‰\œ"Ÿ)™) Q¨ F°Ô5¸ZÔHˆÜ °4Ö8rj   c                 óL   — t        j                  g d¢«      }t        |d¬«       y )NrØ   Tr¡   ©r.   r/   r\   r£   s     r7   Útest_integer_index_columnz-TestConvertMetadata.test_integer_index_columne  s   € Ü�\‰\Ò8Ó9ˆÜ °4Ö8rj   c                 óp   — t        j                  g d¢dt        j                  g¬«      }t	        |d¬«       y )NrØ   ç      ø?rš   Tr¡   )r.   r/   r0   rM   r\   r£   s     r7   Ú$test_float_column_index_with_missingz8TestConvertMetadata.test_float_column_index_with_missingi  s%   € Ü�\‰\Ò8À3ÌÏÉÀ-ÔPˆÜ °4Ö8rj   z?ignore:The DataFrame has column names of mixed type:UserWarningc                 óT   — t        j                  g d¢dd g¬«      }t        |d¬«       y )NrØ   ÚArš   Tr¡   rõ   r£   s     r7   Ú%test_string_column_index_with_missingz9TestConvertMetadata.test_string_column_index_with_missingm  s#   € ô �\‰\Ò8À3ÈÀ+ÔNˆÜ °4Ö8rj   c                 ó:  — t        j                  g d¢t         j                  j                  g d¢g d¢gd dg¬«      g d¢¬«      }t	        j
                  «       r"t        j                  j                  |d¬	«      }nCt        j                  t        «      5  t        j                  j                  |d¬	«      }d d d «       j                  j                  }|d
   \  }}}}}|d   dk(  sJ ‚|d   |d   k(  sJ ‚t	        j
                  «       r$t        j                  |d   «      sJ ‚|d   dk(  sJ ‚|d   �J ‚|d   dk(  sJ ‚|d   dk(  sJ ‚|d   |d   k(  sJ ‚|d   \  }	}
|	dk(  sJ ‚|d   |	k(  sJ ‚|d   �J ‚|
dk(  sJ ‚|d   |
k(  sJ ‚|d   |
k(  sJ ‚y # 1 sw Y   ŒÝxY w)N))r   r    çÍÌÌÌÌÌ@)r)   rÌ   gš™™™™™@)r€   rÛ   gÍÌÌÌÌÌô?)rÛ   rÌ   r    )r€   r)   r   rµ   rã   )r    NÚ__index_level_0__)r”   rK   Tr¡   rK   ra   r    Ú
field_namerM   ÚNonerÿ   Úindex_columns)r.   r/   r±   rÝ   r   Úuses_string_dtyperE   rG   rH   r‘   r’   r“   r:   Úpandas_metadatar0   Úisnan)r„   rT   ÚtÚjsÚcol1Úcol2Úcol3Úidx0rµ   Ú
idx0_descrÚ	foo_descrs              r7   Útest_index_metadata_field_namez2TestConvertMetadata.test_index_metadata_field_namet  så  € ä�\‰\Ú9Ü—-‘-×+Ñ+Ú ¢)Ð,Ø˜U�mð ,ó ò 5ô
ˆô ×(Ñ(Ô*Ü—‘×$Ñ$ R¸Ð$Ó=‰Aä—‘œkÓ*ñ BÜ—H‘H×(Ñ(¨¸DÐ(ÓA�÷Bà�X‰X×%Ñ%ˆà&(¨¡mÑ#ˆˆd�D˜$ à�F‰|˜sÒ"Ð"Ð"Ø�F‰|˜t LÑ1Ò1Ð1Ð1ä×(Ñ(Ô*Ü—8‘8˜D ™LÔ)Ð)Ð)Ø˜Ñ%¨Ò.Ð.Ð.à˜‘<Ð'Ð'Ð'Ø˜Ñ%¨Ò/Ð/Ð/à�F‰|Ð2Ò2Ð2Ð2Ø�F‰|˜t LÑ1Ò1Ð1Ð1à " ?Ñ 3Ñˆ
�IØÐ0Ò0Ð0Ð0Ø�LÑ! ZÒ/Ð/Ð/Ø�F‰|Ð#Ð#Ð#à˜EÒ!Ð!Ð!Ø�<Ñ  IÒ-Ð-Ð-Ø�6‰{˜iÒ'Ð'Ñ'÷5Bð Bús   Â"FÆFc                 óT  — t        j                  g d¢t        j                  t        d«      d¬«      ¬«      }t        j
                  j                  |d¬«      }|j                  j                  }|d   \  }|d	   �J ‚|d
   dk(  sJ ‚|d   dk(  sJ ‚|d   }|d   dk(  sJ ‚|d   du sJ ‚y )N©)r   r    r‰   )r)   rÌ   rŠ   )r€   rÛ   r‹   ÚdefÚcategoryr   rš   Tr¡   Úcolumn_indexesra   Úpandas_typeÚcategoricalÚ
numpy_typer   ÚmetadataÚnum_categoriesr€   ÚorderedF)	r.   r/   ré   ÚlistrE   rG   rH   r:   r  ©r„   rT   r  r  r  Úmds         r7   Útest_categorical_column_indexz1TestConvertMetadata.test_categorical_column_index�  sÃ   € Ü�\‰\Ú9Ü—H‘HœT %›[°
Ô;ô
ˆô �H‰H× Ñ  °DÐ Ó9ˆØ�X‰X×%Ñ%ˆàÐ-Ñ.‰ˆØ˜fÑ%Ð-Ð-Ð-Ø˜mÑ,°Ò=Ð=Ð=Ø˜lÑ+¨vÒ5Ð5Ð5à˜JÑ'ˆØÐ"Ñ# qÒ(Ð(Ð(Ø�)‰} Ñ%Ð%Ñ%rj   c                 ó®  — t        j                  g d¢t        j                  t        d«      d¬«      ¬«      }t        j
                  j                  |d¬«      }|j                  j                  }|d   \  }|d	   dk(  sJ ‚|d	   |d
   k(  sJ ‚|d   t        j                  «       rdndk(  sJ ‚|d   dk(  sJ ‚|d   }t        |«      dk(  sJ ‚|d   dk(  sJ ‚y )Nr  r  Ústringzr`   rš   Tr¡   r  ra   r   r  r+   r?   r  Úunicoder  r   ÚencodingúUTF-8)r.   r/   ré   r  rE   rG   rH   r:   r  r   r  r¾   r  s         r7   Útest_string_column_indexz,TestConvertMetadata.test_string_column_index®  sï   € Ü�\‰\Ú9Ü—H‘HœT %›[¨yÔ9ô
ˆô �H‰H× Ñ  °DÐ Ó9ˆØ�X‰X×%Ñ%ˆàÐ-Ñ.‰ˆØ˜fÑ%¨Ò2Ð2Ð2Ø˜fÑ%¨¸Ñ)EÒEÐEÐEØ˜lÑ+Ü ×2Ñ2Ô4‰E¸(ò
ð 	
ð 
ð ˜mÑ,°	Ò9Ð9Ð9à˜JÑ'ˆä�2‹w˜!Š|Ðˆ|Ø�*‰~ Ò(Ð(Ñ(rj   ÚunitÚusÚnsc           
      óª  — i }t        t        j                  «      t        d«      k\  rd|i}t        j                  g d¢t        j                  dddddœ|¤Ž¬«      }t
        j                  j                  |d	¬
«      }|j                  j                  }|d   \  }|d   �J ‚|d   dk(  sJ ‚|r|d   d|› d�k(  sJ ‚|d   dk(  sJ ‚|d   }|d   dk(  sJ ‚y )Nú2.0.0r$  r  ú
2017-01-01r€   úAmerica/New_York©Ústartr©   r¥   rš   Tr¡   r  ra   r  Ú
datetimetzr  údatetime64[ú]r&   r  r   © )
r   r.   Ú__version__r/   r«   rE   rG   rH   r:   r  )r„   r$  Ú
ext_kwargsrT   r  r  r  r  s           r7   Útest_datetimetz_column_indexz0TestConvertMetadata.test_datetimetz_column_indexÃ  s  € àˆ
Ü”2—>‘>Ó"¤g¨gÓ&6Ò6à  $˜ˆJÜ�\‰\Ú9Ü—M‘Mð Ø"¨AÐ2DñØHRñô
ˆô �H‰H× Ñ  °DÐ Ó9ˆØ�X‰X×%Ñ%ˆàÐ-Ñ.‰ˆØ˜fÑ%Ð-Ð-Ð-Ø˜mÑ,°Ò<Ð<Ð<ÙØ! ,Ñ/°[ÀÀÀaÐ3HÒHÐHÐHà! ,Ñ/Ð3CÒCÐCÐCà˜JÑ'ˆØ�*‰~Ð!3Ò3Ð3Ñ3rj   c                 óš   — t        j                  dt        j                  ddd¬«      i«      }|j                  d«      }t	        |d¬«       y )Nr    r)  r€   r*  r+  Tr¡   )r.   r/   r«   r�   r\   r£   s     r7   Útest_datetimetz_row_indexz-TestConvertMetadata.test_datetimetz_row_indexÝ  sE   € Ü�\‰\Ø”—‘Ø"¨AÐ2Dôð
ó ˆð
 �\‰\˜#Óˆä °4Ö8rj   c                 ó´   — t        j                  g d¢g d¢dœ«      }|j                  j                  d«      |d<   |j	                  d«      }t        |d¬«       y )Nr   ©r    rÌ   r  r    Tr¡   )r.   r/   r    Úastyper�   r\   r£   s     r7   Útest_categorical_row_indexz.TestConvertMetadata.test_categorical_row_indexç  sC   € Ü�\‰\¢	²	Ñ:Ó;ˆØ—$‘$—+‘+˜jÓ)ˆˆ3‰Ø�\‰\˜#Óˆä °4Ö8rj   c                 óâ   — t        j                  ddgt        d«      ¬«      }t        j                  t
        «      5  t        j                  j                  |«       d d d «       y # 1 sw Y   y xY w)NrÙ   rÚ   Úaarš   )	r.   r/   r  r‘   ÚraisesÚ
ValueErrorrE   rG   rH   r£   s     r7   Ú*test_duplicate_column_names_does_not_crashz>TestConvertMetadata.test_duplicate_column_names_does_not_crashî  sN   € Ü�\‰\˜8 XÐ.¼¸T»
ÔCˆÜ�]‰]œ:Ó&ñ 	%Ü�H‰H× Ñ  Ô$÷	%÷ 	%ñ 	%ús   ¼ A%Á%A.c                 óè  — ddgddgg}|D ]Í  }t         j                  j                  |dgd¬«      }t         j                  j                  |gdg«      }t         j                  j                  |||g«      }t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j                  «        d d d «       ŒÏ y # 1 sw Y   Œ>xY w# 1 sw Y   ŒæxY w)Nr   r   éÿÿÿÿr    F©Úsaferµ   )
rE   ÚDictionaryArrayrÝ   rF   rG   Úfrom_batchesr‘   r<  Ú
IndexErrorrI   )r„   ÚindicesÚindsrh   ÚbatchrY   s         r7   Ú#test_dictionary_indices_boundscheckz7TestConvertMetadata.test_dictionary_indices_boundscheckó  sÓ   € à�q�6˜A˜r˜7Ð#ˆàò 		"ˆDÜ×$Ñ$×0Ñ0°¸°uÀ5Ð0ÓIˆCÜ—N‘N×.Ñ.°¨u°u°gÓ>ˆEÜ—H‘H×)Ñ)¨5°%¸Ð*?Ó@ˆEä—‘œzÓ*ñ  Ø—‘”÷ ô —‘œzÓ*ñ "Ø—‘Ô!÷"ð "ñ		"÷
 ð  ú÷"ð "ús   ÂCÃ C(ÃC%	Ã(C1	c                 óT   — t        j                  ddgidg¬«      }t        |d¬«       y )Nrì   rí   u   ã�†rº   Tr¡   rõ   r£   s     r7   Ú*test_unicode_with_unicode_column_and_indexz>TestConvertMetadata.test_unicode_with_unicode_column_and_index  s%   € Ü�\‰\˜5 5 'Ð*°5°'Ô:ˆä °4Ö8rj   c                 ó*  — t        j                  ddgddgdœ«      }ddgddgdd	gfD ]Ñ  }t        j                  |t        ¬
«      |_        t        j                  t        «      5  t        j                  j                  |«       d d d «       |j                  «       }|j                  j                  j                  t        «      |_        t        j                  t        «      5  t        ||d¬«       d d d «       ŒÓ y # 1 sw Y   ŒzxY w# 1 sw Y   ŒêxY w)Nr   r)   r€   r—   r7  rì   ó   aÚ2rø   r   Tr�   )r.   r/   ré   r?   rK   r‘   r’   r“   rE   rG   rH   rr   rs   r8  r+   r\   )r„   rT   ÚcolsrU   s       r7   Útest_mixed_column_namesz+TestConvertMetadata.test_mixed_column_names  så   € ä�\‰\  A ¨a°¨VÑ4Ó5ˆà˜T�] Q¨ H¨q°#¨hÐ7ò 	=ˆDÜŸ™ $¬fÔ5ˆBŒJô —‘œkÓ*ñ )Ü—‘×$Ñ$ RÔ(÷)ð —w‘w“yˆHØ!Ÿz™z×0Ñ0×7Ñ7¼Ó<ˆHÔÜ—‘œkÓ*ñ =Ü'¨°XØ7;õ=÷=ð =ñ	=÷)ð )ú÷
=ð =ús   Á$ C=Ã#D	Ã=D	Ä	D	c                 ó*  — t        d«      t        t        j                  «      cxk  rt        d«      k  rn nt        j                  d«       dg}dj                  «       }||i}t        j                  |«      }t        j                  j                  |d¬«      }|j                  «       }|j                  d   |j                  d   k(  sJ ‚|j                  j                  d   |j                  j                  d   k(  sJ ‚|j                  d   |k(  sJ ‚y )	Nr(  ú3.0.0úRegression in pandas 2.0.0rí   rì   Tr¡   r   )r   r.   r1  r‘   ÚskipÚencoder/   rE   rG   rH   rI   rs   r”   rK   )r„   Úcolumn_dataÚkeyrŸ   rT   r  rÂ   s          r7   Útest_binary_column_namez+TestConvertMetadata.test_binary_column_name  sß   € Ü�7Óœw¤r§~¡~Ó6ÔI¼ÀÓ9IÕIô �K‰KÐ4Ô5Ø�gˆØ�l‰l‹nˆØ�[Ð!ˆÜ�\‰\˜$Óˆô �H‰H× Ñ  °DÐ Ó9ˆØ�k‰k‹mˆØ�y‰y˜‰|˜sŸz™z¨!™}Ò,Ð,Ð,Ø�x‰x�‰˜qÑ! S§Y¡Y×%5Ñ%5°aÑ%8Ò8Ð8Ð8Ø�z‰z˜!‰} Ò#Ð#Ñ#rj   c                 óÊ   — d}t        t        |«      «      }t        j                  j	                  g d¢|gddg¬«      }t        j
                  d|i|¬«      }t        |d¬	«       y )
Nr€   )rµ   rµ   ÚbarÚfoobarÚsome_numbersrã   Únumbersrº   Tr¡   )r  r4   r.   r±   rÝ   r/   r\   )r„   Únum_rowsr]  r”   rT   s        r7   Ú test_multiindex_duplicate_valuesz4TestConvertMetadata.test_multiindex_duplicate_values+  s_   € ØˆÜ”u˜X“Ó'ˆÜ—‘×)Ñ)Ú" GÐ,Ø˜^Ð,ð *ó 
ˆô
 �\‰\˜9 gÐ.°eÔ<ˆä °4Ö8rj   c                 óä   — t        j                  dddgi«      }t        j                  j	                  |«      }|j
                  j                  }d|vsJ ‚|d   d   }|d   dk(  sJ ‚|d	   d
k(  sJ ‚y )NrŸ   s
   some_bytesÚsome_unicodeÚmixedrK   r   r  Úbytesr  r?   ©r.   r/   rE   rG   rH   r:   r  )r„   rT   rY   r  Údata_columns        r7   Útest_metadata_with_mixed_typesz2TestConvertMetadata.test_metadata_with_mixed_types7  s   € Ü�\‰\˜6 M°>Ð#BÐCÓDˆÜ—‘×$Ñ$ RÓ(ˆØ�\‰\×)Ñ)ˆØ˜bÑ Ð Ð Ø˜‘m AÑ&ˆØ˜=Ñ)¨WÒ4Ð4Ð4Ø˜<Ñ(¨HÒ4Ð4Ñ4rj   c                 ó@  — t        j                  g d¢g d¢dœg d¢¬«      }t        j                  j	                  |«      }|j                  d¬«      }|j                  |j                  j                  «       «      j                  «       }t        j                  ||«       y )Nr   ©rµ   rZ  Úbazr7  )rÔ   rÕ   Úthreerº   T)Úignore_metadata)r.   r/   rE   rG   rH   rI   Úcastr:   Úremove_metadatarR   rS   )r„   rT   rY   rZ   rU   s        r7   Útest_ignore_metadataz(TestConvertMetadata.test_ignore_metadata@  sv   € Ü�\‰\¢	Ò0EÑFÚ 7ô9ˆä—‘×$Ñ$ RÓ(ˆà—‘°�Ó6ˆØ—J‘J˜uŸ|™|×;Ñ;Ó=Ó>ß‘Y“[ð 	ô 	×Ñ˜f hÕ/rj   c           	      ó˜  — t        j                  ddgg d¢dgdz  gi«      }t        j                  t        j                  dt        j
                  t        j                  «       «      ¬«      g«      }t        j                  j                  ||¬«      }|j                  j                  }d|vsJ ‚|d	   d
   }|d   dk(  sJ ‚|d   dk(  sJ ‚y )NrŸ   r   ©r)   r€   r—   r˜   r¼   ©r_   ©r:   rb  rK   r   r  zlist[int64]r  r?   )
r.   r/   rE   r:   r‚   Úlist_r   rG   rH   r  )r„   rT   r:   rY   r  re  s         r7   Útest_list_metadataz&TestConvertMetadata.test_list_metadataK  s¹   € Ü�\‰\˜6 Q Cª°Q°C¸!±GÐ#<Ð=Ó>ˆÜ—‘œBŸH™H V´"·(±(¼2¿8¹8»:Ó2FÔGÐHÓIˆÜ—‘×$Ñ$ R°Ð$Ó7ˆØ�\‰\×)Ñ)ˆØ˜bÑ Ð Ð Ø˜‘m AÑ&ˆØ˜=Ñ)¨]Ò:Ð:Ð:Ø˜<Ñ(¨HÒ4Ð4Ñ4rj   c                 óÌ   — t        j                  ddddœdddœgi«      }t        j                  j	                  |«      }|j
                  j                  }|d   d   d	   d
k(  sJ ‚y )NÚdictsr   r)   r7  r€   r—   rK   r   r  r?   rd  )r„   rT   rY   r  s       r7   Útest_struct_metadataz(TestConvertMetadata.test_struct_metadataU  sd   € Ü�\‰\˜7¨1°1Ñ%5¸QÀQÑ7GÐ$HÐIÓJˆÜ—‘×$Ñ$ RÓ(ˆØŸ,™,×6Ñ6ˆØ˜yÑ)¨!Ñ,¨]Ñ;¸xÒGÐGÑGrj   c                 óL  — t        j                  dt        j                  d«      t        j                  d«       gi«      }t        j
                  j                  |«      }|j                  j                  }d|vsJ ‚|d   d   }|d   dk(  sJ ‚|d	   d
k(  sJ ‚|d   dddœk(  sJ ‚y )NÚdecimalsú394092382910493.12341234678z314292388910493.12343437128rb  rK   r   r  r¯   r  r?   r  é   é   ©Ú	precisionÚscale)	r.   r/   r¯   r°   rE   rG   rH   r:   r  )r„   rU   rY   r  re  s        r7   Útest_decimal_metadataz)TestConvertMetadata.test_decimal_metadata[  s¹   € Ü—<‘<ØÜ—‘Ð =Ó>Ü—‘Ð!>Ó?Ð?ðð!
ó ˆô —‘×$Ñ$ XÓ.ˆØ�\‰\×)Ñ)ˆØ˜bÑ Ð Ð Ø˜‘m AÑ&ˆØ˜=Ñ)¨YÒ6Ð6Ð6Ø˜<Ñ(¨HÒ4Ð4Ð4Ø˜:Ñ&¸ÀRÑ*HÒHÐHÑHrj   Útypc           	      óf  — t        j                  dt        j                  d«      gi«      }t	        j
                  t	        j                  d |dd«      ¬«      g«      }t        j                  j                  ||¬«      }|j
                  j                  d   d   }|d	   d
k(  sJ ‚|d   dddœk(  sJ ‚y )Nr    ú3.14r—   r)   rq  rr  rK   r   r  r¯   r  r}  )
r.   r/   r¯   r°   rE   r:   r‚   rG   rH   r  )r„   r�  rT   r:   rY   Úcol_metas         r7   Útest_decimal_other_bitwidtsz/TestConvertMetadata.test_decimal_other_bitwidtsj  s¢   € ô �\‰\˜3¤§¡°Ó!8Ð 9Ð:Ó;ˆÜ—‘œBŸH™H S©s°1°a«yÔ9Ð:Ó;ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆØ—<‘<×/Ñ/°	Ñ:¸1Ñ=ˆØ˜Ñ&¨)Ò3Ð3Ð3Ø˜
Ñ#°QÀÑ'CÒCÐCÑCrj   c                 ód  — t        j                  g d¢d¬«      t        j                  ddd¬«      fD ]ü  }t        j                  g d¢g d	¢d
œ|¬«      }t        j
                  j                  |«      }|j                  d«      }|j                  «       }|dg   }t        |j                  t         j                  «      rd |j                  _        t        j                  ||«       |j                  d«      }|j                  «       }t        j                  ||dg   j                  d¬«      «       Œþ y )N©r    rÌ   rÛ   r”   r`   r)  r€   r¦   ©r©   r¥   r   ©çš™™™™™¹?çš™™™™™É?ç333333Ó?r7  rº   r   r    T©Údrop)r.   ré   r«   r/   rE   rG   rH   Úremove_columnrI   r¿   r”   rä   rª   rR   rS   Úreset_index)r„   r”   rT   rY   Útable_subsetrZ   rU   Útable_subset2s           r7   Ú!test_table_column_subset_metadataz5TestConvertMetadata.test_table_column_subset_metadatax  s  € ô —‘š¨wÔ7Ü—‘˜l°AÐ:KÔLðNò 	LˆEô —‘¢IÚ$0ñ2Ø9>ô@ˆBä—H‘H×(Ñ(¨Ó,ˆEà ×.Ñ.¨qÓ1ˆLØ!×+Ñ+Ó-ˆFØ˜3˜%‘yˆHÜ˜"Ÿ(™(¤B×$4Ñ$4Ô5Ø $�—‘”Ü×!Ñ! &¨(Ô3à(×6Ñ6°qÓ9ˆMØ"×,Ñ,Ó.ˆFÜ×!Ñ! &¨"¨c¨U©)×*?Ñ*?ÀTÐ*?Ó*JÕKñ!	Lrj   c                 ó¢  — t        j                  t        t        d«      «      t        t        d«      «      t	        j
                  d«      dœ«      }t        j                  j                  |j                  ddg«      «      }|j                  ddg«      }|j                  «       }|ddg   j                  d«      }t        j                  ||«       y )Nr˜   )ÚfirstÚsecondÚvaluer•  r–  r—  )r.   r/   r  r4   r0   r1   rE   rG   rH   r�   ÚselectrI   rR   rS   )r„   rT   rY   ÚsubsetrZ   rU   s         r7   Ú'test_to_pandas_column_subset_multiindexz;TestConvertMetadata.test_to_pandas_column_subset_multiindex�  s¥   € ä�\‰\Üœ5 ›8“nÜœE !›H“~Ü—i‘i “lñ$ó
ˆô
 —‘×$Ñ$ R§\¡\°7¸HÐ2EÓ%FÓGˆà—‘˜w¨Ð0Ó1ˆØ×!Ñ!Ó#ˆØ�w Ð(Ñ)×3Ñ3°GÓ<ˆÜ
×Ñ˜f hÕ/rj   c                 óR  — dgddgd g}g g g g}t        dt        j                  |t        j                  t        j                  «       «      ¬«      fdt        j                  |t        j                  t        j                  «       «      ¬«      fg«      }t        j
                  j                  t        |j                  «       «      t        |j                  «       «      «      }t        j                  j                  |g«      }|j                  «       }t        j                  j                  |«      }|j                  j                  }|j                  «       }	t!        j"                  t        d|fd|fg«      «      }
t%        j&                  |	|
«       |d   ddd dd	d
œddd ddd
œgk(  sJ ‚y )NÚtestr    rÌ   Úc1rq  Úc2rK   r?   zlist[unicode])ra   r   r  r  r  zlist[empty])r   rE   rb   rs  ÚstringrF   rÝ   r  rs   ÚkeysrG   rD  rI   rH   r:   r  r.   r/   rR   rS   )r„   r�  rž  ÚarraysÚrbÚtblrT   Útbl2Úmd2rÂ   rU   s              r7   Útest_empty_list_metadataz,TestConvertMetadata.test_empty_list_metadata›  sq  € ð ˆh˜˜c˜
 DÐ)ˆØ�"�bˆ\ˆÜØ”2—8‘8˜B¤R§X¡X¬b¯i©i«kÓ%:Ô;Ð<Ø”2—8‘8˜B¤R§X¡X¬b¯i©i«kÓ%:Ô;Ð<ð
ó ˆô �^‰^×'Ñ'Ü�—‘“Ó!Ü�—‘“Óó
ˆô �h‰h×#Ñ# R DÓ)ˆð �]‰]‹_ˆÜ�x‰x×#Ñ# BÓ'ˆØ�k‰k×)Ñ)ˆð �n‰nÓˆÜ—<‘<¤¨d°B¨Z¸$À¸Ð,DÓ EÓFˆä
×Ñ˜c 8Ô,à�9‰~àØ"Ø Ø&Ø.ñð Ø"Ø Ø&Ø,ñð"
ò 
ð 	
ñ 
rj   c                 ó°   — t        j                  g d¢g d¢dœ«      }t        j                  j	                  |«      }|j
                  j                  d   €J ‚y )Nr   r7  Úpandas_versionrd  rƒ   s      r7   Útest_metadata_pandas_versionz0TestConvertMetadata.test_metadata_pandas_versionÇ  sE   € Ü�\‰\¢	²	Ñ:Ó;ˆÜ—‘×$Ñ$ RÓ(ˆØ�|‰|×+Ñ+Ð,<Ñ=ÐIÐIÑIrj   c                 ó2  — i }t        t        j                  «      t        d«      k\  rddi}t        j                  dt        j                  	 dddi|¤Ži«      }t
        j                  j                  |«      }|d   j                  t        j                  dd¬«      «      }|j                  d	t        j                  d|j                  «      |«      }t        j                  dt        j                  dd¬«      fg«      }t
        j                  j                  ||¬
«      }|j                  «       }|d   j                  j!                  d«      |d<   ||fD ]@  }	|	j                  j"                  €J ‚|	j%                  «       }
t'        j(                  |
|«       ŒB y )Nr(  r$  r&  r   r©   r€   ÚUTC©r¥   r   rr  )z
2020-01-01)r   r.   r1  r/   r«   rE   rG   rH   rl  Ú	timestampÚ
set_columnr‚   r_   r:   rr   ÚdtÚtz_localizer  rI   rR   rS   )r„   r2  rT   rY   Únew_colÚ
new_table1r:   Ú
new_table2rU   Ú	new_tablerZ   s              r7   Útest_mismatch_metadata_schemaz1TestConvertMetadata.test_mismatch_metadata_schemaÌ  sh  € ð
 ˆ
Ü”2—>‘>Ó"¤g¨gÓ&6Ò6à  $˜ˆJÜ�\‰\˜:¤r§}¡}Øñ(3Ø"#ð(3Ø'1ñ(3ð 4ó 5ˆô —‘×$Ñ$ RÓ(ˆà˜
Ñ#×(Ñ(¬¯©°d¸uÔ)EÓFˆØ×%Ñ%ØŒr�x‰x˜
 G§L¡LÓ1°7ó
ˆ
ô
 —‘˜Z¬¯©°d¸uÔ)EÐFÐGÓHˆÜ—X‘X×)Ñ)¨"°VÐ)Ó<ˆ
à—7‘7“9ˆØ'¨
Ñ3×6Ñ6×BÑBÀ5ÓIˆ�Ñà$ jÐ1ò 	4ˆIà×#Ñ#×3Ñ3Ð?Ð?Ð?à×(Ñ(Ó*ˆFÜ×!Ñ! &¨(Õ3ñ	4rj   )6Ú__name__Ú
__module__Ú__qualname__Ú__doc__r…   r•   r�   r¤   r‘   ÚmarkÚparametrizer¬   r³   rÅ   rÊ   rÒ   rß   rå   rê   rî   rð   ró   rö   rù   rP   rü   r  r  r#  r3  r5  r9  r>  rI  rK  rP  rX  r_  rf  rn  rt  rw  r€  rE   Ú	decimal32Ú	decimal64Ú
decimal128Ú
decimal256r…  r“  rš  r¦  r©  rµ  r0  rj   r7   r}   r}   ¬   s‰  „ ñò*ò
9ò 
@ò9ð
 ‡[�[×Ñ˜T DÐ*;Ð#<Ó=ñ9ó >ð9ò	9ò*ò6,ò=ò9ò	9ò9ò$9ò
=ò9ò9ò9ð ‡[�[×ÑØIóñ9óð9ò'(òR&ò")ð* ‡[�[×Ñ˜V d¨D \Ó2ñ4ó 3ð4ò29ò9ò%ò
"ò9ò
=ò"$ò&
9ò5ò	0ò5òHòIð ‡[�[×Ñ˜UØ
�‰Ø
�‰Ø
�‰Ø
�‰ð	%ó ñDóðDòLò*0ò*
òXJó
 4rj   r}   c                   ó”   — e 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y)ÚTestConvertPrimitiveTypesz>
    Conversion tests for primitive (e.g. numeric) types.
    c                 óÄ  — i }g }dt        j                  «       fdt        j                  «       fdt        j                  «       fg}d}|D ]]  \  }}t        j
                  j                  |«      }|j                  |«      ||<   |j                  t        j                  ||«      «       Œ_ t        j                  |«      }t        j                  |«      }	t        ||	¬«       y )NÚf2Úf4Úf8éd   ©rV   )rE   Úfloat16r   r    r0   r2   r3   r8  Úappendr‚   r.   r/   r:   r\   )
r„   rŸ   ÚfieldsÚdtypesÚ
num_valuesÚnumpy_dtypeÚarrow_dtypers   rT   r:   s
             r7   Útest_float_no_nullsz-TestConvertPrimitiveTypes.test_float_no_nullsô  s¼   € ØˆØˆØœŸ™›Ð&ØœŸ™›Ð&ØœŸ™›Ð&ð(ˆð ˆ
à(.ò 	>Ñ$ˆK˜Ü—Y‘Y—_‘_ ZÓ0ˆFØ &§¡¨kÓ :ˆD�ÑØ�M‰Mœ"Ÿ(™( ;°Ó<Õ=ð	>ô
 �\‰\˜$ÓˆÜ—‘˜6Ó"ˆÜ °FÖ;rj   c                 ó|  — d}t         j                  j                  dd|¬«      dk  }dt        j                  «       fdt        j
                  «       fdt        j                  «       fg}g d	¢}g }g }g }|D ]¥  \  }}	t         j                  j                  |«      j                  |«      }
t        j                  |
d
|¬«      }|j                  |«       |j                  t        j                  ||	«      «       t         j                  |
|<   |j                  |
«       Œ§ t        j                  t        t!        ||«      «      |¬«      }t        j"                  j%                  ||«      }|j&                  j)                  t        j&                  |«      «      sJ ‚|j+                  «       }t-        j.                  ||«       y )NrÆ  r   é
   ©r5   r€   rÃ  rÄ  rÅ  )rÃ  rÄ  rÅ  T)rH   rl   rš   )r0   r2   ÚrandintrE   rÈ  r   r    r3   r8  rb   rÉ  r‚   rM   r.   r/   ÚdictÚziprG   rÝ   r:   rJ   rI   rR   rS   )r„   rÌ  Ú	null_maskrË  r¢   Úexpected_colsr¡  rÊ  ra   rÎ  rs   rh   Úex_framerY   rZ   s                  r7   Útest_float_nullsz*TestConvertPrimitiveTypes.test_float_nulls  sf  € Øˆ
ä—I‘I×%Ñ% a¨°*Ð%Ó=ÀÑAˆ	ØœŸ™›Ð&ØœŸ™›Ð&ØœŸ™›Ð&ð(ˆò #ˆØˆàˆØˆØ!'ò 	)ÑˆD�+Ü—Y‘Y—_‘_ ZÓ0×7Ñ7¸Ó=ˆFä—(‘(˜6¨t¸)ÔDˆCØ�M‰M˜#ÔØ�M‰Mœ"Ÿ(™( 4¨Ó5Ô6Ü "§¡ˆF�9Ñà× Ñ  Õ(ð	)ô —<‘<¤¤S¨°Ó%>Ó ?Ø(-ô/ˆô —‘×$Ñ$ V¨UÓ3ˆØ�|‰|×"Ñ"¤2§9¡9¨VÓ#4Ô5Ð5Ð5Ø—‘Ó"ˆÜ
×Ñ˜f hÕ/rj   c                 ó�  — t        j                  dddt        j                  gi«      }t	        j
                  t	        j                  dt	        j                  «       d¬«      g«      }t        j                  j                  ||d¬«      }|d   j                  «       g d	¢k(  sJ ‚t        j                  ||j                  «       «       y )
Nr    rˆ   r‰   T©ÚnullableF©r:   rB  r   ©r   r)   N)r.   r/   r0   rM   rE   r:   r‚   r   rG   rH   Ú	to_pylistrR   rS   rI   ©r„   rT   r:   rY   s       r7   Útest_float_nulls_to_intsz2TestConvertPrimitiveTypes.test_float_nulls_to_ints#  s‘   € ä�\‰\˜3  c¬2¯6©6Ð 2Ð3Ó4ˆÜ—‘œBŸH™H S¬"¯(©(«*¸tÔDÐEÓFˆÜ—‘×$Ñ$ R°¸UÐ$ÓCˆØ�Q‰x×!Ñ!Ó#¢|Ò3Ð3Ð3Ü
×Ñ˜b %§/¡/Ó"3Õ4rj   c                 ó    — t        j                  g d¢«      }t        j                  g d¢«      }t        ||t        j                  «       ¬«       y )N)ç        rˆ   r‰   Ng      À)FTTNT©rU   r_   )r.   rc   ru   rE   Úbool_©r„   re   rU   s      r7   Útest_float_nulls_to_booleanz5TestConvertPrimitiveTypes.test_float_nulls_to_boolean+  s2   € Ü�I‰IÒ1Ó2ˆÜ—9‘9Ò<Ó=ˆÜ˜q¨8¼"¿(¹(»*ÖErj   c                 óî   — t        j                  dt        j                  g«      }t	        j
                  |d¬«      }|j                  dk(  sJ ‚t        j                  |d   j                  «       «      sJ ‚y )Nrã  F©rH   r   r   )	r.   rc   r0   rM   rE   rb   rp   r  Úas_py)r„   re   rh   s      r7   Ú'test_series_from_pandas_false_respectedzATestConvertPrimitiveTypes.test_series_from_pandas_false_respected0  sV   € ä�I‰I�sœBŸF™F�mÓ$ˆÜ�h‰h�q eÔ,ˆØ�~‰~ Ò"Ð"Ð"Ü�x‰x˜˜A™Ÿ™›Ô'Ð'Ñ'rj   c                 ó(  — t        «       }g }dt        j                  «       fdt        j                  «       fdt        j                  «       fdt        j
                  «       fdt        j                  «       fdt        j                  «       fdt        j                  «       fdt        j                  «       fd	t        j
                  «       fd
t        j                  «       fg
}d}|D ]ô  \  }}t        j                  |«      }t        j                  j                  t        |j                  t        j                  t        j                   «      j                  «      t        |j                  t        j                  t        j                   «      j                  «      ||¬«      }|j#                  |«      ||<   |j%                  t        j&                  ||«      «       Œö t)        j*                  |«      }	t        j,                  |«      }
t/        |	|
¬«       y )NÚi1Úi2Úi4Úi8Úu1Úu2Úu4Úu8ÚlonglongÚ	ulonglongrÆ  ©r5   r   rÇ  )r   rE   r   r   r   r   r   r   r   r   r0   Úiinfor2   rÓ  ÚmaxÚminÚint_r8  rÉ  r‚   r.   r/   r:   r\   )r„   rŸ   rÊ  Únumpy_dtypesrÌ  r   rÎ  Úinfors   rT   r:   s              r7   Útest_integer_no_nullsz/TestConvertPrimitiveTypes.test_integer_no_nulls7  sy  € Ü‹}ˆØˆð ”2—7‘7“9Ð ¤b§h¡h£jÐ1Ø”2—8‘8“:Ð ¤r§x¡x£zÐ 2Ø”2—8‘8“:Ð ¤r§y¡y£{Ð 3Ø”2—9‘9“;Ð $¬¯	©	«Ð!4ØœŸ™›Ð$ {´B·I±I³KÐ&@ð
ˆð ˆ
à".ò 	8ÑˆE�;Ü—8‘8˜E“?ˆDÜ—Y‘Y×&Ñ&¤s¨4¯8©8´R·X±X¼b¿g¹gÓ5F×5JÑ5JÓ'KÜ'*¨4¯8©8´R·X±X¼b¿g¹gÓ5F×5JÑ5JÓ'KØ,6¸eð 'ó EˆFð !Ÿ-™-¨Ó.ˆD�‰KØ�M‰Mœ"Ÿ(™( 5¨+Ó6Õ7ð	8ô �\‰\˜$ÓˆÜ—‘˜6Ó"ˆÜ °FÖ;rj   c                 ó<  — t        «       }g d¢}|D ]  }t        j                  d|¬«      ||<   Œ t        j                  |«      }t        |«       |j                  «       D ]:  }t        j                  |«      }|j                  «       |j                  «       k(  rŒ:J ‚ y )N)rí  rî  rï  rð  rñ  rò  ró  rô  ÚbyteÚubyteÚshortÚushortÚintcÚuintcrû  Úuintrõ  rö  é   r   )r   r0   r1   r.   r/   r\   rs   rE   rb   rß  Útolist)r„   rŸ   rü  r   rT   Únp_arrrh   s          r7   Útest_all_integer_typesz0TestConvertPrimitiveTypes.test_all_integer_typesP  s‹   € ä‹}ˆòAˆð "ò 	5ˆEÜŸ)™) B¨eÔ4ˆD�ŠKð	5ä�\‰\˜$ÓˆÜ Ô#ð —k‘k“mò 	6ˆFÜ—(‘(˜6Ó"ˆCØ—=‘=“? f§m¡m£oÓ5Ð5Ð5ñ	6rj   c           	      ó¢  — g d¢}|D ]º  }dD ]³  }t        j                  g d¢||z   ¬«      }||d d d…   fD ]ˆ  }|j                  j                  r9t	        j                  |«      }|j                  «       |j                  «       k(  rŒPJ ‚t        j                  t        «      5  t	        j                  |«      }d d d «       ŒŠ Œµ Œ¼ y # 1 sw Y   Œ™xY w)N©rí  rî  rï  rð  rñ  rò  ró  rô  z=<>)r   r)   é*   r   r)   )
r0   rb   r   ÚisnativerE   rß  r  r‘   r<  ÚNotImplementedError)r„   Ú
int_dtypesr¯  ÚorderrŸ   r	  rh   s          r7   Útest_integer_byteorderz0TestConvertPrimitiveTypes.test_integer_byteordera  s½   € âEˆ
Øò 		1ˆBØò 1�Ü—x‘x¢
°%¸"±*Ô=�Ø# T©#¨A¨#¡YÐ/ò 1�FØ—z‘z×*Ò*Ü Ÿh™h t›n˜Ø"Ÿ}™}›°$·+±+³-Ó?Ð?Ð?ä#Ÿ]™]Ô+>Ó?ñ 1Ü"$§(¡(¨4£.˜C÷1ð 1ñ1ñ1ñ		1÷1ð 1ús   Â C	ÃCc                 óN  — g d¢}d}t         j                  j                  dd|¬«      dk  }g }g }|D ]�  }t         j                  j                  dd|¬«      }t        j                  ||¬«      }|j                  |«       |j                  d«      }	t         j                  |	|<   |j                  |	«       Œƒ t        j                  t        t        ||«      «      |¬	«      }
t        j                  j                  ||«      }|j                  «       }t        j                   ||
«       y )
Nr  rÆ  r   rÑ  rÒ  r€   ©rl   rÅ  rš   )r0   r2   rÓ  rE   rb   rÉ  r8  rM   r.   r/   rÔ  rÕ  rG   rÝ   rI   rR   rS   )r„   r  rÌ  rÖ  r×  r¡  ra   rs   rh   rU   rØ  rY   rZ   s                r7   Útest_integer_with_nullsz1TestConvertPrimitiveTypes.test_integer_with_nullso  sþ   € ò Fˆ
Øˆ
ä—I‘I×%Ñ% a¨°*Ð%Ó=ÀÑAˆ	àˆØˆØò 		+ˆDÜ—Y‘Y×&Ñ& q¨#°JÐ&Ó?ˆFä—(‘(˜6¨	Ô2ˆCØ�M‰M˜#Ôà—}‘} TÓ*ˆHÜ"$§&¡&ˆH�YÑà× Ñ  Õ*ð		+ô —<‘<¤¤S¨°]Ó%CÓ DØ(2ô4ˆô —‘×$Ñ$ V¨ZÓ8ˆØ—‘Ó"ˆä
×Ñ˜f hÕ/rj   c                 óö   — t        j                  dd¬«      }t        j                  «       }t        j                  ||¬«      }t        j                  |j                  d«      «      }|j                  |«      sJ ‚y )NrÑ  r   r   rq  r   )r0   r1   rE   r   rb   r8  rJ   )r„   rh   Útarget_typerZ   rU   s        r7   Ú test_array_from_pandas_type_castz:TestConvertPrimitiveTypes.test_array_from_pandas_type_castŒ  sV   € Ü�i‰i˜ 'Ô*ˆä—g‘g“iˆä—‘˜# KÔ0ˆÜ—8‘8˜CŸJ™J vÓ.Ó/ˆØ�}‰}˜XÔ&Ð&Ñ&rj   c                 óJ  — d}t         j                  j                  d«       t        j                  dt         j                  j                  |«      dkD  i«      }t        j                  dt        j                  «       «      }t        j                  |g«      }t        ||¬«       y )NrÆ  r   ÚboolsrÇ  )r0   r2   Úseedr.   r/   r3   rE   r‚   rå  r:   r\   )r„   rÌ  rT   r‚   r:   s        r7   Útest_boolean_no_nullsz/TestConvertPrimitiveTypes.test_boolean_no_nulls•  sl   € Øˆ
ä
�	‰	�‰�qÔä�\‰\˜7¤B§I¡I§O¡O°JÓ$?À!Ñ$CÐDÓEˆÜ—‘˜¤"§(¡(£*Ó-ˆÜ—‘˜E˜7Ó#ˆÜ °FÖ;rj   c                 ó°  — d}t         j                  j                  d«       t         j                  j                  dd|¬«      dk  }t         j                  j                  dd|¬«      dk  }t	        j
                  ||¬«      }|j                  t        «      }d ||<   t	        j                  dt	        j                  «       «      }t	        j                  |g«      }t        j                  d|i«      }t        j                  j                  |gdg«      }	|	j                  j                  |«      sJ ‚|	j!                  «       }
t#        j$                  |
|«       y )	NrÆ  r   rÑ  rÒ  r€   r˜   r  r  )r0   r2   r  rÓ  rE   rb   r8  r?   r‚   rå  r:   r.   r/   rG   rÝ   rJ   rI   rR   rS   )r„   rÌ  rl   rs   rh   rU   r‚   r:   rØ  rY   rZ   s              r7   Útest_boolean_nullsz,TestConvertPrimitiveTypes.test_boolean_nullsŸ  s  € àˆ
Ü
�	‰	�‰�qÔä�y‰y× Ñ   B¨ZÐ Ó8¸1Ñ<ˆÜ—‘×"Ñ" 1 b¨zÐ"Ó:¸QÑ>ˆä�h‰h�v DÔ)ˆà—=‘=¤Ó(ˆØˆ�‰ä—‘˜¤"§(¡(£*Ó-ˆÜ—‘˜E˜7Ó#ˆÜ—<‘< ¨(Ð 3Ó4ˆä—‘×$Ñ$ c U¨W¨IÓ6ˆØ�|‰|×"Ñ" 6Ô*Ð*Ð*Ø—‘Ó"ˆä
×Ñ˜f hÕ/rj   c                 ó¬   — t        j                  g d¢dz  «      }t        j                  g d¢dz  «      }t        ||t        j                  «       ¬«       y )N©TTFTTr)   ©r   r   r   r   r   rä  )r.   rc   ru   rE   r   ræ  s      r7   Útest_boolean_to_intz-TestConvertPrimitiveTypes.test_boolean_to_int¶  s;   € ä�I‰IÒ5¸Ñ9Ó:ˆÜ—9‘9š_¨qÑ0Ó1ˆÜ˜q¨8¼"¿(¹(»*ÖErj   c                 ó0  — t        j                  g d¢dz  t        ¬«      }t        j                  g d¢dz  «      }d}t        j                  t
        j                  |¬«      5  t        ||t        j                  «       ¬«       d d d «       y # 1 sw Y   y xY w)Nr   r)   r   r!  zExpected integer, got bool©Úmatchrä  )	r.   rc   r?   r‘   r<  rE   ÚArrowTypeErrorru   r   )r„   re   rU   Úexpected_msgs       r7   Útest_boolean_objects_to_intz5TestConvertPrimitiveTypes.test_boolean_objects_to_int¼  so   € ä�I‰IÒ5¸Ñ9ÄÔHˆÜ—9‘9š_¨qÑ0Ó1ˆØ3ˆÜ�]‰]œ2×,Ñ,°LÔAñ 	JÜ" 1¨x¼b¿h¹h»jÕI÷	J÷ 	Jñ 	Jús   Á"!BÂBc                 ó¬   — t        j                  g d¢dz  «      }t        j                  g d¢dz  «      }t        ||t        j                  «       ¬«       y )N)TTFNTr)   )rˆ   rˆ   rã  Nrˆ   rä  )r.   rc   ru   rE   r    ræ  s      r7   Útest_boolean_nulls_to_floatz5TestConvertPrimitiveTypes.test_boolean_nulls_to_floatÄ  s<   € ä�I‰IÒ5¸Ñ9Ó:ˆÜ—9‘9Ò7¸!Ñ;Ó<ˆÜ˜q¨8¼"¿*¹*»,ÖGrj   c                 óv   — t        j                  t        j                  dd¬«      ddg¬«      }t	        |«       y )N)r€   r)   r!   r   r    rÌ   rš   )r.   r/   r0   Úonesr\   r£   s     r7   Útest_boolean_multiple_columnsz7TestConvertPrimitiveTypes.test_boolean_multiple_columnsÊ  s)   € ä�\‰\œ"Ÿ'™' &°Ô7À#ÀsÀÔLˆÜ Õ#rj   c                 ó†  — t        j                  d dt        j                  d«      gdz  t        ¬«      }t	        j
                  d|i«      }t	        j
                  dt	        j                  |«      i«      }t        j                  dt        j                  «       «      }t        j                  |g«      }t        |||¬«       y )Nrø   g      @r˜   r   Úfloats©rU   rV   )r0   rb   r    r?   r.   r/   Ú
to_numericrE   r‚   r:   r\   ©r„   rh   rT   rU   r‚   r:   s         r7   Útest_float_object_nullsz1TestConvertPrimitiveTypes.test_float_object_nullsÏ  s‰   € Ü�h‰h˜˜c¤2§:¡:¨c£?Ð3°aÑ7¼vÔFˆÜ�\‰\˜8 S˜/Ó*ˆÜ—<‘< ¬2¯=©=¸Ó+=Ð >Ó?ˆÜ—‘˜¤2§:¡:£<Ó0ˆÜ—‘˜E˜7Ó#ˆÜ ¨XØ06ö	8rj   c           	      óF  — t        j                  t        j                  ddt        j                  g«      }t	        j
                  «       t	        j                  «       t	        j                  «       t	        j                  «       t	        j                  «       t	        j                  «       t	        j                  «       t	        j                  «       g}|D ]Í  }t	        j                  ||¬«      }t	        j                  g d¢|¬«      }|j                  |«      sJ ‚t        j                  d|i«      }t	        j                   t	        j"                  d|«      g«      }t        j$                  j'                  ||d¬«      }|d   j)                  d«      j                  |«      rŒÍJ ‚ y )	Nrˆ   r‰   rq  )Nr   r)   NÚ	has_nullsF©r:   r;   r   )r.   rc   r0   rM   rE   r   r   r   r   r   r   r   r   rb   rJ   r/   r:   r‚   rG   rH   Úchunk)r„   re   ÚtypesÚtyrZ   rU   rT   r:   s           r7   Útest_float_with_null_as_integerz9TestConvertPrimitiveTypes.test_float_with_null_as_integerØ  s  € ä�I‰I”r—v‘v˜r 2¤r§v¡vÐ.Ó/ˆä—‘“œBŸH™H›J¬¯©«
´B·H±H³JÜ—‘“œRŸY™Y›[¬"¯)©)«+´r·y±y³{ðDˆàò 		7ˆBÜ—X‘X˜a bÔ)ˆFÜ—x‘xÒ 2¸Ô<ˆHØ—=‘= Ô*Ð*Ð*ä—‘˜{¨AÐ.Ó/ˆBÜ—Y‘Y¤§¡¨°bÓ 9Ð:Ó;ˆFÜ—X‘X×)Ñ)¨"°VØ9>ð *ó @ˆFà˜!‘9—?‘? 1Ó%×,Ñ,¨XÕ6Ð6Ð6ñ		7rj   c                 ó†  — t        j                  d dt        j                  d«      gdz  t        ¬«      }t	        j
                  d|i«      }t	        j
                  dt	        j                  |«      i«      }t        j                  dt        j                  «       «      }t        j                  |g«      }t        |||¬«       y )Nr   r€   r˜   r   Úintsr0  )r0   rb   r   r?   r.   r/   r1  rE   r‚   r:   r\   r2  s         r7   Útest_int_object_nullsz/TestConvertPrimitiveTypes.test_int_object_nullsé  s‰   € Ü�h‰h˜˜a¤§¡¨!£Ð-°Ñ1¼Ô@ˆÜ�\‰\˜6 3˜-Ó(ˆÜ—<‘< ¬¯©°sÓ);Ð <Ó=ˆÜ—‘˜¤§¡£Ó,ˆÜ—‘˜E˜7Ó#ˆÜ ¨XØ06ö	8rj   c                 ó  — t        j                  g d¢dz  t        ¬«      }t        j                  d|i«      }t        j                  dt        j                  «       «      }t        j                  |g«      }t        ||¬«       y )N)FNTrÆ  r   r  rÇ  )
r0   rb   r?   r.   r/   rE   r‚   rå  r:   r\   )r„   rh   rT   r‚   r:   s        r7   Útest_boolean_object_nullsz3TestConvertPrimitiveTypes.test_boolean_object_nullsò  sZ   € Ü�h‰hÒ*¨SÑ0¼Ô?ˆÜ�\‰\˜7 C˜.Ó)ˆÜ—‘˜¤"§(¡(£*Ó-ˆÜ—‘˜E˜7Ó#ˆÜ °FÖ;rj   c                 ó°   ‡— t        j                  d gt        ¬«      Šˆfd„} |t        j                  «       «        |t        j
                  «       «       y )Nr   c                 ó€   •— t        j                  ‰| ¬«      }|j                  | k(  sJ ‚|d   j                  «       �J ‚y )Nrq  r   )rE   rb   r_   rê  )r  Úa2rh   s     €r7   Ú_check_typezJTestConvertPrimitiveTypes.test_all_nulls_cast_numeric.<locals>._check_typeü  s9   ø€ Ü—‘˜# AÔ&ˆBØ—7‘7˜a’<Ð�<Ø�a‘5—;‘;“=Ð(Ð(Ñ(rj   )r0   rb   r?   rE   r   r    )r„   rC  rh   s     @r7   Útest_all_nulls_cast_numericz5TestConvertPrimitiveTypes.test_all_nulls_cast_numericù  s8   ø€ Ü�h‰h˜�v¤VÔ,ˆô	)ñ
 	”B—H‘H“JÔÙ”B—J‘J“LÕ!rj   c                 ó  — t        j                  dt         j                  gt         j                  ¬«      }t	        j                  |t	        j                  «       ¬«      }|j                  «       \  }}t        |t        «      sJ ‚|dk(  sJ ‚t        |t        «      sJ ‚t        j                  |«      sJ ‚t	        j                  |t	        j                  «       d¬«      }|j                  «       \  }}t        |t        «      sJ ‚|dk(  sJ ‚|�J ‚y )Nrø   r   rq  T©r_   rH   )	r0   rb   rM   rÈ  rE   rß  r¿   Úfloatr  )r„   rh   r    r6   Úys        r7   Útest_half_floats_from_numpyz5TestConvertPrimitiveTypes.test_half_floats_from_numpy  sÊ   € Ü�h‰h˜œRŸV™V�}¬B¯J©JÔ7ˆÜ�H‰H�SœrŸz™z›|Ô,ˆØ�{‰{‹}‰ˆˆ1Ü˜!œUÔ#Ð#Ð#Ø�CŠxˆˆxÜ˜!œUÔ#Ð#Ð#Ü�x‰x˜Œ{Ðˆ{ä�H‰H�SœrŸz™z›|¸Ô>ˆØ�{‰{‹}‰ˆˆ1Ü˜!œUÔ#Ð#Ð#Ø�CŠxˆˆxØˆyÐ‰yrj   N)r¶  r·  r¸  r¹  rÏ  rÙ  rá  rç  rë  rþ  r
  r  r  r  r  r  r"  r(  r*  r-  r3  r:  r=  r?  rD  rI  r0  rj   r7   rÁ  rÁ  ï  sy   „ ñò<ò"0ò<5òFò
(ò<ò26ò"1ò0ò:'ò<ò0ò.FòJòHò$ò
8ò7ò"8ò<ò	"órj   rÁ  r   r  c                 ó|  — d}t         j                  j                  dd|¬«      dk  }t         j                  j                  dd|| ¬«      }t        j                  ||¬«      }|j                  «       r|j                  d«      }d ||<   n|}|j                  d	¬
«      }t         j                  j                  ||«       y ©NrÆ  r   rÑ  rÒ  r€   r÷  r  ÚOT©Úinteger_object_nulls)
r0   r2   rÓ  rE   rb   Úanyr8  rI   ÚtestingÚassert_equal)r   rÌ  rÖ  rs   rb   rU   rZ   s          r7   Ú&test_array_integer_object_nulls_optionrR    s    € ð €Jä—	‘	×!Ñ! ! R¨jÐ!Ó9¸AÑ=€IÜ�Y‰Y×Ñ˜q #¨J¸eÐÓD€Fä�H‰H�V )Ô,€Eà‡}�}„Ø—=‘= Ó%ˆØ"ˆ�Òàˆà�_‰_°$ˆ_Ó7€Fä‡J�J×Ñ˜F HÕ-rj   c                 óÚ  — d}t         j                  j                  dd|¬«      dk  }t         j                  j                  dd|| ¬«      }t        j                  ||¬«      }|j                  «       r|j                  d«      }d ||<   n|}t        j                  | |i«      }t        j                  j                  |g| g«      }|j                  d	¬
«      }t        j                  ||«       y rK  )r0   r2   rÓ  rE   rb   rO  r8  r.   r/   rG   rÝ   rI   rR   rS   )r   rÌ  rÖ  rs   rb   rU   rY   rZ   s           r7   Ú&test_table_integer_object_nulls_optionrT  )  sÉ   € ð €Jä—	‘	×!Ñ! ! R¨jÐ!Ó9¸AÑ=€IÜ�Y‰Y×Ñ˜q #¨J¸eÐÓD€Fä�H‰H�V )Ô,€Eà‡}�}„Ø—=‘= Ó%ˆØ"ˆ�Òàˆä�|‰|˜U HÐ-Ó.€Hä�H‰H× Ñ  % ¨5¨'Ó2€EØ�_‰_°$ˆ_Ó7€Fä×Ñ˜& (Õ+rj   c                   ó8  — e Zd ZdZd„ Zd„ Zej                  j                  dg d¢«      d„ «       Z	d„ Z
d„ Z ej                   ej                  «       ej"                  z  «       ej$                  d	¬
«      d„ «       «       Zd„ Zd„ Zd„ Zd„ Zej                  j                  dd	g d¢g«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  d ej8                  «        ej:                  «        ej<                  d«       ej<                  d«       ej<                  d«       ej<                  d«       ej<                  dd«       ej<                  dd«       ej<                  dd«       ej<                  dd«      g
«      d„ «       Zej                  j                  d ej8                  «        ej:                  «        ej<                  d«       ej<                  d«       ej<                  d«       ej<                  d«       ej<                  dd«       ej<                  dd«       ej<                  dd«       ej<                  dd«      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+ej                  j                  d, ej8                  «        ej:                  «       g«      d-„ «       Z,d.„ Z-ej                  j]                  e/d	uxr,  e0d/«       e0e/jb                  «      cxk  xr  e0d0«      k  nc d1¬2«      d3„ «       Z2ej                  j                  dg d¢«      d4„ «       Z3ej                  j                  dg d¢«      d5„ «       Z4d6„ Z5y	)7ÚTestConvertDateTimeLikeTypeszQ
    Conversion tests for datetime- and timestamp-like types (date64, etc.).
    c                 óø   — t        j                  dt        j                  g d¢d¬«      i«      }t	        j
                  dt	        j                  d«      «      }t	        j                  |g«      }t        ||¬«       y )NÚ
datetime64)ú2007-07-13T01:23:34.123456789ú2006-01-13T12:34:56.432539784ú2010-08-13T05:46:57.437699912r&   r   r&  rÇ  ©	r.   r/   r0   rb   rE   r‚   r­  r:   r\   ©r„   rT   r‚   r:   s       r7   Ú#test_timestamps_notimezone_no_nullsz@TestConvertDateTimeLikeTypes.test_timestamps_notimezone_no_nullsF  óf   € Ü�\‰\Øœ"Ÿ(™(ò $1ð 'ô	(ð
ó ˆô —‘˜¤r§|¡|°DÓ'9Ó:ˆÜ—‘˜E˜7Ó#ˆÜØØ"ö	
rj   c                 óø   — t        j                  dt        j                  g d¢d¬«      i«      }t	        j
                  dt	        j                  d«      «      }t	        j                  |g«      }t        ||¬«       y )NrX  )rY  Nr[  r&   r   r&  rÇ  r\  r]  s       r7   Ú test_timestamps_notimezone_nullsz=TestConvertDateTimeLikeTypes.test_timestamps_notimezone_nullsU  r_  rj   r$  )re   Úmsr%  r&  c           	      ó  — t        t        j                  «      t        d«      k  r|dk7  rt        j                  d«       t        j
                  dt        j                  g d¢d|› d�¬«      i«      }|d   j                  j                  d	«      |d<   t        |«       t        |d   «       t        j
                  dt        j                  g d
¢d|› d�¬«      i«      }|d   j                  j                  d	«      |d<   t        |«       y )Nr(  r&  z0pandas < 2.0 only supports nanosecond datetime64rX  )ú2007-07-13T01:23:34.123ú2006-01-13T12:34:56.432ú2010-08-13T05:46:57.437r.  r/  r   ú
US/Eastern©rY  NrZ  r[  )r   r.   r1  r‘   rT  r/   r0   rb   r¯  r°  r\   ri   )r„   r$  rT   s      r7   Útest_timestamps_with_timezonez:TestConvertDateTimeLikeTypes.test_timestamps_with_timezoned  sö   € ä”2—>‘>Ó"¤W¨WÓ%5Ò5¸$À$º,Ü�K‰KÐJÔKÜ�\‰\Øœ"Ÿ(™(ò $+ð $ D 6¨Ð+ô	-ð
ó ˆð ˜lÑ+×.Ñ.×:Ñ:¸<ÓHˆˆ<ÑÜ Ô#ä  <Ñ 0Ô1ô �\‰\Øœ"Ÿ(™(ò $1ð
 $ D 6¨Ð+ô-ð
ó ˆð ˜lÑ+×.Ñ.×:Ñ:¸<ÓHˆˆ<Ñä Õ#rj   c                 ó  — t        d«      D �cg c]#  }t        j                  «       t        |¬«      z   ‘Œ% }}t	        j
                  dt	        j                  |t        ¬«      i«      }t        j                  j                  |«      }t        |d   j                  d«      t        j                  «      sJ ‚|j                  «       }t	        j
                  dt	        j                  |d¬«      i«      }t        j                   ||«       y c c}w )NrÑ  )Údaysr   r   r   r%   )r4   r   Útodayr   r.   r/   rc   r?   rE   rG   rH   r¿   r7  ÚTimestampArrayrI   rR   rS   )r„   r6   Ú
date_arrayrT   rY   rZ   Úexpected_dfs          r7   Útest_python_datetimez1TestConvertDateTimeLikeTypes.test_python_datetime�  sÐ   € äDIÈ"ÃIÖN¸q”h—n‘nÓ&¬¸Ô):Ó:ÐNˆ
ÐNÜ�\‰\ØœŸ	™	 *´FÔ;ð
ó ˆô —‘×$Ñ$ RÓ(ˆÜ˜% ™(Ÿ.™.¨Ó+¬R×->Ñ->Ô?Ð?Ð?à—‘Ó"ˆô —l‘lØœŸ	™	 *Ð4DÔEð$
ó ˆô 	×Ñ˜k¨6Õ2ùò Os   Ž(Dc           
      óü   — t        j                  d«      }|j                  |j                  d«      |j	                  d«      fD ]7  }t        dddddd|¬«      g}t        j                  d	|i«      }t        |«       Œ9 y )
NÚpytzrg  r   rè   r  é   é-   ©Útzinfor   )	r‘   ÚimportorskipÚutcr   ÚFixedOffsetr   r.   r/   r\   )r„   rr  r¥   rs   rT   s        r7   Ú%test_python_datetime_with_pytz_tzinfozBTestConvertDateTimeLikeTypes.test_python_datetime_with_pytz_tzinfo”  st   € Ü×"Ñ" 6Ó*ˆà—8‘8˜TŸ]™]¨<Ó8¸$×:JÑ:JÈ1Ó:MÐNò 	(ˆBÜ˜t Q¨¨2¨r°2¸bÔAÐBˆFÜ—‘˜z¨6Ð2Ó3ˆBÜ# BÕ'ñ	(rj   N)Údeadlinec           	      ó¶   — t        |«      dv rt        j                  d«       t        dddddd|¬«      g}t	        j
                  d	|i«      }t        |d
¬«       y )N)zbuild/etc/localtimeÚFactoryz Localtime timezone not supportedrè   r   r  rs  rt  ru  r   F©rC   )r+   r‘   rT  r   r.   r/   r\   )r„   r¥   rs   rT   s       r7   Ú'test_python_datetime_with_pytz_timezonezDTestConvertDateTimeLikeTypes.test_python_datetime_with_pytz_timezoneœ  sT   € ô ˆr‹7Ð8Ñ8Ü�K‰KÐ:Ô;Ü˜4  A r¨2¨r¸"Ô=Ð>ˆÜ�\‰\˜: vÐ.Ó/ˆÜ °Ö6rj   c           	      óÜ  — t        j                  d«      }ddlm} t        dddddd|j                  ¬	«      g}t        j                  d
|i|¬«      }t        |d¬«       d} |t        |¬«      «      }|j                  |dz  «      }t        dddddd|¬	«      g}t        dddddd|¬	«      g}t        j                  d
|i|¬«      }t        j                  d
|i|¬«      }	t        ||	d¬«       y )Nrr  r   )r   rè   r   r  rs  rt  ru  r   rº   Tr¡   )Úhoursé<   r�   )
r‘   rw  r   r   rx  r.   r/   r\   r   ry  )
r„   rr  r   rs   rT   r�  Útz_timezoneÚtz_pytzÚ
values_expÚdf_exps
             r7   Ú)test_python_datetime_with_timezone_tzinfozFTestConvertDateTimeLikeTypes.test_python_datetime_with_timezone_tzinfo¥  sã   € Ü×"Ñ" 6Ó*ˆÝ%ä˜4  A r¨2¨r¸(¿,¹,ÔGÐHˆä�\‰\˜: vÐ.°fÔ=ˆÜ °4Õ8ð ˆÙœy¨uÔ5Ó6ˆØ×"Ñ" 5¨2¡:Ó.ˆÜ˜4  A r¨2¨r¸+ÔFÐGˆÜ˜t Q¨¨2¨r°2¸gÔFÐGˆ
Ü�\‰\˜: vÐ.°fÔ=ˆÜ—‘˜z¨:Ð6¸jÔIˆÜ ¨VÀDÖIrj   c                 ó  —  G d„ dt         «      } |dddddd«      g}t        j                  dt        j                  |t        ¬«      i«      }t
        j                  j                  |«      }t        |d   j                  d«      t
        j                  «      sJ ‚|j                  «       }t        j                  dt        j                  |d¬«      i«      }t        j                  |d   «      |d<   t        j                  ||«       y )	Nc                   ó   — e Zd ZdZy)úNTestConvertDateTimeLikeTypes.test_python_datetime_subclass.<locals>.MyDatetimerã  N)r¶  r·  r¸  Ú
nanosecondr0  rj   r7   Ú
MyDatetimerŠ  º  s   „ à‰Jrj   rŒ  éÐ  r   r   r   r   r%   )r   r.   r/   rc   r?   rE   rG   rH   r¿   r7  rm  rI   Úto_datetimerR   rS   )r„   rŒ  rn  rT   rY   rZ   ro  s          r7   Útest_python_datetime_subclassz:TestConvertDateTimeLikeTypes.test_python_datetime_subclass¸  s×   € ô	œô 	ñ !  q¨!¨Q°°1Ó5Ð6ˆ
Ü�\‰\˜:¤r§y¡y°Ä6Ô'JÐKÓLˆä—‘×$Ñ$ RÓ(ˆÜ˜% ™(Ÿ.™.¨Ó+¬R×->Ñ->Ô?Ð?Ð?à—‘Ó"ˆô
 —l‘lØœŸ™ :Ð5EÔFÐGóIˆô #%§.¡.°¸ZÑ1HÓ"Iˆ�JÑä
×Ñ˜k¨6Õ2rj   c           
      óö  —  G d„ dt         «      } |ddd«      g}t        j                  dt        j                  |t        ¬«      i«      }t
        j                  j                  |«      }t        |d   j                  d«      t
        j                  «      sJ ‚|j                  «       }t        j                  dt        j                  t        ddd«      gt        ¬«      i«      }t        j                  ||«       y )Nc                   ó   — e Zd Zy)úFTestConvertDateTimeLikeTypes.test_python_date_subclass.<locals>.MyDateN©r¶  r·  r¸  r0  rj   r7   ÚMyDater’  Ó  s   „ Ørj   r”  r�  r   r   r   r   )r   r.   r/   rc   r?   rE   rG   rH   r¿   r7  ÚDate32ArrayrI   r0   rb   rR   rS   )r„   r”  rn  rT   rY   rZ   ro  s          r7   Útest_python_date_subclassz6TestConvertDateTimeLikeTypes.test_python_date_subclassÑ  s¿   € ô	”Tô 	ñ ˜T 1 aÓ(Ð)ˆ
Ü�\‰\˜6¤2§9¡9¨Z¼vÔ#FÐGÓHˆä—‘×$Ñ$ RÓ(ˆÜ˜% ™(Ÿ.™.¨Ó+¬R¯^©^Ô<Ð<Ð<à—‘Ó"ˆÜ—l‘lØ”R—X‘Xœt D¨!¨QÓ/Ð0¼Ô?Ð@ó
ˆô 	×Ñ˜k¨6Õ2rj   c                 ó>  — t        j                  t        ddd«      d g«      }t        j                  |g«      }|j	                  «       }t         j
                  j                  |t        j                  «       ¬«      }|j                  |j                  d«      «      sJ ‚y )Néá  rÑ  rs  rq  Údate32)
rE   rb   r   Úchunked_arrayrI   ÚArrayrH   r™  rJ   rl  )r„   rh   rÛ   re   Úarr2s        r7   Útest_datetime64_to_date32z6TestConvertDateTimeLikeTypes.test_datetime64_to_date32â  su   € ä�h‰hœ˜T 2 rÓ*¨DÐ1Ó2ˆÜ×Ñ˜c˜UÓ#ˆØ�K‰K‹Mˆä�x‰x×#Ñ# A¬B¯I©I«KÐ#Ó8ˆà�{‰{˜3Ÿ8™8 HÓ-Ô.Ð.Ñ.rj   rl   )TFFTFFc                 óü  — |rt        j                  |«      }t        j                  g d¢«      }t        j
                  j                  |t	        j                  «       |¬«      }t        j                  t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      g«      }t	        j                  ||t	        j                  «       ¬«      }|j                  |«      sJ ‚y )	N)z2018-05-10T00:00:00z2018-05-11T00:00:00z2018-05-12T00:00:00z2018-05-10T10:24:01z2018-05-11T10:24:01z2018-05-12T10:24:01©r_   rl   rè   r˜   rÑ  r|  r  ©rl   r_   )
r0   rb   r.   rŽ  rE   r›  rH   Údate64r   rJ   )r„   rl   re   rh   rŸ   rU   s         r7   Útest_pandas_datetime_to_date64z;TestConvertDateTimeLikeTypes.test_pandas_datetime_to_date64ì  sÑ   € ñ
 Ü—8‘8˜D“>ˆDÜ�N‰Nò 
ó ˆô �h‰h×"Ñ" 1¬2¯9©9«;¸TÐ"ÓBˆä�x‰xÜ��q˜"ÓÜ��q˜"ÓÜ��q˜"ÓÜ��q˜"ÓÜ��q˜"ÓÜ��q˜"Óð
ó ˆô —8‘8˜D t´"·)±)³+Ô>ˆà�z‰z˜(Ô#Ð#Ñ#rj   zcoerce_to_ns,expected_dtype)Fr$   )Tr&   c                 ó   — t        ddd«      d t        ddd«      t        ddd«      g}t        j                  g d¢d¬	«      }t        t        j
                  «      t        d
«      k  rd}t        j                  g d¢|¬	«      }t        j                  |«      t        j                  |g«      g}|D ]ž  }|j                  |¬«      }|j                  t        «      }	|j                  |	j                  k(  sJ ‚t        j                  ||	«       |j                  d|¬«      }|j                  |j                  k(  sJ ‚t        j                  ||«       Œ  y )Nr�  r   é²  éø  r)   r{  )ú
2000-01-01Nz
1970-01-01z
2040-02-26údatetime64[D]r   r(  r&   ©Úcoerce_temporal_nanosecondsF©Údate_as_objectr©  )r   r0   rb   r   r.   r1  rE   rš  rI   r8  r?   r   rx   ry   )
r„   Úcoerce_to_nsÚexpected_dtyperŸ   Úexpected_daysrU   ÚobjectsÚobjrZ   Úexpected_objs
             r7   Útest_array_types_date_as_objectz<TestConvertDateTimeLikeTypes.test_array_types_date_as_object	  s;  € ô �T˜1˜aÓ ØÜ�T˜1˜aÓ Ü�T˜1˜bÓ!ð#ˆô Ÿ™ò "0Ø7FôHˆô ”2—>‘>Ó"¤W¨WÓ%5Ò5à-ˆNä—8‘8ò +Ø2@ôBˆô —8‘8˜D“>Ü×#Ñ# T FÓ+ð-ˆð ò 		5ˆCØ—]‘]¸|�]ÓLˆFØ(×/Ñ/´Ó7ˆLØ—<‘< <×#5Ñ#5Ò5Ð5Ð5Ü×"Ñ" 6¨<Ô8à—]‘]°%Ø?Kð #ó MˆFà—<‘< 8§>¡>Ò1Ð1Ð1Ü×"Ñ" 6¨8Õ4ñ		5rj   zcoerce_to_ns,expected_typec                 ó‚  — t        j                  dt        ddd«      d t        ddd«      t        ddd«      gi«      }t        j                  j                  |d¬	«      }|j                  d|¬
«      }|j                  «       }t        j                  |j                  |«      |d¬«       t        j                  ||d¬«       y )Nr   r�  r   r¤  r¥  r)   r{  Fr¡   rª  Tr~  )
r.   r/   r   rE   rG   rH   rI   rR   rS   r8  )r„   r¬  Úexpected_typerT   rY   Údf_datetimeÚ	df_objects          r7   Ú!test_table_convert_date_as_objectz>TestConvertDateTimeLikeTypes.test_table_convert_date_as_object)  sµ   € ô �\‰\Ø”T˜$  1Ó%ØÜ˜$  1Ó%Ü˜$  2Ó&ð(ð)ó *ˆô —‘×$Ñ$ R¸Ð$Ó>ˆà—o‘o°UØBNð &ó Pˆà—O‘OÓ%ˆ	ä
×Ñ˜bŸi™i¨Ó6¸Ø*.õ	0ä
×Ñ˜b )¸Ö>rj   Ú
arrow_typere   rb  r%  r&  r«  c                 óš  — t        ddd«      t        ddd«      g}t        j                  |«      }t	        j
                  |«      j                  |«      }|j                  dd¬«      }d }t        |d«      r|j                  �d}t	        j                  d	|«      j                  «       }t        j                  ||j                  |«      «       y )
Nr�  r   éÑ  TF©r©  r«  r¥   r«  r&  )r   r   r.   rc   rE   rb   rl  rI   Úhasattrr¥   r­  Úto_pandas_dtyperR   rd   r8  )r„   r¸  rŸ   rU   rh   rZ   Úexpected_tzr´  s           r7   Ú&test_array_coerce_temporal_nanosecondszCTestConvertDateTimeLikeTypes.test_array_coerce_temporal_nanoseconds=  s­   € ô �T˜1˜aÓ ¤(¨4°°AÓ"6Ð7ˆÜ—9‘9˜T“?ˆÜ�h‰h�t‹n×!Ñ! *Ó-ˆØ—‘Ø(,¸Uð ó DˆàˆÜ�:˜tÔ$¨¯©Ð)BØˆKÜŸ™ T¨;Ó7×GÑGÓIˆÜ
×Ñ˜v x§¡°}Ó'EÕFrj   c                 ó   — t        ddd«      t        ddd«      g}t        j                  t        j                  d|«      g«      }t        j                  d|i«      }t        j                  t        j                  |«      g|¬«      }|j                  dd¬«      }d }t        |d	«      r|j                  �d
}t        j                  d|«      j                  «       }t        j                  ||j!                  |«      «       y )Nr�  r   rº  r   rr  TFr»  r¥   r«  r&  )r   r   rE   r:   r‚   r.   r/   rY   rb   rI   r¼  r¥   r­  r½  rR   rS   r8  )	r„   r¸  rŸ   r:   ro  rY   Ú	result_dfr¾  r´  s	            r7   Ú&test_table_coerce_temporal_nanosecondszCTestConvertDateTimeLikeTypes.test_table_coerce_temporal_nanosecondsO  sÓ   € ô �T˜1˜aÓ ¤(¨4°°AÓ"6Ð7ˆÜ—‘œBŸH™H V¨ZÓ8Ð9Ó:ˆÜ—l‘l F¨D >Ó2ˆÜ—‘œ"Ÿ(™( 4›.Ð)°&Ô9ˆØ—O‘OØ(,¸Uð $ó Dˆ	àˆÜ�:˜tÔ$¨¯©Ð)BØˆKÜŸ™ T¨;Ó7×GÑGÓIˆÜ
×Ñ˜i¨×);Ñ);¸MÓ)JÕKrj   c                 óì  — t        j                  dt        ddd«      d t        ddd«      t        ddd«      gi«      }t        j                  j                  |d¬	«      }t        j                  dt        j                  «       «      }t        j                  |g|j                  j                  ¬
«      }|j                  j                  |«      sJ ‚|j                  «       }t        j                  ||«       y )Nr   r�  r   r¤  r¥  r)   r{  Fr¡   ©r  )r.   r/   r   rE   rG   rH   r‚   r™  r:   r  rJ   rI   rR   rS   )r„   rT   rY   r‚   rV   rZ   s         r7   Útest_date_inferz,TestConvertDateTimeLikeTypes.test_date_inferb  sÆ   € Ü�\‰\Ø”T˜$  1Ó%ØÜ˜$  1Ó%Ü˜$  2Ó&ð(ð)ó *ˆô
 —‘×$Ñ$ R¸Ð$Ó>ˆÜ—‘˜¤§¡£Ó-ˆô Ÿ)™) U G°e·l±l×6KÑ6KÔLˆØ�|‰|×"Ñ" ?Ô3Ð3Ð3à—‘Ó"ˆÜ
×Ñ˜f bÕ)rj   c                 óZ  — t        j                  t        ddd«      t        ddd«      gd¬«      }ddg}t        j                  |t        j                  |«      ¬«      }t        j                  d t        ddd«      gd¬«      }t        j                  |d¬	«      }|j	                  |«      sJ ‚y )
Nr˜  r—   r€   r§  r   TFr  ré  )r0   rb   r   rE   rJ   )r„   rh   rl   rZ   rU   s        r7   Útest_date_maskz+TestConvertDateTimeLikeTypes.test_date_maskr  s�   € Ü�h‰hœ˜T 1 aÓ(¬$¨t°Q¸Ó*:Ð;Ø,ô.ˆà�eˆ}ˆÜ—‘˜#¤B§H¡H¨T£NÔ3ˆÜ—8‘8˜T¤4¨¨a°Ó#3Ð4¸OÔLˆÜ—8‘8˜H°$Ô7ˆØ�‰˜vÔ&Ð&Ñ&rj   c           
      ód  — t        j                  t        ddd«      d t        ddd«      t        ddd«      gt        ¬«      }t        j                  g d¢d¬«      }|j	                  d«      d	z  }t        j                  g d
¢«      }t        j                  «       }t        j                  «       }t        j                  ||¬«      }t        j                  ||¬«      }t        j                  |||¬«      }	t        j                  |||¬«      }
|j                  |	«      sJ ‚|j                  |
«      sJ ‚ddg}t
        j                  j                  ||g|«      }t        j                  g d¢d¬«      }t        j                  j                  |d<   |j	                  d«      }t        j                  ||dœ|¬«      }|j                  d¬«      }t!        j"                  ||«       |j                  «       }|j	                  d«      }t        j                  ||dœ|¬«      }t!        j"                  ||«       y )Nr˜  r—   r€   r˜   r   )ékC  r@  élC  émC  r   r   é \&)FTFFrq  r   r™  r¡  )z
2017-04-03ú
2017-04-04rÍ  z
2017-04-05r§  r   r$   )r™  r¡  rš   F)r«  r?   )r0   rb   r   r?   r8  rE   r™  r¡  rJ   rG   rÝ   r.   ÚNaTr—  r/   rI   rR   rS   )r„   rh   Úarr_i4Úarr_i8rl   Út32Út64Úa32Úa64Úa32_expectedÚa64_expectedÚcolnamesrY   Ú	ex_valuesÚex_datetime64msÚexpected_pandasÚtable_pandasÚtable_pandas_objectsÚ
ex_objectsÚexpected_pandas_objectss                       r7   Útest_date_objects_typedz4TestConvertDateTimeLikeTypes.test_date_objects_typed{  så  € Ü�h‰hÜ��q˜!ÓØÜ��q˜!ÓÜ��q˜!Óð	ô &,ô	-ˆô —‘Ò3¸7ÔCˆØ—‘˜wÓ'¨(Ñ2ˆÜ�x‰xÒ3Ó4ˆä�i‰i‹kˆÜ�i‰i‹kˆä�h‰h�s Ô%ˆÜ�h‰h�s Ô%ˆä—x‘x ¨T¸Ô<ˆÜ—x‘x ¨T¸Ô<ˆà�z‰z˜,Ô'Ð'Ð'Ø�z‰z˜,Ô'Ð'Ð'ð ˜hÐ'ˆÜ—‘×$Ñ$ c¨3 Z°Ó:ˆä—X‘Xò -à$3ô5ˆ	ô —v‘v—|‘|ˆ	�!‰ð $×*Ñ*Ð+;Ó<ˆÜŸ,™,°/Ø2Añ(Cà/7ô9ˆð —‘°e�Ó<ˆÜ
×Ñ˜l¨OÔ<à$Ÿ™Ó0ÐØ×%Ñ% hÓ/ˆ
Ü"$§,¡,¸*Ø:Dñ0Fà7?ô#AÐô 	×ÑÐ2Ø5õ	7rj   c                 óŠ  — t        t        dd «      }t        j                  t	        ddd«      t        j
                  |gt        ¬«      }t        j                  t	        ddd«      d d gt        ¬«      }t        j                  |d¬«      }t        j                  |d¬«      }|j                  |«      sJ ‚|j                  dk(  sJ ‚t        j                  t        j
                  gd¬«      j                  t        j                  «       k(  sJ ‚t        j                  |gd¬«      j                  t        j                  «       k(  sJ ‚y )NÚNAr�  r   r   Tré  r)   )Úgetattrr.   r0   rb   r   rÎ  r?   rE   rJ   rp   r_   Únull)r„   Úpd_NArs   Úvalues_with_nonerZ   rU   s         r7   Útest_pandas_null_valuesz4TestConvertDateTimeLikeTypes.test_pandas_null_values¬  só   € äœ˜D $Ó'ˆÜ—‘œ8 D¨!¨QÓ/´·±¸Ð?ÄvÔNˆÜŸ8™8¤X¨d°A°qÓ%9¸4ÀÐ$FÜ*0ô2Ðä—‘˜&¨dÔ3ˆÜ—8‘8Ð,¸$Ô?ˆØ�}‰}˜XÔ&Ð&Ð&Ø× Ñ  AÒ%Ð%Ð%ô �x‰xœŸ™˜¨dÔ3×8Ñ8¼B¿G¹G»IÒEÐEÐEÜ�x‰x˜˜¨TÔ2×7Ñ7¼2¿7¹7»9ÒDÐDÑDrj   c                 ó„  — t        j                  «       }t        j                  «       }t        j                  g d¢d¬«      }|j                  d«      dz  }t        j                  ||¬«      }t        j                  ||¬«      }t        ddd	«      }|d
   j                  «       |k(  sJ ‚|d
   j                  «       |k(  sJ ‚y )N)rÉ  rÊ  rË  r   r   r   rÌ  rq  r˜  r—   r€   r   )rE   r™  r¡  r0   rb   r8  r   rê  )r„   Út1Út2rh   rœ  Úa1rB  rU   s           r7   Útest_dates_from_integersz5TestConvertDateTimeLikeTypes.test_dates_from_integers»  sš   € Ü�Y‰Y‹[ˆÜ�Y‰Y‹[ˆä�h‰hÒ,°GÔ<ˆØ�z‰z˜'Ó" XÑ-ˆä�X‰X�c Ô#ˆÜ�X‰X�d Ô$ˆä˜˜a Ó#ˆØ�!‰u�{‰{‹} Ò(Ð(Ð(Ø�!‰u�{‰{‹} Ò(Ð(Ñ(rj   c                 ó:  — t        dddd«      t        dddd«      g}t        j                  d«      }t        j                  |d gz   t
        ¬	«      }t        j                  |«      }|j                  |k(  sJ ‚|d
   j                  «       |d
   k(  sJ ‚|d   j                  «       |d   k(  sJ ‚|d   j                  «       �J ‚t        j                  d|i«      }t        j                  j                  |«      }|d
   j                  |«      sJ ‚t        j                  |D �cg c]  }t        |«      ‘Œ c}d¬	«      }t        j                  |t        j                  d«      ¬«      }	|	d
   j                  «       |d
   k(  sJ ‚t        j                  |dz  t        j                  d«      ¬«      }
|
d
   j                  «       |d
   k(  sJ ‚t        j                  |dz  j                  d«      t        j                  d«      ¬«      }|d
   j                  «       |d
   j!                  d¬«      k(  sJ ‚t        j                  |dz  j                  d«      t        j                  d«      ¬«      }|d
   j                  «       |d
   j!                  d
¬«      k(  sJ ‚y c c}w )Nr   r)   r€   éL  r—   r˜   r®   r%  r   r   Útimesr   rq  éè  r&  rï  rb  ©Úmicrosecondé@B re   )r   rE   Útime64r0   rb   r?   r_   rê  r.   r/   rF   rH   rJ   Ú_pytime_to_microsr8  Útime32rL   )r„   Úpytimesrè  ÚaobjsÚparrrT   rH  Úvrh   rê  rB  Úa3Úa4s                r7   Útest_pytime_from_pandasz4TestConvertDateTimeLikeTypes.test_pytime_from_pandasÉ  s6  € Ü˜˜1˜a Ó&Ü˜˜1˜a Ó&ð(ˆô �Y‰Y�t‹_ˆä—‘˜ D 6Ñ)´Ô8ˆÜ�x‰x˜‹ˆØ�y‰y˜BŠÐˆØ�A‰w�}‰}‹ '¨!¡*Ò,Ð,Ð,Ø�A‰w�}‰}‹ '¨!¡*Ò,Ð,Ð,Ø�A‰w�}‰}‹Ð&Ð&Ð&ô �\‰\˜7 EÐ*Ó+ˆÜ—‘×*Ñ*¨2Ó.ˆØ�Q‰x�‰˜tÔ$Ð$Ð$ô �h‰h°gÖ>°Ô)¨!Õ,Ò>Ø$ô&ˆô �X‰X�c¤§	¡	¨$£Ô0ˆØ�!‰u�{‰{‹} ¨¡
Ò*Ð*Ð*ä�X‰X�c˜D‘j¤r§y¡y°£Ô7ˆØ�!‰u�{‰{‹} ¨¡
Ò*Ð*Ð*ä�X‰X�s˜T‘z×)Ñ)¨$Ó/ÜŸ9™9 T›?ô,ˆà�!‰u�{‰{‹} ¨¡
× 2Ñ 2¸tÐ 2Ó DÒDÐDÐDä�X‰X�s˜W‘}×,Ñ,¨TÓ2ÜŸ9™9 S›>ô+ˆà�!‰u�{‰{‹} ¨¡
× 2Ñ 2¸qÐ 2Ó AÒAÐAÑAùò ?s   Ä!Jc                 ó’  — t        dddd«      t        dddd«      t        ddd«      g}t        j                  |d d d gz   «      }t        j                  |d d D �cg c]  }|j                  d	¬
«      ‘Œ c}d gz   «      }t        j                  |d d D �cg c]  }|j                  d¬
«      ‘Œ c}d gz   «      }t        j                  |D �cg c]  }t	        |«      ‘Œ c}d¬«      }t        j                  |D �cg c]  }t	        |«      ‘Œ c}d¬«      }t        j                  g d¢t
        ¬«      }t        j                  ||t        j                  d«      ¬«      }	t        j                  |d	z  |t        j                  d«      ¬«      }
t        j                  |d	z  j                  d«      |t        j                  d«      ¬«      }t        j                  |dz  j                  d«      |t        j                  d«      ¬«      }g d¢}t        j                  j                  |	|
||g|«      }|	|f|
|f||f||ffD ]4  \  }}|j                  «       }|j                  |k(  j                  «       rŒ4J ‚ |j                  «       }t        j                   ||||dœ|¬«      }t#        j$                  ||«       y c c}w c c}w c c}w c c}w )Nr   r)   r€   rí  r—   r˜   r®   r   rï  rð  r   r   ©FFTr%  r   r&  rï  rb  rò  re   )ú
time64[us]z
time64[ns]ú
time32[ms]z	time32[s]rš   )r   r0   rb   rL   rô  r!   rE   ró  r8  rõ  rF   rÝ   rI   rs   Úallr.   r/   rR   rS   )r„   rö  rU   r6   Úexpected_msÚ
expected_srù  rh   rÖ  rê  rB  rú  rû  r¢   rH  Úexpected_valuesÚresult_pandasrT   ro  s                      r7   Útest_arrow_time_to_pandasz6TestConvertDateTimeLikeTypes.test_arrow_time_to_pandasî  sœ  € Ü˜˜1˜a Ó&Ü˜˜1˜a Ó&Ü˜˜1˜a“=ð"ˆô —8‘8˜G B Q˜K¨4¨&Ñ0Ó1ˆÜ—h‘hØ)0°°!¨ö 6Ø$%ð !"§	¡	°d 	Õ ;ò  6à $˜vñ &ó 'ˆô —X‘XØ(/°°¨ö5Ø#$ð  !Ÿy™y°Q˜yÕ7ò 5à#˜fñ%ó &ˆ
ô �h‰h°gÖ>°Ô)¨!Õ,Ò>Ø$ô&ˆä�h‰h°gÖ>°Ô)¨!Õ,Ò>Ø$ô&ˆô —H‘HÒ1¼Ô>ˆ	ä�X‰X�c 	´·	±	¸$³Ô@ˆÜ�X‰X�c˜D‘j yÜŸ9™9 T›?ô,ˆô �X‰X�s˜T‘z×)Ñ)¨$Ó/°iÜŸ9™9 T›?ô,ˆä�X‰X�s˜W‘}×,Ñ,¨TÓ2¸ÜŸ9™9 S›>ô+ˆò HˆÜ—‘×*Ñ*¨B°°B¸Ð+;¸UÓCˆà&(¨( ^Ø&(¨( ^Ø&(¨+Ð%6Ø&(¨*Ð%5ð%7ò 	CÑ ˆC�ð  ŸM™M›OˆMØ!×(Ñ(¨OÑ;×@Ñ@ÕBÐBÐBð	Cð �_‰_ÓˆÜ—l‘l°(Ø2:Ø2=Ø1;ñ$=ð ,1ô	2ˆô 	×Ñ˜b +Õ.ùòQ 6ùò5ùò ?ùâ>s   ÁJ5ÂJ:ÃJ?Ã:Kc                 ó$  — t        j                  g d¢d¬«      }t        |«       t        j                  g d¢d¬«      }t        |«       t        j                  g d¢d¬«      }t        |«       t        j                  g d¢d	¬«      }t        |«       y )
Nrh  r&   r   )z2007-07-13T01:23:34.123456Nz2006-01-13T12:34:56.432539z2010-08-13T05:46:57.437699r%   )rd  Nre  rf  r$   )z2007-07-13T01:23:34Nz2006-01-13T12:34:56z2010-08-13T05:46:57r#   ©r0   rb   r{   )r„   Údatetime64_nsÚdatetime64_usÚdatetime64_msÚdatetime64_ss        r7   Útest_numpy_datetime64_columnsz:TestConvertDateTimeLikeTypes.test_numpy_datetime64_columns  sŠ   € ÜŸ™ò "-ð
 #ô$ˆô 	+¨=Ô9äŸ™ò "*ð
 #ô$ˆô 	+¨=Ô9äŸ™ò "'ð
 #ô$ˆô 	+¨=Ô9ä—x‘xò !#ð
 "ô#ˆô 	+¨<Õ8rj   c                 óê  — t        t        j                  «      t        d«      k\  rt        j                  d«       t        j                  g d¢t        j                  d«      «      }t        j                  t        j                  g d¢d¬«      «      }|j                  «       }t        j                  ||«       t        j                  |g«      }|j                  «       }t        j                  ||«       y )Nr(  z0pandas >= 2.0 supports non-nanosecond datetime64r   rb  )r$  )r   r.   r1  r‘   rT  rE   rb   r­  rc   rŽ  rI   rR   rd   rš  )r„   rh   rU   re   s       r7   Ú&test_timestamp_to_pandas_coerces_to_nszCTestConvertDateTimeLikeTypes.test_timestamp_to_pandas_coerces_to_ns?  sŸ   € ä”2—>‘>Ó"¤g¨gÓ&6Ò6Ü�K‰KÐJÔKä�h‰h’y¤"§,¡,¨tÓ"4Ó5ˆÜ—9‘9œRŸ^™^ªI¸DÔAÓBˆØ�M‰M‹OˆÜ
×Ñ˜q (Ô+Ü×Ñ ˜uÓ%ˆØ�M‰M‹OˆÜ
×Ñ˜q (Õ+rj   c           	      ó  — dD �]U  }dD �]L  }t        j                  t        ddd«      gt        j                  ||¬«      «      }t        j                  d|i«      }d}t        j                  t        |¬«      5  |j                  d¬	«       d d d «       t        j                  t        |¬«      5  |j                  d¬	«       d d d «       t        j                  t        |¬«      5  |j                  d«      j                  d¬	«       d d d «       |j                  d
d¬«       |j                  d
d¬«       |j                  d«      j                  d
d¬«       �ŒO �ŒX y # 1 sw Y   ŒÓxY w# 1 sw Y   Œ©xY w# 1 sw Y   ŒpxY w)N©re   rb  r%  )Nr*  r   r¬  r    z'would result in out of bounds timestampr$  Tr¨  F)rB  r©  )
rE   rb   r   r­  rY   r‘   r<  r=  rI   Úcolumn)r„   r$  r¥   rh   rY   Úmsgs         r7   Ú&test_timestamp_to_pandas_out_of_boundszCTestConvertDateTimeLikeTypes.test_timestamp_to_pandas_out_of_boundsL  sW  € ð &ó 	BˆDØ0ó B�Ü—h‘h¤¨¨A¨qÓ 1Ð2´B·L±LÀÈ"Ô4MÓN�ÜŸ™ # s Ó,�à?�Ü—]‘]¤:°SÔ9ñ DØ—M‘M¸d�MÔC÷Dô —]‘]¤:°SÔ9ñ FØ—O‘OÀ�OÔE÷Fô —]‘]¤:°SÔ9ñ Rà—L‘L Ó%×/Ñ/ÈDÐ/ÔQ÷Rð —‘ 5Àd�ÔKØ—‘ UÈ�ÔMØ—‘˜SÓ!×+Ñ+Ø¸Dð ,ö Bò'Bñ	B÷Dð Dú÷Fð Fú÷Rð Rús$   Á8EÂ.E)Ã$"E5ÅE&Å)E2Å5E>c           	      ó&  — t        j                  dt        j                  g t        j                  d«      ¬«      i«      }|j	                  «       }t        j                  dt        j                  g d¬«      i«      }t        j                  ||«       y )Nr    r%  rq  r%   r   )
rE   rY   rš  r­  rI   r.   r/   rc   rR   rS   )r„   rY   rZ   rU   s       r7   Ú&test_timestamp_to_pandas_empty_chunkedzCTestConvertDateTimeLikeTypes.test_timestamp_to_pandas_empty_chunkedg  sf   € ä—‘˜#œr×/Ñ/°¼¿¹ÀdÓ9KÔLÐMÓNˆØ—‘Ó"ˆÜ—<‘< ¤b§i¡i°Ð:JÔ&KÐ LÓMˆÜ
×Ñ˜f hÕ/rj   r   c                 óP   — t        j                  g d¢d¬«      }t        ||¬«       y )N)ú
2007-07-13Nz
2006-01-15z
2010-08-19r§  r   rq  r  )r„   r   Údatetime64_ds      r7   Útest_numpy_datetime64_day_unitz;TestConvertDateTimeLikeTypes.test_numpy_datetime64_day_unitn  s&   € ä—x‘xò !ð
 "ô#ˆô 	+¨<¸eÖDrj   c           	      óŒ  — t        j                  g d¢«      }t        j                  t	        ddd«      t	        ddd«      t	        ddd«      g«      }t
        j                  j                  ||¬«      }t        j                  d t	        ddd«      d g«      }t
        j                  j                  |«      j                  |«      sJ ‚y )N©TFTiÆ  r   iÇ  iÈ  r  )	r0   rb   r.   rc   r   rE   r›  rH   rJ   )r„   ÚmrŸ   rZ   rU   s        r7   Ú%test_array_from_pandas_date_with_maskzBTestConvertDateTimeLikeTypes.test_array_from_pandas_date_with_maskx  s¤   € Ü�H‰HÒ(Ó)ˆÜ�y‰yÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!Óð
ó ˆô —‘×%Ñ% d°Ð%Ó3ˆä—9‘9˜d¤D¨¨q°!Ó$4°dÐ;Ó<ˆÜ�x‰x×#Ñ# HÓ-×4Ñ4°VÔ<Ð<Ñ<rj   z1.16.0z1.16.1z#Until numpy/numpy#12745 is resolved)Úreasonc                 ó’   — t        j                  dt        j                  d«      t         j                  gi«      }t	        |d¬«       y )Nr    z2012-11-11 00:00:00+01:00Fr~  )r.   r/   Ú	TimestamprÎ  r\   r£   s     r7   Útest_fixed_offset_timezonez7TestConvertDateTimeLikeTypes.test_fixed_offset_timezone…  s?   € ô
 �\‰\ØÜ—‘Ð8Ó9Ü—‘ðð
ó ˆô 	  °Ö6rj   c           	      óN  — t        t        j                  «      t        d«      k  rd}t        j                  dt	        j
                  g d¢d|› d�¬«      i«      }t        j                  dt        j                  |«      «      }t        j                  |g«      }t        ||¬«       y )	Nr(  r&  Útimedelta64)r   l     qaì    @âB1útimedelta64[r/  r   rÇ  ©r   r.   r1  r/   r0   rb   rE   r‚   Údurationr:   r\   ©r„   r$  rT   r‚   r:   s        r7   Útest_timedeltas_no_nullsz5TestConvertDateTimeLikeTypes.test_timedeltas_no_nulls–  s‡   € ä”2—>‘>Ó"¤W¨WÓ%5Ò5ØˆDÜ�\‰\Øœ2Ÿ8™8Ò$EØ,8¸¸¸aÐ*@ôBð
ó ˆô —‘˜¬¯©°DÓ(9Ó:ˆÜ—‘˜E˜7Ó#ˆÜØØ"ö	
rj   c           	      óN  — t        t        j                  «      t        d«      k  rd}t        j                  dt	        j
                  g d¢d|› d�¬«      i«      }t        j                  dt        j                  |«      «      }t        j                  |g«      }t        ||¬«       y )	Nr(  r&  r$  )r   Nr%  r&  r/  r   rÇ  r'  r)  s        r7   Útest_timedeltas_nullsz2TestConvertDateTimeLikeTypes.test_timedeltas_nulls¥  s‡   € ä”2—>‘>Ó"¤W¨WÓ%5Ò5ØˆDÜ�\‰\Øœ2Ÿ8™8Ò$<Ø,8¸¸¸aÐ*@ôBð
ó ˆô —‘˜¬¯©°DÓ(9Ó:ˆÜ—‘˜E˜7Ó#ˆÜØØ"ö	
rj   c           
      óÄ   — ddl m} t        j                  dd  |dddd¬«      gi«      }t	        j
                  dt	        j                  «       fg«      }t        ||¬«       y )	Nr   )Ú
DateOffsetÚdate_offseti  r€   iX  )rk  ÚmonthsÚmicrosecondsÚnanosecondsrÇ  )Úpandas.tseries.offsetsr.  r.   r/   rE   r:   Úmonth_day_nano_intervalr\   )r„   r.  rT   r:   s       r7   Útest_month_day_nano_intervalz9TestConvertDateTimeLikeTypes.test_month_day_nano_interval´  sb   € Ý5Ü�\‰\Ø˜DÙ&¨D¸ÈAØ36ô8ð9ð
ó ˆô
 —‘˜]¬B×,FÑ,FÓ,HÐIÐJÓKˆÜØØ"ö	$rj   )6r¶  r·  r¸  r¹  r^  ra  r‘   rº  r»  ri  rp  rz  ÚhÚgivenÚstÚnoneÚpastÚ	timezonesÚsettingsr  r‡  r�  r–  r�  r¢  r²  r·  rE   r™  r¡  r­  r¿  rÂ  rÅ  rÇ  rß  ræ  rë  rü  r  r  r  r  r  r  r  Úskipifr0   r   r1  r"  r*  r,  r5  r0  rj   r7   rV  rV  A  sÄ  „ ñò
ò
ð ‡[�[×Ñ˜VÒ%<Ó=ñ$ó >ð$ò83ò&(ð €Q‡W�WˆWˆR�W‰W‹Y˜Ÿ™Ñ'Ó(Ø€Q‡Z�Z˜Ôñ7ó ó )ð7òJò&3ò23ò"/ð ‡[�[×Ñ˜VØÚ0ð&ó ñ$ó	ð$ð2 ‡[�[×ÑÐ:Ø7Ø6ð8ó9ñ5ó9ð5ð: ‡[�[×ÑÐ9Ø7Ø6ð8ó9ñ?ó9ð?ð" ‡[�[×Ñ˜\Ø'˜bŸi™i›k¨9¨2¯9©9«;¸¸¿¹ÀSÓ8IØ*˜bŸl™l¨4Ó0°,°"·,±,¸tÓ2DØ*˜bŸl™l¨4Ó0°,°"·,±,¸sÀEÓ2JØ*˜bŸl™l¨4°Ó7¸¸¿¹ÀdÈEÓ9RØ*˜bŸl™l¨4°Ó7ð	9ó:ñ
Gó:ð
Gð ‡[�[×Ñ˜\Ø'˜bŸi™i›k¨9¨2¯9©9«;¸¸¿¹ÀSÓ8IØ*˜bŸl™l¨4Ó0°,°"·,±,¸tÓ2DØ*˜bŸl™l¨4Ó0°,°"·,±,¸sÀEÓ2JØ*˜bŸl™l¨4°Ó7¸¸¿¹ÀdÈEÓ9RØ*˜bŸl™l¨4°Ó7ð	9ó:ñLó:ðLò*ò 'ò/7òbEò)ò#BòJ./ò`9òB,òBò60ð ‡[�[×Ñ˜W y r§y¡y£{°I°B·I±I³KÐ&@ÓAñEó BðEò=ð ‡[�[×ÑØ
�$ˆò 	0™7 8Ó,±Ø�N‰Nó1ö 0Ù% hÓ/ô0à4ð ó 6ñ7ó	6ð7ð ‡[�[×Ñ˜VÒ%<Ó=ñ
ó >ð
ð ‡[�[×Ñ˜VÒ%<Ó=ñ
ó >ð
ó
$rj   rV  c                   ól  — e Zd Zd„ Zd„ Zej                  j                  d„ «       Zej                  j                  ej                  j                  ddd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ej                  j                  d ej0                  «        ej2                  «        ej4                  «       g«      d„ «       Zej                  j                  d ej0                  «        ej2                  «        ej4                  «       g«      d„ «       Zd„ Zd„ Zd„ Zy)ÚTestConvertStringLikeTypesc                 óŠ  — d}dd ddt         j                  g}t        j                  d||z  i«      }t	        j
                  dt        j                  «       rt	        j                  «       nt	        j                  «       «      }t	        j                  |g«      }g d¢}t        j                  d||z  i«      }t        |||¬«       y )Nrï  rµ   rZ  õ   maÃ±anaÚstrings)rµ   NrZ  rA  Nr0  )r0   rM   r.   r/   rE   r‚   r   r  Úlarge_stringrŸ  r:   r\   )r„   Úrepeatsrs   rT   r‚   r:   rØ  rU   s           r7   Útest_pandas_unicodez.TestConvertStringLikeTypes.test_pandas_unicodeÇ  sœ   € ØˆØ˜˜u i´·±Ð8ˆÜ�\‰\˜9 f¨wÑ&6Ð7Ó8ˆÜ—‘ØÜ!,×!>Ñ!>Ô!@ŒB�O‰OÔÄbÇiÁiÃkó
ˆô —‘˜E˜7Ó#ˆÚ9ˆ	Ü—<‘< ¨I¸Ñ,?Ð @ÓAˆä ¨XÀvÖNrj   c                 óH  — ddd t        d«      dt        j                  g}t        j                  d|i«      }t
        j                  j                  |«      }|d   j                  t        j                  «       k(  sJ ‚g d¢}t        j                  d|i«      }t        ||«       y )NÚquxó   fooó   barzrB  r   )ó   quxrH  NrI  rJ  N)Ú	bytearrayr0   rM   r.   r/   rE   rG   rH   r_   Úbinaryr\   )r„   rs   rT   rY   Úvalues2rU   s         r7   Útest_bytes_to_binaryz/TestConvertStringLikeTypes.test_bytes_to_binaryÕ  s‚   € Ø˜ ¤y°Ó'9¸5Ä"Ç&Á&ÐIˆÜ�\‰\˜9 fÐ-Ó.ˆä—‘×$Ñ$ RÓ(ˆØ�Q‰x�}‰}¤§	¡	£Ò+Ð+Ð+â?ˆÜ—<‘< ¨GÐ 4Ó5ˆÜ  HÕ-rj   c                 óX  — ddz  }ddz  }t        j                  d|gdz  |gz   dgdz  z   i«      }t        j                  |d   «      }t	        |t        j
                  «      sJ ‚|j                  dk(  sJ ‚d }t        j                  j                  |«      }|d   j                  dk(  sJ ‚y )	Nó   xé áõéþkÊrB  é   r6   r)   r   )	r.   r/   rE   rb   r¿   ÚChunkedArrayÚ
num_chunksrG   rH   )r„   Úv1Úv2rT   rh   rY   s         r7   Útest_bytes_exceed_2gbz0TestConvertStringLikeTypes.test_bytes_exceed_2gbà  s³   € à�IÑˆØ�IÑˆô �\‰\Ø˜�t˜b‘y B 4Ñ'¨3¨%°"©*Ñ4ð
ó ˆô �h‰h�r˜)‘}Ó%ˆÜ˜#œrŸ™Ô/Ð/Ð/Ø�~‰~ Ò"Ð"Ð"Øˆä—‘×$Ñ$ RÓ(ˆØ�Q‰x×"Ñ" aÒ'Ð'Ñ'rj   Úcharr6   rP  c                 ó’  — |dz  }|dz  }t        j                  d|ggdz  |ggz   dggz   i«      }t        j                  |d   d¬«      }|j	                  d¬«       t        |t        j                  «      sJ ‚|j                  d	k(  sJ ‚t        |j                  d
«      «      dk(  sJ ‚t        |j                  d«      «      dk(  sJ ‚y )NrQ  rR  rB  rS  rP  Tré  ©Úfullr)   r   é   r   )
r.   r/   rE   rb   Úvalidater¿   rT  rU  r¾   r7  )r„   rY  rV  rW  rT   rh   s         r7   Ú+test_auto_chunking_pandas_series_of_stringszFTestConvertStringLikeTypes.test_auto_chunking_pandas_series_of_stringsñ  sÊ   € ð �IÑˆØ�IÑˆä�\‰\Ø˜˜�v ‘{ r d VÑ+°¨v¨hÑ6ð
ó ˆô �h‰h�r˜)‘}°$Ô7ˆØ�‰˜$ˆÔÜ˜#œrŸ™Ô/Ð/Ð/Ø�~‰~ Ò"Ð"Ð"Ü�3—9‘9˜Q“<Ó  BÒ&Ð&Ð&Ü�3—9‘9˜Q“<Ó  AÒ%Ð%Ñ%rj   c                 ó  — dd t        d«      d d dg}t        j                  d|i«      }t        j                  t        j
                  dt        j                  d«      «      g«      }t        j                  j                  ||¬«      }|j                  d   j                  |d   j                  k(  sJ ‚|j                  d   j                  |d   j                  k(  sJ ‚|j                  «       }t        j                  ||«       y )NrH  ó   baró   heyrB  r€   rr  r   )rK  r.   r/   rE   r:   r‚   rL  rG   rH   r_   ra   rI   rR   rS   )r„   rs   rT   r:   rY   rZ   s         r7   Útest_fixed_size_bytesz0TestConvertStringLikeTypes.test_fixed_size_bytes  sÍ   € Ø˜$¤	¨&Ó 1°4¸¸vÐFˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘œBŸH™H Y´·	±	¸!³Ó=Ð>Ó?ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆØ�|‰|˜A‰×#Ñ# v¨a¡y§~¡~Ò5Ð5Ð5Ø�|‰|˜A‰×#Ñ# v¨a¡y§~¡~Ò5Ð5Ð5Ø—‘Ó"ˆÜ
×Ñ˜f bÕ)rj   c                 óf  — g d¢}t        j                  d|i«      }t        j                  t        j                  dt        j
                  d«      «      g«      }t        j                  t        j                  «      5  t        j                  j                  ||¬«       d d d «       y # 1 sw Y   y xY w)N)rH  Ns   baNNrb  rB  r€   rr  )r.   r/   rE   r:   r‚   rL  r‘   r<  ÚArrowInvalidrG   rH   )r„   rs   rT   r:   s       r7   Ú5test_fixed_size_bytes_does_not_accept_varying_lengthszPTestConvertStringLikeTypes.test_fixed_size_bytes_does_not_accept_varying_lengths  sz   € Ú:ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘œBŸH™H Y´·	±	¸!³Ó=Ð>Ó?ˆÜ�]‰]œ2Ÿ?™?Ó+ñ 	4Ü�H‰H× Ñ  ¨FÐ Ô3÷	4÷ 	4ñ 	4ús   Á<"B'Â'B0c                 óp   — t        j                  g d¢«      }t        |t        j                  «       ¬«       y )N©ó   123rj   rM  N©rf   )r.   rc   ri   rE   rL  ©r„   re   s     r7   Útest_variable_size_bytesz3TestConvertStringLikeTypes.test_variable_size_bytes  s!   € Ü�I‰IÒ/Ó0ˆÜ ¬¯©«Ö5rj   c                 óè   — t        j                  t        d«      t        d«      t        d«      d g«      }t        |t	        j
                  «       ¬«       t        |t	        j
                  «       ¬«       y )Nri  rj   rM  rj  ©rg   )r.   rc   rK  ri   rE   rL  rk  s     r7   Útest_binary_from_bytearrayz5TestConvertStringLikeTypes.test_binary_from_bytearray  sM   € Ü�I‰I”y Ó(¬)°C«.¼)ÀD»/Øðó ˆô 	  ¬¯©«Õ5ä ´B·I±I³KÖ@rj   c                 ó  — t        j                  g d¢«      }t        |t        j                  «       ¬«       t        j
                  d|i«      }t        |t        j                  dt        j                  «       fg«      ¬«       y ©Nrh  rj  r    rr  )r.   rc   ri   rE   Úlarge_binaryr/   r\   r:   ©r„   re   rT   s      r7   Útest_large_binaryz,TestConvertStringLikeTypes.test_large_binary  sY   € Ü�I‰IÒ/Ó0ˆÜ ¬¯©Ó):Õ;Ü�\‰\˜3 ˜(Ó#ˆÜØ”r—y‘y 3¬¯©Ó(9Ð":Ð!;Ó<ö	>rj   c                 ó  — t        j                  g d¢«      }t        |t        j                  «       ¬«       t        j
                  d|i«      }t        |t        j                  dt        j                  «       fg«      ¬«       y ©N)Ú123r*   r    Nrj  r    rr  )r.   rc   ri   rE   rC  r/   r\   r:   rs  s      r7   Útest_large_stringz,TestConvertStringLikeTypes.test_large_string&  sY   € Ü�I‰IÒ,Ó-ˆÜ ¬¯©Ó):Õ;Ü�\‰\˜3 ˜(Ó#ˆÜØ”r—y‘y 3¬¯©Ó(9Ð":Ð!;Ó<ö	>rj   c                 ó  — t        j                  g d¢«      }t        |t        j                  «       ¬«       t        j
                  d|i«      }t        |t        j                  dt        j                  «       fg«      ¬«       y rq  )r.   rc   ri   rE   Úbinary_viewr/   r\   r:   rs  s      r7   Útest_binary_viewz+TestConvertStringLikeTypes.test_binary_view-  sY   € Ü�I‰IÒ/Ó0ˆÜ ¬¯©Ó)9Õ:Ü�\‰\˜3 ˜(Ó#ˆÜØ”r—y‘y 3¬¯©Ó(8Ð"9Ð!:Ó;ö	=rj   c                 ó  — t        j                  g d¢«      }t        |t        j                  «       ¬«       t        j
                  d|i«      }t        |t        j                  dt        j                  «       fg«      ¬«       y rv  )r.   rc   ri   rE   Ústring_viewr/   r\   r:   rs  s      r7   Útest_string_viewz+TestConvertStringLikeTypes.test_string_view4  sY   € Ü�I‰IÒ,Ó-ˆÜ ¬¯©Ó)9Õ:Ü�\‰\˜3 ˜(Ó#ˆÜØ”r—y‘y 3¬¯©Ó(8Ð"9Ð!:Ó;ö	=rj   c                 ó"  — g d¢}t        j                  d|i«      }t        j                  dt        j                  «       «      }t        j
                  |g«      }t        j                  j                  ||¬«      }|j                  d¬«      }t        j                  d|i«      }t        j                  ||d¬«       |j                  d¬«      }t        j                  dt        j                  |«      i«      }	t        j                  ||	d¬«       y )N©r*   r*   r*   r*   r*   rB  rr  F©Ústrings_to_categoricalTr~  )r.   r/   rE   r‚   rŸ  r:   rG   rH   rI   rR   rS   ÚCategorical)
r„   rs   rT   r‚   r:   rY   Úresult1Ú	expected1rÄ   Ú	expected2s
             r7   Útest_table_empty_strz/TestConvertStringLikeTypes.test_table_empty_str;  sÌ   € Ú%ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘˜¤B§I¡I£KÓ0ˆÜ—‘˜E˜7Ó#ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆà—/‘/¸�/Ó?ˆÜ—L‘L )¨VÐ!4Ó5ˆ	Ü
×Ñ˜g y¸dÕCà—/‘/¸�/Ó>ˆÜ—L‘L )¬R¯^©^¸FÓ-CÐ!DÓEˆ	Ü
×Ñ˜g y¸dÖCrj   c                 óÜ  — g d¢}t        j                  d|i«      }t        j                  dt        j                  «       «      }t        j
                  |g«      }t        j                  j                  ||¬«      }t        j                  d|i«      }t        j                  dt        j                  |«      i«      }|j                  dg¬«      }t        j                  ||d¬«       |j                  g ¬«      }	t        j                  |	|d¬«       |j                  d¬«      }
t        j                  |
|d¬«       |j                  t        «       ¬«      }t        j                  ||d¬«       y )Nr€  rB  rr  ©Ú
categoriesTr~  )rB  )r.   r/   rE   r‚   rŸ  r:   rG   rH   rƒ  rI   rR   rS   Útuple)r„   rs   rT   r‚   r:   rY   Úexpected_strÚexpected_catr„  rÄ   Úresult3Úresult4s               r7   Útest_selective_categoricalsz6TestConvertStringLikeTypes.test_selective_categoricalsJ  s  € Ú%ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘˜¤B§I¡I£KÓ0ˆÜ—‘˜E˜7Ó#ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆÜ—|‘| Y°Ð$7Ó8ˆÜ—|‘| Y´·±¸vÓ0FÐ$GÓHˆà—/‘/¨i¨[�/Ó9ˆÜ
×Ñ˜g |ÀÕFØ—/‘/¨R�/Ó0ˆÜ
×Ñ˜g |ÀÕFØ—/‘/¨\�/Ó:ˆÜ
×Ñ˜g |ÀÕFØ—/‘/¬U«W�/Ó5ˆÜ
×Ñ˜g |ÀÖFrj   c                 óÂ   — t        j                  g t        j                  «       ¬«      }t         j                  j	                  |gdg¬«      }|j                  dg¬«       y )Nrq  r[   ©r¡  r¢   r‰  )rE   rb   r   rG   rÝ   rI   )r„   rb   rY   s      r7   Ú&test_to_pandas_categorical_zero_lengthzATestConvertStringLikeTypes.test_to_pandas_categorical_zero_length\  sE   € ä—‘˜¤"§(¡(£*Ô-ˆÜ—‘×$Ñ$¨U¨G¸E¸7Ð$ÓCˆà�‰ E 7ˆÕ+rj   c                 óü   — t        j                  g d¢«      j                  «       }t         j                  j	                  |gdg¬«      }|j                  dg¬«      }|j                  «       j                  |«      sJ ‚y )N)rµ   rµ   rµ   rZ  r[   r’  r‰  )rE   rb   Údictionary_encoderG   rÝ   rI   rJ   )r„   rb   rY   rZ   s       r7   Ú,test_to_pandas_categories_already_dictionaryzGTestConvertStringLikeTypes.test_to_pandas_categories_already_dictionaryc  sd   € ä—‘Ò5Ó6×HÑHÓJˆÜ—‘×$Ñ$¨U¨G¸E¸7Ð$ÓCˆØ—‘¨U¨G�Ó4ˆØ�‰Ó ×'Ñ'¨Ô/Ð/Ñ/rj   Ústring_typec                 óX  — g d¢}t        j                  d|i«      }t        j                  d|«      }t        j                  |g«      }t        j
                  j                  ||¬«      }|j                  d¬«      }t        j                  dt        j                  |«      i«      }t        j                  ||d¬«       t        j                  t        j                  «      5  |j                  dd¬«       d d d «       |d   j                  d¬«      }t        j                  t        j                  |«      d¬«      }t        j                  ||«       t        j                  t        j                  «      5  |d   j                  dd¬«       d d d «       y # 1 sw Y   Œ¡xY w# 1 sw Y   y xY w)	N)r    r    rÌ   rÌ   rÛ   rB  rr  Tr�  r~  ©r‚  Úzero_copy_onlyr`   )r.   r/   rE   r‚   r:   rG   rH   rI   rƒ  rR   rS   r‘   r<  re  rc   rd   ©	r„   r—  rs   rT   r‚   r:   rY   rZ   rU   s	            r7   Ú(test_table_str_to_categorical_without_nazCTestConvertStringLikeTypes.test_table_str_to_categorical_without_naj  sX  € ò +ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘˜ KÓ0ˆÜ—‘˜E˜7Ó#ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆà—‘¸�Ó=ˆÜ—<‘< ¬B¯N©N¸6Ó,BÐ CÓDˆÜ
×Ñ˜f h¸DÕAä�]‰]œ2Ÿ?™?Ó+ñ 	1Ø�O‰O°4Ø+/ð ô 1÷	1ð
 �yÑ!×+Ñ+À4Ð+ÓHˆÜ—9‘9œRŸ^™^¨FÓ3¸)ÔDˆÜ
×Ñ˜v xÔ0ä�]‰]œ2Ÿ?™?Ó+ñ 	<Ø�)Ñ×&Ñ&¸dØ6:ð 'ô <÷	<ð 	<÷	1ð 	1ú÷	<ð 	<ús   Ã FÅ4F ÆFÆ F)c                 óx  — d ddt         j                  g}t        j                  d|i«      }t	        j
                  d|«      }t	        j                  |g«      }t        j                  j                  ||¬«      }|j                  d¬«      }t        j                  dt        j                  |«      i«      }t        j                  ||d¬«       t        j                  t        j                  «      5  |j                  dd¬«       d d d «       |d   j                  d¬«      }t        j                   t        j                  |«      d¬	«      }t        j"                  ||«       t        j                  t        j                  «      5  |d   j                  dd¬«       d d d «       y # 1 sw Y   Œ¡xY w# 1 sw Y   y xY w)
Nr    rÌ   rB  rr  Tr�  r~  r™  r`   )r0   rM   r.   r/   rE   r‚   r:   rG   rH   rI   rƒ  rR   rS   r‘   r<  re  rc   rd   r›  s	            r7   Ú%test_table_str_to_categorical_with_naz@TestConvertStringLikeTypes.test_table_str_to_categorical_with_na…  se  € ð ˜˜S¤"§&¡&Ð)ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘˜ KÓ0ˆÜ—‘˜E˜7Ó#ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆà—‘¸�Ó=ˆÜ—<‘< ¬B¯N©N¸6Ó,BÐ CÓDˆÜ
×Ñ˜f h¸DÕAä�]‰]œ2Ÿ?™?Ó+ñ 	1Ø�O‰O°4Ø+/ð ô 1÷	1ð
 �yÑ!×+Ñ+À4Ð+ÓHˆÜ—9‘9œRŸ^™^¨FÓ3¸)ÔDˆÜ
×Ñ˜v xÔ0ä�]‰]œ2Ÿ?™?Ó+ñ 	<Ø�)Ñ×&Ñ&¸dØ6:ð 'ô <÷	<ð 	<÷	1ð 	1ú÷	<ð 	<ús   Ã0F$ÆF0Æ$F-Æ0F9c                 óÎ   — t        j                  t        j                  dgt        ¬«      t        j                  «       «      }|j
                  t        j                  «       k(  sJ ‚y )NrP  r   )rE   rb   r0   r?   rŸ  r_   )r„   Ú	converteds     r7   Útest_array_of_bytes_to_stringsz9TestConvertStringLikeTypes.test_array_of_bytes_to_strings¡  s=   € Ü—H‘HœRŸX™X t f´FÔ;¼R¿Y¹Y»[ÓIˆ	Ø�~‰~¤§¡£Ò,Ð,Ñ,rj   c                 ó  — t        j                  t        j                  j                  d¬«      5  t        j
                  t        j
                  dgt        ¬«      t        j                  «       «       d d d «       y # 1 sw Y   y xY w)Nzwas not a utf8 stringr$  s   €�r   )	r‘   r<  rE   Úlibre  rb   r0   r?   rŸ  ©r„   s    r7   Ú'test_array_of_bytes_to_strings_bad_datazBTestConvertStringLikeTypes.test_array_of_bytes_to_strings_bad_data¨  sZ   € Ü�]‰]Ü—‘×#Ñ#Ø-ô/ñ 	Iô �H‰H”R—X‘X˜{˜m´6Ô:¼B¿I¹I»KÔH÷	I÷ 	Iñ 	Iús   °AA<Á<Bc                 ó4  — t        j                  g d¢d¬«      }t        j                  |t        j                  d«      ¬«      }t        j                  t	        |«      t        j                  d«      ¬«      }|j                  |«      sJ ‚t        j                  g d¢«      }t        j                  |t        j                  d«      |¬«      }t        j                  g d¢t        j                  d«      ¬«      }|j                  |«      sJ ‚t        j                  t        j                  j                  d	¬
«      5  t        j                  g d¢d¬«      }t        j                  |t        j                  d«      ¬«       d d d «       t        j                  t        j                  j                  d¬
«      5  t        j                  g d¢d¬«      }t        j                  |t        j                  d«      ¬«       d d d «       y # 1 sw Y   Œ…xY w# 1 sw Y   y xY w)N)rH  ra  ó   bazz|S3r   r€   rq  ©FTFrŸ  )rH  Nr§  z)Got bytestring of length 3 \(expected 4\)r$  r—   z*Got bytestring of length 12 \(expected 3\)z|U3)
r0   rb   rE   rL  r  rJ   r‘   r<  r£  re  )r„   rh   r   rU   rl   s        r7   Ú,test_numpy_string_array_to_fixed_size_binaryzGTestConvertStringLikeTypes.test_numpy_string_array_to_fixed_size_binary®  sk  € Ü�h‰hÒ/°uÔ=ˆä—H‘H˜S¤r§y¡y°£|Ô4ˆ	Ü—8‘8œD ›I¬B¯I©I°a«LÔ9ˆØ×Ñ Ô)Ð)Ð)ä�x‰xÒ,Ó-ˆÜ—H‘H˜S¤r§y¡y°£|¸$Ô?ˆ	Ü—8‘8Ò2¼¿¹À1»ÔFˆØ×Ñ Ô)Ð)Ð)ä�]‰]œ2Ÿ6™6×.Ñ.Ø!MôOñ 	-ä—(‘(Ò3¸5ÔAˆCÜ�H‰H�SœrŸy™y¨›|Õ,÷	-ô
 �]‰]Ü—‘×#Ñ#ØCôEñ 	-ô —(‘(Ò3¸5ÔAˆCÜ�H‰H�SœrŸy™y¨›|Õ,÷		-ð 	-÷	-ð 	-ú÷
	-ð 	-ús   Ä:AHÆ5AHÈHÈHN) r¶  r·  r¸  rE  rN  r‘   rº  Úlarge_memoryrX  r»  r_  rc  rf  rl  ro  rt  rx  r{  r~  r‡  r�  r“  r–  rE   rŸ  rC  r}  rœ  rž  r¡  r¥  r©  r0  rj   r7   r?  r?  Å  sG  „ òOò	.ð ‡[�[×Ññ(ó ð(ð  ‡[�[×ÑØ‡[�[×Ñ˜V c¨4 [Ó1ñ&ó 2ó ð&ò*ò4ò6òAò>ò>ò=ò=òDòGò$,ò0ð ‡[�[×ÑØ˜	˜Ÿ	™	› _ R§_¡_Ó%6¸¸¿¹Ó8HÐIóñ<óð<ð0 ‡[�[×ÑØ˜	˜Ÿ	™	› _ R§_¡_Ó%6¸¸¿¹Ó8HÐIóñ<óð<ò2-òIó-rj   r?  c                   óz  — e Zd ZdZ ej
                  d«       ej
                  d«      gZ ej
                  d«       ej
                  d«      gZ ej
                  d«       ej
                  d«      gZe	j                  j                  d e	j                  e ej                  d	d
«      d¬«       e	j                  e ej                  dd«      d¬«       e	j                  e ej                  dd«      d¬«      g«      d„ «       Ze	j                  j                  d e	j                  ed¬«       e	j                  ed¬«       e	j                  ed¬«      g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  dej                  ej                  ej                  ej*                  g«      d„ «       Zy)ÚTestConvertDecimalTypesz,
    Conversion test for decimal types.
    z	-1234.123z1234.439z-129934.123331z129534.123731rz  z-314292388910493.12343437128)rs   r´  r¼   r€   r¼  )Úidr  r®   r½  r{  r|  r¾  c                 ó2  — t        j                  d|i«      }t        j                  j	                  |d¬«      }t        j
                  d|«      }t        j                  |g|j                  j                  ¬«      }|j                  j                  |«      sJ ‚y )Nry  Fr¡   rÄ  )	r.   r/   rE   rG   rH   r‚   r:   r  rJ   )r„   rs   r´  rU   rY   r‚   rV   s          r7   Útest_decimal_from_pandasz0TestConvertDecimalTypes.test_decimal_from_pandas×  sv   € ô —<‘< ¨VÐ 4Ó5ˆÜ—‘×$Ñ$ X¸eÐ$ÓDˆÜ—‘˜ ]Ó3ˆô Ÿ)™) U G°e·l±l×6KÑ6KÔLˆØ�|‰|×"Ñ" ?Ô3Ð3Ñ3rj   rs   c                 ó¼   — t        j                  d|i«      }t        j                  j	                  |«      }|j                  «       }t        j                  ||«       y )Nry  )r.   r/   rE   rG   rH   rI   rR   rS   )r„   rs   rU   r   rT   s        r7   Útest_decimal_to_pandasz.TestConvertDecimalTypes.test_decimal_to_pandaså  sI   € ô —<‘< ¨VÐ 4Ó5ˆÜ—H‘H×(Ñ(¨Ó2ˆ	Ø× Ñ Ó"ˆÜ
×Ñ˜b (Õ+rj   c                 óð  — t        j                  d«      g}t        j                  dd«      }t	        j
                  t        j                  «      5  t        j                  ||¬«       d d d «       t        j                  d«      g}t        j                  dd«      }t	        j
                  t        j                  «      5  t        j                  ||¬«       d d d «       y # 1 sw Y   ŒyxY w# 1 sw Y   y xY w)Nz1.234rÑ  r)   rq  z1.2345r€   )r¯   r°   rE   r¾  r‘   r<  re  rb   )r„   Údata1Útype1Údata2Útype2s        r7   Ú"test_decimal_fails_with_truncationz:TestConvertDecimalTypes.test_decimal_fails_with_truncationð  s±   € Ü—‘ Ó)Ð*ˆÜ—‘˜b !Ó$ˆÜ�]‰]œ2Ÿ?™?Ó+ñ 	(Ü�H‰H�U Õ'÷	(ô —‘ Ó*Ð+ˆÜ—‘˜b !Ó$ˆÜ�]‰]œ2Ÿ?™?Ó+ñ 	(Ü�H‰H�U Õ'÷	(ð 	(÷	(ð 	(ú÷
	(ð 	(ús   ÁC Â?C,Ã C)Ã,C5c                 óô  — t        j                  d«      t        j                  d«      g}t        j                  |«      }t	        j
                  |«      }|j                  «       |k(  sJ ‚|j                  t	        j                  dd«      k(  sJ ‚t	        j
                  |t	        j                  dd«      ¬«      }t        j                  d«      t        j                  d«      g}|j                  «       |k(  sJ ‚y )	Nz0.01z0.001r€   r  r˜   rq  z0.01000z0.00100)	r¯   r°   r.   rc   rE   rb   rß  r_   r¾  )r„   rŸ   Úseriesrb   rU   s        r7   Ú&test_decimal_with_different_precisionsz>TestConvertDecimalTypes.test_decimal_with_different_precisionsû  s¼   € ä�O‰O˜FÓ#Ü�O‰O˜GÓ$ð
ˆô —‘˜4“ˆÜ—‘˜Ó ˆØ�‰Ó  DÒ(Ð(Ð(Ø�z‰zœRŸ]™]¨1¨aÓ0Ò0Ð0Ð0ä—‘˜¤B§M¡M°"°aÓ$8Ô9ˆÜ—O‘O IÓ.´·±À	Ó0JÐKˆØ�‰Ó  HÒ,Ð,Ñ,rj   c                 ó  — t        j                  t        j                  d«      d g«      }t	        |t        j                  dd«      ¬«       t        j                  d gdz  «      }t	        |t        j                  dd«      ¬«       y )Nrƒ  r  r˜   rj  r)   ©r.   rc   r¯   r°   ri   rE   r¾  ©r„   r¹  s     r7   Ú$test_decimal_with_None_explicit_typez<TestConvertDecimalTypes.test_decimal_with_None_explicit_type	  s^   € Ü—‘œGŸO™O¨FÓ3°TÐ:Ó;ˆÜ ¬b¯m©m¸BÀÓ.BÕCô —‘˜D˜6 A™:Ó&ˆÜ ¬b¯m©m¸BÀÓ.BÖCrj   c                 óš   — t        j                  t        j                  d«      d g«      }t	        |t        j                  dd«      ¬«       y )Nrƒ  r€   r)   rn  r¼  r½  s     r7   Ú!test_decimal_with_None_infer_typez9TestConvertDecimalTypes.test_decimal_with_None_infer_type  s3   € Ü—‘œGŸO™O¨FÓ3°TÐ:Ó;ˆÜ ¼¿¹ÀqÈ!Ó9LÖMrj   c                 ó�   — ddidt        j                  d«      idœ}t        j                  j	                  |«      }t        |«       y )Nr   r    z0.0r7  )r¯   r°   r.   r/   Ú	from_dictr\   )r„   ÚtmpdirrŸ   rT   s       r7   Útest_strided_objectsz,TestConvertDecimalTypes.test_strided_objects  sA   € ð �S�Ø”W—_‘_ UÓ+Ð,ñ
ˆô �\‰\×#Ñ# DÓ)ˆÜ Õ#rj   r�  c                 óä   — t        j                  d«      d g}t        j                  | |dd«      ¬«      }|j	                  «       }t        j                  |«      }t        j                  ||«       y )Nrƒ  r€   r)   rq  )	r¯   r°   rE   rb   rI   r.   rc   rR   rd   )r„   r�  rŸ   rh   rZ   rU   s         r7   Útest_decimal_array_to_pandasz4TestConvertDecimalTypes.test_decimal_array_to_pandas   sU   € ô —‘ Ó'¨Ð.ˆÜ�h‰h�t¡# a¨£)Ô,ˆØ—‘“ˆÜ—9‘9˜T“?ˆÜ
×Ñ˜v xÕ0rj   N)r¶  r·  r¸  r¹  r¯   r°   r¼  r½  r¾  r‘   rº  r»  ÚparamrE   r¯  r±  r·  rº  r¾  rÀ  rÄ  r¿  rÆ  r0  rj   r7   r¬  r¬  Æ  s¼  „ ñð 	ˆ�‰˜Ó$Øˆ�‰˜
Ó#ð€Ið
 	ˆ�‰Ð(Ó)Øˆ�‰˜Ó(ð€Ið
 	ˆ�‰Ð5Ó6Øˆ�‰Ð6Ó7ð€Jð
 ‡[�[×ÑÐ8Øˆ�‰�Y  §¡¨a°Ó 3¸ÔDØˆ�‰�Y  §¡¨b°!Ó 4¸ÔEØˆ�‰�Z  §¡¨r°2Ó!6¸<ÔHð;ó ñ
4óð
4ð ‡[�[×Ñ˜XØˆ�‰�Y ;Ô/Øˆ�‰�Y ;Ô/Øˆ�‰�Z LÔ1ð(ó ñ
,óð
,ò	(ò-òDòNò	$ð ‡[�[×Ñ˜UØ
�‰Ø
�‰Ø
�‰Ø
�‰ð	%ó ñ1óñ1rj   r¬  c            
       ó  — e 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j4                  j7                  dej:                  ddgdgdgddgdgfej<                  ddgdgdgddgdgfej>                  ddgdgdgddgdgfg«      d„ «       Z d „ Z!d!„ Z"d"„ Z#d#„ Z$d$„ Z%ej4                  jL                  d%„ «       Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-ej4                  j7                  d,ej\                  ej^                  g«      d-„ «       Z0ej4                  j7                  d,ej\                  ej^                  g«      d.„ «       Z1ej4                  j7                  d,ej\                  ej^                  g«      d/„ «       Z2ej4                  j7                  d,ej\                  ej^                  g«      d0„ «       Z3ej4                  j7                  d,ej\                  ej^                  g«      d1„ «       Z4y)2ÚTestConvertListTypesz,
    Conversion tests for list<> types.
    c                 óz  — t        «       \  }}t        |||¬«       t        j                  j	                  ||d¬«      }|j                  |j                  j                  «      }|j                  j                  |«      sJ ‚|j                  D ]-  }|j                  |«      }t        ||   |j                  ¬«       Œ/ y ©N©r:   rV   Fr6  rq  )r   r\   rE   rG   rH   Úwith_metadatar:   r  rJ   rK   r‚   ru   r_   ©r„   rT   r:   rY   rV   r  r‚   s          r7   Útest_column_of_arraysz*TestConvertListTypes.test_column_of_arrays3  sž   € Ü*Ó,‰
ˆˆFÜ ¨6À6ÕJÜ—‘×$Ñ$ R°ÀuÐ$ÓMˆð !×.Ñ.¨u¯|©|×/DÑ/DÓEˆØ�|‰|×"Ñ" ?Ô3Ð3Ð3à—j‘jò 	@ˆFØ—L‘L Ó(ˆEÜ" 2 f¡:°E·J±JÖ?ñ	@rj   c           	      óD  — d}t        j                  t        j                  d|¬«      t        j                  d|¬«      d t        j                  d|¬«      gt        ¬«      }t	        j
                  t	        j                  «       «      }t	        j                  ||¬«      }|d   j                  «       t        t        d«      «      k(  sJ ‚|d   j                  «       t        t        d«      «      k(  sJ ‚|d   j                  «       �J ‚|d	   j                  «       dgk(  sJ ‚y )
Nrí  rÑ  r   r˜   r   rq  r   r)   r€   )
r0   rb   r1   r?   rE   rs  r   rê  r  r4   )r„   r   rh   rf   rø  s        r7   Útest_column_of_arrays_to_pyz0TestConvertListTypes.test_column_of_arrays_to_py@  sâ   € àˆÜ�h‰hÜ�I‰I�b Ô&Ü�I‰I�a˜uÔ%ØÜ�I‰I�a˜uÔ%ð	
ô
 ôˆô —‘œŸ™›Ó#ˆÜ�x‰x˜ %Ô(ˆà�A‰w�}‰}‹¤$¤u¨R£y£/Ò1Ð1Ð1Ø�A‰w�}‰}‹¤$¤u¨Q£x£.Ò0Ð0Ð0Ø�A‰w�}‰}‹Ð&Ð&Ð&Ø�A‰w�}‰}‹ 1 #Ò%Ð%Ñ%rj   c                 óÒ  — t        j                  ddgdggt        j                  t        j                  «       «      ¬«      }t         j                  j                  |gdg¬«      }|j                  «       }t        j                  dddgdggi«      }t        j                  ||«       |d   j                  «       }t        j                  t        j                  |«      |d   d¬«       y )NTFrq  r  rã   r   rm   )rE   rb   rs  rå  rG   rÝ   rI   r.   r/   rR   rS   rd   rc   )r„   rb   rY   rT   ro  re   s         r7   Útest_column_of_boolean_listz0TestConvertListTypes.test_column_of_boolean_listQ  s³   € ä—‘˜4 ˜-¨$¨Ð0´r·x±xÄÇÁÃ
Ó7KÔLˆÜ—‘×$Ñ$ e W°V°HÐ$Ó=ˆØ�_‰_Óˆä—l‘l F¨d°E¨]¸T¸FÐ,CÐ#DÓEˆÜ
×Ñ˜b +Ô.à�!‰H×ÑÓ ˆÜ
×ÑœrŸy™y¨›|¨R°©ZÀUÖKrj   c           	      ó8  — t        j                  t        j                  d«      t        j                  d«      gt        j                  d«      ggt        j                  t        j
                  dd«      «      ¬«      }t         j                  j                  |gdg¬«      }|j                  «       }t        j                  dt        j                  d«      t        j                  d«      gt        j                  d«      ggi«      }t        j                  ||«       y )	NrŽ   rN  z3.3r)   r   rq  r  rã   )rE   rb   r¯   r°   rs  r¾  rG   rÝ   rI   r.   r/   rR   rS   )r„   rb   rY   rT   ro  s        r7   Útest_column_of_decimal_listz0TestConvertListTypes.test_column_of_decimal_list]  sÔ   € Ü—‘œ7Ÿ?™?¨3Ó/´·±ÀÓ1EÐFÜ"Ÿ?™?¨5Ó1Ð2ð4ä Ÿh™h¤r§}¡}°Q¸Ó':Ó;ô=ˆô —‘×$Ñ$ e W°V°HÐ$Ó=ˆØ�_‰_Óˆä—l‘lØ”w—‘ sÓ+¬W¯_©_¸SÓ-AÐBÜ—‘ uÓ-Ð.ð0ð 1ó2ˆô 	×Ñ˜b +Õ.rj   c                 ó¸  — t        j                  t        j                  t        j                  t        j                  gt
        ¬«      «      }t        j                  t        j                  «       «      t        j                  t        j                  «       «      t        j                  t        j                  dd«      g«      fD ]ˆ  }t        j                  ||¬«      }t        j                  d d g|¬«      }|j                  |«      sJ ‚t        j                  t        «      5  t        j                  |j                   |¬«       d d d «       ŒŠ y # 1 sw Y   Œ•xY w)Nr   Úf0r   rq  )r.   rc   r0   rb   rM   r?   rE   rs  r   Ú
large_listÚstructr‚   rJ   r‘   r<  Ú	TypeErrorrs   )r„   re   r9  rZ   rU   s        r7   Ú+test_nested_types_from_ndarray_null_entriesz@TestConvertListTypes.test_nested_types_from_ndarray_null_entriesi  sç   € ä�I‰I”b—h‘h¤§¡¬¯©Ð/´vÔ>Ó?ˆä—8‘8œBŸH™H›JÓ'Ü—=‘=¤§¡£Ó,Ü—9‘9œbŸh™h t¨WÓ5Ð6Ó7ð9ò 	,ˆBô —X‘X˜a bÔ)ˆFÜ—x‘x  t °2Ô6ˆHØ—=‘= Ô*Ð*Ð*ä—‘œyÓ)ñ ,Ü—‘˜Ÿ™¨Õ+÷,ð ,ñ	,÷,ð ,ús   Ä#"EÅE	c                 óz  — t        «       \  }}t        |||¬«       t        j                  j	                  ||d¬«      }|j                  |j                  j                  «      }|j                  j                  |«      sJ ‚|j                  D ]-  }|j                  |«      }t        ||   |j                  ¬«       Œ/ y rË  )r   r\   rE   rG   rH   rÍ  r:   r  rJ   rK   r‚   ru   r_   rÎ  s          r7   Útest_column_of_listsz)TestConvertListTypes.test_column_of_listsw  sž   € Ü)Ó+‰
ˆˆFÜ ¨6À6ÕJÜ—‘×$Ñ$ R°ÀuÐ$ÓMˆð !×.Ñ.¨u¯|©|×/DÑ/DÓEˆØ�|‰|×"Ñ" ?Ô3Ð3Ð3à—j‘jò 	@ˆFØ—L‘L Ó(ˆEÜ" 2 f¡:°E·J±JÖ?ñ	@rj   c           	      ó:  — g g d¢g d¢g dgg}t        j                  |D �cg c]  }t        j                  |t        ¬«      ‘Œ c}«      }t        j                  |«      }t        j                  |j                  «       «      }t        j                  ||«       y c c}w )Nrp  )r€   r®   r¼   r·   r)   r   )	r.   rc   r0   rb   rG  rE   rI   rR   rd   )r„   Ú	num_listsre   r¹  rh   rZ   s         r7   Ú test_column_of_lists_first_emptyz5TestConvertListTypes.test_column_of_lists_first_empty„  sp   € àš¢L°"°q°cÐ:ˆ	Ü—‘¸iÖH¸œBŸH™H Q¬eÖ4ÒHÓIˆÜ�h‰h�vÓˆÜ—‘˜3Ÿ=™=›?Ó+ˆÜ
×Ñ˜v vÕ.ùò Is    "Bc                 ó,  — t        j                  dt        j                  ddgd ddgddgddgd	d
ggt        ¬«      i«      }t        j                  t        j                  dt        j                  t        j                  «       «      «      g«      }t
        j                  j                  |d d |¬«      }t
        j                  j                  |dd  |¬«      }t        j                  ||g«      }|j                  «       }t        j                  ||«       y )NÚlistsr   r)   r€   r—   r˜   r®   r¼   r·   é	   r   rr  )r.   r/   r0   rb   r?   rE   r:   r‚   rs  r   rG   rH   Úconcat_tablesrI   rR   rS   )r„   rT   r:   rè  ré  rY   rZ   s          r7   Útest_column_of_lists_chunkedz1TestConvertListTypes.test_column_of_lists_chunkedŒ  sõ   € ä�\‰\Ø”R—X‘XØ�A�ØØ�A�Ø�A�Ø�A�Ø�A�ðô ôð	
ó 	ˆô —‘Ü�H‰H�WœbŸh™h¤r§x¡x£zÓ2Ó3ð
ó ˆô �X‰X×!Ñ! " R a &°Ð!Ó8ˆÜ�X‰X×!Ñ! " Q R &°Ð!Ó8ˆä× Ñ  " b Ó*ˆØ—‘Ó"ˆä
×Ñ˜f bÕ)rj   c           	      ó�  — t        j                  dt        j                  g t        ¬«      i«      }t        j                  t        j                  dt        j                  t        j                  «       «      «      g«      }t
        j                  j                  ||¬«      }|j                  «       }t        j                  ||«       y )Nrâ  r   rr  )r.   r/   r0   rb   r?   rE   r:   r‚   rs  r   rG   rH   rI   rR   rS   )r„   rT   r:   rY   rZ   s        r7   Ú"test_empty_column_of_lists_chunkedz7TestConvertListTypes.test_empty_column_of_lists_chunked¥  sŽ   € Ü�\‰\Ø”R—X‘X˜b¬Ô/ð
ó ˆô —‘Ü�H‰H�WœbŸh™h¤r§x¡x£zÓ2Ó3ð
ó ˆô —‘×$Ñ$ R°Ð$Ó7ˆØ—‘Ó"ˆä
×Ñ˜f bÕ)rj   c           	      óÖ  — ddgddgddgddgd	d
gddgddgddgg}ddgddgg}t        j                  |«      }t        j                  |«      }t         j                  j                  |gdg¬«      }t         j                  j                  |gdg¬«      }t        j                  ||g«      }|j                  «       }t        j                  d||z   i«      }	t        j                  ||	«       y )Nr   r   r)   r€   r—   r˜   r®   r¼   rÑ  r|  r  é   é   é   é   é   r·   rã  é   é   r    rã   )
rE   rb   rG   rÝ   rä  rI   r.   r/   rR   rS   )
r„   r³  rµ  rê  rB  rè  ré  ÚconcatenatedrZ   rU   s
             r7   Útest_column_of_lists_chunked2z2TestConvertListTypes.test_column_of_lists_chunked2³  sê   € Ø�Q�˜!˜Q˜ ! Q ¨!¨Q¨°"°b°Ø�b�˜B ˜8 b¨" Xð/ˆà�Q�˜"˜b˜Ð"ˆä�X‰X�e‹_ˆÜ�X‰X�e‹_ˆä�X‰X×!Ñ! 2 $¨s¨eÐ!Ó4ˆÜ�X‰X×!Ñ! 2 $¨s¨eÐ!Ó4ˆä×'Ñ'¨¨R¨Ó1ˆà×'Ñ'Ó)ˆÜ—<‘<  e¨e¡mÐ 4Ó5ˆä
×Ñ˜f hÕ/rj   c                 ó¼   — t        «       \  }}t        j                  |gdz  d¬«      }|d   j                  d d d…   }|j                  d   dk7  sJ ‚t        |«       y )Nr®   T)Úignore_indexr   r€   r   r·   )r   r.   Úconcatrs   Ústridesru   )r„   rT   r:   rh   s       r7   Útest_column_of_lists_stridedz1TestConvertListTypes.test_column_of_lists_stridedÅ  sZ   € Ü)Ó+‰
ˆˆFÜ�Y‰Y˜�t˜a‘x¨dÔ3ˆà�‰k× Ñ ¡ 1 Ñ%ˆØ�{‰{˜1‰~ Ò"Ð"Ð"ä˜sÕ#rj   c           	      ó<  — t        j                  d d gd gt        ¬«      }t        j                  |«      }t        j                  t	        |«      «      }|j                  |«      sJ ‚|j                  t        j                  t        j                  «       «      k(  sJ ‚t        j                  d d d d gt        j                  d d gt        ¬«      gt        ¬«      }t        j                  |«      }t        j                  d d d d gd d gg«      }|j                  |«      sJ ‚y )Nr   )	r0   rb   r?   rE   r  rJ   r_   rs  rã  )r„   rŸ   rh   rU   rµ  s        r7   Útest_nested_lists_all_nonez/TestConvertListTypes.test_nested_lists_all_noneÎ  sà   € Ü�x‰x˜$ ˜ tÐ,´FÔ;ˆä�h‰h�t‹nˆÜ—8‘8œD ›JÓ'ˆØ�z‰z˜(Ô#Ð#Ð#Ø�x‰xœ2Ÿ8™8¤B§G¡G£IÓ.Ò.Ð.Ð.ä—‘˜$  t¨T lÜŸ(™( D¨$ <´vÔ>ð@ä%ô'ˆô �h‰h�u‹oˆÜ—8‘8˜T 4¨$°¨¸¸d°|ÐDÓEˆØ�z‰z˜(Ô#Ð#Ñ#rj   c                 ó,  — t        j                  g g g g«      }t        j                  |«      }t        j                  t	        |«      «      }|j                  |«      sJ ‚|j                  t        j                  t        j                  «       «      k(  sJ ‚y ©N)	r.   rc   rE   rb   r  rJ   r_   rs  rã  ©r„   rŸ   rh   rU   s       r7   Útest_nested_lists_all_emptyz0TestConvertListTypes.test_nested_lists_all_emptyÝ  sh   € ä�y‰y˜"˜b "˜Ó&ˆÜ�h‰h�t‹nˆÜ—8‘8œD ›JÓ'ˆØ�z‰z˜(Ô#Ð#Ð#Ø�x‰xœ2Ÿ8™8¤B§G¡G£IÓ.Ò.Ð.Ñ.rj   c                 ó,  — t        j                  g dgg«      }t        j                  |«      }t        j                  t	        |«      «      }|j                  |«      sJ ‚|j                  t        j                  t        j                  «       «      k(  sJ ‚y )Nr    )	r.   rc   rE   rb   r  rJ   r_   rs  rŸ  rû  s       r7   Útest_nested_list_first_emptyz1TestConvertListTypes.test_nested_list_first_emptyå  sh   € ä�y‰y˜"˜s˜e˜Ó%ˆÜ�h‰h�t‹nˆÜ—8‘8œD ›JÓ'ˆØ�z‰z˜(Ô#Ð#Ð#Ø�x‰xœ2Ÿ8™8¤B§I¡I£KÓ0Ò0Ð0Ñ0rj   c                 óÀ  — t        j                  t        j                  g d¢d¬«      d g«      }t	        j                  |«      }t	        j                  |j
                  «      }t	        j                  g d¢d gt	        j                  t	        j                  «       «      ¬«      }|j                  |«      sJ ‚|j                  |«      sJ ‚t        j                  t        j                  g d¢d¬«      d g«      }t	        j                  |«      }t	        j                  g d¢d gt	        j                  t	        j                  «       «      ¬«      }|j                  |«      sJ ‚y )Nr   rí  r   rq  rÄ  )
r.   rc   r0   rb   rE   rs   rs  r   rJ   r   )r„   rŸ   rZ   rÄ   rU   Údata3rŽ  Ú	expected3s           r7   Útest_nested_smaller_intsz-TestConvertListTypes.test_nested_smaller_intsí  sê   € ô �y‰yœ"Ÿ(™(¢9°DÔ9¸4Ð@ÓAˆÜ—‘˜$“ˆÜ—(‘(˜4Ÿ;™;Ó'ˆÜ—8‘8šY¨Ð-´B·H±H¼R¿W¹W»YÓ4GÔHˆØ�}‰}˜XÔ&Ð&Ð&Ø�~‰~˜hÔ'Ð'Ð'ä—	‘	œ2Ÿ8™8¢I°TÔ:¸DÐAÓBˆÜ—(‘(˜5“/ˆÜ—H‘Hši¨Ð.´R·X±X¼b¿j¹j»lÓ5KÔLˆ	Ø�~‰~˜iÔ(Ð(Ñ(rj   c                 óæ  — t        dt        j                  dgddggfdddgddggfdd dgd	d
ggfdd dgd	d
ggd gfg«      }t        j                  |«      }t        j                  t        j                  dt        j                  t        j                  «       «      «      t        j                  dt        j                  t        j                  «       «      «      t        j                  dt        j                  t        j                  «       «      «      t        j                  dt        j                  t        j                  t        j                  «       «      «      «      g«      }t        ||¬«       y )NÚnan_intsr   r)   r€   r<  r   ÚstrsrÌ   rÛ   ÚdÚnested_strsrÇ  )r   r0   rM   r.   r/   rE   r:   r‚   rs  r   rŸ  r\   ©r„   rŸ   rT   rV   s       r7   Útest_infer_listsz%TestConvertListTypes.test_infer_listsü  s  € ÜØœ2Ÿ6™6 1˜+¨¨1 vÐ.Ð/Ø�q˜!�f˜q !˜fÐ%Ð&Ø�t˜S�k C¨ :Ð.Ð/Ø˜t S˜k¨C°¨:Ð6¸Ð=Ð>ð	
ó ˆô �\‰\˜$ÓˆäŸ)™)Ü�H‰H�Z¤§¡¬"¯(©(«*Ó!5Ó6Ü�H‰H�VœRŸX™X¤b§h¡h£jÓ1Ó2Ü�H‰H�VœRŸX™X¤b§i¡i£kÓ2Ó3Ü�H‰H�]¤B§H¡H¬R¯X©X´b·i±i³kÓ-BÓ$CÓDð	%
ó ˆô 	  °OÖDrj   c                 ó¸  — t        j                  t        j                  «       d¬«      }t        j                  t        j                  «       «      }g d¢d g d¢g d¢g}t        j                  ||¬«      }t        j                  ||¬«      }|j	                  «       }|j	                  «       }t        ||«      D ]!  \  }}	|€|	�J ‚t        j                  ||	«       Œ# y )Nr—   )Ú	list_size)r   r   r)   r€   r»   )r·   rã  rÑ  r|  rq  )rE   rs  r   rb   rI   rÕ  rx   ry   )
r„   Úfixed_tyÚvariable_tyrŸ   Ú	fixed_arrÚvariable_arrrZ   rU   ÚleftÚrights
             r7   Útest_fixed_size_listz)TestConvertListTypes.test_fixed_size_list	  s¯   € ä—8‘8œBŸH™H›J°!Ô4ˆÜ—h‘hœrŸx™x›zÓ*ˆâ˜d¢L².ÐAˆÜ—H‘H˜T¨Ô1ˆ	Ü—x‘x ¨;Ô7ˆà×$Ñ$Ó&ˆØ×)Ñ)Ó+ˆä˜v xÓ0ò 	0‰KˆD�%Øˆ|Ø�}Ð$�}Ü×"Ñ" 4¨Õ/ñ	0rj   c           	      óš  — t        dt        j                  ddgt        j                  ¬«      t        j                  ddgt        j                  ¬«      gfg«      }t	        j
                  |«      }t        j                  t        j                  dt        j                  t        j                  «       «      «      g«      }t        ||¬«       y )Nr<  r   r   r   r)   r€   rÇ  )r   r0   rb   r   r.   r/   rE   r:   r‚   rs  r\   r  s       r7   Útest_infer_numpy_arrayz+TestConvertListTypes.test_infer_numpy_array	  s–   € ÜØÜ—‘˜!˜Q˜¤r§x¡xÔ0Ü—‘˜!˜Q˜¤r§x¡xÔ0ðð ð
ó ˆô �\‰\˜$ÓˆÜŸ)™)Ü�H‰H�VœRŸX™X¤b§h¡h£jÓ1Ó2ð%
ó ˆô 	  °OÖDrj   c                 ó¸  — t        j                  g d¢t        j                  «       «      }t        j                  ddgddgddggt        j                  t        j                  «       «      «      }t         j
                  j                  ||gdd	g«      }t         j                  j                  g d
¢|«      }t        j                  dddgdœgdddgdœdddgdœgg«      }t        j                  |j                  «       «      }t        j                  «       5  t        j                  ddt        «       t        j                   ||«       d d d «       y # 1 sw Y   y xY w)Nr   r    rÌ   rÛ   r  ÚeÚfÚf1rÃ  )r   r   r€   r   )r  rÃ  r)   r€   r@   rA   )rE   rb   r   rs  rŸ  ÚStructArrayrÝ   Ú	ListArrayr.   rc   rI   rN   rO   rP   rQ   rR   rd   )r„   r<  rB  ÚstructsrŸ   rU   r¹  s          r7   Útest_to_list_of_structs_pandasz3TestConvertListTypes.test_to_list_of_structs_pandas-	  s   € Ü�x‰xš	¤2§8¡8£:Ó.ˆÜ—(‘(˜S #˜J¨¨c¨
°S¸#°JÐ?ÜŸ8™8¤B§I¡I£KÓ0ó2ˆä—.‘.×,Ñ,¨d°G¨_¸tÀT¸lÓKˆÜ�|‰|×'Ñ'ª	°7Ó;ˆä—9‘9Ø˜c 3˜ZÑ(Ð)Ø˜c 3˜ZÑ(Ø˜c 3˜ZÑ(ð*ð
ó ˆô —‘˜4Ÿ>™>Ó+Ó,ˆô ×$Ñ$Ó&ñ 	5Ü×#Ñ# HÐ.MÜ$6ô8ä×"Ñ" 6¨8Ô4÷	5÷ 	5ñ 	5ús   Ä2EÅEc                 óæ  — t        t        j                  «      t        d«      k\  r:t        t        j                  «      t        d«      k  rt	        j
                  d«       dddgfddd	gfggd
g fddd dgfgdddgfggg}t        j                  |t        j                  t        j                  t        j                  «       t        j                  t        j                  «       «      «      «      «      }|j                  «       }t        j                  |«      }t        j                  «       5  t        j                  ddt         «       t#        j$                  ||«       d d d «       y # 1 sw Y   y xY w)Nú1.25.0.dev0r(  ú$Regression in pandas with numpy 1.25rµ   r    rÌ   rZ  rÛ   r  ri  ©rG  NÚquuxr  Úquzr  Úgr@   rA   )r   r0   r1  r.   r‘   rT  rE   rb   rs  Úmap_Úutf8rI   rc   rN   rO   rP   rQ   rR   rd   )r„   rŸ   rh   r¹  rU   s        r7   Útest_to_list_of_maps_pandasz0TestConvertListTypes.test_to_list_of_maps_pandasC	  s&  € Ü”R—^‘^Ó$¬°Ó(>Ò>ÜœŸ™Ó(¬7°7Ó+;Ò;ô �K‰KÐ>Ô?à�s˜C�jÐ! E¨C°¨:Ð#6Ð7Ð8Ø�bˆk˜=¨6°D¸#°;Ð*?Ð@ÀEÈCÐQTÈ:ÐCVÐBWÐXð
ˆô �h‰h�tœRŸX™X¤b§g¡g¬b¯g©g«i¼¿¹Ä"Ç'Á'Ã)Ó9LÓ&MÓNÓOˆØ—‘“ˆÜ—9‘9˜T“?ˆô ×$Ñ$Ó&ñ 	5Ü×#Ñ# HÐ.MÜ$6ô8ä×"Ñ" 6¨8Ô4÷	5÷ 	5ñ 	5ús   Ä,2E'Å'E0c           
      ó  — t        t        j                  «      t        d«      k\  r:t        t        j                  «      t        d«      k  rt	        j
                  d«       t        j                  g d¢«      j                  dd«      }t        j                  dgdgdd	gd
dgg dddggt        j                  t        j                  «       «      «      j                  dd«      }t        j                  j                  g d¢||«      }t        j                  j                  g d¢|«      }|j                  «       }t        j                  ddd	gfdd
dgfggdg fdggg«      }|j                  dd«      j                  «       }t        j                  dg fdggg«      }t!        j"                  «       5  t!        j$                  ddt&        «       t)        j*                  ||«       t)        j*                  ||«       ddd«       y# 1 sw Y   yxY w)zL
        A slightly more rigorous test for chunk/slice combinations
        r  r(  r  )r@   rµ   rZ  ri  rG  r!  r@   r   r˜   r@   r    rÌ   rÛ   r  Nr  r)   ©r   r)   r—   r™   rµ   rZ  ri  r   rA   )r   r0   r1  r.   r‘   rT  rE   rb   Úslicers  rŸ  ÚMapArrayrÝ   r  rI   rc   rN   rO   rP   rQ   rR   rd   )	r„   r   ÚitemsÚmaprh   r¹  rU   Úseries_slicedÚexpected_sliceds	            r7   Ú"test_to_list_of_maps_pandas_slicedz7TestConvertListTypes.test_to_list_of_maps_pandas_slicedX	  sÅ  € ô
 ”R—^‘^Ó$¬°Ó(>Ò>ÜœŸ™Ó(¬7°7Ó+;Ò;ô �K‰KÐ>Ô?ä�x‰xò 2ó 3ß38±5¸¸A³;ð 	ä—‘ØˆZ˜(˜ c¨3 Z°#°s°¸RÀÈÈcÀ{ÐSÜ�H‰H”R—Y‘Y“[Ó!ó
÷ ‰%��1‹+ð 	ô �k‰k×%Ñ%¢i°°uÓ=ˆÜ�l‰l×&Ñ&¢y°#Ó6ˆà—‘“ˆÜ—9‘9Ø�s˜C�jÐ! E¨C°¨:Ð#6Ð7Ð8Ø�bˆk˜=Ð)Ð*ð
ó ˆð
 Ÿ	™	 ! Q›×1Ñ1Ó3ˆÜŸ)™)Ø�bˆk˜=Ð)Ð*ð%
ó ˆô ×$Ñ$Ó&ñ 	CÜ×#Ñ# HÐ.MÜ$6ô8ä×"Ñ" 6¨8Ô4Ü×"Ñ" =°/ÔB÷		C÷ 	Cñ 	Cús   Æ,AG=Ç=Hzt,data,expectedr   r)   r€   NÚaaaÚbbrÛ   c                 ód  — t        j                  g d¢«      }t        j                  |«      }t        j
                  j                  ||t	        j                   |«       «      ¬«      }t        j
                  j                  |t	        j                   |«       «      ¬«      j                  |«      sJ ‚y )Nr  r   rq  )	r0   rb   r.   rc   rE   r›  rH   rs  rJ   )r„   r  rŸ   rU   r  re   rZ   s          r7   Ú,test_array_from_pandas_typed_array_with_maskzATestConvertListTypes.test_array_from_pandas_typed_array_with_mask	  s†   € ô$ �H‰HÒ(Ó)ˆä�I‰I�d‹OˆÜ—‘×%Ñ% a¨a´b·h±h¹q»s³mÐ%ÓDˆä�x‰x×#Ñ# HÜ)+¯©±!³#«ð $ó 8ß8>¹¸v»ðGð 	Gñ Grj   c                 ó@  — t        j                  dt        ¬«      }|j                  g «       t	        j
                  t        j                  g d¢«      |dœ«      }t        j                  j                  |«      }|j                  «       }t        j                  ||«       y )N)r€   r   )rŽ   rN  Ú3r7  )r0   Úemptyr?   Úfillr.   r/   rb   rE   rG   rH   rI   rR   rS   )r„   Úempty_list_arrayrT   r£  rZ   s        r7   Útest_empty_list_roundtripz.TestConvertListTypes.test_empty_list_roundtrip™	  sq   € ÜŸ8™8 D´Ô7ÐØ×Ñ˜bÔ!ä�\‰\¤§¡ªÓ 9Ø 0ñ2ó 3ˆä�h‰h×"Ñ" 2Ó&ˆà—‘“ˆä
×Ñ˜f bÕ)rj   c                 ó8  — t        «       \  }}|D ]ˆ  }||j                     j                  }t        j                  t        |«      |j                  ¬«      }t        j                  |«      }|j                  |j                  k(  sJ ‚|j                  |«      rŒˆJ ‚ y )Nrq  )r   ra   rs   rE   rb   r  r_   rJ   )r„   rT   r:   r‚   rh   rU   rZ   s          r7   Útest_array_from_nested_arraysz2TestConvertListTypes.test_array_from_nested_arrays¥	  s}   € Ü*Ó,‰
ˆˆFØò 	+ˆEØ�U—Z‘Z‘.×'Ñ'ˆCÜ—x‘x¤ S£	°·
±
Ô;ˆHÜ—X‘X˜c“]ˆFØ—;‘; %§*¡*Ò,Ð,Ð,Ø—=‘= Õ*Ð*Ð*ñ	+rj   c           	      óú  — t        j                  g d¢dggd gt        j                  t        j                  t        j                  «       «      «      ¬«      j	                  «       }t        j                  «       5  t        j                  ddt        «       t        j                  ddt        «       t        j                  |t        j                  g d¢dggd gt        ¬«      d¬	«       d d d «       y # 1 sw Y   y xY w)
Nr   r—   rq  r@   z&Creating an ndarray from ragged nestedrA   r   Frm   )rE   rb   rØ  r   rI   rN   rO   rP   Ú_np_VisibleDeprecationWarningrQ   rR   rd   r.   rc   r?   rk  s     r7   Útest_nested_large_listz+TestConvertListTypes.test_nested_large_list®	  sÃ   € Ü�X‰Xš	 A 3Ð'¨Ð.ÜŸ=™=¬¯©´r·x±x³zÓ)BÓCôEç‰i‹kð 	
ô ×$Ñ$Ó&ñ 	#Ü×#Ñ# HØ$LÜ$AôCô ×#Ñ# HÐ.MÜ$6ô8ä×"Ñ"Ø”2—9‘9šy¨1¨#Ð.°Ð5¼VÔDØ!õ#÷	#÷ 	#ñ 	#ús   Á9A/C1Ã1C:c           
      ó&  — t         j                  t         j                  fD ]î  }t        j                  ddgd dgg g |t        j                  «       «      ¬«      j                  «       }t        j                  |t        j                  ddgd dgg g«      d¬	«       t        j                  ddgd dgg g |t        j                  «       «      ¬«      j                  «       }t        j                  |t        j                  ddgd dgg g«      d¬	«       Œð y )
Nr;  r1  Úccrq  s   aas   bbs   ccFrm   )rE   rs  rØ  rb   rr  rI   rR   rd   r.   rc   rC  )r„   Úlist_type_factoryre   s      r7   Útest_large_binary_listz+TestConvertListTypes.test_large_binary_list½	  só   € Ü"$§(¡(¬B¯M©MÐ!:ò 	#ÐÜ—‘˜D $˜<¨°¨v°rÐ:Ù0´·±Ó1BÓCôEç‘)“+ð ô ×"Ñ"Ø”2—9‘9˜u e˜n¨d°U°G¸RÐ@ÓAØ!õ#ô —‘˜D $˜<¨°¨v°rÐ:Ù0´·±Ó1BÓCôEç‘)“+ð ô ×"Ñ"Ø”2—9‘9˜t T˜l¨D°4°&¸"Ð=Ó>Ø!ö#ñ	#rj   c                 ó˜  — t        j                  g d¢«      j                  «       }t         j                  j	                  g d¢|«      }t        j                  |j                  «       «      }t        j                  |j                  «       |«       |j                  g d¢«      }d |d<   t        j                  |j                  «       |«       y )N)rµ   rZ  Nrµ   )r   r   r€   r€   r—   )r   r   Nr€   r)   )rE   rb   r•  r  rÝ   r.   rc   rß  rR   rd   rI   Útake)r„   Úchildrh   rU   s       r7   Útest_list_of_dictionaryz,TestConvertListTypes.test_list_of_dictionaryÌ	  s‹   € Ü—‘Ò4Ó5×GÑGÓIˆÜ�l‰l×&Ñ&¢¸Ó>ˆô —9‘9˜SŸ]™]›_Ó-ˆÜ
×Ñ˜sŸ}™}›°Ô9ð �h‰h’Ó'ˆØˆ�‰Ü
×Ñ˜sŸ}™}›°Õ9rj   c                 ó¨  — d}t         j                  j                  t        t	        j
                  |dfd¬«      «      t        |«      dœ«      }t        j                  j                  |«      }|j                  d¬«       |d   }|j                  d	k(  sJ ‚t        |j                  d«      «      d
k(  sJ ‚t        |j                  d«      «      dk(  sJ ‚y )Ni    i   r   r   r7  Tr[  r   r)   iÿÿ r   )r.   r/   rÂ  r  r0   Úzerosr4   rE   rG   rH   r^  rU  r¾   r7  )r„   ÚnrT   rY   Úcolumn_as        r7   Ú#test_auto_chunking_on_list_overflowz8TestConvertListTypes.test_auto_chunking_on_list_overflowÙ	  s¹   € ð ˆÜ�\‰\×#Ñ#Ü”b—h‘h  5˜z°Ô9Ó:Ü�q“ñ%
ó ˆô —‘×$Ñ$ RÓ(ˆØ�‰˜DˆÔ!à˜‘8ˆØ×"Ñ" aÒ'Ð'Ð'Ü�8—>‘> !Ó$Ó%¨Ò2Ð2Ð2Ü�8—>‘> !Ó$Ó%¨Ò*Ð*Ñ*rj   c                 ó  — ddgdgg d¢dgg}t        j                  d|i«      }t        j                  dt        j                  t        j
                  «       t        j                  «       «      fg«      }t        ||¬«       y )N©rM  r   ©ó   br)   ©ó   cr€   ©©ó   dr—   ©ó   er˜   )ó   fr®   ©ó   gr¼   r,  rr  )r.   r/   rE   r:   r$  rL  r   r\   )r„   rŸ   rT   r:   s       r7   Útest_map_array_roundtripz-TestConvertListTypes.test_map_array_roundtripé	  si   € Ø˜IÐ&Ø�Ú1Ø�ðˆô
 �\‰\˜5 $˜-Ó(ˆÜ—‘˜U¤B§G¡G¬B¯I©I«K¼¿¹»Ó$DÐEÐFÓGˆä ¨6Ö2rj   c                 óv  — ddgdgg d¢dgg}|D ���cg c]  }|D ��cg c]  \  }}||dz  f‘Œ c}}‘Œ }}}}t        j                  |t        j                  t        j                  «       t        j                  «       «      ¬«      }t        j                  |t        j                  t        j                  «       t        j                  «       «      ¬«      }t        j
                  ||g«      }t        j                  ||z   «      }	|j                  «       }
t        j                  |
|	d¬	«       y c c}}w c c}}}w )
NrM  rN  rP  rR  rX  r)   rq  Frm   )rE   rb   r$  rL  r   rš  r.   rc   rI   rR   rd   )r„   r³  ÚrowÚkrù  rµ  Úarr1rœ  rh   rU   Úactuals              r7   Útest_map_array_chunkedz+TestConvertListTypes.test_map_array_chunkedô	  sæ   € Ø˜YÐ'Ø�Ú2Ø�ðˆð :?×?Ð?°#¨×-¡  A�1�a˜!‘e’*Õ-Ð?ˆÒ?ä�x‰x˜¤B§G¡G¬B¯I©I«K¼¿¹»Ó$DÔEˆÜ�x‰x˜¤B§G¡G¬B¯I©I«K¼¿¹»Ó$DÔEˆÜ×Ñ  d˜|Ó,ˆä—9‘9˜U U™]Ó+ˆØ—‘“ˆÜ
×Ñ˜v x¸UÖCùó .ùÔ?s   “
D4�D.®D4Ä.D4c                 ó¾  — ddgd g d¢dgg}|D ���cg c]*  }|�$|D ��cg c]  \  }}||�t        |«      nd f‘Œ c}}nd ‘Œ, }}}}t        j                  |«      }t        j                  |t        j
                  t        j                  «       t        j                  «       «      ¬«      }|j                  «       }t        j                  ||d¬«       y c c}}w c c}}}w )NrM  rN  )rS  rU  )rW  NrX  rq  Frm   )rG  r.   rc   rE   rb   r$  rL  r   rI   rR   rd   )r„   rŸ   r\  r]  rù  rU   rh   r_  s           r7   Útest_map_array_with_nullsz.TestConvertListTypes.test_map_array_with_nulls
  sÏ   € Ø˜IÐ&ØÚ4Ø�ðˆð =A÷Bð BØ58�s�ð KN×NÁ$À!ÀQ�a Q ]œ˜qœ¸Ò=ÔNØ,0ñ1ð Bˆò Bä—9‘9˜XÓ&ˆä�h‰h�t¤"§'¡'¬"¯)©)«+´r·x±x³zÓ"BÔCˆØ—‘“ˆÜ
×Ñ˜v x¸UÖCùó Oùô Bs   ’CžC¹CÃCc           	      ó¤  — t        j                  g d¢«      }t        j                  g d¢«      j                  «       }t        j                  t        t	        t        |«      «      «      «      }t         j                  j                  |||«      }t        j                  g d¢ddgg«      }|j                  «       }t        j                  ||d¬«       y )N©r   r€   r˜   )r    rÌ   rÛ   r    r  ))r   r    )r   rÌ   )r)   rÛ   )r€   r    )r—   r  Frm   )rE   rb   r•  r  r4   r¾   r*  rÝ   r.   rc   rI   rR   rd   )r„   Úoffsetsr+  r   rh   rU   r_  s          r7   Ú!test_map_array_dictionary_encodedz6TestConvertListTypes.test_map_array_dictionary_encoded
  s™   € Ü—(‘(š9Ó%ˆÜ—‘Ò2Ó3×EÑEÓGˆÜ�x‰xœœU¤3 u£:Ó.Ó/Ó0ˆÜ�k‰k×%Ñ% g¨t°UÓ;ˆô —9‘9Ú+¨h¸Ð-AÐBóDˆð —‘“ˆÜ
×Ñ˜v x¸UÖCrj   c           	      óÐ  — t        j                  ddgg d¢d dd gddgg«      }t        j                  |j                  dd«      |j                  dd«      g«      }|j	                  «       }t        j                  d	d
gg d¢d dt
        j                  ggd¬«      }t        ||«      D ]%  \  }}|€||k(  rŒJ ‚t        j                  ||«       Œ' t        j                  d	d
ddddt
        j                  gg«      }t        j                  |d   j                  |«       |j                  dd«      j	                  «       }t        j                  g d¢d dt
        j                  ggd¬«      }t        ||«      D ]%  \  }}|€||k(  rŒJ ‚t        j                  ||«       Œ' t        j                  ddddt
        j                  gg«      }t        j                  |d   j                  |«       y )Nr   r)   )r€   r—   r˜   r®   r¼   r·   r   r€   rˆ   r‰   )rŠ   r‹   rŒ   r�   r?   r   rŠ   r‹   rŒ   )rE   rb   rš  r)  Úto_numpyr0   rM   rÕ  rx   ry   Úbase)	r„   rh   Úchunked_arrr	  rU   r  r  Úexpected_baseÚnp_arr_sliceds	            r7   Útest_list_no_duplicate_basez0TestConvertListTypes.test_list_no_duplicate_base
  s´  € ä�h‰h˜˜A˜¢	¨4°!°T°¸QÀ¸FÐCÓDˆÜ×&Ñ&¨¯	©	°!°Q«¸¿¹À1Àa»Ð'IÓJˆà×%Ñ%Ó'ˆä—8‘8˜b "˜X¢|°TØ¤§¡˜Lð*Ø19ô;ˆä˜v xÓ0ò 	4‰KˆD�%Øˆ}Ø˜u“}Ð$�}ä×&Ñ& t¨UÕ3ð		4ô Ÿ™ 2 r¨2¨r°2°r¼2¿6¹6Ð"BÐ!CÓDˆÜ×Ñ˜v a™yŸ~™~¨}Ô=à#×)Ñ)¨!¨QÓ/×8Ñ8Ó:ˆä—8‘8šY¨¨q´"·&±&¨kÐ:À(ÔKˆÜ˜}¨hÓ7ò 	4‰KˆD�%Øˆ}Ø˜u“}Ð$�}ä×&Ñ& t¨UÕ3ð		4ô Ÿ™ 2 r¨2¨r´2·6±6Ð":Ð!;Ó<ˆÜ×Ñ˜}¨QÑ/×4Ñ4°mÕDrj   c                 óª  — t         j                  j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      ¬«      }|j	                  d¬«      }t        j                  ddgd d	t
        j                  ggd
¬«      }t        ||«      D ]%  \  }}|€||k(  rŒJ ‚t        j                  ||«       Œ' y )N©r   r)   r—   r®   )r   r)   éc   rp  r€   Nr¨  )re  rs   rl   F©rš  rˆ   r‰   rŠ   r?   r   )
rE   r  rÝ   rb   rh  r0   rM   rÕ  rx   ry   )r„   rh   r	  rU   r  r  s         r7   Útest_list_values_behind_nullz1TestConvertListTypes.test_list_values_behind_null=
  s±   € Ü�l‰l×&Ñ&Ü—H‘Hš\Ó*Ü—8‘8Ò3Ó4Ü—‘Ò.Ó/ð 'ó 
ˆð
 —‘¨U�Ó3ˆä—8‘8˜b "˜X t¨b´"·&±&¨\Ð:À(ÔKˆÜ˜v xÓ0ò 	4‰KˆD�%Øˆ}Ø˜u“}Ð$�}ä×&Ñ& t¨UÕ3ñ		4rj   rX   c                 ó2  — |j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      ¬«      }|j                  «       }t	        j
                  ddgddgd	d
gg«      }t        j                  ||«       y )Nr(  ©r)   r)   r)   ©r   r)   r€   r—   r˜   r®   ©re  Úsizesrs   r   r)   r€   r—   r˜   r®   ©rÝ   rE   rb   rI   r.   rc   rR   rd   ©r„   rX   rh   r_  rU   s        r7   Ú.test_list_view_to_pandas_with_in_order_offsetszCTestConvertListTypes.test_list_view_to_pandas_with_in_order_offsetsL
  óz   € à×ÑÜ—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8Ò.Ó/ð  ó 
ˆð —‘“ˆÜ—9‘9˜q !˜f q¨! f¨q°!¨fÐ5Ó6ˆä
×Ñ˜v xÕ0rj   c                 ó2  — |j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      ¬«      }|j                  «       }t	        j
                  ddgddgd	d
gg«      }t        j                  ||«       y )N)r)   r—   r   rt  ru  rv  r€   r—   r˜   r®   r   r)   rx  ry  s        r7   Ú2test_list_view_to_pandas_with_out_of_order_offsetszGTestConvertListTypes.test_list_view_to_pandas_with_out_of_order_offsetsY
  r{  rj   c                 ó2  — |j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      ¬«      }|j                  «       }t	        j
                  g d¢g d¢g d¢g«      }t        j                  ||«       y )Nr™   )r—   r—   r—   ru  rv  r¶   )r)   r€   r—   r˜   )r€   r—   r˜   r®   rx  ry  s        r7   Ú1test_list_view_to_pandas_with_overlapping_offsetszFTestConvertListTypes.test_list_view_to_pandas_with_overlapping_offsetsf
  sn   € à×ÑÜ—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8Ò.Ó/ð  ó 
ˆð —‘“ˆÜ—9‘9šlªLº,ÐGÓHˆä
×Ñ˜v xÕ0rj   c           	      ór  — |j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  dd g«      t        j                  g d¢«      ¬«      }|j                  «       }t	        j
                  dt        j                  gg d g«      }t        j                  ||«       y )N)r   r)   r)   )r)   r   r   r   rþ  ©re  rw  rs   rl   )
rÝ   rE   rb   rI   r.   rc   r0   rM   rR   rd   ry  s        r7   Ú)test_list_view_to_pandas_with_null_valuesz>TestConvertListTypes.test_list_view_to_pandas_with_null_valuess
  s†   € à×ÑÜ—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8˜Q ˜IÓ&Ü—‘Ò.Ó/ð	  ó 
ˆð —‘“ˆÜ—9‘9˜q¤"§&¡&˜k¨2¨tÐ4Ó5ˆä
×Ñ˜v xÕ0rj   c           	      óì  — t        j                  «        t        j                  «       }|j	                  t        j
                  g d¢«      t        j
                  g d¢«      t        j
                  g d¢«      ¬«      }|j	                  t        j
                  g d¢«      t        j
                  g d¢«      t        j
                  g d¢«      t        j
                  g d¢«      ¬	«      }t        j                  ||g«      }|j                  «       }t        j                  d
dgdd
gddgg d¢ddt        j                  gd g«      }t        j                  ||«       ~~~~t        j                  «       }||k(  sJ ‚y )N)r)   r   r   rt  r¶   rv  )r   r   r   )r€   r€   r   )r˜   r®   r¼   Nrþ  r�  r€   r—   r)   r   )r˜   r®   r¼   r®   r¼   )ÚgcÚcollectrE   Útotal_allocated_bytesrÝ   rb   rš  rI   r.   rc   r0   rM   rR   rd   )	r„   rX   Úbytes_startr^  rœ  rh   r_  rU   Ú	bytes_ends	            r7   Ú(test_list_view_to_pandas_multiple_chunksz=TestConvertListTypes.test_list_view_to_pandas_multiple_chunks�
  s%  € ä
�
‰
ŒÜ×.Ñ.Ó0ˆØ× Ñ Ü—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8šLÓ)ð !ó 
ˆð
 × Ñ Ü—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8šOÓ,Ü—‘Ò.Ó/ð	 !ó 
ˆô ×Ñ  d˜|Ó,ˆà—‘“ˆÜ—9‘9˜q !˜f q¨! f¨q°!¨f²iÀ!ÀQÌÏÉÀÐQUÐVÓWˆä
×Ñ˜v xÔ0àØØØÜ×,Ñ,Ó.ˆ	Ø˜KÒ'Ð'Ñ'rj   )5r¶  r·  r¸  r¹  rÏ  rÑ  rÓ  rÕ  rÛ  rÝ  rà  rå  rç  rñ  rö  rø  rü  rþ  r  r	  r  r  r  r&  r/  r‘   rº  r»  rE   r   rŸ  rã  r3  r9  r;  r>  rB  rF  rª  rK  rZ  r`  rb  rf  rm  rr  ÚListViewArrayÚLargeListViewArrayrz  r}  r  r‚  r‰  r0  rj   r7   rÉ  rÉ  .  sŒ  „ ñò@ò&ò"
Lò
/ò,ò@ò/ò*ò2*ò0ò$$ò$ò/ò1ò)òEò$0ò"Eò5ò,5ò*%CðN ‡[�[×ÑÐ.à�H‰HØ�ˆV�a�S˜$ÐØ�A�3˜Ðð	
ð �I‰IØ�Tˆ]˜S˜E 4Ð(Ø�C�5˜$Ðð	
ð �G‰GØ�Dˆ\˜D˜6 4Ð(Ø�D�6˜4Ð ð	
ð1ó ñ"Gó#ð"Gò
*ò+ò#ò#ò:ð ‡[�[×Ññ+ó ð+ò	3òDòDòDòEò<4ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ
1ó Qð
1ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ
1ó Qð
1ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ
1ó Qð
1ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ1ó Qð1ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ(ó Qñ(rj   rÉ  c                   óª   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  e	j                  j                  d„ «       «       Zd„ Zd	„ Zd
„ Zy)ÚTestConvertStructTypesz,
    Conversion tests for struct types.
    c           	      ó"  — t        j                  ddddœdddœgi«      }t        j                  dt        j                  dt        j
                  «       fdt        j
                  «       fg«      fg«      }t        ||¬	«       t        |||¬
«       y )Nrv  r   r)   r7  r€   r—   r    rÌ   rÇ  rÌ  )r.   r/   rE   r:   rÙ  r   r\   )r„   rT   rV   s      r7   Útest_pandas_roundtripz,TestConvertStructTypes.test_pandas_roundtrip¤
  s�   € Ü�\‰\˜7¨1°1Ñ%5¸QÀQÑ7GÐ$HÐIÓJˆäŸ)™)Ø”b—i‘i #¤r§x¡x£zÐ!2°S¼"¿(¹(»*Ð4EÐ FÓGÐHð%
ó ˆô 	  °OÕDô 	 Ø�¸ö	Irj   c                 ó
  — t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t         j
                  j                  |||gg d¢«      }t        j                  d dddœdd d	dœd
dd dœg«      }t        j                  |j                  «       «      }t        j                  ||«       y )N)Nr)   r€   rq  )r    NrÛ   )TFN)r<  r  r  r    Tr)   Fr€   rÛ   )rE   rb   r   rŸ  rå  r  rÝ   r.   rc   rI   rR   rd   )r„   r<  r  r  rh   rU   r¹  s          r7   Útest_to_pandasz%TestConvertStructTypes.test_to_pandas±
  sÀ   € Ü�x‰xš¬2¯8©8«:Ô6ˆÜ�x‰xÒ(¬r¯y©y«{Ô;ˆÜ—‘Ò,´2·8±8³:Ô>ˆÜ�n‰n×(Ñ(Ø�4˜ÐÚ%ó'ˆô —9‘9Ø 3°Ñ6Ø ¨uÑ5Ø ¨dÑ3ð
ó ˆô —‘˜3Ÿ=™=›?Ó+ˆÜ
×Ñ˜v xÕ0rj   c                 óœ  — t        j                  «        t        j                  «       }t        j                  dgt        j
                  «       ¬«      }t        j                  dgt        j
                  «       ¬«      }t        j                  j                  |gdg«      }t        j                  j                  |gdg«      }t        j                  ||g«      }t        j                  ddiddig«      }t        j                  |j                  «       «      }t        j                  ||«       ~~~~~~t        j                  «       }	|	|k(  sJ ‚y )Nr   rq  r)   r<  )r„  r…  rE   r†  rb   r   r  rÝ   rš  r.   rc   rI   rR   rd   )
r„   r‡  Úints1Úints2r^  rœ  rh   rU   r¹  rˆ  s
             r7   Útest_to_pandas_multiple_chunksz5TestConvertStructTypes.test_to_pandas_multiple_chunksÂ
  s  € ä
�
‰
ŒÜ×.Ñ.Ó0ˆÜ—‘˜!˜¤2§8¡8£:Ô.ˆÜ—‘˜!˜¤2§8¡8£:Ô.ˆÜ�~‰~×)Ñ)¨5¨'°F°8Ó<ˆÜ�~‰~×)Ñ)¨5¨'°F°8Ó<ˆÜ×Ñ  d˜|Ó,ˆä—9‘9Ø�QˆKØ�QˆKð
ó ˆô
 —‘˜3Ÿ=™=›?Ó+ˆÜ
×Ñ˜v xÔ0àØØØØØÜ×,Ñ,Ó.ˆ	Ø˜KÒ'Ð'Ñ'rj   c                 óN  — t        j                  dt         j                  fdt         j                  fg«      }t	        j
                  t	        j                  dt	        j                  «       «      t	        j                  dt	        j                  «       «      g«      }t        j                  g |¬«      }t	        j                  ||¬«      }|j                  «       g k(  sJ ‚t        j                  ddg|¬«      }t	        j                  ||¬«      }|j                  «       dd	d
œddd
œgk(  sJ ‚t	        j                  |t        j                  dd	g«      |¬«      }|j                  «       dd	d
œd gk(  sJ ‚t        j                  g «      }t	        j
                  g «      }t        j                  g |¬«      }t	        j                  ||¬«      }|j                  «       g k(  sJ ‚t        j                  ddg|¬«      }t	        j                  ||¬«      }|j                  «       i i gk(  sJ ‚y )Nr6   )Úy_titlerH  rH  r   rq  )r  T)é+   Fr  T)r6   rH  r˜  Fr   r0  )	r0   r   r   rå  rE   rÙ  r‚   rb   rß  ©r„   r¯  r9  rŸ   rh   s        r7   Útest_from_numpyz&TestConvertStructTypes.test_from_numpyÝ
  s·  € Ü�X‰X˜œRŸX™X�Ø(¬"¯(©(Ð3ð5ó 6ˆä�Y‰YœŸ™ ¤b§h¡h£jÓ1ÜŸ™ ¤b§h¡h£jÓ1ð3ó 4ˆô �x‰x˜ "Ô%ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹ "Ò$Ð$Ð$ä�x‰x˜ [Ð1¸Ô<ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹¨°$Ñ#7Ø)+°%Ñ#8ð#:ò :ð 	:ð :ô �h‰h�t¤"§(¡(¨E°4¨=Ó"9ÀÔCˆØ�}‰}‹¨°$Ñ#7¸Ð">Ò>Ð>Ð>ô �X‰X�b‹\ˆÜ�Y‰Y�r‹]ˆä�x‰x˜ "Ô%ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹ "Ò$Ð$Ð$ä�x‰x˜˜R˜¨Ô+ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹ 2 r (Ò*Ð*Ñ*rj   c                 ó  — t        j                  dt        j                  dt         j                  fdt         j                  fg«      fdt         j                  fdt         j
                  fg«      }|j                  t        j                  dkD  rdndk(  sJ ‚t        j                  t        j                  dt        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      «      t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  g |¬	«      }t        j                  ||¬
«      }|j                  «       g k(  sJ ‚t        j                  ddg|¬	«      }t        j                  ||¬
«      }|j                  «       dddœdddœdddœdddœgk(  sJ ‚y )Nr6   ÚxxÚyyrH  Úzl        r  r·   r   rq  ))r   Tr)   rµ   ))r€   Fr—   rZ  r   T)rœ  r�  r)   rµ   )r6   rH  rž  r€   Fr—   rZ  )r0   r   r   rå  r   Úobject_ÚitemsizeÚsysÚmaxsizerE   rÙ  r‚   rŸ  rb   rß  r™  s        r7   Útest_from_numpy_nestedz-TestConvertStructTypes.test_from_numpy_nestedü
  s›  € ä�X‰X˜œRŸX™X¨¬b¯g©g Ø(,¬b¯h©hÐ'7ð'9ó :ð ;àœRŸX™X�ØœRŸZ™ZÐ(ð*ó +ˆð �{‰{¤S§[¡[°5Ò%8™r¸aÒ@Ð@Ð@Ü�Y‰YœŸ™ ¤b§i¡i´·±¸$ÄÇÁÃ	Ó1JÜ13·±¸$ÄÇÁÃ
Ó1Kð1Mó 'Nó OäŸ™ ¤b§h¡h£jÓ1ÜŸ™ ¤b§i¡i£kÓ2ð4ó 5ˆô
 �x‰x˜ "Ô%ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹ "Ò$Ð$Ð$ä�x‰xØ!Ø"ð$à+-ô/ˆô �h‰h�t "Ô%ˆØ�}‰}‹Ø $Ñ'¨a°eÑ<Ø %Ñ(¨q°uÑ=ð#?ò ?ð 	?ñ ?rj   c                 óŒ  ‡— d}t        j                  dt         j                  fdg«      }d|j                  z
  }d|z  }|||j                  z   z  }t        j                  ||¬«      }t         j
                  j                  |«      |d<   ||d<   t         j                  |d   |d   dk  <   t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  ||d	¬
«      }|j                  d	¬«       |j                  dk(  sJ ‚d„ Šdˆfd„	}	 |	||«       ~t         j
                  j                  |«      dk  }
t        j                  |||
d	¬«      }|j                  d	¬«       |j                  dk(  sJ ‚ |	|||
«       ~y )Nl        r6   )rH  r?   i   ó   .r   rH  r‹  TrF  r[  r)   c              3   óN   K  — | j                  «       D ]  }|E d {  –—†  Œ y 7 Œ­wrú  )Ú
iterchunks)rh   r7  s     r7   Úiter_chunked_arrayzHTestConvertStructTypes.test_from_numpy_large.<locals>.iter_chunked_array+  s(   è ø€ ØŸ™Ó)ò !�Ø × Ñ ñ!Ø ús   ‚%›#œ%c                 óZ  •— t        | «      t        |«      k(  sJ ‚|d   }|d   }t         ‰	| «      «      D ]Y  \  }}	 |j                  «       }|�	||   r|�:J ‚||   }t        j                  |«      r|d   �J ‚|d   |k(  sJ ‚|d   ||   k(  sJ ‚Œ[ y # t
        $ r t        d|«       ‚ w xY w)Nr6   rH  zFailed at index)r¾   Ú	enumeraterê  r0   r  Ú	ExceptionÚprint)
rh   rŸ   rl   ÚxsÚysÚir°  r  r6   r¨  s
            €r7   Úcheckz;TestConvertStructTypes.test_from_numpy_large.<locals>.check/  sÕ   ø€ Ü�s“8œs 4›yÒ(Ð(Ð(Ø�c‘ˆBØ�c‘ˆBÜ#Ñ$6°sÓ$;Ó<ò ‘��3ðØŸ	™	›�AØÐ'¨D°ªGØ ˜yÐ(˜yà˜q™E˜ÜŸ8™8 Aœ;Ø#$ S¡6 >Ð1 >à#$ S¡6¨Q¢;Ð. ;Ø  ™v¨¨A©šÐ.˜øñøô !ò ÜÐ+¨QÔ/Øðús   ½ABÂB*)r_   rl   rH   rú  )r0   r   r    r   rH  r2   Úrandom_samplerM   rE   rÙ  r‚   rL  rb   r^  rU  )r„   Útarget_sizer¯  ÚbsÚblockrI  rŸ   r9  rh   r°  rl   r¨  s              @r7   Útest_from_numpy_largez,TestConvertStructTypes.test_from_numpy_large  s~  ø€ ð "ˆÜ�X‰X˜œRŸZ™ZÐ(¨/Ð:Ó;ˆØ�R—[‘[Ñ ˆØ�r‘	ˆØ˜B §¡Ñ,Ñ-ˆÜ�x‰x˜ Ô$ˆÜ—I‘I×+Ñ+¨AÓ.ˆˆS‰	ØˆˆS‰	ä%'§V¡VˆˆS‰	�$�s‘)˜c‘/Ñ"ä�Y‰YœŸ™ ¤b§j¡j£lÓ3ÜŸ™ ¤b§i¡i£kÓ2ð4ó 5ˆä�h‰h�t "°$Ô7ˆØ�‰˜$ˆÔØ�~‰~ Ò"Ð"Ð"ò	!õ	ñ( 	ˆc�4ÔØô �y‰y×&Ñ& qÓ)¨CÑ/ˆÜ�h‰h�t "¨4¸TÔBˆØ�‰˜$ˆÔØ�~‰~ Ò"Ð"Ð"áˆc�4˜ÔÙrj   c                 ó¬  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  dt
        j                  fdt
        j                  fg«      }t        j                  g |¬«      }t        j                  t        d¬«      5  t        j                  ||¬«       d d d «       t        j                  g «      }t        j                  t        d¬«      5  t        j                  ||¬«       d d d «       y # 1 sw Y   ŒZxY w# 1 sw Y   y xY w)	Nr6   rH  rž  r   zMissing field 'y'r$  rq  zExpected struct array)rE   rÙ  r‚   r   rå  r0   r   rb   r‘   r<  r=  rÚ  )r„   r9  r¯  rŸ   s       r7   Útest_from_numpy_bad_inputz0TestConvertStructTypes.test_from_numpy_bad_inputO  sò   € Ü�Y‰YœŸ™ ¤b§h¡h£jÓ1ÜŸ™ ¤b§h¡h£jÓ1ð3ó 4ˆä�X‰X˜œRŸX™X�ØœRŸX™X�ð(ó )ˆô �x‰x˜ "Ô%ˆÜ�]‰]œ:Ø!4ô6ñ 	$ä�H‰H�T Õ#÷	$ô �x‰x˜‹|ˆÜ�]‰]œ9Ø!8ô:ñ 	$ä�H‰H�T Õ#÷	$ð 	$÷		$ð 	$ú÷	$ð 	$ús   ÃD>ÄE
Ä>EÅ
Ec                 ó’  — t        j                  dddgi«      }t        j                  ddddœdddœgi«      }t        j                  d	t        j                  «       fd
t        j                  «       fg«      }t        j                  |d   «      }t        ||d   |¬«       t        j                  d|fg«      }t        ||||¬«       y )NÚtuples)r   r)   ©r€   r—   r   r)   r7  r€   r—   r    rÌ   rä  )rU   r:   rV   )
r.   r/   rE   rÙ  r   r0   Úasarrayru   r:   r\   )r„   rT   ro  Ústruct_typerh   rV   s         r7   Útest_from_tuplesz'TestConvertStructTypes.test_from_tuples^  s»   € Ü�\‰\˜8 f¨fÐ%5Ð6Ó7ˆÜ—l‘lØ˜a aÑ(°¸Ñ*:Ð;Ð<ó>ˆô —i‘i #¤r§x¡x£zÐ!2°S¼"¿(¹(»*Ð4EÐ FÓGˆä�j‰j˜˜H™Ó&ˆÜØ˜+ hÑ/°kõ	Cô Ÿ)™) h°Ð%<Ð$=Ó>ˆÜØ˜¨_Ø+ö	-rj   c           	      ó8  — ddg}t        j                  g d¢«      j                  «       t        j                  g d¢«      j                  «       g}t         j                  j	                  ||¬«      }t        d„ |D «       Ž }|D �cg c]  }t        t        ||«      «      ‘Œ }}t        j                  |«      }t        j                  |j                  «       |«       |j                  g d¢«      }d |d<   t        j                  |j                  «       |«       y c c}w )	Nr<  r  )éÈ  i  r¿  )rµ   rµ   Nrã   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wrú  )rß  )Ú.0rE  s     r7   ú	<genexpr>zCTestConvertStructTypes.test_struct_of_dictionary.<locals>.<genexpr>v  s   è ø€ ÒG°U˜uŸ™×0ÑGùs   ‚)r   Nr)   r   )rE   rb   r•  r  rÝ   rÕ  rÔ  r.   rc   rR   rd   rI   rD  )r„   r¢   Úchildrenrh   Úrows_as_tuplesr\  Úrows_as_dictsrU   s           r7   Útest_struct_of_dictionaryz0TestConvertStructTypes.test_struct_of_dictionaryo  sá   € Ø˜Ð ˆÜ—H‘Hš_Ó-×?Ñ?ÓAÜ—H‘HÒ1Ó2×DÑDÓFðHˆä�n‰n×(Ñ(¨¸Ð(Ó?ˆô ÑG¸hÔGÐHˆØ:HÖI°3œœc %¨›oÕ.ÐIˆÐIä—9‘9˜]Ó+ˆÜ
×Ñ˜sŸ}™}›°Ô9ð �h‰h’|Ó$ˆØˆ�‰Ü
×Ñ˜sŸ}™}›°Õ9ùò Js   ÂDN)r¶  r·  r¸  r¹  r�  r‘  r•  rš  r£  r‘   rº  Úslowrª  rµ  r·  r½  rÆ  r0  rj   r7   r�  r�  Ÿ
  sa   „ ñòIò1ò"(ò6+ò>?ð4 ‡[�[×ÑØ‡[�[×Ññ5ó ó ð5òn$ò-ó":rj   r�  c                   óX   — e 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y)ÚTestZeroCopyConversionz@
    Tests that zero-copy conversion works with some types.
    c                 ó‚   — t        j                  g d¢«      j                  d¬«      }t        j                  |g d¢«       y )Nr™   Trq  rw   )r„   rZ   s     r7   Útest_zero_copy_successz-TestZeroCopyConversion.test_zero_copy_success‡  s.   € Ü—‘š)Ó$×.Ñ.¸dÐ.ÓCˆÜ×Ñ˜v¢yÕ1rj   c                 óh  — t         j                  j                  t        j                  ddg«      t        j                  dgd¬«      «      }|j                  d¬«      }t        j                  ddg«      }t        j                  t        j                  |«      t        j                  |«      d¬«       y )	Nr   r˜   r   r   Trq  Frm   )rE   rC  rÝ   r0   rb   rI   r.   rƒ  rR   rd   rc   )r„   rh   rZ   rs   s       r7   Útest_zero_copy_dictionariesz2TestZeroCopyConversion.test_zero_copy_dictionaries‹  sƒ   € Ü× Ñ ×,Ñ,Ü�H‰H�a˜�VÓÜ�H‰H�a�S Ô(ó
ˆð
 —‘¨d�Ó3ˆÜ—‘  A Ó'ˆä
×ÑœrŸy™y¨Ó0´"·)±)¸FÓ2CØ+0ö	2rj   c                 óª   — t        j                  dgd¬«      }t        j                  |«      j                  d¬«      }t	        j
                  ||«       y )Nr  r&   r   Trq  ©r0   rb   rE   rI   rx   ry   ©r„   rh   rZ   s      r7   Útest_zero_copy_timestampz/TestZeroCopyConversion.test_zero_copy_timestamp—  s@   € Ü�h‰h˜�~Ð-=Ô>ˆÜ—‘˜#“×(Ñ(¸Ð(Ó=ˆÜ×Ñ˜v sÕ+rj   c                 óª   — t        j                  dgd¬«      }t        j                  |«      j                  d¬«      }t	        j
                  ||«       y )Nr   r(   r   Trq  rÏ  rÐ  s      r7   Útest_zero_copy_durationz.TestZeroCopyConversion.test_zero_copy_durationœ  s@   € Ü�h‰h˜�sÐ"3Ô4ˆÜ—‘˜#“×(Ñ(¸Ð(Ó=ˆÜ×Ñ˜v sÕ+rj   c                 ó˜   — t        j                  t        j                  «      5  |j	                  d¬«       d d d «       y # 1 sw Y   y xY w)NTrq  )r‘   r<  rE   re  rI   ©r„   rh   s     r7   Úcheck_zero_copy_failurez.TestZeroCopyConversion.check_zero_copy_failure¡  s5   € Ü�]‰]œ2Ÿ?™?Ó+ñ 	/Ø�M‰M¨ˆMÔ.÷	/÷ 	/ñ 	/ús   ¤A Á A	c                 óP   — | j                  t        j                  g d¢«      «       y )N)rû   ÚBÚC©rÖ  rE   rb   r¤  s    r7   Ú&test_zero_copy_failure_on_object_typesz=TestZeroCopyConversion.test_zero_copy_failure_on_object_types¥  s   € Ø×$Ñ$¤R§X¡XªoÓ%>Õ?rj   c                 óP   — | j                  t        j                  g d¢«      «       y )N)r   r   NrÚ  r¤  s    r7   Ú*test_zero_copy_failure_with_int_when_nullszATestZeroCopyConversion.test_zero_copy_failure_with_int_when_nulls¨  s   € Ø×$Ñ$¤R§X¡XªlÓ%;Õ<rj   c                 óP   — | j                  t        j                  g d¢«      «       y )N)rã  rˆ   NrÚ  r¤  s    r7   Ú,test_zero_copy_failure_with_float_when_nullszCTestZeroCopyConversion.test_zero_copy_failure_with_float_when_nulls«  s   € Ø×$Ñ$¤R§X¡XÒ.>Ó%?Õ@rj   c                 óP   — | j                  t        j                  ddg«      «       y )NTFrÚ  r¤  s    r7   Ú$test_zero_copy_failure_on_bool_typesz;TestZeroCopyConversion.test_zero_copy_failure_on_bool_types®  s   € Ø×$Ñ$¤R§X¡X¨t°U¨mÓ%<Õ=rj   c                 óª   — t        j                  ddgddggt        j                  t        j                  «       «      ¬«      }| j	                  |«       y )Nr   r)   r·   rã  rq  )rE   rb   rs  r   rÖ  rÕ  s     r7   Ú$test_zero_copy_failure_on_list_typesz;TestZeroCopyConversion.test_zero_copy_failure_on_list_types±  s<   € Ü�h‰h˜˜A˜  A Ð'¬b¯h©h´r·x±x³zÓ.BÔCˆØ×$Ñ$ SÕ)rj   c                 ó~   — t        j                  dd gd¬«      }| j                  t        j                  |«      «       y )Nr   r&   r   ©r0   rb   rÖ  rE   rÕ  s     r7   Ú.test_zero_copy_failure_on_timestamp_with_nullszETestZeroCopyConversion.test_zero_copy_failure_on_timestamp_with_nullsµ  s-   € Ü�h‰h˜˜4�yÐ(8Ô9ˆØ×$Ñ$¤R§X¡X¨c£]Õ3rj   c                 ó~   — t        j                  dd gd¬«      }| j                  t        j                  |«      «       y )Nr   r(   r   rå  rÕ  s     r7   Ú-test_zero_copy_failure_on_duration_with_nullszDTestZeroCopyConversion.test_zero_copy_failure_on_duration_with_nulls¹  s-   € Ü�h‰h˜˜4�yÐ(9Ô:ˆØ×$Ñ$¤R§X¡X¨c£]Õ3rj   N)r¶  r·  r¸  r¹  rË  rÍ  rÑ  rÓ  rÖ  rÛ  rÝ  rß  rá  rã  ræ  rè  r0  rj   r7   rÉ  rÉ  ‚  sE   „ ñò2ò
2ò,ò
,ò
/ò@ò=òAò>ò*ò4ó4rj   rÉ  c                  óN   — t        «       } t        | d¬«       t        | dd¬«       y )NFr=   T©r>   rW   ©r8   r\   ©rT   s    r7   Ú_non_threaded_conversionrí  ¾  s    € Ü	Ó	€BÜ˜B¨EÕ2Ü˜B¨E¸DÖArj   c                  óN   — t        «       } t        | d¬«       t        | dd¬«       y )NTr=   rê  rë  rì  s    r7   Ú_threaded_conversionrï  Ä  s    € Ü	Ó	€BÜ˜B¨DÕ1Ü˜B¨D¸4Ö@rj   c                   ó2  — e Zd ZdZd ej
                  «       fd ej                  «       fd ej                  «       fd ej                  «       fd ej                  «       fd ej                  «       fd ej                  «       fd	 ej                  «       fd
 ej                  «       fd ej                  «       fd ej                  «       fd ej                   «       fd ej"                  «       fd ej"                  d«      fd ej$                   ej                  «       «      fgZd„ Zd„ Zd„ Zd„ Zej2                  j4                  ej2                  j6                  d„ «       «       Zd„ Zd„ Zd„ Zd„ Z ej2                  jC                  ddg d¢iejD                  fdg d¢iejD                  fdddgiejD                  fdddgiejF                  fdddgiejF                  fdddgiejF                  fg«      d„ «       Z$d„ Z%d „ Z&d!„ Z'd"„ Z(d#„ Z)d$„ Z*d%„ Z+d&„ Z,d'„ Z-y())ÚTestConvertMiscz)
    Miscellaneous conversion tests.
    r   r   r   r   r   r   r   r   rÈ  r   r    r?   rÑ  c                 óL   — t        j                  dg d¢i«      }t        |«       y )Nr    ©NNNrõ   r£   s     r7   Útest_all_none_objectsz%TestConvertMisc.test_all_none_objectsã  s   € Ü�\‰\˜3Ò 2Ð3Ó4ˆÜ Õ#rj   c                 óz   — t        j                  dg d¢i«      }|d   j                  d«      |d<   t        |«       y )Nr    ró  r  )r.   r/   r8  r\   r£   s     r7   Útest_all_none_categoryz&TestConvertMisc.test_all_none_categoryç  s4   € Ü�\‰\˜3Ò 2Ð3Ó4ˆØ�S‘'—.‘. Ó,ˆˆ3‰Ü Õ#rj   c                 óš   — | j                   D ]<  \  }}t        j                  g t        j                  |«      ¬«      }t	        ||¬«       Œ> y )Nr   rq  )Ú
type_pairsr0   rb   r   ru   )r„   Ú	dtype_strÚpa_typerh   s       r7   Útest_empty_arraysz!TestConvertMisc.test_empty_arraysì  s=   € Ø"&§/¡/ò 	6ÑˆI�wÜ—(‘(˜2¤R§X¡X¨iÓ%8Ô9ˆCÜ" 3¨WÖ5ñ	6rj   c                 ó   — t        «        y rú  )rí  r¤  s    r7   Útest_non_threaded_conversionz,TestConvertMisc.test_non_threaded_conversionñ  s   € Ü Õ"rj   c                 óä   — t        j                  d«      }	 |j                  t        «       |j	                  «        |j                  «        y # |j	                  «        |j                  «        w xY w)Nr)   )ÚmpÚPoolÚapplyrï  ÚcloseÚjoin)r„   Úpools     r7   Ú%test_threaded_conversion_multiprocessz5TestConvertMisc.test_threaded_conversion_multiprocessô  sK   € ô �w‰w�q‹zˆð	Ø�J‰JÔ+Ô,à�J‰JŒLØ�I‰I�Køð �J‰JŒLØ�I‰I�Kús   —A Á"A/c                 óô  — d}dd ddt         j                  g}g d¢}dd ddt         j                  g}t        j                  ||z  «      t        j                  ||z  ddg¬	«      t        j                  ||z  «      t        j                  ||z  «      t        j                  ||z  g d
¢d¬«      ||z  ||z  ||z  ||z  ||z  dœ
}t        j                  |«      }t        |«       |D ]  }t        ||   «       Œ y )Nr˜   rµ   rZ  rG  )r—   r˜   r®   r¼   r·   rH  ra  rJ  r‰  )rZ  rG  rµ   T©rŠ  r  )
Úcat_stringsÚcat_strings_with_naÚcat_intsÚ
cat_binaryÚcat_strings_orderedr<  r”  rB  Ústrings2Ústrings3)r0   rM   r.   rƒ  r/   r\   ru   )r„   rD  rV  rW  Úv3r¡  rT   r]  s           r7   Útest_categoryzTestConvertMisc.test_categoryÿ  sø   € ØˆØ�T˜5 %¬¯©Ð0ˆÚˆØ�d˜F F¬B¯F©FÐ3ˆô Ÿ>™>¨"¨w©,Ó7Ü#%§>¡>°"°w±,Ø>CÀU¸^ô$MäŸ™ r¨G¡|Ó4ÜŸ.™.¨¨g©Ó6Ü#%§>¡>Ø�W‘Ò)>Øô$ð ˜‘LØ˜'‘\Ø˜G‘|Ø˜W™Ø˜W™ñ&ˆô �\‰\˜&Ó!ˆÜ Ô#àò 	.ˆAÜ" 6¨!¡9Õ-ñ	.rj   c                 ó–   — d„ }t        j                  g d¢ddg¬«      t        j                  g d¢ddgd¬«      g}|D ]
  } ||«       Œ y )Nc                 óÆ   — t        j                  | «      }|j                  «       }t        j                  t        j                  |«      t        j                  | «      «       y rú  )rE   rb   rI   rR   rd   r.   rc   )rù  rh   rZ   s      r7   Ú_checkzBTestConvertMisc.test_category_implicit_from_pandas.<locals>._check  s;   € Ü—(‘(˜1“+ˆCØ—]‘]“_ˆFÜ×"Ñ"¤2§9¡9¨VÓ#4´b·i±iÀ³lÕCrj   r‡  r    rÌ   r‰  Tr  )r.   rƒ  )r„   r  r¡  rh   s       r7   Ú"test_category_implicit_from_pandasz2TestConvertMisc.test_category_implicit_from_pandas  sR   € ò	Dô �N‰Nš?¸¸S°zÔBÜ�N‰Nš?¸¸S°zØ#'ô)ð
ˆð
 ò 	ˆCÙ�3�Kñ	rj   c                 ón   — t        j                  dt        j                  g «      i«      }t        |«       y )NÚcat)r.   r/   rƒ  r\   r£   s     r7   Útest_empty_categoryz#TestConvertMisc.test_empty_category(  s&   € ä�\‰\˜5¤"§.¡.°Ó"4Ð5Ó6ˆÜ Õ#rj   c                 ó€  — t        j                  «       dft        j                  «       dffD �]  \  }}t        j                  g t        j                  t        j
                  «       |«      «      }|j                  «       }t        j                  g t        j                  g |¬«      ¬«      }t        j                  t        j                  |«      t        j                  |«      «       t        j                  d|i«      }|j                  «       }t        j                  d|i«      }t        j                   ||«       �Œ y )Nr?   r   r   r‰  r    )rE   rŸ  r   rš  Ú
dictionaryr   rI   r.   rƒ  r0   rb   rR   rd   rc   rY   r/   rS   )r„   rú  r   r    rZ   rU   rY   s          r7   Útest_category_zero_chunksz)TestConvertMisc.test_category_zero_chunks-  sÛ   € ä "§	¡	£¨XÐ6¼¿¹»ÀWÐ8MÐNó 		4‰NˆG�UÜ× Ñ  ¤R§]¡]´2·7±7³9¸gÓ%FÓGˆAØ—[‘[“]ˆFÜ—~‘~ b´R·X±X¸bÈÔ5NÔOˆHÜ×"Ñ"¤2§9¡9¨VÓ#4´b·i±iÀÓ6IÔJä—H‘H˜c 1˜XÓ&ˆEØ—_‘_Ó&ˆFÜ—|‘| S¨( OÓ4ˆHÜ×!Ñ! &¨(Ö3ñ		4rj   zdata,error_typer    )r    r   r‰   r   Trˆ   c                 óÈ   — t        j                  |«      }d}t        j                  ||¬«      5  t        j
                  j                  |«       d d d «       y # 1 sw Y   y xY w)Nú/Conversion failed for column a with type objectr$  )r.   r/   r‘   r<  rE   rG   rH   )r„   rŸ   Ú
error_typerT   r  s        r7   Útest_mixed_types_failsz&TestConvertMisc.test_mixed_types_fails:  sL   € ô �\‰\˜$ÓˆØ?ˆÜ�]‰]˜:¨SÔ1ñ 	%Ü�H‰H× Ñ  Ô$÷	%÷ 	%ñ 	%ús   ¯ AÁA!c           
      ó2  — g }g d¢}d\  }}t         j                  j                  ||«      j                  «       dz  }g d¢}|D ]T  }t	        j
                  «       5  t	        j                  d«       |j                  |j                  |«      «       d d d «       ŒV |j                  t        j                  t        ||z  «      D �cg c]  }t        d«      ‘Œ c}t        ¬«      j                  ||«      j                  «       «       t        j                  g d¢|z  t        ¬«      j                  ||«      j                  «       }	d |	d	<   |j                  |	«       |j                  t        j                  d
||z  d¬«      j                  ||«      j                  «       «       |dkD  j                  t        «      d d …df   }
|D ]A  }t!        j"                  ||¬«      }|d   }t%        |«       t'        |«       t'        ||
¬«       ŒC y # 1 sw Y   �ŒÎxY wc c}w )Nr‡  )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   r2   r3   rr   rN   rO   rÑ   rÉ  r8  rb   r4   r   r?   Úreshaper1   r!   r.   r/   r\   ru   )r„   ÚcasesrK   ÚNÚKÚrandom_numbersÚnumeric_dtypesÚ	type_namer¯  Úboolean_objectsÚstrided_maskÚcaserT   r[   s                 r7   Útest_strided_data_importz(TestConvertMisc.test_strided_data_importK  sÀ  € Øˆâ!ˆØ‰ˆˆ1ÜŸ™Ÿ™¨¨AÓ.×3Ñ3Ó5¸Ñ;ˆò&ˆð (ò 	?ˆIä×(Ñ(Ó*ñ ?Ü×%Ñ% hÔ/Ø—‘˜^×2Ñ2°9Ó=Ô>÷?ð ?ð	?ð 	�‰”R—X‘X¼¸qÀ1¹u»ÖF°Aœ|¨BÕ/ÒFÜ$*ô,ç‘g˜a “m§D¡D£Fô	,ô
 Ÿ8™8Ò$7¸!Ñ$;Ä6ÔJß#™G A q›M¯$©$«&ð 	ð "ˆ˜ÑØ�‰�_Ô%à�‰”R—Y‘YÐ8¸!¸a¹%Ø%5ô7ç‘g˜a “m§D¡D£Fô	,ð '¨Ñ*×2Ñ2´4Ó8º¸A¸Ñ>ˆàò 	;ˆDÜ—‘˜d¨GÔ4ˆBØ�S‘'ˆCä# BÔ'Ü" 3Ô'Ü" 3¨\Ö:ñ	;÷/?ñ ?üò
 Gs   Á6HÃHÈH	c                 ó  — d„ } |t        j                  d gdz  t        ¬«      «        |t        j                  t        j                  gdz  t        ¬«      «        |t        j                  d t        j                  d gt        ¬«      «       y )Nc                 óÞ   — t        j                  | «      }t        |t         j                  «      sJ ‚t	        |«      dk(  sJ ‚|j
                  dk(  sJ ‚|D ]  }|t         j                  u rŒJ ‚ y )Nr€   )rE   rb   r¿   Ú	NullArrayr¾   rp   rá  )re   r   Úitems      r7   Ú_check_seriesz5TestConvertMisc.test_all_nones.<locals>._check_seriesw  sh   € ÜŸ™ ›ˆIÜ˜i¬¯©Ô6Ð6Ð6Ü�y“> QÒ&Ð&Ð&Ø×'Ñ'¨1Ò,Ð,Ð,Ø!ò %�ØœrŸu™u’}Ð$�}ñ%rj   r€   r   )r.   rc   r?   r0   rM   )r„   r/  s     r7   Útest_all_noneszTestConvertMisc.test_all_nonesv  s]   € ò	%ñ 	”b—i‘i  ¨¡
´&Ô9Ô:Ù”b—i‘i¤§¡ ¨1¡´FÔ;Ô<Ù”b—i‘i ¤r§v¡v¨tÐ 4¼FÔCÕDrj   c                 ó–  — t        dg d¢fdt        j                  g d¢t        j                  ¬«      fdg d¢fg«      }t	        j
                  |«      }t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        |||ddg   |¬«       y )Nr    )r   r   r)   r€   r—   rÌ   )iöÿÿÿéûÿÿÿr   r˜   rÑ  r   rÛ   )r:   rU   rV   )r   r0   rb   r   r.   r/   rE   r:   r‚   r   r\   )r„   rŸ   rT   Úpartial_schemas       r7   Útest_partial_schemaz#TestConvertMisc.test_partial_schemaƒ  s¢   € ÜØ’/Ð"Ø”"—(‘(Ò.´b·h±hÔ?Ð@ØÒ%Ð&ð
ó ˆô
 �\‰\˜$ÓˆäŸ™Ü�H‰H�Sœ"Ÿ(™(›*Ó%Ü�H‰H�Sœ"Ÿ(™(›*Ó%ð$
ó ˆô
 	  ¨>Ø)+¨S°#¨J©Ø0>ö	@rj   c                 óX  — t        j                  i «      }t        |d ¬«       t        |d d¬«       t        j                  t        j                  g «      ¬«      }t        ||d¬«       t        ||dd¬«       t        j                  i g d¢¬«      }t        |d¬«       t        |dd¬«       y )	Nr¡   T)r;   rW   rš   Fr™   rº   )rW   r;   )r.   r/   r\   ré   )r„   rT   rU   rÂ   s       r7   Ú test_table_batch_empty_dataframez0TestConvertMisc.test_table_batch_empty_dataframe”  s|   € Ü�\‰\˜"ÓˆÜ °4Õ8Ü °4À$ÕGä—<‘<¬¯©°«Ô5ˆÜ  H¸UÕCÜ  H¸UÈTÕRä�l‰l˜2¢YÔ/ˆÜ °DÕ9Ü ¨dÀ4ÖHrj   c           
      óª  — t        j                  g t        j                  «       ¬«      }t        j                  t        j                  g t        ¬«      «      }t        j                  |j                  «       t        j                  t        j                  g t
        j                  ¬«      «      «       t        j                  g t        j                  «       ¬«      }t        j                  |j                  «       |«       t        j                  g t        j                  t        j                  «       «      ¬«      }t        j                  |j                  «       |«       t        j                  g t        j                  t        j                  dt        j                  «       «      g«      ¬«      }t        j                  |j                  «       |«       y )Nrq  r   r    )rE   rb   r   r.   rc   r0   r?   rR   rd   rI   rŸ  rs  rÙ  r‚   )r„   rh   Úempty_objectss      r7   Útest_convert_empty_tablez(TestConvertMisc.test_convert_empty_table¡  s  € Ü�h‰h�r¤§¡£
Ô+ˆÜŸ	™	¤"§(¡(¨2´VÔ"<Ó=ˆÜ
×Ñ˜sŸ}™}›Ü!Ÿy™y¬¯©°"¼B¿H¹HÔ)EÓFô	Hä�h‰h�r¤§	¡	£Ô,ˆÜ
×Ñ˜sŸ}™}›°Ô>Ü�h‰h�r¤§¡¬¯©«Ó 4Ô5ˆÜ
×Ñ˜sŸ}™}›°Ô>Ü�h‰h�r¤§	¡	¬2¯8©8°C¼¿¹»Ó+DÐ*EÓ FÔGˆÜ
×Ñ˜sŸ}™}›°Õ>rj   c                 óÒ  — t        j                  dt         j                  fdt         j                  fg«      }t        j                  ddg|¬«      }|j
                  dk(  sJ ‚t        j                  |d   t        j                  «       ¬«      }|j                  «       dd	gk(  sJ ‚t        j                  |d   t        j                  «       ¬«      }|j                  «       d
dgk(  sJ ‚y)zt
        ARROW-2172: converting from a Numpy array with a stride that's
        not a multiple of itemsize.
        r6   rH  )r  r@  )éÕÿÿÿr)   r   )r®   rq  r  r;  r@  r)   N)r0   r   r   r   rb   rõ  rE   rß  )r„   r   rŸ   rh   s       r7   Útest_non_natural_stridez'TestConvertMisc.test_non_natural_stride­  s²   € ô
 —‘˜3¤§¡˜/¨C´·±¨?Ð;Ó<ˆÜ�x‰x˜ 8Ð,°EÔ:ˆØ�|‰|˜tÒ#Ð#Ð#Ü�h‰h�t˜C‘y¤r§x¡x£zÔ2ˆØ�}‰}‹ 2 s )Ò+Ð+Ð+Ü�h‰h�t˜C‘y¤r§x¡x£zÔ2ˆØ�}‰}‹ 2 q 'Ò)Ð)Ñ)rj   c                 ó&  — t        j                  ddt         j                  ¬«      ddd…   }t        j                  |t        j
                  «       ¬«      }t        j                  g d¢t        j
                  «       ¬«      }|j                  |«       y )	Nr   rÑ  r   r   r@  r)   rq  )rˆ   rŠ   rŒ   g      @)r0   r1   r   rE   rb   r    rJ   )r„   r	  Úpa_arrrU   s       r7   Ú#test_array_from_strided_numpy_arrayz3TestConvertMisc.test_array_from_strided_numpy_arrayº  s\   € ä—‘˜1˜b¬¯
©
Ô3°A°b¸°FÑ;ˆÜ—‘˜&¤r§z¡z£|Ô4ˆÜ—8‘8Ò0´r·z±z³|ÔDˆØ�‰�hÕrj   c                 ó|  — t        j                  t        d«      t        j                  ddd«      dœ«      }t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  t        «      5  t
        j                  j                  ||¬«       d d d «       t
        j                  j                  ||d	¬
«      }|j                  d«      j                   t        j                  «       k(  sJ ‚y # 1 sw Y   Œ^xY w)NÚabcr   r   r€   )rû   rØ  rû   rØ  rr  FrÝ  )r.   r/   r  r0   ÚlinspacerE   r:   r‚   rŸ  r   r‘   r<  r=  rG   rH   r  r_   rà  s       r7   Útest_safe_unsafe_castsz&TestConvertMisc.test_safe_unsafe_castsÁ  sã   € ä�\‰\Ü�e“Ü—‘˜Q  1Ó%ñ
ó ˆô
 —‘Ü�H‰H�Sœ"Ÿ)™)›+Ó&Ü�H‰H�Sœ"Ÿ(™(›*Ó%ð
ó ˆô
 �]‰]œ:Ó&ñ 	4Ü�H‰H× Ñ  ¨FÐ Ô3÷	4ô —‘×$Ñ$ R°¸UÐ$ÓCˆØ�|‰|˜CÓ ×%Ñ%¬¯©«Ò3Ð3Ñ3÷		4ð 	4ús   Â3"D2Ä2D;c           	      óÂ  — 	 t        j                  dt         j                  j                  dt        j
                  dg«      i«      }t        j                  t        d¬«      5  t        j                  j                  |«       d d d «       y # t        $ r> t        j                  dt        j                  dt        j
                  dg«      i«      }Y ŒŠw xY w# 1 sw Y   y xY w)Nr    r   r€   zSparse pandas datar$  )r.   r/   r¡  ÚSparseArrayr0   rM   ÚAttributeErrorr‘   r<  rÚ  rE   rG   rH   r£   s     r7   Útest_error_sparsez!TestConvertMisc.test_error_sparseÓ  sª   € ð	EÜ—‘˜s¤B§I¡I×$9Ñ$9¸1¼b¿f¹fÀa¸.Ó$IÐJÓKˆBô �]‰]œ9Ð,@ÔAñ 	%Ü�H‰H× Ñ  Ô$÷	%ð 	%øô ò 	Eä—‘˜s¤B§N¡N°A´r·v±v¸q°>Ó$BÐCÓDŠBð	Eú÷	%ð 	%ús   ‚AB Á" CÂACÃCÃCN).r¶  r·  r¸  r¹  rE   r   r   r   r   r   r   r   r   rÈ  r   r    rŸ  rL  rs  rø  rô  rö  rû  rý  r‘   rº  Ú	processesÚ	threadingr  r  r  r  r  r»  r&  re  r  r*  r0  r4  r6  r9  r<  r?  rC  rG  r0  rj   r7   rñ  rñ  Ê  s>  „ ñð
 
��—‘“ÐØ	�(�"—(‘(“*ÐØ	�(�"—(‘(“*ÐØ	�(�"—(‘(“*ÐØ	�(�"—(‘(“*ÐØ	�9�2—9‘9“;ÐØ	�9�2—9‘9“;ÐØ	�9�2—9‘9“;ÐØ	�J�B—J‘J“LÐ!Ø	�J�B—J‘J“LÐ!Ø	�J�B—J‘J“LÐ!ð 
�9�2—9‘9“;ÐØ	�9�2—9‘9“;ÐØ	�9�2—9‘9˜R“=Ð!Ø	�8�2—8‘8˜H˜BŸH™H›JÓ'Ð(ð#€Jò($ò$ò
6ò
#ð ‡[�[×ÑØ‡[�[×Ññó ó ðò.ò4ò$ò
4ð ‡[�[×ÑØà’=Ð! 2×#4Ñ#4Ð5Ø’=Ð! 2×#4Ñ#4Ð5Ø�A�t�9Ð˜r×0Ñ0Ð1Ø�D˜#�;Ð §¡Ð1Ø�A�s�8ˆ_˜bŸo™oÐ.Ø�C˜�:Ð §¡Ð0ð	
ó
ñ%ó
ð%ò);òVEò@ò"Iò
?ò*ò ò4ó$%rj   rñ  c                  ó  — t        j                  g d¢«      } t        j                  j	                  | t        j
                  «       d¬«      }t        j                  g d¢t        j
                  «       ¬«      }|j                  |«      sJ ‚y )N)r   r)   Nr—   T©r_   rB  rq  )r.   rc   rE   r›  rH   r   rb   rJ   )rs   rh   rU   s      r7   Ú*test_safe_cast_from_float_with_nans_to_intrL  Þ  sY   € Ü�Y‰Y’Ó'€FÜ
�(‰(×
Ñ
˜v¬B¯H©H«J¸TÐ
Ó
B€CÜ�x‰xš¬b¯h©h«jÔ9€HØ�:‰:�hÔÐÑrj   c                  óL  — t         j                  j                  t        j                  dd¬«      j	                  d«      t        j                  t        j                  ddgt        ¬«      d«      g«      } t        j                  dd¬«      }||j                  d	«      |j                  d
«      |d d d…   j                  d	«      j	                  d«      j                  d«      ddgdz  t        j                  ddgdz  «      j                  d«      j                  ddgdz  t
        j                  j                  d«      t
        j                  j                  ddd¬«      t        j                   ddd¬«      t        j"                  ddd¬«      dœ}t        j$                  || ¬«      S )Nr¦  r˜   )r©   r)   rµ   rZ  r   rÑ  rx  rg  r  TFr   rÆ  rÒ  Ú2013ÚM©r©   rª   r   )r,  rª   r©   )r   r   r)   r€   r—   r˜   r®   r¼   r·   rã  rÑ  rº   )r.   r±   rÝ   r«   Úrepeatr0   Útilerb   r?   r°  r8  rc   rs   r2   r3   rÓ  Úperiod_rangeÚinterval_ranger/   )r”   r�  rŸ   s      r7   Ú_fully_loaded_dataframe_examplerU  å  sM  € Ü�M‰M×%Ñ%Ü
�‰�l¨AÔ.×5Ñ5°aÓ8Ü
�‰”—‘˜% ˜¬vÔ6¸Ó:ð'ó €Eô
 
�‰�|¨RÔ	0€BàØ�>‰>˜%Ó Ø�>‰>˜,Ó'Ø‰c�ˆc‰7×Ñ˜uÓ%×,Ñ,¨QÓ/×6Ñ6°zÓBØ�5ˆ>˜AÑÜ�9‰9�e˜U�^ aÑ'Ó(×/Ñ/°
Ó;×BÑBØ�%ˆ=˜1ÑÜ�9‰9�?‰?˜2ÓÜ�9‰9×Ñ˜Q ¨"ÐÓ-Ü�?‰?˜6¨2°CÔ8Ü×Ñ A¨A°rÔ:ñ€Dô �<‰<˜ EÔ*Ð*rj   rK   rH  rµ   c                 ó2  — t        d«      t        t        j                  «      cxk  rt        d«      k  rn nt        j                  d«       t        j
                  | ¬«      }t        j                  j                  |«      }t        j                  j                  |j                  «       «      }|j                  |«      sJ ‚|j                  j                  |j                  «      sJ ‚|j                  j                  |j                  j                  k(  sJ ‚y )Nr(  rR  rS  rš   )r   r.   r1  r‘   rT  r/   rE   rG   rH   rI   rJ   r:   r  )rK   rT   Útable1Útable2s       r7   Ú!test_roundtrip_with_bytes_unicoderY  ü  sÀ   € äˆwÓœ7¤2§>¡>Ó2ÔE´W¸WÓ5EÕEô 	�‰Ð0Ô1ä	�‰˜gÔ	&€BÜ�X‰X×!Ñ! "Ó%€FÜ�X‰X×!Ñ! &×"2Ñ"2Ó"4Ó5€FØ�=‰=˜Ô Ð Ð Ø�=‰=×Ñ §¡Ô.Ð.Ð.Ø�=‰=×!Ñ! V§]¡]×%;Ñ%;Ò;Ð;Ñ;rj   c                 óZ   — | dz  }| dz  } | dz  }| dz  } | dz  }| dz  }t        ||||«      S )Nrò  r‚  )r   )Úvalr1  ÚsecondsÚminutesr�  s        r7   Ú_pytime_from_microsr^    sI   € Ø˜‘=€LØˆG�O€CØ�B‰h€GØˆB�J€CØ�B‰h€GØ�2‰I€EÜ��w ¨Ó6Ð6rj   c                 óz   — | j                   dz  | j                  dz  z   | j                  dz  z   | j                  z   S )Nl    $'- i ‡“rò  )ÚhourÚminuter–  rñ  )Úpytimes    r7   rô  rô    sE   € Ø�K‰K˜*Ñ$Ø�M‰M˜HÑ$ñ%à�M‰M˜GÑ#ñ$ð ×Ññð  rj   c                  ó   —  G d„ d«      } t        j                  d | «        | «       gi«      }d}t        j                  t        |¬«      5  t
        j                  j                  |«       d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd Zy)ú6test_convert_unsupported_type_error_message.<locals>.ANr“  r0  rj   r7   rû   re  !  s   „ Ørj   rû   r    r  r$  )r.   r/   r‘   r<  r=  rE   rG   rH   )rû   rT   r  s      r7   Ú+test_convert_unsupported_type_error_messagerf    sc   € ÷ñ ô 
�‰�s™Q›S¡!£#˜JÐ'Ó	(€Bà
;€CÜ	�‰”z¨Ô	-ñ !Ü
�‰×Ñ˜RÔ ÷!÷ !ñ !ús   Á A4Á4A=c                 óŽ   — | j                  «       }t        j                  || j                  d¬«      }|j	                  | «      sJ ‚y )NTrF  )rI   rE   rb   r_   rJ   )rh   re   rÉ   s      r7   Útest_array_to_pandas_roundtriprh  /  s5   € à�‰‹€AÜ�x‰x˜ §¡°dÔ;€HØ�?‰?˜3ÔÐÑrj   c                 óX   — t        | «      D �cg c]  }t        d«      ‘Œ }}||z  S c c}w )NrÑ  )r4   r   )ÚnuniquerD  r¯  Úunique_valuess       r7   Ú_generate_dedup_examplerl  :  s-   € Ü(-¨g«Ö7 1”U˜2•YÐ7€MÐ7Ø˜7Ñ"Ð"ùò 8s   Ž'c                 ó\   — t        | D �ch c]  }t        |«      ’Œ c}«      |k(  sJ ‚y c c}w rú  )r¾   r­  )r°  rU   r6   s      r7   Ú_assert_nuniquern  ?  s'   € Ü˜sÖ#˜!”�1•Ò#Ó$¨Ò0Ð0Ñ0ùÒ#s   Š)c                  óÎ  — t        j                  «       rt        j                  d«       d} d}t	        | |«      }t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      t        j                  ||g«      fD ]A  }t        |j                  «       | «       t        |j                  d¬«      t        |«      «       ŒC y )NúDpandas uses string dtype and not object dtype, keyword has no effectrÆ  rÑ  rq  F©Údeduplicate_objects)r   r  r‘   rT  rl  rE   rb   rL  r%  rš  rn  rI   r¾   )rj  rD  rs   rh   s       r7   Ú.test_to_pandas_deduplicate_strings_array_typesrs  C  s®   € Ü×$Ñ$Ô&Ü�‰ØRô	
ð €GØ€GÜ$ W¨gÓ6€Fä—‘˜¤b§i¡i£kÔ2Ü—‘˜¤b§g¡g£iÔ0Ü× Ñ  &¨&Ð!1Ó2ð4ò Lˆô 	˜Ÿ™›¨Ô1Ü˜Ÿ™¸%˜Ó@Ä#ÀcÃ(ÕKñ	Lrj   c                  óÀ  — t        j                  «       rt        j                  d«       d} d}t	        | |«      }t        j                  |«      }t
        j                  j                  |gdg«      }t
        j                  j                  |g«      }||fD ]G  }t        |j                  «       d   | «       t        |j                  d¬«      d   t        |«      «       ŒI y )Nrp  rÆ  rÑ  rµ   Frq  )r   r  r‘   rT  rl  rE   rb   rF   rÝ   rG   rD  rn  rI   r¾   )rj  rD  rs   rh   r¢  r£  r°  s          r7   Ú.test_to_pandas_deduplicate_strings_table_typesru  S  s¼   € Ü×$Ñ$Ô&Ü�‰ØRô	
ð €GØ€GÜ$ W¨gÓ6€Fä
�(‰(�6Ó
€CÜ	�‰×	#Ñ	# S E¨E¨7Ó	3€BÜ
�(‰(×
Ñ
  Ó
%€Cà�Cˆyò "ˆÜ˜Ÿ™›¨Ñ.°Ô8Ü˜Ÿ™¸%˜Ó@ÀÑGÜ˜C›õ	"ñ"rj   c                  ó&  — d} d}t        t        j                  j                  dd| ¬«      «      }d || dz  <   t	        j
                  ||z  «      }t        |j                  d¬«      | «       t        |j                  dd	¬
«      | dz
  |z  dz   «       y )NrÆ  rÑ  i€–˜ i Êš;rÒ  r)   TrM  F)rN  rr  r   )r  r0   r2   rÓ  rE   rb   rn  rI   )rj  rD  rk  rh   s       r7   Ú.test_to_pandas_deduplicate_integers_as_objectsrw  f  s”   € Ø€GØ€Gô œŸ™×*Ñ*¨8°ZÀgÐ*ÓNÓO€MØ"&€M�'˜Q‘,Ñä
�(‰(�= 7Ñ*Ó
+€Cä�C—M‘M°t�MÓ<¸gÔFÜ�C—M‘M°tØ6;ð "ó =ð ˜q‘[ GÑ+¨aÑ/õ1rj   c                  óR  — d} d}t        t        | «      «      }ddddifddddifdd	i fdd
i fg}|D ]t  \  }}}t        j                  ||z  |¬«      }|j	                  |«      }t         |j                  di |¤Ž| «       t         |j                  dddi|¤Žt        |«      «       Œv y )NrÆ  rÑ  r   r™  r«  Tr   r¡  r   rÿ  rq  rr  Fr0  )r  r4   rE   rb   rl  rn  rI   r¾   )	rj  rD  rk  r!  Úraw_typeÚ
array_typeÚpandas_optionsÚraw_arrÚ
casted_arrs	            r7   Ú$test_to_pandas_deduplicate_date_timer~  w  sÞ   € Ø€GØ€Gäœ˜w›Ó(€Mð 
�(Ð-¨tÐ4Ð5Ø	�(Ð-¨tÐ4Ð5Ø	�, Ð#Ø	�, Ð#ð€Eð 16ò )Ñ,ˆ�*˜nÜ—(‘(˜=¨7Ñ2¸ÔBˆØ—\‘\ *Ó-ˆ
äÐ,˜
×,Ñ,Ñ>¨~Ñ>Øô	!äÐ,˜
×,Ñ,ñ ?Àð ?Ø/=ñ?ä˜J›õ	)ñ)rj   c                  óÆ  — t        j                  g d¢t        j                  ddgdœ«      } t	        j
                  t	        j                  dt	        j                  «       d¬«      t	        j                  dt	        j                  «       d¬«      g«      }t        j                  t        «      5  t        j                  j                  | |¬	«       d d d «       y # 1 sw Y   y xY w)
N)ç333333ó?gÍÌÌÌÌÌ @rþ   rŸ  rµ   r7  r    FrÛ  rÌ   rr  )r.   r/   r0   rM   rE   r:   r‚   r    r%  r‘   r<  r=  rG   rH   )rT   r:   s     r7   Ú/test_table_from_pandas_checks_field_nullabilityr�  ’  sŸ   € ä	�‰šOÜŸV™V X¨uÐ5ñ7ó 
8€Bä�Y‰YœŸ™ ¤b§j¡j£l¸UÔCÜŸ™ ¤b§g¡g£i¸%Ô@ðBó C€Fô 
�‰”zÓ	"ñ 0Ü
�‰×Ñ˜R¨ÐÔ/÷0÷ 0ñ 0ús   Â,"CÃC c            
      ó  — t        j                  t        dg d¢fdg d¢ddgd d gfdg d¢fg«      «      } | g d	¢   }t        j                  dt        j
                  «       fdt        j                  t        j
                  «       «      fdt        j                  «       fg«      }t        j                  dt        j                  «       fdt        j
                  «       fdt        j                  t        j
                  «       «      fg«      }t        j                  j                  | d
¬«      }t        j                  j                  |d
¬«      }|j                  j                  |«      sJ ‚|j                  j                  |«      sJ ‚y )NÚ	partition©r   r   r   r   r¡  r™   r€   r—   r/  ©NNrç   gffffff
@©r/  rƒ  r¡  Fr¡   )r.   r/   r   rE   r:   r   rs  r    rG   rH   rJ   )Údf1rÂ   Úschema1Úschema2rW  rX  s         r7   Ú6test_table_from_pandas_keeps_column_order_of_dataframerŠ  �  sA  € Ü
�,‰,”{Ø	’lÐ#Ø	’I  1˜v t¨TÐ2Ð3Ø	Ò)Ð*ð$ó ó €Cð
 Ò/Ñ
0€Cä�i‰iØ	”b—h‘h“jÐ!Ø	”2—8‘8œBŸH™H›JÓ'Ð(Ø	”2—:‘:“<Ð ðó €Gô
 �i‰iØ	”2—:‘:“<Ð Ø	”b—h‘h“jÐ!Ø	”2—8‘8œBŸH™H›JÓ'Ð(ðó €Gô �X‰X×!Ñ! #°eÐ!Ó<€FÜ�X‰X×!Ñ! #°eÐ!Ó<€Fà�=‰=×Ñ Ô(Ð(Ð(Ø�=‰=×Ñ Ô(Ð(Ñ(rj   c            
      óš  — t        j                  t        dg d¢fdg d¢ddgd d gfdg d¢fg«      «      } t        j                  dt        j
                  «       fdt        j                  t        j                  «       «      fdt        j                  «       fg«      }| | j                  d	k(     }| | j                  d
k(     g d¢   }t        j                  j                  ||d¬«      }t        j                  j                  ||d¬«      }|j                  j                  |«      sJ ‚|j                  j                  |j                  «      sJ ‚y )Nrƒ  r„  r¡  r™   r€   r—   r/  r…  r   r   r†  Fr6  )r.   r/   r   rE   r:   r    rs  r   rƒ  rG   rH   rJ   )rT   r:   r‡  rÂ   rW  rX  s         r7   Ú3test_table_from_pandas_keeps_column_order_of_schemarŒ  ·  s"  € ä	�‰”kØ	’lÐ#Ø	’I  1˜v t¨TÐ2Ð3Ø	Ò)Ð*ð#ó ó 
€Bô �Y‰YØ	”2—:‘:“<Ð Ø	”2—8‘8œBŸH™H›JÓ'Ð(Ø	”b—h‘h“jÐ!ðó €Fð ˆR�\‰\˜QÑÑ
€CØ
ˆR�\‰\˜QÑÑ
Ò AÑ
B€Cä�X‰X×!Ñ! #¨fÀUÐ!ÓK€FÜ�X‰X×!Ñ! #¨fÀUÐ!ÓK€Fà�=‰=×Ñ Ô'Ð'Ð'Ø�=‰=×Ñ §¡Ô.Ð.Ñ.rj   c            
      óÂ  — t        j                  t        dg d¢fdg d¢ddgd d gfdg d¢fg«      «      } g d	¢}t        j                  dt        j
                  t        j                  «       «      fdt        j                  «       fdt        j                  «       fg«      }ddg}t        j                  dt        j                  «       fdt        j                  «       fg«      }t        j                  j                  | |d
¬«      }t        j                  j                  | |d
¬«      }|j                  j                  |«      sJ ‚|j                  j                  |«      sJ ‚y )Nrƒ  r„  r¡  r™   r€   r—   r/  r…  )r¡  r/  rƒ  F)rK   r;   )r.   r/   r   rE   r:   rs  r   r    rG   rH   rJ   )rT   Úcolumns1rˆ  Úcolumns2r‰  rW  rX  s          r7   Ú;test_table_from_pandas_columns_argument_only_does_filteringr�  Ï  s2  € Ü	�‰”kØ	’lÐ#Ø	’I  1˜v t¨TÐ2Ð3Ø	Ò)Ð*ð#ó ó 
€Bò 1€HÜ�i‰iØ	”2—8‘8œBŸH™H›JÓ'Ð(Ø	”2—:‘:“<Ð Ø	”b—h‘h“jÐ!ðó €Gð ˜+Ð&€HÜ�i‰iØ	”2—:‘:“<Ð Ø	”b—h‘h“jÐ!ðó €Gô
 �X‰X×!Ñ! "¨hÀuÐ!ÓM€FÜ�X‰X×!Ñ! "¨hÀuÐ!ÓM€Fà�=‰=×Ñ Ô(Ð(Ð(Ø�=‰=×Ñ Ô(Ð(Ñ(rj   c            
      óà  — t        j                  t        dg d¢fdg d¢ddgd d gfdg d¢fg«      «      } t        j                  dt        j
                  «       fdt        j                  t        j
                  «       «      fdt        j                  «       fg«      }ddg}t        j                  t        «      5  t        j                  j                  | ||¬	«       d d d «       y # 1 sw Y   y xY w)
Nrƒ  r„  r¡  r™   r€   r—   r/  r…  )r:   rK   )r.   r/   r   rE   r:   r   rs  r    r‘   r<  r=  rG   rH   )rT   r:   rK   s      r7   Ú@test_table_from_pandas_columns_and_schema_are_mutually_exclusiver’  ê  sÔ   € Ü	�‰”kØ	’lÐ#Ø	’I  1˜v t¨TÐ2Ð3Ø	Ò)Ð*ð#ó ó 
€Bô
 �Y‰YØ	”b—h‘h“jÐ!Ø	”2—8‘8œBŸH™H›JÓ'Ð(Ø	”2—:‘:“<Ð ðó €Fð
 ˜Ð"€Gä	�‰”zÓ	"ñ AÜ
�‰×Ñ˜R¨¸ÐÔ@÷A÷ Añ Aús   Â8#C$Ã$C-c                  óÖ  — t        j                  dg d¢i«      } t        j                  t        j                  dt        j
                  «       d¬«      g«      }t        j                  j                  | «      }|j                  j	                  d«      j                  du sJ ‚t        j                  j                  | |¬«      }|j                  j	                  d«      j                  du sJ ‚y )Nr    r¶   FrÛ  Trr  )	r.   r/   rE   r:   r‚   r   rG   rH   rÜ  ©rT   r:   rY   s      r7   Ú/test_table_from_pandas_keeps_schema_nullabilityr•  û  s³   € ä	�‰�sšLÐ)Ó	*€Bä�Y‰YÜ
�‰�”b—h‘h“j¨5Ô1ðó €Fô �H‰H× Ñ  Ó$€EØ�<‰<×Ñ˜cÓ"×+Ñ+¨tÑ3Ð3Ð3Ü�H‰H× Ñ  ¨FÐ Ó3€EØ�<‰<×Ñ˜cÓ"×+Ñ+¨uÑ4Ð4Ñ4rj   c                  ó  — t        j                  g d¢g d¢dœ«      } t        j                  dt        j                  «       fdt        j
                  «       fdt        j                  «       fg«      }t        j                  t        d¬«      5  t        j                  j                  | |¬	«       d d d «       d| j                  _        t        | |d
|¬«       t        j                  t        d¬«      5  t        j                  j                  | |d¬«       d d d «       t        j                  t        d¬«      5  t        j                  j                  | |d ¬«       d d d «       t        j                  g d¢d¬«      | _        t        | |d |¬«       t        | |d
|¬«       t        j                  dt        j                  «       fdt        j                  «       fdt        j
                  «       fg«      }t        | |d |¬«       t        | |d
|¬«       t        j                  dt        j                  «       fdt        j
                  «       fg«      }| j!                  «       }|j#                  d
¬«      }t        | |d ||¬«       t        | |d
||¬«       t         j$                  j'                  g d¢ddg¬«      | _        t        j                  dt        j(                  «       fdt        j                  «       fdt        j                  «       fdt        j
                  «       fg«      }t        | |d
|¬«       t        | |d |¬«       t        j                  dt        j                  «       fdt        j                  «       fdt        j
                  «       fg«      }| j!                  «       }|j#                  dd
¬«      }t        | |d
||¬«       t        | |d ||¬«       y # 1 sw Y   �Œ.xY w# 1 sw Y   �ŒÕxY w# 1 sw Y   �ŒœxY w)Nr   r‰  r7  r    rÌ   r”   zname 'index' present in ther$  rr  T)r:   r;   rV   z'preserve_index=False' wasFr6  z=name 'index' is present in the schema, but it is a RangeIndexr™   r`   r�  )r:   r;   rV   rU   ))r    r   )r    r)   )rÌ   r   Úlevel1Úlevel2rã   )r.   r/   rE   r:   r   r    r‘   r<  ÚKeyErrorrG   rH   r”   ra   r\   r=  ré   rr   r�  r±   Úfrom_tuplesrŸ  )rT   r:   rU   s      r7   Ú+test_table_from_pandas_schema_index_columnsr›  	  sq  € ä	�‰šIªOÑ<Ó	=€Bä�Y‰YØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐØ	”"—(‘(“*Ððó €Fô 
�‰”xÐ'DÔ	Eñ 0Ü
�‰×Ñ˜R¨ÐÔ/÷0ð €B‡H�H„Mô ˜B v¸dØ,2õ4ô 
�‰”zÐ)EÔ	Fñ FÜ
�‰×Ñ˜R¨¸uÐÔE÷Fô
 
�‰”zð *Jô 
Kñ Eä
�‰×Ñ˜R¨¸tÐÔD÷Eô �x‰xš	¨Ô0€B„Hô ˜B v¸dØ,2õ4ä˜B v¸dØ,2õ4ô �Y‰YØ	”"—(‘(“*ÐØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐðó €Fô
 ˜B v¸dØ,2õ4ä˜B v¸dØ,2õ4ô
 �Y‰YØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐðó €Fð �w‰w‹y€HØ×#Ñ#¨Ð#Ó.€HÜ˜B v¸dØ,2¸XõGä˜B v¸dØ,2¸XõGô �}‰}×(Ñ(Ò)GØ08¸(Ð/Cð )ó E€B„Hä�Y‰YØ	”2—9‘9“;ÐØ	”2—8‘8“:ÐØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐð	ó €Fô ˜B v¸dØ,2õ4ä˜B v¸dØ,2õ4ô �Y‰YØ	”2—8‘8“:ÐØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐðó €Fð
 �w‰w‹y€HØ×#Ñ# H°4Ð#Ó8€HÜ˜B v¸dØ,2¸XõGä˜B v¸dØ,2¸XöG÷W0ñ 0ú÷Fñ Fú÷
Eñ Eús$   Â"OÃ1#O'Ä7#O4ÏO$Ï'O1Ï4O>c                  óÖ  — t        j                  g d¢g d¢dœ«      } t        j                  dt        j                  «       fdt        j
                  «       fdt        j                  «       fg«      }t        j                  j                  | d¬«      }t        j                  j                  | d|¬	«      }|j                  j                  «       j                  |«      sJ ‚t        j                  g d¢g d¢dœg d
¢¬«      } t        j                  j                  | «      }t        j                  j                  | |¬«      }|j                  j                  «       j                  |«      sJ ‚y )Nr   r‰  r7  r    rÌ   rÿ   Tr¡   )r;   r:   r™   rº   rr  )r.   r/   rE   r:   r   r    ÚSchemarH   rG   rm  rJ   )rT   rV   r:   rY   s       r7   Ú:test_table_from_pandas_schema_index_columns__unnamed_indexrž  c  s  € ä	�‰šIªOÑ<Ó	=€Bä—i‘iØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐØ	œbŸh™h›jÐ)ð!ó €Oô �Y‰Y×"Ñ" 2°dÐ"Ó;€FÜ�H‰H× Ñ  °DÀÐ ÓH€EØ�<‰<×'Ñ'Ó)×0Ñ0°ÔAÐAÐAô 
�‰šIªOÑ<ÂIÔ	N€BÜ�Y‰Y×"Ñ" 2Ó&€FÜ�H‰H× Ñ  ¨FÐ Ó3€EØ�<‰<×'Ñ'Ó)×0Ñ0°ÔAÐAÑArj   c                  ó"  — t        j                  «       } t        j                  j	                  | «      j                  ddi«      }t        j                  j	                  | |¬«      }|j                  j                  j                  d«      dk(  sJ ‚y )NÚmetaÚTruerr  s   metas   True)
r.   r/   rE   r�  rH   rÍ  rG   r:   r  Úgetr”  s      r7   Ú2test_table_from_pandas_schema_with_custom_metadatar£  x  sm   € ä	�‰‹€BÜ�Y‰Y×"Ñ" 2Ó&×4Ñ4°f¸fÐ5EÓF€FÜ�H‰H× Ñ  ¨FÐ Ó3€EØ�<‰<× Ñ ×$Ñ$ WÓ-°Ò8Ð8Ñ8rj   c            
      ó|  — t        j                  t        j                  ddd¬«      t        j                  j                  d«      dœ«      } t        j                  t        j                  dt        j                  «       d¬«      t        j                  d	t        j                  d
d¬«      d¬«      g«      }t        j                  j                  | |¬«      }|j                  j                  |«      sJ ‚|j                  j                  d   d   }|d   dk(  sJ ‚|d   �J ‚|j                  j                  d   d   }|d   d	k(  sJ ‚|d   ddik(  sJ ‚|j                  «       }ddi}t!        t         j"                  «      t!        d«      k\  rd|d	<   | dd	g   j%                  |«      }t'        j(                  ||«       y )Nz2020-01-01T00:00:00Zr6  r)   )rª   r©   )r   rG  rG  TrÛ  r   re   r«  r¬  Frr  rK   r   ra   r  r   r   r   r(  zdatetime64[s, UTC])r.   r/   r«   r0   r2   r3   rE   r:   r‚   r   r­  rG   rH   rJ   r  rI   r   r1  r8  rR   rS   )rT   r:   rY   Úmetadata_floatÚmetadata_datetimerZ   Úcoerce_cols_to_typesrU   s           r7   Ú2test_table_from_pandas_schema_field_order_metadatar¨  €  s–  € ô 
�‰Ü—M‘MÐ"8¸sÈAÔNÜ—‘—‘ Ó#ñó 
€Bô
 �Y‰YÜ
�‰�œ"Ÿ*™*›,°Ô6Ü
�‰�œRŸ\™\¨#°%Ô8À5ÔIðó €Fô
 �H‰H× Ñ  ¨FÐ Ó3€EØ�<‰<×Ñ˜vÔ&Ð&Ð&Ø—\‘\×1Ñ1°)Ñ<¸QÑ?€NØ˜&Ñ! WÒ,Ð,Ð,Ø˜*Ñ%Ð-Ð-Ð-ØŸ™×4Ñ4°YÑ?ÀÑBÐØ˜VÑ$¨
Ò2Ð2Ð2Ø˜ZÑ(¨Z¸Ð,?Ò?Ð?Ð?à�_‰_Ó€FØ# YÐ/ÐÜŒr�~‰~Ó¤'¨'Ó"2Ò2à+?Ð˜ZÑ(Ø�7˜JÐ'Ñ(×/Ñ/Ð0DÓE€Hä×Ñ˜& (Õ+rj   c                  ób  — t        j                  t        j                  g d¢d¬«      t        j                  g d¢d¬«      t        j                  j                  d«      g d¢g d¢dœ«      } t        j                  j                  | «      }|j                  «       }t        j                  | |«       y )	N©r   r)   r€   r—   r˜   r   r   r   r˜   )rµ   rZ  Nri  rG  )FTFTF)r�  rž  Úc3Úc4Úc5)r.   r/   r0   rb   r2   r3   rE   rF   rH   rI   rR   rS   )rŸ   rH  rZ   s      r7   Útest_recordbatch_from_to_pandasr®  ¥  sy   € Ü�<‰<Ü�h‰h’¨gÔ6Ü�h‰h’¨hÔ7Ü�i‰i�o‰o˜aÓ Ú0Ú/ñó €Dô �N‰N×&Ñ& tÓ,€EØ�_‰_Ó€FÜ×Ñ˜$ Õ'rj   c                  óŒ  — t        j                  t        j                  g d¢d¬«      t        j                  g d¢d¬«      g d¢g d¢dœ«      } t        j                  t        j                  d	d
gd¬«      t        j                  ddgd¬«      ddgddgdœ«      }t        j
                  j                  | «      }t        j
                  j                  |«      }t        j                  j                  ||g«      }|j                  «       }t        j                  | |g«      j                  d¬«      }t        j                  ||«       y )N)r   r   r)   r   r   r‡   r    )TNF)rµ   rZ  N)r�  rž  r«  r¬  r€   r˜   r‹   rŒ   Tri  rG  r�  )r.   r/   r0   rb   rE   rF   rH   rG   rD  rI   rô  r�  rR   rS   )r³  rµ  Úbatch1Úbatch2rY   rZ   rŸ   s          r7   Útest_recordbatchlist_to_pandasr²  ³  sý   € Ü�L‰LÜ�h‰h’y¨Ô1Ü�h‰h’¨iÔ8Ú!Ú"ñ	ó €Eô �L‰LÜ�h‰h˜˜1�v XÔ.Ü�h‰h˜˜S�z¨Ô3Ø�TˆlØ�eˆnñ	ó €Eô �^‰^×'Ñ'¨Ó.€FÜ�^‰^×'Ñ'¨Ó.€Fä�H‰H×!Ñ! 6¨6Ð"2Ó3€EØ�_‰_Ó€FÜ�9‰9�e˜U�^Ó$×0Ñ0°dÐ0Ó;€DÜ×Ñ˜$ Õ'rj   c                  óD  — t        j                  t        j                  g d¢«      gdg¬«      } t        j                  t        j                  g d¢«      gdg¬«      }| d   j	                  «       j
                  dk(  sJ ‚|d   j	                  «       j
                  dk(  sJ ‚y )Nr¶   Úa0rã   r   )rE   Úrecord_batchrb   rY   rI   ra   )r¢  r  s     r7   Ú*test_recordbatch_table_pass_name_to_pandasr¶  Ë  s|   € Ü	�‰œ"Ÿ(™(¢<Ó0Ð1¸$¸Ô	@€BÜ
�‰”"—(‘(š<Ó(Ð)°$°Ô8€AØˆa‰5�?‰?Ó×!Ñ! TÒ)Ð)Ð)ØˆQ‰4�>‰>Ó× Ñ  DÒ(Ð(Ñ(rj   ©r_   rU   r6  r!   r   r   r   r   r   r   r   r   rÈ  r   r    r   rc  r—   )Úlengthr   zlist[list[int16]]rî  r€   r¯   rb  r   r%  r«  r-  re   r   c                 ó$   — t        | «      |k(  sJ ‚y rú  )r
   r·  s     r7   Útest_logical_typerº  Ö  s   € ô< ˜DÓ! XÒ-Ð-Ñ-rj   c                  óì  — d} t        j                  t        j                  | t        j                  ¬«      t        j
                  j                  dd| ¬«      j                  t        j                  «      ¬«      }t        j                  «        t        j                  «       }|j                  «       }t        j                  «       || dz  z   k(  sJ ‚d }t        j                  «        t        j                  «       |k(  sJ ‚t        j                  t        j                  | t        j                  ¬«      «      }t        j                  «       }|j                  «       }t        j                  «       |k(  sJ ‚y )Né'  r   r   r)   rÒ  r  r·   )rE   rb   r0   r1   r   r2   rÓ  r8  rå  r„  r…  r†  rI   )r"  rh   Úprior_allocationr6   s       r7   Útest_array_uses_memory_poolr¾  ú  s  € à€AÜ
�(‰(”2—9‘9˜Q¤b§h¡hÔ/ÜŸ	™	×)Ñ)¨!¨Q°QÐ)Ó7×>Ñ>¼r¿x¹xÓHôJ€Cô ‡J�J„Lä×/Ñ/Ó1Ðà�‰‹€AÜ×#Ñ#Ó%Ð*:¸QÀ¹UÑ*BÒCÐCÐCØ€AÜ‡J�J„Lä×#Ñ#Ó%Ð)9Ò9Ð9Ð9ô �(‰(”2—9‘9˜Q¤b§h¡hÔ/Ó
0€Cä×/Ñ/Ó1ÐØ�‰‹€AÜ×#Ñ#Ó%Ð)9Ò9Ð9Ñ9rj   c                  ó~  — t        j                  t        j                  t        j                  dt        j
                  ¬«      «      gdg«      } t        | d¬«       t        j                  «       }| j                  «       }|d   j                  j                  j                  sJ ‚t        j                  «       |kD  sJ ‚y )Nrï  r   r×  T©Úsplit_blocks)rE   rY   rb   r0   r1   r   Ú!_check_to_pandas_memory_unchangedr†  rI   Ú_valuesÚflagsÚ	writeable)r  r½  rZ   s      r7   Útest_singleton_blocks_zero_copyrÆ    sŒ   € ä
�‰”"—(‘(œ2Ÿ9™9 T´·±Ô:Ó;Ð<¸t¸fÓE€Aô & a°dÕ;ä×/Ñ/Ó1ÐØ�[‰[‹]€Fà�$‰<×Ñ×%Ñ%×/Ò/Ð/Ð/Ü×#Ñ#Ó%Ð(8Ò8Ð8Ñ8rj   c                 ó*  — t        j                  «       } | j                  di |¤Ž}t        j                  «       r@t        d|j                  j                  dz  «      }t        j                  «       ||z   k  sJ ‚y t        j                  «       |k(  sJ ‚y )NéÀ   r)   r0  )rE   r†  rI   r   r  rù  rK   Únbytes)r°  Úkwargsr½  r6   Úmax_index_allocations        r7   rÂ  rÂ  "  s†   € Ü×/Ñ/Ó1ÐØˆ�‰Ñ˜Ñ€Aô ×$Ñ$Ô&ô  # 3¨¯	©	×(8Ñ(8¸1Ñ(<Ó=ÐÜ×'Ñ'Ó)Ð.>ÐAUÑ.UÒVÐVÑVä×'Ñ'Ó)Ð-=Ò=Ð=Ñ=rj   c                  óP  — t        j                  t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      gt        d	«      D � cg c]  } d
| › �‘Œ	 c} «      }t	        |d	«       t        |d¬«       y c c} w )Nrª  rÆ  rí  rq  rï  rð  rÄ  rÅ  r·   r  TrÀ  )rE   rY   rb   r4   Ú_check_blocks_createdrÂ  )r¯  r  s     r7   Útest_to_pandas_split_blocksrÎ  0  sâ   € ä
�‰Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0ð	ô ˜q›Ö"�Aˆ!ˆAˆ3ŠÒ"ó		$€Aô ˜!˜QÔÜ% a°dÖ;ùò #s   Ã6D#
c                 ó|   — t        t        j                  «      t        d«      k  r| j                  S | j                  S )Nz1.1.0)r   r.   r1  Ú_dataÚ_mgrrì  s    r7   Ú_get_mgrrÒ  A  s*   € ÜŒr�~‰~Ó¤¨Ó!1Ò1Ø�x‰xˆà�w‰wˆrj   c                 ón   — | j                  d¬«      }t        t        |«      j                  «      |k(  sJ ‚y )NTrÀ  )rI   r¾   rÒ  Úblocks)r  Únumberr6   s      r7   rÍ  rÍ  H  s/   € Ø	�‰ ˆÓ&€AÜŒx˜‹{×!Ñ!Ó" fÒ,Ð,Ñ,rj   c                  óf   ‡— dŠˆfd„}  | «       }t        |dd¬«        | «       }t        |d¬«       y )Né2   c                  ó  •— t        j                  t        ‰«      D � cg c]:  } t        j                  t        j
                  j                  d«      d d d…   «      ‘Œ< c} t        ‰«      D � cg c]  } d| › �‘Œ	 c} «      S c c} w c c} w )Nr¼  r)   r  )rE   rY   r4   rb   r0   r2   r3   )r¯  r#  s    €r7   Ú_make_tablez1test_to_pandas_self_destruct.<locals>._make_tableP  su   ø€ Ü�x‰xô ˜1“Xö
ð ô �H‰H”R—Y‘Y—_‘_ UÓ+©C¨a¨CÑ0Õ1ò
ô # 1›XÖ&˜ˆa�ˆsŠGÒ&ó	(ð 	(ùò 
ùò 's   ž?A?Á,B
T)rÁ  Úself_destruct)rÚ  )rÂ  )rÙ  r  r#  s     @r7   Útest_to_pandas_self_destructrÛ  M  s5   ø€ Ø
€Aô(ñ 	‹€AÜ% a°dÈ$ÕOñ 	‹€AÜ% a°tÖ<rj   c                  óÎ  — d} t        j                  t        j                  | t        j                  ¬«      «      }t        j
                  |||gg d¢«      }t        j                  «       }|j                  «       }d| z  dz  }t        j                  «       r|dz  }t        j                  «       ||z   k(  sJ ‚d }t        j                  «        t        j                  «       |k(  sJ ‚y )Nr¼  r   )r×  r  rÃ  r€   r·   é€   )rE   rb   r0   r1   r   rY   r†  rI   r   r  r„  r…  )r"  rh   r  r½  r6   Únew_allocations         r7   Útest_table_uses_memory_poolrß  _  s½   € Ø€AÜ
�(‰(”2—9‘9˜Q¤b§h¡hÔ/Ó
0€CÜ
�‰�#�s˜C�Ò"4Ó5€Aä×/Ñ/Ó1ÐØ	�‰‹€Aà˜‘U˜Q‘Y€NÜ×$Ñ$Ô&à˜#Ñˆä×#Ñ#Ó%Ð*:¸^Ñ*KÒLÐLÐLð 	€AÜ‡J�J„LÜ×#Ñ#Ó%Ð)9Ò9Ð9Ñ9rj   c                  ó@  — t        j                  ddig«      } | j                  «       }|j                  t	        j                  d«      k(  sJ ‚|d   }t        j                  |«      }t        j                  |«      |k(  sJ ‚~t        j                  |«      |dz
  k(  sJ ‚y )Nr    r   r?   r   )rE   rb   rI   r   r0   r¡  Úgetrefcount)rh   r	  r°  Úrefcounts       r7   Útest_object_leak_in_numpy_arrayrã  t  sˆ   € ä
�(‰(�S˜!�H�:Ó
€CØ�]‰]‹_€FØ�<‰<œ2Ÿ8™8 HÓ-Ò-Ð-Ð-Ø
�‰)€CÜ�‰˜sÓ#€HÜ�?‰?˜3Ó 8Ò+Ð+Ð+ØÜ�?‰?˜3Ó 8¨a¡<Ò/Ð/Ñ/rj   c                  óv  — t        j                  ddig«      } t        j                  | gdg«      }|j                  «       d   }|j                  t        j                  d«      k(  sJ ‚|d   }t        j                  |«      }t        j                  |«      |k(  sJ ‚~t        j                  |«      |dz
  k(  sJ ‚y )Nr    r   r×  r?   r   )rE   rb   rY   rI   r   r0   r¡  rá  )rh   rY   r[   r°  râ  s        r7   Útest_object_leak_in_dataframerå  €  s¢   € ä
�(‰(�S˜!�H�:Ó
€CÜ�H‰H�c�U˜T˜FÓ#€EØ
�/‰/Ó
˜DÑ
!€CØ�9‰9œŸ™ Ó*Ò*Ð*Ð*Ø
ˆa‰&€CÜ�‰˜sÓ#€HÜ�?‰?˜3Ó 8Ò+Ð+Ð+ØÜ�?‰?˜3Ó 8¨a¡<Ò/Ð/Ñ/rj   c                  ó”  — ddgddgg} t        j                  «       }t        j                  | d   |¬«      }t        j                  | t        j                  |«      ¬«      }t	        j                  | d   t        j                  ¬«      }t        j                  t	        j                  | d   t        j                  ¬«      t	        j                  | d   t        j                  ¬«      g«      }|j                  |k(  sJ ‚|j                  t        j                  |«      «      sJ ‚|j                  t        j                  |«      «      sJ ‚y )	Nr€  g333333@g      "@g      E@r   rq  r   r   )	rE   r   rb   rs  r0   r.   rc   r_   rJ   )rŸ   r  r^  rœ  r…  r†  s         r7   Útest_array_from_py_float32rç  ‘  së   € Ø�#ˆJ˜˜d˜Ð$€Dä
�
‰
‹€Aä�8‰8�D˜‘G !Ô$€DÜ�8‰8�DœrŸx™x¨›{Ô+€Dä—‘˜˜a™¬¯
©
Ô3€IÜ—	‘	œ2Ÿ8™8 D¨¡G´2·:±:Ô>ÜŸ8™8 D¨¡G´2·:±:Ô>ð@ó A€Ið �9‰9˜Š>Ðˆ>Ø�;‰;”r—x‘x 	Ó*Ô+Ð+Ð+Ø�;‰;”r—x‘x 	Ó*Ô+Ð+Ñ+rj   c                  óþ  — t        j                  «       } t        j                  | g«      }|j                  j                  d«      j                  j                  d«      }t        j                  dd¬«      }t        j                  j                  ||¬«      }|j                  |k(  sJ ‚t        j                  j                  |t        j                  d«      ¬«      }|d   j                  «       |d   j                  «       k(  sJ ‚|d   j                  «       |d   j                  «       k(  sJ ‚t        j                  dgd¬«      j                  t        j                  d	«      «      }t        j                  d
gd¬«      j                  t        j                  d«      «      }|j                  t        j                  d	«      k(  sJ ‚t        j                  d«      }t!        j"                  t$        «      5  |j                  |«       d d d «       |j                  |d¬«      }|j'                  |«      sJ ‚t        j                  t        j(                  d«      t        j(                  d«      t        j(                  d«      g«      }	t        j                  g d¢t        j                  d«      ¬«      }t!        j"                  t$        «      5  t        j                  |	t        j                  d«      ¬«       d d d «       t!        j"                  t$        «      5  t        j                  j                  |	t        j                  d«      ¬«       d d d «       t        j                  j                  |	t        j                  d«      d¬«      }|j'                  |«      sJ ‚t        j                  |	t        j                  d«      d¬«      }|j'                  |«      sJ ‚y # 1 sw Y   �ŒÖxY w# 1 sw Y   ŒóxY w# 1 sw Y   Œ©xY w)Nz	tzlocal()r*  r%  r¬  rq  r   ióà r   rb  é{   re   FrA  r   rÑ  rï  )r   r   r   rK  )r   Únowr.   rc   r¯  r°  Ú
tz_convertrE   r­  r›  rH   r_   rê  Úto_pydatetimerb   rl  r‘   r<  r=  rJ   r!  )
r[  re   Ús_nycÚ
us_with_tzrh   rœ  rU   ÚtargetrZ   r¹  s
             r7   Útest_cast_timestamp_unitrð  ¦  sã  € ä
�,‰,‹.€CÜ
�	‰	�3�%Ó€AØ�D‰D×Ñ˜[Ó)×,Ñ,×7Ñ7Ð8JÓK€Eä—‘˜dÐ'9Ô:€Jä
�(‰(×
Ñ
˜u¨:Ð
Ó
6€Cð �8‰8�zÒ!Ð!Ð!ä�8‰8×Ñ ¬¯©°TÓ(:ÐÓ;€Dàˆq‰6�<‰<‹>˜U 1™X×3Ñ3Ó5Ò5Ð5Ð5Ø�‰7�=‰=‹?˜a ™d×0Ñ0Ó2Ò2Ð2Ð2ô �(‰(�F�8 'Ô
*×
/Ñ
/´·±¸TÓ0BÓ
C€CÜ�x‰x˜˜ GÔ,×1Ñ1´"·,±,¸sÓ2CÓD€Hð �8‰8”r—|‘| DÓ)Ò)Ð)Ð)ä�\‰\˜#Ó€FÜ	�‰”zÓ	"ñ Ø�‰�Ô÷ð �X‰X�f 5ˆXÓ)€FØ�=‰=˜Ô"Ð"Ð"ô �Y‰YœŸ™ Q›¬¯©°bÓ)9¼2¿<¹<ÈÓ;MÐNÓO€FÜ�x‰xš	¬¯©°TÓ(:Ô;€Hä	�‰”zÓ	"ñ 2Ü
�‰�œbŸl™l¨4Ó0Õ1÷2ô 
�‰”zÓ	"ñ >Ü
�‰×Ñ˜V¬"¯,©,°tÓ*<ÐÔ=÷>ô �X‰X×!Ñ! &¬r¯|©|¸DÓ/AÈÐ!ÓN€FØ�=‰=˜Ô"Ð"Ð"ä�X‰X�f¤2§<¡<°Ó#5¸EÔB€FØ�=‰=˜Ô"Ð"Ñ"÷)ñ ú÷2ð 2ú÷>ð >ús$   Ç4OË
+O'Ì5O3ÏO$Ï'O0Ï3O<c                  ór  — t         j                  j                  «       } | j                  «       }t	        j
                  |gt	        j                  dd¬«      ¬«      }t        j                  j                  ||gddg«      }|j                  «       }t	        j
                  |«      }|j                  |«      sJ ‚y )Nr%  r*  r¬  rq  r,  Ústop)r.   r!  rê  rì  rE   rb   r­  r  rÝ   rI   rJ   )ÚtsÚts_dtrh   rÙ  rZ   rÉ   s         r7   Ú(test_nested_with_timestamp_tz_round_triprõ  ×  s�   € Ü	�‰×	Ñ	Ó	€BØ×ÑÓ€EÜ
�(‰(�E�7¤§¡¨dÐ7IÔ!JÔ
K€CÜ�^‰^×'Ñ'¨¨c¨
°W¸fÐ4EÓF€Fà×ÑÓ€FÜ�x‰x˜Ó€HØ�?‰?˜6Ô"Ð"Ñ"rj   c                  ó  — t         j                  j                  «       } | j                  «       }dD �]Ø  }|dv rd„ }nd„ }t	        j
                  | gt	        j                  |«      ¬«      }t	        j
                  | gt	        j                  |d¬«      ¬«      }t        j                  j                  ||gdd	g«      }t        j                  j                  ||gdd	g«      }|j                  «       }t        |d
   d   t        «      sJ ‚|d
   d   j                  �J ‚t        |d
   d	   t        «      sJ ‚|d
   d	   j                  �J ‚|j                  «       }t        |d
   d   t        «      sJ ‚|d
   d   j                  €J ‚|d
   d   j                  t        j                  «      }	 ||	«      j!                  d ¬«       ||«      k(  sJ ‚t        |d
   d	   t        «      sJ ‚|d
   d	   j                  €J ‚t	        j"                  d|i«      j                  «       }t        |d   d
   d   t        «      sJ ‚|d   d
   d   j                  �J ‚t        |d   d
   d	   t        «      sJ ‚|d   d
   d	   j                  �J ‚t	        j"                  d|i«      j                  «       }t        |d   d
   d   t        «      sJ ‚|d   d
   d   j                  €J ‚t        |d   d
   d	   t        «      sJ ‚|d   d
   d	   j                  ��ŒÙJ ‚ y )Nr  )re   rb  c                 ó&   — | j                  d¬«      S )Nr   rð  )rL   ©r6   s    r7   Útruncatez/test_nested_with_timestamp_tz.<locals>.truncateí  s   €  A§I¡I¸! IÓ$<Ð<rj   c                 ó   — | S rú  r0  rø  s    r7   rù  z/test_nested_with_timestamp_tz.<locals>.truncateï  s   €  A˜Xrj   rq  r*  r¬  r,  rò  r   ru  r    )r.   r!  rê  rì  rE   rb   r­  r  rÝ   rI   r¿   r   rv  Ú
astimezoner   rx  rL   rY   )
ró  rô  r$  rù  rh   rœ  Úarr3Úarr4rZ   Úutc_dts
             r7   Útest_nested_with_timestamp_tzrÿ  â  s  € ä	�‰×	Ñ	Ó	€BØ×ÑÓ€Eð "ó &9ˆØ�;Ñó =â%Ü�h‰h˜�t¤"§,¡,¨tÓ"4Ô5ˆÜ�x‰x˜˜¤2§<¡<°Ð9KÔ#LÔMˆä�~‰~×)Ñ)¨3°¨*°wÀÐ6GÓHˆÜ�~‰~×)Ñ)¨4°¨,¸À&Ð8IÓJˆà—‘Ó!ˆÜ˜& ™) GÑ,¬hÔ7Ð7Ð7Ø�a‰y˜Ñ!×(Ñ(Ð0Ð0Ð0Ü˜& ™) FÑ+¬XÔ6Ð6Ð6Ø�a‰y˜Ñ ×'Ñ'Ð/Ð/Ð/à—‘Ó!ˆÜ˜& ™) GÑ,¬hÔ7Ð7Ð7Ø�a‰y˜Ñ!×(Ñ(Ð4Ð4Ð4Ø˜‘˜7Ñ#×.Ñ.¬x¯|©|Ó<ˆÙ˜Ó×'Ñ'¨tÐ'Ó4¹À»ÒGÐGÐGÜ˜& ™) FÑ+¬XÔ6Ð6Ð6Ø�a‰y˜Ñ ×'Ñ'Ð3Ð3Ð3ô —‘˜3 ˜+Ó&×0Ñ0Ó2ˆÜ˜& ™+ a™.¨Ñ1´8Ô<Ð<Ð<Ø�c‰{˜1‰~˜gÑ&×-Ñ-Ð5Ð5Ð5Ü˜& ™+ a™.¨Ñ0´(Ô;Ð;Ð;Ø�c‰{˜1‰~˜fÑ%×,Ñ,Ð4Ð4Ð4ä—‘˜3 ˜+Ó&×0Ñ0Ó2ˆÜ˜& ™+ a™.¨Ñ1´8Ô<Ð<Ð<Ø�c‰{˜1‰~˜gÑ&×-Ñ-Ð9Ð9Ð9Ü˜& ™+ a™.¨Ñ0´(Ô;Ð;Ð;Ø�c‰{˜1‰~˜fÑ%×,Ñ,Ò8Ð8Ð8ñM&9rj   c                  ó"  — t        j                  g d¢d«      } t        j                  g d¢t        ¬«      }t        j                  g d¢«      }dD �]0  }| j	                  |«      }t
        j                  j                  ||«      }t
        j                  j                  |||¬«      }|dk(  r5t        j                  t        d	¬
«      5  |j                  «        d d d «       Œ‘|j                  «       }|dk(  r|j	                  d«      }n0|dk(  r|j	                  d«      }n|dk(  r|j	                  d«      }n|}t        j                  j                  ||¬«      }	t        j                   t        j"                  |«      t        j"                  |	«      «       |j                  «       }
|
j%                  «       j'                  «       dk(  sJ ‚|dk(  r|j	                  d«      }n0|dk(  r|j	                  d«      }n|dk(  r|j	                  d«      }n|}t        j                  j                  t        j(                  |d|«      |¬«      }t        j                   t        j"                  |
«      t        j"                  |«      «       �Œ3 y # 1 sw Y   �Œ¯xY w)Nr™   r)   rh  r   )FFTFFF)r   r   r   r   r   r   r   r   r  r   zUInt64 dictionary indicesr$  r   r   r   r   r   r   r‰  r   r@  )r0   rQ  rb   r?   r8  rE   rC  rÝ   r‘   r<  rÚ  rI   r.   rƒ  Ú
from_codesrR   rd   rc   ro   rq   Úwhere)Úsrc_indicesr  rl   Ú
index_typerF  Úd1Úd2Úpandas1Úcompare_indicesÚ
ex_pandas1Úpandas2Úsigned_indicesÚ
ex_pandas2s                r7   Útest_dictionary_with_pandasr    s  € Ü—)‘)šI qÓ)€KÜ—‘Ò/´vÔ>€JÜ�8‰8Ò=Ó>€Dð*ó ,Jˆ
à×$Ñ$ ZÓ0ˆÜ×Ñ×+Ñ+¨G°ZÓ@ˆÜ×Ñ×+Ñ+¨G°ZÀdÐ+ÓKˆà˜Ò!ä—‘œyØ%@ôBñ à—‘”÷ð à—,‘,“.ˆð ˜Ò Ø%Ÿn™n¨WÓ5‰OØ˜8Ò#Ø%Ÿn™n¨WÓ5‰OØ˜8Ò#Ø%Ÿn™n¨WÓ5‰Oà%ˆOÜ—^‘^×.Ñ.¨È:Ð.ÓVˆ
ä
×ÑœrŸy™y¨Ó1´2·9±9¸ZÓ3HÔIà—,‘,“.ˆØ�~‰~Ó×#Ñ#Ó%¨Ò*Ð*Ð*ð ˜Ò Ø$Ÿ^™^¨GÓ4‰NØ˜8Ò#Ø$Ÿ^™^¨GÓ4‰NØ˜8Ò#Ø$Ÿ^™^¨GÓ4‰Nà$ˆNÜ—^‘^×.Ñ.¬r¯x©x¸¸bØ8Fó0Hà:Dð /ó Fˆ
ô 	×ÑœrŸy™y¨Ó1´2·9±9¸ZÓ3HÖIñY,J÷ñ ús   ÃJÊJ	c                 ó<  — |�/|t         j                  j                  dt        |«      | ¬«         }n;t        j                  t        | «      D �cg c]  }t        |«      ‘Œ c}t        ¬«      }|dkD  r%d |t         j                  j                  | «      |k  <   |S c c}w )Nr   rÒ  r   )	r0   r2   rÓ  r¾   rb   r4   r   r?   Úrand)rI  Ú	item_sizeÚpct_nullr  rZ   r¯  s         r7   Úrandom_stringsr  J  sƒ   € ØÐØœBŸI™I×-Ñ-¨a´°Z³ÀqÐ-ÓIÑJ‰ä—‘¼EÀ!»HÖE°qœ<¨	Õ2ÒEÜ &ô(ˆð �!‚|Ø/3ˆŒr�y‰y�~‰~˜aÓ  8Ñ+Ñ,à€Mùò Fs   ÁBc                  óô  — t         j                  j                  d«       t        j                  t        dd«      d¬«      } t        j                  t        dd«      d¬«      }t        j                  t        dd«      d¬«      }t        j                  j                  t         j                  j                  d	t        | «      d
d¬«      | «      }t        j                  j                  t         j                  j                  d	t        |«      d
d¬«      |«      }t        j                  j                  t         j                  j                  d	t        |«      d
d¬«      |«      }t        j                  t         j                  j                  d	t        |«      d
d¬«      t         j                  j                  d
«      dk  ¬«      }t        j                  j                  ||«      }t        j                  | ||g«      }t        j                  ||||g«      }	t        j                  |j                  d«      |j                  d«      |j                  d«      |j                  d«      g«      }
|	j                  «       }|
j                  «       }|j                  j                   |j                  «       k(  j#                  «       sJ ‚|j%                  d«      }d ||j'                  «       <   t)        j*                  ||«       y )Ni90  rÆ  é    rŸ  rq  rì  r¼  rÑ  r   rï  rï  r÷  rŠ  r  r+   )r0   r2   r  rE   rb   r  rC  rÝ   rÓ  r¾   r  Úconcat_arraysrš  rl  rI   r  rŠ  r  r8  ro   rR   rd   )r  r  Úd3rê  rB  rú  rï  rû  Úexpected_dictr    Úa_denserZ   Úresult_denseÚexpected_denses                 r7   Ú"test_variable_dictionary_to_pandasr  W  sJ  € Ü‡I�I‡N�N�5Ôä	�‰”.  bÓ)°Ô	9€BÜ	�‰”.  bÓ)°Ô	9€BÜ	�‰”. ¨Ó+°(Ô	;€Bä	×	Ñ	×	'Ñ	'Ü
�	‰	×Ñ˜!œS ›W¨4°tÐÓ<Ø
ó
€Bô 
×	Ñ	×	'Ñ	'Ü
�	‰	×Ñ˜!œS ›W¨4°tÐÓ<Ø
ó
€Bô 
×	Ñ	×	'Ñ	'Ü
�	‰	×Ñ˜!œS ›W¨4°tÐÓ<¸bó
B€Bô 
�‰Ü
�	‰	×Ñ˜!œS ›W¨4°tÐÓ<Ü�Y‰Y�^‰^˜DÓ! CÑ'ô
€Bô 
×	Ñ	×	'Ñ	'¨¨BÓ	/€Bä×$Ñ$ b¨"¨b \Ó2€Mä
×Ñ˜"˜b " bÐ)Ó*€AÜ×Ñ §¡¨Ó 1Ø "§¡¨Ó 1Ø "§¡¨Ó 1Ø "§¡¨Ó 1ð 3ó 4€Gð
 �[‰[‹]€FØ×$Ñ$Ó&€Là�J‰J×!Ñ! ]×%<Ñ%<Ó%>Ñ>×CÑCÔEÐEÐEà—]‘] 5Ó)€NØ,0€N�<×&Ñ&Ó(Ñ)Ü×Ñ˜<¨Õ8rj   c                  óx  — t        j                  g d¢«      j                  «       } t         j                  j	                  g d¢| «      }|j                  «       }t        j                  t        j                  g d¢t        ¬«      t        j                  ddgt        ¬«      g«      }t        j                  ||«       y )N)r    r    r    rÌ   rÌ   rd  )r    r    r    r   rÌ   )rE   rb   r•  r  rÝ   rI   r.   rc   r0   r?   rR   rd   )rE  rh   rZ   rU   s       r7   Ú(test_dictionary_encoded_nested_to_pandasr  ƒ  s   € ä�H‰HÒ.Ó/×AÑAÓC€Eä
�,‰,×
"Ñ
"¢9¨eÓ
4€Cà�]‰]‹_€FÜ�y‰yœ"Ÿ(™(¢?¼&ÔAÜŸ(™( C¨ :´VÔ<ð>ó ?€Hô ×Ñ˜6 8Õ,rj   c                  ó  — t        j                  g d¢«      } t        j                  t        j                  «       t        j                  «       rt        j                  «       nt        j                  «       «      }t        j                  | «      }|j                  «       g d¢k(  sJ ‚|j                  j                  |«      sJ ‚t        j                  g d¢«      } t        j                  | «      }|j                  «       g d¢k(  sJ ‚|j                  j                  |«      sJ ‚t        j                  | t        j                  g d¢«      ¬«      }|j                  «       g d¢k(  sJ ‚|j                  j                  |«      sJ ‚y )N)r    rÌ   r    )r    rÌ   Nr    )FFFTr  )r    rÌ   NN)r.   rƒ  rE   r  r   r   r  rC  rŸ  rb   rß  r_   rJ   r0   )r  r´  rZ   s      r7   Útest_dictionary_from_pandasr  �  s  € Ü
�.‰.šÓ
)€CÜ—M‘MÜ
�‰‹	Ü(×:Ñ:Ô<Œ�‰ÔÄ"Ç)Á)Ã+ó€Mô
 �X‰X�c‹]€FØ×ÑÓ¢Ò0Ð0Ð0Ø�;‰;×Ñ˜mÔ,Ð,Ð,ô �.‰.Ò.Ó
/€Cä�X‰X�c‹]€FØ×ÑÓÒ!6Ò6Ð6Ð6Ø�;‰;×Ñ˜mÔ,Ð,Ð,ô �X‰X�c¤§¡Ò)DÓ EÔF€FØ×ÑÓÒ!7Ò7Ð7Ð7Ø�;‰;×Ñ˜mÔ,Ð,Ñ,rj   c                  ó   — t         j                  j                  t        j                  ddgd¬«      t        j                  ddgt
        ¬«      «      } t        j                  t        j                  «       t        j                  «       ¬«      }t        j                  | |¬«      }|j                  j                  |«      sJ ‚|j                  «       ddgk(  sJ ‚t        j                  t        j                  «       t        j                  «       ¬«      }t        j                   t        j"                  «      5  t        j                  | |¬«      }d d d «       t        j                  t        j                  «       t        j                  «       d	¬
«      }d}t        j                   t$        |¬«      5  t        j                  | |¬«      }d d d «       |j                  «       ddgk(  sJ ‚t        j                  t        j                  «       t        j                  «       ¬«      }t        j                  | |t        j                  dd	g«      ¬«      }|j                  j                  |«      sJ ‚|j                  «       dd gk(  sJ ‚t        j                  g «      } t        j                  t        j                  «       t        j                  «       ¬«      }t        j                  | |¬«      }|j                  j                  |«      sJ ‚|j                  «       g k(  sJ ‚t        j                  t        j                  «       t        j                  «       ¬«      }t        j                  | |¬«      }|j                  j                  |«      sJ ‚|j                  «       g k(  sJ ‚t        j                  ddg«      } t        j                  | t        j                  «       ¬«      }t        j                  ddgt        j                  «       ¬«      }|j                  |«      sJ ‚|j                  «       ddgk(  sJ ‚y # 1 sw Y   �ŒéxY w# 1 sw Y   �Œ}xY w)Nr   r   r   r   r    rÌ   )r  Ú
value_typerq  T)r  r!  r  z4The 'ordered' flag of the passed categorical values r$  FrŸ  )r.   rƒ  r  r0   rb   r?   rE   r  r   rŸ  r_   rJ   rß  r   r   r‘   r<  re  r=  )r  r�  rZ   r  rU   s        r7   Ú*test_dictionary_from_pandas_specified_typer"  ¨  s  € ô �.‰.×
#Ñ
#Ü
�‰�!�Q�˜vÔ&¬¯©°#°s°Ä6Ô(JóL€Cô
 �-‰-¤2§8¡8£:¼"¿)¹)»+Ô
F€CÜ�X‰X�c Ô$€FØ�;‰;×Ñ˜cÔ"Ð"Ð"Ø×ÑÓ # s Ò+Ð+Ð+ô �-‰-¤2§7¡7£9¼¿¹»Ô
D€CÜ	�‰”r—‘Ó	'ñ )Ü—‘˜# CÔ(ˆ÷)ô �-‰-Ü—7‘7“9¬¯©«¸dôD€Cà
@€CÜ	�‰”z¨Ô	-ñ )Ü—‘˜# CÔ(ˆ÷)à×ÑÓ # s Ò+Ð+Ð+ô �-‰-¤2§8¡8£:¼"¿)¹)»+Ô
F€CÜ�X‰X�c ¬"¯(©(°E¸4°=Ó*AÔB€FØ�;‰;×Ñ˜cÔ"Ð"Ð"Ø×ÑÓ # t Ò,Ð,Ð,ô �.‰.˜Ó
€Cä
�-‰-¤2§7¡7£9¼¿¹»Ô
E€CÜ�X‰X�c Ô$€FØ�;‰;×Ñ˜cÔ"Ð"Ð"Ø×ÑÓ Ò#Ð#Ð#Ü
�-‰-¤2§7¡7£9¼¿¹»Ô
D€CÜ�X‰X�c Ô$€FØ�;‰;×Ñ˜cÔ"Ð"Ð"Ø×ÑÓ Ò#Ð#Ð#ô �.‰.˜#˜s˜Ó
$€CÜ�X‰X�c¤§	¡	£Ô,€FÜ�x‰x˜˜c˜
¬¯©«Ô5€HØ�=‰=˜Ô"Ð"Ð"Ø×ÑÓ # s Ò+Ð+Ñ+÷E)ñ )ú÷)ñ )ús   Ä7P6Æ0QÐ6Q ÑQc                  ó^  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j
                  dg d¢id¬«      } | j                  d«      } t        j                  | d   j                  j                  «      }t        j                  | d   j                  j                  j                  «      }t        |t        j                  «      sJ ‚t        j                  j                  | d   «      }t        j                   j#                  ||«      }||k(  sJ ‚y )Nz1.3.0z:PyArrow backed string data type introduced in pandas 1.3.0r6   ©rµ   rZ  rµ   zstring[pyarrow]r   r  )r   r.   r1  r‘   rT  r/   r8  rE   rb   r  ÚcodesrŠ  rs   r¿   r›  rH   rC  rÝ   )rT   rF  r  rU   rZ   s        r7   Ú:test_convert_categories_to_array_with_string_pyarrow_dtyper&  Ý  sÚ   € äŒr�~‰~Ó¤¨Ó!1Ò1Ü�‰ÐPÔQä	�‰�sÒ1Ð2Ð:KÔ	L€BØ	�‰�:Ó	€BÜ�h‰h�r˜#‘w—{‘{×(Ñ(Ó)€GÜ—‘˜"˜S™'Ÿ+™+×0Ñ0×7Ñ7Ó8€JÜ�j¤"§(¡(Ô+Ð+Ð+ä�x‰x×#Ñ# B s¡GÓ,€HÜ×Ñ×+Ñ+¨G°ZÓ@€FØ�XÒÐÑrj   c                  ó  — t        j                  dt        j                  g d¢d¬«      i«      } t        j                  | «      }t        j
                  g d¢t        j                  «       «      }|d   j                  d«      j                  |«      sJ ‚t        j                  dt        j                  «       fg«      }t        j                  | |¬«      }t        j
                  g d¢t        j                  «       «      }|d   j                  d«      j                  |«      sJ ‚t        j
                  | d   «      }|j                  |«      sJ ‚t        j
                  | d   t        j                  «       ¬«      }|j                  |«      sJ ‚t        j
                  | d   j                  «      }|j                  |«      sJ ‚t        j
                  | d   j                  t        j                  «       ¬«      }|j                  |«      sJ ‚y )Nr    rÞ  ÚInt64r   r   rr  rq  )r.   r/   rc   rE   rY   rb   r   r7  rJ   r:   r    rs   )rT   rZ   rU   r:   r†  s        r7   Útest_array_protocolr)  ñ  sw  € Ü	�‰�sœBŸI™I¢l¸'ÔBÐCÓ	D€Bô
 �X‰X�b‹\€FÜ�x‰xš¤b§h¡h£jÓ1€HØ�!‰9�?‰?˜1Ó×$Ñ$ XÔ.Ð.Ð.ô �Y‰Y˜œbŸj™j›lÐ+Ð,Ó-€FÜ�X‰X�b Ô(€FÜ—‘š¤r§z¡z£|Ó4€IØ�!‰9�?‰?˜1Ó×$Ñ$ YÔ/Ð/Ð/ô �X‰X�b˜‘gÓ€FØ�=‰=˜Ô"Ð"Ð"Ü�X‰X�b˜‘g¤B§J¡J£LÔ1€FØ�=‰=˜Ô#Ð#Ð#ô �X‰X�b˜‘g—n‘nÓ%€FØ�=‰=˜Ô"Ð"Ð"Ü�X‰X�b˜‘g—n‘n¬2¯:©:«<Ô8€FØ�=‰=˜Ô#Ð#Ñ#rj   c                   ó4   ‡ — e Zd Zˆ fd„Zd„ Zed„ «       Zˆ xZS )ÚDummyExtensionTypec                 óJ   •— t         ‰| �  t        j                  «       d«       y )Nz,pyarrow.tests.test_pandas.DummyExtensionType©ÚsuperÚ__init__rE   r   ©r„   Ú	__class__s    €r7   r/  zDummyExtensionType.__init__  s   ø€ Ü‰ÑœŸ™›ØGõ	Irj   c                  ó   — y©Nrj   r0  r¤  s    r7   Ú__arrow_ext_serialize__z*DummyExtensionType.__arrow_ext_serialize__  ó   € Ørj   c                 óP   — |dk(  sJ ‚|t        j                  «       k(  sJ ‚ | «       S r3  )rE   r   )ÚclsÚstorage_typeÚ
serializeds      r7   Ú__arrow_ext_deserialize__z,DummyExtensionType.__arrow_ext_deserialize__  s+   € à˜SÒ Ð Ð ØœrŸx™x›zÒ)Ð)Ð)Ù‹uˆrj   )r¶  r·  r¸  r/  r4  Úclassmethodr:  Ú__classcell__©r1  s   @r7   r+  r+    s"   ø„ ôIòð ñó ôrj   r+  c                 ó¨   — t        j                  g d¢t        j                  «       ¬«      }t         j                  j	                  t        «       |«      S )Nr   rq  )rE   rb   r   ÚExtensionArrayÚfrom_storager+  )r„   r_   Ústorages      r7   ÚPandasArray__arrow_array__rB    s7   € ô �h‰h’y¤r§x¡x£zÔ2€GÜ×Ñ×)Ñ)Ô*<Ó*>ÀÓHÐHrj   c                 óî  — t        j                  g d¢t        j                  «       ¬«      }t         j                  j	                  t        «       |«      }| j                  t        j                  j                  dt        d¬«       | j                  t        j                  j                  dt        d¬«       t        j                  ddd¬	«      j                  t        j                  d
d«      j                  fD ]û  }t        j                  |«      }|j                  |«      sJ ‚t        j                  t        j                  |«      «      }|j                  |«      sJ ‚t        j                  t        j                   |«      «      }|j                  |«      sJ ‚t        j"                  t        j$                  d|i«      «      j'                  d«      j)                  d«      }|j                  |«      rŒûJ ‚ y )Nr   rq  Ú__arrow_array__F)Úraisingú
2012-01-01r€   ÚDrP  r   r—   r    r   )rE   rb   r   r?  r@  r+  Úsetattrr.   r¡  ÚPeriodArrayrB  ÚIntervalArrayrS  rT  rJ   rc   ré   rY   r/   r  r7  )ÚmonkeypatchrA  rU   rh   rZ   s        r7   Ú*test_array_protocol_pandas_extension_typesrL  %  su  € ô �h‰h’y¤r§x¡x£zÔ2€GÜ× Ñ ×-Ñ-Ô.@Ó.BÀGÓL€Hà×ÑœŸ	™	×-Ñ-Ð/@Ü2¸Eð ô Cà×ÑœŸ	™	×/Ñ/Ð1BÜ2¸Eð ô Cä—‘ °a¸cÔB×HÑHÜ×!Ñ! ! QÓ'×-Ñ-ð/ò 	'ˆä—‘˜#“ˆØ�}‰}˜XÔ&Ð&Ð&Ü—‘œ"Ÿ)™) C›.Ó)ˆØ�}‰}˜XÔ&Ð&Ð&Ü—‘œ"Ÿ(™( 3›-Ó(ˆØ�}‰}˜XÔ&Ð&Ð&Ü—‘œ"Ÿ,™,¨¨S zÓ2Ó3×:Ñ:¸3Ó?×EÑEÀaÓHˆØ�}‰}˜XÕ&Ð&Ð&ñ	'rj   c                 ó\  — t        |t        j                  «      r|}n|j                  d«      }|j	                  «       }t        j                  |d   d¬«      |j                  |j                  t        |«      z    }|d   }|�Tt        j                  j                  t        j                  «       t        |«      d |g«      }t        j                  |«      }n$t        j                  t        |«      t        ¬«      }t        j                   j#                  |j%                  «       | d¬«      }|S )Nr   r@  r   r   F)rr   )r¿   rE   r›  r7  Úbuffersr0   Ú
frombufferÚoffsetr¾   ÚBooleanArrayÚfrom_buffersrå  r»  r,  r!   r.   r¡  ÚIntegerArrayrr   )r„   rb   rh   ÚbuflistrŸ   Úbitmaskrl   Úint_arrs           r7   Ú_Int64Dtype__from_arrow__rW  ?  sâ   € ô �%œŸ™Ô"Ø‰ð �k‰k˜!‹nˆØ�k‰k‹m€GÜ�=‰=˜ ™¨GÔ4Ø�
‰
�3—:‘:¤ C£Ñ(ð*€Dà�a‰j€GØÐÜ�‰×+Ñ+Ü�H‰H‹Jœ˜C› 4¨ /ó3ˆä�z‰z˜$Ó‰ä�w‰w”s˜3“x¤tÔ,ˆÜ�i‰i×$Ñ$ T§Y¡Y£[°4°%¸eÐ$ÓD€GØ€Nrj   c                 óz  — t        j                  g d¢t        j                  g d¢d¬«      g d¢dœ«      }t        j                  |«      }|j                  «       }t        |«      j                  d   j                  j                  t        j                  d«      k(  sJ ‚t        |«      j                  d	   j                  j                  t        j                  «       k(  sJ ‚t        j                  ||«       t        j                  d
t        j                  g d¢d¬«      i«      }t        j                  |«      }|j                  «       }t        |«      j                  d   j                  j                  t        j                  «       k(  sJ ‚t        j                  ||«       t        t         j                  «      t        d«      k  r?| j!                  t         j"                  j$                  j&                  j(                  d«       n>| j!                  t         j"                  j$                  j&                  j*                  d«       |j                  «       }t-        t        |«      j                  «      d	k(  sJ ‚t        |«      j                  d   j                  j                  t        j                  d«      k(  sJ ‚y )Nr   rp  r(  r   )r—   r˜   r®   r‡  r   r   r   r    rÞ  ú	1.3.0.devÚ__from_arrow__)r.   r/   rb   rE   rY   rI   rÒ  rÔ  rs   r   r0   Ú
Int64DtyperR   rS   r   r1  ÚdelattrÚcorer¡  ÚintegerÚ_IntegerDtypeÚNumericDtyper¾   )rK  rT   rY   rZ   rÂ   rX  s         r7   Útest_convert_to_extension_arrayra  U  s   € ô 
�‰ÚœbŸh™h¢y¸Ô@Úñ	ó
€Bô �H‰H�R‹L€Eð �_‰_Ó€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·h±h¸wÓ6GÒGÐGÐGÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·m±m³oÒEÐEÐEÜ×Ñ˜& "Ô%ô �,‰,˜œRŸX™X¢l¸'ÔBÐCÓ
D€CÜ�X‰X�c‹]€FØ×ÑÓ€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·m±m³oÒEÐEÐEÜ×Ñ˜& #Ô&ô Œr�~‰~Ó¤¨Ó!5Ò5Ø×ÑÜ�G‰G�N‰N×"Ñ"×0Ñ0Ð2Bõ	Dð 	×ÑÜ�G‰G�N‰N×"Ñ"×/Ñ/Ð1Aô	Cð �_‰_Ó€FÜŒx˜Ó×&Ñ&Ó'¨1Ò,Ð,Ð,Ü�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·h±h¸wÓ6GÒGÐGÑGrj   c                   ó*   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zˆ xZS )ÚMyCustomIntegerTypec                 óJ   •— t         ‰| �  t        j                  «       d«       y )Nz-pyarrow.tests.test_pandas.MyCustomIntegerTyper-  r0  s    €r7   r/  zMyCustomIntegerType.__init__z  s   ø€ Ü‰ÑœŸ™›ØHõ	Jrj   c                  ó   — yr3  r0  r¤  s    r7   r4  z+MyCustomIntegerType.__arrow_ext_serialize__~  r5  rj   c                 ó*   — t        j                  «       S rú  )r.   r[  r¤  s    r7   r½  z#MyCustomIntegerType.to_pandas_dtype�  s   € Ü�}‰}‹Ðrj   )r¶  r·  r¸  r/  r4  r½  r<  r=  s   @r7   rc  rc  x  s   ø„ ôJòörj   rc  c                 óÊ  — t        j                  g d¢t        j                  «       «      }t         j                  j	                  t        «       |«      }t        j                  d|i«      }|j                  «       }t        |«      j                  d   j                  j                  t        j                  «       k(  sJ ‚t        j                  g d¢d¬«      }t        j                   ||«       |j                  «       }t        |«      j                  d   j                  j                  t        j                  «       k(  sJ ‚t        j"                  dt        j                  g d¢d¬«      i«      }t        j$                  ||«       t'        t        j(                  «      t'        d«      k  r?| j+                  t        j,                  j.                  j0                  j2                  d«       n>| j+                  t        j,                  j.                  j0                  j4                  d«       |j                  «       }t        |«      j                  d   j                  j                  t7        j                  d«      k(  sJ ‚t        j                  g d¢«      }t        j                   ||«       t9        j:                  t<        «      5  |j                  «        d d d «       y # 1 sw Y   y xY w)	Nr¶   r    r   r(  r   rY  rZ  r   )rE   rb   r   r?  r@  rc  rY   rI   rÒ  rÔ  rs   r   r.   r[  rc   rR   rd   r/   rS   r   r1  r\  r]  r¡  r^  r_  r`  r0   r‘   r<  r=  )rK  rA  rh   rY   rZ   rU   s         r7   Ú/test_conversion_extensiontype_to_extensionarrayrh  …  s  € ä�h‰h’|¤R§X¡X£ZÓ0€GÜ
×
Ñ
×
(Ñ
(Ô)<Ó)>ÀÓ
H€CÜ�H‰H�c˜3�ZÓ €Eð �]‰]‹_€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·m±m³oÒEÐEÐEÜ�y‰yš¨WÔ5€HÜ×Ñ˜6 8Ô,à�_‰_Ó€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·m±m³oÒEÐEÐEÜ�|‰|˜S¤"§(¡(ª<¸wÔ"GÐHÓI€HÜ×Ñ˜& (Ô+ô Œr�~‰~Ó¤¨Ó!5Ò5Ø×ÑÜ�G‰G�N‰N×"Ñ"×0Ñ0Ð2Bõ	Dð 	×ÑÜ�G‰G�N‰N×"Ñ"×/Ñ/Ð1Aô	Cð �]‰]‹_€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·h±h¸wÓ6GÒGÐGÐGÜ�y‰yšÓ&€HÜ×Ñ˜6 8Ô,ä	�‰”zÓ	"ñ Ø�‰Ô÷÷ ñ ús   Ê?KËK"c            	      óâ  — t        j                  dt        j                  g d¢t        j                  «       «      i«      } | j	                  «       }|d   j
                  t        j
                  d«      k(  sJ ‚| j	                  t        j                  «       t        j                  «       ij                  ¬«      }t        |d   j
                  t        j                  «      sJ ‚t        j                  dt        j                  g d¢t        j                  «       «      i«      } | j	                  t        j                  «       t        j                  «       ij                  ¬«      }|d   j
                  t        j
                  d«      k(  sJ ‚t        j                  t        j                  dt        j                  g d¢d¬«      i«      «      } | j	                  «       }t        |d   j
                  t        j                  «      sJ ‚| j	                  t        j                  «       t        j                  d«      ij                  ¬«      }t        |d   j
                  t        j                  «      sJ ‚y )	Nr    r   r   ©Útypes_mapperr   r(  r   rG  )rE   rY   rb   r   rI   r   r0   r.   r[  r¢  r¿   r   r/   ÚPeriodDtype)rY   rZ   s     r7   Ú'test_to_pandas_extension_dtypes_mappingrm  ©  s«  € Ü�H‰H�cœ2Ÿ8™8¢I¬r¯x©x«zÓ:Ð;Ó<€Eð �_‰_Ó€FØ�#‰;×Ñ¤§¡¨Ó 1Ò1Ð1Ð1ð �_‰_¬2¯8©8«:´r·}±}³Ð*G×*KÑ*Kˆ_ÓL€FÜ�f˜S‘k×'Ñ'¬¯©Ô7Ð7Ð7ô �H‰H�cœ2Ÿ8™8¢I¬r¯x©x«zÓ:Ð;Ó<€EØ�_‰_¬2¯8©8«:´r·}±}³Ð*G×*KÑ*Kˆ_ÓL€FØ�#‰;×Ñ¤§¡¨Ó 1Ò1Ð1Ð1ô �H‰H”R—\‘\ 3¬¯©²À'Ô(JÐ"KÓLÓM€EØ�_‰_Ó€FÜ�f˜S‘k×'Ñ'¬¯©Ô7Ð7Ð7Ø�_‰_Ü—h‘h“j¤"§.¡.°Ó"5Ð6×:Ñ:ð ó <€Fä�f˜S‘k×'Ñ'¬¯©Ô8Ð8Ñ8rj   c                  ó  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j                  t        j                  dt        j                  «       d¬«      t        j                  dt        j                  «       d¬«      g«      } t        j                  | «      }t        j                  t        j                  d| «      g«      }t        j                  ddt        j                  d	«      d
œiddd d
œig«      j                  d|i«      }t
        j                  j!                  ||¬«      }|j#                  t        j                  ¬«      }t        j$                  j'                  ||«       y )Nz1.5.2zTest relies on pd.ArrowDtyperZ  FrÛ  ri  Trµ   r   )rZ  ri  rr  rj  )r   r.   r1  r‘   rT  rE   rÙ  r‚   rå  r   Ú
ArrowDtyper:   r/   r0   r8  rG   rH   rI   rP  rS   )rú  Úpd_typer:   Údf0rY   r‡  s         r7   Ú4test_to_pandas_extension_dtypes_mapping_complex_typerr  Â  s  € äŒr�~‰~Ó¤¨Ó!1Ò1Ü�‰Ð2Ô3Ü�i‰iä�H‰H�UœBŸH™H›J°Ô7Ü�H‰H�UœBŸJ™J›L°4Ô8ð	
ó€Gô �m‰m˜GÓ$€GÜ�Y‰YœŸ™ ¨Ó0Ð1Ó2€FÜ
�,‰,à˜D¬¯©°A«Ñ7Ð8Ø˜D¨Ñ.Ð/ð	
ó÷
 �fˆe�WÐÓð ô �H‰H× Ñ  ¨VÐ Ó4€EØ
�/‰/¤r§}¡}ˆ/Ó
5€CÜ‡J�J×!Ñ! # sÕ+rj   c                  óL  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j
                  ddd¬«      j                  t        j                  dd«      j                  fD ]¥  } t        j                  | «      j                  «       }t        j                  | «      }t        j                  ||«       t        j                  d	| i«      d	   j                  «       }t        j                  | d	¬
«      }t        j                  ||«       Œ§ y )Nz1.1z'ExtensionDtype to_pandas method missingrF  r€   rG  rP  r   r—   r[   r`   )r   r.   r1  r‘   rT  rS  rb   rT  rE   rI   rc   rR   rd   rY   )rh   rZ   rU   s      r7   Útest_array_to_pandasrt  Û  sÔ   € ÜŒr�~‰~Ó¤¨£Ò/Ü�‰Ð=Ô>ä—‘ °a¸cÔB×HÑHÜ×!Ñ! ! QÓ'×-Ñ-ð/ò 1ˆä—‘˜#“×(Ñ(Ó*ˆÜ—9‘9˜S“>ˆÜ
×Ñ˜v xÔ0ä—‘˜5 #˜,Ó'¨Ñ.×8Ñ8Ó:ˆÜ—9‘9˜S uÔ-ˆÜ
×Ñ˜v xÕ0ñ1rj   c            
      óÞ  — t        j                  t        j                  dd¬«      ¬«      } t        j                  | «      }t        t         j                  «      t        d«      kD  r9t        j                  |j                  «       j                  | j                  «       y t        j                  |j                  «       j                  t        j                  dddœdddœdddœgd	¬
«      «       y )Nr   r€   )r,  Úendrº   z1.0r   )r  r  r)   r?   r   )r.   r/   rT  rE   rY   r   r1  rR   Úassert_index_equalrI   r”   ré   ©rT   rY   s     r7   Ú5test_roundtrip_empty_table_with_extension_dtype_indexry  ê  s«   € Ü	�‰œB×-Ñ-°A¸1Ô=Ô	>€BÜ�H‰H�R‹L€EÜŒr�~‰~Ó¤¨£Ò/Ü
×Ñ˜eŸo™oÓ/×5Ñ5°r·x±xÕ@ä
×Ñ˜eŸo™oÓ/×5Ñ5Ü Ÿh™h°¸QÑ(?Ø12¸QÑ(?Ø12¸QÑ(?ð(Að .6ô7õ	8rj   r”   r    rÌ   c                 óØ  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j
                  ddgddgddgd	œt        j                  t        j                  «       «      ¬
«      j                  | «      }|j                  «       }t        j                  |«      }|j                  t        j                  ¬«      }t        j                  ||«       y )Nz1.5.0zArrowDtype missingr   r)   r€   r—   r˜   r®   r‡  r   rj  )r   r.   r1  r‘   rT  r/   ro  rE   r   r�   rr   rY   rI   rR   rS   )r”   rT   rU   rY   rZ   s        r7   Ú!test_to_pandas_types_mapper_indexr{  ÷  s®   € äŒr�~‰~Ó¤¨Ó!1Ò1Ü�‰Ð(Ô)Ü	�‰à�Q�Ø�Q�Ø�Q�ñ	
ô
 �m‰mœBŸH™H›JÓ'ô
÷ �i�Óð ð �w‰w‹y€HÜ�H‰H�R‹L€EØ�_‰_¬"¯-©-ˆ_Ó8€FÜ×Ñ˜& (Õ+rj   c                  ó  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j                  g d¢t        j                  «       «      } t        j                  «       t        j                  «       ij                  }| j                  |¬«      }|j                  t        j                  «       k(  sJ ‚t        j                  «       d ij                  }| j                  |¬«      }|j                  t        j                  d«      k(  sJ ‚t        j                  «       t        j                  «       ij                  }| j                  |¬«      }|j                  t        j                  d«      k(  sJ ‚y ©Nz1.2.0z$Float64Dtype extension dtype missingr   rj  r   )r   r.   r1  r‘   rT  rE   rb   r   r[  r¢  rI   r   r0   r    ÚFloat64Dtype©rŸ   rk  rZ   s      r7   Ú!test_array_to_pandas_types_mapperr€  	  s  € äŒr�~‰~Ó¤¨Ó!1Ò1Ü�‰Ð:Ô;ä�8‰8’IœrŸx™x›zÓ*€Dô —H‘H“J¤§¡£Ð0×4Ñ4€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ=™=›?Ò*Ð*Ð*ô —H‘H“J Ð%×)Ñ)€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ð,ô —J‘J“L¤"§/¡/Ó"3Ð4×8Ñ8€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ñ,rj   c                  óv  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j                  t        j                  g d¢t        j                  «       «      g«      } t        | t
        j                  «      sJ ‚t        j                  «       t        j                  «       ij                  }| j                  |¬«      }|j                  t        j                  «       k(  sJ ‚t        j                  «       d ij                  }| j                  |¬«      }|j                  t        j                  d«      k(  sJ ‚t        j                   «       t        j"                  «       ij                  }| j                  |¬«      }|j                  t        j                  d«      k(  sJ ‚y r}  )r   r.   r1  r‘   rT  rE   rš  rb   r   r¿   rT  r[  r¢  rI   r   r0   r    r~  r  s      r7   Ú)test_chunked_array_to_pandas_types_mapperr‚     s2  € ô Œr�~‰~Ó¤¨Ó!1Ò1Ü�‰Ð:Ô;ä×ÑœRŸX™X¢i´·±³Ó<Ð=Ó>€DÜ�dœBŸO™OÔ,Ð,Ð,ô —H‘H“J¤§¡£Ð0×4Ñ4€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ=™=›?Ò*Ð*Ð*ô —H‘H“J Ð%×)Ñ)€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ð,ô —J‘J“L¤"§/¡/Ó"3Ð4×8Ñ8€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ñ,rj   c                  óF  — g d¢} g d¢}t        j                  | d¬«      }t        j                  |d¬«      }t        j                  g d¢d¬«      }d}d}t        j                  d	| it        j                  d
ddd¬«      ¬«      }t         j
                  j                  ||gd	dg¬«      }|j                  dt        j                  dgd d ddddidœgd	d	ddd dœddddd dœgddœ«      i«      }|j                  «       }	t        j                  |	|«       t        j                  d| it        j                  d
ddd¬«      ¬«      }
t         j
                  j                  ||gd|g¬«      }|j                  dt        j                  |gd d ddddidœgd	d	ddd dœd|ddd dœgddœ«      i«      }|j                  «       }t        j                  ||
«       t        j                  d	| it        j                  d
ddd ¬«      ¬«      }t         j
                  j                  ||gd	|g¬«      }|j                  dt        j                  |gd d ddddidœgd	d	ddd dœd |ddd dœgddœ«      i«      }|j                  «       }t        j                  ||«       t        j                  d	| it        j                  d
ddd¬«      |g¬«      }t         j
                  j                  |||gd	d|g¬«      }|j                  dt        j                  d|gd d ddddidœgd	d	ddd dœddddd dœd |ddd dœgddœ«      i«      }|j                  «       }t        j                  ||«       t        j                  d	| it        j                  d
ddd ¬«      |g¬«      }t         j
                  j                  |||gd	||g¬«      }|j                  dt        j                  ||gd d ddddidœgd	d	ddd dœd |ddd dœd |ddd dœgddœ«      i«      }|j                  «       }t        j                  ||«       y )N)rµ   rZ  Nri  )r    r    rÌ   rÌ   r%  rq  ro  r   rÿ   Ú__index_level_1__r    r   r·   r)   rG  r¸   rº   rã   ó   pandasr   r?   r!  r"  )ra   r   r  r  r  z0.23.4)r  r  rK   r¨  )rE   rb   r.   r/   r½   rG   rÝ   Úreplace_schema_metadataÚjsonÚdumpsrI   rR   rS   )Úa_valuesÚb_valuesÚa_arrowÚb_arrowÚrng_index_arrowÚ
gen_name_0Ú
gen_name_1Úe1rè  Úr1Úe2ré  Úr2Úe3Út3Úr3Úe4Út4Úr4Úe5Út5Úr5s                         r7   Ú)test_metadata_compat_range_index_pre_0_12r�  =  s\  € ò +€HÚ#€HÜ�h‰h�x fÔ-€GÜ�h‰h�x fÔ-€Gä—h‘hš|°'Ô:€Oà$€JØ$€Jô 
�‰ØˆXðä�]‰]˜1˜a a¨eÔ4ô
6€Bô 
�‰×	Ñ	˜w¨Ð8Ø%(¨% Lð 
ó 
2€Bà	×	#Ñ	#Ø”4—:‘:Ø$˜gØ)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #(Ø(-Ø)0Ø(/Ø&*ñ	,ð	-ð  (ñ!)ó
ð%ó 
€Bð( 
�‰‹€BÜ×Ñ˜"˜bÔ!ô 
�‰Øˆxðä�]‰]˜1˜a a¨eÔ4ô
6€Bô 
�‰×	Ñ	˜w¨Ð8Ø%*¨JÐ$7ð 
ó 
9€Bà	×	#Ñ	#Ø”4—:‘:Ø)˜lØ)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #(Ø(2Ø)0Ø(/Ø&*ñ	,ð	-ð  (ñ!)ó
ð%ó 
€Bð( 
�‰‹€BÜ×Ñ˜"˜bÔ!ô 
�‰ØˆXðä�]‰]˜1˜a a¨dÔ3ô
5€Bô 
�‰×	Ñ	˜w¨Ð8Ø%(¨*Ð$5ð 
ó 
7€Bà	×	#Ñ	#Ø”4—:‘:Ø)˜lØ)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #'Ø(2Ø)0Ø(/Ø&*ñ	,ð	-ð  (ñ!)ó
ð%ó 
€Bð( 
�‰‹€BÜ×Ñ˜"˜bÔ!ô 
�‰ØˆXðä�m‰m˜A˜q q¨uÔ5°xÐ@ô
B€Bô 
�‰×	Ñ	˜w¨¸ÐAØ%(¨%°Ð$<ð 
ó 
>€Bà	×	#Ñ	#Ø”4—:‘:Ø$ jÐ1Ø)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #(Ø(-Ø)0Ø(/Ø&*ñ	,ð
 #'Ø(2Ø)2Ø(0Ø&*ñ	,ð-ð  (ñ+)ó
ð%ó 
€Bð2 
�‰‹€BÜ×Ñ˜"˜bÔ!ô 
�‰ØˆXðä�m‰m˜A˜q q¨tÔ4°hÐ?ô
A€Bô 
�‰×	Ñ	˜w¨¸ÐAØ%(¨*°jÐ$Að 
ó 
C€Bà	×	#Ñ	#Ø”4—:‘:Ø)¨:Ð6Ø)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #'Ø(2Ø)0Ø(/Ø&*ñ	,ð
 #'Ø(2Ø)2Ø(0Ø&*ñ	,ð-ð  (ñ+)ó
ð%ó 
€Bð2 
�‰‹€BÜ×Ñ˜"˜bÕ!rj   c                  óØ  — g d¢} g d¢}t        j                  | d¬«      }t        j                  |d¬«      }t        j                  | |dœt        j                  ddd	d
¬«      ¬«      }t        j
                  ||dœ«      }|j                  dt        j                  d d d dddœgd ddddœd ddddœgdd
dd	ddœgddœ«      i«      }|j                  «       }t        j                  ||«       y )Nr¶   )r    rÌ   rÛ   r  r   rq  r%  r7  r   r·   r)   rG  r¸   rº   r…  r?   zmixed-integer)r   r  ra   r  r  r    )r  ra   r  r  rÌ   r   r4   )Úkindra   r,  r¹   rò  z0.25.0)r  rK   r  r¨  )rE   rb   r.   r/   r½   rY   r†  r‡  rˆ  rI   rR   rS   )r‰  rŠ  r‹  rŒ  rU   rY   rZ   s          r7   Ú'test_metadata_compat_missing_field_namer   æ  s  € ò €HÚ#€HÜ�h‰h�x gÔ.€GÜ�h‰h�x fÔ-€Gä�|‰|ØØñô �]‰]˜1˜a a¨eÔ4ô6€Hô �H‰H˜7¨Ñ1Ó2€Eð ×)Ñ)Ø”4—:‘:à#Ø!ØØ'Ø /ñ	1ðð "ØØ&Ø 'ñ)ð "ØØ'Ø )ñ+ð	ð !ØØØØñ	ðð 'ñ3(ó 
ð+ó €Eð: �_‰_Ó€FÜ×Ñ˜& (Õ+rj   c            	      óø   — t        j                  d«      } t        j                  t	        j
                  t	        j                  dd| ¬«      ¬«      «      }|j                  j                  }|d   d   d   dk(  sJ ‚y )	Nr®   r   r—   r`   rº   r  ra   Ú6)	r0   r   rE   rY   r.   r/   r½   r:   r  ©ra   rY   r  s      r7   Ú.test_metadata_index_name_not_json_serializabler¤    s_   € Ü�8‰8�A‹;€DÜ�H‰H”R—\‘\¬¯©°a¸ÀÔ(FÔGÓH€EØ�|‰|×+Ñ+€HØ�OÑ$ QÑ'¨Ñ/°3Ò6Ð6Ñ6rj   c            	      óÒ   — d} t        j                  t        j                  t        j                  dd| ¬«      ¬«      «      }|j
                  j                  }|d   d   d   dk(  sJ ‚y )Nr®   r   r—   r`   rº   r  ra   )rE   rY   r.   r/   r½   r:   r  r£  s      r7   Ú-test_metadata_index_name_is_json_serializabler¦     sW   € Ø€DÜ�H‰H”R—\‘\¬¯©°a¸ÀÔ(FÔGÓH€EØ�|‰|×+Ñ+€HØ�OÑ$ QÑ'¨Ñ/°1Ò4Ð4Ñ4rj   c            
      óf  — t        j                  t        j                  dd«      t        j                  dd«      t        j                  dd«      t        j                  dd«      gt        j                  dd«      t        j                  dd«      t        j                  dd«      t        j                  dd«      gd	œ«      } | d
   j	                  d«      | d
<   | j
                  j                  | j                  j                  ft        j                  d«      t        j                  d«      fk(  sJ ‚| S )Nz0001-01-01 00:00rb  z2012-05-02 12:35z2012-05-03 15:42z3000-05-03 15:42z1991-01-01 00:00r&  z2050-05-03 15:42)Ú
dateTimeMsÚ
dateTimeNsr¨  r?   rL  zM8[ns])r.   r/   r0   rX  r8  r¨  r   r©  rì  s    r7   Úmake_df_with_timestampsrª  '  s  € ô 
�‰ä�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3ð	
ô �M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3ð	
ñó 
€Bð ˜,Ñ'×.Ñ.¨xÓ8€B€|Ñð �M‰M×Ñ §¡×!4Ñ!4Ð5ä
�‰�‹”r—x‘x Ó)ð:ò ð ð ð €Irj   c                 ó  — t        «       }t        j                  j                  |«      }| dz  }t	        j
                  ||«       t	        j                  |«      }|j                  d¬«      }t        j                  ||«       y )Nztimestamps_from_pandas.parquetT©Útimestamp_as_object)
rª  rE   rG   rH   ÚpqÚwrite_tableÚ
read_tablerI   rR   rS   )ÚtempdirrT   rY   ÚfilenamerZ   rÂ   s         r7   Ú test_timestamp_as_object_parquetr³  B  sj   € ô 
!Ó	"€BÜ�H‰H× Ñ  Ó$€EØÐ9Ñ9€HÜ‡N�N�5˜(Ô#Ü�]‰]˜8Ó$€FØ
×
Ñ
¨tÐ
Ó
4€CÜ×Ñ˜"˜cÕ"rj   c                  ó¦   — t        «       } t        j                  j                  | «      }|j	                  d¬«      }t        j                  | |«       y )NTr¬  )rª  rE   rG   rH   rI   rR   rS   )rT   rY   rÂ   s      r7   Ú%test_timestamp_as_object_out_of_rangerµ  O  s@   € ô 
!Ó	"€BÜ�H‰H× Ñ  Ó$€EØ
�/‰/¨dˆ/Ó
3€CÜ×Ñ˜"˜cÕ"rj   Ú
resolutionr  r¥   r*  r¯  i  iä  c                 óÖ  — t        j                  |gt        j                  | |¬«      ¬«      }t        j                  d|i«      }|j	                  d¬«      |j	                  d¬«      d   fD ]{  }|j
                  t        k(  sJ ‚t        |d   t        «      sJ ‚|r0|d   j                  €J ‚|d   j                  j                  |«      }n|d   j                  �J ‚|}|d   |k(  rŒ{J ‚ y )Nr¬  rq  r    Tr¬  r   )rE   rb   r­  rY   rI   r   r?   r¿   r   rv  Úfromutc)r¶  r¥   r¯  rh   rY   rZ   rU   s          r7   Ú'test_timestamp_as_object_non_nanosecondr¹  X  sï   € ô �(‰(�B�4œbŸl™l¨:¸"Ô=Ô
>€CÜ�H‰H�c˜3�ZÓ €Eð 	�‰¨$ˆÓ/Ø�‰¨DˆÓ1°#Ñ6ðò %ˆð �|‰|œvÒ%Ð%Ð%Ü˜& ™)¤XÔ.Ð.Ð.ÙØ˜!‘9×#Ñ#Ð/Ð/Ð/Ø˜a‘y×'Ñ'×/Ñ/°Ó3‰Hà˜!‘9×#Ñ#Ð+Ð+Ð+ØˆHØ�a‰y˜HÓ$Ð$Ð$ñ%rj   c            	      óR  — t        j                  d«      } dd l}| j                  d«      } |j                   |j                  ddddd«      «      }t        j                  d	t        j                  |g«      i«      }|j                  d
¬«      }t        j                  |«      |k(  sJ ‚y )Nrr  r   éx   iæ  r˜   r  rì  é9   Útimestamp_colTr¬  )	r‘   rw  r   ry  ÚlocalizerE   rY   rb   rI   )rr  r   r   r¯  rY   rZ   s         r7   Ú%test_timestamp_as_object_fixed_offsetr¿  q  s‘   € ä×Ñ˜vÓ&€DÛØ×Ñ Ó$€HØ	ˆ×	Ñ	Ð,˜8×,Ñ,¨T°1°b¸"¸bÓAÓ	B€Bä�H‰H�o¤r§x¡x°°£~Ð6Ó7€EØ�_‰_°ˆ_Ó6€FÜ�8‰8�FÓ˜uÒ$Ð$Ñ$rj   c                  ó   — t        d«       y )Nzpandas_threaded_import.py)r   r0  rj   r7   Útest_threaded_pandas_importrÁ  }  s   € äÐ-Õ.rj   c                  ó€  — t        j                  d«      } t        j                  t         j                  «      | k(  sJ ‚t        j                  dt        j                  «       gi«      }t
        j                  j                  |«      }|j                  «        t        j                  t         j                  «      | k(  sJ ‚y )NÚm8r    )	r0   r   r$  r.   r/   rE   rG   rH   rI   )rU   rT   r  s      r7   Ú$test_does_not_mutate_timedelta_dtyperÄ  ‚  s   € Ü�x‰x˜‹~€Hä�8‰8”B—N‘NÓ# xÒ/Ð/Ð/ä	�‰�sœRŸ^™^Ó-Ð.Ð/Ó	0€BÜ
�‰×Ñ˜RÓ €AØ‡K�K„Mä�8‰8”B—N‘NÓ# xÒ/Ð/Ñ/rj   c                  óÎ   — ddl m}  d | dd¬«      ig} | ddd	¬
«      g}t        j                  ||dœ«      }|j	                  «       }|d   d   j                  «       |d   k(  sJ ‚y )Nr   )r   Útimedelta_1r  r   )r\  r1  r€   é(   rs  )r�  r]  r\  )rÆ  Útimedelta_2rÈ  )r   r   rE   rY   rI   Úto_pytimedelta)r   rÆ  rÈ  rY   rT   s        r7   Ú%test_does_not_mutate_timedelta_nestedrÊ  Ž  sp   € õ #Ø!¡9°RÀaÔ#HÐIÐJ€KÙ 1¨b¸"Ô=Ð>€KÜ�H‰H [ÀÑMÓN€EØ	�‰Ó	€BàˆmÑ˜QÑ×.Ñ.Ó0°KÀ±NÒBÐBÑBrj   c                  ó´  — t        j                  t        j                  dt        j                  t        j                  t        j
                  «       t        j                  t        j                  dt        j                  «       «      g«      «      «      «      g«      } t        j                  dggd dddifgddd ifdddifgggg| ¬	«      }t        j                  ddggd dddifgddd ifdddifgggi«      }t        j                  dd
d igd dddiidd iddidœggi«      }|j                  «       }|j                  d¬«      }t        j                  ||«       t        j                  ||«       t         j                  j                  || ¬	«      }|j!                  |«      sJ ‚t         j                  j                  || ¬	«      }|j!                  |«      sJ ‚y )Nr    rÌ   )r   Nr)   s   abcr€   r—   s   defrr  r   rº  Ústrict©Úmaps_as_pydicts)rE   r:   r‚   rs  r$  r   rÙ  rL  rY   r.   r/   rI   rR   rS   rG   rH   rJ   )r:   rY   Úexpected_default_dfÚexpected_as_pydicts_dfÚ
default_dfÚas_pydicts_dfÚtable_default_roundtripÚtable_as_pydicts_roundtrips           r7   Ú,test_roundtrip_nested_map_table_with_pydictsrÕ  ›  sð  € Ü�Y‰YÜ
�‰ØÜ�H‰HÜ—‘œŸ™›	¤2§9¡9¬b¯h©h°s¼B¿I¹I»KÓ.HÐ-IÓ#JÓKóó	
ðó €Fô �H‰HØ
ˆˆØà�#�v�ÐÐ Ø�#�t�Ð  C¨ =Ð1Ð2ð	
ðð ð ô	€Eô Ÿ,™,Ø	��ˆ}˜d q¨3°¨-Ð&8Ð%9Ø'(¨3°¨+Ð&6¸¸SÀ&¸MÐ8JÐ%Kð%Mð Nð 	OóÐô  Ÿ\™\Ø	Ø�ˆYˆKØØ�#�v�Ð c¨4 [°c¸6°]Ñ!CÐDð
ð 	óÐð —‘Ó"€JØ—O‘O°H�OÓ=€Mä×Ñ˜*Ð&9Ô:Ü×Ñ˜-Ð)?Ô@ä Ÿh™h×2Ñ2°:ÀfÐ2ÓMÐØ�<‰<Ð/Ô0Ð0Ð0ä!#§¡×!5Ñ!5°mÈFÐ!5Ó!SÐØ�<‰<Ð2Ô3Ð3Ñ3rj   c            	      ó”  ‡— t        j                  ddg«      } t        j                  g d¢«      }t        j                  g t        j                  «       «      }t        j                  ddgddggt        j                  t        j                  «       «      «      }t        j                  g ddd	gd
dggt        j                  t        j                  «       «      «      }t        j                  g t        j                  t        j                  «       «      «      }t         j                  j                  ddg| |«      }t         j                  j                  g d¢||«      }t         j                  j                  ddg||«      }t        j                  t         j                  j                  ddg|«      j                  d«      t         j                  j                  ddg|j                  d«      «      j                  d«      t         j                  j                  ddg|«      j                  d«      g«      }	|	j                  «       }
t        j                  dddgfdddgfggdd
dgfggg g«      }|	j                  d¬«      }t        j                  ddgddgdœgdd
dgigg g«      }|	j                  dd«      }|j                  «       }t        j                  dd
dgfggg g«      }|j                  d¬«      }t        j                  dd
dgigg g«      }t        j                  «       5  t        j                  ddt        «       t!        j"                  |
|«       t!        j"                  ||«       t!        j"                  ||«       t!        j"                  ||«       ddd«       t        j                  t        j$                  t        j                  «       t        j                  t        j                  «       «      «      «      Šdt        j                  ddfˆfd„} ||
|	«        |||	«        |||«        |||«       y# 1 sw Y   Œ¦xY w)z=
    Slightly more robust test with chunking and slicing
    rµ   rZ  )ri  rG  r!  r"  r    rÌ   rÛ   r  Nr  r  r#  r   r)   )r   r€   r—   r   r"  rÌ  rÍ  ©rµ   rZ  r€   r@   rA   r¹  Úreturnc                 ó¸   •— t        j                  t         j                  j                  | ‰¬«      «      }|j	                  d¬«       |j                  |«      sJ ‚y )Nrq  Tr[  )rE   rš  r›  rH   r^  rJ   )r¹  rŸ   Úarray_roundtripr9  s      €r7   Úassert_roundtripzMtest_roundtrip_nested_map_array_with_pydicts_sliced.<locals>.assert_roundtrip  sJ   ø€ Ü×*Ñ*¬2¯8©8×+?Ñ+?ÀÈRÐ+?Ó+PÓQˆØ× Ñ  dÐ Ô+Ø�{‰{˜?Ô+Ð+Ñ+rj   )rE   rb   rŸ  rs  r*  rÝ   rš  r  r)  rI   r.   rc   rN   rO   rP   rQ   rR   rd   r$  )Úkeys_1Úkeys_2Úkeys_3Úitems_1Úitems_2Úitems_3Úmap_chunk_1Úmap_chunk_2Úmap_chunk_3rš  Úseries_defaultÚexpected_series_defaultÚseries_pydictsÚexpected_series_pydictsÚslicedÚseries_default_slicedÚexpected_series_default_slicedÚseries_pydicts_slicedÚexpected_series_pydicts_slicedrÛ  r9  s                       @r7   Ú3test_roundtrip_nested_map_array_with_pydicts_slicedrî  È  sÄ  ø€ ô �X‰X�u˜e�nÓ%€FÜ�X‰XÒ3Ó4€FÜ�X‰X�bœ"Ÿ)™)›+Ó&€Fä�h‰hØ
ˆsˆ�c˜3�ZÐ Ü
�‰”—‘“Óó€Gô �h‰hØ	ˆT�D˜#�;  c 
Ð+Ü
�‰”—‘“Óó€Gô �h‰hØ
Ü
�‰”—‘“Óó€Gô
 —+‘+×)Ñ)¨1¨a¨&°&¸'ÓB€KÜ—+‘+×)Ñ)ª)°V¸WÓE€KÜ—+‘+×)Ñ)¨1¨a¨&°&¸'ÓB€KÜ×$Ñ$Ü
�‰× Ñ  ! Q ¨Ó5×;Ñ;¸AÓ>Ü
�‰× Ñ  ! Q ¨×):Ñ):¸1Ó)=Ó>×DÑDÀQÓGÜ
�‰× Ñ  ! Q ¨Ó5×;Ñ;¸AÓ>ð&ó €Mð #×,Ñ,Ó.€NÜ Ÿi™iØ�3˜�*Ð
 ¨¨S zÐ2Ð	3Ð4Ø�3˜�*Ð
Ð	ÐØ
ð)ó Ðð #×,Ñ,¸XÐ,ÓF€NÜ Ÿi™iØ�s� S¨# JÑ	/Ð0Ø
�#�s�Ð	ÐØ
ð)ó Ðð × Ñ   AÓ&€FØ"×,Ñ,Ó.ÐÜ%'§Y¡YØ�3˜�*Ð
Ð	ÐØ
ð0ó &Ð"ð
 #×,Ñ,¸XÐ,ÓFÐÜ%'§Y¡YØ
�#�s�Ð	ÐØ
ð0ó &Ð"ô
 
×	 Ñ	 Ó	"ñ VÜ×Ñ Ð*IÜ 2ô	4ä
×Ñ˜~Ð/FÔGÜ
×Ñ˜~Ð/FÔGÜ
×ÑÐ4Ð6TÔUÜ
×ÑÐ4Ð6TÔU÷Vô 
�‰”"—'‘'œ"Ÿ)™)›+¤r§x¡x´·	±	³Ó'<Ó=Ó	>€Bð,¤§¡ð ,°Tõ ,ñ
 �^ ]Ô3Ù�^ ]Ô3ÙÐ*¨FÔ3ÙÐ*¨FÕ3÷%Vð Vús   Ì%A4P>Ð>Qc                  ó$  — t        j                  g d¢«      } t        j                  ddgddgddggt        j                  t        j                  «       «      «      }dd	g}t         j                  j                  || |«      }t        j                  t        j                  «       t        j                  t        j                  «       «      «      }t        j                  t         j                  j                  «      5  |j                  d
¬«       d d d «       |j                  d¬«      }t        j                  ddgddgdœg«      }|j                  t         j                  j!                  ||¬«      «      rJ ‚|j                  «       }t        j                  dddgfdddgfdddgfgg«      }|j                  t         j                  j!                  ||¬«      «      sJ ‚t#        |«      t#        |«      k(  sJ ‚t%        ||«      D ]y  \  }	}
t#        |	«      t#        |
«      k(  sJ ‚t%        |	j'                  «       |
j'                  «       «      D ]0  \  }}|d   |d   k(  sJ ‚t)        j*                  |d   |d   «      rŒ0J ‚ Œ{ t#        |«      t#        |«      k(  sJ ‚t%        ||«      D ]]  \  }	}
t#        |	«      t#        |
«      k(  sJ ‚t%        |	|
«      D ]0  \  }}|d   |d   k(  sJ ‚t)        j*                  |d   |d   «      rŒ0J ‚ Œ_ y # 1 sw Y   �ŒùxY w)Nr$  r    rÌ   rÛ   r  rŽ   rN  r   r€   rÌ  rÍ  Úlossyr×  rq  rµ   rZ  r   )rE   rb   rs  rŸ  r*  rÝ   r$  r‘   r<  r£  ÚArrowExceptionrI   r.   rc   rJ   r›  rH   r¾   rÕ  r+  r0   Úarray_equal)r   r+  re  Úmapsr9  rç  rè  rå  ræ  Úrow1Úrow2Útup1Útup2s                r7   Ú4test_roundtrip_map_array_with_pydicts_duplicate_keysrø    sÓ  € Ü�8‰8Ò)Ó*€DÜ�H‰HØ
ˆsˆ�c˜3�Z # s Ð,Ü
�‰”—‘“Óó€Eð �!ˆf€GÜ�;‰;×"Ñ" 7¨D°%Ó8€DÜ	�‰”—‘“œbŸh™h¤r§y¡y£{Ó3Ó	4€Bô 
�‰”r—v‘v×,Ñ,Ó	-ñ 1à�‰ xˆÔ0÷1ð —^‘^°G�^Ó<€Nä Ÿi™iØ�c�
 C¨ :Ñ.ð)ó Ðð �{‰{œ2Ÿ8™8×/Ñ/°ÀRÐ/ÓHÔIÐIÐIð —^‘^Ó%€NÜ Ÿi™iØ
�#�s�Ð	˜u s¨C jÐ1°E¸CÀ¸:Ð3FÐGð)ó Ðð �;‰;”r—x‘x×+Ñ+¨NÀÐ+ÓDÔEÐEÐEô
 ˆ~Ó¤#Ð&=Ó">Ò>Ð>Ð>Ü˜.Ð*AÓBò 4‰
ˆˆdÜ�4‹yœC ›IÒ%Ð%Ð%Ü˜dŸj™j›l¨D¯J©J«LÓ9ò 	4‰JˆD�$Ø˜‘7˜d 1™gÒ%Ð%Ð%Ü—>‘> $ q¡'¨4°©7Õ3Ð3Ð3ñ	4ð4ô ˆ~Ó¤#Ð&=Ó">Ò>Ð>Ð>Ü˜.Ð*AÓBò 4‰
ˆˆdÜ�4‹yœC ›IÒ%Ð%Ð%Ü˜d D›/ò 	4‰JˆD�$Ø˜‘7˜d 1™gÒ%Ð%Ð%Ü—>‘> $ q¡'¨4°©7Õ3Ð3Ð3ñ	4ñ4÷C1ñ 1ús   Ã;LÌLc            	      ó  — t        j                  ddgddgg dgd dgddggt        j                  t        j                  «       «      «      } t        j                  g d	¢«      }g d
¢}t         j                  j                  || |«      }t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       }t        j                  ddgdfddgdfgg dfdgdfd dgdfddgdfgg«      }t        |«      t        |«      k(  sJ ‚t        ||«      D ]]  \  }}t        |«      t        |«      k(  sJ ‚t        ||«      D ]0  \  }}	t        j                  |d   |	d   «      sJ ‚|d   |	d   k(  rŒ0J ‚ Œ_ y # 1 sw Y   ŒÑxY w)Nr    rÌ   rÛ   r  r  r  r#  r6  )rµ   rZ  ri  rG  r!  r"  )r   r)   r®   rð  rÍ  rµ   rZ  ri  rG  r!  r"  r   r   )rE   rb   rs  rŸ  r*  rÝ   r‘   r<  rÚ  rI   r.   rc   r¾   rÕ  r0   rò  )
r   r+  re  ró  r¹  ræ  rô  rõ  rö  r÷  s
             r7   Ú%test_unhashable_map_keys_with_pydictsrú  J  s�  € Ü�8‰8Ø
ˆsˆ�c˜3�Z  c U¨T°3¨K¸#¸s¸ÐDÜ
�‰”—‘“Óó€Dô �H‰HÒ@ÓA€EÚ€GÜ�;‰;×"Ñ" 7¨D°%Ó8€Dô 
�‰”yÓ	!ñ 0Ø�‰ wˆÔ/÷0ð
 �^‰^Ó€FÜ Ÿi™iØ�ˆ*�eÐ	  S˜z¨5Ð1Ð2Ø
ˆeˆ˜�u˜e�n¨¨c {°FÐ&;¸sÀC¸jÈ%Ð=PÐQð)ó Ðô ˆv‹;œ#Ð5Ó6Ò6Ð6Ð6Ü˜&Ð"9Ó:ò &‰
ˆˆdÜ�4‹yœC ›IÒ%Ð%Ð%Ü˜d D›/ò 	&‰JˆD�$Ü—>‘> $ q¡'¨4°©7Ô3Ð3Ð3Ø˜‘7˜d 1™gÓ%Ð%Ð%ñ	&ñ&÷0ð 0ús   Â FÆFc                  óB  — t        j                  t        j                  ddd¬«      d¬«      } t        j                  dt        j
                  | «      i«      }|j                  d«      }|j                  «       }|j                  dk(  sJ ‚t        j                  || «       y )NÚ2012r)   r¦   rˆ  Údatetime_columnr`   )r.   rc   r«   rE   rY   rb   r  rI   ra   rR   rd   )r¹  rY   Ú	table_colrZ   s       r7   Ú)test_table_column_conversion_for_datetimerÿ  k  s‚   € ô
 �Y‰Y”r—}‘} V°QÐ;LÔMØ-ô/€Fä�H‰HÐ'¬¯©°&Ó)9Ð:Ó;€EØ—‘Ð.Ó/€Ià× Ñ Ó"€FØ�;‰;Ð+Ò+Ð+Ð+Ü×Ñ˜6 6Õ*rj   c                  óÐ   — t        j                  t        j                  ddd¬«      «      } t        j                  | «      }|j                  «       }t        j                  || «       y )Nrü  r)   r¦   rˆ  )r.   rc   r«   rE   rb   rI   rR   rd   )r¹  rh   rZ   s      r7   Ú"test_array_conversion_for_datetimer  z  sI   € ô
 �Y‰Y”r—}‘} V°QÐ;LÔMÓN€FÜ
�(‰(�6Ó
€Cà�]‰]‹_€FÜ×Ñ˜6 6Õ*rj   c            
      ó´  — dd„} ddz  } | t        j                  d|||gi«      «       d|i} | t        j                  d|||gi«      «       |g} | t        j                  d|||gi«      «       |g} | t        j                  d|||gi«      «       d|i} | t        j                  d	|||gi«      «       d
|i}t        j                  t        j                  «       t        j
                  t        j                  dt        j                  «       fg«      «      «      }t        j                  d|fg«      } | t        j                  d|||gi«      |¬«       y )Nc                 óü   — t         j                  j                  | |¬«      }|j                  d¬«       |j	                  d«      j
                  }|dkD  sJ ‚t        j                  |j                  dd¬«      | «       y )Nrr  Tr[  r   r   rÌ  )rÚ  rÎ  )	rE   rG   rH   r^  r  rU  rR   rS   rI   )rT   r:   ÚtabrU  s       r7   Ú	roundtripz-test_nested_chunking_valid.<locals>.roundtripŒ  sr   € Ü�h‰h×"Ñ" 2¨fÐ"Ó5ˆØ�‰˜$ˆÔð —Z‘Z “]×-Ñ-ˆ
Ø˜AŠ~Ðˆ~Ü
×Ñ˜cŸm™m¸$Ø<Dð ,ó FØGIõ	Krj   ó   0i Tê*rB  Ústruct_fieldr  râ  ÚlosÚsolr    ró  rr  rú  )	r.   r/   rE   r$  rŸ  rs  rÙ  rL  r:   )	r  r6   rÙ  râ  r  r	  Ú
map_of_losÚmap_typer:   s	            r7   Útest_nested_chunking_validr  †  s?  € óKð 	ˆyÑ€AÙŒb�l‰l˜I¨¨1¨a yÐ1Ó2Ô3à˜aÐ €FÙŒb�l‰l˜I¨°¸Ð'?Ð@ÓAÔBàˆC€EÙŒb�l‰l˜G e¨U°EÐ%:Ð;Ó<Ô=àˆ(€CÙŒb�l‰l˜E C¨¨c ?Ð3Ó4Ô5à˜5Ð
!€CÙŒb�l‰l˜E C¨¨c ?Ð3Ó4Ô5à�s�€JÜ�w‰w”r—y‘y“{Ü—x‘x¤§	¡	¨N¼B¿I¹I»KÐ+HÐ*IÓ JÓKóM€Hä�Y‰Y˜ Ð*Ð+Ó,€FÙŒb�l‰l˜F Z°¸ZÐ$HÐIÓJØörj   c                  óè   — t        j                  ddgddggddg¬«      } t        j                  j	                  | «      }|j
                  dd	gk(  sJ ‚|j                  «       j                  | «      sJ ‚y )
NrŠ  r‹  rŒ  gš™™™™™Ù?s   col1s   col2rš   r  r	  )r.   r/   rE   rG   rH   rÈ   rI   rJ   rx  s     r7   Ú test_bytes_column_name_to_pandasr  ­  sl   € Ü	�‰˜˜S�z C¨ :Ð.¸À'Ð8JÔ	K€BÜ�H‰H× Ñ  Ó$€EØ×Ñ &¨&Ð!1Ò1Ð1Ð1Ø�?‰?Ó×#Ñ# BÔ'Ð'Ñ'rj   c                  ó.   — t        j                  d«       y )Nzarrow_39313.py)Ú	test_utilr   r0  rj   r7   Ú!test_is_data_frame_race_conditionr  ´  s   € ô ×ÑÐ,Õ-rj   c                  ój  — t        j                  dg d¢i«      } t        j                  d«      | j                  d<   t        j                  t        d¬«      5  t        j                  | «      }d d d «       t        j                  j                  j                  d   «      }|d   rJ ‚y # 1 sw Y   Œ=xY w)	Nr6   r   z2025-10-28T14:20:42r­  z'Could not serialize pd.DataFrame.attrs:r$  r…  Ú
attributes)r.   r/   r   ÚfromisoformatÚattrsr‘   r’   r“   rE   rY   r‡  Úloadsr:   r  )rT   Údf_tableÚpd_metadatas      r7   Ú$test_json_unserializable_pd_df_attrsr  º  s•   € Ü	�‰�sšIÐ&Ó	'€Bä$×2Ñ2Ð3HÓI€B‡H�Hˆ[Ñä	�‰ÜØ7ô
ñ  ô —8‘8˜B“<ˆ÷	 ô —*‘*˜XŸ_™_×5Ñ5°iÑ@ÓA€Kà˜<Ò(Ð(Ð(Ð(÷ ð  ús   ÁB)Â)B2)rÆ  )NFNTNFF)NNró  rú  )r   N)½r„  r¯   r‡  Úmultiprocessingrÿ  r¡  rN   Úcollectionsr   r   r   r   r   r   Ú
hypothesisr6  Úhypothesis.strategiesÚ
strategiesr8  r‘   Únumpyr0   Únumpy.testingrP  rx   r	   r=  rF  Únumpy.exceptionsÚImportErrorÚpyarrow.pandas_compatr
   r   Úpyarrow.tests.utilr   r   r   Úpyarrow.tests.strategiesÚtestsr:  Úutilr  Úpyarrow.vendored.versionr   ÚpyarrowrE   r   r®  Úpandasr.   Úpandas.testingrR   Úpandas_examplesr   r   rº  Ú
pytestmarkr8   r\   ri   ru   r{   r}   rÁ  r»  rR  rT  rV  r?  r¬  rÉ  r�  rÉ  rí  rï  rñ  rL  rU  rY  r^  rô  rf  r7  r¡  Úpandas_compatible_typesrh  rl  rn  rs  ru  rw  r~  r�  rŠ  rŒ  r�  r’  r•  r›  rž  r£  r¨  r®  r²  r¶  rã  rå  r   r   r   r   r   r   r   r   rÈ  r   r    r™  r¡  rL  rŸ  rs  r¾  r­  rõ  ró  rº  r¾  rÆ  rÂ  rÎ  rÒ  rÍ  rÛ  rß  rã  rå  rç  rð  rõ  rÿ  r  r  r  r  r  r"  r&  r)  ÚExtensionTyper+  rB  rL  rW  ra  rc  rh  rm  rr  rt  ry  r{  r€  r‚  r�  r   r¤  r¦  rª  r³  rµ  r¹  r¿  rH  rÁ  rÄ  rÊ  rÕ  rî  rø  rú  rÿ  r  rª  r  r  r  r  r0  rj   r7   ú<module>r0     s  ðó$ 
Û Û Û Û 
Û å #ß >Õ >ã Ý "Û ð
ÛÝð
Ø(*×(DÑ(DÐ%÷ @ß AÑ Aß 'Ð 'ß &Ð &Ý ,ã ð	Ý%ð	ÛÝßLð �[‰[×Ñ€
óð> <AØ,0Ø59Ø+0Ø%*ó	=ó>
&ð 8<Ø $óKó0-÷@	4ñ @	4÷Fbñ bðJ	 ‡�×Ñ˜ÚIóKñ.óKð.ð& ‡�×Ñ˜ÚIóKñ,óKð,÷,}	$ñ }	$÷H~-ñ ~-÷Be1ñ e1÷Pn	(ñ n	(÷b`:ñ `:÷F94ñ 94òxBòA÷Q%ñ Q%òh ò+ð. ‡�×Ñ˜ f X°¨wÐ$7Ó8ñ<ó 9ð<ò7ò ò!ð$ 	€‡�ˆˆ�‰�T×1Ñ1Ó	2Ó3ñ ó 4ð ò#ò
1òLò "ò&1ò")ò60ò)ò4/ò0)ò6Aò"5òWGòtBò*9ò,òJ(ò(ò0)ð ‡�×ÑØà	ˆ�‰‹�GÐØ	ˆ�‰‹�VÐØ	ˆ�‰‹�FÐØ	ˆ�‰‹�WÐØ	ˆ�‰‹�WÐØ	ˆ�‰‹�WÐØ	ˆ�‰‹�WÐØ	ˆ�‰‹�hÐØ	ˆ�‰‹�hÐØ	ˆ�‰‹�hÐØ	ˆ�‰‹�yÐ!Ø	ˆ�‰‹�yÐ!Ø	ˆ�‰‹�yÐ!Ø	ˆ�‰‹�fÐØ	ˆ�‰‹�fÐØ	ˆ�‰‹�gÐØ	ˆ�‰˜!Ô	˜gÐ&Ø	ˆ�‰‹�iÐ Ø	ˆ�‰�(�"—(‘(˜8˜2Ÿ8™8›:Ó&Ó	'Ð)<Ð=Ø	ˆ�‰�r˜1Ó	˜yÐ)Ø	ˆ�‰�dÓ	˜ZÐ(Ø	ˆ�‰�d˜EÓ	" LÐ1Ø	ˆ�‰�3‹˜Ð Ø	ˆ�‰�4‹˜&Ð!ð1óñ:.ó;ð:.ò:ò49ò>ò<ò"ò-ò
=ò$:ò*	0ò
0ò",ò*.#òb#ò-9òh1Jóh
ò)9òX
-ò-ò02,òjò($ô:˜×)Ò)ô ó Iò'ò4ò, HôF
˜"×*Ò*ô 
ò!òH9ò2,ò21ò
8ð ‡�×Ñ˜ 3¨¨c¨
Ð"3Ó4ñ,ó 5ð,ò"-ð. ‡�×Ññ-ó ð-ò8f"òR0,òf7ò5òð6 ‡�×Ññ	#ó ð	#ò#ð ‡�×Ñ˜Ò'8Ó9Ø‡�×Ñ˜ Ð&8Ð9Ó:à‡�×Ñ˜¡¨¨q°!Ó 4±h¸tÀQÈÓ6JÐKÓLñ%ó Mó ;ó :ð%ò*	%ð ‡�×Òñ/ó ð/ò	0ò
Cò*4òZK4ò\14òh&òB+ò	+ð ‡�×Òñ#ó ð#òL(ð ‡�×Òñ.ó ð.ó
)øðmd ò 
÷	
ð 	
ð
ûð ò Ø	ƒBðûð ò 	Úð	ûð ò 	Úð	úsS   ¼
X ÁW< ÂX Â	X( ×<XØX Ø
XØX ØXØXØX%Ø$X%Ø(X1Ø0X1