Ë
    iKêjC  ã                   óÞ   — d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZ d d	lmZ d d
lmZmZmZmZmZ d dlmZ  eee¬«      Zd„ Z  G d„ dee   «      Z!y)é    )ÚCallableÚSequence)Ú	signature)ÚAny)ÚWeakKeyDictionary)Ú&check_sideeffect_during_initialization)ÚChoiceT)ÚConjectureData)Úconvert_keyword_argumentsÚconvert_positional_argumentsÚget_pretty_function_descriptionÚ	repr_call)ÚDeferredStrategy)ÚExÚRecurTÚSearchStrategyÚ_filter_location_overrideÚcurrent_filter_call_site)ÚThreadLocal)Úunwrap_depthÚunwrap_cachec                 óÚ  — t        | t        t        f«      s| S | j                  j	                  d«      x}�|S 	 t
        j                  |    S # t        $ r Y nw xY w| t
        j                  | <   t
        xj                  dz  c_        	 t        | j                  «      }|t
        j                  | <   	 |j                  | j                  k(  sJ ‚n# t        $ r Y nw xY w	 | j                  |_        n# t        $ r Y nw xY wt
        j                  dk(  rt        | t        «      r|| _        |t
        xj                  dz  c_        t
        j                  dk  rt
        j                  j                  «        t
        j                  dk\  sJ ‚S # t
        xj                  dz  c_        t
        j                  dk  rt
        j                  j                  «        t
        j                  dk\  sJ ‚w xY w)NÚ
_unwrappedé   r   )Ú
isinstanceÚLazyStrategyr   Ú__dict__ÚgetÚthreadlocalr   ÚKeyErrorr   Úunwrap_strategiesÚwrapped_strategyÚforce_has_reusable_valuesÚAttributeErrorr   Úclear)ÚsÚresults     úi/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/strategies/_internal/lazy.pyr!   r!   &   s­  € ä�aœ,Ô(8Ð9Ô:Øˆð —*‘*—.‘. Ó.Ð.ˆÐ;ØˆðÜ×'Ñ'¨Ñ*Ð*øÜò Ùðúð #$„K×Ñ˜QÑÜ×Ò Ñ!Õð-Ü" 1×#5Ñ#5Ó6ˆØ&,Œ× Ñ  Ñ#ð	Ø×3Ñ3°q×7RÑ7RÒRÐRÑRøÜò 	Ùð	úð	Ø/0×/JÑ/JˆFÕ,øÜò 	Ùð	úô ×#Ñ# qÒ(¬Z¸¼<Ô-HØ!ˆAŒLØä× Ò  AÑ%Õ Ü×#Ñ# qÒ(Ü×$Ñ$×*Ñ*Ô,Ü×'Ñ'¨1Ò,Ð,Ñ,øô 	× Ò  AÑ%Õ Ü×#Ñ# qÒ(Ü×$Ñ$×*Ñ*Ô,Ü×'Ñ'¨1Ò,Ð,Ñ,úsf   ¹A Á	AÁAÂ(F	 Â1C ÃF	 Ã	CÃF	 ÃCÃF	 ÃC/ Ã.F	 Ã/	C;Ã8F	 Ã:C;Ã;.F	 Æ	A!G*c                   ó:  ‡ — e Zd ZdZdddœdedee   f   dee   de	e
ef   d	eee
edef   e
dz  f   df   d
e
dz  f
ˆ fd„Zdedefd„Zdedefd„Zdedefd„Zdefd„Zedee   fd„«       Zddœd„Zd„ Zd„ Zdd„Zde
fd„Zdedefd„Zdedeedf   fd„Zˆ xZ S )r   zšA strategy which is defined purely by conversion to and from another
    strategy.

    Its parameter and distribution come from that other strategy.
    © N©Ú
transformsÚ
force_reprÚfunction.ÚargsÚkwargsr,   r-   c                óv   •— t         ‰| �  «        d | _        || _        || _        || _        || _        || _        y ©N)ÚsuperÚ__init__Ú_LazyStrategy__wrapped_strategyÚ_LazyStrategy__representationr.   Ú_LazyStrategy__argsÚ_LazyStrategy__kwargsÚ_transformations)Úselfr.   r/   r0   r,   r-   Ú	__class__s         €r(   r4   zLazyStrategy.__init__W   s=   ø€ ô 	‰ÑÔØ=AˆÔØ,6ˆÔØ ˆŒØˆŒØˆŒØ *ˆÕó    ÚrecurÚreturnc                 ó&   —  || j                   «      S r2   ©r"   ©r:   r=   s     r(   Úcalc_is_emptyzLazyStrategy.calc_is_emptyi   ó   € Ù�T×*Ñ*Ó+Ð+r<   c                 ó&   —  || j                   «      S r2   r@   rA   s     r(   Úcalc_has_reusable_valuesz%LazyStrategy.calc_has_reusable_valuesl   rC   r<   c                 ó¨   — | j                   | j                  j                  «       fD ])  }|D ]"  }t        |t        «      sŒ|j
                  rŒ!  y Œ+ y)NFT)r7   r8   Úvaluesr   r   Úis_cacheable)r:   r=   ÚsourceÚvs       r(   Úcalc_is_cacheablezLazyStrategy.calc_is_cacheableo   sN   € Ø—{‘{ D§M¡M×$8Ñ$8Ó$:Ð;ò 	!ˆFØò !�Ü˜a¤Õ0¸¿»Ú ñ!ð	!ð r<   c                 ó.   — | j                   j                  S r2   )r"   Úlabel)r:   s    r(   Ú
calc_labelzLazyStrategy.calc_labelv   s   € Ø×$Ñ$×*Ñ*Ð*r<   c                 óz  — | j                   �€t        d| «       t        d„ | j                  D «       «      }| j                  j                  «       D ��ci c]  \  }}|t        |«      “Œ }}} | j                  | j                  i | j                  ¤Ž}|| j                  k(  r|| j                  k(  r|}n | j                  |i |¤Ž}| j                  D ]6  \  }}}	t        j                  |	«      5   t        ||«      |«      }d d d «       Œ8 || _         | j                   €J ‚| j                   S c c}}w # 1 sw Y   ŒixY w)Nzlazy evaluation of {!r}c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr2   )r!   )Ú.0r&   s     r(   ú	<genexpr>z0LazyStrategy.wrapped_strategy.<locals>.<genexpr>~   s   è ø€ Ò"M¸AÔ#4°Q×#7Ñ"Mùs   ‚)r5   r   Útupler7   r8   Úitemsr!   r.   r9   r   Ú
with_valueÚgetattr)
r:   Úunwrapped_argsÚkrJ   Úunwrapped_kwargsÚbaseÚ_wrapped_strategyÚmethodÚfnÚlocations
             r(   r"   zLazyStrategy.wrapped_strategyy   sG  € à×"Ñ"Ñ*Ü2Ð3LÈdÔSä"Ñ"MÀÇÁÔ"MÓMˆNà48·M±M×4GÑ4GÓ4I÷ Ù,0¨A¨q�Ô$ QÓ'Ñ'ð Ðñ  ð !�4—=‘= $§+¡+Ð?°·±Ñ?ˆDØ §¡Ò,Ð1AÀTÇ]Á]Ò1RØ$(Ñ!à$1 D§M¡M°>Ð$VÐEUÑ$VÐ!Ø(,×(=Ñ(=ò OÑ$�˜˜Hô /×9Ñ9¸(ÓCñ OØ(J¬Ð0AÀ6Ó(JÈ2Ó(NÐ%÷Oð OðOð
 '8ˆDÔ#Ø×&Ñ&Ð2Ð2Ð2Ø×&Ñ&Ð&ùó! ÷Oð Oús   ÁD+Ã-D1Ä1D:	©r^   c          	      óÆ   — | j                   }|r|› d|› dt        |«      › d�}t        | j                  | j                  | j
                  g | j                  ¢|||f‘­|¬«      S )Nú.ú(ú)r+   )r6   r   r   r.   r7   r8   r9   )r:   r\   r]   r^   Úrepr_s        r(   Ú__with_transformzLazyStrategy.__with_transform‘   sn   € Ø×%Ñ%ˆÙØ�g˜Q˜v˜h aÔ(GÈÓ(KÐ'LÈAÐNˆEÜØ�M‰MØ�K‰KØ�M‰MØG˜×.Ñ.ÐG°¸¸XÐ0FÑGØô
ð 	
r<   c                 ó&   — | j                  d|«      S )NÚmap)Ú_LazyStrategy__with_transform)r:   Úpacks     r(   rg   zLazyStrategy.map�   s   € Ø×$Ñ$ U¨DÓ1Ð1r<   c                 ó:   — | j                  d|t        «       ¬«      S )NÚfilterr_   )rh   r   )r:   Ú	conditions     r(   rk   zLazyStrategy.filter    s%   € Ø×$Ñ$Ø�iÔ*BÓ*Dð %ó 
ð 	
r<   c                 ót   — | j                   }t        |t        «      sJ | ›d|›�«       ‚|j                  «        y )Nz returned non-strategy )r"   r   r   Úvalidate)r:   Úws     r(   Údo_validatezLazyStrategy.do_validate¥   s8   € Ø×!Ñ!ˆÜ˜!œ^Ô,ÐU°°Ð8OÐPQÈuÐ.UÓUÐ,Ø	�
‰
�r<   c                 ó  ‡— | j                   �€at        | j                  «      Š‰j                  j	                  «       D �cg c]  }d|j
                  j                  v sŒ|‘Œ }}t        |«      dkD  st        ˆfd„|D «       «      r/t        | j                  | j                  | j                  «      \  }}n.t        | j                  | j                  | j                  «      \  }}|j                  «       D ��ci c]1  \  }}|‰j                  vs|‰j                  |   j                  ur||“Œ3 }}}t        | j                  ||d¬«      dj!                  d„ | j"                  D «       «      z   | _         | j                   S c c}w c c}}w )NÚ
POSITIONALr   c              3   óN   •K  — | ]  }|j                   ‰j                  u–— Œ y ­wr2   )ÚdefaultÚempty)rQ   ÚpÚsigs     €r(   rR   z(LazyStrategy.__repr__.<locals>.<genexpr>®   s   øè ø€ Ò"KÀ! 1§9¡9°C·I±IÔ#=Ñ"Kùs   ƒ"%F)ÚreorderÚ c              3   óH   K  — | ]  \  }}}d |› dt        |«      › d�–— Œ y­w)ra   rb   rc   N)r   )rQ   r\   r]   Ú_s       r(   rR   z(LazyStrategy.__repr__.<locals>.<genexpr>½   s4   è ø€ ò á!�F˜B ð �F�8˜1Ô<¸RÓ@ÐAÀÔCñùs   ‚ ")r6   r   r.   Ú
parametersrG   ÚkindÚnameÚlenÚanyr   r7   r8   r   rT   rt   r   Újoinr9   )	r:   rv   ÚposÚ_argsÚ_kwargsrX   rJ   Úkwargs_for_reprrw   s	           @r(   Ú__repr__zLazyStrategy.__repr__ª   sP  ø€ Ø× Ñ Ñ(Ü˜DŸM™MÓ*ˆCØ!Ÿn™n×3Ñ3Ó5ÖU˜¸ÈÏÉÏÉÒ9T’1ÐUˆCÐUÜ�3‹x˜!Š|œsÓ"KÀsÔ"KÔKÜ!=Ø—M‘M 4§;¡;°·±ó"‘�‘wô ";Ø—M‘M 4§;¡;°·±ó"‘��wð
 $ŸM™M›O÷á�A�qØ˜CŸN™NÑ*¨a°s·~±~ÀaÑ7H×7PÑ7PÑ.Pð �1‘ðˆOñ ô
 %.Ø—‘˜u o¸uô%à—‘ñ à%)×%:Ñ%:ôó ñ%ˆDÔ!ð ×$Ñ$Ð$ùò) Vùós   Á E<ÁE<Ã66FÚdatac                 ó8   — |j                  | j                  «      S r2   )Údrawr"   )r:   r‡   s     r(   Údo_drawzLazyStrategy.do_drawÃ   s   € Ø�y‰y˜×.Ñ.Ó/Ð/r<   Úvaluec                 ó8   — | j                   j                  |«      S r2   )r"   Ú_invert)r:   r‹   s     r(   r�   zLazyStrategy._invertÆ   s   € Ø×$Ñ$×,Ñ,¨UÓ3Ð3r<   )r>   N)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   ÚobjectÚdictÚstrrS   r   r4   r   ÚboolrB   rE   rK   ÚintrN   Úpropertyr"   rh   rg   rk   rp   r†   r
   rŠ   r	   r�   Ú__classcell__)r;   s   @r(   r   r   P   sD  ø„ ñð NPØ!%ò+à˜3 ¨rÑ 2Ð2Ñ3ð+ð �vÑð+ð �S˜&�[Ñ!ð	+ð ˜%  X¨c°3¨hÑ%7¸¸t¹Ð CÑDÀcÐIÑJð+ð ˜$‘Jõ+ð$, 6ð ,¨dó ,ð,¨fð ,¸ó ,ð vð °$ó ð+˜Có +ð ð' .°Ñ"4ò 'ó ð'ð. 8<ô 

ò2ò
ó
ð
%˜#ó %ð20˜Nð 0¨ró 0ð4˜Sð 4 U¨7°C¨<Ñ%8÷ 4r<   r   N)"Úcollections.abcr   r   Úinspectr   Útypingr   Úweakrefr   Úhypothesis.configurationr   Ú%hypothesis.internal.conjecture.choicer	   Ú#hypothesis.internal.conjecture.datar
   Úhypothesis.internal.reflectionr   r   r   r   Ú(hypothesis.strategies._internal.deferredr   Ú*hypothesis.strategies._internal.strategiesr   r   r   r   r   Úhypothesis.utils.threadingr   r–   r   r!   r   r*   r<   r(   ú<module>r¤      sa   ð÷ /Ý Ý Ý %å KÝ 9Ý >÷ó õ F÷õ õ 3á sÐ9JÔK€ò'-ôTw4�> "Ñ%õ w4r<   