Ë
    Èš§j`ž ã                   óV!  — d dl mZ d dlZd dlZd dlmZmZ 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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 	 d dlmZ  eej@                  jC                  «       «      D � �cg c]  \  } } e"|d«      r|‘Œ c}} Z# eej@                  jC                  «       «      D � �cg c]1  \  } } e$|e%«      r#|ejL                  ur e'|ejL                  «      r|‘Œ3 c}} Z( ejR                  «        ejT                  «        ejV                  «        ejX                  «        ejZ                  «        ej\                  «        ej^                  «        ej`                  «       gZ1dg d¢fd e2d	«      fd
 e2d	«      fd e2d	«      fd e2d	«      fd e2d	«      fd e2d	«      fd e2d	d«      fd e2d	d«      fdg d¢fdg d¢fdg d¢fdg d¢f ejf                  d«      g d¢f ejh                   ejR                  «       «      ddgddgd	dgddd ggf ejj                   ejT                  «       «      dgg d!¢d	dgddd ggf ejl                  d" ejR                  «       fd# ejR                  «       fg«      ddd$œdddd$œdd	dd$œgfgZ7d%„ Z8d&„ Z9d'„ Z:ejv                  jy                  d(«      d)„ «       Z=d*„ Z>	 �d0d+„Z?d,„ Z@d-„ ZAd.„ ZBd/„ ZCejv                  j                  d0„ «       ZDd1„ ZEd2„ ZFd3„ ZGd4„ ZHejv                  j“                  d5e1«      d6„ «       ZJejv                  j“                  d5 ej–                  dd«       ej˜                  dd«      g«      d7„ «       ZMejv                  j“                  d5e1«      d8„ «       ZNejv                  j“                  d5 ej–                  dd«       ej˜                  dd«      g«      d9„ «       ZOd:„ ZPd;„ ZQd<„ ZRd=„ ZSd>„ ZTd?„ ZUejv                  j“                  d@g dA¢ ej¬                  dB«       ej¬                  dC«      dDœfg dE¢ ej¬                  dF«      ddDœfddGgdddDœff«      dH„ «       ZWdI„ ZXdJ„ ZYdK„ ZZdL„ Z[dM„ Z\dN„ Z]dO„ Z^dP„ Z_dQ„ Z`dR„ ZadS„ ZbdT„ ZcdU„ ZddV„ ZedW„ ZfdX„ ZgdY„ ZhdZ„ Zid[„ Zj e«       d\„ «       Zkd]d^hZlh d_£Zmh d`£Znh da£Zoh db£Zneneoz  elz  eleoenemdcœZpejv                  j“                  ddg de¢«      ejv                  j“                  dfdgdhg«      di„ «       «       Zqdj„ Zrdk„ Zsejv                  j$                  dl„ «       Ztdm„ Zudn„ Zvdo„ Zwdp„ Zxdq„ Zydr„ Zzds„ Z{dt„ Z|du„ Z}dv„ Z~dw„ Zdx„ Z€dy„ Z�dz„ Z‚d{„ Zƒd|„ Z„d}„ Z…d~„ Z†d„ Z‡ejv                  j“                  d€e7«      d�„ «       Zˆd‚„ Z‰dƒ„ ZŠejv                  j“                  d„d…d†g«      d‡„ «       Z‹dˆ„ ZŒejv                  j“                  d€e7«      d‰„ «       Z�dŠ„ ZŽd‹„ Z�dŒ„ Z�d�„ Z‘ejv                  j“                  d€e7«      dŽ„ «       Z’ejv                  j                  ejv                  j“                  d€e7«      d�„ «       «       Z“d�„ Z”d‘„ Z•d’„ Z–d“„ Z—d”„ Z˜d•„ Z™d–„ Zšejv                  j“                  d—d˜d™g«      dš„ «       Z›ejv                  j“                  d—d˜d™g«      d›„ «       Zœejv                  j“                  d—d˜d™g«      dœ„ «       Z�d�„ Zždž„ ZŸdŸ„ Z d „ Z¡ejv                  j“                  d¡d¢d£g«      d¤„ «       Z¢ejv                  j                  d¥„ «       Z£ejv                  j                  d¦„ «       Z¤d§„ Z¥d¨„ Z¦d©„ Z§dª„ Z¨ejv                  j“                  d5e1«      d«„ «       Z©ejv                  j“                  d5e1«      d¬„ «       Zªd­„ Z«d®„ Z¬d¯„ Z­d°„ Z®ejv                  j“                  d± e�j^                  «        e�j`                  «       g«      d²„ «       Z±ejv                  j“                  d±e1«      d³„ «       Z² ed´dµ«      Z³ ed¶d·«      Z´ e³d¸e�jj                  d«       e³d¹e�jl                  dº«       e³d»ej–                  d¼«       e³d½ej˜                  d¾«      gZ·d¿„ Z¸dÀ„ Z¹dÁ„ ZºdÂ„ Z»dÃ„ Z¼dÄ„ Z½ejv                  j                  ejv                  j“                  dÅ ej`                  «       ge¾¬Æ«      ejv                  j“                  dÇe·dÈ„ ¬Æ«      ejv                  j“                  dÉeºe»e¼gg dÊ¢¬Æ«      dË„ «       «       «       «       Z¿ejv                  j                  ejv                  j“                  dÅ ej^                  «        ej`                  «       ge¾¬Æ«      ejv                  j“                  dÌe·dÍ„ ¬Æ«      dÎ„ «       «       «       ZÀdÏ„ ZÁdÐ„ ZÂejv                  j$                  ejv                  �j†                  dÑ„ «       «       ZÄ�d1dÒ„ZÅejv                  j$                  dÓ„ «       ZÆdÔ„ ZÇejv                  j“                  dÕg dÖ¢«      d×„ «       ZÈejv                  j$                  ejv                  �j†                  dØ„ «       «       ZÉdÙ„ ZÊejv                  �j†                  ejv                  j“                  dÕdÚ«      ejv                  j$                  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jv                  j                  ejv                  j“                  dïdð«      ejv                  j“                  dñdò«      dó„ «       «       «       Zßejv                  j                  ejv                  j“                  dïdð«      ejv                  j“                  dñdò«      dô„ «       «       «       Zàejv                  j                  ejv                  j“                  dïdõ«      ejv                  j“                  dñdò«      dö„ «       «       «       Záejv                  j                  ejv                  j“                  dïdõ«      ejv                  j“                  dñdò«      d÷„ «       «       «       Zâdø„ Zãdù„ Zädú„ Zådû„ Zædü„ Zçdý„ Zèdþ„ Zédÿ„ Zê�d „ Zëejv                  j“                  �d�dg �d¢f�dg �d¢f�dg �d¢f�dg �d	¢fg«      �d
„ «       Zì�d„ Zí�d„ Zî�d„ Zïejv                  j                  �d„ «       Zð�d„ Zñejv                  j                  �d„ «       Zòejv                  j                  ejv                  j:                  �d„ «       «       Zó�d„ Zô�d„ Zõ�d„ Zö�d„ Z÷ejv                  j“                  �dd dg �d¢g �d¢g �d¢dgfd ddgdgdgdgfd dddgdd	gddgdgfdddgd	gdgdgfddddgddgddgdgff«      ejv                  j“                  �d�d«      ejv                  j“                  d±e�jð                  ejT                  ej`                  f«      ejv                  j“                  �dejh                  ejj                  �df«      �d„ «       «       «       «       Zùejv                  j“                  �d�d «      ejv                  j“                  �d�d«      ejv                  j“                  d±e�jð                  ejT                  ej`                  f«      ejv                  j“                  �dejh                  ejj                  �df«      �d!„ «       «       «       «       Zúejv                  j“                  �d"�d#«      ejv                  j“                  �d$�d%„ �d&„ �d'„ f«      �d(„ «       «       Zû�d)„ Zü�d1�d*„Zýejv                  j“                  d± ejR                  «        ejT                  «        e�jü                  «        ejV                  «        e�jþ                  «        ej^                  «        ej`                  «        e�jj                  dd «       e�jl                  dd «       ej–                  dd «       ej˜                  dd «      f«      ejv                  j“                  �d+d e�j                    ejT                  «       «       e�j                   d«       e�j                    ejV                  «       «      f«      �d,„ «       «       �Z�d-„ �Z�d.„ �Z�d/„ �Zy# e$ r dZY �ŒCw xY w# e$ r dZY �ŒLw xY w# e$ r dZY �ŒAw xY wc c}} w c c}} w (2  é    )Ú
namedtupleN)Ú	lru_cacheÚpartial)ÚArrowNotImplementedErrorÚArrowIndexErrorÚ__arrow_compute_function__Úbool)TFFTTÚuint8é   Úint8Úuint16Úint16Úuint32Úint32Úuint64é
   Úint64Úfloat)r   çš™™™™™¹?çš™™™™™É?ç333333Ó?çš™™™™™Ù?ÚdoubleÚstring)ÚaÚbNÚdddÚeeÚbinary)ó   aó   bó   cs   ddds   eeé   )s   abcs   bcds   cdes   defs   efgé   é   é   é   é	   é   )r%   r#   r&   r   r   ©r   r   c                  ó,  — t         } t        | «      dk\  sJ ‚| D ]m  }|j                  }|d   rŒ|d   }|dk(  rŒ |t        u rt	        «       gdz  }nt	        «       g|z  }t        j                  t        d¬«      5   ||Ž  d d d «       Œo y # 1 sw Y   ŒzxY w)Nr   Úoptions_requiredÚarityr   r#   zBGot unexpected argument type <class 'object'> for compute function©Úmatch)Úexported_functionsÚlenr   ÚEllipsisÚobjectÚpytestÚraisesÚ	TypeError)Ú	functionsÚfuncÚdescr-   Úargss        ú]C:\Users\Luka\AppData\Local\Temp\pip-target-o84fipzb\lib\python\pyarrow/tests/test_compute.pyÚtest_exported_functionsr<   ^   s«   € ô
 #€IÜˆy‹>˜RÒÐÐÛˆØ×.Ñ.ˆØÐ"Ò#ð Ø�W‘ˆØ�AŠ:ØØ”HÑÜ“H�: ‘>‰Dä“H�: Ñ%ˆDÜ�]‰]œ9ð"IöJñ �$‰K÷Jð Jñ ÷Jð Jús   Á9B
Â
B	c                  ó€   — t         D ]5  } t        j                  | j                  d   «      }|j                  dk7  rŒ5J ‚ y )NÚnameÚhash_aggregate)r0   ÚpcÚget_functionr   Úkind)r8   Úarrow_fs     r;   Ú test_hash_aggregate_not_exportedrD   x   s:   € ÷ #ˆÜ—/‘/ $×"AÑ"AÀ&Ñ"IÓJˆØ�|‰|Ð/Ó/Ð/Ð/ñ #ó    c                  óò   — t         } t        | «      dk\  sJ ‚| D ]\  }t        j                  |«      }|j                  j                  «       D ](  }|j                  |j                  |j                  fvrŒ(J ‚ Œ^ y )Nr   )	Úexported_option_classesr1   ÚinspectÚ	signatureÚ
parametersÚvaluesrB   ÚVAR_POSITIONALÚVAR_KEYWORD)ÚclassesÚclsÚsigÚparams       r;   Útest_exported_option_classesrR   €   sx   € Ü%€GÜˆw‹<˜2ÒÐÐÛˆô ×Ñ Ó$ˆØ—^‘^×*Ñ*Ö,ˆEØ—:‘: e×&:Ñ&:Ø&+×&7Ñ&7ð&9ò 9ð 9ð 9ñ -ñ	 rE   z<ignore:pyarrow.CumulativeSumOptions is deprecated as of 14.0c           
      óx  — g t        j                  «       ‘t        j                  d«      ‘t         j                  j	                  t        j                  «       «      ‘t        j                  d d¬«      ‘t        j                  «       ‘t        j                  dd¬«      ‘t        j                  «       ‘t        j                  «       ‘t        j                  d¬«      ‘t        j                  d«      ‘t        j                  d«      ‘t        j                  «       ‘t        j                   t        j"                  d	«      «      ‘t        j$                  «       ‘t        j&                  dd
d	d«      ‘t        j(                  d¬«      ‘t        j*                  ddgddgt        j,                  ddi«      t        j,                  ddi«      g¬«      ‘t        j.                  t        j"                  d	«      d«      ‘t        j0                  d«      ‘t        j2                  «       ‘t        j4                  «       ‘t        j6                  d«      ‘t        j8                  d	¬«      ‘t        j:                  d	d¬«      ‘t        j<                  dgd¬«      ‘t        j>                  «       ‘t        j@                  «       ‘t        jB                  ddd¬«      ‘t        jD                  dd¬«      ‘t        jF                  dd	d«      ‘t        jH                  dd«      ‘t        jJ                  d d!«      ‘t        jL                  d!«      ‘t        jN                  d	d"d¬#«      ‘t        jP                  d$d!«      ‘t        jR                  «       ‘t        jT                  dd%g¬&«      ‘t        jV                  t        jX                  d	g«      «      ‘t        jZ                  d ¬'«      ‘t        j\                  dd	d	«      ‘t        j^                  d(g«      ‘t        j`                  «       ‘t        jb                  d«      ‘t        jd                  «       ‘t        jf                  d)d*d«      ‘t        jh                  g ¬+«      ‘t        jj                  «       ‘t        jl                  «       ‘t        jn                  d,«      ‘t        jp                  d-«      ‘t        jr                  «       ‘t        jt                  d.d/«      ‘t        jv                  ddd¬0«      ‘t        jx                  d1d2«      ‘}| jz                  j|                  j~                  d3   r$|j�                  t        j                  d4«      «       |D �ch c]  }tƒ        |«      ’Œ }}t„        D ]V  }||vsŒ| jz                  j|                  j~                  d3   sŒ,|t         j                  k7  sŒ@	 |j�                   |«       «       ŒX |D ]¿  }||k(  sJ ‚t�        |«      j�                  |j�                  j’                  «      sJ ‚|j•                  «       }t         j–                  j™                  |«      }||k(  sJ ‚t�        |«      j�                  d6«      rt�        |«      j�                  d7«      rŒ¥J ‚t�        |«      t�        |«      k(  rŒ¿J ‚ t›        ||d	d  «      D ]  \  }}||k7  rŒJ ‚ t�        t        j                   t        j"                  d	«      «      «      d8k(  sJ ‚t�        t        j                  «       «      d9k(  sJ ‚y c c}w # t†        $ r t‰        jŠ                  d5|› �«       Y �Œ½w xY w):NÚUTCF©ÚstartÚ
skip_nullsr   ©Úcount_from_zeroÚ
week_startT©rW   Úpatternr$   éÿÿÿÿ)Ú	recursiveÚfieldÚnamesr   Ú1r   Ú2)Úfield_nullabilityÚfield_metadataÚfirstr   ©ÚperiodÚat_start©Únull_placementÚheightÚraise)Úunexpected_key_behaviorÚ	ascendingÚat_endÚmax©Ú	sort_keysrj   Ú
tiebreaker)rr   rj   r%   Útowards_infinityÚsecond)Úweek_starts_mondayéd   ©r   rn   ro   ©rr   ©Ú	min_count©ÚdummyÚ
descendingro   ú%YÚs©ÚindicesÚ ÚNFKCçš™™™™™©?çÍÌÌÌÌÌì?©rv   rY   Úfirst_week_is_fully_in_yearr&   Ú0Útimezone_dataúEurope/LjubljanazOptions class is not tested: ÚCumulativeSumOptionsÚCumulativeOptionszIndexOptions(value=int64:1)z7ArraySortOptions(order=Ascending, null_placement=AtEnd))Nr@   ÚArraySortOptionsÚAssumeTimezoneOptionsÚCastOptionsÚsafeÚpar   r�   ÚCountOptionsÚDayOfWeekOptionsÚDictionaryEncodeOptionsÚRunEndEncodeOptionsÚElementWiseAggregateOptionsÚExtractRegexOptionsÚExtractRegexSpanOptionsÚFilterOptionsÚIndexOptionsÚscalarÚJoinOptionsÚListSliceOptionsÚListFlattenOptionsÚMakeStructOptionsÚKeyValueMetadataÚMapLookupOptionsÚMatchSubstringOptionsÚModeOptionsÚNullOptionsÚ
PadOptionsÚPairwiseOptionsÚPartitionNthOptionsÚPivotWiderOptionsÚQuantileOptionsÚRandomOptionsÚRankOptionsÚRankQuantileOptionsÚReplaceSliceOptionsÚReplaceSubstringOptionsÚRoundOptionsÚRoundBinaryOptionsÚRoundTemporalOptionsÚRoundToMultipleOptionsÚScalarAggregateOptionsÚSelectKOptionsÚSetLookupOptionsÚarrayÚSkewOptionsÚSliceOptionsÚSortOptionsÚSplitOptionsÚSplitPatternOptionsÚStrftimeOptionsÚStrptimeOptionsÚStructFieldOptionsÚTakeOptionsÚTDigestOptionsÚTrimOptionsÚUtf8NormalizeOptionsÚVarianceOptionsÚWinsorizeOptionsÚWeekOptionsÚZeroFillOptionsÚconfigÚpyarrowÚ
is_enabledÚappendÚtyperG   r6   r4   ÚfailÚreprÚ
startswithÚ	__class__Ú__name__Ú	serializeÚFunctionOptionsÚdeserializeÚzip)	ÚrequestÚoptionsÚoptionrN   rO   ÚbufÚdeserializedÚoption1Úoption2s	            r;   Útest_option_class_equalityrÝ   Œ   s  € ð=Ü
×ÑÓð=ä
× Ñ  Ó'ð=ô 	�‰×ÑœBŸG™G›IÓ&ð=ô 	×Ñ 4°EÔ:ð	=ô
 	�‰Óð=ô 	×Ñ¨E¸aÔ@ð=ô 	×"Ñ"Ó$ð=ô 	×ÑÓ ð=ô 	×&Ñ&°$Ô7ð=ô 	×Ñ˜yÓ)ð=ô 	×"Ñ" 9Ó-ð=ô 	×ÑÓð=ô 	�‰œŸ	™	 !›Ó%ð=ô 	�‰Óð=ô 	×Ñ˜A˜r 1 dÓ+ð=ô  	×Ñ¨Ô.ð!=ô" 	×Ñ˜g wÐ/Ø04°d¨|Ü-/×-@Ñ-@À#ÀsÀÓ-LÜ-/×-@Ñ-@À#ÀsÀÓ-Lð-Nô	Oð#=ô* 	×ÑœBŸI™I a›L¨'Ó2ð+=ô, 	× Ñ  Ó+ð-=ô. 	�‰Óð/=ô0 	�‰Óð1=ô2 	�‰�aÓð3=ô4 	×Ñ !Ô$ð5=ô6 	×Ñ˜q°Ô<ð7=ô8 	×Ñ˜h˜ZÀÔIð9=ô: 	×ÑÓð;=ô< 	×ÑÓð==ô> 	�‰ Ø&.¸5ô	Bð?=ôB 	×Ñ¨Ø.6ô	8ðC=ôF 	×Ñ˜q ! SÓ)ðG=ôH 	×"Ñ" 3¨Ó,ðI=ôJ 	�‰˜Ð-Ó.ðK=ôL 	×ÑÐ0Ó1ðM=ôN 	×Ñ  8ÀÔEðO=ôP 	×!Ñ! #Ð'9Ó:ðQ=ôR 	×!Ñ!Ó#ðS=ôT 	×Ñ˜!Ð(DÐ'EÔFðU=ôV 	×ÑœBŸH™H a S›MÓ*ðW=ôX 	�‰ Ô#ðY=ôZ 	�‰˜˜1˜aÓ ð[=ô\ 	�‰Ð9Ð:Ó;ð]=ô^ 	�‰Óð_=ô` 	×Ñ˜yÓ)ða=ôb 	×ÑÓðc=ôd 	×Ñ˜4  dÓ+ðe=ôf 	×Ñ bÔ)ðg=ôh 	�‰Óði=ôj 	×ÑÓðk=ôl 	�‰�sÓðm=ôn 	×Ñ Ó'ðo=ôp 	×ÑÓðq=ôr 	×Ñ˜D #Ó&ðs=ôt 	�‰¨$ÀØ38ô	:ðu=ôx 	×Ñ˜1˜cÓ"ðy=€Gð~ ‡~�~×Ñ×(Ñ(¨Ò9Ø�‰”r×/Ñ/Ð0BÓCÔDá*1Ó2©' Œt�F�|¨'€GÐ2ç&ˆð �wÒØ—‘×'Ñ'×2Ñ2°?ÓCØ”r×/Ñ/Ó/ðCØ—‘™s›uÕ%ð 'ó ˆØ˜ÒÐÐÜ�F‹|×&Ñ& v×'7Ñ'7×'@Ñ'@ÔAÐAÐAØ×ÑÓ ˆÜ×)Ñ)×5Ñ5°cÓ:ˆØ˜Ò%Ð%Ð%ô �‹<×"Ñ"Ð#9Ô:Ü˜Ó%×0Ñ0Ð1DÕEÐEÐEä˜“<¤4¨Ó#5Ó5Ð5Ð5ð ô   ¨°°¨Ö5Ñˆ�Ø˜'Ó!Ð!Ð!ð 6ô ”—‘¤§	¡	¨!£Ó-Ó.Ð2OÒOÐOÐOÜ”×#Ñ#Ó%Ó&ØAòBð Bñ Bùò= 3øô ò CÜ—‘Ð;¸C¸5ÐA×BðCús   Õ!\Ö<\Ü!\9Ü8\9c                  óx   — t        t        j                  «       «      dkD  sJ ‚dt        j                  «       v sJ ‚y )Nr   Úadd)r1   r@   Úlist_functions© rE   r;   Útest_list_functionsrâ   ô   s5   € ÜŒr× Ñ Ó"Ó# bÒ(Ð(Ð(Ø”B×%Ñ%Ó'Ñ'Ð'Ñ'rE   c                 óæ   ‡— t        j                  | «      }t        ||«      sJ ‚|j                  }||k\  sJ ‚|t	        |j
                  «      k(  sJ ‚t        ˆfd„|j
                  D «       «      sJ ‚y )Nc              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­w©N)Ú
isinstance)Ú.0ÚkerÚexpected_ker_clss     €r;   Ú	<genexpr>z&_check_get_function.<locals>.<genexpr>   s   øè ø€ ÐI¹L°SŒz˜#Ð/×0¹Lùs   ƒ)r@   rA   ræ   Únum_kernelsr1   ÚkernelsÚall)r>   Úexpected_func_clsré   Úmin_num_kernelsr8   Úns     `   r;   Ú_check_get_functionrñ   ù   sj   ø€ ä�?‰?˜4Ó €DÜ�dÐ-Ô.Ð.Ð.Ø×Ñ€AØ�ÒÐÐØ”�D—L‘LÓ!Ò!Ð!Ð!ÜÓI¸D¿LºLÓIÔIÐIÑIrE   c                  óX   — t        dt        j                  t        j                  d«       y )Nrß   é   )rñ   r@   ÚScalarFunctionÚScalarKernelrá   rE   r;   Útest_get_function_scalarrö     s   € Ü˜œr×0Ñ0´"·/±/À1ÕErE   c                  óX   — t        dt        j                  t        j                  d«       y )NÚuniqueró   )rñ   r@   ÚVectorFunctionÚVectorKernelrá   rE   r;   Útest_get_function_vectorrû     s   € Ü˜¤"×"3Ñ"3´R·_±_ÀaÕHrE   c                  óX   — t        dt        j                  t        j                  d«       y )NÚmeanró   )rñ   r@   ÚScalarAggregateFunctionÚScalarAggregateKernelrá   rE   r;   Ú"test_get_function_scalar_aggregater     s   € Ü˜¤× :Ñ :Ü×0Ñ0°!õ5rE   c                  óX   — t        dt        j                  t        j                  d«       y )NÚhash_sumr$   )rñ   r@   ÚHashAggregateFunctionÚHashAggregateKernelrá   rE   r;   Ú test_get_function_hash_aggregater    s   € Ü˜
¤B×$<Ñ$<Ü×.Ñ.°õ3rE   c                  óÎ  — t        j                  g d¢«      } t        j                  g d¢«      }| j                  |«      }t	        j
                  d| |gt        j                  «       ¬«      }t        j                  g d¢«      }|j                  |«      sJ ‚|j                  |«      sJ ‚t	        j                  | |t        j                  «       ¬«      }|j                  |«      sJ ‚y )N)ÚfooÚbarÚbaz)r%   r%   r$   Útake)Úmemory_pool)r	  r	  r  )r’   r·   Únpr
  r@   Úcall_functionÚdefault_memory_poolÚequals)Úarrr‚   Úresult1Úresult2ÚexpectedÚresult3s         r;   Ú#test_call_function_with_memory_poolr    s²   € ä
�(‰(Ò(Ó
)€CÜ�h‰h’yÓ!€GØ�h‰h�wÓ€GÜ×Ñ˜v¨¨W ~Ü+-×+AÑ+AÓ+CôE€Gä�x‰xÒ-Ó.€HØ�>‰>˜(Ô#Ð#Ð#Ø�>‰>˜(Ô#Ð#Ð#ä�g‰g�c˜7´×0FÑ0FÓ0HÔI€GØ�>‰>˜(Ô#Ð#Ñ#rE   c                 ór  — t        j                  «       D ]   }t        j                  |«      }| j                  | j	                  |«      «      }t        |«      t        |«      u sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  rŒ J ‚ y rå   )	r@   rà   rA   ÚloadsÚdumpsrÌ   r>   r-   rë   ©Úpickle_moduler>   r8   Úreconstructeds       r;   Útest_pickle_functionsr  $  sŸ   € ä×!Ñ!Ö#ˆÜ�‰˜tÓ$ˆØ%×+Ñ+¨M×,?Ñ,?ÀÓ,EÓFˆÜ�MÓ"¤d¨4£jÑ0Ð0Ð0Ø×!Ñ! T§Y¡YÒ.Ð.Ð.Ø×"Ñ" d§j¡jÒ0Ð0Ð0Ø×(Ñ(¨D×,<Ñ,<Ó<Ð<Ð<ñ $rE   c                 óÂ   — t        j                  «       D ]9  }	 t        t         |«      }| j	                  | j                  |«      «      }||u rŒ9J ‚ y # t        $ r Y ŒHw xY wrå   )r@   rà   ÚgetattrÚAttributeErrorr  r  r  s       r;   Útest_pickle_global_functionsr   /  se   € ä×!Ñ!Ö#ˆð	Üœ2˜tÓ$ˆDð &×+Ñ+¨M×,?Ñ,?ÀÓ,EÓFˆØ Ò$Ð$Ð$ñ $øô ò 	áð	ús   ™AÁ	AÁAc                  óh  — t        j                  «       D ]›  } t        j                  | «      }t        |t         j                  «      sJ ‚|j
                  | k(  sJ ‚|j                  }|j                  t        |«      k(  sJ ‚t        d„ |D «       «      sJ ‚t        |«       |D ]  }t        |«       Œ Œ� y )Nc              3   óP   K  — | ]  }t        |t        j                  «      –— Œ  y ­wrå   )ræ   r@   ÚKernel)rç   rè   s     r;   rê   z+test_function_attributes.<locals>.<genexpr>C  s   è ø€ ÐA¹°#”:˜c¤2§9¡9×-¹ùs   ‚$&)r@   rà   rA   ræ   ÚFunctionr>   rì   rë   r1   rí   rÎ   )r>   r8   rì   rè   s       r;   Útest_function_attributesr%  ;  s–   € ä×!Ñ!Ö#ˆÜ�‰˜tÓ$ˆÜ˜$¤§¡Ô,Ð,Ð,Ø�y‰y˜DÒ Ð Ð Ø—,‘,ˆØ×Ñ¤3 w£<Ò/Ð/Ð/ÜÑA¹ÓAÔAÐAÐAÜˆTŒ
ÛˆCÜ��Iñ ñ $rE   c                  ó  — t        j                  ddgdd g«      } | j                  «       dd gk(  sJ ‚t        j                  ddgd«      } | j                  «       ddgk(  sJ ‚t        j                  g d¢d«      j                  «       g d¢k(  sJ ‚y )	Nr$   r%   r&   r   r'   )r  r  Nr  ©TFN)r@   rß   Ú	to_pylistÚequal©r  s    r;   Útest_input_type_conversionr+  I  s‰   € ä
�&‰&�!�Q�˜!˜T˜Ó
#€CØ�=‰=‹?˜q $˜iÒ'Ð'Ð'ä
�&‰&�!�Q�˜Ó
€CØ�=‰=‹?˜q !˜fÒ$Ð$Ð$ä�8‰8Ò(Øóß$™9›;Ò*=ò>ð >ñ >rE   Ú
arrow_typec                 óø  — t        j                  g d¢| ¬«      }|j                  «       j                  «       dk(  sJ ‚t	        j                  |«      j                  «       dk(  sJ ‚t        j                  g d¢| ¬«      }|j                  «       j                  «       dk(  sJ ‚t	        j                  |«      j                  «       dk(  sJ ‚t        j                  d g| ¬«      }|j                  «       j                  «       �J ‚t	        j                  |«      j                  «       �J ‚|j                  d¬«      j                  «       dk(  sJ ‚t	        j                  |d¬«      j                  «       dk(  sJ ‚t        j                  g | ¬«      }|j                  «       j                  «       �J ‚|j                  d¬«      j                  «       dk(  sJ ‚t	        j                  |d¬«      j                  «       dk(  sJ ‚y )N©r$   r%   r#   r&   ©rÌ   r   ©r$   r%   r#   r&   Nr   rz   )r’   r·   ÚsumÚas_pyr@   ©r,  r  s     r;   Útest_sum_arrayr4  U  s�  € ä
�(‰(’< jÔ
1€CØ�7‰7‹9�?‰?Ó Ò"Ð"Ð"Ü�6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
�(‰(Ò%¨JÔ
7€CØ�7‰7‹9�?‰?Ó Ò"Ð"Ð"Ü�6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
�(‰(�D�6 
Ô
+€CØ�7‰7‹9�?‰?ÓÐ$Ð$Ð$Ü�6‰6�#‹;×ÑÓÐ&Ð&Ð&Ø�7‰7˜Qˆ7Ó×%Ñ%Ó'¨1Ò,Ð,Ð,Ü�6‰6�# Ô#×)Ñ)Ó+¨qÒ0Ð0Ð0ä
�(‰(�2˜JÔ
'€CØ�7‰7‹9�?‰?ÓÐ$Ð$Ð$Ø�7‰7˜Qˆ7Ó×%Ñ%Ó'¨1Ò,Ð,Ð,Ü�6‰6�# Ô#×)Ñ)Ó+¨qÒ0Ð0Ñ0rE   c                 ó¬  — ddl m} t        j                  j	                  | «      r t        j
                  d| j                  «      nt        j                  d| j                  «      } |d«      } |d«      } |d«      }t        j                   |d«       |d	«      g| ¬
«      }|j                  «       j                  «       |k(  sJ ‚|j                  «       j                  |k(  sJ ‚t        j                   |d«       |d	«      d g| ¬
«      }|j                  «       j                  «       |k(  sJ ‚|j                  «       j                  |k(  sJ ‚t        j                   |d«       |d«      g| ¬
«      }|j                  «       j                  «       |k(  sJ ‚|j                  «       j                  |k(  sJ ‚t        j                   |d«       |d«      d g| ¬
«      }|j                  «       j                  «       |k(  sJ ‚|j                  «       j                  |k(  sJ ‚t        j                  d g| ¬
«      }|j                  «       j                  «       �J ‚|j                  «       j                  |k(  sJ ‚|j                  d¬«      j                  «       |k(  sJ ‚|j                  d¬«      j                  |k(  sJ ‚t        j                  g | ¬
«      }|j                  «       j                  «       �J ‚|j                  «       j                  |k(  sJ ‚|j                  d¬«      j                  «       |k(  sJ ‚|j                  d¬«      j                  |k(  sJ ‚y )Nr   ©ÚDecimalé&   éL   ú5.79z10.00ú0.00ú1.23ú4.56r/  z8.77rz   )Údecimalr7  r’   ÚtypesÚis_decimal128Ú
decimal128ÚscaleÚ
decimal256r·   r1  r2  rÌ   )r,  r7  Úmax_precision_typeÚexpected_sumÚexpected_sum_overflowÚzeror  s          r;   Útest_sum_decimal_arrayrH  k  s¿  € åô �8‰8×!Ñ! *Ô-ô 	�‰�b˜*×*Ñ*Ô+ä�]‰]˜2˜z×/Ñ/Ó0ð ñ
 ˜6“?€LÙ# GÓ,ÐÙ�6‹?€Dô �(‰(‘G˜F“O¡W¨V£_Ð5¸JÔ
G€CØ�7‰7‹9�?‰?Ó Ò,Ð,Ð,Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/ä
�(‰(‘G˜F“O¡W¨V£_°dÐ;À*Ô
M€CØ�7‰7‹9�?‰?Ó Ò,Ð,Ð,Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/ô �(‰(‘G˜F“O¡W¨V£_Ð5¸JÔ
G€CØ�7‰7‹9�?‰?ÓÐ 5Ò5Ð5Ð5Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/ä
�(‰(‘G˜F“O¡W¨V£_°dÐ;À*Ô
M€CØ�7‰7‹9�?‰?ÓÐ 5Ò5Ð5Ð5Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/ä
�(‰(�D�6 
Ô
+€CØ�7‰7‹9�?‰?ÓÐ$Ð$Ð$Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/Ø�7‰7˜Qˆ7Ó×%Ñ%Ó'¨4Ò/Ð/Ð/Ø�7‰7˜Qˆ7Ó×$Ñ$Ð(:Ò:Ð:Ð:ä
�(‰(�2˜JÔ
'€CØ�7‰7‹9�?‰?ÓÐ$Ð$Ð$Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/Ø�7‰7˜Qˆ7Ó×%Ñ%Ó'¨4Ò/Ð/Ð/Ø�7‰7˜Qˆ7Ó×$Ñ$Ð(:Ò:Ð:Ñ:rE   c                 ó|  — t        j                  t        j                  g d¢| ¬«      g«      }t        j                  |«      j                  «       dk(  sJ ‚t        j                  t        j                  ddg| ¬«      t        j                  ddg| ¬«      g«      }t        j                  |«      j                  «       dk(  sJ ‚t        j                  t        j                  ddg| ¬«      t        j                  g | ¬«      t        j                  ddg| ¬«      g«      }t        j                  |«      j                  «       dk(  sJ ‚t        j                  d| ¬«      }|j                  d	k(  sJ ‚t        j                  |«      j                  «       �J ‚t        j                  |d	¬
«      j                  «       d	k(  sJ ‚y )Nr.  r/  r   r$   r%   r#   r&   rá   r   rz   )r’   Úchunked_arrayr·   r@   r1  r2  Ú
num_chunksr3  s     r;   Útest_sum_chunked_arrayrL  –  sc  € ä
×
Ñ
œBŸH™H¢\¸
ÔCÐDÓ
E€CÜ�6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
×
Ñ
Ü
�‰�!�Q�˜jÔ)¬2¯8©8°Q¸°FÀÔ+Lðó €Cô �6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
×
Ñ
Ü
�‰�!�Q�˜jÔ)Ü
�‰�˜*Ô%Ü
�‰�!�Q�˜jÔ)ðó €Cô
 �6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
×
Ñ
˜2 JÔ
/€CØ�>‰>˜QÒÐÐÜ�6‰6�#‹;×ÑÓÐ&Ð&Ð&Ü�6‰6�# Ô#×)Ñ)Ó+¨qÒ0Ð0Ñ0rE   c           	      ó  — ddl m} t        j                  j	                  | «      r t        j
                  d| j                  «      nt        j                  d| j                  «      } |d«      } |d«      }t        j                  t        j                   |d«       |d«      g| ¬	«      g«      }t        j                  |«      j                  «       |k(  sJ ‚t        j                  |«      j                  |k(  sJ ‚t        j                  t        j                   |d«      g| ¬	«      t        j                   |d«      g| ¬	«      g«      }t        j                  |«      j                  «       |k(  sJ ‚t        j                  |«      j                  |k(  sJ ‚t        j                  t        j                   |d«      g| ¬	«      t        j                  g | ¬	«      t        j                   |d«      g| ¬	«      g«      }t        j                  |«      j                  «       |k(  sJ ‚t        j                  |«      j                  |k(  sJ ‚t        j                  d
| ¬	«      }|j                  dk(  sJ ‚t        j                  |«      j                  «       �J ‚t        j                  |«      j                  |k(  sJ ‚t        j                  |d¬«      j                  «       |k(  sJ ‚t        j                  |d¬«      j                  |k(  sJ ‚y )Nr   r6  r8  r9  r:  r;  r<  r=  r/  rá   rz   )r>  r7  r’   r?  r@  rA  rB  rC  rJ  r·   r@   r1  r2  rÌ   rK  )r,  r7  rD  rE  rG  r  s         r;   Ú#test_sum_chunked_array_decimal_typerN  ­  sr  € åô �8‰8×!Ñ! *Ô-ô 	�‰�b˜*×*Ñ*Ô+ä�]‰]˜2˜z×/Ñ/Ó0ð ñ
 ˜6“?€LÙ�6‹?€Dä
×
Ñ
ä�H‰H‘g˜f“o¡w¨v£Ð7¸jÔIð	
ó€Cô
 �6‰6�#‹;×ÑÓ ,Ò.Ð.Ð.Ü�6‰6�#‹;×ÑÐ1Ò1Ð1Ð1ä
×
Ñ
Ü
�‰‘'˜&“/Ð"¨Ô4Ü
�‰‘'˜&“/Ð"¨Ô4ðó €Cô �6‰6�#‹;×ÑÓ ,Ò.Ð.Ð.Ü�6‰6�#‹;×ÑÐ1Ò1Ð1Ð1ä
×
Ñ
Ü
�‰‘'˜&“/Ð"¨Ô4Ü
�‰�˜*Ô%Ü
�‰‘'˜&“/Ð"¨Ô4ðó €Cô
 �6‰6�#‹;×ÑÓ ,Ò.Ð.Ð.Ü�6‰6�#‹;×ÑÐ1Ò1Ð1Ð1ä
×
Ñ
˜2 JÔ
/€CØ�>‰>˜QÒÐÐÜ�6‰6�#‹;×ÑÓÐ&Ð&Ð&Ü�6‰6�#‹;×ÑÐ1Ò1Ð1Ð1Ü�6‰6�# Ô#×)Ñ)Ó+¨tÒ3Ð3Ð3Ü�6‰6�# Ô#×(Ñ(Ð,>Ò>Ð>Ñ>rE   c                  óê  — t        j                  g d¢d¬«      } t        j                  | «      }t	        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚t        j                  | d¬«      }t	        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚|d   j                  «       d	ddœk(  sJ ‚t        j                  g d¬«      } t	        t        j                  | «      «      dk(  sJ ‚t        j                  g d
¢d¬«      } t        j                  | d¬«      }t	        |«      dk(  sJ ‚t        j                  | d¬«      }t	        |«      dk(  sJ ‚t        j                  | dd¬«      }t	        |«      dk(  sJ ‚t        j                  ddg«      } t        j                  | d¬«      }t	        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚|d   j                  «       dddœk(  sJ ‚y )N©r$   r$   r#   r&   r#   r   r   r/  r$   r   r%   ©ÚmodeÚcount©rð   r#   )r$   r$   r#   r&   r#   NFr[   r'   rz   r   ©rW   r{   T)r’   r·   r@   rR  r1   r2  ©r  rR  s     r;   Útest_mode_arrayrW  ×  s±  € ä
�(‰(Ò%¨GÔ
4€CÜ�7‰7�3‹<€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5ä�7‰7�3˜!Ô€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5ä
�(‰(�2˜GÔ
$€CÜŒr�w‰w�s‹|Ó Ò!Ð!Ð!ä
�(‰(Ò(¨wÔ
7€CÜ�7‰7�3 5Ô)€DÜˆt‹9˜Š>Ðˆ>Ü�7‰7�3 !Ô$€DÜˆt‹9˜Š>Ðˆ>Ü�7‰7�3 5°AÔ6€DÜˆt‹9˜Š>Ðˆ>ä
�(‰(�D˜%�=Ó
!€CÜ�7‰7�3˜!Ô€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? u°qÑ9Ò9Ð9Ð9Ø�‰7�=‰=‹? t°aÑ8Ò8Ð8Ñ8rE   c                  ó.  — t        j                  t        j                  g d¢d¬«      g«      } t        j                  | «      }t        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚t        j                  | d¬«      }t        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚|d   j                  «       d	ddœk(  sJ ‚t        j                  d
d¬«      } | j                  dk(  sJ ‚t        t        j                  | «      «      dk(  sJ ‚y )NrP  r   r/  r$   r   r%   rQ  rT  r#   rá   )r’   rJ  r·   r@   rR  r1   r2  rK  rV  s     r;   Útest_mode_chunked_arrayrY  õ  sô   € ä
×
Ñ
œBŸH™HÒ%7¸gÔFÐGÓ
H€CÜ�7‰7�3‹<€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5ä�7‰7�3˜!Ô€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5ä
×
Ñ
˜2 GÔ
,€CØ�>‰>˜QÒÐÐÜŒr�w‰w�s‹|Ó Ò!Ð!Ñ!rE   c                  óø   — d} t        j                  t        j                  | ¬«      5  t        j                  g «       d d d «       t        j                  g t        j
                  «       ¬«       y # 1 sw Y   Œ3xY w)Nz@cannot construct ChunkedArray from empty vector and omitted typer.   r/  )r4   r5   r’   ÚArrowInvalidrJ  r   )Úmsgs    r;   Útest_empty_chunked_arrayr]    sM   € Ø
L€CÜ	�‰”r—‘¨cÖ	2Ü
×Ñ˜Ô÷ 
3ô ×Ñ�RœbŸg™g›iÖ(÷ 
3Ð	2ús   ¨A0Á0A9c                  ó  — g d¢} t        j                  | «      j                  «       dk(  sJ ‚t        j                  | d¬«      j                  «       dk(  sJ ‚t        j                  | d¬«      j                  «       dk(  sJ ‚y )N)r$   r%   r#   r&   r   r'   é   ró   g      @r   )Úddofr$   g      @)r@   Úvariancer2  ©Údatas    r;   Útest_variancerd    sk   € Ú#€DÜ�;‰;�tÓ×"Ñ"Ó$¨Ò,Ð,Ð,Ü�;‰;�t !Ô$×*Ñ*Ó,°Ò4Ð4Ð4Ü�;‰;�t !Ô$×*Ñ*Ó,°Ò3Ð3Ñ3rE   c                  ó"  — g d¢} t        j                  | «      j                  «       t        j                  dd¬«      k(  sJ ‚t        j                  | d¬«      j                  «       �J ‚t        j                  | d¬«      j                  «       �J ‚y )	N©r$   r$   Nr%   gÑ;fž æ?ç»½×Ùß|Û=©ÚrelFr[   r&   rz   )r@   Úskewr2  r4   Úapproxrb  s    r;   Ú	test_skewrl    sr   € Ú€DÜ�7‰7�4‹=×ÑÓ ¤F§M¡MÐ2CÈÔ$OÒOÐOÐOÜ�7‰7�4 EÔ*×0Ñ0Ó2Ð:Ð:Ð:Ü�7‰7�4 1Ô%×+Ñ+Ó-Ð5Ð5Ñ5rE   c                  ó"  — g d¢} t        j                  | «      j                  «       t        j                  dd¬«      k(  sJ ‚t        j                  | d¬«      j                  «       �J ‚t        j                  | d¬«      j                  «       �J ‚y )	Nrf  g      ø¿rg  rh  Fr[   r&   rz   )r@   Úkurtosisr2  r4   rk  rb  s    r;   Útest_kurtosisro    sr   € Ú€DÜ�;‰;�tÓ×"Ñ"Ó$¬¯©°dÀÔ(FÒFÐFÐFÜ�;‰;�t¨Ô.×4Ñ4Ó6Ð>Ð>Ð>Ü�;‰;�t qÔ)×/Ñ/Ó1Ð9Ð9Ñ9rE   zinput, expected)ç      ð?g       @ç      @g      D@NgIc§ÝºÒÿ?gpÕ•ž´@)rj  rn  )r$   r%   é(   gdö³ƒV¦û?rr  c                 óÄ   — t        j                  | dd¬«      }t        j                  | dd¬«      }|j                  «       |d   k(  sJ ‚|j                  «       |d   k(  sJ ‚y )NTF)rW   Úbiasedrj  rn  )r@   rj  rn  r2  )Úinputr  Ú
arrow_skewÚarrow_kurtosiss       r;   Útest_unbiased_skew_and_kurtosisrx  #  s`   € ô —‘˜¨4¸Ô>€JÜ—[‘[ °4ÀÔF€NØ×ÑÓ ¨&Ñ!1Ò1Ð1Ð1Ø×ÑÓ! X¨jÑ%9Ò9Ð9Ñ9rE   c                  óÂ  — t        j                  «       t        j                  «       ft        j                  «       t        j                  «       ffD ]Œ  \  } }t        j
                  g d¢| ¬«      }t        j                  |d«      }t        j
                  g d¢|¬«      }||k(  sJ ‚t        j                  |dd¬«      }t        j
                  g d¢|¬«      }||k(  rŒŒJ ‚ y )N)ÚabÚcabÚabcabÚbaÚABNr/  rz  )r$   r$   r%   r   r   NT©Úignore_case)r$   r$   r%   r   r$   N)r’   r   r   Úlarge_stringr   r·   r@   Úcount_substring©ÚtyÚoffsetr  Úresultr  s        r;   Útest_count_substringr‡  3  s°   € ÜŸ)™)›+¤r§x¡x£zÐ2ÜŸ/™/Ó+¬R¯X©X«ZÐ8ó:‰ˆˆVä�h‰hÒ?ÀbÔIˆä×#Ñ# C¨Ó.ˆÜ—8‘8Ò1¸Ô?ˆØ˜6Ò!Ð!Ð!ä×#Ñ# C¨¸4Ô@ˆÜ—8‘8Ò1¸Ô?ˆØ˜6Ó!Ð!Ð!ñ:rE   c                  óò  — t        j                  «       t        j                  «       ft        j                  «       t        j                  «       ffD ]¤  \  } }t        j
                  g d¢| ¬«      }t        j                  |d«      }t        j
                  g d¢|¬«      }|j                  |«      sJ ‚t        j                  |dd¬«      }t        j
                  g d¢|¬«      }|j                  |«      rŒ¤J ‚ y )N)rz  r{  ÚbaAacaar}  r~  Nr/  za+)r$   r$   r#   r$   r   NTr  )r$   r$   r%   r$   r$   N)	r’   r   r   r�  r   r·   r@   Úcount_substring_regexr  rƒ  s        r;   Útest_count_substring_regexr‹  A  s¸   € ÜŸ)™)›+¤r§x¡x£zÐ2ÜŸ/™/Ó+¬R¯X©X«ZÐ8ó:‰ˆˆVä�h‰hÒAÈÔKˆä×)Ñ)¨#¨tÓ4ˆÜ—8‘8Ò1¸Ô?ˆØ�‰˜vÔ&Ð&Ð&ä×)Ñ)¨#¨tÀÔFˆÜ—8‘8Ò1¸Ô?ˆØ�‰˜vÕ&Ð&Ð&ñ:rE   c                  ó~  — t        j                  «       t        j                  «       t        j                  «       t        j                  «       fD ]ì  } t        j
                  g d¢| ¬«      }t        j                  |d«      }|j                  «       g d¢k(  sJ ‚t        j                  |d«      }|j                  «       g d¢k(  sJ ‚t        j
                  g d¢| ¬«      }t        j                  |dd	¬
«      }|j                  «       g d¢k(  sJ ‚t        j                  |dd	¬
«      }|j                  «       g d¢k(  rŒìJ ‚ y )N)rz  r{  r}  Nr/  rz  )r   r$   r]   Nza?b)r   r$   r   N)zab*zcAB*r}  zaB?zaB*Tr  )r   r$   r]   r]   )r   r$   r   r   )
r’   r   r   r�  Úlarge_binaryr·   r@   Úfind_substringr(  Úfind_substring_regex)r„  r  r†  s      r;   Útest_find_substringr�  O  sû   € Ü�y‰y‹{œBŸI™I›K¬¯©Ó):¼B¿O¹OÓ<MÓNˆÜ�h‰hÒ0°rÔ:ˆÜ×"Ñ" 3¨Ó-ˆØ×ÑÓ!Ò%5Ò5Ð5Ð5ä×(Ñ(¨¨eÓ4ˆØ×ÑÓ!¢_Ò4Ð4Ð4ä�h‰hÒ3¸"Ô=ˆÜ×"Ñ" 3¨¸4Ô@ˆØ×ÑÓ!¢^Ò3Ð3Ð3ä×(Ñ(¨¨eÀÔFˆØ×ÑÓ!¢\Ó1Ð1Ð1ñ OrE   c                  óè  — t        j                  g d¢«      } t        j                  | d«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )	N)rz  zba%r}  úca%dNz_a\%%)FTFTN)ÚaBzbA%r}  r’  NTr  F)FFFTN)r’   r·   r@   Ú
match_liker  ©r  r†  r  s      r;   Útest_match_liker–  `  s·   € Ü
�(‰(Ò4Ó
5€CÜ�]‰]˜3 Ó)€FÜ�x‰xÒ8Ó9€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò4Ó
5€CÜ�]‰]˜3 °dÔ;€FÜ�x‰xÒ8Ó9€HØ�?‰?˜6Ô"Ð"Ð"Ü�]‰]˜3 °eÔ<€FÜ�x‰xÒ9Ó:€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óè  — t        j                  g d¢«      } t        j                  | d«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  | dd¬«      }t        j                  g d	¢«      }|j	                  |«      sJ ‚y )
N)rz  Úabcr}  Nrz  ©TTFN)u   Ã¡Bu   Ã�bcr}  Nu   Ã¡bTr  F)FFFN)r’   r·   r@   Úmatch_substringr  r•  s      r;   Útest_match_substringr›  o  s½   € Ü
�(‰(Ò,Ó
-€CÜ×Ñ  TÓ*€FÜ�x‰xÒ1Ó2€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò.Ó
/€CÜ×Ñ  U¸Ô=€FÜ�x‰xÒ1Ó2€HØ�?‰?˜6Ô"Ð"Ð"Ü×Ñ  U¸Ô>€FÜ�x‰xÒ3Ó4€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óè  — t        j                  g d¢«      } t        j                  | d«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )	N)rz  r˜  r}  ÚcNz^a?b)TTTFN)r“  ÚAbcÚBAr�  NTr  F)FFFFN)r’   r·   r@   Úmatch_substring_regexr  r•  s      r;   Útest_match_substring_regexr¡  ~  s½   € Ü
�(‰(Ò1Ó
2€CÜ×%Ñ% c¨6Ó2€FÜ�x‰xÒ7Ó8€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò1Ó
2€CÜ×%Ñ% c¨6¸tÔD€FÜ�x‰xÒ7Ó8€HØ�?‰?˜6Ô"Ð"Ð"Ü×%Ñ% c¨6¸uÔE€FÜ�x‰xÒ:Ó;€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óŒ  — t        j                  g d¢«      } t        j                  | «      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j
                  | «      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  | d¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  | d«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )N)ú fooNu    ã€€foo bar 	)r  Núfoo bar)r  Nu
   ã€€foo baru    fã€€)Ú
characters)ÚooNzoo bar 	)r’   r·   r@   Úutf8_trim_whitespacer  Úascii_trim_whitespaceÚ	utf8_trimr•  s      r;   Ú	test_trimrª  �  só   € ä
�(‰(Ò6Ó
7€CÜ×$Ñ$ SÓ)€FÜ�x‰xÒ0Ó1€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò6Ó
7€CÜ×%Ñ% cÓ*€FÜ�x‰xÒ6Ó7€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò6Ó
7€CÜ�\‰\˜#¨*Ô5€FÜ�x‰xÒ1Ó2€HØ�?‰?˜6Ô"Ð"Ð"ä�\‰\˜#˜zÓ*€FÜ�x‰xÒ1Ó2€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  ó¸  — t        j                  g d¢«      } t        dd«      D ]¯  }t        j                  t        dd«      d g«      D ]‰  }dD ]‚  }t        j                  | D �cg c]  }|j                  «       |||…   ‘Œ c}«      }t        j                  | |||¬«      }|j                  |«      sJ ‚t        j                  | |||«      |k(  rŒ‚J ‚ Œ‹ Œ± y c c}w )N)Ú u   ð�‘“u   ð�‘“Ã¶u   ð�‘“Ã¶Ãµu   ð�‘“Ã¶Ãµá¸�u   ð�‘“Ã¶Ãµá¸�Å¡éúÿÿÿr'   )éýÿÿÿéþÿÿÿr]   r$   r%   r#   ©rV   ÚstopÚstep)	r’   r·   ÚrangeÚ	itertoolsÚchainr2  r@   Úutf8_slice_codeunitsr  )r  rV   r±  r²  Úkr  r†  s          r;   Útest_slice_compatibilityr¸  £  sß   € Ü
�(‰(ÒUÓ
V€CÜ�r˜1–ˆÜ—O‘O¤E¨"¨a£L°4°&Ö9ˆDÛ-�ÜŸ8™8Ù.1ó%3Ù.1¨ð &'§W¡W£Y¨u°T¸$¨Ó%?Ø.1ñ%3ó 4�ä×0Ñ0Ø˜u¨4°dô<�à—‘ vÔ.Ð.Ð.ä×.Ñ.¨sØ/4°d¸DóBØEKóLð Lð Lñ .ñ :ñ ùò%3s   Á#Cc            
      ó  — g d¢} t        j                  | «      }t        j                  t	        dd«      t	        dd«      t	        dd«      «      D �])  \  }}}|dk(  rŒt        j                  |D �cg c]  }|j                  «       |||…   ‘Œ c}«      }t        j                  ||||¬«      }|j                  |«      sJ ‚t        j                  ||||«      |k(  sJ ‚| D ]—  }t        j                  |t        j                  t        |«      «      ¬«      }	||||…   }t        j                  |	|||«      }
|
j                  t        j                  t        |«      «      k(  sJ ‚|
j                  «       |k(  rŒ—J ‚ �Œ, y c c}w )	N)rE   r    s   aÿs   ab s   abcûs   abòder­  r'   r®  r&   r   r°  r/  )r’   r·   r´  Úproductr³  r2  r@   Úbinary_slicer  rœ   r   r1   rÌ   )rc  r  rV   r±  r²  r·  r  r†  ÚitemÚ
fsb_scalarÚactuals              r;   Útest_binary_slice_compatibilityr¿  ²  sY  € ÚD€DÜ
�(‰(�4‹.€CÜ&×.Ñ.¬u°R¸«|Ü/4°R¸«|Ü/4°R¸«|÷=Ñˆˆt�Tð �1Š9ØÜ—8‘8Ù&)ó+Ù&) ð ŸW™W›Y u¨T°$ Ó7Ø&)ñ+ó ,ˆä—‘Ø�u 4¨dô4ˆà�‰˜vÔ&Ð&Ð&ä�‰˜s E¨4°Ó6¸&Ò@Ð@Ð@ãˆDÜŸ™ 4¬b¯i©i¼¸D»	Ó.BÔCˆJØ˜E $ t˜OÑ,ˆHÜ—_‘_ Z°¸¸dÓCˆFØ—;‘;¤"§)¡)¬C°«MÓ":Ò:Ð:Ð:Ø—<‘<“> XÓ-Ð-Ð-ò ñ=ùò
+s   Á0E=
c                  óÖ  — t        j                  ddg«      } t        j                  | d¬«      }t        j                  ddgg d¢g«      }|j	                  |«      sJ ‚t        j                  | dd¬	«      }t        j                  ddgd
dgg«      }|j	                  |«      sJ ‚t        j                  | ddd¬«      }t        j                  ddgddgg«      }|j	                  |«      sJ ‚y )Nú-foo---bar--ú
---foo---bú---©r\   z-foozbar--©r¬  r  r   r$   ©Ú
max_splitsr¬  úfoo---bT©rÇ  Úreversez---foor   )r’   r·   r@   Úsplit_patternr  r•  s      r;   Útest_split_patternrÌ  Ê  sØ   € Ü
�(‰(�N LÐ1Ó
2€CÜ×Ñ˜c¨5Ô1€FÜ�x‰x˜& 'Ð*Ò,<Ð=Ó>€HØ�?‰?˜6Ô"Ð"Ð"ä×Ñ˜c 5°QÔ7€FÜ�x‰x˜& 'Ð*¨R°¨OÐ<Ó=€HØ�?‰?˜6Ô"Ð"Ð"ä×Ñ˜c 5°QÀÔE€FÜ�x‰x˜& 'Ð*¨X°s¨OÐ<Ó=€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óÎ  — t        j                  ddg«      } t        j                  | «      }t        j                  ddgg d¢g«      }|j	                  |«      sJ ‚t        j                  | d¬«      }t        j                  ddgdd	gg«      }|j	                  |«      sJ ‚t        j                  | dd
¬«      }t        j                  ddgddgg«      }|j	                  |«      sJ ‚y )Nr¤  õ    foo  ã€€	br  r  rÅ  r$   rÆ  r¬  õ
   foo  ã€€	bTrÉ  r£  r   )r’   r·   r@   Úutf8_split_whitespacer  r•  s      r;   Útest_split_whitespace_utf8rÑ  Ù  sÒ   € Ü
�(‰(�IÐ0Ð1Ó
2€CÜ×%Ñ% cÓ*€FÜ�x‰x˜% ˜Ò)9Ð:Ó;€HØ�?‰?˜6Ô"Ð"Ð"ä×%Ñ% c°aÔ8€FÜ�x‰x˜% ˜¨"Ð.>Ð)?Ð@ÓA€HØ�?‰?˜6Ô"Ð"Ð"ä×%Ñ% c°aÀÔF€FÜ�x‰x˜% ˜¨&°#¨Ð7Ó8€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óÎ  — t        j                  ddg«      } t        j                  | «      }t        j                  ddgg d¢g«      }|j	                  |«      sJ ‚t        j                  | d¬«      }t        j                  ddgdd	gg«      }|j	                  |«      sJ ‚t        j                  | dd
¬«      }t        j                  ddgddgg«      }|j	                  |«      sJ ‚y )Nr¤  rÎ  r  r  )r¬  r  u   ã€€r   r$   rÆ  r¬  rÏ  TrÉ  u	    foo  ã€€r   )r’   r·   r@   Úascii_split_whitespacer  r•  s      r;   Útest_split_whitespace_asciirÔ  è  sÓ   € Ü
�(‰(�IÐ0Ð1Ó
2€CÜ×&Ñ& sÓ+€FÜ�x‰x˜% ˜Ò)CÐDÓE€HØ�?‰?˜6Ô"Ð"Ð"ä×&Ñ& s°qÔ9€FÜ�x‰x˜% ˜¨"Ð.>Ð)?Ð@ÓA€HØ�?‰?˜6Ô"Ð"Ð"ä×&Ñ& s°qÀ$ÔG€FÜ�x‰x˜% ˜¨.¸#Ð)>Ð?Ó@€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óÚ  — t        j                  ddg«      } t        j                  | d¬«      }t        j                  g d¢g d¢g«      }|j	                  |«      sJ ‚t        j                  | dd¬«      }t        j                  d	d
gd	dgg«      }|j	                  |«      sJ ‚t        j                  t        d¬«      5  t        j                  | ddd¬«      }d d d «       y # 1 sw Y   y xY w)NrÁ  rÂ  z-+rÄ  )r¬  r  r  r¬  rÅ  r$   rÆ  r¬  zfoo---bar--rÈ  z"Cannot split in reverse with regexr.   rÃ  T)r\   rÇ  rÊ  )r’   r·   r@   Úsplit_pattern_regexr  r4   r5   ÚNotImplementedErrorr•  s      r;   Útest_split_pattern_regexrØ  ÷  sÏ   € Ü
�(‰(�N LÐ1Ó
2€CÜ×#Ñ# C°Ô6€FÜ�x‰xÒ/Ò1AÐBÓC€HØ�?‰?˜6Ô"Ð"Ð"ä×#Ñ# C¨¸!Ô<€FÜ�x‰x˜"˜mÐ,¨r°9¨oÐ>Ó?€HØ�?‰?˜6Ô"Ð"Ð"ä	�‰Ô*ØAö
Cä×'Ñ'Ø˜¨1°dô<ˆ÷
C÷ 
Cñ 
Cús   Â>C!Ã!C*c                  óž  — g d¢} t        j                  | «      }|j                  «       dddœk(  sJ ‚t        j                  | t        j                  «       ¬«      }|j                  «       dddœk(  sJ ‚t        j                  | t        j                  d¬«      ¬«      }|j                  «       dddœk(  sJ ‚t        j                  | t        j                  d¬«      ¬«      }|j                  «       d d dœk(  sJ ‚t        j                  | d	di¬«      }|j                  «       d d dœk(  sJ ‚t        j                  | d¬«      }|j                  «       d d dœk(  sJ ‚t	        j
                  t        «      5  t        j                  | t        j                  «       d¬
«      }d d d «       t        j                  «       }t	        j
                  t        «      5  t        j                  | |¬«      }d d d «       t	        j
                  t        d¬«      5  t        j                  «       }d d d «       y # 1 sw Y   Œ�xY w# 1 sw Y   ŒNxY w# 1 sw Y   y xY w)N)r&   r   r'   Nr$   r$   r'   )Úminrp   ©r×   Tr[   FrW   )r×   rW   zmin_max takes 1 positionalr.   )r@   Úmin_maxr2  r´   r4   r5   r6   rÀ   )rc  r€   r×   s      r;   Útest_min_maxrÝ    sÃ  € â€DÜ
�
‰
�4Ó€AØ�7‰7‹9 ¨!Ñ,Ò,Ð,Ð,Ü
�
‰
�4¤×!:Ñ!:Ó!<Ô=€AØ�7‰7‹9 ¨!Ñ,Ò,Ð,Ð,Ü
�
‰
�4¤×!:Ñ!:ÀdÔ!KÔL€AØ�7‰7‹9 ¨!Ñ,Ò,Ð,Ð,Ü
�
‰
�4¤×!:Ñ!:ÀeÔ!LÔM€AØ�7‰7‹9 ¨TÑ2Ò2Ð2Ð2ô 	�
‰
�4 ,°Ð!6Ô7€AØ�7‰7‹9 ¨TÑ2Ò2Ð2Ð2ä
�
‰
�4 EÔ*€AØ�7‰7‹9 ¨TÑ2Ò2Ð2Ð2ô 
�‰”yÕ	!Ü�J‰JØœ"×3Ñ3Ó5À%ôIˆ÷ 
"ô
 �n‰nÓ€GÜ	�‰”yÕ	!Ü�J‰J�t WÔ-ˆ÷ 
"ô 
�‰”yÐ(DÖ	EÜ�J‰J‹Lˆ÷ 
FÐ	E÷ 
"Ð	!ú÷ 
"Ð	!ú÷ 
FÐ	Eús$   Å2+H+ÇH7ÈIÈ+H4È7I ÉIc                  óæ  — t        j                  dd¬«      } t        j                  g d¬«      }t        j                  |«      j                  «       �J ‚t        j                  |d¬«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       du sJ ‚t        j                  g d¢«      }t        j                  |«      j                  «       d	u sJ ‚t        j                  || ¬«      j                  «       d	u sJ ‚t        j                  g d
¢«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       �J ‚y )NFr   rU  r	   r/  rz   rÛ  )FNTT)FNF)r@   r´   r’   r·   Úanyr2  ©r×   r   s     r;   Útest_anyrá  )  s  € ô ×'Ñ'°5ÀAÔF€Gä
�‰�˜&Ô!€AÜ�6‰6�!‹9�?‰?ÓÐ$Ð$Ð$Ü�6‰6�!˜qÔ!×'Ñ'Ó)¨UÑ2Ð2Ð2Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ6Ð6Ð6ä
�‰Ò$Ó%€AÜ�6‰6�!‹9�?‰?Ó Ñ$Ð$Ð$Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ5Ð5Ð5ä
�‰Ò%Ó&€AÜ�6‰6�!‹9�?‰?Ó Ñ%Ð%Ð%Ü�6‰6�!˜WÔ%×+Ñ+Ó-Ð5Ð5Ñ5rE   c                  óˆ  — t        j                  dd¬«      } t        j                  g d¬«      }t        j                  |«      j                  «       �J ‚t        j                  |d¬«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       du sJ ‚t        j                  ddg«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       du sJ ‚t        j                  dd g«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       �J ‚t        j                  dgdd gg«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       �J ‚t        j                  dgdgg«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       du sJ ‚y )	NFr   rU  r	   r/  rz   TrÛ  )r@   r´   r’   r·   rí   r2  rJ  rà  s     r;   Útest_allrã  <  sÕ  € ô ×'Ñ'°5ÀAÔF€Gä
�‰�˜&Ô!€AÜ�6‰6�!‹9�?‰?ÓÐ$Ð$Ð$Ü�6‰6�!˜qÔ!×'Ñ'Ó)¨TÑ1Ð1Ð1Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ5Ð5Ð5ä
�‰�%˜�Ó€AÜ�6‰6�!‹9�?‰?Ó Ñ%Ð%Ð%Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ6Ð6Ð6ä
�‰�$˜�Ó€AÜ�6‰6�!‹9�?‰?Ó Ñ$Ð$Ð$Ü�6‰6�!˜WÔ%×+Ñ+Ó-Ð5Ð5Ð5ä
×Ñ˜4˜& 4¨ ,Ð/Ó0€AÜ�6‰6�!‹9�?‰?Ó Ñ$Ð$Ð$Ü�6‰6�!˜WÔ%×+Ñ+Ó-Ð5Ð5Ð5ä
×Ñ˜4˜& 5 'Ð*Ó+€AÜ�6‰6�!‹9�?‰?Ó Ñ%Ð%Ð%Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ6Ð6Ñ6rE   c                  óê   — g d¢} t        j                  | «      j                  «       g d¢k(  sJ ‚t        j                  t
        «      5  t        j                  | d ¬«       d d d «       y # 1 sw Y   y xY w)N©r&   r   N©TTFrÛ  )r@   Úis_validr(  r4   r5   r6   rb  s    r;   Útest_is_validrè  W  sN   € â€DÜ�;‰;�tÓ×&Ñ&Ó(Ò,?Ò?Ð?Ð?ä	�‰”yÕ	!Ü
�‰�D $Õ'÷ 
"×	!Ñ	!ús   ÁA)Á)A2c                  ó”  — t         j                  j                  t        j                  d«      k(  sJ ‚t         j
                  j                  t        j                  d«      k(  sJ ‚t         j                  j                  t        j                  d«      k(  sJ ‚t         j                  j                  t        j                  d«      k(  sJ ‚y )Naf          Compute the minimum and maximum values of a numeric array.

        Null values are ignored by default.
        This can be changed through ScalarAggregateOptions.

        Parameters
        ----------
        array : Array-like
            Argument to compute function.
        skip_nulls : bool, default True
            Whether to skip (ignore) nulls in the input.
            If False, any null in the input forces the output to null.
        min_count : int, default 1
            Minimum number of non-null values in the input.  If the number
            of non-null values is below `min_count`, the output is null.
        options : pyarrow.compute.ScalarAggregateOptions, optional
            Alternative way of passing options.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.

        Examples
        --------
        >>> import pyarrow as pa
        >>> import pyarrow.compute as pc
        >>> arr1 = pa.array([1, 1, 2, 2, 3, 2, 2, 2])
        >>> pc.min_max(arr1)
        <pyarrow.StructScalar: [('min', 1), ('max', 3)]>

        Using ``skip_nulls`` to handle null values.

        >>> arr2 = pa.array([1.0, None, 2.0, 3.0])
        >>> pc.min_max(arr2)
        <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]>
        >>> pc.min_max(arr2, skip_nulls=False)
        <pyarrow.StructScalar: [('min', None), ('max', None)]>

        Using ``ScalarAggregateOptions`` to control minimum number of non-null values.

        >>> arr3 = pa.array([1.0, None, float("nan"), 3.0])
        >>> pc.min_max(arr3)
        <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]>
        >>> pc.min_max(arr3, options=pc.ScalarAggregateOptions(min_count=3))
        <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]>
        >>> pc.min_max(arr3, options=pc.ScalarAggregateOptions(min_count=4))
        <pyarrow.StructScalar: [('min', None), ('max', None)]>

        This function also works with string values.

        >>> arr4 = pa.array(["z", None, "y", "x"])
        >>> pc.min_max(arr4)
        <pyarrow.StructScalar: [('min', 'x'), ('max', 'z')]>
        a          Add the arguments element-wise.

        Results will wrap around on integer overflow.
        Use function "add_checked" if you want overflow
        to return an error.

        Parameters
        ----------
        x : Array-like or scalar-like
            Argument to compute function.
        y : Array-like or scalar-like
            Argument to compute function.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.
        aÊ          Find the element-wise minimum value.

        Nulls are ignored (by default) or propagated.
        NaN is preferred over null, but not over any valid value.

        Parameters
        ----------
        *args : Array-like or scalar-like
            Argument to compute function.
        skip_nulls : bool, default True
            Whether to skip (ignore) nulls in the input.
            If False, any null in the input forces the output to null.
        options : pyarrow.compute.ElementWiseAggregateOptions, optional
            Alternative way of passing options.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.
        aO          Filter with a boolean selection filter.

        The output is populated with values from the input at positions
        where the selection filter is non-zero.  Nulls in the selection filter
        are handled based on FilterOptions.

        Parameters
        ----------
        input : Array-like or scalar-like
            Argument to compute function.
        selection_filter : Array-like or scalar-like
            Argument to compute function.
        null_selection_behavior : str, default "drop"
            How to handle nulls in the selection filter.
            Accepted values are "drop", "emit_null".
        options : pyarrow.compute.FilterOptions, optional
            Alternative way of passing options.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.

        Examples
        --------
        >>> import pyarrow as pa
        >>> arr = pa.array(["a", "b", "c", None, "e"])
        >>> mask = pa.array([True, False, None, False, True])
        >>> arr.filter(mask)
        <pyarrow.lib.StringArray object at ...>
        [
          "a",
          "e"
        ]
        >>> arr.filter(mask, null_selection_behavior='emit_null')
        <pyarrow.lib.StringArray object at ...>
        [
          "a",
          null,
          "e"
        ]
        )r@   rÜ  Ú__doc__ÚtextwrapÚdedentrß   Úmin_element_wiseÚfilterrá   rE   r;   Útest_generated_docstringsrï  `  s¹   € ä�:‰:×Ñ¤§¡ð 42ó 4"ò 4ð 4ð 4ôl �6‰6�>‰>œXŸ_™_ð .ó ò ð ð ô" ×Ñ×&Ñ&¬(¯/©/ð ;ó +ò ð ð ô$ �9‰9×Ñ¤§¡ð '1ó '!ò 'ð 'ñ 'rE   c                  óh  — t        j                  t        j                  «      } t	        | «      dk(  sJ ‚t        j                  t        j
                  «      } t	        | «      dk(  sJ ‚t        j                  t        j                  «      } t	        | «      dk(  sJ ‚t        j                  t        j                  «      } t	        | «      dk(  sJ ‚t        j                  t        j                  «      } t	        | «      dk(  sJ ‚t        j                  t        j                  «      } t	        | «      dk(  sJ ‚y )Nz(x, y, /, *, memory_pool=None)zK(array, /, *, skip_nulls=True, min_count=1, options=None, memory_pool=None)zj(array, /, q=0.5, *, interpolation='linear', skip_nulls=True, min_count=0, options=None, memory_pool=None)zZ(*strings, null_handling='emit_null', null_replacement='', options=None, memory_pool=None)z'(indices, /, *values, memory_pool=None)z<(n, *, initializer='system', options=None, memory_pool=None))
rH   rI   r@   rß   ÚstrrÜ  ÚquantileÚbinary_join_element_wiseÚchooseÚrandom)rP   s    r;   Útest_generated_signaturesrö  å  s  € ô
 ×
Ñ
œBŸF™FÓ
#€CÜˆs‹8Ð7Ò7Ð7Ð7ä
×
Ñ
œBŸJ™JÓ
'€CÜˆs‹8ð :ò ;ð ;ð ;ô ×
Ñ
œBŸK™KÓ
(€CÜˆs‹8ð :ò ;ð ;ð ;ô ×
Ñ
œB×7Ñ7Ó
8€CÜˆs‹8ð ,ò -ð -ð -ô ×
Ñ
œBŸI™IÓ
&€CÜˆs‹8Ð@Ò@Ð@Ð@ä
×
Ñ
œBŸI™IÓ
&€CÜˆs‹8ð :ò ;ð ;ñ ;rE   c                  óv  — t        «       } t        dd«      D �cg c]  }d|cxk  rdk  sn t        |«      ‘Œ }}t        j                  t        j                  |«      «      j                  «       }t        |«      D ]6  \  }}||   |j                  «       k7  sŒ| j                  t        |«      «       Œ8 | S c c}w )Né€   é  é Ø  é à  )Úsetr³  Úchrr@   Úutf8_is_printabler’   r·   r(  Ú	enumerateÚisprintablerß   Úord)Únewr�  r¥  Úis_printableÚis        r;   Úfind_new_unicode_codepointsr    s    € ä
‹%€CÜ"'¨¨gÔ"6ó 1Ñ"6˜QØ  AÔ.¨Ô.ô �a•&Ð"6€Jð 1ä×'Ñ'¬¯©°Ó(<Ó=×GÑGÓI€LÜ˜*Ö%‰ˆˆ1Ø˜‰?˜aŸm™m›oÓ-Ø�G‰G”C˜“F�Oð &ð €Jùò1s   ™B6iò  ió  >’   é,  é-  é.  é/  é0  é1  é2  é3  é4  é5  é6  é7  é8  é9  é:  é;  é<  é=  é>  é?  é@  éA  éB  éC  éD  éE  éF  éG  éH  éI  éJ  éK  éL  éM  éN  éO  éP  éQ  éR  éS  éT  éU  éV  éW  éX  éY  éZ  é[  é\  é\«  é]  é]«  é^  é^«  é_  é_«  é`  éa  éb  éc  éd  ée  éf  ég  éh  éi  éj  ép§  éq   éx  éz  é|,  é},  é   é�   é‘   é’   é“   é”   é•   é–   é—   é˜   é™   éš   é›  é›   éœ  éœ   éœ¦  é�  é�¦  éž  éŸ  é   é¡  é¢  é£  é¤  é¥  é¦  é§  é¨  é©  éª  é«  é¬  é­  é®  é¯  é°  é°  é±  é±  é²  é²  é³  é³  é´  é´  éµ  éµ  é¶  é¶  é·  é·  é¸  é¸  é¹  éº  é»  é¼  é½  é¾  é¿  éÀ  éÁ  éà  éá  éâ  éã  éä  éø§  éù§  éª   éº   >H   éÅ éÆ éÇ éÈ éÉ éÊ éË é N  éN  éQ  é4  éo  éN  é	N  é_  éO  é_  é_  é_  é!–  é*8  é,„  é0�  éAS  éCS  éDS  éES  éFQ  éF–  éLS  éLc  éL–  éM;  é]N  éiQ  ékQ  ékù  émQ  épO  ésù  éx–  éxù  éz^  é~v  éƒ4  é†€  éŒN  é”N  é–N  é–s  é®Œ  é²ù  é³Œ  é¿N  éÀN  éÁS  éÂS  éÃS  éÄS  éÑù  éÒg  éÓù  éÛV  éßN  éèN  éñX  éö–  éùX  éýù  éþ^  éþb  éÿ^  >l   é@
 éA
 éB
 éC
 é` é`$  éa éa$  éb éb$  éc éc$  éd éd$  ée ée$  éf éf$  ég ég$  éh éh$  éi  éj  ék  él  ém  én  éo  ép  ép   éq  ét   ét$  éu   éu$  év   év$  év'  éw   éw$  éw'  éx   éx$  éx'  éy   éy$  éy'  éz$  éz'  é{$  é{'  é|$  é|'  é}'  é~'  é€   é€'  é�   é�'  é‚   é‚'  éƒ   éƒ'  é„   é„'  é…   é…'  é†   é†'  é‡   é‡'  éˆ   éˆ$  éˆ'  é‰   é‰$  éŠ$  éŠ'  é‹$  é‹'  éŒ$  éŒ'  é�$  é�'  éŽ$  éŽ'  é�$  é�'  é�$  é�'  é‘'  é’'  éÚ  éê$  éõ$  éö$  é÷$  éø$  éù$  éú$  éû$  éü$  éý$  éÿ$  é²   é³   é¹   >A   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»  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Ø  rÙ  rÚ  rÛ  rÜ  rÝ  rÞ  rß  )Úis_alnumÚis_alphaÚis_digitÚ
is_numericÚis_lowerÚfunction_name)
rL  rM  Úis_asciiÚ
is_decimalrN  rP  rO  r  Úis_spaceÚis_upperÚvariantÚasciiÚutf8c                 óÌ  — |dz   | z   }| j                  dd«      }t        j                  | t        «       «      t	        «       z  }t        t        rdnd«      D ]‹  }|t        dd«      v rŒ||v rŒt        |«      }t        t        |«      sŒ3| dk7  sŒ9t        j                  |g«      }t        t        |«      } ||«      d   j                  «        t        ||«      «       k(  rŒ‹J ‚ y )	NÚ_r¬  rø  rù  rú  rû  rT  r   )ÚreplaceÚcodepoints_ignoreÚgetrü  r  r³  rW  rý  Úhasattrr@   r’   r·   r  r2  )	rQ  rV  Ú
arrow_nameÚpy_nameÚignorer  r�  ÚarÚ
arrow_funcs	            r;   Útest_string_py_compat_booleanrd  h  sÖ   € ð ˜3‘ Ñ.€JØ×#Ñ# C¨Ó,€GÜ×"Ñ" =´#³%Ó8Ü#Ó%ñ&€Fä�%‘3 WÖ-ˆØ”�f˜fÓ%Ñ%Øà�‰;Øô �‹FˆÜ”2�zÕ" }¸
Ó'BÜ—‘˜1˜#“ˆBÜ ¤ ZÓ0ˆJÙ˜b“> !Ñ$×*Ñ*Ó,Ð0C´¸¸7Ó0CÓ0EÓEÐEÐEñ .rE   c                  ót  — t        j                  g d¢«      } t        j                  | d¬«      j	                  «       g d¢k(  sJ ‚t        j
                  | d¬«      j	                  «       g d¢k(  sJ ‚t        j                  | d¬«      j	                  «       g d¢k(  sJ ‚t        j                  | d«      j	                  «       g d¢k(  sJ ‚t        j
                  | d«      j	                  «       g d¢k(  sJ ‚t        j                  | d«      j	                  «       g d¢k(  sJ ‚t        j                  g d¢«      } t        j                  | d¬«      j	                  «       g d¢k(  sJ ‚t        j                  | d¬«      j	                  «       g d	¢k(  sJ ‚t        j                  | d¬«      j	                  «       g d
¢k(  sJ ‚t        j                  | d«      j	                  «       g d¢k(  sJ ‚t        j                  | d«      j	                  «       g d	¢k(  sJ ‚t        j                  | d«      j	                  «       g d
¢k(  sJ ‚y )N)Nr   Úabcdr#   ©Úwidth)Nz a rf  )Nz  arf  )Nza  rf  )Nô   Ã¡rf  )Nu    Ã¡ rf  )Nu     Ã¡rf  )Nu   Ã¡  rf  )
r’   r·   r@   Úascii_centerÚtolistÚ
ascii_lpadÚ
ascii_rpadÚutf8_centerÚ	utf8_lpadÚ	utf8_rpadr*  s    r;   Útest_padrq  ‚  sÄ  € Ü
�(‰(Ò&Ó
'€CÜ�?‰?˜3 aÔ(×/Ñ/Ó1Ò5JÒJÐJÐJÜ�=‰=˜ AÔ&×-Ñ-Ó/Ò3HÒHÐHÐHÜ�=‰=˜ AÔ&×-Ñ-Ó/Ò3HÒHÐHÐHÜ�?‰?˜3 Ó"×)Ñ)Ó+Ò/DÒDÐDÐDÜ�=‰=˜˜aÓ ×'Ñ'Ó)Ò-BÒBÐBÐBÜ�=‰=˜˜aÓ ×'Ñ'Ó)Ò-BÒBÐBÐBä
�(‰(Ò'Ó
(€CÜ�>‰>˜# QÔ'×.Ñ.Ó0Ò4JÒJÐJÐJÜ�<‰<˜ 1Ô%×,Ñ,Ó.Ò2HÒHÐHÐHÜ�<‰<˜ 1Ô%×,Ñ,Ó.Ò2HÒHÐHÐHÜ�>‰>˜#˜qÓ!×(Ñ(Ó*Ò.DÒDÐDÐDÜ�<‰<˜˜QÓ×&Ñ&Ó(Ò,BÒBÐBÐBÜ�<‰<˜˜QÓ×&Ñ&Ó(Ò,BÒBÐBÑBrE   c                  óŠ  — t         j                  t         j                  u sJ ‚g d¢} t        dd«      D ]s  }t	        j
                  | «      }t        j                  ||¬«      j                  «       }| D �cg c]  }|�|j                  |«      nd ‘Œ }}||k(  rŒeJ d|› d|› d|› �«       ‚ t	        j
                  g d¢«      }t        j                  |t        j                  d	d
¬«      ¬«      j                  «       }|g d¢k(  sJ ‚t	        j
                  g d¢«      }t        j                  |t        j                  dd¬«      ¬«      j                  «       }|g d¢k(  sJ ‚t	        j
                  dg«      }t        j                  t        j                  d¬«      5  t        j                  |t        j                  dd¬«      ¬«       d d d «       t        j                  t        j                  d¬«      5  t        j                  |t        j                  dd¬«      ¬«       d d d «       y c c}w # 1 sw Y   ŒixY w# 1 sw Y   y xY w)N)ÚAr~  ÚABCr¬  ú-1z+1ra   Nr   r'   rg  zMismatch at width=z: z vs )ra   z-2z+3r   u   ðŸ’ )rh  ÚpaddingrÛ  )u   ðŸ’ ðŸ’ ðŸ’ ðŸ’ 1u   -ðŸ’ ðŸ’ ðŸ’ 2u   +ðŸ’ ðŸ’ ðŸ’ 3r&   Úx)Úxxx1z-xx2z+xx3r  zPadding must be one codepointr.   Úspamr¬  )r@   Ú
utf8_zfillÚutf8_zero_fillr³  r’   r·   r(  ÚzfillrÇ   r4   r5   r[  )Úexamplesrh  r  r†  rw  r  s         r;   Útest_utf8_zfillr~  ”  sÚ  € Ü�=‰=œB×-Ñ-Ñ-Ð-Ð-ò =€HÜ�q˜!–ˆÜ�h‰h�xÓ ˆÜ×"Ñ" 3¨eÔ4×>Ñ>Ó@ˆÙGOÓPÁxÀ! a m�A—G‘G˜E”N¸Ñ=ÀxˆÐPØ˜Ó!ÐWÐ%7¸°w¸bÀÀÈÈXÈJÐ#WÓWÐ!ð	 ô �(‰(Ò$Ó
%€CÜ×Ñ˜s¬B×,>Ñ,>Ø˜ô-!ô "ß"+¡)£+ð àÒNÒNÐNÐNô �(‰(Ò$Ó
%€CÜ×Ñ˜s¬B×,>Ñ,>Ø˜ô-ô ß(™y›{ð àÒ-Ò-Ð-Ð-ô �(‰(�E�7Ó
€CÜ	�‰”r—‘Ð.MÖ	NÜ
×Ñ˜#¤r×'9Ñ'9ÀÈ6Ô'RÕS÷ 
Oä	�‰”r—‘Ð.MÖ	NÜ
×Ñ˜#¤r×'9Ñ'9ÀÈ2Ô'NÕO÷ 
OÐ	Nùò' Q÷" 
OÐ	Núç	NÐ	Nús   Á4H(Æ-H-Ç2-H9È-H6È9Ic                  óV  — t        dd«      } t        j                  g d¢«      }|j                  «       j	                  t
        «      j                  t        j                  d i«      }| D ]  }| D ]x  }|j                  j                  ||d«      }t        j                  |||d¬«      }|j                  «       |j                  «       k(  sJ ‚t        j                  |||d«      |k(  rŒxJ ‚ Œ� t        j                  g d¢«      }|j                  «       j	                  t
        «      j                  t        j                  d i«      }| D ]b  }| D ][  }|j                  j                  ||d«      }t        j                  |||d¬«      }|j                  «       |j                  «       k(  rŒ[J ‚ Œd y )Nr®  r&   )Nr¬  r   rz  r˜  rf  ÚabcdeÚXX)rV   r±  Úreplacement)Nr¬  u   Ï€u   Ï€bu   Ï€bÎ¸u   Ï€bÎ¸du   Ï€bÎ¸de)r³  r’   r·   Ú	to_pandasÚastyper3   r[  r  Únanrñ  Úslice_replacer@   Úbinary_replace_slicerk  Úutf8_replace_slice)Úoffsetsr  ÚseriesrV   r±  r  r¾  s          r;   Útest_replace_slicer‹  ³  s^  € ä�B˜‹l€Gä
�(‰(Ò@Ó
A€CØ�]‰]‹_×#Ñ#¤FÓ+×3Ñ3´R·V±V¸T°NÓC€FÛˆÛˆDØ—z‘z×/Ñ/°°t¸TÓBˆHÜ×,Ñ,Ø˜5 t¸ô?ˆFà—=‘=“? h§o¡oÓ&7Ò7Ð7Ð7ä×*Ñ*¨3°°t¸TÓBÀfÓLÐLÐLñ ð ô �(‰(ÒHÓ
I€CØ�]‰]‹_×#Ñ#¤FÓ+×3Ñ3´R·V±V¸T°NÓC€FÛˆÛˆDØ—z‘z×/Ñ/°°t¸TÓBˆHÜ×*Ñ*Ø˜5 t¸ô?ˆFà—=‘=“? h§o¡oÓ&7Ó7Ð7Ð7ñ	 ñ rE   c                  ó¬  — t        j                  g d¢«      } t        j                  | dd¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dd«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddd¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddd¬	«      }|j	                  «       g d¢k(  sJ ‚y )
N)ÚfoozfooÚfoodNr  r  ©r\   r‚  )ÚbarzbarÚbardNr$   )r\   r‚  Úmax_replacements)Úbarzfoor‘  N)r’  )r’   r·   r@   Úreplace_substringrk  )rc  rb  s     r;   Útest_replace_plainr•  Ì  s¼   € Ü�8‰8Ò-Ó.€DÜ	×	Ñ	˜d¨E¸uÔ	E€BØ�9‰9‹;Ò3Ò3Ð3Ð3Ü	×	Ñ	˜d E¨5Ó	1€BØ�9‰9‹;Ò3Ò3Ð3Ð3ä	×	Ñ	˜d¨E¸uØ/0ô
2€Bà�9‰9‹;Ò3Ò3Ð3Ð3Ü	×	Ñ	˜d E¨5À1Ô	E€BØ�9‰9‹;Ò3Ò3Ð3Ñ3rE   c                  óF  — t        j                  g d¢«      } g d¢}t        j                  | dd¬«      }|j	                  «       |k(  sJ ‚t        j                  | dd¬«      }|j	                  «       |k(  sJ ‚t        j                  | dd«      }|j	                  «       |k(  sJ ‚y )N)r  ÚmoodN)Úf00Úm00dNz(.)ooz\100r�  )r‚  )r’   r·   r@   Úreplace_substring_regexrk  )rc  r  rb  s      r;   Útest_replace_regexr›  Ú  sŽ   € Ü�8‰8Ò)Ó*€DÚ$€HÜ	×	#Ñ	# D°'ÀwÔ	O€BØ�9‰9‹;˜(Ò"Ð"Ð"Ü	×	#Ñ	# D¨'¸wÔ	G€BØ�9‰9‹;˜(Ò"Ð"Ð"Ü	×	#Ñ	# D¨'°7Ó	;€BØ�9‰9‹;˜(Ò"Ð"Ñ"rE   c                  óô   — t        j                  ddg«      } dddœdddœg}t        j                  | d¬	«      }|j	                  «       |k(  sJ ‚t        j                  | d«      }|j	                  «       |k(  sJ ‚y )
NÚa1Úzb2zr   ra   ©ÚletterÚdigitr   rb   z(?P<letter>[ab])(?P<digit>\d)rÄ  )r’   r·   r@   Úextract_regexrk  ©rb  r  Ústructs      r;   Útest_extract_regexr¥  å  sv   € Ü	�‰�4˜�.Ó	!€BØ¨Ñ-¸#ÈÑ/LÐM€HÜ×Ñ˜bÐ*JÔK€FØ�=‰=‹?˜hÒ&Ð&Ð&Ü×Ñ˜bÐ"BÓC€FØ�=‰=‹?˜hÒ&Ð&Ñ&rE   c                  ó  — t        j                  ddg«      } ddgddgdœddgddgdœg}t        j                  | d¬	«      }|j	                  «       |k(  sJ ‚t        j                  | d«      }|j	                  «       |k(  sJ ‚y )
Nr�  Úzb234zr   r$   rŸ  r%   r#   z(?P<letter>[ab])(?P<digit>\d+)rÄ  )r’   r·   r@   Úextract_regex_spanrk  r£  s      r;   Útest_extract_regex_spanr©  î  sŠ   € Ü	�‰�4˜Ð"Ó	#€BØ˜q˜6¨Q°¨FÑ3Ø˜q˜6¨Q°¨FÑ3ð5€Hä×"Ñ" 2Ð/PÔQ€FØ�=‰=‹?˜hÒ&Ð&Ð&Ü×"Ñ" 2Ð'HÓI€FØ�=‰=‹?˜hÒ&Ð&Ñ&rE   c                  ó  — t        j                  d gt        j                  «       «      } t        j                  d gt        j                  «       «      }t        j                  | d|«      }|j
                  t        j                  «       k(  sJ ‚|j                  d¬«       |j                  «       d gk(  sJ ‚t        j                  | d|«      }|j
                  t        j                  «       k(  sJ ‚|j                  d¬«       |j                  «       d gk(  sJ ‚t        j                  dg«      }t        j                  | ||«      }|j
                  t        j                  «       k(  sJ ‚|j                  d¬«       |j                  «       d gk(  sJ ‚t        j                  dg«      }t        j                  | ||«      }|j
                  t        j                  «       k(  sJ ‚|j                  d¬«       |j                  «       d gk(  sJ ‚y )NT©ÚfullF)r’   r·   Únullr@   Úreplace_with_maskrÌ   Úvalidater(  )ru  Úreplacementsr†  Úmasks       r;   Ú test_replace_with_mask_null_typer²  ø  sž  € ä�H‰H�d�VœRŸW™W›YÓ'€EÜ—8‘8˜T˜F¤B§G¡G£IÓ.€Lä×!Ñ! %¨¨|Ó<€FØ�;‰;œ"Ÿ'™'›)Ò#Ð#Ð#Ø
‡O�O˜€OÔØ×ÑÓ $ Ò'Ð'Ð'ä×!Ñ! %¨°Ó=€FØ�;‰;œ"Ÿ'™'›)Ò#Ð#Ð#Ø
‡O�O˜€OÔØ×ÑÓ $ Ò'Ð'Ð'ä�8‰8�T�FÓ€DÜ×!Ñ! %¨¨|Ó<€FØ�;‰;œ"Ÿ'™'›)Ò#Ð#Ð#Ø
‡O�O˜€OÔØ×ÑÓ $ Ò'Ð'Ð'ä�8‰8�U�GÓ€DÜ×!Ñ! %¨¨|Ó<€FØ�;‰;œ"Ÿ'™'›)Ò#Ð#Ð#Ø
‡O�O˜€OÔØ×ÑÓ $ Ò'Ð'Ñ'rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z'Test basic replacement with array mask.©r$   r%   r#   r&   r   )TFTFT©r   é   é   )r   r%   r¶  r&   r·  N©r’   r·   r@   r®  r  ©r  r±  r°  r  r†  s        r;   Útest_replace_with_mask_basicrº    sb   € ä
�(‰(’?Ó
#€CÜ�8‰8Ò4Ó5€DÜ—8‘8šLÓ)€LÜ�x‰xÒ*Ó+€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  óæ   — t        j                  g d¢«      } d}t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z'Test replacement with scalar mask True.©r$   r%   r#   Trµ  Nr¸  r¹  s        r;   Ú'test_replace_with_mask_scalar_mask_truer½    sW   € ä
�(‰(’9Ó
€CØ€DÜ—8‘8šLÓ)€LÜ�x‰xšÓ%€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó
  — t        j                  g d¢«      } d}t        j                  g t        j                  «       ¬«      }t        j                  g d¢«      }t        j                  | ||«      }|j                  |«      sJ ‚y)z(Test replacement with scalar mask False.r¼  Fr/  N)r’   r·   r   r@   r®  r  r¹  s        r;   Ú(test_replace_with_mask_scalar_mask_falser¿  (  s_   € ä
�(‰(’9Ó
€CØ€DÜ—8‘8˜B¤R§X¡X£ZÔ0€LÜ�x‰xš	Ó"€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  d«      }t        j                  g d¢«      }t        j                  | ||«      }|j                  |«      sJ ‚y)z/Test replacement with scalar replacement value.r.  ©TFTFéc   )rÂ  r%   rÂ  r&   N)r’   r·   rœ   r@   r®  r  r¹  s        r;   Ú)test_replace_with_mask_scalar_replacementrÃ  2  s`   € ä
�(‰(’<Ó
 €CÜ�8‰8Ò.Ó/€DÜ—9‘9˜R“=€LÜ�x‰xšÓ'€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z"Test null handling in input array.)r$   Nr#   Nr   )FTFTTrµ  )r$   r   r#   r¶  r·  Nr¸  r¹  s        r;   Ú$test_replace_with_mask_null_in_arrayrÅ  <  sc   € ä
�(‰(Ò(Ó
)€CÜ�8‰8Ò4Ó5€DÜ—8‘8šLÓ)€LÜ�x‰xÒ*Ó+€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)zTest null handling in mask.©r$   r%   r#   r&   r   r'   )FFNNTTr   N)r$   r%   NNr   Nr¸  r¹  s        r;   Ú#test_replace_with_mask_null_in_maskrÈ  F  sg   € ä
�(‰(Ò%Ó
&€CÜ�8‰8Ò:Ó;€DÜ—8‘8˜R ˜JÓ'€LÜ�x‰xÒ4Ó5€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z"Test replacement with string type.)r   r   r�  ÚdrÁ  rw  Úy)rw  r   rË  rÊ  Nr¸  r¹  s        r;   Ú"test_replace_with_mask_string_typerÌ  P  sg   € ä
�(‰(Ò'Ó
(€CÜ�8‰8Ò.Ó/€DÜ—8‘8˜S #˜JÓ'€LÜ�x‰xÒ,Ó-€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z!Test replacement with float type.)çš™™™™™ñ?çš™™™™™@gffffff
@çš™™™™™@rÁ  ç      %@ç     €4@)rÑ  rÏ  rÒ  rÐ  Nr¸  r¹  s        r;   Ú!test_replace_with_mask_float_typerÓ  Z  sg   € ä
�(‰(Ò'Ó
(€CÜ�8‰8Ò.Ó/€DÜ—8‘8˜T 4˜LÓ)€LÜ�x‰xÒ.Ó/€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó   — t        j                  g d¢g d¢g«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢g d¢g«      }t        j                  | ||«      }|j                  |«      sJ ‚y)	z>Test replace_with_mask with ChunkedArray with multiple chunks.r¼  ©r&   r   r'   )TFFFTFr   r¶  )r   r%   r#   )r&   r¶  r'   N©r’   rJ  r·   r@   r®  r  r¹  s        r;   Ú4test_replace_with_mask_chunked_array_multiple_chunksr×  d  ss   € ä
×
Ñ
šI¢yÐ1Ó
2€CÜ�8‰8Ò<Ó=€DÜ—8‘8˜R ˜HÓ%€LÜ×Ñ¢ªZÐ 8Ó9€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó"  — t        j                  ddgg ddgg«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  ddgddgg«      }t        j                  | ||«      }|j                  |«      sJ ‚y)	z;Test replace_with_mask with ChunkedArray with empty chunks.r$   r%   r#   r&   rÁ  r   r¶  NrÖ  r¹  s        r;   Ú1test_replace_with_mask_chunked_array_empty_chunksrÙ  n  s…   € ä
×
Ñ
˜Q ˜F B¨¨A¨Ð/Ó
0€CÜ�8‰8Ò.Ó/€DÜ—8‘8˜R ˜HÓ%€LÜ×Ñ " a ¨2¨q¨'Ð 2Ó3€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó.  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  dg«      }t        j                  t         j                  d¬«      5  t        j                  | ||«       ddd«       y# 1 sw Y   yxY w)z5Replacement count does not match true values in mask.r¼  ræ  r   zexpected 2.*but got 1r.   N©r’   r·   r4   r5   r[  r@   r®  ©r  r±  r°  s      r;   Ú7test_replace_with_mask_error_replacement_count_mismatchrÝ  x  s`   € ä
�(‰(’9Ó
€CÜ�8‰8Ò'Ó(€DÜ—8‘8˜R˜D“>€LÜ	�‰”r—‘Ð.EÖ	FÜ
×Ñ˜S $¨Ô5÷ 
G×	FÑ	Fús   Á*BÂBc                  ó*  — t        j                  g d¢«      } t        j                  ddg«      }t        j                  dg«      }t        j                  t         j                  «      5  t        j                  | ||«       ddd«       y# 1 sw Y   yxY w)z.Mask length does not match input array length.r¼  TFr   NrÛ  rÜ  s      r;   Ú1test_replace_with_mask_error_mask_length_mismatchrß  �  s_   € ä
�(‰(’9Ó
€CÜ�8‰8�T˜5�MÓ"€DÜ—8‘8˜R˜D“>€LÜ	�‰”r—‘Õ	'Ü
×Ñ˜S $¨Ô5÷ 
(×	'Ñ	'ús   Á(B	Â	Bc                  ó2  — t        j                  ddgd g g«      } t        j                  g d¢«      }t        j                  | d«      j	                  |«      sJ ‚t        j                  ddgt        j
                  «       ¬«      }t        j                  dd	gt        j
                  «       ¬«      }t        j                  d
dgddggt        j                  t        j
                  «       «      ¬«      } t        j                  | |«      j	                  |«      sJ ‚y )Nr  r  )zfoo-barNr¬  Ú-ra   rb   r/  Úa1bÚc2dr   r   r�  rÊ  )r’   r·   r@   Úbinary_joinr  r   Úlist_)Úar_listr  Úseparator_arrays      r;   Útest_binary_joinrè  Š  sÈ   € Ü�h‰h˜ ˜¨¨bÐ1Ó2€GÜ�x‰xÒ-Ó.€HÜ�>‰>˜' 3Ó'×.Ñ.¨xÔ8Ð8Ð8ä—h‘h  S˜z´·	±	³Ô<€OÜ�x‰x˜ ˜¬R¯Y©Y«[Ô9€HÜ�h‰h˜˜c˜
 S¨# JÐ/´b·h±h¼r¿y¹y»{Ó6KÔL€GÜ�>‰>˜' ?Ó3×:Ñ:¸8ÔDÐDÑDrE   c                  ó°  — t        j                  d t        j                  «       ¬«      } g d¢g d¢g d¢g}t        j                  |Ž j                  «       g d¢k(  sJ ‚t        j                  ddd«      j                  «       d	k(  sJ ‚t        j                  d| d«      j                  «       �J ‚t        j                  dd| «      j                  «       �J ‚t        j                  d
¬«      }t        j                  |d|iŽj                  «       g d¢k(  sJ ‚t        j                  ddd|¬«      j                  «       d	k(  sJ ‚t        j                  d| d|¬«      j                  «       dk(  sJ ‚t        j                  dd| |¬«      j                  «       �J ‚t        j                  dd¬«      }t        j                  |d|iŽj                  «       g d¢k(  sJ ‚t        j                  ddd|¬«      j                  «       d	k(  sJ ‚t        j                  d| d|¬«      j                  «       dk(  sJ ‚t        j                  dd| |¬«      j                  «       �J ‚y )Nr/  )Nr   r   )r�  NrÊ  )Nrá  z--)NNúb--dr   r   rá  za-bÚskip)Únull_handlingr×   )Nr   rê  rÛ  r[  ry  )rì  Únull_replacement)Núa-spamrê  rî  )r’   rœ   r   r@   ró  r(  r2  r�   )r­  Úarrsrë  r[  s       r;   Útest_binary_join_element_wiserð  •  sO  € Ü�9‰9�T¤§	¡	£Ô,€DÚÒ.Ò0AÐB€DÜ×&Ñ&¨Ð-×7Ñ7Ó9Úòð ð ä×&Ñ& s¨C°Ó5×;Ñ;Ó=ÀÒFÐFÐFÜ×&Ñ& s¨D°#Ó6×<Ñ<Ó>ÐFÐFÐFÜ×&Ñ& s¨C°Ó6×<Ñ<Ó>ÐFÐFÐFä�>‰>¨Ô/€DÜ×&Ñ&¨Ð;°dÑ;×EÑEÓGÚòð ð ä×&Ñ&ØˆS�#˜tô%ß%*¡U£W°ò6ð 6ð 6ä×&Ñ&ØˆT�3 ô&ß&+¡e£g°ò5ð 5ð 5ä×&Ñ&ØˆS�$ ô&ß&+¡e£gð6ð 6ð 6ô �n‰n¨9ÀvÔN€GÜ×&Ñ&¨Ð>°gÑ>×HÑHÓJÚ ò!ð !ð !ä×&Ñ&ØˆS�#˜wô(ß(-©«°5ò9ð 9ð 9ä×&Ñ&ØˆT�3 ô)ß).©«°Hò=ð =ð =ä×&Ñ&ØˆS�$ ô)ß).©«ð9ð 9ñ 9rE   )r„  rK   c                 óŠ  — t        j                  || ¬«      }t        j                  «       t        j                  «       fD ]Õ  }t        j                  g d¢|¬«      }|j	                  |«      }|j                  «        t        j                  |d   |d   |d   d g| ¬«      }|j                  |«      sJ ‚t        j                  g |¬«      }|j	                  |«      }|j                  «        t        j                  g | ¬«      }|j                  |«      rŒÕJ ‚ t        j                  ddg«      }t        j                  t        «      5  |j	                  |«       d d d «       t        j                  ddg«      }t        j                  t        «      5  |j	                  |«       d d d «       y # 1 sw Y   ŒTxY w# 1 sw Y   y xY w)Nr/  ©r   r&   r%   Nr   r&   r%   r   r]   )
r’   r·   r   r   r
  r¯  r  r4   r5   Ú
IndexError)r„  rK   r  Úindices_typer‚   r†  r  s          r;   Ú	test_takerõ  ³  sO  € ä
�(‰(�6 Ô
#€CÜŸ™›¤B§H¡H£JÓ/ˆÜ—(‘(š?°Ô>ˆØ—‘˜'Ó"ˆØ�‰ÔÜ—8‘8˜V A™Y¨¨q©	°6¸!±9¸dÐCÈ"ÔMˆØ�}‰}˜XÔ&Ð&Ð&ô —(‘(˜2 LÔ1ˆØ—‘˜'Ó"ˆØ�‰ÔÜ—8‘8˜B RÔ(ˆØ�}‰}˜XÕ&Ð&Ð&ð 0ô �h‰h˜˜1�vÓ€GÜ	�‰”zÕ	"Ø�‰�Ô÷ 
#ô �h‰h˜˜2�wÓ€GÜ	�‰”zÕ	"Ø�‰�Ô÷ 
#Ð	"÷	 
#Ð	"ú÷ 
#Ð	"ús   ÅF-ÆF9Æ-F6Æ9Gc                  ó   — t        j                  t        d«      «      } dD ]f  }t        j                  g d¢|¬«      }| j                  |«      }|j	                  «        t        j                  g d¢«      }|j                  |«      rŒfJ ‚ t        j                  «       t        j                  «       fD ]N  }t        j                  g d¢|¬«      }t        j                  t        «      5  | j                  |«       d d d «       ŒP y # 1 sw Y   Œ[xY w)Nr   )r
   r   r   r   r   r   r   r   rò  r/  )r   r&   r%   )r’   r·   r³  r
  r¯  r  Úfloat32Úfloat64r4   r5   r×  )r  rô  r‚   r†  r  s        r;   Útest_take_indices_typesrù  Í  s½   € Ü
�(‰(”5˜“8Ó
€Có?ˆä—(‘(š?°Ô>ˆØ—‘˜'Ó"ˆØ�‰ÔÜ—8‘8šOÓ,ˆØ�}‰}˜XÕ&Ð&Ð&ð?ô Ÿ™›¤r§z¡z£|Ó4ˆÜ—(‘(š9¨<Ô8ˆÜ�]‰]Ô.Õ/Ø�H‰H�WÔ÷ 0Ð/ñ 5ç/Ð/ús   Ã'DÄD	c                  ó�  — t        j                  g d¢g d¢g«      } t        j                  g d¢«      }| j                  |«      }t        j                  g d¢g«      }|j	                  |«      sJ ‚t        j                  dgddgg«      }| j                  |«      }t        j                  dgd	d
gg«      }|j	                  |«      sJ ‚y )N)r   r   r�  rÊ  Úe)ÚfÚgÚhr  Új)r   r   r$   r'   r(   r%   )r   rü  r   rý  rÿ  r�  r$   r(   r%   r   rÿ  r�  )r’   rJ  r·   r
  r  )r  r‚   r†  r  s       r;   Útest_take_on_chunked_arrayr   Þ  sÌ   € ä
×
Ñ
ò	
ò	
ðó €Cô" �h‰hÒ)Ó*€GØ�X‰X�gÓ€FÜ×ÑÒ!?Ð @ÓA€HØ�=‰=˜Ô"Ð"Ð"ä×Ñ   a¨ V˜}Ó-€GØ�X‰X�gÓ€FÜ×Ñàð	
ð Øð	
ð	!ó €Hð �=‰=˜Ô"Ð"Ñ"rE   ÚorderedFTc                 ó`  — t         j                  j                  g d¢g d¢| ¬«      }|j                  t        j                  g d¢«      «      }|j                  «        |j                  «       g d¢k(  sJ ‚|j                  j                  «       g d¢k(  sJ ‚|j                  j                  | u sJ ‚y )N)r   r$   r%   r   r$   r%   ©r   r   r�  )r  )r   r$   r#   )r   r   r   )
r’   ÚDictionaryArrayÚfrom_arraysr
  r·   r¯  r(  Ú
dictionaryrÌ   r  )r  r  r†  s      r;   Útest_take_dictionaryr    s’   € ä
×
Ñ
×
(Ñ
(Ò);º_Ø18ð )ó :€Cà�X‰X”b—h‘hšyÓ)Ó*€FØ
‡O�OÔØ×ÑÓ¢Ò0Ð0Ð0Ø×Ñ×&Ñ&Ó(ªOÒ;Ð;Ð;Ø�;‰;×Ñ 'Ñ)Ð)Ñ)rE   c                  ó2  — t        j                  d gdz  «      } t        j                  d gdz  gdz  «      }t        j                  | gdg¬«      }t        j                  d| i«      }t        j                  g d¢«      }t        | j                  |«      «      dk(  sJ ‚t        |j                  |«      «      dk(  sJ ‚t        |j                  |«      j                  d«      «      dk(  sJ ‚t        |j                  |«      j                  d«      «      dk(  sJ ‚y )	Nr   r   r%   r   ©r`   )r$   r#   r_  Nr&   r   )r’   r·   rJ  Úrecord_batchÚtabler1   r
  Úcolumn)r  Úchunked_arrÚbatchr  r‚   s        r;   Útest_take_null_typer    sï   € ä
�(‰(�D�6˜B‘;Ó
€CÜ×"Ñ" T F¨Q¡J <°!Ñ#3Ó4€KÜ�O‰O˜S˜E¨#¨Ô/€EÜ�H‰H�c˜3�ZÓ €Eä�h‰h’Ó'€GÜˆs�x‰x˜Ó Ó! QÒ&Ð&Ð&Üˆ{×Ñ Ó(Ó)¨QÒ.Ð.Ð.Üˆu�z‰z˜'Ó"×)Ñ)¨!Ó,Ó-°Ò2Ð2Ð2Üˆu�z‰z˜'Ó"×)Ñ)¨!Ó,Ó-°Ò2Ð2Ñ2rE   c                 óP  — t        j                  || ¬«      }|j                  «       }|j                  d¬«       t	        t        |«      «      D �cg c]  }||   j                  sŒ|‘Œ }}|j                  t        j                  |«      «      }|j                  |«      sJ ‚y c c}w )Nr/  Tr«  )	r’   r·   Ú	drop_nullr¯  r³  r1   rç  r
  r  )r„  rK   r  r†  r  r‚   r  s          r;   Útest_drop_nullr    s   € ä
�(‰(�6 Ô
#€CØ�]‰]‹_€FØ
‡O�O˜€OÔÜ¤ C£œ/Ó=™/�Q¨S°©V¯_«_Šq˜/€GÐ=Ø�x‰xœŸ™ Ó)Ó*€HØ�=‰=˜Ô"Ð"Ñ"ùò >s   ÁB#Á%B#c                  ó¾   — t        j                  dd gg d¢d gg g«      } t        j                  dgddgg g g«      }| j                  «       }|j                  |«      sJ ‚y )Nr   ©r�  rÊ  Nr�  rÊ  )r’   rJ  r  r  )r  Úexpected_dropr†  s      r;   Útest_drop_null_chunked_arrayr  '  s^   € Ü
×
Ñ
˜S $˜KÒ)9¸D¸6À2ÐFÓ
G€CÜ×$Ñ$ s e¨c°3¨Z¸¸RÐ%@ÓA€Mà�]‰]‹_€FØ�=‰=˜Ô'Ð'Ñ'rE   c                  óX  — t        j                  t        j                  g d¢«      gdg¬«      } | j                  «       }t        j                  t        j                  g d¢«      gdg¬«      }|j	                  |«      sJ ‚t        j                  t        j                  g d¢«      t        j                  g d¢«      gddg¬«      } | j                  «       }t        j                  t        j                  dg«      t        j                  dg«      gddg¬«      }|j	                  |«      sJ ‚y )N©r   Nr�  rÊ  Núa'r	  ©r   r�  rÊ  )NNr�  Nrû  zb'r�  )r’   r
  r·   r  r  )r  r†  r  s      r;   Útest_drop_null_record_batchr  /  sæ   € Ü�O‰OÜ	�‰Ò-Ó	.Ð/¸°vô?€Eà�_‰_Ó€FÜ�‰¤§¡ªÓ 9Ð:À4À&ÔI€HØ�=‰=˜Ô"Ð"Ð"ä�O‰OÜ	�‰Ò-Ó	.Ü	�‰Ò.Ó	/ð	1Ø9=¸t¸ôF€Eð �_‰_Ó€FÜ�‰Ü	�‰�3�%‹œ"Ÿ(™( C 5›/Ð*°4¸°,ô@€Hà�=‰=˜Ô"Ð"Ñ"rE   c                  ó¢  — t        j                  t        j                  g d¢«      gdg¬«      } t        j                  t        j                  g d¢«      gdg¬«      }| j                  «       }|j	                  |«      sJ ‚t        j                  t        j
                  dd gg d¢g«      t        j
                  dd gg d¢g«      t        j
                  dgdgd gdd gg«      gg d	¢¬«      } t        j                  t        j                  ddg«      t        j                  ddg«      t        j                  ddg«      gg d	¢¬«      }| j                  «       }|j	                  |«      sJ ‚t        j                  t        j
                  ddgg d
¢g«      t        j
                  dgdgd gdd gg«      t        j
                  dd gg d¢g«      gg d	¢¬«      } t        j                  t        j                  ddg«      t        j                  ddg«      t        j                  ddg«      gg d	¢¬«      }| j                  «       }|j	                  |«      sJ ‚y )Nr  r   r	  r  r  )NrÊ  Nr   rÊ  r  ©r�  rÊ  rû  rs  ÚBÚDza`)zc`úd`Nr   )r’   r  r·   r  r  rJ  )r  r  r†  s      r;   Útest_drop_null_tabler!  @  s   € Ü�H‰H”b—h‘hÒ:Ó;Ð<ÀSÀEÔJ€EÜ�x‰xœŸ™¢/Ó2Ð3¸C¸5ÔA€HØ�_‰_Ó€FØ�=‰=˜Ô"Ð"Ð"ä�H‰H”b×&Ñ&¨¨d¨Ò5EÐ'FÓGÜ×&Ñ&¨¨d¨Ò5FÐ'GÓHÜ×&Ñ&¨¨°¨u°t°f¸sÀD¸kÐ'JÓKðMò +ô,€Eô �x‰xœŸ™ 3¨ *Ó-ÜŸ™ 3¨ *Ó-ÜŸ™ 3¨ *Ó-ð/ò .ô/€Hð �_‰_Ó€FØ�=‰=˜Ô"Ð"Ð"ä�H‰H”b×&Ñ&¨¨c¨
²OÐ'DÓEÜ×&Ñ&¨¨°¨u°t°f¸sÀD¸kÐ'JÓKÜ×&Ñ&¨¨t¨Ò6HÐ'IÓJðLò +ô,€Eô �x‰xœŸ™ 3¨ *Ó-ÜŸ™ 3¨ *Ó-ÜŸ™ 4¨ ,Ó/ð1ò .ô/€Hð �_‰_Ó€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  óü  — t        j                  d gdz  «      } t        j                  d gdz  gdz  «      }t        j                  | gdg¬«      }t        j                  d| i«      }t        | j                  «       «      dk(  sJ ‚t        |j                  «       «      dk(  sJ ‚t        |j                  «       j                  d«      «      dk(  sJ ‚t        |j                  «       j                  d«      «      dk(  sJ ‚y )Nr   r   r%   r   r	  r   )r’   r·   rJ  r
  r  r1   r  r  )r  r  r  r  s       r;   Útest_drop_null_null_typer#  ]  sØ   € Ü
�(‰(�D�6˜B‘;Ó
€CÜ×"Ñ" T F¨Q¡J <°!Ñ#3Ó4€KÜ�O‰O˜S˜E¨#¨Ô/€EÜ�H‰H�c˜3�ZÓ €Eäˆs�}‰}‹Ó 1Ò$Ð$Ð$Üˆ{×$Ñ$Ó&Ó'¨1Ò,Ð,Ð,Üˆu�‰Ó ×'Ñ'¨Ó*Ó+¨qÒ0Ð0Ð0Üˆu�‰Ó ×'Ñ'¨Ó*Ó+¨qÒ0Ð0Ñ0rE   c                 ó
  — t        j                  || ¬«      }t        j                  g d¢«      }|j                  |d¬«      }|j                  «        |j	                  t        j                  |d   |d   g| ¬«      «      sJ ‚|j                  |d¬«      }|j                  «        |j	                  t        j                  |d   |d   d g| ¬«      «      sJ ‚t        j                  g d¢«      }t        j                  t        «      5  |j                  |«       d d d «       t        j                  g d	¢«      }t        j                  t        d
¬«      5  |j                  |«       d d d «       y # 1 sw Y   ŒVxY w# 1 sw Y   y xY w)Nr/  ©TFFTNÚdrop©Únull_selection_behaviorr   r#   Ú	emit_null©r   r$   r   r$   r   ©TFTúmust all be the same lengthr.   )	r’   r·   rî  r¯  r  r4   r5   r×  Ú
ValueError©r„  rK   r  r±  r†  s        r;   Útest_filterr/  i  s%  € ä
�(‰(�6 Ô
#€Cä�8‰8Ò4Ó5€DØ�Z‰Z˜°fˆZÓ=€FØ
‡O�OÔØ�=‰=œŸ™ 6¨!¡9¨f°Q©iÐ"8¸rÔBÔCÐCÐCØ�Z‰Z˜°kˆZÓB€FØ
‡O�OÔØ�=‰=œŸ™ 6¨!¡9¨f°Q©i¸Ð">ÀRÔHÔIÐIÐIô �8‰8’OÓ$€DÜ	�‰Ô*Õ	+Ø�
‰
�4Ô÷ 
,ô �8‰8Ò'Ó(€DÜ	�‰”zÐ)FÖ	GØ�
‰
�4Ô÷ 
HÐ	G÷ 
,Ð	+ú÷
 
HÐ	Gús   ÄE-ÅE9Å-E6Å9Fc                 ó  — t        j                  || ¬«      }t        j                  g d¢«      }|j                  |d¬«      }|j	                  «        |j                  t        j                  |d   |d   g| ¬«      «      sJ ‚y )Nr/  r%  r&  r'  r   r#   )r’   r·   r  rî  r¯  r  r.  s        r;   Útest_filter_numpy_array_maskr1  €  si   € ô �(‰(�6 Ô
#€Cä�8‰8Ò4Ó5€DØ�Z‰Z˜°fˆZÓ=€FØ
‡O�OÔØ�=‰=œŸ™ 6¨!¡9¨f°Q©iÐ"8¸rÔBÔCÐCÑCrE   c                  ó¨  — t        j                  dd gg d¢g«      } t        j                  dgdgg«      }t        j                  dgd dgg«      }t        j                  g d¢«      t        j                  g d¢ddgg«      g d¢fD ]L  }| j                  |«      }|j	                  |«      sJ ‚| j                  |d¬	«      }|j	                  |«      rŒLJ ‚ y )
Nr   r  rû  ©TFNFTr'  FTr)  r'  )r’   rJ  r·   rî  r  )r  r  Úexpected_nullr±  r†  s        r;   Útest_filter_chunked_arrayr5  ‹  sÊ   € Ü
×
Ñ
˜S $˜KªÐ9Ó
:€CÜ×$Ñ$ s e¨c¨U ^Ó4€MÜ×$Ñ$ s e¨d°C¨[Ð%9Ó:€Mô 	�‰Ò1Ó2ä
×ÑÒ-°°t¨}Ð=Ó>â(óˆð —‘˜DÓ!ˆØ�}‰}˜]Ô+Ð+Ð+Ø—‘˜D¸+�ÓFˆØ�}‰}˜]Õ+Ð+Ð+ñrE   c                  ó\  — t        j                  t        j                  g d¢«      gdg¬«      } t        j                  g d¢«      }| j                  |«      }t        j                  t        j                  ddg«      gdg¬«      }|j	                  |«      sJ ‚t        j
                  ddgd gddgg«      }| j                  |«      }|j	                  |«      sJ ‚| j                  |d	¬
«      }t        j                  t        j                  g d¢«      gdg¬«      }|j	                  |«      sJ ‚y )N©r   Nr�  rÊ  rû  r  r	  r3  r   rû  TFr)  r'  ©r   Nrû  )r’   r
  r·   rî  r  rJ  )r  r±  r†  r  Úchunked_masks        r;   Útest_filter_record_batchr:  ž  sý   € Ü�O‰OÜ	�‰Ò,Ó	-Ð.°t°fô>€Eô �8‰8Ò4Ó5€DØ�\‰\˜$Ó€FÜ�‰¤§¡¨#¨s¨Ó 4Ð5¸d¸VÔD€HØ�=‰=˜Ô"Ð"Ð"ô ×#Ñ# d¨E ]°T°F¸UÀD¸MÐ$JÓK€LØ�\‰\˜,Ó'€FØ�=‰=˜Ô"Ð"Ð"à�\‰\˜$¸ˆ\ÓD€FÜ�‰¤§¡Ò)9Ó :Ð;ÀDÀ6ÔJ€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó   — t        j                  t        j                  g d¢«      gdg¬«      } t        j                  t        j                  ddg«      gdg¬«      }t        j                  t        j                  g d¢«      gdg¬«      }t        j                  g d¢«      t        j                  ddgg d	¢g«      g d¢fD ]L  }| j	                  |«      }|j                  |«      sJ ‚| j	                  |d
¬«      }|j                  |«      rŒLJ ‚ y )Nr7  r   r	  rû  r8  r3  TF)NFTr)  r'  )r’   r  r·   rJ  rî  r  )r  r  r4  r±  r†  s        r;   Útest_filter_tabler<  ²  sÞ   € Ü�H‰H”b—h‘hÒ9Ó:Ð;ÀCÀ5ÔI€EÜ—H‘HœbŸh™h¨¨S zÓ2Ð3¸C¸5ÔA€MÜ—H‘HœbŸh™hÒ'7Ó8Ð9À#ÀÔG€Mô 	�‰Ò1Ó2ä
×Ñ˜4 ˜-Ò)<Ð=Ó>â(óˆð —‘˜dÓ#ˆØ�}‰}˜]Ô+Ð+Ð+Ø—‘˜d¸K�ÓHˆØ�}‰}˜]Õ+Ð+Ð+ñrE   c                  ó4  — t        j                  dd gg d¢g«      } t        j                  t        j                  g d¢«      gdg¬«      }t        j                  t        j                  g d¢«      gdg¬«      }| ||fD ]¢  }t        j                  g d¢«      }t        j                  t        «      5  |j                  |«       d d d «       t        j                  g d¢«      }t        j                  t         j                  d¬	«      5  |j                  |«       d d d «       Œ¤ t        j                  d
«      }|||fD ]5  }t        j                  t        «      5  |j                  |«       d d d «       Œ7 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*  r+  r,  r.   T)r’   rJ  r
  r·   r  r4   r5   r×  rî  r[  rœ   r6   )r  r  r  Úobjr±  rœ   Úfilts          r;   Útest_filter_errorsr@  Å  s7  € Ü
×
Ñ
˜S $˜KªÐ9Ó
:€CÜ�O‰OÜ	�‰Ò,Ó	-Ð.°t°fô>€Eä�H‰H”b—h‘hÒ9Ó:Ð;ÀCÀ5ÔI€Eà�U˜EÓ"ˆä�x‰xšÓ(ˆÜ�]‰]Ô.Õ/Ø�J‰J�tÔ÷ 0ô �x‰xÒ+Ó,ˆÜ�]‰]œ2Ÿ?™?Ø!>ö@à�J‰J�tÔ÷@ð @ð #ô �Y‰Y�t‹_€FØ˜˜vÓ&ˆÜ�]‰]œ9Õ%Ø�L‰L˜Ô÷ &Ð%ñ '÷ 0Ð/ú÷
@ñ @ú÷ &Ð%ús$   Â0E5ÄFÅFÅ5E>	ÆF	ÆF	c                  ó8  — t        j                  d gdz  «      } t        j                  d gdz  gdz  «      }t        j                  | gdg¬«      }t        j                  d| i«      }t        j                  ddgdz  «      }t        | j                  |«      «      dk(  sJ ‚t        |j                  |«      «      dk(  sJ ‚t        |j                  |«      j                  d«      «      dk(  sJ ‚t        |j                  |«      j                  d«      «      dk(  sJ ‚y )	Nr   r   r%   r   r	  TFr   )r’   r·   rJ  r
  r  r1   rî  r  )r  r  r  r  r±  s        r;   Útest_filter_null_typerB  Ý  sø   € ä
�(‰(�D�6˜B‘;Ó
€CÜ×"Ñ" T F¨Q¡J <°!Ñ#3Ó4€KÜ�O‰O˜S˜E¨#¨Ô/€EÜ�H‰H�c˜3�ZÓ €Eä�8‰8�T˜5�M AÑ%Ó&€DÜˆs�z‰z˜$ÓÓ  AÒ%Ð%Ð%Üˆ{×!Ñ! $Ó'Ó(¨AÒ-Ð-Ð-Üˆu�|‰|˜DÓ!×(Ñ(¨Ó+Ó,°Ò1Ð1Ð1Üˆu�|‰|˜DÓ!×(Ñ(¨Ó+Ó,°Ò1Ð1Ñ1rE   c                  ó¼  — t        j                  g t        j                  «       ¬«      } t        j                  | g d¢dgg d¢dg| g«      }t        j                  g d¢gt        j                  «       ¬«      }t	        j
                  |«      j                  |«      sJ ‚t	        j                  dt        j                  «       ¬«      }t	        j
                  ||¬	«      j                  |«      sJ ‚t	        j
                  |d
¬«      j                  |«      sJ ‚t        j                  t        d¬«      5  t	        j
                  |d¬«       d d d «       y # 1 sw Y   y xY w)Nr/  )r(   r_  r   r#   r$   r   )r%   r&   r'   ró   )
r   r&   r'   r#   r_  r%   ró   r$   r(   r   r(   )Ú	max_indexÚoutput_typerÛ  r]   ©rD  úIndex out of bounds: 9r.   r&   )r’   r·   r   rJ  r@   Úinverse_permutationr  ÚInversePermutationOptionsr4   r5   r   )Úarr0r  r  r×   s       r;   Útest_inverse_permutationrK  ë  s  € Ü�8‰8�BœRŸX™X›ZÔ(€DÜ
×
Ñ
ØŠo ˜s¢I°¨s°Dðó €Cô ×ÑÒ!?Ð @ÄrÇxÁxÃzÔR€HÜ×!Ñ! #Ó&×-Ñ-¨hÔ7Ð7Ð7ä×*Ñ*°QÄBÇHÁHÃJÔO€GÜ×!Ñ! #¨wÔ7×>Ñ>¸xÔHÐHÐHÜ×!Ñ! #°Ô4×;Ñ;¸HÔEÐEÐEä	�‰”Ð.FÖ	GÜ
×Ñ˜s¨aÕ0÷ 
H×	GÑ	Gús   Ä1EÅEc                  ó@  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | |«      }|j	                  |«      sJ ‚t        j
                  d¬«      }t        j                  | ||¬«      j	                  |«      sJ ‚t        j                  | |d¬«      j	                  |«      sJ ‚t        j                  t        d¬	«      5  t        j                  | |d
¬«       d d d «       y # 1 sw Y   y xY w)N)
TFTTFFTTTF)
r(   ró   r_  r'   r   r&   r#   r%   r$   r   )
FTTTFFTTFTr]   rF  rÛ  r(   rG  r.   r&   )	r’   r·   r@   Úscatterr  ÚScatterOptionsr4   r5   r   )rK   r‚   r  r†  r×   s        r;   Útest_scatterrO  û  sÓ   € Ü�X‰XÒVÓW€FÜ�h‰hÒ5Ó6€GÜ�x‰xò 8ó 9€Hä�Z‰Z˜ Ó(€FØ�=‰=˜Ô"Ð"Ð"ä×Ñ¨"Ô-€GÜ�:‰:�f˜g¨wÔ7×>Ñ>¸xÔHÐHÐHÜ�:‰:�f˜g°Ô3×:Ñ:¸8ÔDÐDÐDä	�‰”Ð.FÖ	GÜ
�
‰
�6˜7¨aÕ0÷ 
H×	GÑ	Gús   Ã2DÄDÚtypr·   rJ  c                 ó�  — | dk(  rd„ }nd„ } |g d¢«      } |g d¢«      }t        j                  ||«      }|j                   |g d¢«      «      sJ ‚t        j                  ||«      }|j                   |g d¢«      «      sJ ‚t        j                  ||«      }|j                   |g d¢«      «      sJ ‚t        j
                  ||«      }|j                   |g d	¢«      «      sJ ‚t        j                  ||«      }|j                   |g d
¢«      «      sJ ‚t        j                  ||«      }|j                   |g d¢«      «      sJ ‚y )Nr·   c                 ó,   — t        j                  | «      S rå   ©r’   r·   ©rK   s    r;   Úconztest_compare_array.<locals>.con  ó   € Ü—8‘8˜FÓ#Ð#rE   c                 ó.   — t        j                  | g«      S rå   ©r’   rJ  rT  s    r;   rU  ztest_compare_array.<locals>.con  ó   € Ü×#Ñ# V HÓ-Ð-rE   r0  )r$   r$   r&   Nr&   )TFFNN)FTTNN)FFTNN)TFTNN)FTFNN)TTFNN)r@   r)  r  Ú	not_equalÚlessÚ
less_equalÚgreaterÚgreater_equal)rP  rU  Úarr1Úarr2r†  s        r;   Útest_compare_arrayra    s  € à
ˆg‚~ó	$ò	.ñ Ò!Ó"€DÙÒ!Ó"€Dä�X‰X�d˜DÓ!€FØ�=‰=™Ò=Ó>Ô?Ð?Ð?ä�\‰\˜$ Ó%€FØ�=‰=™Ò<Ó=Ô>Ð>Ð>ä�W‰W�T˜4Ó €FØ�=‰=™Ò=Ó>Ô?Ð?Ð?ä�]‰]˜4 Ó&€FØ�=‰=™Ò<Ó=Ô>Ð>Ð>ä�Z‰Z˜˜dÓ#€FØ�=‰=™Ò=Ó>Ô?Ð?Ð?ä×Ñ˜d DÓ)€FØ�=‰=™Ò<Ó=Ô>Ð>Ñ>rE   c                 ój  — | dk(  rd„ }nd„ } |g d¢«      }t        j                  d«      }t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚| dk(  r]t        j                  d d¬«      }t        j                  ||«      }t        j
                  |«      }|j	                   |g d	¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d
¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚y )Nr·   c                 ó,   — t        j                  | «      S rå   rS  rT  s    r;   rU  z'test_compare_string_scalar.<locals>.con-  rV  rE   c                 ó.   — t        j                  | g«      S rå   rX  rT  s    r;   rU  z'test_compare_string_scalar.<locals>.con0  rY  rE   )r   r   r�  Nr   ©FTFNr   r/  )TTTT©TFTN©TFFNr™  ©FFTN©FTTN)r’   rœ   r@   r)  r  Úis_nullrZ  r[  r\  r]  r^  )rP  rU  r  rœ   r†  ÚnascalarÚisnulls          r;   Útest_compare_string_scalarrm  *  sl  € à
ˆg‚~ó	$ò	.ñ Ò#Ó
$€CÜ�Y‰Y�s‹^€Fä�X‰X�c˜6Ó"€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9à
ˆg‚~Ü—9‘9˜T¨Ô1ˆÜ—‘˜#˜xÓ(ˆÜ—‘˜FÓ#ˆØ�}‰}™SÒ!9Ó:Ô;Ð;Ð;ä�\‰\˜#˜vÓ&€FØ�=‰=™Ò6Ó7Ô8Ð8Ð8ä�W‰W�S˜&Ó!€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9ä�]‰]˜3 Ó'€FØ�=‰=™Ò6Ó7Ô8Ð8Ð8ä�Z‰Z˜˜VÓ$€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9ä×Ñ˜c 6Ó*€FØ�=‰=™Ò6Ó7Ô8Ð8Ñ8rE   c                 ó8  — | dk(  rd„ }nd„ } |g d¢«      }t        j                  d«      }t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚| dk(  rDt        j                  d d¬«      }t        j                  ||«      }|j                  «       g d	¢k(  sJ ‚t        j                  ||«      }|j	                   |g d
¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚y )Nr·   c                 ó,   — t        j                  | «      S rå   rS  rT  s    r;   rU  z test_compare_scalar.<locals>.conR  rV  rE   c                 ó.   — t        j                  | g«      S rå   rX  rT  s    r;   rU  z test_compare_scalar.<locals>.conU  rY  rE   ©r$   r%   r#   Nr%   re  r   r/  ©NNNNrf  rg  r™  rh  ri  )r’   rœ   r@   r)  r  r(  rZ  r[  r\  r]  r^  )rP  rU  r  rœ   r†  rk  s         r;   Útest_compare_scalarrs  O  s]  € à
ˆg‚~ó	$ò	.ñ ŠoÓ
€CÜ�Y‰Y�q‹\€Fä�X‰X�c˜6Ó"€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9à
ˆg‚~Ü—9‘9˜T¨Ô0ˆÜ—‘˜#˜xÓ(ˆØ×ÑÓ!Ò%=Ò=Ð=Ð=ä�\‰\˜#˜vÓ&€FØ�=‰=™Ò6Ó7Ô8Ð8Ð8ä�W‰W�S˜&Ó!€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9ä�]‰]˜3 Ó'€FØ�=‰=™Ò6Ó7Ô8Ð8Ð8ä�Z‰Z˜˜VÓ$€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9ä×Ñ˜c 6Ó*€FØ�=‰=™Ò6Ó7Ô8Ð8Ñ8rE   c                  óF  — t        j                  g d¢«      } t        j                  g d¢dd gg«      }t        j                  ddgg d¢g«      }t        j                  g d¢g«      }| |f|| f||ffD ].  \  }}t        j                  ||«      }|j                  |«      rŒ.J ‚ y )Nr0  r¼  r&   r$   r%   )r#   r&   N)TTTTN)r’   r·   rJ  r@   r)  r  )r  Úarr_chunkedÚarr_chunked2r  ÚleftÚrightr†  s          r;   Ú test_compare_chunked_array_mixedry  s  s¥   € Ü
�(‰(Ò%Ó
&€CÜ×"Ñ"¢I°°4¨yÐ#9Ó:€KÜ×#Ñ# a¨ Vª\Ð$:Ó;€Lä×ÑÒ!?Ð @ÓA€Hð 
ˆkÐØ	�cÐØ	�lÐ#ó‰ˆˆeô
 —‘˜$ Ó&ˆØ�}‰}˜XÕ&Ð&Ð&ñrE   c                  óà   — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  | |«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )Nr´  ©r   r]   r$   r%   r#   )r$   r$   r&   r'   ró   )r’   r·   r@   rß   r  ©rw  rx  r†  r  s       r;   Útest_arithmetic_addr}  ƒ  sO   € Ü�8‰8’OÓ$€DÜ�H‰HÒ%Ó&€EÜ�V‰V�D˜%Ó €FÜ�x‰xšÓ(€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  óà   — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  | |«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )Nr´  r{  )r$   r#   r%   r%   r%   )r’   r·   r@   Úsubtractr  r|  s       r;   Útest_arithmetic_subtractr€  ‹  sO   € Ü�8‰8’OÓ$€DÜ�H‰HÒ%Ó&€EÜ�[‰[˜˜uÓ%€FÜ�x‰xšÓ(€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  óà   — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  | |«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )Nr´  r{  )r   r¯  r#   ró   é   )r’   r·   r@   Úmultiplyr  r|  s       r;   Útest_arithmetic_multiplyr„  “  sP   € Ü�8‰8’OÓ$€DÜ�H‰HÒ%Ó&€EÜ�[‰[˜˜uÓ%€FÜ�x‰xÒ)Ó*€HØ�=‰=˜Ô"Ð"Ñ"rE   r„  ÚroundÚround_to_multiplec                 óÞ  — | dk(  r,t         j                  }t        t         j                  d¬«      }n0| dk(  r+t         j                  }t        t         j
                  d¬«      }g d¢}g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢dœ
}|j                  «       D ]T  \  }} |¬«      } ||¬«      }t        j                  |t        j                  «       ¬«      }	|	j                  |«      rŒTJ ‚ y )Nr…  r   ©Úndigitsr†  r$   ©Úmultiple)gš™™™™™	@ç      @çš™™™™™@ç      @çš™™™™™	Àg      Àgš™™™™™ÀN)r#   r#   r#   r&   éüÿÿÿr�  r�  N)r&   r&   r&   r   r®  r®  r®  N)r#   r#   r#   r&   r®  r®  r®  N)r&   r&   r&   r   r�  r�  r�  N)r#   r#   r&   r&   r®  r�  r�  N)r#   r&   r&   r   r®  r®  r�  N)r#   r#   r&   r&   r®  r®  r�  N)r#   r&   r&   r   r®  r�  r�  N)r#   r&   r&   r&   r®  r�  r�  N)r#   r#   r&   r   r®  r®  r�  N)
ÚdownÚupÚtowards_zerort   Ú	half_downÚhalf_upÚhalf_towards_zeroÚhalf_towards_infinityÚhalf_to_evenÚhalf_to_odd©Ú
round_moderÛ  r/  )r@   r…  r   r°   r†  r³   Úitemsr’   r·   rø  r  )
r„  r…  r°   rK   Úrmode_and_expectedr›  r  r×   r†  Úexpected_arrays
             r;   Útest_round_to_integerrŸ  ›  sÍ   € à	ˆW‚}Ü—‘ˆÜœrŸ™¸Ô:‰Ø	Ð"Ò	"Ü×$Ñ$ˆÜœr×8Ñ8À1ÔEˆâ9€Fâ.Ú,Ú6Ú:Ú3Ú1Ú;Ú!?Ú6Ú5ñÐð !3× 8Ñ 8Ö :Ñˆ
�HÙ¨*Ô5ˆÙ�v wÔ/ˆÜŸ™ (´·±³Ô>ˆØ×$Ñ$ VÕ,Ð,Ð,ñ	 !;rE   c                  ó–  — g d¢} g d¢g d¢g d¢g d¢g d¢dœ}|j                  «       D ]   \  }}t        j                  |d«      }t        j                  | |¬	«      }t        j
                  j                  |t        j                  |«      d
¬«       t        j                  | |d¬«      |k(  sJ ‚t        j                  | |d«      |k(  rŒ J ‚ y )N©é@  rŒ  gš™™™™™@rŽ  gV-²	ÀgÇ):’Ë�AÀg\�Âõ(\ÀN©i,  r   r   r   r   r   r   N©r¢  r   r   r   r   iØÿÿÿr   N)r¢  r&   r#   r   r®  iÝÿÿÿr®  N©r¢  rŒ  çÍÌÌÌÌÌ@rŽ  r�  çÍÌÌÌÌŒAÀr®  N)r¢  rŒ  g¤p=
×£@rŽ  g®Gáz®	Àg�Âõ(\�AÀçffffffÀN)r¯  r]   r   r$   r%   r—  rÛ  T©Ú	equal_nanrš  )	rœ  r@   r°   r…  r  ÚtestingÚassert_allcloser’   r·   )rK   Úndigits_and_expectedr‰  r  r×   r†  s         r;   Ú
test_roundr®  ¸  s¿   € âC€Fâ,Ú-Ú,Ú6Ú<ñÐð 2×7Ñ7Ö9Ñˆ�Ü—/‘/ 'Ð+BÓCˆÜ—‘˜&¨'Ô2ˆÜ
�
‰
×"Ñ" 6¬2¯8©8°HÓ+=ÈÐ"ÔNÜ�x‰x˜ Ø#:ô<Ø?EòFð 	Fð Fä�x‰x˜ Ð)@ÓAÀVÓKÐKÐKñ :rE   c                  ó`  — g d¢} dg d¢t        j                  d«      g d¢dg d¢dg d	¢t        j                  d
t        j                  dd«      ¬«      g d¢i}|j                  «       D ]ƒ  \  }}t	        j
                  |d«      }t	        j                  | |¬«      }t        j                  j                  |t        j                  |«      d¬«       t	        j                  | |d«      |k(  rŒƒJ ‚ ddt        j                  d«      fD ]G  }t        j                  t         j                  d¬«      5  t	        j                  | |¬«       d d d «       ŒI t        dfD ]=  }t        j                  t        d¬«      5  t	        j                  | |¬«       d d d «       Œ? y # 1 sw Y   ŒœxY w# 1 sw Y   ŒVxY w)Nr¡  r…   )r¢  rŒ  r¦  rŽ  r�  r§  r¨  Nr   r¥  r%   )r¢  r&   r&   r&   r�  iÜÿÿÿr�  Nr   r¤  rw   r&   r/  r£  r—  rÛ  Tr©  r   r¯  gÍÌÌÌÌÌ$Àz"Rounding multiple must be positiver.   rŠ  l   ÿÿl+?ÐR zis not a valid multiple type)r’   rœ   rC  rœ  r@   r³   r†  r  r«  r¬  r·   r4   r5   r[  r3   r6   )rK   Úmultiple_and_expectedr‹  r  r×   r†  s         r;   Útest_round_to_multipler±  Ë  su  € âC€FàÒ<Ü
�	‰	�#‹ÒCØ	Ò,Ø
Ò-Ü
�	‰	�#œBŸM™M¨"¨aÓ0Ô1Ú,ðÐð 4×9Ñ9Ö;Ñˆ�(Ü×+Ñ+¨HÐ6MÓNˆÜ×%Ñ% f°gÔ>ˆÜ
�
‰
×"Ñ" 6¬2¯8©8°HÓ+=ÈÐ"ÔNÜ×#Ñ# F¨HØ$;ó=Ø@FóGð 	Gð Gð	 <ð ˜œBŸI™I eÓ,Ó-ˆÜ�]‰]œ2Ÿ?™?Ø!EöGä× Ñ  °(Õ;÷Gð Gð .ô
 Ð4Ó5ˆÜ�]‰]œ9Ð,JÖKÜ× Ñ  °(Õ;÷ LÐKñ 6÷	Gð Gú÷
 LÐKús   Ä-FÅ5F$ÆF!	Æ$F-	c                  óN  — g d¢} t        j                  g d¢t        j                  «       «      }t        j                  g d¢t        j                  «       «      }t	        j
                  | |«      |k(  sJ ‚t        j                  dt        j                  «       «      }t        j                  dt        j                  «       «      }t        j                  dt        j                  «       «      }t	        j
                  d|d¬	«      |k(  sJ ‚t	        j
                  d|d
¬	«      |k(  sJ ‚y )N)çw¾Ÿ/Ý^@ç /Ý$Rm@ç+‡Ùšu@g´Èv¾ŸŒ|@r³  r´  rµ  )r®  r¯  r]   r   r$   r%   r#   )r   éÈ   i^  iÉ  g     à^@g
×£p=Rm@rµ  r   r   r]   ç      @r–  rš  r—  )r’   r·   r   rø  r@   Úround_binaryrœ   )rK   Úscalesr  Úexpect_zeroÚ
expect_infrB  s         r;   Útest_round_binaryr¼  ç  så   € ÚL€FÜ�X‰XÒ.´·±³
Ó;€FÜ�x‰xÚ2´B·J±J³LóB€Hä�?‰?˜6 6Ó*¨hÒ6Ð6Ð6ä—)‘)˜AœrŸz™z›|Ó,€KÜ—‘˜2œrŸz™z›|Ó,€JÜ�I‰I�bœ"Ÿ(™(›*Ó%€Eä�?‰?ØˆUÐ2ô4Ø7BòCð Cð Cä�?‰?ØˆUÐ6ô8Ø;EòFð Fñ FrE   c            	      ó  — t        j                  g d¢«      } | j                  «       }t        j                  g d¢«      }|j                  |«      sJ ‚|j                  t	        j                  | «      «      sJ ‚| j                  «       }t        j                  g d¢«      }|j                  |«      sJ ‚|j                  t	        j
                  | «      «      sJ ‚t        j                  ddgdd gg«      } | j                  «       }t        j                  ddgddgg«      }|j                  |«      sJ ‚| j                  «       }t        j                  ddgddgg«      }|j                  |«      sJ ‚t        j                  dddd t        d	«      g«      } | j                  «       }t        j                  g d
¢«      }|j                  |«      sJ ‚| j                  d¬«      }t        j                  g d¢«      }|j                  |«      sJ ‚y )Nrq  )FFFT)TTTFr$   r%   r#   FTr…  )FFFTF)Únan_is_null)FFFTT)r’   r·   rj  r  r@   rç  rJ  r   r•  s      r;   Útest_is_nullr¿  ø  s¨  € Ü
�(‰(’?Ó
#€CØ�[‰[‹]€FÜ�x‰xÒ3Ó4€HØ�=‰=˜Ô"Ð"Ð"Ø�=‰=œŸ™ C›Ô)Ð)Ð)Ø�\‰\‹^€FÜ�x‰xÒ1Ó2€HØ�=‰=˜Ô"Ð"Ð"Ø�=‰=œŸ™ SÓ)Ô*Ð*Ð*ä
×
Ñ
˜Q ˜F Q¨ IÐ.Ó
/€CØ�[‰[‹]€FÜ×Ñ %¨ °%¸°Ð ?Ó@€HØ�=‰=˜Ô"Ð"Ð"Ø�\‰\‹^€FÜ×Ñ $¨ °°e¨}Ð =Ó>€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(�A�q˜!˜T¤5¨£<Ð0Ó
1€CØ�[‰[‹]€FÜ�x‰xÒ:Ó;€HØ�=‰=˜Ô"Ð"Ð"à�[‰[ Tˆ[Ó*€FÜ�x‰xÒ9Ó:€HØ�=‰=˜Ô"Ð"Ñ"rE   c            	      ój  — t        j                  dddd t        d«      g«      } | j                  «       }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢t        j
                  «       ¬«      } t        j                  t        d¬	«      5  | j                  «       }d d d «       t        j                  t        d¬	«      5  t        j                  g d
¢t        j                  «       ¬«      } | j                  «       }d d d «       y # 1 sw Y   ŒixY w# 1 sw Y   y xY w)Nr$   r%   r#   r…  )FFFNT)ra   rb   Nr/  z"has no kernel matching input typesr.   ©r    ó   bbN)
r’   r·   r   Úis_nanr  r   r4   r5   r   r�  )r  r†  r  rZ  s       r;   Útest_is_nanrÄ    sä   € Ü
�(‰(�A�q˜!˜T¤5¨£<Ð0Ó
1€CØ�Z‰Z‹\€FÜ�x‰xÒ9Ó:€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò#¬"¯)©)«+Ô
6€CÜ	�‰Ü$Ð,Pö
Rà�J‰J‹Lˆ÷
Rô 
�‰Ü$Ð,Pö
Rä�h‰hÒ*´·±Ó1BÔCˆØ�J‰J‹Lˆ÷
Rð 
R÷	
Rð 
Rú÷
Rð 
Rús   Â$DÃ<D)ÄD&Ä)D2c                  ó   — t        j                  g d¢t        j                  «       ¬«      } t        j                  dgt        j                  «       ¬«      }t        j                  t         j
                  d¬«      5  | j                  |«       d d d «       t        j                  g d¢t        j                  «       ¬«      } t        j                  d t        j                  «       ¬«      }| j                  |«      }t        j                  g d¢«      }|j                  |«      sJ ‚t        j                  g d¢«      } | j                  d«      }t        j                  g d	¢«      }|j                  |«      sJ ‚t        j                  g d
¢t        j                  «       ¬«      } | j                  d«      }t        j                  g d¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  g d¢«      } | j                  d «      }t        j                  g d¢«      }|j                  |«      sJ ‚y # 1 sw Y   �Œ¸xY w)N©r$   r%   Nr&   r/  r   ú+Array arguments must all be the same lengthr.   rr  )r   ÚbbNÚccc)r   rÈ  rÉ  rÁ  )r    rÂ  s   ccc)r’   r·   r   r4   r5   r[  Ú	fill_nullr­  rœ   r  r�  )r  Ú
fill_valuer†  r  s       r;   Útest_fill_nullrÌ  &  s�  € Ü
�(‰(’?¬¯©«Ô
3€CÜ—‘˜1˜#¤B§G¡G£IÔ.€JÜ	�‰”r—‘ØJö
Là�‰�jÔ!÷
Lô �(‰(Ò+´"·'±'³)Ô
<€CÜ—‘˜4¤b§g¡g£iÔ0€JØ�]‰]˜:Ó&€FÜ�x‰xÒ0Ó1€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò$Ó
%€CØ�]‰]˜5Ó!€FÜ�x‰xÒ*Ó+€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò&¬R¯_©_Ó->Ô
?€CØ�]‰]˜5Ó!€FÜ�x‰xÒ-´B·O±OÓ4EÔF€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò$Ó
%€CØ�]‰]˜4Ó €FÜ�x‰xÒ)Ó*€HØ�=‰=˜Ô"Ð"Ñ"÷/
Lñ 
Lús   Á;IÉIc                 ót  — t        j                  g d¢| ¬«      }t        j                  d| ¬«      }|j                  |«      }t        j                  g d¢| ¬«      }|j	                  |«      sJ ‚|j                  d«      }|j	                  |«      sJ ‚t         j
                  j                  |j                  «      s9t        j                  t        t        f«      5  |j                  d«       d d d «       |j                  t        j                  dd¬«      «      }|j	                  |«      sJ ‚y # 1 sw Y   ŒCxY w)NrÆ  r/  r   )r$   r%   r   r&   Ú5r   )r’   r·   rœ   rÊ  r  r?  Úis_unsigned_integerrÌ   r4   r5   r-  r6   )r,  r  rË  r†  r  s        r;   Útest_fill_null_arrayrÐ  C  sä   € ä
�(‰(’?¨Ô
4€CÜ—‘˜1 :Ô.€JØ�]‰]˜:Ó&€FÜ�x‰xš¨:Ô6€HØ�=‰=˜Ô"Ð"Ð"ð �]‰]˜1Ó€FØ�=‰=˜Ô"Ð"Ð"ô �8‰8×'Ñ'¨¯©Ô1Ü�]‰]œJ¬	Ð2Õ3Ø�M‰M˜#Ô÷ 4ð �]‰]œ2Ÿ9™9 Q¨VÔ4Ó5€FØ�=‰=˜Ô"Ð"Ñ"÷	 4Ð3ús   ÃD.Ä.D7c                 óœ  — t        j                  d| ¬«      }t        j                  t        j                  g d¢| ¬«      g«      }|j	                  |«      }t        j                  t        j                  g d¢| ¬«      g«      }|j                  |«      sJ ‚t        j                  t        j                  ddg| ¬«      t        j                  g | ¬«      t        j                  d dg| ¬«      g«      }t        j                  t        j                  ddg| ¬«      t        j                  g | ¬«      t        j                  ddg| ¬«      g«      }|j	                  |«      }|j                  |«      sJ ‚|j	                  d«      }|j                  |«      sJ ‚|j	                  t        j                  dd¬«      «      }|j                  |«      sJ ‚y )	Nr   r/  )Nr%   r#   r&   )r   r%   r#   r&   r$   r%   r&   r   )r’   rœ   rJ  r·   rÊ  r  )r,  rË  r  r†  r  s        r;   Útest_fill_null_chunked_arrayrÒ  X  sm  € ä—‘˜1 :Ô.€JÜ
×
Ñ
œBŸH™H¢_¸:ÔFÐGÓ
H€CØ�]‰]˜:Ó&€FÜ×Ñ¤§¡ª,¸ZÔ!HÐ IÓJ€HØ�=‰=˜Ô"Ð"Ð"ä
×
Ñ
Ü
�‰�!�Q�˜jÔ)Ü
�‰�˜*Ô%Ü
�‰�$˜� Ô,ðó €Cô
 ×ÑÜ
�‰�!�Q�˜jÔ)Ü
�‰�˜*Ô%Ü
�‰�!�Q�˜jÔ)ð!ó €Hð
 �]‰]˜:Ó&€FØ�=‰=˜Ô"Ð"Ð"ð �]‰]˜1Ó€FØ�=‰=˜Ô"Ð"Ð"à�]‰]œ2Ÿ9™9 Q¨VÔ4Ó5€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  dt        j                  «       ¬«      }t         j                  j                  d| |g«      }|j                  d¬«       t        j                  g d¢«      }|j                  |«      sJ ‚t        j                  «       t        j                  «       t        j                  «       t        j                  «       fD ]’  }t        j                  g d¢|¬«      } t        j                  d|¬«      }t         j                  j                  d| |g«      }|j                  d¬«       t        j                  g d	¢|¬«      }|j                  |«      rŒ’J ‚ y )
N)TFFFFNTr/  Úcoalescer«  )TFFFFT)r$   r%   r#   r&   r   Né*   )r$   r%   r#   r&   r   rÕ  )r’   r·   rœ   Úbool_Úcomputer  r¯  r  r   r   r   r   )r  r€   r†  r  r„  s        r;   Ú!test_fill_null_windows_regressionrØ  u  s	  € ô �(‰(Ò;Ó
<€CÜ
�	‰	�$œRŸX™X›ZÔ(€Aä�Z‰Z×%Ñ% j°3¸°(Ó;€FØ
‡O�O˜€OÔÜ�x‰xÒ@ÓA€HØ�=‰=˜Ô"Ð"Ð"ä�w‰w‹yœ"Ÿ(™(›*¤b§h¡h£j´"·(±(³*Ó=ˆÜ�h‰hÒ,°2Ô6ˆÜ�I‰I�b˜rÔ"ˆä—‘×)Ñ)¨*°s¸A°hÓ?ˆØ�‰˜TˆÔ"Ü—8‘8Ò/°bÔ9ˆØ�}‰}˜XÕ&Ð&Ð&ñ >rE   c                  óž  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  | |«      t        j                  g d¢«      k(  sJ ‚t        j                  | |«      t        j                  g d¢«      k(  sJ ‚t        j
                  | |«      t        j                  g d¢«      k(  sJ ‚t        j                  | |«      t        j                  g d¢«      k(  sJ ‚t        j                  | |«      t        j                  g d¢«      k(  sJ ‚t        j                  | «      t        j                  g d¢«      k(  sJ ‚y )Nrg  )TTFTr™  re  ri  )	r’   r·   r@   Úand_Ú
and_kleeneÚor_Ú	or_kleeneÚxorÚinvertr*   s     r;   Útest_logicalrà  ‹  sì   € Ü
�‰Ò+Ó,€AÜ
�‰Ò*Ó+€Aä�7‰7�1�a‹=œBŸH™HÒ%?Ó@Ò@Ð@Ð@Ü�=‰=˜˜AÓ¤"§(¡(Ò+EÓ"FÒFÐFÐFä�6‰6�!�Q‹<œ2Ÿ8™8Ò$=Ó>Ò>Ð>Ð>Ü�<‰<˜˜1Ó¤§¡Ò*CÓ!DÒDÐDÐDä�6‰6�!�Q‹<œ2Ÿ8™8Ò$>Ó?Ò?Ð?Ð?ä�9‰9�Q‹<œ2Ÿ8™8Ò$=Ó>Ò>Ð>Ñ>rE   c                  ó   — t        j                  g d¢«      } | j                  «       }t        j                  |«      }| |k7  sJ ‚| |k(  sJ ‚| t        j                  | «      k(  sJ ‚t        j                  |«      |k(  sJ ‚y )N)r   r   r   r�  r   )r’   r·   Údictionary_encoder@   Údictionary_decode)r·   Údictionary_arrayÚdictionary_array_decodes      r;   Útest_dictionary_decoderæ  š  s„   € Ü�H‰HÒ.Ó/€EØ×.Ñ.Ó0ÐÜ ×2Ñ2Ð3CÓDÐàÐ$Ò$Ð$Ð$àÐ+Ò+Ð+Ð+Ø”B×(Ñ(¨Ó/Ò/Ð/Ð/Ü×ÑÐ 0Ó1Ð5EÒEÐEÑErE   c                  ó¸  — t        j                  g d¢d¬«      } t        j                  t        j                  «       «      }t        j                  t        «      5  t        j                  | d ¬«       d d d «       t        j                  t        «      5  t        j                  | d|¬«       d d d «       t        j                  t        «      5  t        j                  | d|¬«       d d d «       t        j                  | |¬«      t        j                  g d¢d	¬«      k(  sJ ‚t        j                  d
gd¬«      } t        j                  t        j                  «       d¬«      }t        j                  t         j                  «      5  t        j                  | d«       d d d «       t        j                  | dd¬«      t        j                  dgd¬«      k(  sJ ‚t        j                  | |¬«      t        j                  dgd¬«      k(  sJ ‚t        j                  t        j                  ddd«      t        j                  ddd«      g«      } t        j                  ddgd¬«      }t        j                  | d«      |k(  sJ ‚t        j                  ddgg d¢gt        j                  t        j                  «       «      ¬«      } t        j                  ddgg d¢gt        j                  t        j                  «       «      ¬«      }t        j                  | |j                   «      |k(  sJ ‚y # 1 sw Y   �Œ¸xY w# 1 sw Y   �Œ‹xY w# 1 sw Y   �Œ^xY w# 1 sw Y   �ŒµxY w)Nr.  r   r/  )Útarget_typer   rÛ  T)r‘   r×   r   l   ÿÿÿÿ )Úallow_int_overflowF©r‘   r]   iÚ  r$   iß  l    x\N—l    0•E*ztimestamp[ms]r%   )r#   r&   r   ra   rb   )Ú3Ú4rÎ  )r’   r·   r@   r�   r   r4   r5   r6   Úcastr-  r   r[  ÚdatetimeÚ
large_listrå  rX  rÌ   )r  r×   Úallow_overflow_optionsr  s       r;   Ú	test_castrñ  ¦  sa  € Ü
�(‰(’< gÔ
.€CÜ�n‰nœRŸW™W›YÓ'€Gä	�‰”yÕ	!Ü
�‰� Õ&÷ 
"ô 
�‰”zÕ	"Ü
�‰��W gÕ.÷ 
#ô 
�‰”zÕ	"Ü
�‰�˜$¨Õ0÷ 
#ô �7‰7�3 Ô(¬B¯H©HÚ˜6ô-#ò #ð #ð #ô �(‰(�K�= wÔ
/€CÜŸ^™^Ü
�‰‹
 tô-Ðô 
�‰”r—‘Õ	'Ü
�‰��WÔ÷ 
(ô �7‰7�3˜ eÔ,´·±¸"¸ÀGÔ0LÒLÐLÐLä�7‰7�3Ð 6Ô7¼2¿8¹8Ø	ˆ�7ô<ò ð ð ô �(‰(Ü	×	Ñ	˜4  AÓ	&¬×(9Ñ(9¸$ÀÀ1Ó(EÐFóH€Cä�x‰x˜¨Ð6¸_ÔM€HÜ�7‰7�3˜Ó(¨HÒ4Ð4Ð4ä
�(‰(�Q˜�FšIÐ&¬R¯]©]¼2¿7¹7»9Ó-EÔ
F€CÜ�x‰x˜#˜s˜¢_Ð5ÜŸX™X¤b§g¡g£iÓ0ô2€Hä�7‰7�3˜Ÿ™Ó&¨(Ò2Ð2Ñ2÷A 
"Ñ	!ú÷ 
#Ñ	"ú÷ 
#Ñ	"ú÷ 
(Ñ	'ús0   ÁL(ÂL5ÃMÆMÌ(L2Ì5L?ÍMÍMÚ
value_typec                 ó˜   — t        j                  ddd«      }t        j                  |g| ¬«      }t	        j
                  || «      |k(  sJ ‚y )NiÆ  r#   r$   r/  )rî  Údater’   r·   r@   rí  )rò  Údtr  s      r;   Útest_identity_cast_datesrö  Í  s?   € ä	�‰�t˜Q Ó	"€Bä
�(‰(�B�4˜jÔ
)€CÜ�7‰7�3˜
Ó# sÒ*Ð*Ñ*rE   c                 ób  — t        j                  t        j                  d| «      d«      }t        j                  «       }t        j                  t        j                  d|«      d«      }t         j                  j                  t        j                  g d¢|¬«      |¬«      }||j                  |«      j                  k(  sJ ‚t         j                  j                  t        j                  g d¢|¬«      |¬«      }||j                  |«      j                  k(  sJ ‚t        j                  «       }t        j                  t        j                  d|«      d«      }t         j                  j                  t        j                  g d¢|¬«      |¬«      }||j                  |«      j                  k(  sJ ‚t        j                  t        j                  d| «      d«      }d	}t        j                  t         j                  j                  |¬
«      5  |j                  |«       d d d «       y # 1 sw Y   y xY w)NÚelementr%   rK   rÇ  r/  )r$   NNr&   r   r'   )NNNNNNr#   z&Size of FixedSizeList is not the same.r.   )r’   rå  r_   r   ÚFixedSizeListArrayr  r·   rí  rÌ   r­  r4   r5   ÚlibÚArrowTypeError)rò  Ú	cast_typeÚdtyperÌ   ÚfslÚerr_msgs         r;   Útest_fsl_to_fsl_castr   Õ  sž  € ô —‘œŸ™ )¨ZÓ8¸!Ó<€Iä�H‰H‹J€EÜ�8‰8”B—H‘H˜X uÓ-¨qÓ1€Dä
×
Ñ
×
+Ñ
+Ü
�‰Ò#¨%Ô0°tð ,ó =€Cà˜Ÿ™ Ó+×0Ñ0Ò0Ð0Ð0ô ×
Ñ
×
+Ñ
+Ü
�‰Ò)°Ô6¸Tð ,ó C€Cà˜Ÿ™ Ó+×0Ñ0Ò0Ð0Ð0ô �G‰G‹I€EÜ�8‰8”B—H‘H˜X uÓ-¨qÓ1€DÜ
×
Ñ
×
+Ñ
+Ü
�‰Ò5¸EÔBÈð ,ó O€Cà˜Ÿ™ Ó+×0Ñ0Ò0Ð0Ð0ô —‘œŸ™ )¨ZÓ8¸!Ó<€IØ6€GÜ	�‰”r—v‘v×,Ñ,°GÖ	<Ø�‰�Ô÷ 
=×	<Ñ	<ús   È
H%È%H.ÚDecimalTypeTraits)r>   ÚfactoryÚmax_precisionÚFloatToDecimalCase)Ú	precisionrB  Ú	float_valÚ	decimal32Ú	decimal64é   rA  r8  rC  r9  c                 óâ   — | dk\  sJ ‚|dk\  sJ ‚t        | «      d|z  z  }|d|z  z  | kD  r7t        j                  |d«      }|d|z  z  | kD  rt        j                  |d«      }|d|z  z  | k  sJ ‚|S )zA
    Find the largest float f such as `f * 10**scale <= val`
    r   r   ç        )r   r  Ú	nextafter)ÚvalrB  r  s      r;   Úlargest_scaled_float_not_abover   	  sŒ   € ð �!Š8€Oˆ8Ø�AŠ:Ðˆ:Ü�c“
˜R ™YÑ&€IØ�2�u‘9Ñ˜sÒ"ä—L‘L ¨CÓ0ˆ	Ø�r˜5‘yÑ  3Ò&ÜŸ™ Y°Ó4ˆIØ�r˜5‘yÑ  CÒ'Ð'Ð'ØÐrE   c                 óŽ   — t        | t        «      sJ ‚t        j                  | «      }|j	                  | «      }t        |«      }|S )zS
    Return a float representation (possibly approximate) of `int_val**-scale`
    )ræ   Úintr>  r7  Úscalebr   )Úint_valrB  ÚunscaledÚscaledr  s        r;   Úscaled_floatr  	  sA   € ô �gœsÔ#Ð#Ð#Ü�‰˜wÓ'€HØ�_‰_˜e˜VÓ$€FÜ�f“€IØÐrE   c              #   óú   K  — d}t        d|d«      D ]e  }t        d|d«      D ]S  }t        ||d«      –— t        ||d«      –— dt        ||z
  |«      z  }t        d|z  |z
  |«      }t        |||«      –— ŒU Œg y	­w)
zC
    Return FloatToDecimalCase instances with integral values.
    r)   r$   r#   r   r%   r  rp  r   N)r³  r  rp   r  )Úfloat_tyr  Úmantissa_digitsr  rB  ÚepsilonÚ
abs_maxvals          r;   Ú$integral_float_to_decimal_cast_casesr  	  sŽ   è ø€ ð €OÜ˜1˜m¨QÖ/ˆ	Ü˜1˜i¨Ö+ˆEÜ$ Y°°sÓ;Ò;Ü$ Y°°sÓ;Ò;Øœ#˜i¨/Ñ9¸5ÓAÑAˆGÜ7Ø�I‘ Ñ'¨ó0ˆJä$ Y°°zÓBÓBñ ,ñ 0ùó   ‚A9A;c              #   óú   K  — d}t        d|d«      D ]e  }t        d|d«      D ]S  }ddt        ||z
  d«      z  z  }t        ||«      }t        d|z  |z
  |«      }t        |||«      –— t        |||«      –— ŒU Œg y­w)z?
    Return FloatToDecimalCase instances with real values.
    r)   r$   r#   r   r%   r   N)r³  rp   r  r  )r  r  r  r  rB  r  Ú
abs_minvalr  s           r;   Ú real_float_to_decimal_cast_casesr  *	  s�   è ø€ ð €OÜ˜1˜m¨QÖ/ˆ	Ü˜1˜i¨Ö+ˆEØ˜"œc )¨oÑ"=¸qÓAÑAÑAˆGÜ7¸ÀÓGˆJÜ7Ø�I‘ Ñ'¨ó0ˆJä$ Y°°zÓBÒBÜ$ Y°°zÓBÓBñ ,ñ 0ùr  c              #   ó  K  — t        j                  d«      }t        d|d«      D ]d  }t        d|d«      D ]R  }t        d«      D ]B  }|j                  dd|z  «      }t	        ||«      }|d|z  z  d|z  k  sJ ‚t        |||«      –— ŒD ŒT Œf y­w)	z?
    Return random-generated FloatToDecimalCase instances.
    rÕ  r$   r'   r   r&   r¶  r   N)rõ  ÚRandomr³  Ú	randranger  r  )r  r  Úrr  rB  r  r  r  s           r;   Ú"random_float_to_decimal_cast_casesr$  9	  s”   è ø€ ô 	�‰�bÓ€AÜ˜1˜m¨QÖ/ˆ	Ü˜1˜i¨Ö+ˆEÜ˜2–Y�ØŸ;™; q¨"¨i©-Ó8�Ü(¨°5Ó9�	Ø  2 u¡9Ñ,¨r°9©}Ò<Ð<Ð<Ü(¨°E¸9ÓEÓEñ	 ñ ,ñ 0ùs   ‚BBc                 ó"  — |j                   |_        t        j                  |_        |j                  |«      }|j                  t        j                  d«      j                  |j                   «      «      }t        j                  || ¬«      }t        j                  ||«      j                  «       }||k7  rZt        ||z
  «      d|j                  z  z  }|j                   |dz
  k  rdnd}	||	k  s J d|›d|j                   › d|›d	|›d
|›�
«       ‚y y )Nr$   r/  r   r%   r&   zfloat_val = z, precision=z, expected = z, actual = z, diff_digits = )r  Úprecr>  ÚROUND_HALF_EVENÚroundingÚcreate_decimal_from_floatÚquantizer7  r  rB  r’   rœ   r@   rí  r2  Úabs)
r  r  Ú
decimal_tyÚdecimal_ctxr  r  r€   r¾  Údiff_digitsÚlimits
             r;   Úcheck_cast_float_to_decimalr0  G	  s  € ð "×+Ñ+€KÔÜ"×2Ñ2€KÔØ×4Ñ4°YÓ?€Hà× Ñ ¤§¡°Ó!3×!:Ñ!:¸J×<LÑ<LÐ;LÓ!MÓN€HÜ
�	‰	�) (Ô+€AÜ�W‰W�Q˜
Ó#×)Ñ)Ó+€FØ�Òô ˜& 8Ñ+Ó,¨r°:×3CÑ3CÑ/CÑCˆØ×)Ñ)¨M¸AÑ,=Ò=‘À1ˆØ˜eÒ#ð 	.Ø˜9˜- |°J×4HÑ4HÐ3Ið JØ"˜ [°°
ð ;Ø(˜Oð-ó	.Ñ#ð rE   r  )Úidsr,  c                 ó   — | j                   S rå   ©r>   ©Úvs    r;   Ú<lambda>r6  b	  ó   €  q§v¢vrE   Úcase_generator)Ú	integralsÚrealsrõ  c           
      ó  — t        j                  «       5 } || |j                  «      D ]I  }t        | |j                  |j                  |j                  |j                  «      ||j                  «       ŒK 	 d d d «       y # 1 sw Y   y xY wrå   )r>  Úlocalcontextr  r0  r  r  r  rB  )r  r,  r8  ÚctxÚcases        r;   Útest_cast_float_to_decimalr?  _	  sj   € ô 
×	Ñ	Ô	 3Ù" 8¨Z×-EÑ-EÖFˆDÜ'Ø˜$Ÿ.™.Ø×"Ñ" 4§>¡>°4·:±:Ó>Ø�Z×-Ñ-õ/ñ G÷ 
 ×	Ñ	ús   •A A?Á?BÚdecimal_traitsc                 ó   — | j                   S rå   r3  r4  s    r;   r6  r6  t	  r7  rE   c                 óÆ  — t        j                  d«      }t        j                  «       t        j                  t        j
                  «       t        j
                  i|    }t        j                  «       dt        j
                  «       di|    }t        j                  «       dt        j
                  «       di|    \  }}t        j                  t        j                  d|z  «      «      }|j                  }||k  rVt        j                  t        j                  d|z  «      «      }t        j                  t        j                  d|z  «      «      }t        j                  «       5 }	|}
|
|	_        t        | |
t        j                  t        j                  d|z  «      «      z   «      }t!        |t        j                  t        j                  d|z  «      «      «      }t#        ||«      D �]c  }|j%                  |
|«      }| t        j                  t        j                  d|
|z
  z  «      «      z   }||cxk  r|k  sJ ‚ J ‚t#        d«      D ]þ  }|j'                  d	d|z  «      }t	        j(                   ||«      |«      }t+        ||«      sJ ‚|d	k\  rt        j,                  |«      d|z  z  }nt        j,                  |«      d| z  z  }t/        |j1                  |«      «      }t3        j4                  t        j6                  || ¬
«      |«      j9                  «       }t/        |j1                  |«      «      }t;        ||z
  «      dk  rŒþJ ‚ �Œf 	 ddd«       y# 1 sw Y   yxY w)zL
    Test float-to-decimal conversion against exactly generated values.
    é+   é   é5   )i‚ÿÿÿé   )iüÿÿiÿ  r%   r   r   r   r/  r$   N)rõ  r!  r’   r÷  r  rø  ÚmathÚfloorÚlog10r  Úlog2r>  r<  r&  rp   ÚceilrÚ  r³  r  r"  Úldexpræ   r7  r…  r  r@   rí  rœ   r2  r+  )r  r@  r#  Únp_float_tyÚmantissa_bitsÚfloat_exp_minÚfloat_exp_maxr  r  r=  r  Ú	min_scaleÚ	max_scalerB  r,  Ú	float_expr  Úmantissar  r  Úexpected_as_intr¾  Úactual_as_ints                          r;   Ú!test_cast_float_to_decimal_randomrW  q	  sÒ  € ô 	�‰�bÓ€Aä
�
‰
‹”b—j‘jÜ
�
‰
‹”b—j‘jðð ñ€Kô
 	�
‰
‹�bÜ
�
‰
‹�bðð ñ€Mô
 	�
‰
‹�kÜ
�
‰
‹�mð$ð ñ$Ñ €M�=ô —j‘j¤§¡¨A¨}Ñ,<Ó!=Ó>€OØ"×0Ñ0€Mð �Ò&ÜŸ
™
¤4§9¡9¨R°Ñ->Ó#?Ó@ˆÜŸ*™*¤T§Z¡Z°°=Ñ0@Ó%AÓBˆä	×	Ñ	Ô	 3Ø#ˆ	ØˆŒô ˜˜Ø!¤D§I¡I¬d¯j©j¸¸MÑ9IÓ.JÓ$KÑKóMˆ	ä˜ÜŸ
™
¤4§:¡:¨a°Ñ.>Ó#?Ó@óBˆ	ä˜9 i×0ˆEØ'×/Ñ/°	¸5ÓAˆJð
 (˜ÜŸ™¤D§I¡I¨b°9¸uÑ3DÑ.EÓ$FÓGñHˆIà  IÔ>°Ò>Ð>Ñ>Ð>Ð>Ü˜1–X�ØŸ;™; q¨!¨]Ñ*:Ó;�ÜŸH™H¡[°Ó%:¸IÓF�	Ü! )¨[Ô9Ð9Ð9ð  ’>Ü&Ÿ™¨xÓ8¸1¸i¹<ÑG‘Hä&Ÿ™¨xÓ8¸1¸y¸j¹=ÑH�HÜ"'¨¯©¸Ó(>Ó"?�ÜŸ™Ü—I‘I˜i¨hÔ7¸óEßEJÁUÃWð ä % f§m¡m°EÓ&:Ó ;�ä˜=¨?Ñ:Ó;¸qÓ@Ð@Ð@ò ñ 1÷ 
 ×	Ñ	ús   Å"G$MÍMÍM c            	      óú  — t        j                  g d¢«      } t        j                  | dd¬«      }t        j                  t	        j                  ddd«      d t	        j                  dd	d
«      gt        j
                  d«      ¬«      }||k(  sJ ‚t        j                  | dd¬«      |k(  sJ ‚t        j                  t	        j                  ddd«      d d gt        j
                  d«      ¬«      }t        j                  | ddd¬«      }||k(  sJ ‚t        j                  t         j                  d¬«      5  t        j                  | ddd¬«       d d d «       t        j                  t         j                  d¬«      5  t        j                  | dd¬«       d d d «       t        j                  | ddd¬«      }|t        j                  g d¢t        j
                  d«      ¬«      k(  sJ ‚y # 1 sw Y   ŒšxY w# 1 sw Y   Œ`xY w)N)z5/1/2020Nz
12/13/1900z%m/%d/%Yr€   ©ÚformatÚunitiä  r   r$   il  é   é   r/  ©r[  z%d/%m/%YT)rZ  r[  Úerror_is_nullz"Failed to parse string: '5/1/2020'r.   z%Y-%m-%dF)NNN)	r’   r·   r@   Ústrptimerî  Ú	timestampr4   r5   r[  )r  Úgotr  s      r;   Útest_strptimerc  ³	  s�  € Ü
�(‰(Ò3Ó
4€Cä
�+‰+�c *°3Ô
7€CÜ�x‰xÜ	×	Ñ	˜4  AÓ	&¨¬h×.?Ñ.?ÀÀbÈ"Ó.MÐNÜ�\‰\˜#Óô €Hð �(Š?Ðˆ?ä�;‰;�s˜J¨SÔ1°SÒ8Ð8Ð8ä�x‰xœ×*Ñ*¨4°°AÓ6¸¸dÐCÜŸ\™\¨#Ó.ô0€Hä
�+‰+�c *°3ÀdÔ
K€CØ�(Š?Ðˆ?ä	�‰”r—‘ØAö
Cä
�‰�C 
°ÀEÕJ÷
Cô 
�‰”r—‘ØAö
Cä
�‰�C 
°Õ5÷
Cô �+‰+�c *°3ÀdÔ
K€CØ”"—(‘(Ò-´B·L±LÀÓ4EÔFÒFÐFÑF÷
Cð 
Cú÷
Cð 
Cús   Ä2G%Å9G1Ç%G.Ç1G:c                 ó4  — d}t        j                  | |«      }t        j                  |d¬«      j                  «       }|s
J d| › �«       ‚t        j                  | |d¬«      }t        j                  ||d¬«      }|j                  |«      sJ d|› d| › d	�«       ‚y )
Nz (UTC|GMT[+-]?[0-9]*|[A-Z]{2,5})$Tr[   zWAll timezone values should be GMT offset format, UTC, or timezone abbreviation
Actual: r¬  r�  z
Expected: z, 
Actual: z' 
Note: tz suffix is not being compared)r@   r   rí   r2  rš  r  )r†  r  ÚpÚends_with_tzÚall_end_with_tzÚresult_substringÚexpected_substrings          r;   Ú$_compare_strftime_strings_on_windowsrj  Ï	  s·   € ð 	+€Aä×+Ñ+¨F°AÓ6€LÜ—f‘f˜\°dÔ;×AÑAÓC€OÙð Oð FØFLÀXðOó Oˆ?ô ×1Ñ1°&À!ÐQSÔTÐÜ×3Ñ3°HÀaÐUWÔXÐØ×"Ñ"Ð#5Ô6ð 2Ø
�X�J˜l¨6¨(ð 32ð 	2ó2Ñ6rE   c            	      óŽ  — g d¢} g d¢}g d¢}t         j                  dk7  r|j                  g d¢«       |D �]i  }t        j                  | «      j                  |«      }dD ]Õ  }t        j                  |t        j                  ||«      ¬«      }|D ]£  }t        j                  |«      }t        j                  ||¬«      }	t        j                  |j                  |«      «      j                  |	j                  «      }
t         j                  dk(  r|d	k(  rt        |	|
«       Œ‘|	j                  |
«      rŒ£J ‚ Œ× d
}t        j                  |t        j                  d|«      ¬«      }t        j                  |t        j                  «       ¬«      }	t        j                  |j                  |«      «      j                  |	j                  «      }
|	j                  |
«      sJ ‚t        j                  |t        j                  d|«      ¬«      }t        j                  |t        j                  |d	z   «      ¬«      }	t        j                  |j                  |d	z   «      «      j                  |	j                  «      }
t         j                  dk(  rt        |	|
«       n|	j                  |
«      sJ ‚t        j                  |t        j                  d|«      ¬«      }t        j                  d«      }t        j                  ||¬«      }	t        j                  |j                  d«      «      j                  |	j                  «      }
|	j                  |
«      sJ ‚t        j                  |t        j                  d|«      ¬«      }t        j                  d«      }t        j                  ||¬«      }	t        j                  |j                  d«      «      j                  |	j                  «      }
|	j                  |
«      sJ ‚t        j                  |t        j                  d|«      ¬«      }t        j                  |d¬«      }t        j                  ||¬«      }	t        j                  |j                  |«      «      j                  |	j                  «      }
|	j                  |
«      r�ŒjJ ‚ d
}t        j                  | «      }t        j                  |t        j                  d«      ¬«      }t        j                  |t        j                  |«      ¬«      }	t        j                  |j                  |«      «      j                  |	j                  «      }
t        j                  ||«      |	k(  sJ ‚|	j                  |
«      sJ ‚t!        j"                  t        j$                  d¬«      5  t        j                  |t        j                  |d	z   «      ¬«       d d d «       t!        j"                  t        j$                  d¬«      5  t        j                  |t        j                  |dz   «      ¬«       d d d «       y # 1 sw Y   ŒexY w# 1 sw Y   y xY w)N)z2018-03-10 09:00z2038-01-31 12:23N)ÚCETrT   r‹   )z%az%Az%wz%dz%bz%Bz%mz%yr   z%Hz%Iz%pz%Mú%zú%Zz%jz%Uz%Wz%%z%Gz%Vz%uÚwin32)z%cz%xz%X©r€   ÚmsÚusÚnsr/  rÛ  rn  ú%Y-%m-%dT%H:%M:%Sr€   z%Srr  z%S.%fÚC)Úlocalez.Timezone not present, cannot convert to stringr.   rm  )ÚsysÚplatformÚextendÚpdÚto_datetimeÚtz_localizer’   r·   ra  r@   r½   Ústrftimerí  rÌ   rj  r  r4   r5   r[  )ÚtimesÚ	timezonesÚformatsÚtimezoneÚtsr[  ÚtsaÚfmtr×   r†  r  s              r;   Útest_strftimer…  ã	  s‹  € ò ;€EÚ2€IòQ€Gä
‡|�|�wÒà�‰Ò)Ô*äˆÜ�^‰^˜EÓ"×.Ñ.¨xÓ8ˆÛ+ˆDÜ—(‘(˜2¤B§L¡L°°xÓ$@ÔAˆCÛ�Ü×,Ñ,¨SÓ1�ÜŸ™ S°'Ô:�äŸ8™8 B§K¡K°Ó$4Ó5×:Ñ:¸6¿;¹;ÓG�Ü—<‘< 7Ò*¨s°dª{Ü8¸ÀÕJà!Ÿ=™=¨Õ2Ð2Ð2ñ ð ,ð "ˆô �h‰h�r¤§¡¨S°(Ó ;Ô<ˆÜ—‘˜S¬"×*<Ñ*<Ó*>Ô?ˆÜ—8‘8˜BŸK™K¨Ó,Ó-×2Ñ2°6·;±;Ó?ˆØ�}‰}˜XÔ&Ð&Ð&ô �h‰h�r¤§¡¨S°(Ó ;Ô<ˆÜ—‘˜S¬"×*<Ñ*<¸SÀ4¹ZÓ*HÔIˆÜ—8‘8˜BŸK™K¨¨d©
Ó3Ó4×9Ñ9¸&¿+¹+ÓFˆÜ�<‰<˜7Ò"Ü0°¸ÕBà—=‘= Ô*Ð*Ð*ô �h‰h�r¤§¡¨S°(Ó ;Ô<ˆÜ×$Ñ$ TÓ*ˆÜ—‘˜S¨'Ô2ˆÜ—8‘8˜BŸK™K¨Ó-Ó.×3Ñ3°F·K±KÓ@ˆØ�}‰}˜XÔ&Ð&Ð&ô �h‰h�r¤§¡¨T°8Ó <Ô=ˆÜ×$Ñ$ TÓ*ˆÜ—‘˜S¨'Ô2ˆÜ—8‘8˜BŸK™K¨Ó0Ó1×6Ñ6°v·{±{ÓCˆØ�}‰}˜XÔ&Ð&Ð&ô �h‰h�r¤§¡¨S°(Ó ;Ô<ˆÜ×$Ñ$ S°Ô5ˆÜ—‘˜S¨'Ô2ˆÜ—8‘8˜BŸK™K¨Ó,Ó-×2Ñ2°6·;±;Ó?ˆØ�}‰}˜XÖ&Ð&Ð&ðe ðj €CÜ	�‰˜Ó	€BÜ
�(‰(�2œBŸL™L¨Ó-Ô
.€CÜ�[‰[˜¤b×&8Ñ&8¸Ó&=Ô>€FÜ�x‰x˜Ÿ™ CÓ(Ó)×.Ñ.¨v¯{©{Ó;€Hô �;‰;�s˜CÓ  FÒ*Ð*Ð*à�=‰=˜Ô"Ð"Ð"Ü	�‰”r—‘ØMö
Oä
�‰�C¤×!3Ñ!3°C¸$±JÓ!?Õ@÷
Oô 
�‰”r—‘ØMö
Oä
�‰�C¤×!3Ñ!3°C¸$±JÓ!?Õ@÷
Oð 
O÷
Oð 
Oú÷
Oð 
Oús   Ö.X/×8.X;Ø/X8Ø;Yc                 óÈ  — ddl m} t        j                  | «      j	                  d«      j                  |«      j                  «       }t        j                  |t        j                  d|¬«      «      }|j                  j                  dz  |j                  j                  z   dz  j                  d«      }t        j                  d	t        j                  «       «      t        j                  d
t        j                  «       «      t        j                  dt        j                  «       «      g} |t        j                   «       |d«      k  rd|j#                  d„ «      j%                  d«      }|j#                  d„ «      j%                  d«      }|j#                  d„ «      j%                  d«      }	n„|j                  j'                  «       d   j%                  d«      }|j                  j'                  «       d   j%                  d«      }|j                  j'                  «       d   j%                  d«      }	t        j(                  j+                  |||	g|¬«      }
|j                  j,                  j%                  d«      }|j                  j.                  j%                  d«      }|j                  j0                  j%                  d«      }|j                  j2                  j%                  d«      }|j                  j4                  j%                  d«      }|j                  j6                  j%                  d«      }|j                  j8                  j%                  d«      }|j                  j:                  j%                  d«      }|j                  j<                  j>                  j%                  d«      }|j                  j                  j%                  d«      }|j                  j                  j%                  d«      }tA        j,                  |«      jC                  t        j                  |«      «      sJ ‚tA        jD                  |«      jC                  t        j                  |j                  jD                  «      «      sJ ‚tA        j.                  |«      jC                  t        j                  |«      «      sJ ‚tA        j0                  |«      jC                  t        j                  |«      «      sJ ‚tA        jF                  |«      jC                  t        j                  |«      «      sJ ‚tA        jH                  |«      jC                  t        j                  |«      «      sJ ‚tA        jJ                  |«      jC                  t        j                  |«      «      sJ ‚tA        jL                  |«      jC                  t        j                  |«      «      sJ ‚tA        jN                  |«      jC                  |
«      sJ ‚tA        j6                  |«      jC                  t        j                  |«      «      sJ ‚tA        j8                  |«      jC                  t        j                  |«      «      sJ ‚tA        j:                  |«      jC                  t        j                  |«      «      sJ ‚tA        j<                  |«      jC                  t        j                  |«      «      sJ ‚tA        jP                  |«      jC                  t        j                  |dz  «      «      sJ ‚tA        j                  |«      jC                  t        j                  |dz  «      «      sJ ‚tA        j                  |«      jC                  t        j                  |«      «      sJ ‚tA        jR                  |«      jC                  t        j                  |«      «      sJ ‚tA        jT                  |«      jC                  t        j                  |j                  j	                  d «      «      «      sJ ‚|j                  jV                  r‹|j                  jV                  tX        jZ                  j\                  u rdgt_        |«      z  }n|ja                  d„ «      }tA        jb                  |«      jC                  t        j                  |«      «      sJ ‚tA        jd                  dd¬«      }tA        jF                  ||¬«      jC                  t        j                  |dz   «      «      sJ ‚tA        jf                  ddd¬«      }tA        jh                  ||¬«      jC                  t        j                  |«      «      sJ ‚y )Nr   )ÚVersionrT   rs  ©Útziè  g•Ö&è.>r(   Úiso_yearÚiso_weekÚiso_day_of_weekz1.1.0c                 ó(   — | j                  «       d   S ©Nr   ©Úisocalendar©rw  s    r;   r6  z,_check_datetime_components.<locals>.<lambda>G
  ó   €  A§M¡M£O°AÒ$6rE   r   c                 ó(   — | j                  «       d   S )Nr$   r�  r‘  s    r;   r6  z,_check_datetime_components.<locals>.<lambda>H
  r’  rE   c                 ó(   — | j                  «       d   S )Nr%   r�  r‘  s    r;   r6  z,_check_datetime_components.<locals>.<lambda>I
  s   €  1§=¡=£?°1Ò#5rE   ÚyearÚweekÚday)ÚfieldsFc                 ó<   — | j                  «       j                  dkD  S rŽ  )ÚdstÚsecondsr‘  s    r;   r6  z,_check_datetime_components.<locals>.<lambda>{
  s   € ¨¯©«¯©¸!Ò(;rE   r$   rX   rÛ  Tr‡   )5Úpyarrow.vendored.versionr‡  rz  r{  r|  Ú
tz_convertÚ	to_seriesr’   r·   ra  rõ  ÚmicrosecondÚ
nanosecondr…  r_   r   Ú__version__Úmapr„  r�  ÚStructArrayr  r•  Úmonthr—  Ú	dayofweekÚ	dayofyearÚquarterÚhourÚminuteru   rK   r@   r  Úis_leap_yearÚday_of_weekÚday_of_yearrŠ  r‹  Úiso_calendarÚmillisecondÚ	subsecondÚlocal_timestampr‰  rî  r�  Úutcr1   ÚapplyÚis_dstr”   rÆ   r–  )Ú
timestampsr�  r‡  r‚  rƒ  Ú
subsecondsÚiso_calendar_fieldsrŠ  r‹  Úiso_dayr­  r•  r¤  r—  r¥  r¦  r§  r¨  r©  ru   rŸ  r   r³  Úday_of_week_optionsÚweek_optionss                            r;   Ú_check_datetime_componentsrº  6
  sŒ  € Ý0ä	�‰˜
Ó	#×	/Ñ	/Øó
ß‰z˜(Ó#§I¡I£Kð ä
�(‰(�2”r—|‘| D¨XÔ6Ó
7€Cà—5‘5×$Ñ$ wÑ.Ø—5‘5×#Ñ#ñ$Ø'/ñ0ß16±°q³ð ô 	�‰�œRŸX™X›ZÓ(Ü
�‰�œRŸX™X›ZÓ(Ü
�‰Ð"¤B§H¡H£JÓ/ðÐñ Œr�~‰~Ó¡¨Ó!1Ò1à—6‘6Ñ6Ó7×>Ñ>¸wÓGˆØ—6‘6Ñ6Ó7×>Ñ>¸wÓGˆØ—&‘&Ñ5Ó6×=Ñ=¸gÓF‰ð —5‘5×$Ñ$Ó& vÑ.×5Ñ5°gÓ>ˆØ—5‘5×$Ñ$Ó& vÑ.×5Ñ5°gÓ>ˆØ—%‘%×#Ñ#Ó% eÑ,×3Ñ3°GÓ<ˆä—>‘>×-Ñ-Ø	�8˜WÐ%Ø"ð .ó $€Lð �5‰5�:‰:×Ñ˜WÓ%€DØ�E‰E�K‰K×Ñ˜wÓ'€EØ
�%‰%�)‰)×
Ñ
˜7Ó
#€CØ—‘—‘×&Ñ& wÓ/€IØ—‘—‘×&Ñ& wÓ/€IØ�e‰e�m‰m×"Ñ" 7Ó+€GØ�5‰5�:‰:×Ñ˜WÓ%€DØ�U‰U�\‰\× Ñ  Ó)€FØ�U‰U�\‰\× Ñ ×'Ñ'¨Ó0€FØ—%‘%×#Ñ#×*Ñ*¨7Ó3€KØ—‘×!Ñ!×(Ñ(¨Ó1€Jä�7‰7�3‹<×ÑœrŸx™x¨›~Ô.Ð.Ð.Ü�?‰?˜3Ó×&Ñ&¤r§x¡x°·±×0BÑ0BÓ'CÔDÐDÐDÜ�8‰8�C‹=×Ñ¤§¡¨£Ô0Ð0Ð0Ü�6‰6�#‹;×ÑœbŸh™h s›mÔ,Ð,Ð,Ü�>‰>˜#Ó×%Ñ%¤b§h¡h¨yÓ&9Ô:Ð:Ð:Ü�>‰>˜#Ó×%Ñ%¤b§h¡h¨yÓ&9Ô:Ð:Ð:Ü�;‰;�sÓ×"Ñ"¤2§8¡8¨HÓ#5Ô6Ð6Ð6Ü�;‰;�sÓ×"Ñ"¤2§8¡8¨HÓ#5Ô6Ð6Ð6Ü�?‰?˜3Ó×&Ñ& |Ô4Ð4Ð4Ü�:‰:�c‹?×!Ñ!¤"§(¡(¨7Ó"3Ô4Ð4Ð4Ü�7‰7�3‹<×ÑœrŸx™x¨›~Ô.Ð.Ð.Ü�9‰9�S‹>× Ñ ¤§¡¨&Ó!1Ô2Ð2Ð2Ü�9‰9�S‹>× Ñ ¤§¡¨&Ó!1Ô2Ð2Ð2Ü�>‰>˜#Ó×%Ñ%¤b§h¡h¨{¸gÑ/EÓ&FÔGÐGÐGÜ�>‰>˜#Ó×%Ñ%¤b§h¡h¨{¸WÑ/DÓ&EÔFÐFÐFÜ�=‰=˜Ó×$Ñ$¤R§X¡X¨jÓ%9Ô:Ð:Ð:Ü�<‰<˜Ó×#Ñ#¤B§H¡H¨ZÓ$8Ô9Ð9Ð9Ü×Ñ˜cÓ"×)Ñ)¬"¯(©(°2·5±5×3DÑ3DÀTÓ3JÓ*KÔLÐLÐLà	‡u�u‡x‚xØ�5‰5�8‰8”x×(Ñ(×,Ñ,Ñ,à�Wœs 2›wÑ&‰Fà—X‘XÑ;Ó<ˆFÜ�y‰y˜‹~×$Ñ$¤R§X¡X¨fÓ%5Ô6Ð6Ð6ä×-Ñ-Ø¨!ô-Ðä�>‰>˜#Ð':Ô;×BÑBÜ
�‰�˜Q‘Óô!ð !ð !ô —>‘>Ø°Ø$)ô+€Lô �7‰7�3 Ô-×4Ñ4´R·X±X¸hÓ5GÔHÐHÑHrE   c                 óÂ   — g d¢}g d¢}t        |«       | j                  j                  j                  d   st	        j
                  d«       y |D ]  }t        ||«       Œ y )N©z1970-01-01T00:00:59.123456789z2000-02-29T23:23:23.999999999z2033-05-18T03:33:20.000000000z2020-01-01T01:05:05.001z2019-12-31T02:10:10.002z2019-12-30T03:15:15.003z2009-12-31T04:20:20.004132z2010-01-01T05:25:25.005321z2010-01-03T06:30:30.006163z2010-01-04T07:35:35.0z2006-01-01T08:40:40.0z2005-12-31T09:45:45.0z2008-12-28T00:00:00.0z2008-12-29T00:00:00.0z2012-01-01T01:02:03.0)rT   úAmerica/ChicagoúAsia/Kolkataú	Etc/GMT-4ú	Etc/GMT+4zAustralia/Broken_HillrŠ   z-Timezone database is not installed on Windows)rº  rÈ   rÉ   rÊ   r4   rë  )rÖ   r´  r  r�  s       r;   Ú test_extract_datetime_componentsrÁ  ‰
  sV   € ò+€JòD€Iô ˜zÔ*ð �>‰>×!Ñ!×,Ñ,¨_Ò=Ü�‰ÐCÕDã!ˆHÜ& z°8Õ<ñ "rE   c                  ó.  — t        j                  dgdd¬«      } | j                  t        j                  dd¬«      «      }t        j
                  |«      d   j                  «       dk(  sJ ‚t        j                  |«      d   j                  «       d	k(  sJ ‚y )
Nz2012-12-12T12:12:12rt  r€   rY  z+05:30rˆ  r   é   rÕ  )r@   r`  rí  r’   ra  r¨  r2  r©  )r  Ú	zoned_arrs     r;   Útest_offset_timezonerÅ  ¨
  s}   € Ü
�+‰+Ð,Ð-Ð6IÐPSÔ
T€CØ—‘œŸ™ c¨hÔ7Ó8€IÜ�7‰7�9Ó˜aÑ ×&Ñ&Ó(¨BÒ.Ð.Ð.Ü�9‰9�YÓ Ñ"×(Ñ(Ó*¨bÒ0Ð0Ñ0rE   r[  rp  c                 ó>  — t        j                  t        j                  dddd«      gdz  t        j                  | «      «      }t	        j
                  |«      }t         j                  j                  dgdz  dgdz  dgdz  gg d	¢¬
«      }|j                  |«      sJ ‚y )Niæ  r$   r%   r(   é2   iå  é4   r_  )rŠ  r‹  rŒ  r	  )	r’   r·   rî  ra  r@   r­  r£  r  r  )r[  r  r†  r  s       r;   Útest_iso_calendar_longer_arrayrÉ  ¯
  s�   € ô �(‰(”H×%Ñ% d¨A¨q°!Ó4Ð5°bÑ8¼"¿,¹,ÀtÓ:LÓ
M€CÜ�_‰_˜SÓ!€FÜ�~‰~×)Ñ)Ø
ˆ�‰�R�D˜‘G˜a˜S ™VÐ$Ú9ð *ó €Hð �=‰=˜Ô"Ð"Ñ"rE   c                  ó	  — t        j                  d«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢«      }t        j                  || ¬«      }t        j                  || ¬«      }dD �])  }t        j                  |«      }t        j                  || ¬«      }|j                  |«      }	t        j                  ||¬«      }
|
j                  t        j                  |	«      «      sJ ‚t        j                  ||«      }
|
j                  t        j                  |	«      «      sJ ‚t        j                  |t        j                  d|«      ¬«      }t        j                  t         j                  d	¬
«      5  t        j                  ||¬«       d d d «       �Œ, t        j                  d«      }t        j                  t        d¬
«      5  t        j                  |¬«       d d d «       d}t        j                  |«      }t        j                  |dd¬«      }t        j                  |dd¬«      }t        j                  t        d|› d�¬
«      5  t        j                  ||¬«       d d d «       t        j                  |j                  |d¬«      «      }	t        j                  ||¬«      }
|	j                  |
«       t        j                  |j                  |d¬«      «      }	t        j                  ||¬«      }
|	j                  |
«       t        j                  |«      }t        j                  |dd¬«      }t        j                  |dd¬«      }t        j                  t        d|› d�¬
«      5  t        j                  ||¬«       d d d «       |j                  |g d¢¬«      }	t        j                  ||¬«      }
|
j                  t        j                  |	«      «       |j                  |g d¢¬«      }	t        j                  ||¬«      }
|
j                  t        j                  |	«      «       y # 1 sw Y   �ŒÎxY w# 1 sw Y   �Œ^xY w# 1 sw Y   �ŒåxY w# 1 sw Y   ŒÑxY w)Nrs  r¼  z2015-03-29 02:30:00z2015-03-29 03:30:00)z2018-10-28 01:20:00z2018-10-28 02:36:00z2018-10-28 03:46:00r/  )rT   r½  r¾  rÛ  zalready have a timezone:r.   zEurope/Brusselsssz9not found in timezone database|unable to locate time_zoneúEurope/Brusselsrl   Úearliest)Ú	ambiguousÚnonexistentÚlatestz%Timestamp doesn't exist in timezone 'Ú'Úshift_forward)rÎ  Úshift_backwardz$Timestamp is ambiguous in timezone ')TTT)rÍ  )FFF)r’   ra  rz  r{  r·   r@   r�   r|  Úassume_timezoner  r4   r5   r[  r-  )Úts_typer´  rÎ  rÍ  Úambiguous_arrayÚnonexistent_arrayr�  r×   Útar  r†  Úta_zonedÚinvalid_optionsÚoptions_nonexistent_raiseÚoptions_nonexistent_earliestÚoptions_nonexistent_latestÚoptions_ambiguous_raiseÚoptions_ambiguous_latestÚoptions_ambiguous_earliests                      r;   Útest_assume_timezonerà  ¼
  sÎ  € ô �l‰l˜4Ó €GÜ—‘ò !:ó ;€Jô —.‘.Ð"7Ø"7ð"9ó :€Kä—‘ò  7ó 8€Iô —h‘h˜y¨wÔ7€OÜŸ™ °7Ô;Ðä>ˆÜ×*Ñ*¨8Ó4ˆÜ�X‰X�j wÔ/ˆØ×)Ñ)¨(Ó3ˆÜ×#Ñ# B°Ô8ˆØ�}‰}œRŸX™X hÓ/Ô0Ð0Ð0Ü×#Ñ# B¨Ó1ˆØ�}‰}œRŸX™X hÓ/Ô0Ð0Ð0ä—8‘8˜J¬R¯\©\¸$ÀÓ-IÔJˆÜ�]‰]œ2Ÿ?™?Ð2LÖMÜ×Ñ˜x°Õ9÷ NÑMð ?ô ×.Ñ.Ð/BÓC€OÜ	�‰”zð:ö
;ô 	×Ñ˜2 Õ7÷
;ð
 !€Hä "× 8Ñ 8¸Ó BÐÜ#%×#;Ñ#;Ø˜G°ô$=Ð ä!#×!9Ñ!9Ø˜G°ô";Ðô 
�‰”zð$Ø$, :¨Qð0ö
1ô 	×ÑÐ,Ø#<õ	>÷
1ô �x‰x˜×/Ñ/Ø˜oð 0ó /ó 0€Hä×ÑØÐ#=ô?€Fà‡O�O�FÔä�x‰x˜×/Ñ/ØÐ.ð 0ó 0ó 1€Hä×ÑØÐ#?ôA€Fà‡O�O�FÔä ×6Ñ6°xÓ@ÐÜ!×7Ñ7Ø˜H°'ô ;Ðä!#×!9Ñ!9Ø˜J°Gô"=Ðô 
�‰”zð*Ø*2¨°1ð6ö
7ô 	×Ñ˜?Ð4KÕL÷
7ð
 ×$Ñ$ XÒ9KÐ$ÓL€HÜ×ÑØÐ!;ô=€Fà
‡M�M”"—(‘(˜8Ó$Ô%à×$Ñ$ XÒ9NÐ$ÓO€HÜ×ÑØÐ!9ô;€Fà
‡M�M”"—(‘(˜8Ó$Õ%÷m NÑMú÷
;ñ 
;ú÷
1ñ 
1ú÷0
7ð 
7ús0   ÆQÇ(QÉ.Q)ÎQ6ÑQ	ÑQ&Ñ)Q3Ñ6Q?c           	      óø  — ddddddddœ}ddddddd	œ}t        j                  | «      }|D �]õ  }t        |«      ||   z   }t        j                  ||«      }t        j
                  ||¬
«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  ||¬
«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  ||¬
«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       |dk7  �r~t        j                  ||d¬«      }| j                  j                  ||   «      }|j                   j"                  €ft        j
                  ||¬
«      j                  «       }	| |z
  j                  j                  |«      |z   }
t        j                  j                  |	|
«       t        j                  ||¬
«      j                  «       }	| |z
  j                  j                  |«      |z   }
t        j                  j                  |	|
«       t        j                  ||¬
«      j                  «       }	| |z
  j                  j                  |«      |z   }
t        j                  j                  |	|
«       |dk(  s�ŒÖt        j
                  ||¬«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  ||¬«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  ||¬«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       �Œø |j                   j"                  €žt        j                  |d¬«      }t        j
                  ||¬
«      }	| j                  j                  «      }
t        j$                  |
| k(  |
t'        j(                  |||   «      z   |
«      }
t        j                  j                  |	|
«       |dk(  �rd}t        j
                  |«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  |«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  |«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       y y )Nrs  rr  rq  r€   rÚ  rþ  r  ©r   rŸ  r®  ru   r©  r¨  r—  )r   rŸ  r®  ru   r©  r¨  rÛ  r—  T)Úcalendar_based_originrŠ  )Úceil_is_strictly_greaterÚ1D)r’   r·   rñ  r@   r²   Úceil_temporalrƒ  rõ  rK  r  r«  Úassert_array_equalÚfloor_temporalrH  Úround_temporalr…  rÌ   r‰  Úwhererz  Ú	Timedelta)r‚  rK   r[  Úunit_shorthandÚgreater_unitr×  ÚvalueÚ	frequencyr×   r†  r  Úorigins               r;   Ú_check_temporal_roundingrñ    s˜  € àØØØØØØñ€Nð ØØØØØñ€Lô 
�‰�"‹€BäˆÜ˜“J °Ñ!5Ñ5ˆ	Ü×)Ñ)¨%°Ó6ˆä×!Ñ! "¨gÔ6×@Ñ@ÓBˆØ—5‘5—:‘:˜iÓ(ˆÜ
�
‰
×%Ñ% f¨hÔ7ä×"Ñ" 2¨wÔ7×AÑAÓCˆØ—5‘5—;‘;˜yÓ)ˆÜ
�
‰
×%Ñ% f¨hÔ7ä×"Ñ" 2¨wÔ7×AÑAÓCˆØ—5‘5—;‘;˜yÓ)ˆÜ
�
‰
×%Ñ% f¨hÔ7ð
 �5‹=Ü×-Ñ-Ø�t°4ô9ˆGà—U‘U—[‘[ ¨dÑ!3Ó4ˆFà�w‰w�z‰zÐ!Ü×)Ñ)¨"°gÔ>×HÑHÓJ�Ø ™K×+Ñ+×0Ñ0°Ó;¸fÑD�Ü—
‘
×-Ñ-¨f°hÔ?ä×&Ñ& r°7Ô;×EÑEÓGˆFØ˜V™×'Ñ'×-Ñ-¨iÓ8¸6ÑAˆHÜ�J‰J×)Ñ)¨&°(Ô;ä×&Ñ& r°7Ô;×EÑEÓGˆFØ˜V™×'Ñ'×-Ñ-¨iÓ8¸6ÑAˆHÜ�J‰J×)Ñ)¨&°(Ô;ð �5Œ=Ü×%Ñ% b°5Ô9×CÑCÓEˆFØ—u‘u—z‘z )Ó,ˆHÜ�J‰J×)Ñ)¨&°(Ô;ä×&Ñ& r°EÔ:×DÑDÓFˆFØ—u‘u—{‘{ 9Ó-ˆHÜ�J‰J×)Ñ)¨&°(Ô;ä×&Ñ& r°EÔ:×DÑDÓFˆFØ—u‘u—{‘{ 9Ó-ˆHÜ�J‰J×)Ñ)¨&°(Ö;ðc ðn 
‡w�w‡z�zÐÜ×)Ñ)Ø�4°$ô8ˆä×!Ñ! "¨gÔ6ˆØ—5‘5—:‘:˜iÓ(ˆä—8‘8Ø˜‰NØ”r—|‘| E¨>¸$Ñ+?Ó@Ñ@Øóˆô 	�
‰
×%Ñ% f¨hÔ7ð ˆuƒ}Øˆ	ä×!Ñ! "Ó%×/Ñ/Ó1ˆØ—5‘5—:‘:˜iÓ(ˆÜ
�
‰
×%Ñ% f¨hÔ7ä×"Ñ" 2Ó&×0Ñ0Ó2ˆØ—5‘5—;‘;˜yÓ)ˆÜ
�
‰
×%Ñ% f¨hÔ7ä×"Ñ" 2Ó&×0Ñ0Ó2ˆØ—5‘5—;‘;˜yÓ)ˆÜ
�
‰
×%Ñ% f¨hÕ7ð rE   râ  c           	      óx  — d}g d¢}t         j                  dk(  r|d d |dd  z   }t        j                  |D �cg c]  }t        j                  |d¬«      ‘Œ c}«      }t        ||| «       g d¢}|D ]C  }|j                  j                  d	«      j                  j                  |«      }t        ||| «       ŒE y c c}w )
N)r$   r%   r#   r&   r   r'   r_  r   r‚  rD  é<   éú   iô  iî  )z1923-07-07 08:52:35.203790336z1931-03-17 10:45:00.641559040z1932-06-16 01:16:42.911994368z1941-05-27 11:46:43.822831872z1943-12-14 07:32:05.424766464z1954-04-12 04:31:50.699881472z1966-02-12 17:41:28.693282560z1967-02-26 05:56:46.922376960z1975-11-01 10:55:37.016146432z1982-01-21 18:43:44.517366784z1992-01-01 00:00:00.100000000z1999-12-04 05:55:34.794991104z2026-10-26 08:39:00.316686848ro  r#   r   rs  r^  )r¾  zAmerica/New_Yorkr¿  rÀ  rË  zPacific/Marquesasr½  rT   rT   )	rw  rx  rz  ÚSeriesÚ	Timestamprñ  rõ  r|  r�  )r[  rK   r´  rw  r‚  r  r�  Úts_zoneds           r;   Útest_round_temporalrø  ‚  s´   € ð
 B€Fò)€Jô& ‡|�|�wÒØ  �^ j°° nÑ4ˆ
ä	�‰¹
ÓC¹
°1”B—L‘L ¨Ö.¸
ÑCÓ	D€BÜ˜R ¨Ô.òS€Ió ˆØ—5‘5×$Ñ$ UÓ+×.Ñ.×9Ñ9¸(ÓCˆÜ  ¨6°4Õ8ñ ùò Ds   ¸B7c                  ó\  — t        j                  g d¢«      } t        j                  | «      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d«      j	                  «       dk(  sJ ‚t        j                  t        d	¬
«      5  t        j                  | d«       d d d «       y # 1 sw Y   y xY w)N©r$   r%   r#   NNr#   Ú
only_valid©rR  Ú	only_nullr%   rí   r   z*"something else" is not a valid count moder.   zsomething else)r’   r·   r@   rS  r2  r4   r5   r-  r*  s    r;   Ú
test_countrþ  ©  sì   € Ü
�(‰(Ò(Ó
)€CÜ�8‰8�C‹=×ÑÓ  AÒ%Ð%Ð%Ü�8‰8�C˜lÔ+×1Ñ1Ó3°qÒ8Ð8Ð8Ü�8‰8�C˜kÔ*×0Ñ0Ó2°aÒ7Ð7Ð7Ü�8‰8�C˜eÔ$×*Ñ*Ó,°Ò1Ð1Ð1Ü�8‰8�C˜Ó×%Ñ%Ó'¨1Ò,Ð,Ð,ä	�‰”zØIö
Kä
�‰�Ð&Ô'÷
K÷ 
Kñ 
Kús   ÄD"Ä"D+c                  ó<  — t        j                  t        j                  g d¢«      «      } t        j                  | d¬«      j                  «       dk(  sJ ‚t        j                  | d¬«      j                  «       dk(  sJ ‚t        j                  | d¬«      j                  «       dk(  sJ ‚t        j                  | j                  d	d«      d¬«      j                  «       d	k(  sJ ‚t        j                  | j                  d	d«      d¬«      j                  «       d	k(  sJ ‚y )
N)
r$   r$   NNNr%   r%   r%   Nr#   rû  rü  r'   rý  r&   rí   r   r#   )r@   Úrun_end_encoder’   r·   rS  r2  Úslicer*  s    r;   Ú test_count_run_end_encoded_nullsr  ¶  sß   € Ü
×
Ñ
Ü
�‰Ò;Ó<ó>€Cô �8‰8�C˜lÔ+×1Ñ1Ó3°qÒ8Ð8Ð8Ü�8‰8�C˜kÔ*×0Ñ0Ó2°aÒ7Ð7Ð7Ü�8‰8�C˜eÔ$×*Ñ*Ó,°Ò2Ð2Ð2ä�8‰8�C—I‘I˜a “O¨,Ô7×=Ñ=Ó?À1ÒDÐDÐDÜ�8‰8�C—I‘I˜a “O¨+Ô6×<Ñ<Ó>À!ÒCÐCÑCrE   c                  óÒ  — t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢«      t        j                  g d¢«      g«      } t        j                  | d¬«      j                  «       dk(  sJ ‚t        j                  | d¬«      j                  «       d	k(  sJ ‚t        j                  | d
¬«      j                  «       dk(  sJ ‚t        j                  | j                  dd«      d¬«      j                  «       d	k(  sJ ‚t        j                  | j                  dd«      d¬«      j                  «       d	k(  sJ ‚y )N©r   r$   r   r   r$   r$   r/  )ç      à?g     ÀX@Nrq  g      V@g     @S@)FNTFTFrû  rü  r&   rý  r%   rí   r'   r$   )	r’   Ú
UnionArrayÚfrom_sparser·   r   r@   rS  r2  r  r*  s    r;   Ú$test_count_sparse_union_sliced_nullsr  Â  s
  € ä
�-‰-×
#Ñ
#Ü
�‰Ò#¬"¯'©'«)Ô4ä�H‰HÒ7Ó8Ü�H‰HÒ<Ó=ð	
ó€Cô �8‰8�C˜lÔ+×1Ñ1Ó3°qÒ8Ð8Ð8Ü�8‰8�C˜kÔ*×0Ñ0Ó2°aÒ7Ð7Ð7Ü�8‰8�C˜eÔ$×*Ñ*Ó,°Ò1Ð1Ð1ä�8‰8�C—I‘I˜a “O¨,Ô7×=Ñ=Ó?À1ÒDÐDÐDÜ�8‰8�C—I‘I˜a “O¨+Ô6×<Ñ<Ó>À!ÒCÐCÑCrE   c            	      ó&  — t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j
                  «       ¬«      t        j                  g d¢«      t        j                  g d¢«      g«      } t        j                  | d¬«      j                  «       dk(  sJ ‚t        j                  | d	¬«      j                  «       d
k(  sJ ‚t        j                  | d¬«      j                  «       dk(  sJ ‚t        j                  | j                  dd«      d¬«      j                  «       d
k(  sJ ‚t        j                  | j                  dd«      d	¬«      j                  «       d
k(  sJ ‚y )Nr  r/  )r   r   r$   r%   r$   r%   )r  Nrq  )NTFrû  rü  r&   rý  r%   rí   r'   r$   )
r’   r  Ú
from_denser·   r   r   r@   rS  r2  r  r*  s    r;   Ú#test_count_dense_union_sliced_nullsr  Õ  s  € ä
�-‰-×
"Ñ
"Ü
�‰Ò#¬"¯'©'«)Ô4Ü
�‰Ò#¬"¯(©(«*Ô5ä�H‰HÒ%Ó&Ü�H‰HÒ(Ó)ð	
ó€Cô �8‰8�C˜lÔ+×1Ñ1Ó3°qÒ8Ð8Ð8Ü�8‰8�C˜kÔ*×0Ñ0Ó2°aÒ7Ð7Ð7Ü�8‰8�C˜eÔ$×*Ñ*Ó,°Ò1Ð1Ð1ä�8‰8�C—I‘I˜a “O¨,Ô7×=Ñ=Ó?À1ÒDÐDÐDÜ�8‰8�C—I‘I˜a “O¨+Ô6×<Ñ<Ó>À!ÒCÐCÑCrE   c                  ó˜  — t        j                  g d¢t        j                  «       ¬«      } t        j                  | t        j
                  d«      «      j                  «       dk(  sJ ‚t        j                  | t        j
                  dt        j                  «       ¬«      «      j                  «       dk(  sJ ‚t        j                  | d«      j                  «       dk(  sJ ‚| j	                  dd¬«      j                  «       dk(  sJ ‚| j	                  d «      j                  «       dk(  sJ ‚t        j                  d	dgd	dggt        j                  «       ¬«      } | j	                  d	«      j                  «       dk(  sJ ‚| j	                  d	d¬«      j                  «       dk(  sJ ‚| j	                  d	d	d¬
«      j                  «       dk(  sJ ‚y )N)r   r$   Nr#   r&   r/  r   r%   r]   r&   r#   ©rV   r$   )rV   Úend)	r’   r·   r   r@   Úindexrœ   r2  r   rJ  r*  s    r;   Ú
test_indexr  é  si  € Ü
�(‰(Ò%¬B¯H©H«JÔ
7€CÜ�8‰8�CœŸ™ 1›Ó&×,Ñ,Ó.°!Ò3Ð3Ð3Ü�8‰8�CœŸ™ 1¬2¯7©7«9Ô5Ó6×<Ñ<Ó>À"ÒDÐDÐDÜ�8‰8�C˜Ó×!Ñ!Ó# qÒ(Ð(Ð(Ø�9‰9�Q˜aˆ9Ó ×&Ñ&Ó(¨AÒ-Ð-Ð-Ø�9‰9�T‹?× Ñ Ó" bÒ(Ð(Ð(ä
×
Ñ
˜Q ˜F Q¨ FÐ+´"·(±(³*Ô
=€CØ�9‰9�Q‹<×ÑÓ 1Ò$Ð$Ð$Ø�9‰9�Q˜aˆ9Ó ×&Ñ&Ó(¨AÒ-Ð-Ð-Ø�9‰9�Q˜a Qˆ9Ó'×-Ñ-Ó/°2Ò5Ð5Ñ5rE   c                 ó|  ‡— |j                  «       }t        |«      t        | «      k(  sJ ‚t        |«      t        t	        t        | «      «      «      k(  sJ ‚t	        |«      D �cg c]
  }| ||      ‘Œ }}t	        |t        | «      «      D �cg c]
  }| ||      ‘Œ }}| ||      Š‰€/|dk(  rt        d„ |D «       «      sJ ‚t        d„ |D «       «      sJ ‚y y |dk(  r-t        ˆfd„|D «       «      sJ ‚t        ˆfd„|D «       «      sJ ‚y t        ˆfd„|D «       «      sJ ‚t        ˆfd„|D «       «      sJ ‚y c c}w c c}w )Nrh   c              3   ó$   K  — | ]  }|d u –— Œ
 y ­wrå   rá   ©rç   r5  s     r;   rê   z&check_partition_nth.<locals>.<genexpr>   ó   è ø€ Ð6©+ Q�q˜D”y©+ùó   ‚c              3   ó$   K  — | ]  }|d u –— Œ
 y ­wrå   rá   r  s     r;   rê   z&check_partition_nth.<locals>.<genexpr>  r  r  c              3   ó4   •K  — | ]  }|d u xs |‰k  –— Œ y ­wrå   rá   ©rç   r5  re  s     €r;   rê   z&check_partition_nth.<locals>.<genexpr>  ó"   øè ø€ Ð@±K¨q�q˜D�yÒ* A¨¡FÓ*±Kùó   ƒc              3   ó(   •K  — | ]	  }|‰k\  –— Œ y ­wrå   rá   r  s     €r;   rê   z&check_partition_nth.<locals>.<genexpr>  ó   øè ø€ Ð3¡{ !�q˜A•v¡{ùó   ƒc              3   ó(   •K  — | ]	  }|‰k  –— Œ y ­wrå   rá   r  s     €r;   rê   z&check_partition_nth.<locals>.<genexpr>  r  r  c              3   ó4   •K  — | ]  }|d u xs |‰k\  –— Œ y ­wrå   rá   r  s     €r;   rê   z&check_partition_nth.<locals>.<genexpr>	  r  r  )r(  r1   ÚsortedÚlistr³  rí   )rc  r‚   Úpivotrj   r  Úuntil_pivotÚafter_pivotre  s          @r;   Úcheck_partition_nthr%  ÷  s<  ø€ Ø×ÑÓ!€GÜˆw‹<œ3˜t›9Ò$Ð$Ð$Ü�'‹?œd¤5¬¨T«Ó#3Ó4Ò4Ð4Ð4Ü-2°5¬\Ó:©\¨�4˜ ™
Ó#¨\€KÐ:Ü-2°5¼#¸d»)Ô-DÓEÑ-D¨�4˜ ™
Ó#Ð-D€KÐEØˆW�U‰^Ñ€AØ€yØ˜ZÒ'ÜÑ6©+Ó6Ô6Ð6Ð6äÑ6©+Ó6Ô6Ð6Ñ6ð 7ð ˜ZÒ'ÜÓ@±KÓ@Ô@Ð@Ð@ÜÓ3¡{Ó3Ô3Ð3Ñ3äÓ3¡{Ó3Ô3Ð3Ð3ÜÓ@±KÓ@Ô@Ð@Ñ@ùò ;ùÚEs   Á#D4ÂD9c                  óf  — t        t        dd«      «      } t        j                  | «       d}t	        j
                  | |¬«      }t        | ||d«       t	        j
                  | |«      |k(  sJ ‚t        j                  t        d¬«      5  t	        j
                  | «       d d d «       y # 1 sw Y   y xY w)Nrw   éŒ   r   )r"  ro   z8'partition_nth_indices' cannot be called without optionsr.   )
r!  r³  rõ  Úshuffler@   Úpartition_nth_indicesr%  r4   r5   r-  )rc  r"  r‚   s      r;   Útest_partition_nthr*    s”   € Ü”�c˜3“Ó €DÜ
‡N�N�4ÔØ€EÜ×&Ñ& t°5Ô9€GÜ˜˜g u¨hÔ7ä×#Ñ# D¨%Ó0°GÒ;Ð;Ð;ä	�‰ÜØLö
Nô 	× Ñ  Ô&÷
N÷ 
Nñ 
Nús   ÂB'Â'B0c                  óÌ   — t        t        d«      «      d gdz  z   } t        j                  | «       dD ]/  }dD ](  }t	        j
                  | ||¬«      }t        | |||«       Œ* Œ1 y )Nr   )r   r_  r]  é   )rh   ro   )r"  rj   )r!  r³  rõ  r(  r@   r)  r%  )rc  r"  rj   r‚   s       r;   Ú!test_partition_nth_null_placementr-    s`   € Ü”�b“	‹?˜d˜V b™[Ñ(€DÜ
‡N�N�4ÔãˆÛ4ˆNÜ×.Ñ.¨t¸5Ø>LôNˆGä  g¨u°nÕEñ 5ñ  rE   c            	      ó~  — 	 	 dd„} t        j                  g d¢«      }dD ]r  }dD ])  }t        j                  ||d|dfg¬«      } | |||d«       Œ+ t        j                  ||¬«      } | ||d	«       t        j
                  ||¬«      } | ||d
«       Œt t        j                  |t        j                  ddg¬«      ¬«      } | ||d	«       t        j                  |t        j                  ddg¬«      ¬«      } | ||d
«       t        j                  |ddg¬«      |k(  sJ ‚t        j                  |ddg«      |k(  sJ ‚y )Nro   c                 óê   — t        j                  |d||fg¬«      }|j                  dt        | «      «      }|r| |k(  sJ ‚y t        j                  ||«      }t        j                  || «      }||k(  sJ ‚y )Nr}   ry   r   ©r@   Úsort_indicesr  r1   r
  )	Úselect_k_indicesr  Úorderrj   Ústable_sortÚsorted_indicesÚhead_k_indicesr  r¾  s	            r;   Úvalidate_select_kz.test_select_k_array.<locals>.validate_select_k'  sw   € äŸ™Ø˜W e¨^Ð<Ð=ô?ˆà'×-Ñ-¨a´Ð5EÓ1FÓGˆÙØ# ~Ò5Ð5Ñ5ä—w‘w˜s NÓ3ˆHÜ—W‘W˜SÐ"2Ó3ˆFØ˜XÒ%Ð%Ñ%rE   ©r$   r%   Nr   ©r   r%   r&   )r~   rn   r}   ©r·  rr   )r·  r~   rn   r%   r|   rÛ  ©r}   rn   ro   ry   )ro   F)r’   r·   r@   Úselect_k_unstableÚtop_k_unstableÚbottom_k_unstablerµ   )r7  r  r·  r3  r†  s        r;   Útest_select_k_arrayr?  &  sa  € ØGOØ&+ó
&ô �(‰(’?Ó
#€CÛˆÛ0ˆEÜ×)Ñ)Ø�q g¨u°hÐ%?Ð$@ôBˆFá˜f c¨5°(Õ;ð 1ô
 ×"Ñ" 3¨!Ô,ˆÙ˜& # |Ô4ä×%Ñ% c¨QÔ/ˆÙ˜& # {Õ3ð ô ×!Ñ!Ø”R×&Ñ&ØÐ=Ð>ô@ô€Fñ �f˜c <Ô0ä×!Ñ!Ø”R×&Ñ&ØÐ<Ð=ô?ô€Fñ �f˜c ;Ô/ô ×Ñ  QØ+KÐ*LôNØQWòXð Xð Xä×Ñ  QÐ)IÐ(JÓKÈvÒUÐUÑUrE   c                  óˆ  — dd„} t        j                  g d¢g d¢dœ«      }dD ]µ  }t        j                  ||dg¬«      } | ||dg¬«       t        j                  ||t        j                  d	«      d
dfdg¬«      } | ||ddg¬«       t        j
                  ||d	gdg¬«      } | ||dg¬«       t        j                  ||d	dgddg¬«      } | ||ddg¬«       Œ· t        j                  t        d¬«      5  t        j                  |«       d d d «       t        j                  t        d¬«      5  t        j                  |ddg¬«       d d d «       t        j                  t        d¬«      5  t        j                  |dg ¬«       d d d «       t        j                  t        d¬«      5  t        j                  |dg¬«       d d d «       t        j                  t        d¬«      5  t        j                  |dg¬«       d d d «       y # 1 sw Y   ŒýxY w# 1 sw Y   ŒÌxY w# 1 sw Y   ŒœxY w# 1 sw Y   ŒkxY w# 1 sw Y   y xY w)Nc                 óâ   — t        j                  ||¬«      }|j                  dt        | «      «      }|r| |k(  sJ ‚y t        j                  ||«      }t        j                  || «      }||k(  sJ ‚y )Nry   r   r0  )r2  Útblrr   r4  r5  r6  r  r¾  s           r;   r7  z.test_select_k_table.<locals>.validate_select_kS  sj   € ÜŸ™¨¸	ÔBˆØ'×-Ñ-¨a´Ð5EÓ1FÓGˆÙØ# ~Ò5Ð5Ñ5ä—w‘w˜s NÓ3ˆHÜ—W‘W˜SÐ"2Ó3ˆFØ˜XÒ%Ð%Ñ%rE   )r$   r%   r   )r$   r   r$   r*   r9  ©r   rn   ro   r:  ry   r   rn   ro   rx   )r·  rr   Únull_placements©r   r~   ro   r   rh   ©r   rn   rh   z4'select_k_unstable' cannot be called without optionsr.   z,select_k_unstable requires a nonnegative `k`r]   z2select_k_unstable requires a non-empty `sort_keys`r%   únot a valid sort order©r   Únonscendingro   ú.Invalid sort key column: No match for.*unknown©Úunknownrn   ro   )F)
r’   r  r@   r<  r_   r=  r>  r4   r5   r-  )r7  r  r·  r†  s       r;   Útest_select_k_tablerM  R  s;  € ó&ô �H‰Hš9ª9Ñ5Ó6€EÛˆÜ×%Ñ%Ø�QÐ#?Ð"@ôBˆá˜& %Ð4PÐ3QÕRä×%Ñ%Ø�Q¤B§H¡H¨S£M°;ÀÐ#IØ#?ð#AôBˆñ 	Ø�EÐ&BØ&Bð&Dõ	Eô ×"Ñ" 5¨AØ#&ð:(Ø:B¸ôEˆá˜& %Ð4QÐ3RÕSä×%Ñ%Ø�Q 3¨ *¸xÈÐ>TôVˆáØ�EÐ&Bð EQð &Rö	Sð% ô, 
�‰ÜØHö
Jô 	×Ñ˜UÔ#÷
Jô
 
�‰”zØKö
Mä
×Ñ˜U bÐ5QÐ4RÕS÷
Mô 
�‰”zð5ö
6ô 	×Ñ˜U a°2Õ6÷
6ô
 
�‰”zÐ)AÖ	BÜ
×Ñ˜U aÐ4RÐ3SÕT÷ 
Cô 
�‰”zØMö
Oä
×Ñ˜U aÐ4VÐ3WÕX÷
Oð 
O÷#
Jð 
Jú÷

Mð 
Mú÷
6ð 
6ú÷
 
CÐ	Bú÷
Oð 
Oús<   Ã6HÄ/HÅ,H Æ(H,Ç%H8ÈHÈHÈ H)È,H5È8Ic                  óŒ  — t        j                  g d¢«      } t        j                  | «      }|j	                  «       g d¢k(  sJ ‚t        j                  | d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dd¬«      }|j	                  «       g d	¢k(  sJ ‚t        j                  | dd¬
«      }|j	                  «       g d	¢k(  sJ ‚t        j                  t        d¬«      5  t        j                  | d¬«       d d d «       y # 1 sw Y   y xY w)Nr8  ©r#   r   r$   r%   rn   )r3  r~   ©r$   r   r#   r%   rh   )r3  rj   ©r%   r$   r   r#   ri   rG  r.   rI  )r’   r·   r@   Úarray_sort_indicesr(  r4   r5   r-  ©r  r†  s     r;   Útest_array_sort_indicesrT  Š  s  € Ü
�(‰(’?Ó
#€CÜ×"Ñ" 3Ó'€FØ×ÑÓ¢Ò-Ð-Ð-Ü×"Ñ" 3¨kÔ:€FØ×ÑÓ¢Ò-Ð-Ð-Ü×"Ñ" 3¨lÔ;€FØ×ÑÓ¢Ò-Ð-Ð-Ü×"Ñ" 3¨lØ2<ô>€Fà×ÑÓ¢Ò-Ð-Ð-Ü×"Ñ" 3¨Ø2<ô>€Fà×ÑÓ¢Ò-Ð-Ð-ä	�‰”zÐ)AÖ	BÜ
×Ñ˜c¨Õ7÷ 
C×	BÑ	Bús   ÄD:Ä:Ec                  ó  — t        j                  g d¢«      } t        j                  | «      }|j	                  «       g d¢k(  sJ ‚t        j                  | dg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dg«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j
                  dg¬«      ¬	«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j
                  dg¬«      ¬	«      }|j	                  «       g d¢k(  sJ ‚y )
Nr8  rO  r;  ry   r|   rP  )r}   r~   rh   rQ  rÛ  )r’   r·   r@   r1  r(  rº   rS  s     r;   Útest_sort_indices_arrayrV  �  sS  € Ü
�(‰(’?Ó
#€CÜ�_‰_˜SÓ!€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜SÐ-MÐ,NÔO€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜SÐ-NÐ,OÔP€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜SÐ-PÐ,QÔR€FØ×ÑÓ¢Ò-Ð-Ð-ä�_‰_˜SÐ#FÐ"GÓH€FØ×ÑÓ¢Ò-Ð-Ð-ä�_‰_Ø”R—^‘^Ð/PÐ.QÔRô€Fð ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_Ø”R—^‘^Ð/RÐ.SÔTô€Fð ×ÑÓ¢Ò-Ð-Ñ-rE   c                  óì  — t        j                  g d¢g d¢dœ«      } t        j                  | dg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j
                  d«      dd	fg¬«      }|j	                  «       g d
¢k(  sJ ‚t        j                  | ddg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddg«      }|j	                  «       g d¢k(  sJ ‚t        j                  t        d¬«      5  t        j                  | «       d d d «       t        j                  t        d¬«      5  t        j                  | dg¬«       d d d «       t        j                  t        d¬«      5  t        j                  | dg¬«       d d d «       y # 1 sw Y   Œ‚xY w# 1 sw Y   ŒRxY w# 1 sw Y   y xY w)N)r$   r$   Nr   )r$   r   r   r$   r*   rC  ry   rO  r   rn   rh   )r%   r#   r   r$   rE  rx   rP  )r   r~   rh   rF  rQ  z"Must specify one or more sort keysr.   rJ  rK  rG  rH  )	r’   r  r@   r1  r(  r_   r4   r5   r-  )r  r†  s     r;   Útest_sort_indices_tablerX  µ  s¶  € Ü�H‰Hš?²Ñ>Ó?€Eä�_‰_˜UÐ/KÐ.LÔM€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_Øœ2Ÿ8™8 C›=¨+°zÐBÐCôE€Fà×ÑÓ¢Ò-Ð-Ð-ä�_‰_ØÐ7Ð9UÐVô€Fð ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_ØÐ9ð <Hð IôJ€Fð ×ÑÓ¢Ò-Ð-Ð-ä�_‰_ØÐ/Ð1OÐPóR€Fà×ÑÓ¢Ò-Ð-Ð-ä	�‰”zÐ)MÖ	NÜ
�‰˜Ô÷ 
Oô 
�‰”zØMö
Oä
�‰˜Ð*LÐ)MÕN÷
Oô 
�‰”zÐ)AÖ	BÜ
�‰˜Ð*HÐ)IÕJ÷ 
CÐ	B÷ 
OÐ	Nú÷
Oð 
Oú÷ 
CÐ	Bús$   Ä;GÅ4GÆ0G*ÇGÇG'Ç*G3c                  óN  — t        j                  g d¢«      } t        j                  | t        j                  g d¢«      ¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  g d¢«      d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      ¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      d¬«      }|j	                  «       g d¢k(  sJ ‚y )
N©r$   r%   Nr$   r%   r#   ©r$   r#   N©Ú	value_set)TFTTFTT©r]  rW   )TFFTFTr$   r#   )r’   r·   r@   Úis_inr(  rS  s     r;   Ú
test_is_inr`  Ö  sá   € Ü
�(‰(Ò(Ó
)€Cä�X‰X�c¤R§X¡XªlÓ%;Ô<€FØ×ÑÓÒ!GÒGÐGÐGä�X‰X�c¤R§X¡XªlÓ%;ÈÔM€FØ×ÑÓÒ!HÒHÐHÐHä�X‰X�c¤R§X¡X¨q°!¨fÓ%5Ô6€FØ×ÑÓÒ!HÒHÐHÐHä�X‰X�c¤R§X¡X¨q°!¨fÓ%5À$ÔG€FØ×ÑÓÒ!HÒHÐHÑHrE   c                  óÖ  — t        j                  g d¢«      } t        j                  | t        j                  g d¢«      ¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  g d¢«      d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      ¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      d¬
«      }|j	                  «       g d¢k(  sJ ‚y )NrZ  r[  r\  )r   Nr%   r   Nr$   Tr^  )r   NNr   Nr$   r$   r#   r[   )r’   r·   r@   Úindex_inr(  rS  s     r;   Útest_index_inrc  æ  s  € Ü
�(‰(Ò(Ó
)€Cä�[‰[˜¬¯©²Ó(>Ô?€FØ×ÑÓÒ!9Ò9Ð9Ð9ä�[‰[˜¬¯©²Ó(>Ø$(ô*€Fà×ÑÓÒ!<Ò<Ð<Ð<ä�[‰[˜¬¯©°!°Q°Ó(8Ô9€FØ×ÑÓÒ!<Ò<Ð<Ð<ä�[‰[˜¬¯©°!°Q°Ó(8ÀTÔJ€FØ×ÑÓÒ!<Ò<Ð<Ð<ô �[‰[˜œbŸh™h¨¨1 vÓ.¸4Ô@€FØ×ÑÓÒ!<Ò<Ð<Ñ<rE   c                  ó@  — t        j                  g d¢«      } t        j                  | «      }|j	                  «       dgk(  sJ ‚t        j                  | d¬«      }|j	                  «       dgk(  sJ ‚t        j                  | d¬«      }|j	                  «       dgk(  sJ ‚t        j                  | d¬«      }|j	                  «       dgk(  sJ ‚t        j                  | d	¬«      }|j	                  «       dgk(  sJ ‚t        j                  | d
¬«      }|j	                  «       dgk(  sJ ‚t        j                  ddg«      } t        j                  | g d¢¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d	¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d
¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d
¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  t        d¬«      5  t        j                  | d¬«       d d d «       t        j                  t        d¬«      5  t        j                  | d¬«       d d d «       y # 1 sw Y   ŒExY w# 1 sw Y   y xY w)Nr.  ç      @Úlower)Úinterpolationr%   Úhigherr#   ÚnearestÚmidpointÚlinearr$   )g      Ð?r  g      è?©Úq)ç      ô?ç      ø?g      ü?)rm  rg  )r$   r$   r$   )r%   r%   r%   )ro  ro  ro  ©r$   r$   r%   z Quantile must be between 0 and 1r.   rÎ  z"not a valid quantile interpolationÚzzz)r’   r·   r@   rò  r(  r4   r5   r-  rS  s     r;   Útest_quantilerr  û  s™  € Ü
�(‰(’<Ó
 €Cä�[‰[˜Ó€FØ×ÑÓ # Ò&Ð&Ð&ä�[‰[˜¨GÔ4€FØ×ÑÓ ! Ò$Ð$Ð$Ü�[‰[˜¨HÔ5€FØ×ÑÓ ! Ò$Ð$Ð$Ü�[‰[˜¨IÔ6€FØ×ÑÓ ! Ò$Ð$Ð$Ü�[‰[˜¨JÔ7€FØ×ÑÓ # Ò&Ð&Ð&Ü�[‰[˜¨HÔ5€FØ×ÑÓ # Ò&Ð&Ð&ä
�(‰(�A�q�6Ó
€Cä�[‰[˜Ò 1Ô2€FØ×ÑÓÒ!2Ò2Ð2Ð2ä�[‰[˜Ò 1ÀÔI€FØ×ÑÓ¢Ò*Ð*Ð*Ü�[‰[˜Ò 1ÀÔJ€FØ×ÑÓ¢Ò*Ð*Ð*Ü�[‰[˜Ò 1ÀÔL€FØ×ÑÓ¢Ò0Ð0Ð0Ü�[‰[˜Ò 1ÀÔK€FØ×ÑÓ¢Ò*Ð*Ð*Ü�[‰[˜Ò 1ÀÔJ€FØ×ÑÓÒ!2Ò2Ð2Ð2ô �[‰[˜Ò/¸xÔH€FØ×ÑÓÒ!2Ò2Ð2Ð2ä	�‰”zÐ)KÖ	LÜ
�‰�C˜3Õ÷ 
Mä	�‰”zÐ)MÖ	NÜ
�‰�C uÕ-÷ 
OÐ	N÷ 
MÐ	Lúç	NÐ	Nús   Ê,LË'LÌLÌLc                  óÎ  — t        j                  g d¢«      } t        j                  | «      }|j	                  «       dgk(  sJ ‚t        j
                  t        j                  ddg«      t        j                  ddg«      g«      } t        j                  | «      }|j	                  «       dgk(  sJ ‚t        j                  g d¢«      } t        j                  | g d¢¬«      }|j	                  «       g d	¢k(  sJ ‚t        j
                  t        j                  ddg«      t        j                  ddg«      g«      } t        j                  | g d¢«      }|j	                  «       g d	¢k(  sJ ‚y )
Nr.  re  r$   r%   r#   r&   )r   r  r$   rl  )r$   re  r&   )r’   r·   r@   Útdigestr(  rJ  rS  s     r;   Útest_tdigestru  &  s  € Ü
�(‰(’<Ó
 €CÜ�Z‰Z˜‹_€FØ×ÑÓ # Ò&Ð&Ð&ä
×
Ñ
œBŸH™H a¨ VÓ,¬b¯h©h¸¸1°vÓ.>Ð?Ó
@€CÜ�Z‰Z˜‹_€FØ×ÑÓ # Ò&Ð&Ð&ä
�(‰(’<Ó
 €CÜ�Z‰Z˜š{Ô+€FØ×ÑÓ¢Ò,Ð,Ð,ä
×
Ñ
œBŸH™H a¨ VÓ,¬b¯h©h¸¸1°vÓ.>Ð?Ó
@€CÜ�Z‰Z˜š[Ó)€FØ×ÑÓ¢Ò,Ð,Ñ,rE   c                  ó  — t        j                  d gt        j                  «       «      j                  d«      } | j	                  t        j
                  «       «      }|t        j                  dgt        j
                  «       «      k(  sJ ‚y )NFr   )r’   r·   rÖ  rÊ  rí  r   rS  s     r;   Útest_fill_null_segfaultrw  8  sZ   € ä
�(‰(�D�6œ2Ÿ8™8›:Ó
&×
0Ñ
0°Ó
7€CØ�X‰X”b—g‘g“iÓ €FØ”R—X‘X˜q˜c¤2§7¡7£9Ó-Ò-Ð-Ñ-rE   c                  óÚ  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | |«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | ||«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | ||«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |d¬«      }|t        j                  g d	¢«      k(  sJ ‚t        j                  | |d¬«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |t        j
                  «       ¬
«      }|t        j                  g d	¢«      k(  sJ ‚t        j                  | |t        j
                  «       ¬
«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |d¬«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |d¬«      }|t        j                  g d¢«      k(  sJ ‚y )Nr¼  )r#   r$   r%   ©r%   r#   N)r#   r%   r#   rp  )r#   r#   r#   Tr[   )r%   r#   r#   rÛ  F)r$   r%   N)r’   r·   r@   Úmax_element_wiserí  r—   )r_  r`  Úarr3r†  s       r;   Útest_min_max_element_wiser|  ?  sò  € Ü�8‰8’IÓ€DÜ�8‰8’IÓ€DÜ�8‰8’LÓ!€Dä× Ñ   tÓ,€FØ”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ   tÓ,€FØ”R—X‘XšiÓ(Ò(Ð(Ð(ä× Ñ   t¨TÓ2€FØ”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ   t¨TÓ2€FØ”R—X‘XšiÓ(Ò(Ð(Ð(ô × Ñ   t¸Ô=€FØ”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ   t¸Ô=€FØ”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ ØˆdœB×:Ñ:Ó<ô>€Fà”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ ØˆdœB×:Ñ:Ó<ô>€Fà”R—X‘XšiÓ(Ò(Ð(Ð(ô × Ñ   t¸Ô>€FØ”R—X‘XšlÓ+Ò+Ð+Ð+Ü× Ñ   t¸Ô>€FØ”R—X‘XšlÓ+Ò+Ð+Ñ+rE   rV   )rn  rÑ  g      %ÀrW   )TFc                 óN  — t        | «      }d |t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      g}|D �]  }t        j
                  g d¢«      t        j
                  g d¢«      t        j                  dd gddgg«      g}t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d	¢«      |rt        j                  g d¢g«      nt        j                  g d	¢g«      g}t        |«      D ]M  \  }}t        j                  |||¬
«      }	t        j                  ||   |�|nd«      }
|	j                  |
«      rŒMJ ‚ �Œ! d | t        j                  | t        j                  «       ¬«      t        j                  | t        j                  «       ¬«      g}|D �]Ú  }t        j
                  g d¢«      t        j
                  dt        j                  ddddg«      t        j
                  dt        j                  d dd dg«      g}t        j
                  g d¢«      t        j
                  dt        j                  t        j                  t        j                  t        j                  t        j                  g«      |rEt        j
                  dt        j                  d t        j                  d t        j                  g«      n(t        j
                  dt        j                  d d d d g«      g}t        |«      D ]z  \  }}t        j                  |||¬
«      }	t        j                  ||   |�|nd«      }
t        j                   j#                  |	j%                  d¬«      |
j%                  d¬«      «       Œ| �ŒÝ dt        j                  d«      dfD ]G  }t'        j(                  t        j*                  «      5  t        j                  g d¢|¬«       d d d «       ŒI y # 1 sw Y   ŒTxY w)Nr/  r¼  )r   Nr¶  r·  r   r¶  r·  )r$   r#   r'   )r   Nr¶  rÇ  )r   NNNrU   )ç      ò?g      @g     @@r$   r%   r®  r&   r   r#   )r~  g      @g      @F©Úzero_copy_onlyr   ÚarrowrÎ  r  )r  r’   rœ   r   r   r·   rJ  rÿ  r@   Úcumulative_sumrß   r  r÷  rø  r  r…  r«  Úassert_array_almost_equalÚto_numpyr4   r5   r[  ©rV   rW   Ú	start_intÚstartsÚstrtÚarraysÚexpected_arraysr  r  r†  r  s              r;   Útest_cumulative_sumr‹  a  s  € ô
 �E“
€IØ�IœrŸy™y¨¼¿¹»ÔCÜ�i‰i˜	¬¯©«
Ô3ð5€Fäˆä�H‰H’YÓÜ�H‰HÒ&Ó'Ü×Ñ˜q $˜i¨"¨b¨Ð2Ó3ð
ˆô �H‰H’YÓáô �H‰HÒ&Ô'Ü!Ÿx™xÒ(=Ó>áô ×ÑÒ/Ð0Ô1Ü!×/Ñ/Ò1FÐ0GÓHð
ˆô   Ö'‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä—v‘v˜o¨aÑ0¸$Ð:J±$Ø#$ó&ˆHà—=‘= Õ*Ð*Ð*ò (ð ð( �Eœ2Ÿ9™9 U´·±³Ô>Ü�i‰i˜¤B§J¡J£LÔ1ð3€Fäˆä�H‰HÒ+Ó,Ü�H‰H�aœŸ™  B¨¨1Ð-Ó.Ü�H‰H�aœŸ™  q¨$°Ð2Ó3ð
ˆô �H‰HÒ,Ó-Ü�H‰H�aœŸ™¤§¡¬¯©´·±¼¿¹Ð@ÓAáô �H‰H�aœŸ™ ¤r§v¡v¨t´R·V±VÐ<Ô=Ü!Ÿx™x¨¬B¯F©F°D¸$ÀÀdÐ(KÓLð	
ˆô   Ö'‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä—v‘v˜o¨aÑ0¸$Ð:J±$Ø#$ó&ˆHä�J‰J×0Ñ0°·±Ø$ð 2Aó 2&Ø'/×'8Ñ'8ÈÐ'8Ó'NõPò (ð ð( ”b—i‘i Ó(¨#Ó.ˆÜ�]‰]œ2Ÿ?™?Õ+Ü×Ñši¨tÕ4÷ ,Ð+ñ /ß+Ð+úó   Ï6PÐP$	c                 óN  — t        | «      }d |t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      g}|D �]  }t        j
                  g d¢«      t        j
                  g d¢«      t        j                  dd gddgg«      g}t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d	¢«      |rt        j                  g d¢g«      nt        j                  g d	¢g«      g}t        |«      D ]M  \  }}t        j                  |||¬
«      }	t        j                  ||   |�|nd«      }
|	j                  |
«      rŒMJ ‚ �Œ! d | t        j                  | t        j                  «       ¬«      t        j                  | t        j                  «       ¬«      g}|D �]Ú  }t        j
                  g d¢«      t        j
                  dt        j                  ddddg«      t        j
                  dt        j                  d dd dg«      g}t        j
                  g d¢«      t        j
                  dt        j                  t        j                  t        j                  t        j                  t        j                  g«      |rEt        j
                  dt        j                  d t        j                  d t        j                  g«      n(t        j
                  dt        j                  d d d d g«      g}t        |«      D ]z  \  }}t        j                  |||¬
«      }	t        j                  ||   |�|nd«      }
t        j                   j#                  |	j%                  d¬«      |
j%                  d¬«      «       Œ| �ŒÝ dt        j                  d«      dfD ]G  }t'        j(                  t        j*                  «      5  t        j                  g d¢|¬«       d d d «       ŒI y # 1 sw Y   ŒTxY w)Nr/  r¼  )r$   Nr¶  r   r$   r¶  r   )r$   r%   r'   )r$   Nr¶  rw   )r$   NNNrU   )ro  re  rŒ  r%   r®  r&   r#   )ro  g      @g     @*@Fr  r   r�  rÎ  r  )r  r’   rœ   r   r   r·   rJ  rÿ  r@   Úcumulative_prodrƒ  r  r÷  rø  r  r…  r«  rƒ  r„  r4   r5   r[  r…  s              r;   Útest_cumulative_prodr�  ˜  s  € ô
 �E“
€IØ�IœrŸy™y¨¼¿¹»ÔCÜ�i‰i˜	¬¯©«
Ô3ð5€Fäˆä�H‰H’YÓÜ�H‰HÒ%Ó&Ü×Ñ˜q $˜i¨"¨a¨Ð1Ó2ð
ˆô �H‰H’YÓáô �H‰HÒ'Ô(Ü!Ÿx™xÒ(=Ó>áô ×ÑÒ0Ð1Ô2Ü!×/Ñ/Ò1FÐ0GÓHð
ˆô   Ö'‰FˆAˆsÜ×'Ñ'¨°4ÀJÔOˆFä—{‘{ ?°1Ñ#5¸tÐ?O±tØ()ó+ˆHà—=‘= Õ*Ð*Ð*ò (ð ð( �Eœ2Ÿ9™9 U´·±³Ô>Ü�i‰i˜¤B§J¡J£LÔ1ð3€Fäˆä�H‰H’_Ó%Ü�H‰H�aœŸ™  B¨¨1Ð-Ó.Ü�H‰H�aœŸ™  q¨$°Ð2Ó3ð
ˆô �H‰HÒ(Ó)Ü�H‰H�aœŸ™¤§¡¬¯©´·±¼¿¹Ð@ÓAáô �H‰H�aœŸ™ ¤r§v¡v¨t´R·V±VÐ<Ô=Ü!Ÿx™x¨¬B¯F©F°D¸$ÀÀdÐ(KÓLð	
ˆô   Ö'‰FˆAˆsÜ×'Ñ'¨°4ÀJÔOˆFä—{‘{ ?°1Ñ#5¸tÐ?O±tØ()ó+ˆHä�J‰J×0Ñ0°·±Ø$ð 2Aó 2&Ø'/×'8Ñ'8ÈÐ'8Ó'NõPò (ð ð( ”b—i‘i Ó(¨#Ó.ˆÜ�]‰]œ2Ÿ?™?Õ+Ü×Ñšy°Õ5÷ ,Ð+ñ /ß+Ð+úrŒ  )r  rŒ  g      @c                 óT  — t        | «      }d |t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      g}|D �])  }t        j
                  g d¢«      t        j
                  g d¢«      t        j                  g d¢g d¢g«      g}t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d¢«      |rt        j                  g d¢g«      nt        j                  g d¢g«      g}t        |«      D ]X  \  }}t        j                  |||¬	«      }	t        j                  ||   |�|n
t        d
«      d¬«      }
|	j                  |
«      rŒXJ ‚ �Œ, d | t        j                  | t        j                  «       ¬«      t        j                  | t        j                  «       ¬«      g}|D �]R  }t        j
                  g d¢«      t        j
                  dddt        j                  ddg«      t        j
                  ddd t        j                  dd g«      g}t        j
                  g d¢«      t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d¢«      g}t        |«      D ]|  \  }}t        j                  |||¬	«      }	t        j                  ||   |�|nd
d¬«      }
t        j                   j#                  |	j%                  d¬«      |
j%                  d¬«      «       Œ~ �ŒU dt        j                  d«      dfD ]G  }t'        j(                  t        j*                  «      5  t        j                  g d¢|¬«       d d d «       ŒI y # 1 sw Y   ŒTxY w)Nr/  )r%   r$   r#   r   r&   r'   )r%   r$   Nr   r&   N)r%   r$   N)r   r&   N)r%   r%   r#   r   r   r'   )r%   r%   Nr   r   N)r%   r%   NNNNrU   g    eÍÍÁFr[   )re  çÍÌÌÌÌÌô?r�  çffffff@çš™™™™™@çÍÌÌÌÌÌ@re  r‘  r�  r“  r”  )re  re  r�  r’  r’  r”  )re  re  r�  r�  r“  r”  )re  re  Nre  r“  N)re  re  NNNNr  r   r�  rÎ  r¼  r  )r  r’   rœ   r   r   r·   rJ  rÿ  r@   Úcumulative_maxrz  r  r÷  rø  r  r…  r«  rƒ  r„  r4   r5   r[  r…  s              r;   Útest_cumulative_maxr–  Ï  sâ  € ô
 �E“
€IØ�IœrŸy™y¨¼¿¹»ÔCÜ�i‰i˜	¬¯©«
Ô3ð5€Fäˆä�H‰HÒ'Ó(Ü�H‰HÒ-Ó.Ü×ÑšlªLÐ9Ó:ð
ˆô �H‰HÒ'Ó(áô �H‰HÒ-Ô.Ü!Ÿx™xÒ(FÓGáô ×ÑÒ6Ð7Ô8ä×ÑÒ<Ð=Ó>ð
ˆô   Ö'‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä×*Ñ*Ø Ñ"¨DÐ,<¡DÄ#ÀdÃ)Ø ô"ˆHð —=‘= Õ*Ð*Ð*ò (ð ð, �Eœ2Ÿ9™9 U´·±³Ô>Ü�i‰i˜¤B§J¡J£LÔ1ð3€Fäˆä�H‰HÒ3Ó4Ü�H‰H�c˜3 ¤R§V¡V¨S°#Ð6Ó7Ü�H‰H�c˜3 ¤b§f¡f¨c°4Ð8Ó9ð
ˆô �H‰HÒ3Ó4Ü�H‰HÒ3Ó4áô �H‰HÒ5Ô6Ü!Ÿx™xÒ(JÓKð	
ˆô   Ö'‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä×*Ñ*Ø Ñ"¨DÐ,<¡DÀ$Ø ô"ˆHô �J‰J×0Ñ0°·±Ø$ð 2Aó 2&Ø'/×'8Ñ'8ÈÐ'8Ó'NõPò (ð ð* ”b—i‘i Ó(¨#Ó.ˆÜ�]‰]œ2Ÿ?™?Õ+Ü×Ñši¨tÕ4÷ ,Ð+ñ /ß+Ð+úó   Í9NÎN'	c                 óT  — t        | «      }d |t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      g}|D �])  }t        j
                  g d¢«      t        j
                  g d¢«      t        j                  g d¢g d¢g«      g}t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d¢«      |rt        j                  g d¢g«      nt        j                  g d¢g«      g}t        |«      D ]X  \  }}t        j                  |||¬	«      }	t        j                  ||   |�|n
t        d
«      d¬«      }
|	j                  |
«      rŒXJ ‚ �Œ, d | t        j                  | t        j                  «       ¬«      t        j                  | t        j                  «       ¬«      g}|D �]R  }t        j
                  g d¢«      t        j
                  dddt        j                  ddg«      t        j
                  ddd t        j                  dd g«      g}t        j
                  g d¢«      t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d¢«      g}t        |«      D ]|  \  }}t        j                  |||¬	«      }	t        j                  ||   |�|nd
d¬«      }
t        j                   j#                  |	j%                  d¬«      |
j%                  d¬«      «       Œ~ �ŒU dt        j                  d«      dfD ]G  }t'        j(                  t        j*                  «      5  t        j,                  g d¢|¬«       d d d «       ŒI y # 1 sw Y   ŒTxY w)Nr/  )r   r'   r&   r%   r#   r$   )r   r'   Nr%   r#   N)r   r'   Nry  )r   r   r&   r%   r%   r$   )r   r   Nr%   r%   N)r   r   NNNNrU   g    eÍÍAFr[   )ç      @ç333333@çÍÌÌÌÌÌ@çÍÌÌÌÌÌ @ç333333@ç333333ó?r™  rš  r›  r�  rž  )r™  r™  r›  rœ  rœ  rž  )r™  r™  r›  r›  r�  rž  )r™  r™  Nr™  r�  N)r™  r™  NNNNr  r   r�  rÎ  r¼  r  )r  r’   rœ   r   r   r·   rJ  rÿ  r@   Úcumulative_minrí  r  r÷  rø  r  r…  r«  rƒ  r„  r4   r5   r[  r•  r…  s              r;   Útest_cumulative_minr   	  sâ  € ô
 �E“
€IØ�IœrŸy™y¨¼¿¹»ÔCÜ�i‰i˜	¬¯©«
Ô3ð5€Fäˆä�H‰HÒ'Ó(Ü�H‰HÒ-Ó.Ü×ÑšlªLÐ9Ó:ð
ˆô �H‰HÒ'Ó(áô �H‰HÒ-Ô.Ü!Ÿx™xÒ(FÓGáô ×ÑÒ6Ð7Ô8ä×ÑÒ<Ð=Ó>ð
ˆô   Ö'‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä×*Ñ*Ø Ñ"¨DÐ,<¡DÄ#ÀcÃ(Ø ô"ˆHð —=‘= Õ*Ð*Ð*ò (ð ð, �Eœ2Ÿ9™9 U´·±³Ô>Ü�i‰i˜¤B§J¡J£LÔ1ð3€Fäˆä�H‰HÒ3Ó4Ü�H‰H�c˜3 ¤R§V¡V¨S°#Ð6Ó7Ü�H‰H�c˜3 ¤b§f¡f¨c°4Ð8Ó9ð
ˆô �H‰HÒ3Ó4Ü�H‰HÒ3Ó4áô �H‰HÒ5Ô6Ü!Ÿx™xÒ(JÓKð	
ˆô   Ö'‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä×*Ñ*Ø Ñ"¨DÐ,<¡DÀ#Ø ô"ˆHô �J‰J×0Ñ0°·±Ø$ð 2Aó 2&Ø'/×'8Ñ'8ÈÐ'8Ó'NõPò (ð ð* ”b—i‘i Ó(¨#Ó.ˆÜ�]‰]œ2Ÿ?™?Õ+Ü×Ñši¨tÕ4÷ ,Ð+ñ /ß+Ð+úr—  c                  óÌ  — t        j                  dd«      j                  «       dddœk(  sJ ‚t        j                  ddddg¬«      j                  «       dddœk(  sJ ‚t        j                  g d¢d	j                  «       «      t        j
                  j                  g d¢d	j                  «       gd
j                  «       ¬«      k(  sJ ‚t        j                  t        d¬«      5  t        j                  g d¢d	j                  «       «       d d d «       t        j                  t        d¬«      5  t        j                  ddg¬«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)Nr$   r   )r‰   ra   r  r€   )Úfield_names)r  r€   r¼  za b cz0 1r	  rÇ  r.   r.  z0 arguments but 2 field namesÚoneÚtwo)
r@   Úmake_structr2  Úsplitr’   r£  r  r4   r5   r-  rá   rE   r;   Útest_make_structr§  C  s.  € Ü�>‰>˜!˜SÓ!×'Ñ'Ó)°1¸3Ñ-?Ò?Ð?Ð?ä�>‰>˜!˜S¨s°C¨jÔ9×?Ñ?ÓAØ�SñFò ð ð ô �>‰>š)Ø!Ÿ-™-›/ó+Ü.0¯n©n×.HÑ.HÚ'Ø%Ÿm™m›oðJ/à6;·k±k³mð /Ió /EòEð Eð Eô
 
�‰”zØJö
Lä
�‰’| W§]¡]£_Ô5÷
Lô 
�‰”zÐ)HÖ	IÜ
�‰ E¨5 >Õ2÷ 
JÐ	I÷	
Lð 
Lú÷ 
JÐ	Iús   Ã"'EÄ,EÅEÅE#c                  ó¸  — t        j                  t        j                  «       t        j                  «       «      } t        j                  ddgdgg ddgd g| ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  d	gd d d
dgd gt        j
                  t        j                  «       «      ¬«      }t        j                  |dd«      |k(  sJ ‚t        j                  |t        j                  dt        j                  «       ¬«      d«      |k(  sJ ‚t        j                  |t        j                  dt        j                  «       ¬«      d«      |k(  sJ ‚t        j                  |t        j                  dt        j                  «       ¬«      d«      |k(  sJ ‚y )N)r£  r$   )r¤  r%   )Únoner#   )r£  r   )r£  r_  r/  )r$   NNr   N)r$   NNr_  Nr$   r   r_  r£  re   Úlastrí   )	r’   Úmap_rX  r   r·   rå  r@   Ú
map_lookuprœ   )r„  r  Úresult_firstÚresult_lastÚ
result_alls        r;   Útest_map_lookupr°  V  su  € Ü	�‰”—‘“œBŸH™H›JÓ	'€BÜ
�(‰(�Z Ð,¨{¨mØ˜ ZÐ0°$ð8Ø>@ôB€Cä—8‘8Ò4¼2¿8¹8»:ÔF€LÜ—(‘(Ò3¼"¿(¹(»*ÔE€KÜ—‘˜A˜3  d¨Q°¨F°DÐ9Ü!Ÿx™x¬¯©«
Ó3ô5€Jô �=‰=˜˜e WÓ-°Ò=Ð=Ð=Ü�=‰=˜œbŸi™iØ”B—G‘G“IôØ 'ó)Ø,8ò9ð 9ð 9ä�=‰=˜œbŸi™iØ”B—G‘G“IôØ &ó(Ø+6ò7ð 7ð 7ä�=‰=˜œbŸi™iØ”B—G‘G“IôØ %ó'Ø*4ò5ð 5ñ 5rE   c                  óè  — t        j                  g d¢t        j                  «       ¬«      } t        j                  g d¢«      }t         j                  j	                  | |gddg«      }t         j                  j	                  | |gddg«      }t        j                  |d«      |k(  sJ ‚t        j                  |d«      |k(  sJ ‚t        j                  |ddg«      |k(  sJ ‚t        j                  |d	dg«      |k(  sJ ‚t        j                  |d
«      |k(  sJ ‚t        j                  |t        j                  d«      «      |k(  sJ ‚t        j                  |d«      | k(  sJ ‚t        j                  |dg«      | k(  sJ ‚t        j                  |d«      | k(  sJ ‚t        j                  |t        j                  d«      «      | k(  sJ ‚t        j                  |d	d	g¬«      |k(  sJ ‚t        j                  |d«      |k(  sJ ‚t        j                  |dg«      | k(  sJ ‚t        j                  |g «      |k(  sJ ‚t        j                  t         j                  d¬«      5  t        j                  |d«       d d d «       t        j                  t         j                  d¬«      5  t        j                  |d«       d d d «       t        j                  t         j                  d¬«      5  t        j                  |d«       d d d «       t        j                  t         j                  d¬«      5  t        j                  |«       d d d «       y # 1 sw Y   ŒÕxY w# 1 sw Y   Œ�xY w# 1 sw Y   ŒexY w# 1 sw Y   y xY w)NrÕ  r/  )r  Nr¬  r   r   r�  z.c.bs   .c.br$   )r"   r   )r�  r   z.a)r   r�   )r$   r$   r   zNo match for FieldRefr.   r  z.c.fooz.a.fooz cannot be called without options)r’   r·   r   r£  r  r@   Ústruct_fieldr_   r4   r5   r[  )r   r   r�  r  s       r;   Útest_struct_fields_optionsr³  h  s®  € Ü
�‰’¤§¡£Ô,€AÜ
�‰Ò"Ó#€AÜ
�‰×"Ñ" A q 6¨C°¨:Ó6€AÜ
�.‰.×
$Ñ
$ a¨ V¨c°3¨ZÓ
8€Cä�?‰?˜3 Ó'¨1Ò,Ð,Ð,Ü�?‰?˜3 Ó(¨AÒ-Ð-Ð-Ü�?‰?˜3  c 
Ó+¨qÒ0Ð0Ð0Ü�?‰?˜3  C Ó)¨QÒ.Ð.Ð.Ü�?‰?˜3 Ó,°Ò1Ð1Ð1Ü�?‰?˜3¤§¡¨Ó 4Ó5¸Ò:Ð:Ð:ä�?‰?˜3 Ó%¨Ò*Ð*Ð*Ü�?‰?˜3  Ó&¨!Ò+Ð+Ð+Ü�?‰?˜3 Ó$¨Ò)Ð)Ð)Ü�?‰?˜3¤§¡¨Ó 0Ó1°QÒ6Ð6Ð6ä�?‰?˜3¨¨A¨Ô/°1Ò4Ð4Ð4Ü�?‰?˜3 Ó'¨1Ò,Ð,Ð,Ü�?‰?˜3  Ó$¨Ò)Ð)Ð)Ü�?‰?˜3 Ó# sÒ*Ð*Ð*ä	�‰”r—‘Ð.EÖ	FÜ
�‰˜˜UÔ#÷ 
Gô 
�‰”r—‘Ð.EÖ	FÜ
�‰˜˜XÔ&÷ 
Gô 
�‰”r—‘Ð.EÖ	FÜ
�‰˜˜XÔ&÷ 
Gô 
�‰”r—‘Ð.PÖ	QÜ
�‰˜Ô÷ 
RÐ	Q÷ 
GÐ	Fú÷ 
GÐ	Fú÷ 
GÐ	Fú÷ 
RÐ	Qús0   ÉMÊMË!MÌ%M(ÍMÍMÍM%Í(M1c                  óž   — t        j                  t        j                  g d¢g d¢«      g d¢g d¢«      t        j                  g d¢«      k(  sJ ‚y )Nr'  )FTNr¼  )é   r\  r]  )r$   r\  N)r@   Ú	case_whenr¥  r’   r·   rá   rE   r;   Útest_case_whenr·  �  sE   € Ü�<‰<œŸ™Ò':Ú':ó<â!Ú$ó&ô *,¯©²-Ó)@òAð Añ ArE   c                  ób  — t        j                  dt        j                  «       fdt        j                  «       fg«      } t        j                  | «      }dddœd dddœd dd	dœg}d d
ddœdddœd dddœg}t        j
                  ||g|«      }d}t         j                  j                  ||«      }t        j
                  d d
ddœg| «      }|j                  |«      sJ ‚d}t         j                  j                  ||«      }t        j
                  dd	dœdddœg| «      }|j                  |«      sJ ‚y )Nr   r   r   r%   r*   r   r&   gffffff@r'   g¤p=
×£à?r#   çffffffæ?g333333ã?ró   r$   )	r’   r¤  rø  r   rå  r·   r×  Úlist_elementr  )Úelement_typeÚ	list_typeÚl1Úl2Úlistsr  r†  r  s           r;   Útest_list_elementrÀ  ”  s  € Ü—9‘9˜s¤B§J¡J£LÐ1°C¼¿¹»Ð3CÐDÓE€LÜ—‘˜Ó&€IØ˜Ñ
˜T¨°!Ñ#4°dÀ#ÈAÑ<NÐ	O€BØ
�c Ñ"¨"°1Ñ$5°tÀ2ÈAÑ=NÐ	O€BÜ�H‰H�b˜"�X˜yÓ)€Eà€EÜ�Z‰Z×$Ñ$ U¨EÓ2€FÜ�x‰x˜ T°Ñ2Ð3°\ÓB€HØ�=‰=˜Ô"Ð"Ð"à€EÜ�Z‰Z×$Ñ$ U¨EÓ2€FÜ�x‰x˜s¨Ñ+°2¸AÑ->Ð?ÀÓN€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  óR  — t        dd«      D � cg c]  } t        j                  | dd¬«      ‘Œ }} t        j                  |t        j                  d«      «      }t        j                  |«      t        j                  t        |«      t        j                  «       ¬«      k(  sJ ‚y c c} w )NiÈ  i,  r$   )r•  r¤  r—  rs  r/  )
r³  rî  r’   r·   ra  r@   Úcount_distinctrœ   r1   r   )rË  Úsamplesr  s      r;   Útest_count_distinctrÄ  ¦  s{   € ÜBGÈÈdÔBSÓTÑBS¸QŒx× Ñ  a¨q°aÖ8ÐBS€GÐTÜ
�(‰(�7œBŸL™L¨Ó.Ó
/€CÜ×Ñ˜SÓ!¤R§Y¡Y¬s°7«|Ä"Ç(Á(Ã*Ô%MÒMÐMÑMùò Us   �B$c                  óÐ  — t        j                  g d¢«      } t        j                  | «      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d«      j	                  «       dk(  sJ ‚y )	Nrú  r#   rû  rü  rý  r$   rí   r&   )r’   r·   r@   rÂ  r2  r*  s    r;   Útest_count_distinct_optionsrÆ  ¬  sÃ   € Ü
�(‰(Ò(Ó
)€CÜ×Ñ˜SÓ!×'Ñ'Ó)¨QÒ.Ð.Ð.Ü×Ñ˜S |Ô4×:Ñ:Ó<ÀÒAÐAÐAÜ×Ñ˜S {Ô3×9Ñ9Ó;¸qÒ@Ð@Ð@Ü×Ñ˜S uÔ-×3Ñ3Ó5¸Ò:Ð:Ð:Ü×Ñ˜S %Ó(×.Ñ.Ó0°AÒ5Ð5Ñ5rE   c                  óê  — t        j                  dg«      } t        j                  | d¬«      | k(  sJ ‚t        j                  | d¬«      t        j                  dg«      k(  sJ ‚t        j                  | d«      | k(  sJ ‚t        j                  | d«      t        j                  dg«      k(  sJ ‚t	        j
                  t        d¬	«      5  t        j                  | d
¬«       d d d «       y # 1 sw Y   y xY w)Nu   01Â²3ÚNFC)Úformr„   Ú0123ÚNFDÚNFKDz/"NFZ" is not a valid Unicode normalization formr.   ÚNFZ)r’   r·   r@   Úutf8_normalizer4   r5   r-  r*  s    r;   Útest_utf8_normalizerÏ  µ  sÌ   € Ü
�(‰(�G�9Ó
€CÜ×Ñ˜S uÔ-°Ò4Ð4Ð4Ü×Ñ˜S vÔ.´"·(±(¸F¸8Ó2DÒDÐDÐDÜ×Ñ˜S %Ó(¨CÒ/Ð/Ð/Ü×Ñ˜S &Ó)¬R¯X©X°v°hÓ-?Ò?Ð?Ð?Ü	�‰ÜØCö
Eô 	×Ñ˜# EÕ*÷
E÷ 
Eñ 
Eús   ÃC)Ã)C2c            
      óä  — dD ]E  } t        j                  d| ¬«      t        j                  g t        j                  «       ¬«      k(  rŒEJ ‚ t        d«      D �cg c].  }t        t        j                  d«      j                  «       «      ‘Œ0 }}t        t        |«      «      t        |«      k(  sJ ‚t        dd«      D �cg c]3  }t        t        j                  d|dz  ¬«      j                  «       «      ‘Œ5 }}t        t        |«      «      dk(  sJ ‚t        «       dd	g}|j                  d
„ t        d«      D «       «       |D �cg c]0  }t        t        j                  d|¬«      j                  «       «      ‘Œ2 }}t        t        |«      «      t        |«      k(  sJ ‚t        j                  t        d¬«      5  t        j                  dg ¬«       d d d «       y c c}w c c}w c c}w # 1 sw Y   y xY w)N)ÚsystemrÕ  iÖÿÿÿs   abcdefr   )Úinitializerr/  r   rw   r_  rÕ  r  c              3   óF   K  — | ]  }t        j                  d «      –— Œ y­w)r   N)ÚosÚurandom)rç   r  s     r;   rê   ztest_random.<locals>.<genexpr>Ñ  s   è ø€ Ð:±	¨1œŸ
™
 2Ÿ±	ùs   ‚!zJinitializer should be 'system', an integer, or a hashable object; got \[\]r.   )r@   rõ  r’   r·   rø  r³  Útupler(  r1   rü  r3   ry  r4   r5   r6   )rÒ  r  r‰  Úinitializerss       r;   Útest_randomrØ  Á  s­  € ã5ˆÜ�y‰y˜¨Ô4Ü�H‰H�RœbŸj™j›lÔ+ó,ð 	,ð ,ð 6ô
 :?¸r¼ÓC¹°AŒe”B—I‘I˜c“N×,Ñ,Ó.Õ/¸€FÐCÜŒs�6‹{Óœs 6›{Ò*Ð*Ð*ô ˜Q ”}ó&Ù$�!ô ”B—I‘I˜c¨q°1©uÔ5×?Ñ?ÓAÕBØ$ð ð &äŒs�6‹{Ó˜qÒ Ð Ð ô “H˜i¨Ð/€LØ×ÑÑ:´°b´	Ó:Ô:á#ó%Ù#�!ô ”B—I‘I˜c¨qÔ1×;Ñ;Ó=Õ>Ø#ð ð %äŒs�6‹{Óœs 6›{Ò*Ð*Ð*ä	�‰”yð?ö
@ô 	�	‰	�# 2Õ&÷
@ð 
@ùò Dùò&ùò%÷
@ð 
@ús   Á3GÂ=8GÅ5G!Æ6G&Ç&G/ztiebreaker,expected_valuesrÚ  )r#   r$   r&   r'   r&   r'   r$   rp   )r#   r%   r   r_  r   r_  r%   re   ©r#   r$   r&   r'   r   r_  r%   Údense)r%   r$   r#   r&   r#   r&   r$   c                 ó  — t        j                  g d¢«      }t        j                  dd| ¬«      }t        j                  ||¬«      }t        j                  |t        j
                  «       ¬«      }|j                  |«      sJ ‚y )N©rž  r  ç333333@NrÝ  Nr  rn   ro   rq   rÛ  r/  )r’   r·   r@   r¬   Úrankr   r  )rs   Úexpected_valuesr  Úrank_optionsr†  r  s         r;   Útest_rank_options_tiebreakerrá  Ü  sc   € ô �(‰(Ò8Ó
9€CÜ—>‘>¨KØ19Ø-7ô9€Lô �W‰W�S ,Ô/€FÜ�x‰x˜¬b¯i©i«kÔ:€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó²  — t        j                  g d¢«      } t        j                  g d¢t        j                  «       ¬«      }t        j                  | «      }|j                  |«      sJ ‚t        j                  | t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  | t        j                  dg¬«      ¬«      }|j                  |«      sJ ‚t        j                  | d¬«      }t        j                  g d	¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  | d
¬«      }t        j                  g d¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  t        d¬«      5  t        j                  d
dd¬«       d d d «       y # 1 sw Y   y xY w)NrÜ  rÙ  r/  rÛ  rx   ry   rh   ri   )r   r#   r'   r$   r_  r%   r&   r~   )r#   r&   r$   r'   r%   r_  r   z'"NonExisting" is not a valid tiebreakerr.   ro   ÚNonExistingrq   )
r’   r·   r   r@   rÞ  r  r¬   r4   r5   r-  ©r  r  r†  Úexpected_at_startÚexpected_descendings        r;   Útest_rank_optionsrç  í  sZ  € Ü
�(‰(Ò8Ó
9€CÜ�x‰xÒ-´B·I±I³KÔ@€Hô �W‰W�S‹\€FØ�=‰=˜Ô"Ð"Ð"ô �W‰W�S¤"§.¡.Ó"2Ô3€FØ�=‰=˜Ô"Ð"Ð"ô �W‰W�S¤"§.¡.Ø/Ð0ô#2ô €Fð �=‰=˜Ô"Ð"Ð"ä�W‰W�S¨Ô4€FÜŸ™Ò!6¼R¿Y¹Y»[ÔIÐØ�=‰=Ð*Ô+Ð+Ð+ä�W‰W�S LÔ1€FÜŸ(™(Ò#8¼r¿y¹y»{ÔKÐØ�=‰=Ð,Ô-Ð-Ð-ä	�‰”zØGö
Iä
�‰ Ø&.Ø"/õ	1÷
I÷ 
Iñ 
Iús   Æ+GÇGc                  ó°  — t        j                  g d¢«      } t        j                  g d¢t        j                  «       ¬«      }t        j                  | «      }|j                  |«      sJ ‚t        j                  | t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  | t        j                  dg¬«      ¬«      }|j                  |«      sJ ‚t        j                  | d¬«      }t        j                  g d	¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  | d
¬«      }t        j                  g d¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  t        d¬«      5  t        j                  | d¬«       d d d «       y # 1 sw Y   y xY w)N©Nr$   Nr%   N)r¹  r   r¹  r   r¹  r/  rÛ  )r   rn   ry   rh   ri   )r   r¹  r   r†   r   r~   )r¹  r   r¹  r   r¹  rG  r.   ÚXXX)
r’   r·   rø  r@   Úrank_quantiler  r­   r4   r5   r-  rä  s        r;   Útest_rank_quantile_optionsrì    s\  € Ü
�(‰(Ò+Ó
,€CÜ�x‰xÒ1¼¿
¹
»ÔE€Hô ×Ñ˜cÓ"€FØ�=‰=˜Ô"Ð"Ð"ô ×Ñ˜c¬2×+AÑ+AÓ+CÔD€FØ�=‰=˜Ô"Ð"Ð"ô ×Ñ˜c¬2×+AÑ+AØ%Ð&ô,(ô €Fð �=‰=˜Ô"Ð"Ð"ä×Ñ˜c°*Ô=€FÜŸ™Ò!:ÄÇÁÃÔNÐØ�=‰=Ð*Ô+Ð+Ð+ä×Ñ˜c¨\Ô:€FÜŸ(™(Ò#<Ä2Ç:Á:Ã<ÔPÐØ�=‰=Ð,Ô-Ð-Ð-ä	�‰”zÐ)AÖ	BÜ
×Ñ˜¨Õ.÷ 
C×	BÑ	Bús   Æ+GÇGc                  ó”  — t        j                  g d¢«      } t        j                  g d¢«      }t	        j
                  | «      }|j                  «       |k(  sJ ‚t	        j
                  | dd¬«      }|j                  «       |k(  sJ ‚t	        j
                  | t	        j                  «       ¬«      }|j                  «       |k(  sJ ‚t        j                  g d¢«      }t	        j
                  | dd	¬«      }|j                  «       |k(  sJ ‚t	        j
                  | t	        j                  dd	¬«      ¬«      }|j                  «       |k(  sJ ‚y )
Nré  )çúÅ‚•ãÇà?g2mâ6<�ô¿rî  çüÅ‚•ãÇà¿rî  ro   rn   )rj   rr   rÛ  )rï  g2mâ6<�ô?rï  rî  rï  rh   r~   )r’   r·   r4   rk  r@   Úrank_normalr(  r­   ©r  r  r†  s      r;   Útest_rank_normal_optionsrò  ,  s   € Ü
�(‰(Ò+Ó
,€Cä�}‰}ò	2ó3€Hô �^‰^˜CÓ €FØ×ÑÓ Ò)Ð)Ð)Ü�^‰^˜C°ÀKÔP€FØ×ÑÓ Ò)Ð)Ð)Ü�^‰^˜C¬×)?Ñ)?Ó)AÔB€FØ×ÑÓ Ò)Ð)Ð)ä�}‰}ò	2ó3€Hô �^‰^˜C°
ÀlÔS€FØ×ÑÓ Ò)Ð)Ð)Ü�^‰^˜CÜ$&×$:Ñ$:È*ØEQô%SôT€Fð ×ÑÓ Ò)Ð)Ñ)rE   c                  ó$  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  t	        j                  | «      t	        j                  |«      «      }t         j
                  j                  |j                  d¬«      t        j                  | |«      «       t        j                  t	        j                  d«      t	        j                  d«      «      j                  «       t        j                  d«      k(  sJ ‚y )N)rq  r  g      Àro  g      @)ç      @r  g      (@g       Àr  Fr  rq  rô  r·  )r  r·   r@   Úhypotr’   r«  rƒ  r„  rœ   r2  r4   rk  )rw  rË  r†  s      r;   Ú
test_hypotrö  D  s©   € ä
�‰Ò,Ó-€AÜ
�‰Ò,Ó-€AÜ�X‰X”b—h‘h˜q“k¤2§8¡8¨A£;Ó/€FÜ‡J�J×(Ñ(Ø�‰ uˆÓ-¬r¯x©x¸¸1«~ô?ô �8‰8”B—I‘I˜c“N¤B§I¡I¨c£NÓ3×9Ñ9Ó;¼v¿}¹}ÈSÓ?QÒQÐQÑQrE   c                  óˆ  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  t        j                  dt        j
                  «       «      g«      «      g«      } t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d «      }t        j                  ddi«      }t        j                  t        j                  d«      «      }t        j                  t        j                  d	«      «      }t        j                  d
«      }	t        j                  d«      }
||||||||	|
g	}g ||k(  ‘||k7  ‘||kD  ‘||	z  ‘||	z  ‘| ‘|j                  «       ‘||z   ‘||z
  ‘||z  ‘||z  ‘t        j                  |«      ‘t        j                  ||«      ‘t        j                  ||«      ‘t        j                  ||«      ‘t        j                  ||«      ‘t        j                  ||«      ‘t        j                   |«      ‘t        j"                  |«      ‘t        j$                  |«      ‘t        j&                  |«      ‘t        j(                  |«      ‘t        j*                  |«      ‘t        j,                  |«      ‘t        j.                  |«      ‘t        j0                  ||«      ‘t        j2                  |«      ‘t        j4                  |«      ‘t        j6                  |«      ‘t        j8                  |«      ‘t        j:                  |«      ‘t        j<                  |
«      ‘t        j>                  |«      ‘t        j@                  |«      ‘t        jB                  |«      ‘t        jD                  ||«      ‘t        jF                  ||«      ‘t        jH                  ||«      ‘t        jJ                  |«      ‘t        jL                  |«      ‘t        jN                  ||«      ‘|jQ                  t        jR                  «       d
¬«      ‘}t        j                  d«      dkD  t        j                  d«      dk(  t        j                  d«      dk(  t        j                  d«      dk(  t        j                  dd«      dk(  g}t        j                  d«      dkD  t        j                  d«      dk(  t        j                  d«      dk(  t        j                  d«      dk(  t        j                  dd«      dk(  g}||jU                  g d¢«      t        j                  d«      jW                  «       g}|jY                  «       }||z  }||z  }||z  }||||||| dœS )NÚi64r  r  r$   rÎ  Tr   r   r%   Fr   rê  r   r_  )r  r  rî  )r$   r   r¼  )rí   ÚliteralsÚcallsÚrefsÚnumeric_refsÚspecialÚschema)-r’   rþ  r_   r   r¤  r   r@   rœ   r  rç  Únegaterß   r  Údividerƒ  ÚpowerÚsqrtÚexpÚcosÚsinÚtanÚacosÚatanÚasinÚatan2ÚsinhÚcoshÚtanhÚasinhÚacoshÚatanhr+  ÚsignÚbit_wise_notÚbit_wise_andÚbit_wise_orÚbit_wise_xorrÃ  Ú	is_finiterÔ  rí  r   Úisinrj  Úcopy)rþ  r   r   r�  rÊ  rû  rü  rý  rþ  rÿ  r·  Úliteral_exprsÚexprs_with_callÚexprs_with_refÚexprs_with_numeric_refsÚspecial_casesÚ	all_exprss                    r;   Úcreate_sample_expressionsr  P  s  € ä�Y‰YœŸ™ ¬¯©«
Ó3´R·X±XØŒr�y‰yœ"Ÿ(™( 5¬"¯)©)«+Ó6Ð7Ó8ó6:ð ;ó <€Fô 	�	‰	�!‹€AÜ
�	‰	�#‹€AÜ
�	‰	�$‹€AÜ
�	‰	�(Ó€AÜ
�	‰	�$‹€AÜ
�	‰	�3˜�(Ó€AÜ
�	‰	”"—)‘)˜A“,Ó€AÜ
�	‰	”"—(‘(˜1“+Ó€AÜ
�	‰	�%Ó€AÜ
�	‰	�!‹€Að ˜˜1˜a  A q¨!¨QÐ/€Mð7�q˜A‘vð 7˜q A™vð 7 q¨1¡uð 7¨a°!©eð 7°Q¸±Uð 7¸Q¸Bð 7ÀÇ
Á
Ãð 7Ø˜1‘uð7Ø !™eð7Ø%&¨¡Uð7Ø,-°©Eð7Ü35·9±9¸Q³<ð7ä—v‘v˜a “|ð7ä%'§[¡[°°AÓ%6ð7ä8:¿	¹	À!ÀQ»ð7ô —{‘{ 1 aÓ(ð7ô +-¯(©(°1°a«.ð7ô ;=¿'¹'À!»*ð7ô —v‘v˜a“yð	7ô #%§&¡&¨£)ð	7ô .0¯V©V°A«Yð	7ô 9;¿¹¸q»	ð	7ô
 —w‘w˜q“zð7ô
 $&§7¡7¨1£:ð7ô
 02¯w©w°q«zð7ô
 <>¿8¹8ÀAÀq»>ð7ô —w‘w˜q“zð7ô $&§7¡7¨1£:ð7ô 02¯w©w°q«zð7ô —x‘x “{ð7ô %'§H¡H¨Q£Kð7ô 24·±¸!³ð7ô —v‘v˜a“yð7ô #%§'¡'¨!£*ð7ô /1¯o©o¸aÓ.@ð7ô —‘ q¨!Ó,ð7ô /1¯n©n¸QÀÓ.Bð7ô —‘ q¨!Ó,ð7ô /1¯i©i¸«lð7ô =?¿L¹LÈ»Oð7ô —{‘{ 1 aÓ(ð7ð —v‘vœbŸh™h›j¨u�vÓ5ð7€Oô  —h‘h˜u“o¨Ñ)¬2¯8©8°E«?¸aÑ+?Ü—h‘h˜u“o¨Ñ*Ü—h‘h˜~Ó.°'Ñ9Ü—h‘h˜u eÓ,°Ñ7ð9€Nô  "Ÿx™x¨›{¨Q™´·±¸³¸qÑ0@Ü!Ÿx™x¨›{¨aÑ/Ü!Ÿx™x¨Ó/°7Ñ:Ü!Ÿx™x¨¨1›~°Ñ8ð:Ðð 	
Ø	�‰ŠyÓÜ
�‰�‹×ÑÓ!ð€Mð ×"Ñ"Ó$€IØ�Ñ €IØ�Ñ€IØ�Ñ€Ið Ø!Ø ØØ/Ø Øñð rE   c                 óÆ   — t        «       d   D ]Q  }t        |t        j                  «      sJ ‚| j	                  | j                  |«      «      }|j                  |«      rŒQJ ‚ y )Nrí   )r  ræ   r@   Ú
Expressionr  r  r  )r  ÚexprÚrestoreds      r;   Ú#test_expression_serialization_arrowr$  �  sU   € ä)Ó+¨EÔ2ˆÜ˜$¤§¡Ô.Ð.Ð.Ø ×&Ñ& }×':Ñ':¸4Ó'@ÓAˆØ�{‰{˜8Õ$Ð$Ð$ñ 3rE   c                  óx  — t        «       } | d   }| d   D ]E  }|j                  |«      }t        j                  j	                  |«      }|j                  |«      rŒEJ ‚ | d   D ]Ž  }|j                  |«      }t        j                  j	                  |«      }t        |«      t        |«      k(  sJ ‚|j                  |«      }t        j                  j	                  |«      }|j                  |«      rŒŽJ ‚ t        | d   | d   «      D ]‘  \  }}|j                  |«      }t        j                  j	                  |«      }t        |«      t        |«      k(  sJ ‚|j                  |«      }t        j                  j	                  |«      }|j                  |«      rŒ‘J ‚ | d   D ]u  }|j                  |«      }t        j                  j	                  |«      }|j                  |«      }t        j                  j	                  |«      }|j                  |«      rŒuJ ‚ | d   d   }|j                  |«      }t        j                  j	                  |«      }|j                  t        j                  dd	i«      «      sJ ‚t        j                  d	«      }	|	j                  g d
¢«      }|	d	k(  |	dk(  z  |	dk(  z  }
|j                  |«      }t        j                  j	                  |«      }t        |
«      t        |«      k(  sJ ‚|j                  |«      }t        j                  j	                  |«      }|j                  |«      sJ ‚y )Nrþ  rù  rú  rû  rü  rý  r   r¬  r$   r¼  r%   r#   )
r  Úto_substraitr@   r!  Úfrom_substraitr  rñ  rÕ   rœ   r  )Úexprsrþ  r"  Ú
serializedrÚ   Úserialized_againÚdeserialized_againÚ	expr_normrü  r   Útargets              r;   Ú'test_expression_serialization_substraitr.  ¥  sñ  € ô &Ó'€EØ�8‰_€Fð �jÔ!ˆØ×&Ñ& vÓ.ˆ
Ü—}‘}×3Ñ3°JÓ?ˆØ�{‰{˜<Õ(Ð(Ð(ð "ð �g”ˆØ×&Ñ& vÓ.ˆ
Ü—}‘}×3Ñ3°JÓ?ˆô �<Ó ¤C¨£IÒ-Ð-Ð-Ø'×4Ñ4°VÓ<ÐÜŸ]™]×9Ñ9Ð:JÓKÐØ×"Ñ"Ð#5Õ6Ð6Ð6ð ô ˜u V™}¨e°NÑ.CÖD‰ˆˆiØ×&Ñ& vÓ.ˆ
Ü—}‘}×3Ñ3°JÓ?ˆÜ�<Ó ¤C¨	£NÒ2Ð2Ð2Ø'×4Ñ4°VÓ<ÐÜŸ]™]×9Ñ9Ð:JÓKÐØ×"Ñ"Ð#5Õ6Ð6Ð6ð Eð �iÔ ˆØ×&Ñ& vÓ.ˆ
Ü—}‘}×3Ñ3°JÓ?ˆØ'×4Ñ4°VÓ<ÐÜŸ]™]×9Ñ9Ð:JÓKÐØ×"Ñ"Ð#5Õ6Ð6Ð6ð !ð 	ˆiÑ˜Ñ€AØ—‘ Ó'€JÜ—=‘=×/Ñ/°
Ó;€LØ×ÑœrŸy™y¨"¨a¨Ó1Ô2Ð2Ð2ô 	�	‰	�!‹€AØ�6‰6’)Ó€DØ�1‰f˜˜a™Ñ  A¨¡FÑ+€FØ×"Ñ" 6Ó*€JÜ—=‘=×/Ñ/°
Ó;€Läˆv‹;œ#˜lÓ+Ò+Ð+Ð+Ø#×0Ñ0°Ó8ÐÜŸ™×5Ñ5Ð6FÓGÐØ×ÑÐ1Ô2Ð2Ñ2rE   c                  óž  — t        j                  d«      } t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  ddd«      }t        j                  d	«      }t        j                  d
d«      }| |z  |k(   | |k(   dt        j                  «       fD ]  }	|j                  |	«      |k(   Œ |j                  ddg«       |j                  ddg«       |j                  ddg«       |j                  ddg«       t        j                  t        «      5  |j                  d«       d d d «       t        j                  t        j                  «      5  |t        «       k7   d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)Nr   r$   TFr   r_   r    r   )Únestedr_   r0  r	   r%   r  r  )r@   rœ   r_   r’   rÖ  rí  r  r4   r5   r6   r[  r3   )
rG  r£  ÚtrueÚfalser   r_   Únested_mixed_typesÚnested_fieldÚnested_field2rP  s
             r;   Útest_expression_constructionr6  ä  sY  € Ü�9‰9�Q‹<€DÜ
�)‰)�A‹,€CÜ�9‰9�T‹?€DÜ�I‰I�eÓ€EÜ�Y‰Y�xÓ €FÜ�H‰H�WÓ€EÜŸ™ $¨¨3Ó/ÐÜ—8‘8Ð/Ó0€LÜ—H‘H˜X wÓ/€Màˆ3�J�&ÒØ	€EˆU‚NØœŸ™›
Ó#ˆØ�
‰
�3‹˜4Óð $ð 
‡J�J��1ˆvÔØ×Ñ˜U E˜NÔ+Ø×Ñ�u˜e�nÔ%Ø×Ñ˜˜u�~Ô&ä	�‰”yÕ	!Ø�
‰
�1Œ÷ 
"ô 
�‰”r—‘Õ	'Ø”“Ò÷ 
(Ð	'÷ 
"Ð	!ú÷ 
(Ð	'ús   Å#F7Æ GÆ7G ÇGc                  ó  — t        j                  d«      } t        j                  d«      }t        j                  t        d¬«      5  | xr | d d d «       t        j                  t        d¬«      5  | xs | d d d «       t        j                  t        d¬«      5  t        | «       d d d «       t        j                  t        d¬«      5  |   d d d «       y # 1 sw Y   ŒŠxY w# 1 sw Y   ŒlxY w# 1 sw Y   ŒIxY w# 1 sw Y   y xY w)NTFz"cannot be evaluated to python Truer.   )r@   rœ   r4   r5   r-  r	   )r1  r2  s     r;   Ú!test_expression_boolean_operatorsr8     s¾   € ä�9‰9�T‹?€DÜ�I‰I�eÓ€Eä	�‰”zÐ)MÖ	NØŠ�ø÷ 
Oô 
�‰”zÐ)MÖ	NØŠ�ø÷ 
Oô 
�‰”zÐ)MÖ	NÜˆTŒ
÷ 
Oô 
�‰”zÐ)MÖ	NØ‰÷ 
OÐ	N÷ 
OÐ	Nú÷ 
OÐ	Nú÷ 
OÐ	Nú÷ 
OÐ	Nús0   ÁCÁ0C"ÂC.Ã	C:ÃCÃ"C+Ã.C7Ã:Dc                  óR  — t        j                  d«      } t        t        j                  | «      «      dk(  sJ ‚t        t        j                  | «      «      dk(  sJ ‚t        t        j                  | d¬«      «      dk(  sJ ‚t        t        j
                  | d«      «      dk(  sJ ‚t        t        j
                  | t        j                  d«      «      «      dk(  sJ ‚d}t        j                  t        |¬	«      5  t        j
                  | t        «       d d d «       y # 1 sw Y   y xY w)
Nr_   zhour(field)zround(field)r$   rˆ  z2round(field, {ndigits=1, round_mode=HALF_TO_EVEN})zadd(field, 1)z+only other expressions allowed as argumentsr.   )r@   r_   rñ  r¨  r…  rß   r’   rœ   r4   r5   r6   r3   )r_   r\  s     r;   Útest_expression_call_functionr:    sä   € Ü�H‰H�WÓ€Eô Œr�w‰w�u‹~Ó -Ò/Ð/Ð/ô Œr�x‰x˜‹Ó >Ò1Ð1Ð1äŒr�x‰x˜ qÔ)Ó*Ø<ò=ð =ð =ô Œr�v‰v�e˜QÓÓ  OÒ3Ð3Ð3ÜŒr�v‰v�eœRŸY™Y q›\Ó*Ó+¨Ò>Ð>Ð>ð 8€CÜ	�‰”y¨Ö	,Ü
�‰ˆu”fÔ÷ 
-×	,Ñ	,ús   Ã9DÄD&c                  ó
  — t        j                  dddgi«      } t        j                  t         j                  j
                  «      5  t        j                  | t        j                  «       «       d d d «       y # 1 sw Y   y xY w)Nr   r$   r%   )	r’   r  r4   r5   rú  rû  r@   rí  r   )r  s    r;   Útest_cast_table_raisesr<  (  sN   € Ü�H‰H�c˜A˜q˜6�]Ó#€Eä	�‰”r—v‘v×,Ñ,Õ	-Ü
�‰�”r—x‘x“zÔ"÷ 
.×	-Ñ	-ús   Á)A9Á9Bzstart,stop,expectedr¼  rå  ©r'   NNr²  ©r$   r%   r¼  Úfixedc                 ó€  — |dk(  rot        j                  g d¢g d¢g d¢d gt        j                  t        j                  «       d«      «      j	                  t        j                   |«       d«      «      }n^t        j                  g d¢ddgdgd gt        j                  t        j                  «       «      «      j	                   | |«       «      «      }|| ||d	f}|€H|dk7  rCd
}t        j                  t         j                  |¬«      5  t        j                  |Ž  d d d «       y t        j                  |Ž }	|	j	                  t        j                  t        j                  «       |	j                  j                  «      «      j                  «       }
|
|D �cg c]  }|r|d d |…   n|‘Œ c}k(  sJ ‚y # 1 sw Y   y xY wc c}w )Nr?  r¼  rå  r=  r#   r&   r   r'   TzZUnable to produce FixedSizeListArray from non-FixedSizeListArray without `stop` being set.r.   )r’   r·   rå  r   rí  r4   r5   r[  r@   Ú
list_slicerÌ   Ú	list_sizer(  )rV   r±  r²  r  rò  r¼  r  r:   r\  r†  Úpylistrû  s               r;   Útest_list_slice_output_fixedrD  /  sh  € ð �GÒÜ�h‰hš	¢<²À$ÐGÜ—x‘x¤§¡£	¨1Ó-ó/ß/3©t´B·H±H¹Z»\È1Ó4MÓ/Nñ 	ô �h‰hš	 A q 6¨A¨3°Ð5Ü—x‘x¤§¡£	Ó*ó,ß,0©D±¹:»<Ó1HÓ,Ið 	ð ��t˜T 4Ð'€DØ€|˜	 WÒ,ðBˆä�]‰]œ2Ÿ?™?°#Ö6Ü�M‰M˜4Ñ ÷ 7Ð6ô —‘ Ð%ˆØ—‘œRŸX™X¤b§g¡g£iØ#Ÿ[™[×2Ñ2ó4ó 5ß5>±Y³[ð 	à¹ÓB¹°A¡q˜!™F˜d˜Fš)¨aÑ/¸ÑBÒBÐBÑB÷ 7Ð6üò Cs   ÄF/ÆF;Æ/F8z
start,stop))r   N)r   r$   )r   r%   r>  )r%   r&   )r   r   c                 ó  — |dk(  rqg d¢g d¢g d¢d g}t        j                  |t        j                  t        j                  «       d«      «      j	                  t        j                   |«       d«      «      }n`g d¢ddgdgd g}t        j                  |t        j                  t        j                  «       «      «      j	                   | |«       «      «      }|dk(  rt         j                  }t        j                  || ||d	¬
«      }|j                   | |«       «      k(  sJ ‚|j	                  t        j                  t        j                  «       «      «      j                  «       }|D �	cg c]  }	|	�|	| ||…   nd ‘Œ }
}	||
k(  sJ ‚y c c}	w )Nr?  r¼  rå  r=  r#   r&   r   r'   F©Úreturn_fixed_size_list)	r’   r·   rå  r   rí  r@   rA  rÌ   r(  )rV   r±  r²  rò  r¼  rc  r  r†  rC  rÊ  r  s              r;   Útest_list_slice_output_variablerH  O  sP  € ð �GÒÚš<ª¸$Ð?ˆÜ�h‰hØÜ�H‰H”R—W‘W“Y Ó"ó$ç$(¡D¬¯©±*³,ÀÓ)BÓ$Cñ 	ò ˜A˜q˜6 A 3¨Ð-ˆÜ�h‰h�tÜ—x‘x¤§¡£	Ó*ó,ß,0©D±¹:»<Ó1HÓ,Ið 	ð �GÒÜ—H‘Hˆ	ä�]‰]˜3  t¨TØ27ô9€Fà�;‰;™)¡J£LÓ1Ò1Ð1Ð1à�[‰[œŸ™¤"§'¡'£)Ó,Ó-×7Ñ7Ó9€Fñ HLÓLÁtÀ! a m��%˜˜T�/Ò"¸Ñ=Àt€HÐLØ�XÒÐÑùò Ms   Å*FÚreturn_fixed_sizer'  rÌ   c                  óx   — t        j                  t        j                  dt        j                  «       «      «      S ©NÚcol©r’   rå  r_   r   rá   rE   r;   r6  r6  v  s   € ŒB�H‰H”R—X‘X˜e¤R§W¡W£YÓ/Ô0rE   c                  óz   — t        j                  t        j                  dt        j                  «       «      d«      S )NrL  r$   rM  rá   rE   r;   r6  r6  w  s    € ŒB�H‰H”R—X‘X˜e¤R§W¡W£YÓ/°Ô3rE   c                  óx   — t        j                  t        j                  dt        j                  «       «      «      S rK  )r’   rï  r_   r   rá   rE   r;   r6  r6  x  s   € ŒB�M‰Mœ"Ÿ(™( 5¬"¯'©'«)Ó4Ô5rE   c                 óF  — t        j                  dgg |«       «      }t        j                  |dd| ¬«      }|j                  j                  d«      j                  |j                  j                  d«      j                  k(  sJ ‚| €|j                  |j                  k(  sJ ‚y y )Nr$   r   rF  )r’   r·   r@   rA  rÌ   r_   r>   )rI  rÌ   r  Úouts       r;   Ú$test_list_slice_field_names_retainedrR  t  s†   € ô �(‰(�Q�C�5™$›&Ó
!€CÜ
�-‰-˜˜Q Ð:KÔ
L€CØ�8‰8�>‰>˜!Ó×!Ñ! S§X¡X§^¡^°AÓ%6×%;Ñ%;Ò;Ð;Ð;ð Ð Ø�x‰x˜3Ÿ8™8Ò#Ð#Ñ#ð !rE   c                  ó$  — t        j                  dggt        j                  t        j                  «       d«      «      } d}t	        j
                  t         j                  |¬«      5  t        j                  | dd«       d d d «       t	        j
                  t         j                  |¬«      5  t        j                  | dd«       d d d «       d}t	        j
                  t         j                  |dz   ¬«      5  t        j                  | ddd¬	«       d d d «       t	        j
                  t         j                  |d
z   ¬«      5  t        j                  | ddd¬	«       d d d «       y # 1 sw Y   ŒåxY w# 1 sw Y   Œ¬xY w# 1 sw Y   ŒlxY w# 1 sw Y   y xY w)Nr$   zP`start`(.*) should be greater than or equal to 0 and not greater than `stop`(.*)r.   r]   r%   z0`step` must be greater than or equal to 1, got: r‰   r   )r²  ru  )	r’   r·   rå  r   r4   r5   r[  r@   rA  )r  r\  s     r;   Útest_list_slice_bad_parametersrT  ƒ  s  € Ü
�(‰(�Q�C�5œ"Ÿ(™(¤2§7¡7£9¨aÓ0Ó
1€Cð	+ð ô 
�‰”r—‘¨cÖ	2Ü
�‰�c˜2˜qÔ!÷ 
3ä	�‰”r—‘¨cÖ	2Ü
�‰�c˜1˜aÔ ÷ 
3ð =€CÜ	�‰”r—‘¨c°C©iÖ	8Ü
�‰�c˜1˜a aÕ(÷ 
9ä	�‰”r—‘¨c°D©jÖ	9Ü
�‰�c˜1˜a bÕ)÷ 
:Ð	9÷ 
3Ð	2úç	2Ð	2ú÷
 
9Ð	8úç	9Ð	9ús0   Á&E"Â+E.Ã5E:Ä?FÅ"E+Å.E7Å:FÆFc                 óî   — g d¢}t        j                  || ¬«      }t        j                  ||¬«      }t        j                  |«      }|j
                  |j
                  k(  sJ ‚|j                  |«      sJ ‚y )N)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   Úrun_end_decoderÌ   r  )rò  Úrun_end_encode_optsrK   r  ÚencodedÚdecodeds         r;   Úcheck_run_end_encode_decoderZ  –  sb   € ÚF€FÜ
�(‰(�6 
Ô
+€CÜ×Ñ Ð-@ÔA€GÜ×Ñ Ó(€GØ�<‰<˜3Ÿ8™8Ò#Ð#Ð#Ø�>‰>˜#ÔÐÑrE   rØ   c                 ó   — t        | |«       y rå   )rZ  )rò  rØ   s     r;   Útest_run_end_encoder\  Ÿ  s   € ô4   
¨FÕ3rE   c                  óÀ  — t        j                  g d¢«      } t        j                  g d¢«      }t         j                  j                  | d¬«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  g d¢«      }t         j                  j                  | d¬«      }|j	                  |«      sJ ‚t        j                  g d¢t        j
                  «       ¬«      } t        j                  g d¢t        j
                  «       ¬«      }t         j                  j                  | d	¬«      }|j	                  |«      sJ ‚t        j                  g d¢t        j                  «       ¬«      } t        j                  g d
¢t        j                  «       ¬«      }t         j                  j                  | d	¬«      }|j	                  |«      sJ ‚t        j                  g d¢t        j                  «       ¬«      } t        j                  t         j                  d¬«      5  t         j                  j                  | d	¬«       d d d «       y # 1 sw Y   y xY w)N)r$   r%   r#   Nr&   r   )Nr$   r$   NNr$   r$   rf   )NNr%   Nr$   Nr%   r/  )r]   r]   NNr]   Nr]   )éÿ   r^  NNr^  NÚoverflowr.   )r’   r·   r×  Úpairwise_diffr  r   r
   r4   r5   r[  Úpairwise_diff_checkedrñ  s      r;   Útest_pairwise_diffrb  ¼  sŸ  € Ü
�(‰(Ò(Ó
)€CÜ�x‰xÒ3Ó4€HÜ�Z‰Z×%Ñ% c°!Ð%Ó4€FØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò(Ó
)€CÜ�x‰xÒ6Ó7€HÜ�Z‰Z×%Ñ% c°!Ð%Ó4€FØ�=‰=˜Ô"Ð"Ð"ô �(‰(Ò(¬r¯w©w«yÔ
9€CÜ�x‰xÒ6¼R¿W¹W»YÔG€HÜ�Z‰Z×%Ñ% c°"Ð%Ó5€FØ�=‰=˜Ô"Ð"Ð"ô �(‰(Ò(¬r¯x©x«zÔ
:€CÜ�x‰xÒ9ÄÇÁÃ
ÔK€HÜ�Z‰Z×%Ñ% c°"Ð%Ó5€FØ�=‰=˜Ô"Ð"Ð"ô �(‰(Ò(¬r¯x©x«zÔ
:€CÜ	�‰”r—‘Ø'ö
)ä
�
‰
×(Ñ(¨°RÐ(Ô8÷
)÷ 
)ñ 
)ús   È)"IÉIc                  óª  — ddg} t        j                  g d¢g d¢«      }|j                  «       i k(  sJ ‚t        j                  g d¢g d¢| «      }|j                  «       d ddœk(  sJ ‚t        |j                  «       «      ddgk(  sJ ‚t        j                  g d¢g d¢| ¬«      }|j                  «       d ddœk(  sJ ‚t	        j
                  t        d¬	«      5  t        j                  g d¢g d¢| d
¬«      }d d d «       t	        j
                  t        d¬	«      5  t        j                  g d¢g d¢| ¬«      }d d d «       y # 1 sw Y   ŒJxY w# 1 sw Y   y xY w)Nrh  rk   )rk   rh  Údepth)r   Nrµ  r   )rh  rk   )Ú	key_nameszUnexpected pivot key: depthr.   rl   )re  rm   z(Encountered more than one non-null value)rk   rh  rk   )r@   Úpivot_widerr2  r!  r4   r5   ÚKeyErrorr-  )re  r†  s     r;   Útest_pivot_widerrh  Ú  s   € Ø˜(Ð#€Iä�^‰^Ò8º.ÓI€FØ�<‰<‹>˜RÒÐÐä�^‰^Ò8º.Ø%ó'€Fà�<‰<‹> t°rÑ:Ò:Ð:Ð:ä�—‘“Ó G¨XÐ#6Ò6Ð6Ð6ä�^‰^Ò8º.Ø&/ô1€Fà�<‰<‹> t°rÑ:Ò:Ð:Ð:ä	�‰”xÐ'DÖ	EÜ—‘Ò <ºnØ*3Ø8?ôAˆ÷ 
Fô
 
�‰”zÐ)SÖ	TÜ—‘Ò =º~Ø*3ô5ˆ÷ 
UÐ	T÷ 
FÐ	Eú÷
 
UÐ	Tús   ÃD=ÄE	Ä=EÅ	Ec                  ó  — t        j                  g d¢«      } t        j                  | dd«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j
                  dd¬«      ¬«      }|j	                  «       g d¢k(  sJ ‚y )N)
r   r&   r(   ró   r   r#   r_  r%   r$   r'   r   gš™™™™™é?)
ró   r&   ró   ró   r   r#   r_  r%   r%   r'   )Úlower_limitÚupper_limitrÛ  )r’   r·   r@   Ú	winsorizer(  rÅ   rS  s     r;   Útest_winsorizerm  ô  st   € Ü
�(‰(Ò2Ó
3€Cä�\‰\˜#˜s CÓ(€FØ×ÑÓÒ!?Ò?Ð?Ð?ä�\‰\Ø”R×(Ñ(°SÀcÔJôL€Fà×ÑÓÒ!?Ò?Ð?Ñ?rE   )r$   rå   (  Úcollectionsr   rî  r>  Ú	functoolsr   r   rH   r´  rG  rÔ  r4   rõ  rw  rë  Únumpyr  ÚImportErrorÚpandasrz  rÉ   r’   Úpyarrow.computer×  r@   Úpyarrow.libr   r   Úpyarrow.substraitÚ	substraitÚpasr   Ú__dict__rœ  r^  r0   ræ   rÌ   rÓ   Ú
issubclassrG   r   r   r   r
   r   r   r÷  rø  Únumerical_arrow_typesr³  r   rå  rï  r¤  Úall_array_typesr<   rD   rR   ÚmarkÚfilterwarningsrÝ   râ   rñ   rö   rû   r   r  r  r  r   r%  r+  Úparametrizer4  rA  rC  rH  rL  rN  rW  rY  r]  rd  rl  ro  rk  rx  r‡  r‹  r�  r–  r›  r¡  rª  r¸  r¿  rÌ  rÑ  rÔ  rØ  rÝ  rá  rã  rè  rï  rö  r  Úunknown_issue_is_alphaÚutf8proc_issue_is_lowerÚnumeric_info_missingÚdigit_info_missingr\  rd  rq  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  r!  r#  r/  r1  r5  r:  r<  r@  rB  rK  rO  ra  rm  rs  ry  r}  r€  r„  rŸ  r®  r±  r¼  r¿  rÄ  rÌ  rÐ  rÒ  rØ  rà  ræ  rñ  Údate32Údate64rö  r   r  r  r  r  Údecimal_type_traitsr  r  r  r  r$  r0  rñ  r?  rW  rc  rj  rŠ   r…  rº  rÁ  rÅ  rÉ  rà  rñ  rø  rþ  r  r  r  r  r%  r*  r-  r?  rM  rT  rV  rX  r`  rc  rr  ru  rw  r|  r‹  r�  r–  r   r§  r°  r³  r·  rÀ  rÄ  rÆ  rÏ  rØ  rá  rç  rì  rò  rö  r  r$  r.  r6  r8  r:  r<  r   rD  rH  rR  rT  rZ  r   Úfloat16r–   r\  rb  rh  rm  )r>   r8   rO   s   000r;   Ú<module>r‡     sv  ðõ$ #Û Û ß (Û Û Û Û 	Û Û Û 
Û ðÛðÛó Ý ß AðÝ#ñ
 $ B§K¡K×$5Ñ$5Ó$7Ô8ô4Ù8‰\ˆd�DÙˆtÐ1Ô2ò 	Ð8ò4Ð ñ
 " "§+¡+×"3Ñ"3Ó"5Ô6ô.Ù6‰KˆT�3Ù�3˜ÔØ�2×%Ñ%Ñ%Ù�3˜×*Ñ*Ô+ò Ð6ò.Ð ð €B‡G�GƒIØ€B‡H�HƒJØ€B‡H�HƒJØ€B‡H�HƒJØ€B‡I�IƒKØ€B‡I�IƒKØ€B‡J�JƒLØ€B‡J�JƒLð	Ð ð Ò-Ð.Ø‰e�A‹hÐØ‰U�1‹XÐØ‰u�Q‹xÐØ‰e�A‹hÐØ‰u�Q‹xÐØ‰e�A‹hÐØ‰u�Q˜‹|ÐØ‰e�A�r‹lÐØÒ%Ð&ØÒ&Ð'ØÒ,Ð-ØÒ0Ð1Ø€R‡Y�Yˆqƒ\Ò;Ð<Ø€R‡X�Xˆgˆb�g‰g‹iÓ˜A˜q˜6 A q 6¨A¨q¨6°4¸!¸R¸ÐAÐBØ€R‡]�]�8�2—8‘8“:Ó ! ¢i°!°Q°¸ÀÀ2¸wÐ GÐHØ€R‡Y�Y��g�b—g‘g“iÐ  3¨¨¯©«	Ð"2Ð3Ó4Ø�aÑ˜$ a¨aÑ 0°$¸aÀaÑ8Hð7Jð Kð#€ò,ò40ò	9ð ‡�×ÑØBóñbBóðbBòJ(ð )*ôJòFòIò5ò
3ð
 ‡�×Ññ$ó ð$ò=ò	%òò	>ð ‡�×Ñ˜Ð'<Ó=ñ1ó >ð1ð* ‡�×Ñ˜¨¨¯©°a¸Ó(;¸]¸R¿]¹]È1ÈaÓ=PÐ'QÓRñ';ó Sð';ðT ‡�×Ñ˜Ð'<Ó=ñ1ó >ð1ð, ‡�×Ñ˜¨¨¯©°a¸Ó(;¸]¸R¿]¹]È1ÈaÓ=PÐ'QÓRñ&?ó Sð&?òR9ò<"ò")ò4ò6ò:ð ‡�×ÑÐ*â#Ø�—‘Ð0Ó1Ø"�V—]‘]Ð#5Ó6ñ	8ðò
 ˜-˜&Ÿ-™-Ð(:Ó;ÈÑNÐOØˆ€W�t¨Ñ.Ð/ð-ó ñ:óð:ò"ò'ò2ò"#ò#ò#ò#ò,Lò.ò0#ò#ò#ò<ò òD6ò&7ò6(òBòJ;ñD ƒñó ðð ! &Ð)Ð ò.Ð ò4Ð ò3Ð ò".Ð ð %Ð'9Ñ9Øñà&Ø"Ø&Ø'ñÐ ð ‡�×Ñ˜ò +Eó Fð
 ‡�×Ñ˜ W¨fÐ$5Ó6ñFó 7óFðFò(Cò$Pð> ‡�×Ññ8ó ð8ò04ò#ò'ò'ò(ò8#ò#ò#ò#ò#ò#ò#ò#ò#ò#ò6ò6òEò9ð< ‡�×ÑÐ)¨?Ó;ñó <ðò2ò"##ðL ‡�×Ñ˜ U¨D MÓ2ñ*ó 3ð*ò3ð ‡�×ÑÐ)¨?Ó;ñ#ó <ð#ò(ò#ò"#ò:	1ð ‡�×ÑÐ)¨?Ó;ñó <ðð, ‡�×ÑØ‡�×ÑÐ)¨?Ó;ñDó <ó ðDò,ò&#ò(,ò&ò02ò1ò 1ð  ‡�×Ñ˜ ¨/Ð :Ó;ñ?ó <ð?ð< ‡�×Ñ˜ ¨/Ð :Ó;ñ!9ó <ð!9ðH ‡�×Ñ˜ ¨/Ð :Ó;ñ 9ó <ð 9òF'ò #ò#ò#ð ‡�×Ñ˜ Ð)<Ð=Ó>ñ-ó ?ð-ð8 ‡�×ÑñLó ðLð$ ‡�×Ññ<ó ð<ò6Fò"#ò:ò"#ð: ‡�×Ñ˜Ð'<Ó=ñ#ó >ð#ð( ‡�×Ñ˜Ð'<Ó=ñ#ó >ð#ò8'ò,?ò	Fò$3ðN ‡�×Ñ˜¨	¨¯	ª	«°Y°R·Y²Y³[Ð'AÓBñ+ó Cð+ð ‡�×Ñ˜Ð'<Ó=ñó >ðñ< Ð2ØCóEÐ ñ  Ð 4Ø CóEÐ ñ )¨°b·l²lÀAÓFÙ(¨°b·l²lÀBÓGÙ(¨°r·}±}ÀbÓIÙ(¨°r·}±}ÀbÓIðKÐ òò òCòCòFò.ð0 ‡�×ÑØ‡�×Ñ˜ j b§j¡j£l ^¸ÐÓ=Ø‡�×Ñ˜Ð':Ù-ð ó /à‡�×ÑÐ)Ø>Ø:Ø<ð>ò >ð	 ó ?ñ
/ó?ó/ó >ó ð/ð ‡�×ÑØ‡�×Ñ˜ j b§j¡j£l°J°B·J±J³LÐ%AÀsÐÓKØ‡�×ÑÐ)Ð+>Ù-ð ó /ñ;Aó/ó Ló ð;Aò|Gò82ð( ‡�×ÑØ‡�×ÒñNAó ó ðNAôbPIðf ‡�×Ññ=ó ð=ò<1ð ‡�×Ñ˜Ò!8Ó9ñ	#ó :ð	#ð ‡�×ÑØ‡�×ÒñY&ó ó ðY&òxe8ðP ‡�×ÒØ‡�×Ñ˜ð "Eó Fà‡�×Ññ 9ó óFó ð 9òF
(ò	DòDò&Dò(6òAò*'òFò)VòX5Yòp8ò&.ò0KòBIò =ò*(.òV-ò$.ò,ðD ‡�×ÑØ‡�×Ñ˜Ð"5Ó6Ø‡�×Ñ˜ }Ó5ñ15ó 6ó 7ó ð15ðh ‡�×ÑØ‡�×Ñ˜Ð"5Ó6Ø‡�×Ñ˜ }Ó5ñ16ó 6ó 7ó ð16ðh ‡�×ÑØ‡�×Ñ˜ /Ó2Ø‡�×Ñ˜ }Ó5ñ45ó 6ó 3ó ð45ðn ‡�×ÑØ‡�×Ñ˜ /Ó2Ø‡�×Ñ˜ }Ó5ñ45ó 6ó 3ó ð45òn3ò&5ò$"òJAò#ò$Nò6ò	+ó'ð6 ‡�×ÑÙ ÙÓ"Ð#ÙÓ"Ð#ÙÓ$Ð%ÙÓ$Ð%ð'óò#óð#ó1óB/ó<*ð0 ‡�×ÑòRó ðRóHðZ ‡�×Ñò%ó ð%ð ‡�×ÑØ‡�×Ñò:3ó ó ð:3ózó8ó$ó,#ð ‡�×ÑÑ.Øˆ‹y›,«¸Ð>Ð?ØˆˆQˆC�!��q�c˜4Ð Ð!ØˆˆQ�ˆF�Q˜�F˜Q ˜I tÐ,Ð-ØˆˆQˆC�!��t�f˜dÐ#Ð$ØˆˆQ�ˆI˜˜d�| d¨D \°4Ð8Ð9ð1ó ð ‡�×Ñ™¡Ó(Ø‡�×Ñ˜¨¯	ª	°2·8±8¸R¿Z¹ZÐ'HÓIØ‡�×Ñ™ r§x¡x°·±ÁÐ&HÓIòCó Jó Jó )óðCð, ‡�×Ñ™ñ (ó ð ‡�×Ñ™¡Ó(Ø‡�×Ñ˜¨¯	ª	°2·8±8¸R¿Z¹ZÐ'HÓIØ‡�×Ñ™ r§x¡x°·±ÁÐ&HÓIòó Jó Jó )óðð4 ‡�×ÑÑ,Ñ.AÓBØ‡�×Ñ™Ú0Ú3Ú5ð"7ó 8ò$ó	8ó Cð
$ó*õ&ð ‡�×ÑØàˆ�‰‹	Øˆ�‰‹
Øˆ�Š‹
Øˆ�‰‹
Øˆ�
Š
‹Øˆ�
‰
‹Øˆ�
‰
‹Øˆ�Š�Q˜ÓØˆ�Š�Q˜ÓØˆ�‰�a˜ÓØˆ�‰�a˜Óðóð  ‡�×ÑÙàØˆ×Ò˜x˜rŸx™x›zÓ*Øˆ×Ò˜wÓ'Øˆ×Ò˜x˜rŸx™x›zÓ*ð	óò4óó!ñ24ô9ô<5õ4@øðgF ò Ø	ƒBðûð
 ò Ø	ƒBðûð ò Ø
ƒCðüó4ùó.sQ   ¸AA5 ½AB ÁAB Á=ABÂ96AB%ÁA5AB ÁA?AB ÁBABÁBABÁBABÁBAB