Ë
   –¬Ð/6ã                   óð  — d dl Zd dlmc mZ d dlZd dlZd dlm	Z	m
Z
mZ d dlmZmZmZ d dlmZ d dlmZ d dlmZmZ d dlmZ d dlmZ d d	lmZ d d
lm Z m!Z! d dl"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z< d dl=m>Z> d dl?m@Z@mAZAmBZBmCZC  G d„ de6eDe2df      «      ZEede6eDd      fd„«       ZFede6e2   de6eDe2      fd„«       ZFede6e.   de6e7   de6eDe.e7f      fd„«       ZFede6e.   de6e7   de6e/   de6eDe.e7e/f      fd„«       ZFede6e.   de6e7   de6e/   d e6e0   de6eDe.e7e/e0f      f
d!„«       ZFede6e.   de6e7   de6e/   d e6e0   d"e6e1   de6eDe.e7e/e0e1f      fd#„«       ZFed$e6e   de6eDedf      fd%„«       ZFe; e<«       d$e6e   de6eDedf      fd&„«       «       ZF G d'„ d(e6eGe2      «      ZH G d)„ d*eHe2   «      ZI G d+„ d,eI«      ZJ G d-„ d.e6eeef      «      ZKy)/é    N)ÚCallableÚIterableÚMapping)ÚAnyÚ	TypeGuardÚoverload)Ú
strategies)Úcurrent_build_context)ÚCannotInvertÚInvalidArgument)Úadd_note)Úutils)ÚChoiceT)ÚUNIQUE_COLLECTION_LABELÚConjectureData)ÚBUFFER_SIZE)ÚLazySequenceCopyÚequal_values)Úcombine_labels)Úget_integer_predicate_bounds)Úis_identity_function)ÚT1ÚT3ÚT4ÚT5ÚExÚFilteredStrategyÚRecurTÚSampledFromStrategyÚSearchStrategyÚTÚcheck_strategyÚfilter_not_satisfied)Ú	cacheableÚdefines_strategy)ÚUniqueIdentifier)Ú
ArgLabelsTÚIDKeyÚ_fixeddict_pprinterÚ_tuple_pprinterc                   ó¨   ‡ — e Zd ZdZdeee      fˆ fd„Zdd„Zde	fd„Z
defd„Zdedefd	„Zd
edeedf   fd„Zdedeedf   fd„Zdedefd„Zˆ xZS )ÚTupleStrategyzpA strategy responsible for fixed length tuples based on heterogeneous
    strategies for each of their elements.r	   c                 óB   •— t         ‰| �  «        t        |«      | _        y ©N)ÚsuperÚ__init__ÚtupleÚelement_strategies)Úselfr	   Ú	__class__s     €úp/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/strategies/_internal/collections.pyr0   zTupleStrategy.__init__8   s   ø€ Ü‰ÑÔÜ"'¨
Ó"3ˆÕó    Úreturnc                 óF   — | j                   D ]  }|j                  «        Œ y r.   )r2   Úvalidate)r3   Úss     r5   Údo_validatezTupleStrategy.do_validate<   s    € Ø×(Ñ(ò 	ˆAØ�J‰J�Lñ	r6   c                 óP   — t        | j                  gd„ | j                  D «       ¢­Ž S )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wr.   )Úlabel)Ú.0r:   s     r5   ú	<genexpr>z+TupleStrategy.calc_label.<locals>.<genexpr>B   s   è ø€ ÒI¨A §¥ÑIùs   ‚)r   Úclass_labelr2   ©r3   s    r5   Ú
calc_labelzTupleStrategy.calc_label@   s+   € ÜØ×Ñð
ÙI°×1HÑ1HÔIò
ð 	
r6   c                 ó`   — dj                  t        t        | j                  «      «      }d|› d�S )Nú, zTupleStrategy((z)))ÚjoinÚmapÚreprr2   )r3   Útuple_strings     r5   Ú__repr__zTupleStrategy.__repr__E   s,   € Ø—y‘y¤¤T¨4×+BÑ+BÓ!CÓDˆØ   ¨bÐ1Ð1r6   Úrecurc                 ó@   ‡— t        ˆfd„| j                  D «       «      S )Nc              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr.   © ©r?   ÚerK   s     €r5   r@   z9TupleStrategy.calc_has_reusable_values.<locals>.<genexpr>J   ó   øè ø€ Ò= ‘5˜—8Ñ=ùó   ƒ)Úallr2   ©r3   rK   s    `r5   Úcalc_has_reusable_valuesz&TupleStrategy.calc_has_reusable_valuesI   ó   ø€ ÜÓ= T×%<Ñ%<Ô=Ó=Ð=r6   Údata.c                 ót  — t        «       }i }g }t        | j                  «      D ]H  \  }}|j                  d|› d�«      5 }|j	                  |j                  |«      «       d d d «       |z  }ŒJ t        |«      }|r0|j                  t        |«         j	                  t        |«      «       |S # 1 sw Y   ŒOxY w)Nzarg[ú])
r
   Ú	enumerater2   Útrack_arg_labelÚappendÚdrawr1   Úknown_object_printersr(   r*   )r3   rW   ÚcontextÚ
arg_labelsÚresultÚiÚstrategyÚ	arg_labels           r5   Údo_drawzTupleStrategy.do_drawL   s¸   € Ü'Ó)ˆØ!#ˆ
ØˆÜ$ T×%<Ñ%<Ó=ò 	$‰KˆAˆxØ×%Ñ%¨¨Q¨C¨q kÓ2ð 3°iØ—‘˜dŸi™i¨Ó1Ô2÷3à˜)Ñ#‰Jð	$ô
 �v“ˆÙØ×)Ñ)¬%°«-Ñ8×?Ñ?Ü 
Ó+ôð ˆ÷3ð 3ús   ¿!B.Â.B7	Úvaluec                 ó¬  — t        |t        «      r!t        |«      t        | j                  «      k7  r#t	        |›dt        | j                  «      › �«      ‚g }t        t        | j                  |d¬«      «      D ])  \  }\  }}	 |j                  |j                  |«      «       Œ+ t        |«      S # t        $ r}t        |d|› d|›d| ›�«       ‚ d }~ww xY w)Nz is not a tuple of length T©Ústrictú	at index ú of ú, strategy=)
Ú
isinstancer1   Úlenr2   r   rZ   ÚzipÚextendÚ_invertr   )r3   rf   Úchoicesrb   rc   ÚelementÚexcs          r5   rq   zTupleStrategy._invert\   sÛ   € Ü˜%¤Ô'¬3¨u«:¼¸T×=TÑ=TÓ9UÒ+UÜØ�)Ð5´c¸$×:QÑ:QÓ6RÐ5SÐTóð ð "$ˆÜ&/Ü�×'Ñ'¨°tÔ<ó'
ò 	Ñ"ˆAÑ"�˜'ðØ—‘˜x×/Ñ/°Ó8Õ9ð		ô �W‹~Ðøô  ò Ü˜ 	¨!¨¨D°°	¸ÀTÀHÐMÔNØûðús   Â B/Â/	CÂ8CÃCc                 ó@   ‡— t        ˆfd„| j                  D «       «      S )Nc              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr.   rN   rO   s     €r5   r@   z.TupleStrategy.calc_is_empty.<locals>.<genexpr>m   rQ   rR   )Úanyr2   rT   s    `r5   Úcalc_is_emptyzTupleStrategy.calc_is_emptyl   rV   r6   ©r7   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r    r   r0   r;   ÚintrC   ÚstrrJ   r   ÚboolrU   r   r1   r   re   r   rq   rx   Ú__classcell__©r4   s   @r5   r,   r,   4   s˜   ø„ ñ.ð4 8¨N¸3Ñ,?Ñ#@õ 4óð
˜Có 
ð
2˜#ó 2ð>¨fð >¸ó >ð˜Nð ¨u°R¸°W©~ó ð ˜Sð  U¨7°C¨<Ñ%8ó ð > 6ð >¨d÷ >r6   r,   .r7   rN   c                   ó   — y r.   rN   rN   r6   r5   Útuplesr„   p   s   € Ø+.r6   Ú__a1c                  ó   — y r.   rN   )r…   s    r5   r„   r„   t   s   € ØCFr6   Ú__a2c                  ó   — y r.   rN   )r…   r‡   s     r5   r„   r„   x   s   € ð $'r6   Ú__a3c                  ó   — y r.   rN   )r…   r‡   r‰   s      r5   r„   r„   ~   s   € ð (+r6   Ú__a4c                  ó   — y r.   rN   )r…   r‡   r‰   r‹   s       r5   r„   r„   „   s   € ð ,/r6   Ú__a5c                  ó   — y r.   rN   )r…   r‡   r‰   r‹   r�   s        r5   r„   r„   �   s   € ð 03r6   Úargsc                   ó   — y r.   rN   )r�   s    r5   r„   r„   —   s   € ð '*r6   c                  ó<   — | D ]  }t        |«       Œ t        | «      S )a9  Return a strategy which generates a tuple of the same length as args by
    generating the value at index i from args[i].

    e.g. tuples(integers(), integers()) would generate a tuple of length
    two with both values an integer.

    Examples from this strategy shrink by shrinking their component parts.
    )r"   r,   )r�   Úargs     r5   r„   r„   �   s(   € ð ò ˆÜ�sÕðô ˜ÓÐr6   c                   óN  ‡ — e Zd ZU dZeeeefZee	e
ge
f   df   ed<   dej                  fdee   dedeez  dz  fˆ fd	„Zd
efd„Zdd„Zded
efd„Zded
ee   fd„Zde
d
eedf   fd„Zd
efd„Zede	ee   gee   f   d
dfd„«       Z ede	ee   ge
f   d
dfd„«       Z d„ Z ˆ xZ!S )ÚListStrategyz‘A strategy for lists which takes a strategy for its elements and the
    allowed lengths, and generates lists with the correct size and contents..Ú_nonempty_filtersr   ÚelementsÚmin_sizeÚmax_sizeNc                 ó²  •— t         ‰| �  «        |xs d| _        |�|nt        j                  | _        d}| j                  }||k  }| j
                  }||k  }|r|�st        j                  d||fd|||f«      t        j                  |«      dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      dœz  }	dd|	iz  }
t        t        j                  |
«      «      ‚d x}x}x}x}}t        t        | j                  dz  | j                  d	z   «      d
| j                  | j
                  z   z  «      | _        || _        |t$        kD  rt'        | ›d�«      ‚y )Nr   )ú<=rš   )z0%(py1)s <= %(py6)s
{%(py6)s = %(py4)s.min_size
}zN%(py6)s
{%(py6)s = %(py4)s.min_size
} <= %(py9)s
{%(py9)s = %(py7)s.max_size
}r3   )Úpy1Úpy4Úpy6Úpy7Úpy9zassert %(py11)sÚpy11é   é   ç      à?zÖ can never generate a value, because min_size is larger than Hypothesis supports.  Including it is at best slowing down your tests for no benefit; at worst making them fail (maybe flakily) with a HealthCheck error.)r/   r0   r—   ÚmathÚinfr˜   Ú
@pytest_arÚ_call_reprcompareÚ	_safereprÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚAssertionErrorÚ_format_explanationÚminÚmaxÚaverage_sizeÚelement_strategyr   r   )r3   r–   r—   r˜   Ú@py_assert0Ú@py_assert5Ú@py_assert2Ú@py_assert8Ú@py_assert3Ú@py_format10Ú@py_format12r4   s              €r5   r0   zListStrategy.__init__´   sM  ø€ ô 	‰ÑÔØ š AˆŒØ$,Ð$8™¼d¿h¹hˆŒØÐ2�D—M‘MÐ2ˆq�MÑ2Ð2 T§]¡]Ð2�M ]Ñ2×2×2×2Ñ2ˆq�M ]×2×2Ó2ˆq×2×2×2×2×2Ð2�D×2×2Ó2�D×2×2Ô2�M×2×2×2×2×2Ð2 T×2×2Ó2 T×2×2Ô2 ]×2×2×2×2×2×2×2ÜÜ�—‘ Ñ! 4§=¡=°1Ñ#4Ó5Ø�4—=‘= 4§=¡=Ñ0Ñ1ó
ˆÔð !)ˆÔØ”kÒ!Ü!Ø�(ð 'ð 'óð ð "r6   r7   c                 óV   — t        | j                  | j                  j                  «      S r.   )r   rA   r±   r>   rB   s    r5   rC   zListStrategy.calc_labelË   s!   € Ü˜d×.Ñ.°×0EÑ0E×0KÑ0KÓLÐLr6   c                 ó<  — | j                   j                  «        | j                  rt        d| j                   ›d�«      ‚| j                   j                  rGd| j                  cxk  rt        d«      k  r(n y t        d| j                  ›d| j                   ›�«      ‚y y )Nz@Cannot create non-empty lists with elements drawn from strategy z because it has no values.r   r¥   z'Cannot create a collection of max_size=z=, because no elements can be drawn from the element strategy )r±   r9   Úis_emptyr   r˜   ÚfloatrB   s    r5   r;   zListStrategy.do_validateÎ   s¡   € Ø×Ñ×&Ñ&Ô(Ø�=Š=Ü!ðØ ×1Ñ1Ð4Ð4NðPóð ð × Ñ ×)Ò)¨a°$·-±-Ô.NÄ%ÈÃ,Õ.NÜ!Ø9¸$¿-¹-Ð9Jð KNà×(Ñ(Ð+ð-óð ð /OÐ)r6   rK   c                 óF   — | j                   dk(  ry || j                  «      S )Nr   F)r—   r±   rT   s     r5   rx   zListStrategy.calc_is_emptyÜ   s"   € Ø�=‰=˜AÒØÙ�T×*Ñ*Ó+Ð+r6   rW   c                 ó¸  — | j                   j                  rÊ| j                  }d}||k(  }|s­t        j                  d|fd||f«      dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}g S t        j                  || j                  | j                  | j                  ¬«      5 }|D �cg c]  }|j                  | j                   «      ‘Œ c}cd d d «       S c c}w # 1 sw Y   y xY w)	Nr   ©ú==©z0%(py2)s
{%(py2)s = %(py0)s.min_size
} == %(py5)sr3   ©Úpy0Úpy2Úpy5úassert %(py7)srž   ©r—   r˜   r°   )r±   r»   r—   r¦   r§   r©   rª   r«   r¨   r¬   r­   ÚcuÚmanyr˜   r°   r]   )	r3   rW   Ú@py_assert1Ú@py_assert4r¶   Ú@py_format6Ú@py_format8r–   Ú_s	            r5   re   zListStrategy.do_drawá   sð   € Ø× Ñ ×)Ò)Ø—=‘=Ð% AÐ%�= AÑ%×%×%Õ%�= A×%×%×%×%×%Ñ%�4×%×%Ó%�4×%×%Ô%�=×%×%Ò% A×%×%×%×%×%×%Ó%ØˆIä�W‰WØØ—]‘]Ø—]‘]Ø×*Ñ*ô	
ð 	Hð
 Ø>FÖG¸�D—I‘I˜d×3Ñ3Õ4ÒG÷	Hñ 	Hùò H÷	Hð 	Hús   ÄEÄ"EÄ?EÅEÅErf   c                 óþ  — t        |t        «      st        |›d�«      ‚| j                  t	        |«      cxk  r| j
                  k  s6n t        dt	        |«      › d| j                  › d| j
                  ›d| ›�«      ‚| j                  j                  r|rt        d| ›d�«      ‚yt        j                  | j                  | j
                  «      }g }t        |«      D ]O  \  }}|j                  |j                  «       «       	 |j                  | j                  j                  |«      «       ŒQ |j                  |j                  «       «       t!        |«      S # t        $ r}t        |d	|› d
|›d| ›�«       ‚ d }~ww xY w)Nú is not a listúlen=ú
 outside [rE   ú] for zelements of z
 are emptyrN   rj   rk   rl   )rm   Úlistr   r—   rn   r˜   r±   r»   rÈ   Úinvert_manyrZ   rp   Úmorerq   r   Údoner1   ©r3   rf   r–   rr   rb   rs   rt   s          r5   rq   zListStrategy._invertî   sX  € Ü˜%¤Ô&Ü % ¨.Ð9Ó:Ð:Ø—‘¤ U£Ô<¨t¯}©}Ô<ÜØ”s˜5“z�lð #Ø—M‘M�? " T§]¡]Ð$5°V¸D¸8ðEóð ð × Ñ ×)Ò)áÜ" \°$°¸Ð#DÓEÐEØÜ—>‘> $§-¡-°·±Ó?ˆØ!#ˆÜ# EÓ*ò 	‰JˆAˆwØ�N‰N˜8Ÿ=™=›?Ô+ðØ—‘˜t×4Ñ4×<Ñ<¸WÓEÕFð	ð 	�‰�x—}‘}“Ô'Ü�W‹~Ðøô	  ò Ü˜ 	¨!¨¨D°°	¸ÀTÀHÐMÔNØûðús   Ä*EÅ	E<Å!E7Å7E<c                 ó†   — | j                   j                  › d| j                  ›d| j                  d›d| j                  d›d�S )Nú(z, min_size=rÎ   z, max_size=ú))r4   rz   r±   r—   r˜   rB   s    r5   rJ   zListStrategy.__repr__  sK   € à�~‰~×&Ñ&Ð' q¨×)>Ñ)>Ð(Að BØŸ™ aÐ(¨°D·M±MÀ!Ð3DÀAðGð	
r6   Ú	conditionzSearchStrategy[T]c                  ó   — y r.   rN   ©r3   rÜ   s     r5   ÚfilterzListStrategy.filter  s   € ð "r6   zSearchStrategy[list[Ex]]c                  ó   — y r.   rN   rÞ   s     r5   rß   zListStrategy.filter  s   € ð &)r6   c                 óü  — || j                   v st        |«      �r| j                  }d}||k\  }|sÃt        j                  d|fd||f«      dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dœz  }t        j                  d«      dz   d|iz  }t        t        j                  |«      «      ‚d x}x}}| j                  dk\  r| S t        j                  | «      }d|_        |S t        |«      \  }}	|j                  d	«      �r d
|v sd|v �rt        j                  | «      }t!        | j                  |j                  d
| j                  «      «      |_        t#        | j                  |j                  d| j                  «      «      |_        |j                  |j                  kD  rt%        j&                  | |«      S t#        t!        |j                  dz  |j                  dz   «      d|j                  |j                  z   z  «      |_        |	€|S t%        j&                  ||«      S t%        j&                  | |«      S )Né   )ú>=)z0%(py2)s
{%(py2)s = %(py0)s.max_size
} >= %(py5)sr3   rÂ   z+Always-empty is special cased in st.lists()z
>assert %(py7)srž   rn   Ú	min_valueÚ	max_valuer¡   r¢   r£   )r•   r   r˜   r¦   r§   r©   rª   r«   r¨   Ú_format_assertmsgr¬   r­   r—   Úcopyr   Úgetr¯   r®   r    rß   r°   )
r3   rÜ   rÊ   rË   r¶   rÌ   rÍ   ÚnewÚconstraintsÚpreds
             r5   rß   zListStrategy.filter  sÑ  € Ø˜×.Ñ.Ñ.Ô2FÀyÕ2QØ—=‘=ÐT AÐT�= AÑ%×T×TÕT�= A×T×T×T×T×TÑT�4×T×TÓT�4×T×TÔT�=×T×TÒT A×T×T×TÐ'T×T×T×T×T×T×TÐTØ�}‰} Ò!Ø�Ü—)‘)˜D“/ˆCØˆCŒLØˆJä8¸ÓCÑˆ�TØ�?‰?˜5Õ!Ø˜;Ñ&¨+¸Ò*Dä—)‘)˜D“/ˆCÜØ—‘˜{Ÿ™¨{¸D¿M¹MÓJóˆCŒLô Ø—‘˜{Ÿ™¨{¸D¿M¹MÓJóˆCŒLð �|‰|˜cŸl™lÒ*Ü%×,Ñ,¨T°9Ó=Ð=ä"Ü�C—L‘L 1Ñ$ c§l¡l°QÑ&6Ó7Ø�s—|‘| c§l¡lÑ2Ñ3ó ˆCÔð ˆ|Ø�
Ü!×(Ñ(¨¨iÓ8Ð8ä×$Ñ$ T¨9Ó5Ð5r6   ry   )"rz   r{   r|   r}   r€   rn   r1   rÔ   r•   r   r   Ú__annotations__r¤   r¥   r    r   r~   r¼   r0   rC   r;   r   rx   r   re   r   rq   r   rJ   r   r   r!   rß   r�   r‚   s   @r5   r”   r”   ®   sH  ø… ñPð <@ÀÀeÈTÐ:RÐ�u˜X s e¨S jÑ1°3Ð6Ñ7ÓRð
 Ø'+§x¡xñ	à  Ñ$ðð ðð ˜#‘+ Ñ$õ	ð.M˜Có Móð, 6ð ,¨dó ,ð
H˜Nð H¨t°B©xó Hð˜Sð  U¨7°C¨<Ñ%8ó ð2
˜#ó 
ð ð"Ø! 4¨¡8 *¨i¸©lÐ":Ñ;ð"à	ò"ó ð"ð ð)Ø! 4¨¡8 *¨c /Ñ2ð)à	#ò)ó ð)ö 6r6   r”   c                   óÎ   ‡ — e Zd Zdee   dedeez  dz  deeege	f   df   deeedf      dz  f
ˆ fd„Z
d	ed
ee   fd„Zdee	   d
dfd„Zde	d
ee	   fd„Zde	d
eedf   fd„Zˆ xZS )ÚUniqueListStrategyr–   r—   r˜   NÚkeys.Útuple_suffixesc                 óD   •— t         ‰| �  |||«       || _        || _        y r.   )r/   r0   rï   rð   )r3   r–   r—   r˜   rï   rð   r4   s         €r5   r0   zUniqueListStrategy.__init__9  s%   ø€ ô 	‰Ñ˜ 8¨XÔ6ØˆŒ	Ø,ˆÕr6   rW   r7   c           
      óV  ‡ ‡— ‰ j                   j                  rÊ‰ j                  }d}||k(  }|s­t        j                  d|fd||f«      dt        j                  «       v st        j                  ‰ «      rt        j                  ‰ «      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}g S t        d„ ‰ j                  D «       «      Šg }d	t        d
t        fˆˆ fd„}t        ‰ j                   |f¬«      }	|j!                  t"        «       |j$                  dk(  rd|_        	 t)        j*                  |‰ j                  ‰ j,                  ‰ j.                  ¬«      5 }
|
D �]ô  }|xj$                  dz  c_        	 |	j1                  |«      }|xj$                  dz  c_        |t2        u r|
j5                  d|	›�«       Œ]t7        |t8        «      }| }|�sddt        j                  «       v st        j                  t6        «      rt        j                  t6        «      nddt        j                  «       v st        j                  |«      rt        j                  |«      nddt        j                  «       v st        j                  t8        «      rt        j                  t8        «      ndt        j                  |«      dœz  }t        t        j                  |«      «      ‚d x}}t;        ‰ j                  ‰d¬«      D ]  \  }}|j=                   ||«      «       Œ ‰ j>                  �|g|jA                  ‰ j>                  «      ¢­}|jC                  |«       �Œ÷ 	 d d d «       |jE                  «        ‰ j,                  }tG        |«      }||k\  }‰ j                  }||k\  }|r|�sŽt        j                  d||fd|||f«      dt        j                  «       v st        j                  ‰ «      rt        j                  ‰ «      ndt        j                  |«      dt        j                  «       v st        j                  tF        «      rt        j                  tF        «      nddt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dt        j                  «       v st        j                  ‰ «      rt        j                  ‰ «      ndt        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}x}}|S # |xj$                  dz  c_        w xY w# 1 sw Y   �Œ xY w# |jE                  «        w xY w)Nr   r¿   rÁ   r3   rÂ   rÆ   rž   c              3   ó0   K  — | ]  }t        «       –— Œ y ­wr.   ©Úset©r?   rÎ   s     r5   r@   z-UniqueListStrategy.do_draw.<locals>.<genexpr>L  ó   è ø€ Ò.H¸¬s¯uÑ.Hùó   ‚Úvalr7   c                 óZ   •‡ — t        ˆ fd„t        ‰j                  ‰d¬«      D «       «      S )Nc              3   ó8   •K  — | ]  \  }} |‰«      |v–— Œ y ­wr.   rN   )r?   ÚkeyÚseenrù   s      €r5   r@   zMUniqueListStrategy.do_draw.<locals>.not_yet_in_unique_list.<locals>.<genexpr>W  s&   øè ø€ ò á�C˜ñ �C“ Ô$ñùó   ƒTrh   )rS   ro   rï   )rù   Ú	seen_setsr3   s   `€€r5   Únot_yet_in_unique_listz:UniqueListStrategy.do_draw.<locals>.not_yet_in_unique_listV  s*   ù€ Üó ä!$ T§Y¡Y°	À$Ô!Gôó ð r6   )Ú
conditionsrÇ   râ   z'Aborted test because unable to satisfy z9assert not %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}rm   rf   r&   )rÃ   r›   rÄ   rœ   Trh   ©rã   rã   ©zN%(py2)s
{%(py2)s = %(py0)s.max_size
} >= %(py8)s
{%(py8)s = %(py5)s(%(py6)s)
}zP%(py8)s
{%(py8)s = %(py5)s(%(py6)s)
} >= %(py11)s
{%(py11)s = %(py9)s.min_size
}rn   ra   ©rÃ   rÄ   rÅ   r�   Úpy8rŸ   r    úassert %(py13)sÚpy13)$r±   r»   r—   r¦   r§   r©   rª   r«   r¨   r¬   r­   r1   rï   r   r€   r   Ú
start_spanr   Úunique_element_depthÚsimplest_indexrÈ   rÉ   r˜   r°   Údo_filtered_drawr#   Úrejectrm   r&   ro   Úaddrð   r]   r\   Ú	stop_spanrn   )r3   rW   rÊ   rË   r¶   rÌ   rÍ   ra   r   Úfilteredr–   rÎ   rf   r³   rü   rý   Ú@py_assert7Ú@py_assert10r¸   Ú@py_format14rÿ   s   `                   @r5   re   zUniqueListStrategy.do_drawG  s¼  ù€ Ø× Ñ ×)Ò)Ø—=‘=Ð% AÐ%�= AÑ%×%×%Õ%�= A×%×%×%×%×%Ñ%�4×%×%Ó%�4×%×%Ô%�=×%×%Ò% A×%×%×%×%×%×%Ó%ØˆIä).Ñ.H¸d¿i¹iÔ.HÓ)Hˆ	ð
 ˆð
	¬ð 	¬tö 	ô $Ø×!Ñ!Ð/EÐ.Gô
ˆð 	�‰Ô/Ô0Ø×$Ñ$¨Ò)ð
 #$ˆDÔð	Ü—‘ØØŸ™ØŸ™Ø!×.Ñ.ô	ð -ð
 Ø!ó -�AØ×-Ò-°Ñ2Õ-ð7Ø (× 9Ñ 9¸$Ó ?˜à×1Ò1°QÑ6Õ1ØÔ 4Ñ4Ø Ÿ™ØEÀhÀ\ÐRõô $.¨eÔ5EÓ#FÐFÐ#FÐFÐFÒF×F×F×F×FÕF¤:×F×FÓF¤:×F×F×F×F×FÒF¨e×F×FÓF¨e×F×F×F×F×FÒFÔ5E×F×FÓFÔ5E×F×FÔFÐ#F×F×F×F×F×FÒFÜ),¨T¯Y©Y¸	È$Ô)Oò 1™I˜C Ø ŸH™H¡S¨£ZÕ0ð1à×.Ñ.Ð:Ø%*Ð$L¨T¯Y©Y°t×7JÑ7JÓ-KÑ$L˜EØŸ™ eÖ,ñ!-÷-ð0 �N‰NÔØ�}‰}Ð<¤ F£Ð<ˆ} Ñ<Ð<¨t¯}©}Ð< ¨}Ñ<×<×<×<Ñ<ˆ} ¨}×<×<×<×<×<Ñ<ˆt×<×<Ó<ˆt×<×<Ô<ˆ}×<×<×<×<×<Ð<¤×<×<Ó<¤×<×<×<×<×<Ò< F×<×<Ó< F×<×<Ô< ×<×<×<×<×<Ð<¨t×<×<Ó<¨t×<×<Ô<¨}×<×<×<×<×<×<×<Øˆøð ×1Ò1°QÑ6Ö1ú÷-ñ -ûð0 �N‰NÕús=   Å7V ÆV	Æ,U/Æ=GV	ÎV Õ/VÖV	Ö	VÖV ÖV(c                 óî   — | j                   D ]J  }	 t        t        ||«      «      }t        t	        |«      «      t        |«      k(  }|rŒ<t        |›d| ›�«      ‚ y # t
        $ r t        d| ›�«      d ‚w xY w)Nz&could not compute uniqueness keys for z has duplicate keys for )rï   rÔ   rG   rn   rõ   Ú	Exceptionr   )r3   r–   Úkeyfuncrï   Úuniques        r5   Ú_check_unique_keysz%UniqueListStrategy._check_unique_keysƒ  sŠ   € Ø—y‘yò 		TˆGðÜœC ¨Ó2Ó3�ÜœS ›Y›¬3¨t«9Ñ4�ò
 Ü" h \Ð1IÈ$ÈÐ#RÓSÐSñ		Tøô ò Ü"Ø<¸T¸HÐEóàððús   ‘5AÁA4rf   c                 ó®   — t        |t        «      st        |›d�«      ‚t        d„ |D «       «      st        |›d�«      ‚|D �cg c]  }|d   ‘Œ	 c}S c c}w )NrÐ   c              3   óD   K  — | ]  }t        |t        «      xr |–— Œ y ­wr.   )rm   r1   )r?   rP   s     r5   r@   z5UniqueListStrategy._split_suffixed.<locals>.<genexpr>•  s   è ø€ Ò=°!”:˜a¤Ó'Ò-¨AÓ-Ñ=ùs   ‚ z! is not a list of nonempty tuplesr   )rm   rÔ   r   rS   )r3   rf   rP   s      r5   Ú_split_suffixedz"UniqueListStrategy._split_suffixed�  sY   € ô ˜%¤Ô&Ü % ¨.Ð9Ó:Ð:ÜÑ=°uÔ=Ô=Ü % Ð*KÐLÓMÐMØ#Ö$˜��!“Ò$Ð$ùÒ$s   ÁAc                 óŠ  — | j                   €'| j                  |«       t        j                  | |«      S | j                  | j	                  |«      «       | j
                  t        |«      cxk  r| j                  k  s6n t        dt        |«      › d| j
                  › d| j                  ›d| ›�«      ‚t        j                  | j
                  | j                  «      }g }t        |«      D ]ˆ  \  }}|j                  |j                  «       «       	 |j                  | j                  j                  |d   «      «       |j                  | j                   j                  t        |dd  «      «      «       ŒŠ |j                  |j#                  «       «       t        |«      S # t        $ r}t!        |d|› d|›d	| ›�«       ‚ d }~ww xY w)
NrÑ   rÒ   rE   rÓ   r   râ   rj   rk   rl   )rð   r  r”   rq   r  r—   rn   r˜   r   rÈ   rÕ   rZ   rp   rÖ   r±   r1   r   r×   rØ   s          r5   rq   zUniqueListStrategy._invert™  s‡  € Ø×ÑÐ&ð ×#Ñ# EÔ*Ü×'Ñ'¨¨eÓ4Ð4Ø×Ñ × 4Ñ 4°UÓ ;Ô<Ø—‘¤ U£Ô<¨t¯}©}Ô<ÜØ”s˜5“z�lð #Ø—M‘M�? " T§]¡]Ð$5°V¸D¸8ðEóð ô —>‘> $§-¡-°·±Ó?ˆØ!#ˆÜ# EÓ*ò 	‰JˆAˆwØ�N‰N˜8Ÿ=™=›?Ô+ðØ—‘˜t×4Ñ4×<Ñ<¸WÀQ¹ZÓHÔIØ—‘˜t×2Ñ2×:Ñ:¼5ÀÈÈÀÓ;MÓNÕOð		ð 	�‰�x—}‘}“Ô'Ü�W‹~Ðøô	  ò Ü˜ 	¨!¨¨D°°	¸ÀTÀHÐMÔNØûðús   ÄA#FÆ	GÆ'F=Æ=G)rz   r{   r|   r    r   r~   r¼   r1   r   r   r0   r   rÔ   re   r  r  r   rq   r�   r‚   s   @r5   rî   rî   8  sÒ   ø„ ð-à  Ñ$ð-ð ð-ð ˜#‘+ Ñ$ð	-ð �H˜b˜T 3˜YÑ'¨Ð,Ñ-ð-ð ' u¨R°¨W¡~Ñ6¸Ñ=õ-ð:˜Nð :¨t°B©xó :ðx
T¨4°©9ð 
T¸ó 
Tð% Sð %¨T°#©Yó %ð˜Sð  U¨7°C¨<Ñ%8÷ r6   rî   c                   ó<   — e Zd Zdedee   fd„Zdedee	df   fd„Z
y)ÚUniqueSampledListStrategyrW   r7   c           
      óP	  ‡— | j                   }t        |t        «      }|�sddt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      dœz  }t        t        j                  |«      «      ‚d x}}t        d„ | j                  D «       «      }g }t        | j                   j                  «      }t        j                  || j                   | j"                  | j$                  ¬«      5 }|D �]  }	|j'                  dt)        |«      d	z
  «      }
| j                   j+                  |j-                  |
«      |¬
«      Š‰t.        uržt1        ˆfd„t3        | j                  |d¬«      D «       «      rtt3        | j                  |d¬«      D ]  \  }}|j5                   |‰«      «       Œ | j6                  �‰g|j9                  | j6                  «      ¢­Š|j;                  ‰«       n|j=                  d«       |r�Œ	 n d d d «       | j"                  }t)        |«      }||k\  }| j                   }||k\  }|r|�sŽt        j>                  d||fd|||f«      dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      dt        j                  «       v st        j                  t(        «      rt        j                  t(        «      nddt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}x}}|S # 1 sw Y   �ŒÖxY w)Nú[assert %(py6)s
{%(py6)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.element_strategy
}, %(py4)s)
}rm   r3   r   ©rÃ   r›   Úpy3rœ   r�   c              3   ó0   K  — | ]  }t        «       –— Œ y ­wr.   rô   rö   s     r5   r@   z4UniqueSampledListStrategy.do_draw.<locals>.<genexpr>·  r÷   rø   rÇ   r   râ   ©rW   c              3   ó8   •K  — | ]  \  }} |‰«      |v–— Œ y ­wr.   rN   )r?   rü   rý   rf   s      €r5   r@   z4UniqueSampledListStrategy.do_draw.<locals>.<genexpr>Å  s&   øè ø€ ò =á!˜˜Tñ ˜“J dÔ*ñ=ùrþ   Trh   zDUniqueSampledListStrategy filter not satisfied or value already seenr  r  rn   ra   r  r  r  ) r±   rm   r   r©   rª   r¦   r«   r¨   r¬   r­   r1   rï   r   r–   rÈ   rÉ   r—   r˜   r°   Údraw_integerrn   Ú
_transformÚpopr#   rS   ro   r  rð   r]   r\   r  r§   )r3   rW   r´   r³   Ú@py_format7rÿ   ra   Ú	remainingr–   rÎ   Újrü   rý   rÊ   r  r¶   r  rË   r¸   r  rf   s                       @r5   re   z!UniqueSampledListStrategy.do_draw´  s  ø€ Ø×/Ñ/ÐEŒzÐ/Ô1DÓEÐEÒE×E×E×E×EÕEŒz×E×EÓEŒz×E×E×E×E×EÒE˜$×E×EÓE˜$×E×EÔEÐ/×E×E×E×E×EÐEÔ1D×E×EÓEÔ1D×E×EÔEÐE×E×E×E×E×EÒEä).Ñ.H¸d¿i¹iÔ.HÓ)Hˆ	Øˆä$ T×%:Ñ%:×%CÑ%CÓDˆ	ä�W‰WØØ—]‘]Ø—]‘]Ø×*Ñ*ô	
ð 	ð
 Øó �Ø×%Ñ% a¬¨Y«¸!Ñ);Ó<�Ø×-Ñ-×8Ñ8¸¿¹ÀqÓ9IÐPTÐ8ÓU�ØÔ 4Ñ4¼ó =ä%(¨¯©°IÀdÔ%Kô=ô :ô &)¨¯©°IÀdÔ%Kò -™	˜˜TØŸ™¡ U£Õ,ð-à×*Ñ*Ð6Ø!&Ð H¨¯©°4×3FÑ3FÓ)GÑ H˜Ø—M‘M %Õ(à—O‘Oð-ôó !Ùð%÷	ð2 �}‰}Ð<¤ F£Ð<ˆ} Ñ<Ð<¨t¯}©}Ð< ¨}Ñ<×<×<×<Ñ<ˆ} ¨}×<×<×<×<×<Ñ<ˆt×<×<Ó<ˆt×<×<Ô<ˆ}×<×<×<×<×<Ð<¤×<×<Ó<¤×<×<×<×<×<Ò< F×<×<Ó< F×<×<Ô< ×<×<×<×<×<Ð<¨t×<×<Ó<¨t×<×<Ô<¨}×<×<×<×<×<×<×<Øˆ÷5	ñ 	ús   Æ8D
RËRÒR%rf   .c                 óè  — t        |t        «      st        |›d�«      ‚| j                  t	        |«      cxk  r| j
                  k  s6n t        dt	        |«      › d| j                  › d| j
                  ›d| ›�«      ‚| j                  €|n| j                  |«      }| j                  }t        |t        «      }|�sddt        j                  «       v st        j                  t         «      rt        j                  t         «      nddt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      d	t        j                  «       v st        j                  t        «      rt        j                  t        «      nd	t        j                  |«      d
œz  }t        t        j                   |«      «      ‚d x}}t        | j                  j"                  «      }t%        j&                  | j                  | j
                  «      }g }t)        t+        ||d¬«      «      D ]à  \  }	\  }
}|j-                  |j/                  «       «       t)        |«      D ]P  \  }}t1        | j                  j3                  |d ¬«      |«      sŒ.|j5                  |«       |j7                  |«        n t        d|	› d|›d|›d| ›�«      ‚| j                  €Œª	 |j-                  | j                  j9                  t;        |
dd  «      «      «       Œâ |j-                  |j?                  «       «       t;        |«      S # t        $ r}t=        |d|	› d|›d| ›�«       ‚ d }~ww xY w)NrÐ   rÑ   rÒ   rE   rÓ   r  rm   r3   r   r   Trh   r#  rj   rk   z: z( is not among the remaining elements of râ   rl   ) rm   rÔ   r   r—   rn   r˜   rð   r  r±   r   r©   rª   r¦   r«   r¨   r¬   r­   r–   rÈ   rÕ   rZ   ro   rp   rÖ   r   r&  r\   r'  rq   r1   r   r×   )r3   rf   Útargetsr´   r³   r(  r)  r–   rr   rb   rs   Útargetr*  Ú	candidatert   s                  r5   rq   z!UniqueSampledListStrategy._invertØ  s¹  € Ü˜%¤Ô&Ü % ¨.Ð9Ó:Ð:Ø—‘¤ U£Ô<¨t¯}©}Ô<ÜØ”s˜5“z�lð #Ø—M‘M�? " T§]¡]Ð$5°V¸D¸8ðEóð ð  ×.Ñ.Ð6‘%¸D×<PÑ<PÐQVÓ<Wˆð ×/Ñ/ÐEŒzÐ/Ô1DÓEÐEÒE×E×E×E×EÕEŒz×E×EÓEŒz×E×E×E×E×EÒE˜$×E×EÓE˜$×E×EÔEÐ/×E×E×E×E×EÐEÔ1D×E×EÓEÔ1D×E×EÔEÐE×E×E×E×E×EÒEÜ˜×.Ñ.×7Ñ7Ó8ˆ	Ü—>‘> $§-¡-°·±Ó?ˆØ!#ˆÜ$-¬c°%¸ÈÔ.NÓ$Oò 	Ñ ˆAÑ �˜Ø�N‰N˜8Ÿ=™=›?Ô+Ü )¨)Ó 4ò ‘��9ÜØ×)Ñ)×4Ñ4°YÀTÐ4ÓJÈFõð —N‘N 1Ô%Ø—M‘M !Ô$Ùðô #Ø ˜s $ u i¨r°&°ð <-Ø-1¨Hð6óð ð ×"Ñ"Ñ.ðØ—N‘N 4×#6Ñ#6×#>Ñ#>¼uÀWÈQÈRÀ[Ó?QÓ#RÕSð!	ð( 	�‰�x—}‘}“Ô'Ü�W‹~Ðøô	 $ò Ü˜S I¨a¨S°°U°I¸[ÈÈÐ"QÔRØûðús   Ë+6MÍ	M1ÍM,Í,M1N)rz   r{   r|   r   rÔ   r   re   r   r1   r   rq   rN   r6   r5   r  r  ³  s6   „ ð"˜Nð "¨t°B©xó "ðH$˜Sð $ U¨7°C¨<Ñ%8ô $r6   r  c                   ó¢   ‡ — e Zd ZdZdeeee   f   deeee   f   dz  fˆ fd„Zdedeeef   fd„Z	d	ede
ed
f   fd„Zdedefd„Zdefd„Zˆ xZS )ÚFixedDictStrategyzðA strategy which produces mappings with a fixed set of keys, given a
    strategy for each of their equivalent values.

    e.g. {'foo' : some_int_strategy} would generate mappings with the single
    key 'foo' mapping to some integer.
    ÚmappingÚoptionalNc                ó
  •‡‡— t         ‰| �  «        t        |«      Š|| _        t	        |j                  «       «      Št        j                  ‰D �cg c]  }||   ‘Œ	 c}Ž j                  ˆˆfd„«      | _	        || _
        y c c}w )Nc                 ó,   •—  ‰t        ‰| d¬«      «      S )NTrh   )ro   )rf   Ú	dict_typerï   s    €€r5   ú<lambda>z,FixedDictStrategy.__init__.<locals>.<lambda>  s   ø€ ™)¤C¨¨e¸DÔ$AÓB€ r6   )r/   r0   Útyper1  r1   rï   Ústr„   rG   Úfixedr2  )r3   r1  r2  Úkr5  rï   r4   s       @@€r5   r0   zFixedDictStrategy.__init__  sk   ú€ ô 	‰ÑÔÜ˜“Mˆ	ØˆŒÜ�W—\‘\“^Ó$ˆÜ—Y‘Y°TÖ :° ¨£Ò :Ð;×?Ñ?ÜBó
ˆŒ
ð !ˆ�ùò !;s   ÁB rW   r7   c           
      óL  — t        «       }i }g }| j                  j                  «       D ]O  \  }}|j                  t	        |«      «      5 }|j                  ||j                  |«      f«       d d d «       |z  }ŒQ | j                  ��| j                  j                  «       D ��	cg c]  \  }}	|	j                  rŒ|‘Œ }
}}	t        j                  |dt        |
«      t        |
«      dz  ¬«      5 }|D ]˜  }|j                  dt        |
«      dz
  «      }|
|   |
d   c|
d<   |
|<   |
j                  «       }|j                  t	        |«      «      5 }|j                  ||j                  | j                  |   «      f«       d d d «       |z  }Œš 	 d d d «       t        j                  ||«        t        | j                  «      |«      }|r0|j                   t#        |«         j                  t%        |«      «       |S # 1 sw Y   �Œ‘xY wc c}	}w # 1 sw Y   Œ‘xY w# 1 sw Y   Œ�xY w)Nr   r¡   rÇ   râ   éÿÿÿÿ)r
   r1  Úitemsr[   r   r\   r]   r2  r»   rÈ   rÉ   rn   r%  r'  Úfisher_yates_shuffler7  r^   r(   r)   )r3   rW   r_   r`   Úpairsrü   rc   rd   r:  Úvr)  r–   rÎ   r*  rf   s                  r5   re   zFixedDictStrategy.do_draw  sü  € Ü'Ó)ˆØ!#ˆ
Ø')ˆà!Ÿ\™\×/Ñ/Ó1ò 	$‰MˆC�Ø×%Ñ%¤c¨#£hÓ/ð 9°9Ø—‘˜c 4§9¡9¨XÓ#6Ð7Ô8÷9à˜)Ñ#‰Jð	$ð
 �=‰=Ñ$Ø'+§}¡}×':Ñ':Ó'<×O™t˜q !ÀAÇJÃJšÐOˆIÑOÜ—‘ØØÜ˜Y›Ü  ›^¨aÑ/ô	ð ,ð
 Ø!ò ,�AØ×)Ñ)¨!¬S°«^¸aÑ-?Ó@�AØ2;¸A±,À	È"ÁÐ/�I˜b‘M 9¨Q¡<Ø#Ÿ-™-›/�CØ×-Ñ-¬c°#«hÓ7ð K¸9ØŸ™ c¨4¯9©9°T·]±]À3Ñ5GÓ+HÐ%IÔJ÷Kà )Ñ+‘Jñ,÷,ô  	×Ñ  eÔ,Ø"”�T—\‘\Ó" 5Ó)ˆáØ×)Ñ)¬%°«,Ñ7×>Ñ>Ü# JÓ/ôð ˆ÷;9ñ 9üó
 P÷Kð Kú÷,ð ,ús=   Á	#G;Â%HÂ:HÃ/AHÅ0HÅ>HÇ;H	ÈHÈHÈH#rf   .c                 ó˜  ‡ ‡‡— t        ‰t        «      st        ‰›d�«      ‚‰ j                  xs i Št	        ˆfd„‰ j
                  D «       «      st	        ˆˆ fd„‰D «       «      rt        ‰›d‰ ›�«      ‚g }t        ‰ j
                  «      }‰ j
                  j                  «       D ])  \  }}	 |j                  |j                  ‰|   «      «       Œ+ ‰ j                  ��l‰ j                  j                  «       D ��cg c]  \  }}|j                  rŒ|‘Œ }	}}|	D �cg c]  }|‰v sŒ|‰ j
                  vsŒ|‘Œ }
}|t        |
«      z   t        ‰«      k7  rt        ‰›d‰ ›�«      ‚t        j                  dt        |	«      «      }|
D ]•  }|j                  |j                  «       «       |	j                  |«      }|j!                  |«       |	|   |	d	   c|	d	<   |	|<   |	j#                  «        	 |j                  ‰ j                  |   j                  ‰|   «      «       Œ— |j                  |j%                  «       «       |t        |
«      z  }|j                  t'        |d
z
  «      «       t)        |«      S # t        $ r}t        |d|›d‰›d‰ ›�«       ‚ d }~ww xY wc c}}w c c}w # t        $ r}t        |d|›d‰›d‰ ›�«       ‚ d }~ww xY w)Nz is not a mappingc              3   ó&   •K  — | ]  }|‰v–— Œ
 y ­wr.   rN   )r?   r:  rf   s     €r5   r@   z,FixedDictStrategy._invert.<locals>.<genexpr>?  s   øè ø€ Ò4 !ˆq˜Œ~Ñ4ùs   ƒc              3   óF   •K  — | ]  }|‰j                   vxr |‰v–— Œ y ­wr.   )r1  )r?   r:  r2  r3   s     €€r5   r@   z,FixedDictStrategy._invert.<locals>.<genexpr>?  s,   øè ø€ ò <
Ø<=ˆA�T—\‘\Ð!Ò7 a¨xÐ&7Ó7ñ<
ùs   ƒ!z has the wrong keys for zat key rk   rl   r   r<  râ   )rm   r   r   r2  rw   r1  rn   r=  rp   rq   r   r»   rÈ   rÕ   rÖ   Úindexr\   r'  r×   Úranger1   )r3   rf   rr   Únpairsrü   rc   rt   r:  r@  r)  ÚpresentÚselectorr*  r2  s   ``           @r5   rq   zFixedDictStrategy._invert;  s”  ú€ Ü˜%¤Ô)Ü % Ð*;Ð<Ó=Ð=Ø—=‘=Ò& BˆÜÓ4 t§|¡|Ô4Ô4¼ô <
ØAFô<
ô 9
ô  % Ð*BÀ4À(ÐKÓLÐLà!#ˆÜ�T—\‘\Ó"ˆØ!Ÿ\™\×/Ñ/Ó1ò 	‰MˆC�ðØ—‘˜x×/Ñ/°°c±
Ó;Õ<ð	ð �=‰=Ñ$ð (,§}¡}×':Ñ':Ó'<×O™t˜q !ÀAÇJÃJšÐOˆIÑOØ"+ÖT˜Q¨q°Eªz¸aÀtÇ|Á|Ò>S’qÐTˆGÐTØœ˜G›Ñ$¬¨E«
Ò2ä" e YÐ.FÀtÀhÐ#OÓPÐPÜ—~‘~ a¬¨Y«Ó8ˆHØò 
�Ø—‘˜xŸ}™}›Ô/Ø—O‘O CÓ(�Ø—‘˜qÔ!Ø.7¸©l¸IÀb¹MÐ+�	˜"‘˜y¨™|Ø—‘”ðØ—N‘N 4§=¡=°Ñ#5×#=Ñ#=¸eÀC¹jÓ#IÕJð
ð �N‰N˜8Ÿ=™=›?Ô+Ø”c˜'“lÑ"ˆFð 	�‰”u˜V a™ZÓ(Ô)Ü�W‹~Ðøô=  ò Ü˜ ¨ w¨d°5°)¸;ÀtÀhÐOÔPØûðüó PùÚTøô $ò Ü˜S G¨C¨7°$°u°i¸{È4È(Ð"SÔTØûðúsN   Â-#I3Ã<JÄJÄ	J Ä&J Ä5J Ç,0J%É3	JÉ<JÊJÊ%	K	Ê.KËK	rK   c                 ó&   —  || j                   «      S r.   )r9  rT   s     r5   rx   zFixedDictStrategy.calc_is_emptyi  s   € Ù�T—Z‘ZÓ Ð r6   c                 ót   — | j                   �d| j                  ›d| j                   ›d�S d| j                  ›d�S )Nzfixed_dictionaries(z, optional=rÛ   )r2  r1  rB   s    r5   rJ   zFixedDictStrategy.__repr__l  s@   € Ø�=‰=Ð$Ø(¨¯©Ð(8¸ÀDÇMÁMÐCTÐTUÐVÐVØ$ T§\¡\Ð$4°AÐ6Ð6r6   )rz   r{   r|   r}   r   r   r    r0   r   re   r1   r   rq   r   r€   rx   r   rJ   r�   r‚   s   @r5   r0  r0  ÿ  s›   ø„ ñð!à˜˜n¨SÑ1Ð1Ñ2ð!ð ˜#˜~¨cÑ2Ð2Ñ3°dÑ:õ	!ð#˜Nð #¨w°s¸C°xÑ/@ó #ðJ,˜Sð , U¨7°C¨<Ñ%8ó ,ð\! 6ð !¨dó !ð7˜#÷ 7r6   r0  )LÚbuiltinsr©   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter¦   rç   r¤   Úcollections.abcr   r   r   Útypingr   r   r   Ú
hypothesisr	   r8  Úhypothesis.controlr
   Úhypothesis.errorsr   r   Úhypothesis.internal.compatr   Úhypothesis.internal.conjecturer   rÈ   Ú%hypothesis.internal.conjecture.choicer   Ú#hypothesis.internal.conjecture.datar   r   Ú%hypothesis.internal.conjecture.enginer   Ú)hypothesis.internal.conjecture.junkdrawerr   r   Ú$hypothesis.internal.conjecture.utilsr   Úhypothesis.internal.filteringr   Úhypothesis.internal.reflectionr   Ú*hypothesis.strategies._internal.strategiesr   r   r   r   r   r   r   r   r    r!   r"   r#   Ú%hypothesis.strategies._internal.utilsr$   r%   Úhypothesis.utils.conventionsr&   Úhypothesis.vendor.prettyr'   r(   r)   r*   r1   r,   r„   rÔ   r”   rî   r  r0  rN   r6   r5   ú<module>ra     s  ð÷ „ ƒÛ ß 7Ñ 7ß +Ñ +å 'Ý 4ß ;Ý /Ý 6Ý 9ß WÝ =ß TÝ ?Ý FÝ ?÷÷ ÷ ó ÷ NÝ 9÷ó ô9>�N 5¨¨S¨¡>Ñ2ô 9>ðx 
Ø .�˜u R™yÑ)Ò .ó 
Ø .ð 
Ø F� Ñ#Ð F¨°u¸R±yÑ(AÒ Fó 
Ø Fð 
ð'Ø
˜Ñ
ð'Ø$2°1Ñ$5ð'à�E˜"˜a˜%‘LÑ!ò'ó 
ð'ð
 
ð+Ø
˜Ñ
ð+Ø$2°1Ñ$5ð+Ø=KÈBÑ=Oð+à�E˜"˜a ˜)Ñ$Ñ%ò+ó 
ð+ð
 
ð/Ø
˜Ñ
ð/à
˜Ñ
ð/ð ˜Ñ
ð/ð ˜Ñ
ð	/ð
 �E˜"˜a  R˜-Ñ(Ñ)ò/ó 
ð/ð 
ð3Ø
˜Ñ
ð3à
˜Ñ
ð3ð ˜Ñ
ð3ð ˜Ñ
ð	3ð
 ˜Ñ
ð3ð �E˜"˜a  R¨Ð+Ñ,Ñ-ò3ó 
ð3ð 
ð*Ø˜#Ñð*à�E˜#˜s˜(‘OÑ$ò*ó 
ð*ð
 ÙÓð�. Ñ%ð ¨.¸¸sÀC¸x¹Ñ*Iò ó ó ðôG6�> $ r¡(Ñ+ô G6ôTx˜ bÑ)ô xôvIÐ 2ô IôXp7˜ w¨s°C¨xÑ'8Ñ9õ p7r6   