
    z-Ph7                        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	c m
Z n# e$ r dZY nw xY w	 d dlm	c mZ n# e$ r dZY nw xY w	 d dlZn# e$ r dZY nw xY wej        dk    r	 d dlZn# e$ r dZY nw xY w	 d dl
Zn# e$ r dZY nw xY wd dlZ ej         ej        dd                    Z ej         ej                              Z ej         ej                              Z ej         ej                              Z ej         ej                               Z! ej         ej"                              Z# ej         ej$                              Z% ej&        ej         ej'        d d                    Z( ej)        ee!e#e%e(          Z* ej+         ej,                     ej-                     ej.                     ej/                    g          Z0 ej+         ej1                     ej2                     ej3                     ej4                    g          Z5 ej)        e0e5          Z6 ej+         ej7                     ej8                     ej9                    g          Z: ej&        ej;         ej'        d	d
           ej'        d	d
                    Z< ej&        ej=         ej'        d	d           ej'        d	d                    Z> ej&        ej?         ej'        d	d           ej'        d	d                    Z@ ej&        ejA         ej'        d	d           ej'        d	d                    ZB ej)        e6e:e@eB          ZC ej+         ejD                     ejE                    g          ZF ej+         ejG        d           ejG        d           ejH        d           ejH        d          g          ZIer<er: ej)         ejJ                     ejK                     ejK                              ZKnker, ej)         ejJ                     ejK                              ZKn=er, ej)         ejJ                     ejK                              ZKn ejJ                    ZK ej&        ejL         ej+        g d          eK          ZM ej&        ejN         ej+        g d                    ZO ej         ejP                              ZQ ej)        eFeIeMeOeQ          ZR ej)        eeeCeRe*          ZS ejT         ej                     ej                              ZUejV        eSfd            ZWeSfdZXejV        eSfd            ZYd&dZZejV        eSeSfd            Z[eSdfdZ\ ej]        d           Z^ eWe^          Z_ e\e^          Z` ej'        d d          ZaejV        d'd            ZbejV        d'd            ZcejV        d(d             ZdejV        d)d!            ZeejV        d&d"            ZfejV        d&d#            Zg ede^          Zh eee^          Zi efe^          Zj ege^          Zk ej)        eee6 ej+         ej8                     ej9                    g          e@eFeIeQee!e#e%          Zl ej)        ee6ee!e(          Zmelfd$Zn ej]        d%           ZodS )*    Nwin32A   ~   )min_codepointmax_codepoint)alphabet   	min_value	max_value   	   )	precisionscale   &   L   smsusns)r   r   r   r   )unittzc                     | t                     } | |          }t          j                            |          rd}n | t	          j                              } | t                    }t          j        ||||          S )NT)typenullablemetadata)custom_textpatypesis_nullstbooleansr   field)drawtype_strategynametypr   metas         X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pyarrow/tests/strategies.pyfieldsr+      sz    4D
$}

C	x '4&&4>>D8DsXEEEE    c           	      j   t          j        t          j        |           t          j        t          j        |           z  t          j        t          j        | t          j        dd                    z  t          j        t          j        |           z  t          j        t          j        |           z  S )Nr   r	   r
   )r"   buildsr   list_
large_listintegers	list_viewlarge_list_viewitem_strategys    r*   
list_typesr6      s    
	"(M**
	"-//	0
	HK!r222	
 	
	
 		",..	/ 		"$m44	5
r,   c                    t          j        t          |                    } | |          }d |D             }t          j        t          t          |                    t          |          k               t          j        |          S )Nc                     g | ]	}|j         
S  )r'   ).0r$   s     r*   
<listcomp>z struct_types.<locals>.<listcomp>   s    ;;;%5:;;;r,   )	r"   listsr+   hassumelensetr   struct)r%   r5   fields_strategyfields_renderedfield_namess        r*   struct_typesrE      sx    hvm4455Od?++O;;?;;;KHS[!!""c+&6&667779_%%%r,   c           	      (   | t           } |ht          j        t          t          t          j        t          j                    t          j                    g          t          t          t                    }t          j        t          j        | |          S N)signed_integer_typesr"   one_of	bool_typeinteger_typessampled_fromr   float32float64binary_typestring_typefixed_size_binary_typer.   
dictionary)key_strategyvalue_strategys     r*   dictionary_typesrU      si    +ORZ\\2:<<899"
 
 9R]L.AAAr,   c                      | |          }t          j        t          j                            |                       | |          }t          j        ||          S rG   )r=   r>   r   r    r!   map_)r%   rS   r5   key_type
value_types        r*   	map_typesrZ      sW     tL!!HH!!(+++,,,m$$J78Z(((r,   c                     t          j        t          |           |          }t          j        t          j        |          S )N)max_size)r"   r<   r+   r.   r   schema)r&   
max_fieldschildrens      r*   schemasr`      s2    x}--
CCCH9RY)))r,   c                      t           t                      z  t                      z  t                      z  t	                      z  t          t
                    z  t          t
                    z  S rG   )primitive_typesr6   rE   rU   rZ   	all_typesr9   r,   r*   <lambda>rd      sd    		 		 			
 	9	 	Y	  r,      Tc                 `     | t          ||d                    }|                                S NFsizer   )arrays	to_pylist)r%   rY   ri   r   arrs        r*   _pylistrm      s.    
$vjte<<<
=
=C==??r,   c                      | |          } | t          ||d                    } | t          |||                    }t          t          ||                    S rg   )rm   listzip)r%   rX   rY   ri   r   lengthkeysvaluess           r*   _pymaprt     sc    T$ZZF4v>>>??DT'*6HEEEFFFD&!!"""r,   c           	         t          |t          j                  r | |          }n,t          |t          j                  r|}nt          d          t          |t          j                  r | |          }n7| | t                    }n$t          |t                    st          d          t          j        	                    |          r)t          j        |           t          j                    }nt          j                            |          rt          j                    }nt          j                            |          rH | t!          j        |                                |f                    }t          j        ||          S t          j                            |          r_ | t!          j        |                                |f                    }d|t+          j        |          <   t          j        ||          S t          j                            |          rt          j                     nt          j                            |          rt          j                    }nut          j                            |          rt          j                    }nAt          j                            |          rZt<          t?          j         d           |j!        t?          j         d           d}d	}tD          j"        #                    |d
z            tE          j$        d          z   }	tD          j"        #                    |d
z            tE          j$        d          z
  }
	 |j!        %                    d          }t          |d                   }t          |d                   }tE          j$        ||          }n)# tL          $ r t=          j'        |j!                  }Y nw xY wt          j(        t          j)        |          |	|
          }nt          j        *                    |          rt          j+                    }nt          j        ,                    |          rt          j+                    }n_t          j        -                    |          st          j        .                    |          rt          j/                    }nt          j        0                    |          st          j        1                    |          rt          j2                    }nt          j        3                    |          r"t          j/        |j4        |j4                  }nxt          j        5                    |          rtm          |j7        ||          }n@t          j        8                    |          rtm          |j7        ||          }nt          j        9                    |          rtm          |j7        |j:        |          }nt          j        ;                    |          rtm          |j7        ||          }nt          j        <                    |          rtm          |j7        ||          }n[t          j        =                    |          r6tm          |j7        ||          }t          j         | |          |          S t          j        >                    |          r#t          |j@        |jA        t          |          }nt          j        B                    |          rt          j        t          |          dk               g g }}|D ]I}|D                    |           |D                     | t#          |jE        |                               Jt          jF        G                    ||          S t          |          |r&t          jI        t          j                    |          }t          jJ        |||          }t          j         | |          |          S )NzType must be a pyarrow DataTypezSize must be an integer)shaper   g      Ez/no module named zoneinfo (or tzdata on Windows)zrequires timezone not Nonel         l    i ʚ;   )hours:r   r   )ry   minutes)	timezonesr   r   min_sizer\   rh   ri   )r+   )K
isinstancer"   SearchStrategyr   DataType	TypeError_default_array_sizesintr    r!   r=   r>   none
is_booleanr#   
is_integernpstrj   to_pandas_dtypearrayis_floatingnpisnan
is_decimalrejectis_timetimesis_datedatesis_timestampzoneinfopytestskipr   datetimefromtimestamp	timedeltasplit
ValueErrorZoneInfo	datetimesjustis_duration
timedeltasis_interval	is_binaryis_large_binarybinary	is_stringis_large_stringtextis_fixed_size_binary
byte_widthis_listrm   rY   is_large_listis_fixed_size_list	list_sizeis_list_viewis_large_list_viewis_dictionaryis_maprt   rX   	item_type	is_structr?   appendr   StructArrayfrom_arraysNotImplementedErrorrI   r<   )r%   r   ri   r   tyvaluers   	min_int64	max_int64min_datetimemax_datetimeoffsetoffset_hours
offset_minr   r+   child_arraysr$   s                     r*   rj   rj     s   $)** ;T$ZZ	D"+	&	& ;9:::$)** 3tDzz	t())c"" 31222	x L&						R	 	  I&			R	 	  G&dk""4"4"6"6tgFFFGGxR((((			b	!	! D&dk""4"4"6"6tgFFFGG $)rx xR((((			R	 	  >& 	




			"		 :&

			"		 8&

			r	"	" 6&KIJJJ5=K4555		(66   "*"42">">">?(66   "*"42">">">?	*U[[%%Fvay>>LVAYJ#,
KKKBB 	* 	* 	*"25))BBB	*rwr{{l'35 5 5			b	!	! "&			b	!	!  &			B		 &28#;#;B#?#? &				B		 &28#;#;B#?#? &				&	&r	*	* &	2=2=III			"		 &D8DDD				#	# &D8DDD		$	$R	(	( &BL8LLL			r	"	" &D8DDD		$	$R	(	( &D8DDD				#	# &THEEExV2....			 &r{BL7K (* * *			B		 &	R1!2 	E 	EEMM%   VEJT%B%B%B C CDDDD~)),v)FFF!"%%% ,	"'))U++XedT:::F8DDLLr****s   8AO #O98O9c                 >   t          |t          j                  r | |          }t          j        t
          j                            |                      t          ||          }t          j	        |||          }t          j
         | |          |          S )Nr   r}   rw   )r   r"   r   r=   r>   r   r    r   rj   r<   chunked_array)r%   r   
min_chunks
max_chunks
chunk_sizechunkchunkss          r*   chunked_arraysr   p  s    $)** tDzz H##D)))***4j)))EXej:FFFFDDLLt4444r,   c                 T    t          t          j                  r            n7  t                    n$t          t                    st          d            t          ||                    } fd|D             }t          j        	                    ||          S )NRows must be an integerr^   c                 N    g | ]!} t          |j                             "S r   rj   r   r:   r$   r%   rowss     r*   r;   z"record_batches.<locals>.<listcomp>  2    HHHVEJT22233HHHr,   r]   )
r   r"   r   r   r   r   r`   r   RecordBatchr   r%   r   r   r^   r]   r_   s   ` `   r*   record_batchesr   ~  s    $)** 3tDzz	t())c"" 31222T'$:66677FHHHHHHHHH >%%hv%>>>r,   c                 T    t          t          j                  r            n7  t                    n$t          t                    st          d            t          ||                    } fd|D             }t          j        	                    ||          S )Nr   r   c                 N    g | ]!} t          |j                             "S r   r   r   s     r*   r;   ztables.<locals>.<listcomp>  r   r,   r   )
r   r"   r   r   r   r   r`   r   Tabler   r   s   ` `   r*   tablesr     s    $)** 3tDzz	t())c"" 31222T'$:66677FHHHHHHHHH8888r,   c                     t          j        t          j        |           t          j        t          j        |           z  S rG   )r"   r.   r   r/   r0   r4   s    r*   pandas_compatible_list_typesr     s0     		"(M**
	"-//	0r,   c            
          t          j        t          t          t                    t	          t                    t          t                    t          t                    t	          t                              S )N)rT   )r"   rI   !pandas_compatible_primitive_typesr   rE   rU   (pandas_compatible_dictionary_value_typespandas_compatible_typesr9   r,   r*   rd   rd     s\    BI)$%FGG677C	
 	
 	
 	%%<==,--	 	 r,   )NN)T)NT)r   NN)pr   sysr   
hypothesisr=   hypothesis.strategies
strategiesr"   hypothesis.extra.numpyextranumpyr   ImportErrorhypothesis.extra.pytzpytztzstr   platformtzdatar   pyarrowr   r   
charactersr   r   null	null_typebool_rJ   r   rO   stringrP   large_binarylarge_binary_typelarge_stringlarge_string_typer.   r1   rQ   rI   binary_like_typesrL   int8int16int32int64rH   uint8uint16uint32uint64unsigned_integer_typesrK   float16rM   rN   floating_types	decimal32decimal32_type	decimal64decimal64_type
decimal128decimal128_type
decimal256decimal256_typenumeric_typesdate32date64
date_typestime32time64
time_typesr   r|   	timestamptimestamp_typesdurationduration_typesmonth_day_nano_intervalinterval_typestemporal_typesrb   dictionariesr   	compositer+   r6   rE   rU   rZ   r`   deferredrc   
all_fieldsall_schemasr   rm   rt   rj   r   r   r   
all_arraysall_chunked_arraysall_record_batches
all_tablesr   r   r   r   r9   r,   r*   <module>r%     s	  $  



      " " " " " "))))))))))   DDD((((((((((   DDDOOOO   HHH<7      	BBB     bgR]     BGGBGII	BGHBHJJ	bgibikk""bgibikk""BGOBO--.. BGOBO--.. "IBK!r***   BI   'rBGIIBHJJBHJJBHJJ	(    )BHJJBIKKBIKKBIKK	*    	.0FGG BJLLBJLLBJLL"  
 LbkA333
"+Q
/
/
/  
 LbkA444
"+R
0
0
0  
 ")MbkA444
"+R
0
0
0  
 ")MbkA444
"+R
0
0
0  
 	-)?< < R_BIKKBIKK  
 R_BIcNNBIdOOBIdOOBIdOO	  
  H 	'"'))^T^%5%5|r|~~FFII	 	'"'))^T^%5%566II 	'"'))\R\^^44II		I")L	000	1	1  
 KBO+++,,  335566  ")  2?72799gbgii00 . F F F F -     %4 & & & &B B B B !0+) ) ) ) *d * * * *
 BK 
 
	 VI
gi   #r{Q"===     
 # # # # a+ a+ a+ a+H 
5 
5 
5 
5 ? ? ? ? 
9 
9 
9 
9 VI
#^I.. #^I.. VI
 %.BIBOZRZ\\:2:<<011
 !% % !* ,529, , ( 4    &"+	 	    sQ   	" ,,	: AAA AA&A+ +A54A59A> >BB