
    /hhu                       S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKJrJ	r	  S SK
JrJrJr  S SKrS SKrS SKJr  S SKrS SKrS SKJrJrJrJr  S SKJrJrJr  S SKJr  S SKJr  S S	KJrJr  S S
KJ r J!r!J"r"  S SKJ#r#J$r$J%r%J&r&J'r'  S SKJ(r(J)r)J*r*J+r+  S SKJ,r,J-r-  S SKJ.r.J/r/J0r0J1r1J2r2  S SKJ3r3J4r4  S SKJ5r5J6r6   " S S\Rn                  5      r8 " S S\Rn                  5      r9\" SS5      r: " S S\Rn                  5      r; " S S\Rn                  5      r<S r= " S S\<5      r> " S S\-5      r? " S  S!\<5      r@ " S" S#\5      rA " S$ S%\5      rB " S& S'\Rn                  5      rCS( rD\ES):X  a  \R                  " 5         gg)*    N)choice	randrange)productchaincombinations)support)
namedtupleCounterOrderedDict_count_elements)UserDict
UserStringUserList)ChainMap)deque)	Awaitable	Coroutine)AsyncIteratorAsyncIterableAsyncGenerator)HashableIterableIterator	Generator
Reversible)Sized	ContainerCallable
Collection)Set
MutableSet)MappingMutableMappingKeysView	ItemsView
ValuesView)SequenceMutableSequence)
ByteStringBufferc                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestUserObjects    c           	          U R                  [        [        U5      5      [        [        U5      5      SR                  UR                  UR                  S95        g )Nz&{a} should have all the methods of {b}ab)assertGreaterEqualsetdirformat__name__)selfr0   r1   s      >/opt/python-3.13.8/usr/lib/python3.13/test/test_collections.py_superset_testTestUserObjects._superset_test!   sG    AKAK4;;**** < 	
    c                    UR                  5       nU R                  UR                  UR                  5        U R                  UR                  UR                  5        S/Ul        [         R                   " U5      nU R                  UR                  UR                  5        U R                  UR                  UR                  5        U R                  UR                  UR                  5        g )Ni  )copyassertIsNotdataassertEqualtestassertIs)r7   objobj_copys      r8   
_copy_testTestUserObjects._copy_test+   s    88:8==18==1 699S>8==18==1chh.r;   c                 8    U R                  [        [        5        g N)r9   r   strr7   s    r8   test_str_protocol!TestUserObjects.test_str_protocol8   s    J,r;   c                 8    U R                  [        [        5        g rH   )r9   r   listrJ   s    r8   test_list_protocol"TestUserObjects.test_list_protocol;       Hd+r;   c                 8    U R                  [        [        5        g rH   )r9   r   dictrJ   s    r8   test_dict_protocol"TestUserObjects.test_dict_protocol>   rQ   r;   c                 \    [        5       nUR                  S5        U R                  U5        g )N{   )r   appendrE   r7   rC   s     r8   test_list_copyTestUserObjects.test_list_copyA   s     j

3r;   c                 D    [        5       nSUS'   U R                  U5        g )NabcrW   )r   rE   rY   s     r8   test_dict_copyTestUserObjects.test_dict_copyF   s    jCr;   c                      " S S[         5      nU R                  U" 5       S   S5        U R                  U" 5       R                  S5      S 5        g )Nc                       \ rS rSrS rSrg),TestUserObjects.test_dict_missing.<locals>.AL   c                     g)N   r7   keys     r8   __missing__8TestUserObjects.test_dict_missing.<locals>.A.__missing__M       r;   rf   Nr6   
__module____qualname____firstlineno__ri   __static_attributes__rf   r;   r8   Arb   L       r;   rq   rW   re   )r   r@   rB   get)r7   rq   s     r8   test_dict_missing!TestUserObjects.test_dict_missingK   s>    	 	 	S3'acggclD)r;   rf   N)r6   rm   rn   ro   r9   rE   rK   rO   rT   rZ   r^   rt   rp   rf   r;   r8   r,   r,       s*    
/-,,

*r;   r,   c                   P    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)TestChainMapX   c           	      L
   [        5       nSUS'   SUS'   UR                  5       nSUS'   SUS'   U R                  UR                  SSS.SSS	./5        U R                  UR	                  5       [        SSSS
9R	                  5       5        U R                  [        U5      S5        S H  nU R                  X25        M     [        SSSSS9R	                  5        H'  u  pEU R                  UR                  US5      U5        M)     US	 U R                  UR                  SS0SSS	./5        U R                  UR	                  5       [        SSSS
9R	                  5       5        U R                  [        U5      S5        S H  nU R                  X25        M     [        SSSSS9R	                  5        H'  u  pEU R                  UR                  US5      U5        M)     U R                  [        U5      [        U5      R                  S-   [        U5      R                  S-   /5        UR                  5       [        R                  " U5      4 H  nU R                  X&5        U R                  UR                  UR                  5        U R                  X&5        U R                  UR                  S   UR                  S   5        [        UR                  SS  UR                  SS  5       H  u  pxU R                  Xx5        M     M     [!        ["        R$                  S-   5       H  n	["        R&                  " ["        R(                  " X)5      5      nU R                  X&5        U R                  UR                  UR                  5        U R                  X&5        [        UR                  UR                  5       H  u  pxU R                  XxU5        M     M     [        R*                  " U5      [-        [        U5      5      4 H  nU R                  X&5        U R                  UR                  UR                  5        U R                  X&5        [        UR                  UR                  5       H  u  pxU R                  XxU5        M     M     UR                  5       n
SU
S'   U R                  U
R                  SS0SS0SSS	./5        U R                  U
R.                  R                  SS0SSS	./5        U R                  U
S   S5        U R                  U
R.                  S   S5        g )N   r0      r1         cr1   r~   r/   r0   r1   r~      r]   d   )r0   r1   r~   zz({'c': 30}, {'a': 1, 'b': 2})z({'c': 30}, {'b': 2, 'a': 1})r      )r   	new_childr@   mapsitemsrS   lenassertInrs   reprtyper6   r=   r>   ziprB   rangepickleHIGHEST_PROTOCOLloadsdumpsdeepcopyevalparents)r7   r~   drh   kvem1m2protofs              r8   test_basicsTestChainMap.test_basicsZ   s%   J##KKM##rr"2N!CDD1b$9$?$?$ABQ#CMM#! 1bC0668DAQUU1c]A. 9 cF3r(N!;<D1R$8$>$>$@AQ#CMM#! 1R3/557DAQUU1c]A. 8d1gG>>G>> 
 	
 499Q<'AQ"QVVQVV,Q"QVVAYq	2affQRj!&&*5b% 6 ( 622Q67EV\\!34AQ"QVVQVV,Q"affaff-  + . 8 --"tAw-A Q"QVVQVV,Q"affaff-  + . KKM#3(SH1!n!EF3r(N)CD3#3+r;   c                     SSS.nSSS.n[        X!5      nUR                  5       nUR                  U5        U R                  [	        UR                  5       5      [	        UR                  5       5      5        g )Nbach	rembrandt)musicartzvan goghcarmen)r   opera)r   r=   updater@   rN   r   )r7   baselineadjustmentscmcombineds        r8   test_orderingTestChainMap.test_ordering   s`     $K8(8<k,==?$hnn./bhhj1ABr;   c                     U R                  [        5       R                  0 /5        U R                  [        SS05      R                  SS0/5        g Nrz   r{   )r@   r   r   rJ   s    r8   test_constructorTestChainMap.test_constructor   s>    2$/1Q%--1w7r;   c                     U R                  [        5       5        U R                  [        0 0 5      5        U R                  [        SS00 5      5        U R                  [        0 SS05      5        g r   )assertFalser   
assertTruerJ   s    r8   	test_boolTestChainMap.test_bool   sU    $"b)*!A+,aU+,r;   c                     " S S[         5      nU" [        SSS9[        SSS95      n[        SSSS	S
9R                  5        H  u  p4U R                  X#   U5        M     [        SSSSS
9R                  5        H'  u  p4U R                  UR	                  US5      U5        M)     [        SSSSS
9R                  5        H  u  p4U R                  X2;   U5        M     U R                  UR                  SS5      SU5        U R                  UR                  SS5      S5        U R                  UR                  5       S5        U R                  [        5         UR                  5         S S S 5        g ! , (       d  f       g = f)Nc                       \ rS rSrS rSrg)2TestChainMap.test_missing.<locals>.DefaultChainMap   c                     g)N  rf   rg   s     r8   ri   >TestChainMap.test_missing.<locals>.DefaultChainMap.__missing__   rk   r;   rf   Nrl   rf   r;   r8   DefaultChainMapr      rr   r;   r   rz   r{   r/   r|   r}   r   r   r0   r1   r~   r   M   TFr0   i  i  r1   r{   )	r   rS   r   r@   rs   poppopitemassertRaisesKeyError)r7   r   r   r   r   s        r8   test_missingTestChainMap.test_missing   s9   	h 	 D1ND2,<=1R3/557DAQT1% 81R2.446DAQUU1b\1- 744459??ADAQVQ' BsD)1a0sD)40h/x(IIK )((s   E00
E>c                 N   [        [        SSS9[        5       [        SSSS9[        SS	S
SSS9[        5       [        SSS9[        SSSSSS9[        5       5      nU R                  SR                  U5      S5        U R                  [	        UR                  5       5      / SQ5        g )Nr   8[ )jh'  \    )ir   r~        	  M  ix  )r   r1   gr~   r   7      )r   r1   rz   r{   r      r   r0   r1   r~   r   r    
abcdefghij)
)r0   rz   )r1   r   )r~   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   r@   joinrN   r   r7   r   s     r8   test_order_preservation$TestChainMap.test_order_preservation   s    a5)ddd3cSC3#>bB'a1Q!4	 	\2aggi$	%r;   c                      " S S[         5      nU" SS9n[        U5      nSUl        [        U5        U R	                  UR                  S5        g )Nc                        \ rS rSrS rS rSrg)KTestChainMap.test_iter_not_calling_getitem_on_maps.<locals>.DictWithGetItem   c                 F    SU l         [        R                  " U /UQ70 UD6  g NF)calledr   __init__r7   argskwdss      r8   r   TTestChainMap.test_iter_not_calling_getitem_on_maps.<locals>.DictWithGetItem.__init__   s!    #!!$666r;   c                 >    SU l         [        R                  " X5        g NT)r   r   __getitem__r7   items     r8   r   WTestChainMap.test_iter_not_calling_getitem_on_maps.<locals>.DictWithGetItem.__getitem__   s    "$$T0r;   r   N)r6   rm   rn   ro   r   r   rp   rf   r;   r8   DictWithGetItemr      s    71r;   r   rz   r0   Fz__getitem__ was called)r   r   r   r3   r   )r7   r   r   r~   s       r8   %test_iter_not_calling_getitem_on_maps2TestChainMap.test_iter_not_calling_getitem_on_maps   sF    	1h 	1 a QKA#;<r;   c           	          [        [        SSS9[        SSS95      nU R                  [        U5      [        SSSS95        U R                  [        UR                  5       5      [        SSSS95        g )Nrz   r{   r/   r|   r}   r   r   )r   rS   r@   r   r   s     r8   test_dict_coercionTestChainMap.test_dict_coercion   s[    TA^TB"%56a$a2"67aggi$a2*>?r;   c                    [        5       nSUS'   SUS'   SSS.nUR                  U5      nU R                  UR                  SSS.SSS./5        U R	                  X#R                  S	   5         " S
 S[
        5      n[        5       nSUS'   SUS'   U" SSS9nUR                  U5      nU R	                  X#R                  S	   5        S H  nU R                  XS5        M     [        SSSSS9R                  5        H'  u  pgU R                  UR                  US5      U5        M)     [        SSS.5      nUR                  SSS9nU R                  UR                  SSS.SSS./5        g )Nrz   r0   r{   r1   r|   r}   r   r/   r   c                        \ rS rSrS rS rSrg).TestChainMap.test_new_child.<locals>.lowerdict   c                 v    [        U[        5      (       a  UR                  5       n[        R	                  X5      $ rH   )
isinstancerI   lowerrS   r   rg   s     r8   r   :TestChainMap.test_new_child.<locals>.lowerdict.__getitem__   s+    c3''))+C''22r;   c                 v    [        U[        5      (       a  UR                  5       n[        R	                  X5      $ rH   )r   rI   r   rS   __contains__rg   s     r8   r  ;TestChainMap.test_new_child.<locals>.lowerdict.__contains__   s+    c3''))+C((33r;   rf   N)r6   rm   rn   ro   r   r  rp   rf   r;   r8   	lowerdictr      s    34r;   r  r]   r   )r0   BCr   )	r   r   r@   r   rB   rS   r   r   rs   )r7   r~   mr   r  rh   r   r   s           r8   test_new_childTestChainMap.test_new_child   sR   J##"KKNrr"2N!CDa#	4 	4 J##b!KKNa#CMM#! 1bC0668DAQUU1c]A. 9 11%&KK"K#"4AA6F!GHr;   c                    [        [        SSS9[        SSS95      n[        [        SSS	9[        S
SS95      nUR                  5       n[        SSS9nSS/nX-  nU R                  UR                  UR                  S   [        U5      -  /UR                  SS  Q5        X-  nU R                  Xa5        X$-  nU R                  UR                  UR                  S   U-  /UR                  SS  Q5        U R                  XB-  R                  U[        U5      -  /5        X$-  nU R                  Xb5        U R                  [        5         X5-    S S S 5        UR                  5       nX5-  nU R                  UR                  UR                  S   [        U5      -  /UR                  SS  Q5         " S S[         5      n " S S[         5      n[        5       [        5       -  nU R                  [        U5      [         5        U R                  [        UR                  S   5      [        5        [        5       U" 5       -  nU R                  [        U5      [         5        U R                  [        UR                  S   5      [        5        U" 5       [        5       -  nU R                  [        U5      U5        U R                  [        UR                  S   5      [        5        [        5       U" 5       -  nU R                  [        U5      U5        U R                  [        UR                  S   5      [        5        g ! , (       d  f       GN= f)Nrz   r{   r/   r   r   )r~   r   
   r   )r0   r   r|   )r1   r   r}   )r0   r~   )r~   r   )pr   r   c                       \ rS rSrSrg)3TestChainMap.test_union_operators.<locals>.Subclassi#  rf   Nr6   rm   rn   ro   rp   rf   r;   r8   Subclassr  #      r;   r  c                   (   ^  \ rS rSrU 4S jrSrU =r$ )6TestChainMap.test_union_operators.<locals>.SubclassRori&  c                 "   > [         TU ]  U5      $ rH   )super__ror__)r7   other	__class__s     r8   r  >TestChainMap.test_union_operators.<locals>.SubclassRor.__ror__'  s    wu--r;   rf   )r6   rm   rn   ro   r  rp   __classcell__r  s   @r8   SubclassRorr  &  s    . .r;   r  )	r   rS   r=   r@   r   r   	TypeErrorrB   r   )	r7   cm1cm2cm3r   pairstmpr  r  s	            r8   test_union_operators!TestChainMap.test_union_operators	  s   ta1~ta1~6tbArQ8hhj27#iCHHQK$s)$;#Kchhqrl#KL
"gCHHQK!O#Cchhqrl#CD!'!d3i-9" y)K *hhjCHHQK$u+$=#M#MN	x 		.( 	. j8:%d3i*d388A;'.j8:%d3i*d388A;'.j8:%d3i*d388A;'.j;=(d3i-d388A;'.3 *)s   
L>>
Mrf   N)r6   rm   rn   ro   r   r   r   r   r   r   r   r   r  r"  rp   rf   r;   r8   rw   rw   X   s9    :,xC8-"%"= @
"IH,/r;   rw   TestNTzx y zc                   0   \ rS rSrS rS rS r\R                  " \	R                  R                  S:  S5      S 5       r\R                  " \	R                  R                  S:  S5      S 5       r\R                  \R                  " \	R                  R                  S:  S5      S	 5       5       r\R                  S
 5       rS rS rS rS rS r\R.                  " S5      S 5       rS rS rS rS rS rS r\R                  S 5       rS r S r!S r"Sr#g)TestNamedTuplei>  c                    [        SS5      nU R                  UR                  S5        U R                  UR                  S5        U R                  UR                  [        5        U R                  UR
                  [        R
                  5        U R                  UR                  S5        U R                  [        [         SS5        U R                  [        [         SS5        U R                  [        [         SS5        U R                  [        [         S	S
5        U R                  [        [         S	S5        U R                  [        [         S	S5        U R                  [        [         S	S5        U R                  [        [         S	S5        [        SS5        [        SS5        [        SS5      nU R                  S[        UR                  5      5        [        SS5      nU R                  S[        UR                  5      5        U R                  [        UR                  S/5        U R                  [        UR                  / SQ5        g )NPointx yrf   xyzabc%zefg ghiclass9abcr]   zefg g%hiz	abc classz	8efg 9ghiz_efg ghizefg efg ghiPoint0zx1 y2_za b cntzthe quick brown foxzu')thequick   )r4  r   !   )r	   r@   r6   	__slots__rm   r   tuple_fieldsr   
ValueErrorassertNotInr   r  _make)r7   r(  r1  s      r8   test_factoryTestNamedTuple.test_factory@  s   7E*1"-))84**E,=,=>
3*j&)D*j'9E*j&)D*j%D*j%E*j%E*j%D*j%G8W%3 34tBJJ/0./tBJJ/0)U[[2$7)U[[,?r;   c                    [        SSSS9nU R                  UR                  SSS.5        U R                  U" SS	5      S
5        U R                  U" S5      S5        U R                  U" 5       S5        [        SSSS9nU R                  UR                  SS05        U R                  U" SS	5      S
5        U R                  U" S5      S5        [        SSSS9nU R                  UR                  0 5        U R                  U" SS	5      S
5        U R                  [        5         U" S5        S S S 5        U R                  [        5         U" 5         S S S 5        U R                  [        5         U" SS	S5        S S S 5        U R                  [        5         [        SSSS9nS S S 5        U R                  [        5         [        SSSS9nS S S 5        U R                  [        5         [        SSSS9nS S S 5        [        SSS S9nU R                  UR                  0 5        U R                  UR                  R                  S 5        U R                  U" SS5      S5        U R                  [        5         U" S5        S S S 5        [        SSSS/S9nU R                  UR                  SSS.5        U R                  UR                  R                  S5        U R                  U" SS	5      S
5        U R                  U" S5      S5        U R                  U" 5       S5        [        SS[        SS/5      S9nU R                  UR                  SSS.5        U R                  UR                  R                  S5        U R                  U" SS	5      S
5        U R                  U" S5      S5        U R                  U" 5       S5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNx= f! , (       d  f       GNa= f! , (       d  f       GNJ= f! , (       d  f       GN3= f! , (       d  f       GN= f)Nr(  r)  )r
  r|   )defaultsr
  r|   r*  rz   r{   rz   r{   )rz   r|   )r|   r,  rf   r   r
  r|   r}   F)	r	   r@   _field_defaultsr   r  assertIsNone__new____defaults__iterr7   r(  s     r8   test_defaultsTestNamedTuple.test_defaults]  s\   7EH=..br0BCq!f-q7+(+7EE:..b	:q!f-q7+7EB7..3q!f-y)!H * y)G *y)!QN *y)wEE *y)w;E *y)w>E * 7ED9..3%--44d;r21y)"I * 7ERH=..br0BC33X>q!f-q7+(+7ED"bNC..br0BC33X>q!f-q7+(+C *) *))))))))) *)sT   "	OO-O)O;>P'P6	P1
O
O&)
O8;
P

P
P.1
Q c                 *   [        SS5      nU" SS5      nU R                  [        5         SUl        S S S 5        U R                  [        5         U?S S S 5        U R                  [        5         SUS'   S S S 5        U R                  [        5         US	 S S S 5        U R                  UR                  S5        U R                  US   S5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ns= f)Nr(  r)  r4  r   r5  r   )r	   r   AttributeErrorr+  r  r@   r7   r(  r  s      r8   test_readonlyTestNamedTuple.test_readonly  s    7E*"bM~.AC /~. /y)AaD *y)! *b!1r" /...))))s/   CC"0C3D
C"
C03
D
Dr{   z)Docstrings are omitted with -O2 and abovec                     [        SS5      nU R                  UR                  S5        SUl        U R                  UR                  S5        g )Nr(  r)  zPoint(x, y)z2D point)r	   r@   __doc__rG  s     r8   test_factory_doc_attr$TestNamedTuple.test_factory_doc_attr  s?     7E*6"
3r;   c                    [        SS5      nU R                  UR                  R                  S5        U R                  UR                  R                  S5        SUR                  l        U R                  UR                  R                  S5        [        SS5      nU R                  UR                  R                  S5        SUR                  l        U R                  UR                  R                  S5        g )Nr(  r)  zAlias for field number 0zAlias for field number 1zdocstring for Point.xVectorzdocstring for Vector.x)r	   r@   r+  rP  r,  )r7   r(  rT  s      r8   test_field_docTestNamedTuple.test_field_doc  s     7E**DE*DE1*ABHe,))+EF3))+CDr;   c                 $   [        SSS/5      n[        SSS/5      nU R                  UR                  R                  UR                  R                  5        U R                  UR
                  R                  UR                  R                  5        g )NPr  nQor  )r	   rB   r  rP  r[  rY  r  )r7   rX  rZ  s      r8   test_field_doc_reuse#TestNamedTuple.test_field_doc_reuse  s`     sS#J'sS#J'acckk133;;/acckk133;;/r;   c                    [        SS5      nU R                  [        UR                  5      S5        U R                  [        UR                  5      S5        SUR                  l        SUR                  l        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        g )	Nr(  r)  z+_tuplegetter(0, 'Alias for field number 0')z+_tuplegetter(1, 'Alias for field number 1')zThe x-coordinatezThe y-coordinatez#_tuplegetter(0, 'The x-coordinate')z#_tuplegetter(1, 'The y-coordinate'))r	   r@   r   r+  r,  rP  rG  s     r8   test_field_reprTestNamedTuple.test_field_repr  s    7E*egg(UVegg(UV,,egg(MNegg(MNr;   c           	          SS/SS/SS/SS/SS	/S
S/4 H*  u  pU R                  [        SUSS9R                  U5        M,     g )N)efgzg%hi)rb  _1)r]   r-  r]   rc  )8efg9ghi)_0rc  )r]   _efg)r]   rb  rb  ghi)r]   rb  _2ri  )r]   r   r+  )r]   rc  r+  NTTrename)r@   r	   r8  )r7   specrenameds      r8   test_name_fixerTestNamedTuple.test_name_fixer  sc    }-}-|,m,)+FG12
MD Zd4@HH'R
r;   c                 f    [        SSS/[        S9nU R                  UR                  [        5        g )Nrk  r+  r,  )module)r	   collectionsr@   rm   r7   rk  s     r8   test_module_parameter$TestNamedTuple.test_module_parameter  s(    sCj=4r;   c                    [        SS5      nU" SS5      nU R                  X!" SSS95        U R                  X!" SSS95        U R                  X!" SSS95        U R                  X!" S6 5        U R                  X!" S0 [        SSS9D65        U R                  [        US	5        U R                  [        US	S
S5        U R                  [        5         U" S	S
S9  S S S 5        U R                  [        5         U" S	S9  S S S 5        U R                  [        U5      S5        U R                  S[        U5      5        U R                  X!R                  SS/5      5        U R                  UR                  S5        U R                  UR                  S	S9S5        U R                  UR                  5       [        SSS95        U R                  [        5         UR                  S	S
S9  S S S 5        [        SS5      nU" SSS9nU R                  [        U5      S5        [        SS5      nU" SSS9nU R                  [        U5      S5        g ! , (       d  f       GNy= f! , (       d  f       GNg= f! , (       d  f       N= f)Nr(  r)  r4  r   r*  )r,  )r,  r+  r4  r   rz   r{   r   )XXXr,  r+  zPoint(x=11, y=22)__weakref__)rz   r   )r+  errorzx, yrf   )r	   r@   rS   r   r  r   r:  r4   r;  r8  _replace_asdictrL  s      r8   test_instanceTestNamedTuple.test_instance  s   7E*"bMEB"-.E"O,EB"-.E8,-E5D2$456)UA.)UAq!4y)a1 *y)AJ *a"56A/KKR12J/a'2dR2&67y)JJ!J$ * 7F+B"a"56 7J/B"a"56- *))) *)s$   I
5II.

I
I+.
I<c                 v   [        SS5      nU" SS5      nU R                  U[        5        U R                  US5        U R                  [        U5      S5        U R                  [	        U5      SS/5        U R                  [        U5      S5        U R                  [        U6 S5        Uu  p4U R                  X#U45        U R                  US   US   4S5        U R                  [        5         US     S S S 5        U R                  US	   S5        U R                  [        U5      [        S5      5        U R                  UR                  U5        U R                  UR                  U5        U R                  [        5         UR                    S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)
Nr(  r)  r4  r   ry  r   rz   r   )r	   assertIsInstancer7  r@   rN   maxr   
IndexErrorhashr+  r,  rK  r   )r7   r(  r  r+  r,  s        r8   test_tuplenessTestNamedTuple.test_tupleness  s_   7E*"bMa'H%q8,a2r(+Q$a"%F#!A$!x0z*aD +2#a$x.1a a ~.CC /. +* /.s   /FF*
F'*
F8c                 H   [        SS5      nU R                  U" 5       S5        U R                  UR                  / 5      S5        U R                  [        U" 5       5      S5        U R                  U" 5       R	                  5       0 5        U R                  U" 5       R
                  S5        [        SS5      nU R                  U" S5      S5        U R                  UR                  S/5      S5        U R                  U" S5      R                  S5        U R                  [        U" S5      5      S	5        U R                  U" S5      R	                  5       SS05        U R                  U" S5      R                  S
S9S5        U R                  U" S5      R
                  S5        g )NZeror   rf   zZero()Dotr   rz   rz   zDot(d=1)r   )r   )r   )r	   r@   r;  r   r  r8  r   r~  )r7   r  r  s      r8   test_odd_sizesTestNamedTuple.test_odd_sizes  s=   &"%$B,dfx0)2.,$Q&A3.Q1%c!fz2Q)C73Q3/8Q0r;   cpuc           	      |   [         R                  " 5       n[        [        S [	        U5       5       5      5      n[        U5      n[        SU5      nU" [	        U5      6 nU R                  U[        [	        U5      5      5        U R                  UR                  [	        U5      5      [        [	        U5      5      5        [        U5       H   u  pVU R                  [        XF5      U5        M"     [        U5        UR                  5       n[        [        U[	        U5      5      5      nU R                  Xx5        UR                   " S0 [        US   S4US   S4/5      D6n	[        [	        U5      5      n
SU
S'   SU
S'   U R                  U	[        U
5      5        U R                  UR"                  [        U5      5        g )Nc           	   3      #    U  HG  nS R                  [        S5       Vs/ s H  n[        [        R                  5      PM     sn5      v   MI     gs  snf 7f)r   r
  N)r   r   r   stringascii_letters).0r   r   s      r8   	<genexpr>1TestNamedTuple.test_large_size.<locals>.<genexpr>$  sU      J@H1 +09"6+4a #))=)=">+4"6 7 7@H"6s   A#A
ABigrz   r   *   rf   )r   exceeds_recursion_limitrN   r3   r   r   r	   r@   r7  r;  	enumerategetattrr   r  rS   r   r~  r8  )r7   rY  namesr  r1   posnamer   
d_expectedb2b2_expecteds              r8   test_large_sizeTestNamedTuple.test_large_size!  sg   ++-S J@EaJ J KJ&qNE%(O,58,eE!Ho>"5)ICWQ-s3 *QIIK#eU1X./
'ZZB$q3rB@AB58nABU;/0E%L1r;   c           	      `   [        SSSS9n[        4 H  n[        US5      n[        US5      n[        SUR                  S-   5       H`  nU" U" X5      5      nU R                  X5        U R                  UR                  UR                  5        U R                  S	U" X5      5        Mb     M     g )
Nr
  r|   r}   r+  r,  r   r   r   r  rz   s   OrderedDict)r$  r   r  r   r   r@   r8  r:  )r7   r  rs  r   r   protocolqs          r8   test_pickleTestNamedTuple.test_pickle8  s    R2$iFFG,EFG,E!"f&=&=&AB%,-  &  AII6  q1CD	 C  r;   c                     [        SSSS9n[        R                  [        R                  4 HB  nU" U5      nU R                  X5        U R                  UR                  UR                  5        MD     g )Nr
  r|   r}   r  )r$  r=   r   r@   r8  )r7   r  copierr  s       r8   	test_copyTestNamedTuple.test_copyC  sV    R2$ii.Fq	AQ"QYY		2 /r;   c           
         [        SS5      nU" SSSSS5      nU R                  US5        UR                  S	S
SSSS9nU R                  US5        1 Skn[        SU5      n[        [	        [        U5      5      5      nU" U6 nU R                  X%5        U" S0 [        [        UR                  U5      5      D6nU R                  X%5        UR                  U5      nU R                  X%5        [        U5        U R                  UR                  5       [        [        UR                  U5      5      5        UR                  U5      n[        S U 5       5      nUR                  " S0 [        [        UR                  U5      5      D6nU R                  X65        U R                  UR                  [        U5      5        U R                  UR                  5       U5        g )NTz"itemgetter property self cls tuplerz   r{   r   r   r   )rz   r{   r   r   r   r
  r|   r}   (   2   )
itemgetterpropertyr7   clsr7  )r
  r|   r}   r  r  >   r0   r   r   r  rsr+  r,  r   AtanbebyoftoupForGotaddallbutr  docrs   gothasr   mapnewr   r3   rI   sysr2  user   MakeNoteTypeUsedalsor   r=   rS   exechelpr   r   likerN   r   mustr  r   seenr7   sidestepthanthisr   useduserworkAliasBuildFieldr(  addedbuildr}  fieldframeindexnamedr  needsplainsplitstarttheirr7  validwherewhichBypassCreateHelperJythonModifyReturncannoteffecteitherfieldsgettermethodrs  nicelynumberobjectoptionr   rm  resultr  unpackvaluesReturnsconvertcreateddefinedexamplegreaterkeywordmessagemethodsregularreplacestringstargetsverboseExpectedr   Validatearg_listbuiltinscreationfunctiongenerateinstanceiterablekeywordsmetadataoperatorpicklingr  repr_fmtsequencesubclasstypenamevariabler  	Variables	arguments	debugging	docstring	duplicater  	f_globals	formatted	functions	indexable	interning	namespace	replacing	specified	tuple_new
IronPythonr9  
accessible
dictionary
docstringsr   r  r	   
num_fields
particular
positional
startswith
underscore
unexpectedEncounteredr   classmethodrt  field_namesidentifiersinstantiatemodule_namenamedtuple_environmentsisidentifierautomaticallyintrospectionrK  representationclass_namespacereuse_itemgetterc              3   *   #    U  H	  oS -  v   M     g7f)r
  Nrf   )r  r   s     r8   r  5TestNamedTuple.test_name_conflicts.<locals>.<genexpr>  s     /1B$   rf   )r	   r@   r~  r7  r   r   rS   r   r8  r;  r   r  __getnewargs__)r7   r  tnewtwordsr   	newvaluess          r8   test_name_conflicts"TestNamedTuple.test_name_conflictsJ  s    s@AaAq!K(zzR"22RzP/0/: sE"uSZ()vJ#-SF+,-#GGFO#Qd3qyy&+A&BCGGFO///	zz<DQYY	!:;<)E%L1))+V4r;   c                     [        SS5      nU R                  [        U" S5      5      S5         " S SU5      nU R                  [        U" S5      5      S5        g )Nrq   r+  rz   zA(x=1)c                       \ rS rSrSrg)#TestNamedTuple.test_repr.<locals>.Bi  rf   Nr  rf   r;   r8   r  rS    r  r;   r  zB(x=1))r	   r@   r   )r7   rq   r  s      r8   	test_reprTestNamedTuple.test_repr  sJ    sC adX.	 	adX.r;   c                 P   U R                  [        5         [        SSS/S5      nS S S 5        [        SSS/SS9nU R                  UR                  S5        U R                  [        5         [        SSS/S	S5      nS S S 5        g ! , (       d  f       Nf= f! , (       d  f       g = f)
Nrk  r+  r,  Tr]   defrl  rd  F)r   r  r	   r@   r8  ru  s     r8   test_keyword_only_arguments*TestNamedTuple.test_keyword_only_arguments  s    y)D3*d3B * uenT:]3y)D5%.%>B *) *)
 *)s   B,B
B
B%c           	           " S S[        SSS/5      5      nU" SS5      nU R                  UR                  5       [        SS	/5      5        S
Ul        U R                  UR
                  SS
05        g )Nc                       \ rS rSrSrg)BTestNamedTuple.test_namedtuple_subclass_issue_24931.<locals>.Pointi  rf   Nr  rf   r;   r8   r(  r\    r  r;   r(  _Pointr+  r,  r   r   )r+  r   )r,  r   r   w)r	   r@   r  r   r^  __dict__)r7   r(  r0   s      r8   $test_namedtuple_subclass_issue_249313TestNamedTuple.test_namedtuple_subclass_issue_24931  se    	Jx#s4 	 !QKk8X2F&GHc1X.r;   c                   ^^ [        SS5      mT" SS5      nU R                  [        R                  " TR                  5      5        U R                  TR                  R                  U5      S5        U R                  [        TR                  R                  US5        U R                  [        TR                  R                  U5        [        [        R                  S-   5       Hp  mU R                  TS9    " UU4S jS	[        5      nU" SS
/5      nU R                  UR                  S5        U R                  UR                   S
5        S S S 5        Mr     g ! , (       d  f       M  = f)Nr(  r)  r4  r   r5  rz   r   c                      > \ rS rSr\R
                  " \R                  "  Y R                   Y5      5      r\R
                  " \R                  "  Y R                   Y5      5      rSr	g)6TestNamedTuple.test_field_descriptor.<locals>.NewPointi  rf   N)
r6   rm   rn   ro   r   r   r   r+  r,  rp   )r(  r   s   r8   NewPointre    s=    V\\%''5%ABAV\\%''5%ABAr;   rf  r{   )r	   r   inspectisdatadescriptorr+  r@   __get__r   rK  __set__
__delete__r   r   r   subTestr7  r,  )r7   r  rf  npr(  r   s       @@r8   test_field_descriptor$TestNamedTuple.test_field_descriptor  s   7E*"bM009:+R0.%''//1bA.%''*<*<a@622Q67EE*C Cu C q!f%  q)  q) +* 8**s   7AE
E)	c                     [        SS5      nUR                  nU R                  UR                  S   0 5        U R                  UR                  0 5        g )Nr  rf   __builtins__)r	   rD  r@   __globals__rq  )r7   rC   new_funcs      r8   test_new_builtins_issue_43102,TestNamedTuple.test_new_builtins_issue_43102  sH    b!;;--n=rB..3r;   c                 T    [        SS5      nU R                  UR                  S5        g )Nr(  r)  r*  )r	   r@   __match_args__rG  s     r8   test_match_argsTestNamedTuple.test_match_args  s$    7E*--z:r;   c                    [         R                  " SS5      nU[        [        [           4   nU R	                  UR
                  U5        U R	                  UR                  S5        U R	                  UR                  [        [        [           45        U" SS/5      nU R                  [        U5      U5        U R	                  USS/45        g )NGroupz	key grouprf   rz   r{   )
rt  r	   intrN   r@   
__origin____parameters____args__rB   r   )r7   r{  rq   r0   s       r8   test_non_generic_subscript)TestNamedTuple.test_non_generic_subscript  s     &&w<#tCy.!u-))2.c49%56a!Id1gu%QH%r;   rf   N)$r6   rm   rn   ro   r<  rH  rM  unittestskipIfr  flagsoptimizerQ  rU  r   cpython_onlyr\  r_  rp  rv  r  r  r  requires_resourcer  r  r  rO  rT  rX  r`  rn  rt  rx  r  rp   rf   r;   r8   r&  r&  >  s[   @:0,d# __SYY''1,@B4B4 __SYY''1,@B
EB
E __SYY''1,@B0B 0 	O 	O	S5 7D.1" u%2 &2,	E3>5@/?/ * *&4;
&r;   r&  c                   &    \ rS rSrS rS rS rSrg)ABCTestCasei  c                     [         R                  US 5      n[        SU4U5      nU" 5         U H9  nUR                  5       nXe	 [        SU4U5      nU R	                  [
        U5        M;     g )Nc                     gNr   rf   r  r   s     r8   <lambda>7ABCTestCase.validate_abstract_methods.<locals>.<lambda>  s    Ar;   r  )rS   fromkeysr   r=   r   r  )r7   r]   r  methodstubsr  r  stubss          r8   validate_abstract_methods%ABCTestCase.validate_abstract_methods  si    mmE+=> sfk*	 D$$&ES3&%(Ai+	 r;   c                 6   S n[        S[        4SS 05      n[        XBU5        U R                  U" 5       U5        U R	                  [        XA5      5        [        S[        4SS 05      nU R                  U" 5       U5        U R                  [        XA5      5        g )Nc                     gr  rf   r  s     r8   r  1ABCTestCase.validate_isinstance.<locals>.<lambda>  s    r;   r  __hash__)r   r  setattrr  r   
issubclassassertNotIsInstancer   )r7   r]   r  stubr  s        r8   validate_isinstanceABCTestCase.validate_isinstance  s    !vi*d!34ac3'
1*+vi*d!34  c*A+,r;   c                 8   / SQn0 nU H  nSU-   S-   n[        [        U5      X5'   M      " S S5      nUR                  5        HS  u  pT[        X5      (       d  M  U" 5       nU" X5        U R	                  UR
                  S[        U5      < SU< 35        MU     g )N)	ltgtlegeneorandxorsub__c                   D    \ rS rSrS rS r\r\r\r\r	\r
\r\r\r\rSrg).ABCTestCase.validate_comparison.<locals>.Otheri  c                     SU l         g r   
right_siderJ   s    r8   r   7ABCTestCase.validate_comparison.<locals>.Other.__init__  s	    "'r;   c                     SU l         gr   r  )r7   r  s     r8   __eq__5ABCTestCase.validate_comparison.<locals>.Other.__eq__  s    "&r;   r  N)r6   rm   rn   ro   r   r  __lt____gt____le____ge____ne__r  __rand____rxor____rsub__rp   rf   r;   r8   Otherr    s;    ( FFFFFGHHHr;   r  zRight side not called for .)r  r  r   hasattrr   r  r   )r7   r  ops	operatorsopr  r  r  s           r8   validate_comparisonABCTestCase.validate_comparison  s    G	B"9t#D%h5IO 	 	  ")HD8**GExOOE,,#H~t.5 6 *r;   rf   N)r6   rm   rn   ro   r  r  r  rp   rf   r;   r8   r  r    s    ,
-6r;   r  c               #      #    S v   g 7frH   rf   rf   r;   r8   	_test_genr    s     	   c                   t    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rSrg)TestOneTrickPonyABCsi  c           	         S n[         R                  S 5       nS n " S S5      n " S S[        5      nU R                  [        S5        S [        5       U" 5       [        5       /nU HT  nU R                  U[        5        U R                  [        [        U5      [        5      [        [        U5      5      5        MV     U" 5       U" 5       /nU HA  nU R                  U[        5        U R                  [        [        U5      [        5      5        MC     U" 5       n	U R                  U	[        5        U" 5       n	U R                  U	[        5        U	R                  5          " S	 S
5      n
[        R                  " U
5        U R                  [!        U
" 5       [        5      5        U R                  [        U
[        5      5        S n
["        R$                  " 5         g )Nc               3      #    S v   g 7frH   rf   rf   r;   r8   gen0TestOneTrickPonyABCs.test_Awaitable.<locals>.gen       r  c               3      #    S v   g 7frH   rf   rf   r;   r8   coro1TestOneTrickPonyABCs.test_Awaitable.<locals>.coro       r  c                     #    g 7frH   rf   rf   r;   r8   new_coro5TestOneTrickPonyABCs.test_Awaitable.<locals>.new_coro          c                       \ rS rSrS rSrg)0TestOneTrickPonyABCs.test_Awaitable.<locals>.Bari   c              3      #    S v   g 7frH   rf   rJ   s    r8   	__await__:TestOneTrickPonyABCs.test_Awaitable.<locals>.Bar.__await__!       r  rf   Nr6   rm   rn   ro   r  rp   rf   r;   r8   Barr         r;   r  c                   8   ^  \ rS rSrS rSU 4S jjrS rSrU =r$ )8TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoroi$  c                     U$ rH   rf   r7   values     r8   send=TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.send%      r;   c                 &   > [         TU ]  XU5        g rH   r  throwr7   typvaltbr  s       r8   r  >TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.throw'      c+r;   c              3      #    S v   g 7frH   rf   rJ   s    r8   r  BTestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.__await__)  r  r  rf   NN	r6   rm   rn   ro   r  r  r  rp   r  r  s   @r8   MinimalCoror  $      , r;   r  r  c                       \ rS rSrSrg)5TestOneTrickPonyABCs.test_Awaitable.<locals>.CoroLikeiB  rf   Nr  rf   r;   r8   CoroLiker  B  s    r;   r  )types	coroutiner   r  r   r|  r  r  r   r  r   r   r  r   closeregisterr   r   
gc_collectr7   r  r  r  r  r  non_samplesr+  samplesr~   r  s              r8   test_Awaitable#TestOneTrickPonyABCs.test_Awaitable  sf   	 
	 
			 		) 	 	&&y+>SUCE684A$$Q	2ZQ;T$q']K  5+-(A!!!Y/OOJtAw	:;  F 	  I.Ja+		8$
8:y9:
8Y78r;   c           	         S n[         R                  S 5       nS n " S S5      n " S S[        5      nU R                  [        SS	S
5        S [	        5       U" 5       [        5       U" 5       /nU HT  nU R                  U[        5        U R                  [        [        U5      [        5      [        [        U5      5      5        MV     U" 5       /nU HA  nU R                  U[        5        U R                  [        [        U5      [        5      5        MC     U" 5       n	U R                  U	[        5        U" 5       n	U R                  U	[        5        U	R                  5          " S S5      n
U R                  [        U
" 5       [        5      5        U R                  [        U
[        5      5         " S S5      n
U R                  [        U
" 5       [        5      5        U R                  [        U
[        5      5        g )Nc               3      #    S v   g 7frH   rf   rf   r;   r8   r  0TestOneTrickPonyABCs.test_Coroutine.<locals>.genJ  r  r  c               3      #    S v   g 7frH   rf   rf   r;   r8   r  1TestOneTrickPonyABCs.test_Coroutine.<locals>.coroM  r  r  c                     #    g 7frH   rf   rf   r;   r8   r  5TestOneTrickPonyABCs.test_Coroutine.<locals>.new_coroQ  r  r  c                       \ rS rSrS rSrg)0TestOneTrickPonyABCs.test_Coroutine.<locals>.BariT  c              3      #    S v   g 7frH   rf   rJ   s    r8   r  :TestOneTrickPonyABCs.test_Coroutine.<locals>.Bar.__await__U  r  r  rf   Nr  rf   r;   r8   r  r  T  r  r;   r  c                   8   ^  \ rS rSrS rSU 4S jjrS rSrU =r$ )8TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoroiX  c                     U$ rH   rf   r  s     r8   r  =TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.sendY  r  r;   c                 &   > [         TU ]  XU5        g rH   r  r  s       r8   r  >TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.throw[  r  r;   c              3      #    S v   g 7frH   rf   rJ   s    r8   r  BTestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.__await__]  r  r  rf   r  r  r  s   @r8   r  r  X  r  r;   r  r  r  r  c                   0    \ rS rSrS rSS jrS rS rSrg)	5TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLikeiv  c                     g rH   rf   r  s     r8   r  :TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.sendw      r;   Nc                     g rH   rf   r7   r  r  r  s       r8   r  ;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.throwy  r  r;   c                     g rH   rf   rJ   s    r8   r  ;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.close{  r  r;   c                     g rH   rf   rJ   s    r8   r  ?TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.__await__}  r  r;   rf   r  )	r6   rm   rn   ro   r  r  r  r  rp   rf   r;   r8   r  r  v  s    r;   r  c                   &    \ rS rSrS rS rS rSrg)r  i  c                     g rH   rf   r  s     r8   r  r    r  r;   c                     g rH   rf   rJ   s    r8   r  r    r  r;   c                     g rH   rf   rJ   s    r8   r  r!    r  r;   rf   N)r6   rm   rn   ro   r  r  r  rp   rf   r;   r8   r  r    s    r;   )r  r  r   r  r|  r  r  r   r  r   r   r  r   r   r  r   r  s              r8   test_Coroutine#TestOneTrickPonyABCs.test_CoroutineI  s   	 
	 
			 		) 	 	&&y+vwOSUCE68SU;A$$Q	2ZQ;T$q']K  =/A!!!Y/OOJtAw	:;  F 	  I.Ja+			 	 	
8:y9:
8Y78	 	 	HJ	:;Hi89r;   c                    [        5       [        5       [        5       [        5       /nU HT  nU R	                  U[
        5        U R                  [        [        U5      [
        5      [        [        U5      5      5        MV     S [        5       [        5       [        5       [        5       [        5       [        5       [        [        [         [        [#        5       /nU HT  nU R%                  U[
        5        U R'                  [        [        U5      [
        5      [        [        U5      5      5        MV     U R)                  [*        [
        5         " S S[
        5      nU R-                  [/        U" 5       5      S5        U R                  [        [        U5      5        U R1                  [
        S5        U R3                  [
        S5        g )Nc                   (   ^  \ rS rSrU 4S jrSrU =r$ )-TestOneTrickPonyABCs.test_Hashable.<locals>.Hi  c                     > [         TU ]  5       $ rH   )r  r  r7   r  s    r8   r  6TestOneTrickPonyABCs.test_Hashable.<locals>.H.__hash__      w'))r;   rf   )r6   rm   rn   ro   r  rp   r  r  s   @r8   Hr*        * *r;   r/  r   r  )	bytearrayrN   r3   rS   r  r   r   r  r   r   r|  floatcomplexrI   r7  	frozensetr  bytesr  r   r   r  r@   r  r  r  )r7   r  r+  r   r/  s        r8   test_Hashable"TestOneTrickPonyABCs.test_Hashable  s1    {DFCE46:A$$Q1ZQ:DaMJ  5%'7957IKfdEG	 A!!!X.OOJtAw94Q=I  	)X.	* 	* 	acA&C+,&&x<  :6r;   c           	          " S S5      nU R                  [        U" 5       [        5      5        U R                  [        U[        5      5        S [        / /nU HT  nU R                  U[        5        U R                  [        [        U5      [        5      [        [        U5      5      5        MV     U R                  [        S5        U R                  [        S5        g )Nc                       \ rS rSrS rSrg)3TestOneTrickPonyABCs.test_AsyncIterable.<locals>.AIi  c                     U $ rH   rf   rJ   s    r8   	__aiter__=TestOneTrickPonyABCs.test_AsyncIterable.<locals>.AI.__aiter__      r;   rf   N)r6   rm   rn   ro   r<  rp   rf   r;   r8   AIr:    s    r;   r?  r<  )r   r   r   r  r  r  r   r   r   r  r  )r7   r?  r  r+  s       r8   test_AsyncIterable'TestOneTrickPonyABCs.test_AsyncIterable  s    	 	 	
2478
2}56VR(A$$Q6ZQ?d1gO  	&&}kB  <r;   c           	          " S S5      nU R                  [        U" 5       [        5      5        U R                  [        U[        5      5        S [        / /nU HT  nU R                  U[        5        U R                  [        [        U5      [        5      [        [        U5      5      5        MV      " S S5      nU R                  U" 5       [        5        U R                  [        S5        g )Nc                        \ rS rSrS rS rSrg)3TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AIi  c                     U $ rH   rf   rJ   s    r8   r<  =TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AI.__aiter__  r>  r;   c                    #    [         e7frH   StopAsyncIterationrJ   s    r8   	__anext__=TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AI.__anext__       ((   	rf   N)r6   rm   rn   ro   r<  rJ  rp   rf   r;   r8   r?  rD    s    )r;   r?  c                       \ rS rSrS rSrg):TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AnextOnlyi  c                    #    [         e7frH   rH  rJ   s    r8   rJ  DTestOneTrickPonyABCs.test_AsyncIterator.<locals>.AnextOnly.__anext__  rL  rM  rf   N)r6   rm   rn   ro   rJ  rp   rf   r;   r8   	AnextOnlyrO    s    )r;   rR  rJ  )
r   r   r   r  r  r  r   r   r   r  )r7   r?  r  r+  rR  s        r8   test_AsyncIterator'TestOneTrickPonyABCs.test_AsyncIterator  s    	) 	)
 	
2478
2}56VR(A$$Q6ZQ?d1gO 	) 	) 	  m<&&}kBr;   c                    / SQnU HT  nU R                  U[        5        U R                  [        [	        U5      [        5      [        [	        U5      5      5        MV     [        5       [        5       [        5       [        5       [        5       [        5       [        5       [        5       R                  5       [        5       R                  5       [        5       R                  5       [!        5       S S 5       /nU HT  nU R#                  U[        5        U R%                  [        [	        U5      [        5      [        [	        U5      5      5        MV      " S S[        5      nU R'                  [        U" 5       5      / 5        U R                  [        [        U5      5        U R)                  [        S5        U R+                  [        S5         " S S5      n " S	 S
U5      nU R%                  [        U[        5      5        U R%                  [-        U" 5       [        5      5        U R                  [        U[        5      5        U R                  [-        U" 5       [        5      5        g )N)Nr  Q	@              ?c              3   $   #    U  H  ov   M     g 7frH   rf   r  r+  s     r8   r  5TestOneTrickPonyABCs.test_Iterable.<locals>.<genexpr>       ?r!Ar   rf   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )-TestOneTrickPonyABCs.test_Iterable.<locals>.Ii  c                     > [         TU ]  5       $ rH   )r  __iter__r,  s    r8   r`  6TestOneTrickPonyABCs.test_Iterable.<locals>.I.__iter__  r.  r;   rf   )r6   rm   rn   ro   r`  rp   r  r  s   @r8   Ir^    r0  r;   rb  r`  c                       \ rS rSrS rSrg).TestOneTrickPonyABCs.test_Iterable.<locals>.Iti  c                     [        / 5      $ rH   rF  rJ   s    r8   r`  7TestOneTrickPonyABCs.test_Iterable.<locals>.It.__iter__  
    tBxr;   rf   Nr6   rm   rn   ro   r`  rp   rf   r;   r8   Itrd        /r;   rj  c                       \ rS rSrSrSrg)5TestOneTrickPonyABCs.test_Iterable.<locals>.ItBlockedi  Nrf   ri  rf   r;   r8   	ItBlockedrm        Hr;   rn  )r  r   r   r  r   r   r5  rI   r7  rN   r3   r4  rS   keysr   r   r  r  r   r@   r  r  r   )r7   r  r+  r   rb  rj  rn  s          r8   test_Iterable"TestOneTrickPonyABCs.test_Iterable  s   *A$$Q1ZQ:DaMJ  7CE7DFCE9;6;;=$&,,.$&--/;"r?	 A!!!X.OOJtAw94Q=I 	* 	* 	acB'C+,&&x<  :6	0 	0	 	
2x01
2423Ix89IK:;r;   c                 	   S SSS[        5       [        5       /nU HT  nU R                  U[        5        U R	                  [        [        U5      [        5      [        [        U5      5      5        MV     [        5       S S 5       [        / 5      [        / 5      /nU HT  nU R                  U[        5        U R	                  [        [        U5      [        5      [        [        U5      5      5        MV     [        5       [        5       [        5       [        5       [        5       [        5       R!                  5       [        5       R#                  5       [        5       R%                  5       ['        5       ['        5       R!                  5       ['        5       R#                  5       ['        5       R%                  5       [)        5       [)        5       R!                  5       [)        5       R#                  5       [)        5       R%                  5       /nU HT  nU R+                  U[        5        U R-                  [        [        U5      [        5      [        [        U5      5      5        MV     U R-                  [        [.        [        5      [        [.        5      5        U R	                  [        [0        [        5      [        [0        5      5        U R	                  [        [2        [        5      [        [2        5      5         " S S[        5      nU R5                  [        [        U" 5       5      5      / 5        U R	                  [        [6        U5      5        U R9                  [        SS	5         " S
 S5      n " S SU5      nU R	                  [        U[        5      5        U R	                  [;        U" 5       [        5      5        U R-                  [        U[        5      5        U R-                  [;        U" 5       [        5      5         " S S5      n " S SU5      n	 " S SU5      n
U R-                  [        U[        5      5        U R-                  [;        U" 5       [        5      5        U R	                  [        U	[        5      5        U R	                  [;        U	" 5       [        5      5        U R	                  [        U
[        5      5        U R	                  [;        U
" 5       [        5      5        g )Nr  rV  rW  c              3   $   #    U  H  ov   M     g 7frH   rf   rY  s     r8   r  7TestOneTrickPonyABCs.test_Reversible.<locals>.<genexpr>  s     BqBr\  rf   c                        \ rS rSrS rS rSrg)/TestOneTrickPonyABCs.test_Reversible.<locals>.Ri  c                 (    [        [        5       5      $ rH   rF  rN   rJ   s    r8   r`  8TestOneTrickPonyABCs.test_Reversible.<locals>.R.__iter__      DF|#r;   c                 (    [        [        5       5      $ rH   ry  rJ   s    r8   __reversed__<TestOneTrickPonyABCs.test_Reversible.<locals>.R.__reversed__  r{  r;   rf   Nr6   rm   rn   ro   r`  r}  rp   rf   r;   r8   Rrw    s    $$r;   r  r}  r`  c                       \ rS rSrS rSrg)7TestOneTrickPonyABCs.test_Reversible.<locals>.RevNoIteri  c                     [        / 5      $ rH   reversedrJ   s    r8   r}  DTestOneTrickPonyABCs.test_Reversible.<locals>.RevNoIter.__reversed__      8B<$7r;   rf   Nr6   rm   rn   ro   r}  rp   rf   r;   r8   	RevNoIterr    s    7r;   r  c                       \ rS rSrS rSrg)9TestOneTrickPonyABCs.test_Reversible.<locals>.RevPlusIteri  c                     [        / 5      $ rH   rf  rJ   s    r8   r`  BTestOneTrickPonyABCs.test_Reversible.<locals>.RevPlusIter.__iter__  rh  r;   rf   Nri  rf   r;   r8   RevPlusIterr    rk  r;   r  c                        \ rS rSrS rS rSrg)1TestOneTrickPonyABCs.test_Reversible.<locals>.Revi  c                     [        / 5      $ rH   rf  rJ   s    r8   r`  :TestOneTrickPonyABCs.test_Reversible.<locals>.Rev.__iter__  rh  r;   c                     [        / 5      $ rH   r  rJ   s    r8   r}  >TestOneTrickPonyABCs.test_Reversible.<locals>.Rev.__reversed__  r  r;   rf   Nr  rf   r;   r8   Revr    s    /7r;   r  c                       \ rS rSrSrSrg):TestOneTrickPonyABCs.test_Reversible.<locals>.RevItBlockedi  Nrf   ri  rf   r;   r8   RevItBlockedr    ro  r;   r  c                       \ rS rSrSrSrg);TestOneTrickPonyABCs.test_Reversible.<locals>.RevRevBlockedi  Nrf   r  rf   r;   r8   RevRevBlockedr        Lr;   r  )r3   r4  r  r   r   r  r   r   r  rF  r  r5  rI   r7  rN   r   rp  r   r   r
   rS   r  r   r'   r"   r#   r@   r2  r  r   )r7   r  r+  non_reversiblesr   r  r  r  r  r  r  s              r8   test_Reversible$TestOneTrickPonyABCs.test_Reversible  s.   Rr35)+>A$$Q
3ZQ<d47mL  %;Bb8B<P A$$Q
3ZQ<d47mL ! 7CE57DFKM=%%')<)<)>='')79ginn6F9??$gi&6&6&8$&6;;=$&,,.$&--/	C
 A!!!Z0OOJtAw
;T$q']K  	
8Z8$x.IGZ8$w-HNJ?nAUV	$
 	$
 	hqsm,b1E1-.&&z>:N	8 	8	0) 	0Iz:;IK<=
;
;<
;=*=>	8 	8	3 		 C 	 
3
34
35*56L*=>LNJ?@M:>?MOZ@Ar;   c                    S SSSS /nU HT  nU R                  U[        5        U R                  [        [	        U5      [        5      [        [	        U5      5      5        MV     [        5       [        S5      [        [        5       5      S S 5       /nU HT  nU R                  U[        5        U R                  [        [	        U5      [        5      [        [	        U5      5      5        MV     [        5       [        5       [        5       [        5       [        5       [        5       [        5       [        5       R!                  5       [        5       R#                  5       [        5       R%                  5       /
nU HT  nU R'                  U[        5        U R)                  [        [	        U5      [        5      [        [	        U5      5      5        MV     U R)                  [        [*        [        5      [        [*        5      5        U R)                  [        [,        [        5      [        [,        5      5        U R)                  [        [.        [        5      [        [.        5      5        U R)                  [        [0        [        5      [        [0        5      5        U R)                  [        [2        [        5      [        [2        5      5        U R)                  [        [*        [        5      [        [2        5      5         " S S	[        5      n " S
 SU5      nU R5                  [        [        U" 5       5      5      / 5        U R                  [        [        U5      5        U R                  [        [        U5      5        U R                  [        [6        U5      5        U R5                  [        [        U" 5       5      5      / 5        U R                  [        [        U5      5        U R                  [        [        U5      5        U R                  [        [6        U5      5        U R9                  [        SSS5         " S S5      n " S S5      n " S S5      n	U R                  [        U[        5      5        U R                  [;        U" 5       [        5      5        U R                  [        U[        5      5        U R                  [;        U" 5       [        5      5        U R                  [        U	[        5      5        U R                  [;        U	" 5       [        5      5         " S S5      n
 " S S5      nU R                  [        U
[        5      5        U R                  [;        U
" 5       [        5      5        U R                  [        U[        5      5        U R                  [;        U" 5       [        5      5         " S S5      n " S SU5      nU R                  [        U[        5      5        U R                  [;        U" 5       [        5      5        g )Nr  rV  rW  c                     SU -  $ )Nr{   rf   r{  s    r8   r  6TestOneTrickPonyABCs.test_Collection.<locals>.<lambda>%  s    1r;   r;   c              3   $   #    U  H  ov   M     g 7frH   rf   rY  s     r8   r  7TestOneTrickPonyABCs.test_Collection.<locals>.<genexpr>+  s     _Aar\  rf   c                   &    \ rS rSrS rS rS rSrg)1TestOneTrickPonyABCs.test_Collection.<locals>.Coli>  c                 (    [        [        5       5      $ rH   ry  rJ   s    r8   r`  :TestOneTrickPonyABCs.test_Collection.<locals>.Col.__iter__?  r{  r;   c                     gr  rf   rJ   s    r8   __len__9TestOneTrickPonyABCs.test_Collection.<locals>.Col.__len__A      r;   c                     gr   rf   r   s     r8   r  >TestOneTrickPonyABCs.test_Collection.<locals>.Col.__contains__C      r;   rf   Nr6   rm   rn   ro   r`  r  r  rp   rf   r;   r8   Colr  >      $r;   r  c                       \ rS rSrSrg)4TestOneTrickPonyABCs.test_Collection.<locals>.DerColiE  rf   Nr  rf   r;   r8   DerColr  E  s    4r;   r  r  r`  r  c                        \ rS rSrS rS rSrg)7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoIteriQ  c                     gr  rf   rJ   s    r8   r  ?TestOneTrickPonyABCs.test_Collection.<locals>.ColNoIter.__len__R      ar;   c                     gr   rf   r   s     r8   r  DTestOneTrickPonyABCs.test_Collection.<locals>.ColNoIter.__contains__S      r;   rf   N)r6   rm   rn   ro   r  r  rp   rf   r;   r8   	ColNoIterr  Q  s    '6r;   r  c                        \ rS rSrS rS rSrg)7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoSizeiT  c                     [        / 5      $ rH   rf  rJ   s    r8   r`  @TestOneTrickPonyABCs.test_Collection.<locals>.ColNoSize.__iter__U  rh  r;   c                     gr   rf   r   s     r8   r  DTestOneTrickPonyABCs.test_Collection.<locals>.ColNoSize.__contains__V  r  r;   rf   N)r6   rm   rn   ro   r`  r  rp   rf   r;   r8   	ColNoSizer  T  s    /6r;   r  c                        \ rS rSrS rS rSrg)7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoContiW  c                     [        / 5      $ rH   rf  rJ   s    r8   r`  @TestOneTrickPonyABCs.test_Collection.<locals>.ColNoCont.__iter__X  rh  r;   c                     gr  rf   rJ   s    r8   r  ?TestOneTrickPonyABCs.test_Collection.<locals>.ColNoCont.__len__Y  r  r;   rf   N)r6   rm   rn   ro   r`  r  rp   rf   r;   r8   	ColNoContr  W  s    /'r;   r  c                   $    \ rS rSrS rS rSrSrg)7TestOneTrickPonyABCs.test_Collection.<locals>.SizeBlockia  c                     [        / 5      $ rH   rf  rJ   s    r8   r`  @TestOneTrickPonyABCs.test_Collection.<locals>.SizeBlock.__iter__b  rh  r;   c                     gr   rf   rJ   s    r8   r  DTestOneTrickPonyABCs.test_Collection.<locals>.SizeBlock.__contains__c  s    5r;   Nrf   )r6   rm   rn   ro   r`  r  r  rp   rf   r;   r8   	SizeBlockr  a  s    /0Gr;   r  c                   $    \ rS rSrS rS rSrSrg)7TestOneTrickPonyABCs.test_Collection.<locals>.IterBlockie  c                     gr  rf   rJ   s    r8   r  ?TestOneTrickPonyABCs.test_Collection.<locals>.IterBlock.__len__f  r  r;   c                     gr   rf   rJ   s    r8   r  DTestOneTrickPonyABCs.test_Collection.<locals>.IterBlock.__contains__g  s    4r;   Nrf   )r6   rm   rn   ro   r  r  r`  rp   rf   r;   r8   	IterBlockr  e  s    '/Hr;   r  c                   &    \ rS rSrS rS rS rSrg)5TestOneTrickPonyABCs.test_Collection.<locals>.ColImplin  c                 (    [        [        5       5      $ rH   ry  rJ   s    r8   r`  >TestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__iter__o  r{  r;   c                     gr  rf   rJ   s    r8   r  =TestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__len__q  r  r;   c                     gr   rf   r   s     r8   r  BTestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__contains__s  r  r;   rf   Nr  rf   r;   r8   ColImplr  n  r  r;   r  c                       \ rS rSrSrSrg)4TestOneTrickPonyABCs.test_Collection.<locals>.NonColiu  Nrf   )r6   rm   rn   ro   r  rp   rf   r;   r8   NonColr  u  r  r;   r  )r  r   r   r  r   r   r  rF  r1  r3   r4  rS   r5  rI   r7  rN   rp  r   r   r  r   r'   r"   r#   r    r!   r@   r2  r  r   )r7   non_collectionsr+  non_col_iterablesr   r  r  r  r  r  r  r  r  r  s                 r8   test_Collection$TestOneTrickPonyABCs.test_Collection#  s   T2}= A$$Q
3ZQ<d47mL ! '[$s)T)+5F,_."A$$Q
3ZQ<d47mL # 5)+tvuwuw646;;=$&,,.$&--/KA!!!Z0OOJtAw
;T$q']K  	
8Z8$x.I
7J7gG
>:>$($8	:
3
3T#Y?
:z:D<LM
8Z8$z:JK	* 	 	 Sd35k*B/D#./C-.E3/0d68n-r2D&12C01E623&&z9j3A	C	7 	7	7 	7	( 	( 	Iz:;IK<=Iz:;IK<=Iz:;IK<=	 		 	 	Iz:;IK<=Iz:;IK<=	 		 W 	 FJ78FHj9:r;   c                    S SSSSSS/ 0 [        5       /
nU HT  nU R                  U[        5        U R                  [	        [        U5      [        5      [        [        U5      5      5        MV     [        [        5       5      [        [        5       5      [        [        5       5      [        [        5       5      [        [        5       5      [        [        5       5      [        [        5       5      [        [        5       R                  5       5      [        [        5       R                  5       5      [        [        5       R!                  5       5      [#        5       S S 5       /nU HT  nU R%                  U[        5        U R'                  [	        [        U5      [        5      [        [        U5      5      5        MV     U R)                  [        S5         " S	 S
5      nU R                  U" 5       [        5        g )Nr  rV  rW  r;   r   rf   c              3   $   #    U  H  ov   M     g 7frH   rf   rY  s     r8   r  5TestOneTrickPonyABCs.test_Iterator.<locals>.<genexpr>  r[  r\  __next__c                       \ rS rSrS rSrg)4TestOneTrickPonyABCs.test_Iterator.<locals>.NextOnlyi  c              3      #    Sv   g 7fNrz   rf   rJ   s    r8   r  =TestOneTrickPonyABCs.test_Iterator.<locals>.NextOnly.__next__  s     r  rf   N)r6   rm   rn   ro   r  rp   rf   r;   r8   NextOnlyr    s    r;   r  )r3   r  r   r   r  r   r   rF  r5  rI   r7  rN   rS   r4  rp  r   r   r  r  r   r  )r7   r  r+  r   r  s        r8   test_Iterator"TestOneTrickPonyABCs.test_Iterator{  sH   Rr3BBFA$$Q1ZQ:DaMJ  =$su+=$tv,TV;Y[ 1&TV\\^(<(;"r? A!!!X.OOJtAw94Q=I  	&&x<	 	 	  X6r;   c                     " S S5      n " S S5      n " S S5      nS SSS	S
SS/ 0 [        5       [        S5      [        / 5      U" 5       U" 5       U" 5       /nU HT  nU R                  U[        5        U R	                  [        [        U5      [        5      [        [        U5      5      5        MV      " S S5      n " S S[        5      nS nU" 5       S " 5       U" 5       U" 5       /n	U	 Hj  nU R                  U[        5        U R                  U[        5        U R                  [        [        U5      [        5      [        [        U5      5      5        Ml     U R                  [        SS5        U" 5       n
U R                  U
[        U
5      5        U R                  U
R                  S 5      [        U
5      5        U R                  SU
R                  S5      5        U R!                  U
R#                  5       5        U R%                  [&        U
R(                  [&        5        U R+                  [&        SU
R(                  [&        ['        S5      5        U R%                  [,        U
R(                  [-        5       5         " S S[        5      nU R%                  [&        U" 5       R"                  5         " S S[        5      nU R%                  [.        U" 5       R"                  5        g )Nc                   0    \ rS rSrS rS rS rSS jrSrg)	4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1i  c                     U $ rH   rf   rJ   s    r8   r`  =TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.__iter__      tr;   c                     g rH   rf   rJ   s    r8   r  =TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.__next__      tr;   c                     g rH   rf   rJ   s    r8   r  :TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.close      Tr;   Nc                     g rH   rf   r  s       r8   r  :TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.throw      Tr;   rf   r  )	r6   rm   rn   ro   r`  r  r  r  rp   rf   r;   r8   NonGen1r    s    ++!9r;   r  c                   ,    \ rS rSrS rS rS rS rSrg)4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2i  c                     U $ rH   rf   rJ   s    r8   r`  =TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.__iter__  r  r;   c                     g rH   rf   rJ   s    r8   r  =TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.__next__  r  r;   c                     g rH   rf   rJ   s    r8   r  :TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.close  r  r;   c                     U$ rH   rf   r  s     r8   r  9TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.send      %<r;   rf   N)	r6   rm   rn   ro   r`  r  r  r  rp   rf   r;   r8   NonGen2r    s    ++!/r;   r  c                   *    \ rS rSrS rS rSS jrSrg)4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3i  c                     g rH   rf   rJ   s    r8   r  :TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.close  r  r;   c                     U$ rH   rf   r  s     r8   r  9TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.send  r  r;   Nc                     g rH   rf   r  s       r8   r  :TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.throw  r  r;   rf   r  )r6   rm   rn   ro   r  r  r  rp   rf   r;   r8   NonGen3r    s    !/9r;   r  r  rV  rW  r;   r   rf   c                   6    \ rS rSrS rS rS rS rS	S jrSr	g)
0TestOneTrickPonyABCs.test_Generator.<locals>.Geni  c                     U $ rH   rf   rJ   s    r8   r`  9TestOneTrickPonyABCs.test_Generator.<locals>.Gen.__iter__  r  r;   c                     g rH   rf   rJ   s    r8   r  9TestOneTrickPonyABCs.test_Generator.<locals>.Gen.__next__  r  r;   c                     g rH   rf   rJ   s    r8   r  6TestOneTrickPonyABCs.test_Generator.<locals>.Gen.close  r  r;   c                     U$ rH   rf   r  s     r8   r  5TestOneTrickPonyABCs.test_Generator.<locals>.Gen.send  r  r;   Nc                     g rH   rf   r  s       r8   r  6TestOneTrickPonyABCs.test_Generator.<locals>.Gen.throw  r  r;   rf   r  )
r6   rm   rn   ro   r`  r  r  r  r  rp   rf   r;   r8   Genr    s    ++!/9r;   r(  c                   2   ^  \ rS rSrS rSU 4S jjrSrU =r$ )7TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGeni  c                     U$ rH   rf   r  s     r8   r  <TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGen.send  r  r;   c                 &   > [         TU ]  XU5        g rH   r  r  s       r8   r  =TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGen.throw  r  r;   rf   r  )r6   rm   rn   ro   r  r  rp   r  r  s   @r8   
MinimalGenr*    s    , ,r;   r/  c               3      #    Sv   g 7fr  rf   rf   r;   r8   r  0TestOneTrickPonyABCs.test_Generator.<locals>.gen  s
     Gr  c               3      #    S v $ rH   rf   rf   r;   r8   r  5TestOneTrickPonyABCs.test_Generator.<locals>.<lambda>  s     Er;   r  r  r{   z^huhu$huhuc                        \ rS rSrS rS rSrg)8TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClosei  c                     U$ rH   rf   r  s     r8   r  =TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClose.send  r  r;   c                     [         erH   r9  r7   r   s     r8   r  >TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClose.throw  s    *$4r;   rf   Nr6   rm   rn   ro   r  r  rp   rf   r;   r8   FailOnCloser6    s    /4r;   r>  c                        \ rS rSrS rS rSrg)@TestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExiti  c                     U$ rH   rf   r  s     r8   r  ETestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExit.send  r  r;   c                     g rH   rf   r;  s     r8   r  FTestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExit.throw  s    Dr;   rf   Nr=  rf   r;   r8   IgnoreGeneratorExitr@    s    /(r;   rE  )r3   rF  r  r   r   r  r   r   r  r   r   r  rB   r  nextr@   rC  r  r   r9  r  assertRaisesRegexStopIterationRuntimeError)r7   r  r  r  r  r+  r(  r/  r  r   mgenr>  rE  s                r8   test_Generator#TestOneTrickPonyABCs.test_Generator  s,   	: 	:	0 	0	: 	: "dBRRSUHd2h	79giA A$$Q	2ZQ;T$q']K 	: 	:	, 	,	 5?-sujlCA!!!X.!!!Y/OOJtAw	:DaMJ  	&&y&'B |dDJ'diiotDz2DIIaL)$**,'*djj*=z8#zz:z&7I	K-]_E	5) 	5 	*km&9&9:	)) 	) 	,(;(=(C(CDr;   c                 .    " S S5      n " S S5      n " S S5      nS SSS	S
SS/ 0 [        5       [        S5      [        / 5      U" 5       U" 5       U" 5       /nU HT  nU R                  U[        5        U R	                  [        [        U5      [        5      [        [        U5      5      5        MV      " S S5      n " S S[        5      nS nU" 5       U" 5       U" 5       /n	U	 Hj  nU R                  U[        5        U R                  U[        5        U R                  [        [        U5      [        5      [        [        U5      5      5        Ml     U R                  [        SS5        S n
U" 5       nU R                  XR                  5       5        U R                  U
" UR                  S 5      5      U
" UR                  5       5      5        U R!                  SU
" UR                  S5      5      5        U R#                  U
" UR%                  5       5      5        U R'                  [(        5         U
" UR+                  [(        5      5        S S S 5         " S S[        5      nU R'                  [(        5         U
" U" 5       R%                  5       5        S S S 5         " S S[        5      nU R'                  [,        5         U
" U" 5       R%                  5       5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nh= f! , (       d  f       g = f)Nc                   0    \ rS rSrS rS rS rSS jrSrg)	:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1i  c                     U $ rH   rf   rJ   s    r8   r<  DTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.__aiter__      r;   c                     g rH   rf   rJ   s    r8   rJ  DTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.__anext__      r;   c                     g rH   rf   rJ   s    r8   acloseATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.aclose      dr;   Nc                     g rH   rf   r  s       r8   athrowATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.athrow      dr;   rf   r  )	r6   rm   rn   ro   r<  rJ  rW  r[  rp   rf   r;   r8   NonAGen1rO    s    ,,":r;   r^  c                   ,    \ rS rSrS rS rS rS rSrg):TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2i  c                     U $ rH   rf   rJ   s    r8   r<  DTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.__aiter__  rR  r;   c                     g rH   rf   rJ   s    r8   rJ  DTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.__anext__  rU  r;   c                     g rH   rf   rJ   s    r8   rW  ATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.aclose  rY  r;   c                     U$ rH   rf   r  s     r8   asend@TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.asend      5Lr;   rf   N)	r6   rm   rn   ro   r<  rJ  rW  rh  rp   rf   r;   r8   NonAGen2r`    s    ,,"0r;   rk  c                   *    \ rS rSrS rS rSS jrSrg):TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3i  c                     g rH   rf   rJ   s    r8   rW  ATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.aclose  rY  r;   c                     U$ rH   rf   r  s     r8   rh  @TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.asend  rj  r;   Nc                     g rH   rf   r  s       r8   r[  ATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.athrow  r]  r;   rf   r  )r6   rm   rn   ro   rW  rh  r[  rp   rf   r;   r8   NonAGen3rm    s    "0:r;   rt  r  rV  rW  r;   r   rf   c                   6    \ rS rSrS rS rS rS rS	S jrSr	g)
5TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Geni  c                     U $ rH   rf   rJ   s    r8   r<  ?TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.__aiter__  rR  r;   c                    #    g 7frH   rf   rJ   s    r8   rJ  ?TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.__anext__  s     dr  c                    #    g 7frH   rf   rJ   s    r8   rW  <TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.aclose  s     Dr  c                    #    U$ 7frH   rf   r  s     r8   rh  ;TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.asend  	     ,   Nc                    #    g 7frH   rf   r  s       r8   r[  <TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.athrow  s     Dr  rf   r  )
r6   rm   rn   ro   r<  rJ  rW  rh  r[  rp   rf   r;   r8   r(  rv    s    ,2(6@r;   r(  c                   2   ^  \ rS rSrS rSU 4S jjrSrU =r$ )=TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGeni  c                    #    U$ 7frH   rf   r  s     r8   rh  CTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGen.asend  s
     r  c                 B   >#    [         TU ]  XU5      I S h  vN   g  N7frH   )r  r[  r  s       r8   r[  DTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGen.athrow  s     gnSr222s   rf   r  )r6   rm   rn   ro   rh  r[  rp   r  r  s   @r8   MinimalAGenr    s    3 3r;   r  c                    #    S7v   g 7fr  rf   rf   r;   r8   r  5TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.gen  s
     GrM  rh  r[  c                     S n  U R                  S 5        M  ! [         a-  nUR                  (       a  UR                  S   OS n S nAU$ S nAff = fr  )r  rH  r   )r  r  exs      r8   	run_async;TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.run_async  sN    FIIdO  % +-77RWWQZFMs    
A"A

Ar{   c                        \ rS rSrS rS rSrg)=TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClosei  c                    #    U$ 7frH   rf   r  s     r8   rh  CTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClose.asend  r  r  c                    #    [         e7frH   r:  r;  s     r8   r[  DTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClose.athrow   s
     +;rM  rf   Nr6   rm   rn   ro   rh  r[  rp   rf   r;   r8   r>  r    s    6;r;   r>  c                        \ rS rSrS rS rSrg)ETestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExiti%  c                    #    U$ 7frH   rf   r  s     r8   rh  KTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExit.asend&  r  r  c                    #    g 7frH   rf   r;  s     r8   r[  LTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExit.athrow'  s     4r  rf   Nr  rf   r;   r8   rE  r  %  s    6/r;   rE  )r3   rF  r  r   r   r  r   r   r  r   r   r  rB   r<  rh  rJ  r@   rC  rW  r   r9  r[  rI  )r7   r^  rk  rt  r  r+  r(  r  r  r   r  rJ  r>  rE  s                 r8   test_AsyncGenerator(TestOneTrickPonyABCs.test_AsyncGenerator  sT   	; 	;	1 	1	; 	; "dBRRSUHd2h
HJ
D A$$Q7ZQ@$tAw-P 	A 	A	3. 	3	 5#%/A!!!]3!!!^4OOJtAw?d1gO  	&&~wI	 }dNN,-i

4 019T^^=M3NOIdjjm45)DKKM23z*dkk*-. +	<. 	< z*km**,- +	0. 	0 |,)+2245 -, +* +* -,s$   /K$7K5?L$
K25
L
Lc                    S SSS[        5       S S 5       /nU HT  nU R                  U[        5        U R                  [	        [        U5      [        5      [        [        U5      5      5        MV     [        5       [        5       [        5       [        5       [        5       [        5       [        5       [        5       R                  5       [        5       R                  5       [        5       R!                  5       /
nU HT  nU R#                  U[        5        U R%                  [	        [        U5      [        5      [        [        U5      5      5        MV     U R'                  [        S5        U R)                  [        S5        g )Nr  rV  rW  c              3   $   #    U  H  ov   M     g 7frH   rf   rY  s     r8   r  2TestOneTrickPonyABCs.test_Sized.<locals>.<genexpr>/       2a2r\  rf   r  )r  r  r   r   r  r   r   r5  rI   r7  rN   r3   r4  rS   rp  r   r   r  r   r  r  r7   r  r+  r   s       r8   
test_SizedTestOneTrickPonyABCs.test_Sized,  s   Rr {&2 A$$Q.ZQ7d1gG  7CE7DFCE9;6;;=$&,,.$&--/ A!!!U+OOJtAw6T!WF  	&&ui8  	2r;   c           
         S SSS[        5       S S 5       /nU HT  nU R                  U[        5        U R                  [	        [        U5      [        5      [        [        U5      5      5        MV     [        5       [        5       [        5       [        5       [        5       [        5       [        5       [        5       R                  5       [        5       R                  5       /	nU HT  nU R!                  U[        5        U R#                  [	        [        U5      [        5      [        [        U5      5      5        MV     U R%                  [        S5        U R'                  [        S5        g )Nr  rV  rW  c              3   $   #    U  H  ov   M     g 7frH   rf   rY  s     r8   r  6TestOneTrickPonyABCs.test_Container.<locals>.<genexpr>A  r  r\  rf   r  )r  r  r   r   r  r   r   r5  rI   r7  rN   r3   r4  rS   rp  r   r  r   r  r  r  s       r8   test_Container#TestOneTrickPonyABCs.test_Container>  s    Rr {&2 A$$Q	2ZQ;T$q']K  7CE7DFCE9;6;;=$&,,. A!!!Y/OOJtAw	:DaMJ  	&&y.A  N;r;   c                 r   S SSSSSS/ 0 [        5       [        5       S S 5       /nU HT  nU R                  U[        5        U R	                  [        [        U5      [        5      [        [        U5      5      5        MV     S [        [        [        [        [        R                  / R                  /nU HT  nU R                  U[        5        U R                  [        [        U5      [        5      [        [        U5      5      5        MV     U R                  [        S	5        U R!                  [        S	5        g )
Nr  rV  rW  r   r;   rf   c              3   $   #    U  H  ov   M     g 7frH   rf   rY  s     r8   r  5TestOneTrickPonyABCs.test_Callable.<locals>.<genexpr>T  r  r\  c                      g rH   rf   rf   r;   r8   r  4TestOneTrickPonyABCs.test_Callable.<locals>.<lambda>Y  s    4r;   __call__)r3   r  r  r   r   r  r   r   r|  r  r   rN   rX   r  r   r  r  r  s       r8   test_Callable"TestOneTrickPonyABCs.test_CallableP  s    Rr3BCE {&2
 A$$Q1ZQ:DaMJ   f;;		
 A!!!X.OOJtAw94Q=I  	&&x<  :6r;   c                     [         [        [        [        [        [
        [        4 HG  n " S SU5      nU R                  [        X!5      5        U R                  [        [        U5      5        MI     g )Nc                       \ rS rSrSrg)7TestOneTrickPonyABCs.test_direct_subclassing.<locals>.Cif  rf   Nr  rf   r;   r8   r  r  f  s    r;   r  )r   r   r   r   r   r   r   r   r  r   r|  r7   r  r  s      r8   test_direct_subclassing,TestOneTrickPonyABCs.test_direct_subclassingd  sN    8Xz5)XUAA OOJq,-ZQ/0	 Vr;   c                    [         [        [        [        [        [
        [        4 H]  n " S S5      nU R                  [        X!5      UR                  5        UR                  U5        U R                  [        X!5      5        M_     g )Nc                       \ rS rSrSrSrg)1TestOneTrickPonyABCs.test_registration.<locals>.Cim  Nrf   )r6   rm   rn   ro   r  rp   rf   r;   r8   r  r  m  s    r;   r  )r   r   r   r   r   r   r   r   r  r6   r  r   r  s      r8   test_registration&TestOneTrickPonyABCs.test_registrationk  s[    8Xz5)XUA   Z-qzz:JJqMOOJq,- Vr;   rf   N)r6   rm   rn   ro   r  r&  r6  r@  rS  rq  r  r  r  rK  r  r  r  r  r  r  rp   rf   r;   r8   r  r    s`    2hA:F74=C( <D7BrU;p72EENO6b3$<$7(1.r;   r  c                   <    \ rS rSrS
S jrS rS rS rS rS r	Sr
g	)WithSetis  c                 $    [        U5      U l        g rH   )r3   r?   )r7   its     r8   r   WithSet.__init__u  s    G	r;   c                 ,    [        U R                  5      $ rH   r   r?   rJ   s    r8   r  WithSet.__len__x  s    499~r;   c                 ,    [        U R                  5      $ rH   rF  r?   rJ   s    r8   r`  WithSet.__iter__{  s    DIIr;   c                     XR                   ;   $ rH   r?   r   s     r8   r  WithSet.__contains__~  s    yy  r;   c                 :    U R                   R                  U5        g rH   )r?   r  r   s     r8   r  WithSet.add  s    		dr;   c                 :    U R                   R                  U5        g rH   )r?   discardr   s     r8   r  WithSet.discard  s    		$r;   r  Nrf   )r6   rm   rn   ro   r   r  r`  r  r  r  rp   rf   r;   r8   r  r  s  s     ! r;   r  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)TestCollectionABCsi  c                    [         [        4 H=  nU R                  U" 5       [        5        U R	                  [        U[        5      5        M?     U R                  [        SSS5         " S S[        5      nU R                  U" 5       5        g )Nr  r`  r  c                   &    \ rS rSrS rS rS rSrg)*TestCollectionABCs.test_Set.<locals>.MySeti  c                     gr   rf   r7   r+  s     r8   r  7TestCollectionABCs.test_Set.<locals>.MySet.__contains__  r  r;   c                     gr  rf   rJ   s    r8   r  2TestCollectionABCs.test_Set.<locals>.MySet.__len__  r  r;   c                     [        / 5      $ rH   rf  rJ   s    r8   r`  3TestCollectionABCs.test_Set.<locals>.MySet.__iter__      Bxr;   rf   Nr6   rm   rn   ro   r  r  r`  rp   rf   r;   r8   MySetr         r;   r  )r3   r4  r  r    r   r  r  r  )r7   sampler  s      r8   test_SetTestCollectionABCs.test_Set  sj    I&F!!&(C0OOJvs34 ' 	&&sNJ	R	 C 	  	  )r;   c                      " S S[         5      nU" 5       U" 5       p2U R                  [        U5      [        U5      :H  5        g )Nc                   2    \ rS rSrS rS rS rS rS rSr	g)	8TestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSeti  c                     / SQU l         g )Nrz   r{   r   contentsrJ   s    r8   r   ATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__init__  s	     )r;   c                     XR                   ;   $ rH   r  r  s     r8   r  ETestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__contains__      MM))r;   c                 ,    [        U R                  5      $ rH   r   r  rJ   s    r8   r  @TestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__len__  s    4==))r;   c                 ,    [        U R                  5      $ rH   rF  r  rJ   s    r8   r`  ATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__iter__      DMM**r;   c                 "    U R                  5       $ rH   )_hashrJ   s    r8   r  ATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__hash__  s    zz|#r;   r  N)
r6   rm   rn   ro   r   r  r  r`  r  rp   rf   r;   r8   OneTwoThreeSetr    s    ***+$r;   r  )r    r   r  )r7   r  r0   r1   s       r8   test_hash_Set TestCollectionABCs.test_hash_Set  s6    
	$S 
	$ !11Q47*+r;   c                      " S S[         5      nU" S5      nU" S5      nU" S5      nU R                  UR                  U5      5        U R                  UR                  U5      5        g )Nc                   ,    \ rS rSrS rS rS rS rSrg)5TestCollectionABCs.test_isdisjoint_Set.<locals>.MySeti  c                     Xl         g rH   r  r7   itrs     r8   r   >TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__init__       #r;   c                     XR                   ;   $ rH   r  r  s     r8   r  BTestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__contains__  r  r;   c                 ,    [        U R                  5      $ rH   r  rJ   s    r8   r`  >TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__iter__  r  r;   c                 V    [        U R                   Vs/ s H  oPM     sn5      $ s  snf rH   r  r  s     r8   r  =TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__len__  #    t}}5}!A}5665   &r  N	r6   rm   rn   ro   r   r  r`  r  rp   rf   r;   r8   r  r        $*+7r;   r  r  )r   r      )rz   r   r  )r    r   
isdisjointr   r7   r  s1s2s3s        r8   test_isdisjoint_Set&TestCollectionABCs.test_isdisjoint_Set  sZ    	7C 	7 999b)*r*+r;   c                 d    " S S[         5      nU" S5      nU" S5      nU" S5      nU" S5      nU R                  X2:  5        U R                  X#:  5        U R                  X2:*  5        U R                  X4:*  5        U R                  X#:  5        U R                  XE5        U R	                  X45        g )Nc                   ,    \ rS rSrS rS rS rS rSrg)3TestCollectionABCs.test_equality_Set.<locals>.MySeti  c                     Xl         g rH   r  r  s     r8   r   <TestCollectionABCs.test_equality_Set.<locals>.MySet.__init__  r  r;   c                     XR                   ;   $ rH   r  r  s     r8   r  @TestCollectionABCs.test_equality_Set.<locals>.MySet.__contains__  r  r;   c                 ,    [        U R                  5      $ rH   r  rJ   s    r8   r`  <TestCollectionABCs.test_equality_Set.<locals>.MySet.__iter__  r  r;   c                 V    [        U R                   Vs/ s H  oPM     sn5      $ s  snf rH   r  r  s     r8   r  ;TestCollectionABCs.test_equality_Set.<locals>.MySet.__len__  r  r  r  Nr  rf   r;   r8   r  r    r  r;   r  r  r@  )r   r   )r    r   r   r@   assertNotEqual)r7   r  r  r  r  s4s         r8   test_equality_Set$TestCollectionABCs.test_equality_Set  s    	7C 	7 4[6]6]6]  """ B#r;   c                 x     " S S[         5      nU" S5      nU" S5      nX#-  nU R                  XA" S5      5        g )Nc                   ,    \ rS rSrS rS rS rS rSrg)5TestCollectionABCs.test_arithmetic_Set.<locals>.MySeti  c                     Xl         g rH   r  r  s     r8   r   >TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__init__  r  r;   c                     XR                   ;   $ rH   r  r  s     r8   r  BTestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__contains__  r  r;   c                 ,    [        U R                  5      $ rH   r  rJ   s    r8   r`  >TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__iter__  r  r;   c                 V    [        U R                   Vs/ s H  oPM     sn5      $ s  snf rH   r  r  s     r8   r  =TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__len__  r  r  r  Nr  rf   r;   r8   r  r(    r  r;   r  r  )r   r   r   )r   )r    r@   r  s        r8   test_arithmetic_Set&TestCollectionABCs.test_arithmetic_Set  s?    	7C 	7 99WU4[)r;   c                 <   U R                  [        5       [        5        U R                  [	        [        [        5      5        U R                  [        5       [        5        U R                  [	        [        [        5      5        U R                  [        SSSSS5        g )Nr  r`  r  r  r  )	r  r3   r!   r   r  r  r4  r   r  rJ   s    r8   test_MutableSet"TestCollectionABCs.test_MutableSet  si    ceZ0
3
34  j9Iz:;&&z>:y9	r;   c                 ~    [        S5      nU[        S5      -  nU R                  [        U5      [        S5      5        g )Nabcdcdefcd)r  r@   r3   r7   r  s     r8   test_issue_5647"TestCollectionABCs.test_issue_5647  s1    FO	WV_QT+r;   c                      " S S[         5      n/ SQnU" U5      nUR                  5       nU R                  [        U5      [        U5      S-
  5        U R	                  XC5        U R                  XB5        g )Nc                   H    \ rS rSrS/rSS jrS rS rS rS r	S	 r
S
 rSrg)1TestCollectionABCs.test_issue_4920.<locals>.MySeti  __sNc                 .    Uc  / n[        U5      U l        g rH   )r3   	_MySet__s)r7   r   s     r8   r   :TestCollectionABCs.test_issue_4920.<locals>.MySet.__init__  s    =EUr;   c                     XR                   ;   $ rH   )rB  )r7   r   s     r8   r  >TestCollectionABCs.test_issue_4920.<locals>.MySet.__contains__  s    HH}$r;   c                 ,    [        U R                  5      $ rH   )rF  rB  rJ   s    r8   r`  :TestCollectionABCs.test_issue_4920.<locals>.MySet.__iter__  s    DHH~%r;   c                 ,    [        U R                  5      $ rH   )r   rB  rJ   s    r8   r  9TestCollectionABCs.test_issue_4920.<locals>.MySet.__len__      488}$r;   c                 X    XR                   ;  nU R                   R                  U5        U$ rH   )rB  r  r7   r   r  s      r8   r  5TestCollectionABCs.test_issue_4920.<locals>.MySet.add  s"    (Qr;   c                 X    XR                   ;   nU R                   R                  U5        U$ rH   )rB  r  rL  s      r8   r  9TestCollectionABCs.test_issue_4920.<locals>.MySet.discard  s$    HH}  #r;   c                 0    S[        [        U 5      5      -  $ )Nz	MySet(%s))r   rN   rJ   s    r8   __repr__:TestCollectionABCs.test_issue_4920.<locals>.MySet.__repr__  s    "T$t*%555r;   )r@  rH   )r6   rm   rn   ro   r6  r   r  r`  r  r  r  rQ  rp   rf   r;   r8   r  r?    s,    gI$%&%6r;   r  )r   +   r{   rz   rz   )r!   r   r@   r   r:  r   )r7   r  r   r  r  s        r8   test_issue_4920"TestCollectionABCs.test_issue_4920  s_    	6J 	6, %LEEGQUa0ar;   c                 *   [        5       n[        [        S5      5      n[        U5      nX3-  nU R                  X15        [        U5      nX3-  nU R                  X15        [        U5      nX3-  nU R                  X25        X3-  nU R                  X25        g )Nr
  )r  r   r@   )r7   emptyfullr  s       r8   test_issue8750!TestCollectionABCs.test_issue8750  s    	uRy!DM	"DM	"DM	!	!r;   c                      " S S[         5      n " S S[         5      nU" 5       nU" 5       nU R                  XC:  5        U R                  XC:*  5        U R                  XC:  5        U R                  XC:  5        g )Nc                   &    \ rS rSrS rS rS rSrg);TestCollectionABCs.test_issue16373.<locals>.MyComparableSeti  c                     gr   rf   r  s     r8   r  HTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__contains__  r  r;   c                     gr  rf   rJ   s    r8   r  CTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__len__!  r  r;   c                     [        / 5      $ rH   rf  rJ   s    r8   r`  DTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__iter__#  r  r;   rf   Nr  rf   r;   r8   MyComparableSetr]    r  r;   rd  c                   2    \ rS rSrS rS rS rS rS rSr	g)	>TestCollectionABCs.test_issue16373.<locals>.MyNonComparableSeti%  c                     gr   rf   r  s     r8   r  KTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__contains__&  r  r;   c                     gr  rf   rJ   s    r8   r  FTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__len__(  r  r;   c                     [        / 5      $ rH   rf  rJ   s    r8   r`  GTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__iter__*  r  r;   c                     [         $ rH   NotImplementedr  s     r8   r  ETestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__le__,      %%r;   c                     [         $ rH   rn  r  s     r8   r  ETestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__lt__.  rq  r;   rf   N)
r6   rm   rn   ro   r  r  r`  r  r  rp   rf   r;   r8   MyNonComparableSetrf  %  s     &&r;   rt  )r    r   r   )r7   rd  rt  csncss        r8   test_issue16373"TestCollectionABCs.test_issue16373  sh    	 c 	 
	& 
	&  ""	""	"r;   c                     " S S[         5      n[        S5      n[        R                  nU" X#U/5      nU[	        X#S.5      [        X#S.5      [        X#S.5      /nU H  nU H  nU R                  Xv5        M     M     U R                  UR                  U5      S5        U R                  UR                  U5      S5        U R                  UR                  U5      S5        U R                  UR                  U5      S5        g )Nc                   &    \ rS rSrS rS rS rSrg):TestCollectionABCs.test_issue26915.<locals>.CustomSequencei:  c                     Xl         g rH   _seqr7   seqs     r8   r   CTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__init__;  s    	r;   c                      U R                   U   $ rH   r}  r7   r  s     r8   r   FTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__getitem__=  s    yy''r;   c                 ,    [        U R                  5      $ rH   )r   r~  rJ   s    r8   r  BTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__len__?      499~%r;   r}  Nr6   rm   rn   ro   r   r   r  rp   rf   r;   r8   CustomSequencer{  :  s     (&r;   r  nanr@  r   rz   r{   )r'   r2  r   NEVER_EQr%   r$   r&   r   r@   r  count)r7   r  r  rC   r  
containers	containerelems           r8   test_issue26915"TestCollectionABCs.test_issue269158  s    	&X 	& Elc_-#&'%&3'(	

 $I!d. " $ 	3+3+3+3+r;   c                 L    U R                  [        U5      [        U5      5        g rH   )assertSetEqualr3   )r7   r  r  s      r8   assertSameSet TestCollectionABCs.assertSameSetS  s    CGSW-r;   c                      " S S[         5      nU" / SQS5      nUS1-
  nU R                  X15        U R                  SUR                  5        U R                  SS1U5        US	1-  nU R                  X15        U R                  SUR                  5        U R                  1 S
kU5        US1-  nU R                  X15        U R                  SUR                  5        U R                  S1U5        USS	1-  nU R                  X15        U R                  SUR                  5        U R                  1 SkU5        USS	/-  nU R                  X!5        U R                  SUR                  5        U R                  1 SkU5        g )Nc                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)OTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterableiY  c                 T    U(       d  [        S5      eX l        [        U5      U l        g )Nzcreated_by must be specified)r9  
created_byr3   _values)r7   r   r  s      r8   r   XTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__init__Z  s!    !$%CDD","6{r;   c                 &    [        U 5      " US5      $ )Nfrom_iterable)r   )r7   r   s     r8   _from_iterable^TestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable._from_iterable`  s    Dz&/::r;   c                     XR                   ;   $ rH   r  r  s     r8   r  \TestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__contains__c  s    ,,r;   c              3   8   #    U R                    S h  vN   g  N7frH   r  rJ   s    r8   r`  XTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__iter__f  s     <<''s   c                 ,    [        U R                  5      $ rH   )r   r  rJ   s    r8   r  WTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__len__i  s    4<<((r;   c                 :    U R                   R                  U5        g rH   )r  r  r  s     r8   r  STestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.addl  s      'r;   c                 :    U R                   R                  U5        g rH   )r  r  r  s     r8   r  WTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.discardo  s    $$U+r;   )r  r  N)r6   rm   rn   ro   r   r  r  r`  r  r  r  rp   rf   r;   r8   SetUsingInstanceFromIterabler  Y  s%    +;-()(,r;   r  r  rA   rz   r  r{   r   r   >   rz   r{   r   r   >   rz   r{   r   )r!   r  r@   r  )r7   r  implactuals       r8   test_Set_from_iterable)TestCollectionABCs.test_Set_from_iterableW  sa   	,: 	,2 ,Iv>fC&*;*;<!Q(fC&*;*;<v.fC&*;*;<!f%AfC&*;*;<F+ 	AdA1D)r;   c                     " S S[         5      n[        S5      n[        S5      n[        S5      nU" S5      nU" S5      nU" S5      n[        S5      n[        S5      n	[        S5      n
X#-  nU R                  XV-  U5        U R                  XS-  U5        U R                  X5-  U5        U R                  XY-  U5        X#-  nU R                  XV-  U5        U R                  XS-  U5        U R                  X5-  U5        U R                  XY-  U5        X#-
  nX2-
  nU R                  XV-
  U5        U R                  Xe-
  U5        U R                  XS-
  U5        U R                  Xb-
  U5        U R                  X&-
  U5        U R                  X5-
  U5        U R                  XY-
  U5        U R                  Xh-
  U5        X#-  nU R                  XV-  U5        U R                  XS-  U5        U R                  X5-  U5        U R                  XY-  U5        U R	                  XW:  5        U R                  XU:  5        U R                  XV:  5        U R	                  X':  5        U R                  X%:  5        U R                  X&:  5        U R	                  X$:  5        U R                  X":  5        U R                  X#:  5        U R                  [        5         XZ:    S S S 5        U R                  [        5         XX:    S S S 5        U R                  [        5         XY:    S S S 5        U R	                  XW:*  5        U R	                  XU:*  5        U R                  XV:*  5        U R	                  X':*  5        U R	                  X%:*  5        U R                  X&:*  5        U R	                  X$:*  5        U R	                  X":*  5        U R                  X#:*  5        U R                  [        5         XZ:*    S S S 5        U R                  [        5         XX:*    S S S 5        U R                  [        5         XY:*    S S S 5        U R	                  Xu:  5        U R                  XU:  5        U R                  Xe:  5        U R	                  XB:  5        U R                  XR:  5        U R                  Xb:  5        U R	                  XB:  5        U R                  X":  5        U R                  X2:  5        U R                  [        5         XZ:    S S S 5        U R                  [        5         XX:    S S S 5        U R                  [        5         XY:    S S S 5        U R	                  Xu:  5        U R	                  XU:  5        U R                  Xe:  5        U R	                  XB:  5        U R	                  XR:  5        U R                  Xb:  5        U R	                  XB:  5        U R	                  X":  5        U R                  X2:  5        U R                  [        5         XZ:    S S S 5        U R                  [        5         XX:    S S S 5        U R                  [        5         XY:    S S S 5        U R	                  XU:H  5        U R	                  X%:H  5        U R	                  XR:H  5        U R                  XW:H  5        U R                  X':H  5        U R                  XT:H  5        U R                  XZ:H  5        U R                  XX:H  5        U R                  XY:H  5        U R                  XU:g  5        U R                  X%:g  5        U R                  XR:g  5        U R	                  XW:g  5        U R	                  X':g  5        U R	                  XT:g  5        U R	                  XZ:g  5        U R	                  XX:g  5        U R	                  XY:g  5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN'= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNL= f! , (       d  f       GN<= f! , (       d  f       GN,= f)	Nc                   6    \ rS rSrS	S jrS rS rS rS rSr	g)
LTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSeti  c                 |    / U l         U H/  nX R                   ;  d  M  U R                   R                  U5        M1     g rH   )r?   rX   )r7   elementsr  s      r8   r   UTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__init__  s/    	$D99,		((. %r;   c                     XR                   ;   $ rH   r  )r7   r  s     r8   r  YTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__contains__  s    yy((r;   c                 ,    [        U R                  5      $ rH   r  rJ   s    r8   r`  UTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__iter__  s    DII&r;   c                 ,    [        U R                  5      $ rH   r  rJ   s    r8   r  TTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__len__  r  r;   c                 8    SR                  U R                  5      $ )Nz	Set({!r}))r5   r?   rJ   s    r8   rQ  UTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__repr__  s    "))$))44r;   r  Nr  )
r6   rm   rn   ro   r   r  r`  r  rQ  rp   rf   r;   r8   ListSetr    s    /
)'&5r;   r  r]   bcdabcdeabccbabcddcb
abcdeedcba)r    r3   rN   r  r   r   r   r  )r7   r  r1r2r3f1f2f3l1l2l3target
fwd_target
rev_targets                 r8   (test_Set_interoperability_with_real_sets;TestCollectionABCs.test_Set_interoperability_with_real_sets  s   	5c 	5 ZZ\U^U^W(^(^,27F+27F+27F+27F+27F+27F+27F+27F+W
W
27J/27J/27J/27J/27J/27J/27J/27J/27F+27F+27F+27F+ 	 !! !! !!y)G *y)G *y)G * 	!!"!!"!!"y)H *y)H *y)H * 	 !! !! !!y)G *y)G *y)G * 	!!"!!"!!"y)H *y)G *y)H * 	!!!"""""" 	"""!!!!!!] *))))) *))))) *))))) *)))))s   ^)0^;___1#`0``'4`9a#aa/)
^8;
_

_
_.1
` 
`
`$'
`69
a
a
a,/
a>c                    0 S1S 1S1S1S11 SkSS-  SS-  11 S	kS
S1[        5       [        5       [        5       1[        S5      1[        5       11 [        S5      k1 [        S5      k1 Sk-
  1 [        [        R
                  S-
  [        R
                  S-   5      k/nU H<  n[        U5      nU R                  [        U5      [        R                  " U5      US9  M>     g )Nrz   r  g        r]   >   rz   r{   r   r
  r   e   >   r   r0   r1   abFTr    >   ,  r      )msg)
r  r2  r4  r   r  maxsizer@   r  r    r  )r7   setsr  fss       r8   test_Set_hash_matches_frozenset2TestCollectionABCs.test_Set_hash_matches_frozenset'  s    dVbTC55'9Wb#g 4udmXvx*U5\Nik]eDkNNeDkN_<8eCKK"$ckkB&678
 A1BT"Xsyy}!< r;   c                 N   [         4 H=  nU R                  U" 5       [        5        U R                  [	        U[        5      5        M?     U R                  [        SSS5         " S S[        5      nU R                  U" 5       5        U R                  [        [        U" 5       5        g )Nr`  r  r   c                   &    \ rS rSrS rS rS rSrg)2TestCollectionABCs.test_Mapping.<locals>.MyMappingi8  c                     gr  rf   rJ   s    r8   r  :TestCollectionABCs.test_Mapping.<locals>.MyMapping.__len__9  r  r;   c                     [         erH   )r  )r7   r   s     r8   r   >TestCollectionABCs.test_Mapping.<locals>.MyMapping.__getitem__;  s      r;   c                     [        S5      $ )Nrf   rf  rJ   s    r8   r`  ;TestCollectionABCs.test_Mapping.<locals>.MyMapping.__iter__=  r  r;   rf   N)r6   rm   rn   ro   r  r   r`  rp   rf   r;   r8   	MyMappingr  8  s    ! r;   r  )
rS   r  r"   r   r  r  r  r   r  r  )r7   r  r  s      r8   test_MappingTestCollectionABCs.test_Mapping3  s{    fF!!&(G4OOJvw78  	&&w
I}U	  	  	  -)Xy{;r;   c                     [         4 H=  nU R                  U" 5       [        5        U R                  [	        U[        5      5        M?     U R                  [        SSSSS5        g )Nr`  r  r   __setitem____delitem__)rS   r  r#   r   r  r  r7   r  s     r8   test_MutableMapping&TestCollectionABCs.test_MutableMappingB  sP    fF!!&(N;OOJv~>?  	&&~z9=-	9r;   c                 X   [        5       nSUS'   U R                  UR                  5       [        5        U R                  UR                  5       [        5        U R                  UR                  5       [        5        U R                  UR                  5       [        5        U R                  UR                  5       [        5        U R                  UR                  5       [        5        [        5       nSUS'   UR                  5       S1-  nU R                  U[        5        [        U5        SUS'   U R                  [        U5      SS/5        [        5       nSUS'   UR                  5       S1-  nU R                  U[        5        [        U5        SUS'   U R                  USS15        g )Nr   redorange   blue)r  r   )r  r   )r   r  rp  r    r$   r   r   r&   r   r%   r3   rN   r@   sorted)r7   mymapr   s      r8   test_MutableMapping_subclass/TestCollectionABCs.test_MutableMapping_subclassI  sH   
eejjlC0ejjlH5ellnj9ellnj9ekkmS1ekkmY7
eJJLH:%a%QfXu$56
eKKM]O+a%Qf]J78r;   c                 .   [         [        [        [        4 H=  nU R	                  U" 5       [
        5        U R                  [        U[
        5      5        M?     U R	                  [        S5      [
        5        U R                  [        [        [
        5      5        U R	                  [        S5      [
        5        U R                  [        [        [
        5      5        U R                  [        [        [
        5      5        U R                  [
        SS5        g )Nr
  r;   r  r   )r7  rN   r5  rI   r  r'   r   r  r   
memoryviewr  r  s     r8   test_Sequence TestCollectionABCs.test_Sequenced  s    dE3/F!!&(H5OOJvx89 0 	eBi2
5(34jox8
:x89
312&&xMJr;   c                   ^   " S S[         5      nU 4S jn[        [        4 H  nU" S5      nSS/[        [        S[	        U5      S-   5      5      -   nU" U5      n[        U5      S	1-   H`  nU" XFU45        [        S[	        U5      S-   5       H7  nU" XFXx45        [        S[	        U5      S-   5       H  n	U" XFXxU	45        M     M9     Mb     M     g )
Nc                   *    \ rS rSrSS jrS rS rSrg)ATestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclassip  c                     Xl         g rH   r  r  s     r8   r   JTestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__init__q  s    r;   c                      U R                   U   $ rH   r  r  s     r8   r   MTestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__getitem__t      xx&r;   c                 ,    [        U R                  5      $ rH   )r   r  rJ   s    r8   r  ITestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__len__w  rJ  r;   r  Nr  r  rf   r;   r8   SequenceSubclassr   p  s    '%r;   r	  c                   >  U R                   " U6 nUR                   " U6 nTR                  XCU < SU< 35        g ! [         aB    TR                  [        5         UR                   " U6   S S S 5         g ! , (       d  f        g = ff = f)Nz.index)r  r@   r9  r   )seq1seq2
index_argsexpectedr  r7   s        r8   assert_index_sameBTestCollectionABCs.test_Sequence_mixins.<locals>.assert_index_same{  sz    I::z2
 Z0  dJ&GI  ,&&z2JJ
+ 3222,s'   ; BA4*B4
B	>BBabracadabraiir   r   )r'   rN   rI   r   r   r3   )
r7   r	  r  ty	nativeseqindexesseqseqletterr  stops
   `         r8   test_Sequence_mixins'TestCollectionABCs.test_Sequence_mixinso  s    	%x 	%		I )B=)IuoU2s9~7I-J(KKG%i0Fi.C50!)fY?"2s9~'9:E%i&I %b#i.1*< =)%t/DF !> ; 1	 r;   c                 r   [         [        4 H[  nU R                  [        5         U R	                  U" 5       [
        5        S S S 5        U R                  [        U[
        5      5        M]     [        [        [        4 H[  nU R                  [        5         U R                  U" 5       [
        5        S S S 5        U R                  [        U[
        5      5        M]     U R                  [        5         U R                  [        S5      [
        5        S S S 5        U R                  [        [        [
        5      5        U R                  [        5         U R                  [
        SS5        S S S 5        U R                  [        5          " S S[
        5      nS S S 5        U R                  [        5          " S S[
        [        5      nS S S 5        g ! , (       d  f       GN= f! , (       d  f       GN9= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr;   r   r  c                       \ rS rSrSrg)-TestCollectionABCs.test_ByteString.<locals>.Xi  rf   Nr  rf   r;   r8   Xr    s    r;   r  c                       \ rS rSrSrg)-TestCollectionABCs.test_ByteString.<locals>.Zi  rf   Nr  rf   r;   r8   Zr     s    Dr;   r!  )r5  r1  assertWarnsDeprecationWarningr  r)   r   r  rI   rN   r7  r  r   r  r  r   )r7   r  r  r!  s       r8   test_ByteString"TestCollectionABCs.test_ByteString  st   i(F!!"45%%fh
; 6OOJvz:; ) D%(F!!"45((:> 6Z
;< ) 01$$Z_jA 2J
;<01**:}iP 2 01%J% 2 010J	0 21! 65 65 21 21 21 21sG   GG#1 G5HH3H(
G 	#
G2	5
H
H
H%(
H6c                 z   [         [        [        4 H>  nU R                  U" S5      [        5        U R                  [        U[        5      5        M@     [        [        [        4 H=  nU R                  U" 5       [        5        U R                  [        U[        5      5        M?     U R                  [        S5        g )N   x
__buffer__)r5  r1  r  r  r*   r   r  rI   rN   r7  r  r   r  r  s     r8   test_BufferTestCollectionABCs.test_Buffer  s    i4F!!&,7OOJvv67 5 D%(F$$VXv6Z78 ) 	&&v|<r;   c                     [         [        [        4 H=  nU R                  U" 5       [        5        U R                  [        U[        5      5        M?     [        [        [        4 H=  nU R                  U" 5       [        5        U R                  [        U[        5      5        M?     U R                  [        [        R                  [        5      5        U R                  [        [        [        5      5        U R                  [        SSSSS5        g )Nr  r   r  r  insert)r7  rI   r5  r  r(   r   r  rN   r1  r   r  r   arrayr  r  s     r8   test_MutableSequence'TestCollectionABCs.test_MutableSequence  s    c5)F$$VX?Z@A * Y.F!!&(O<OOJv?@ / 	
5;;@AC9:&&	='4mX	Or;   c                     " S S[         5      nU" 5       nUR                  S5        UR                  S5        U R                  [	        U5      S5        U R                  US   S5        UR                  5         U R                  US   S5        UR                  5         U R                  [	        U5      S5        UR                  S5        U R                  [	        U5      S5        US	-  nU R                  [	        U5      S
5        U R                  US   S5        UR                  5         U R                  [	        U5      S5        SnU" 5       nUR                  X3-   5        UR                  5         UR                  U5        UR                  U5        U R                  [	        U5      [	        U5      5        U R                  [        U5      [        U5      5        g )Nc                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
OTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclassi  c                     / U l         g rH   lstrJ   s    r8   r   XTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__init__  s	    r;   c                      X R                   U'   g rH   r4  r7   r  r  s      r8   r  [TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__setitem__  s    "'r;   c                      U R                   U   $ rH   r4  r  s     r8   r   [TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__getitem__  r  r;   c                 ,    [        U R                  5      $ rH   )r   r5  rJ   s    r8   r  WTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__len__  rJ  r;   c                     U R                   U	 g rH   r4  r  s     r8   r  [TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__delitem__  s    HHUOr;   c                 :    U R                   R                  X5        g rH   )r5  r,  r8  s      r8   r,  VTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.insert  s    -r;   r4  N)r6   rm   rn   ro   r   r  r   r  r  r,  rp   rf   r;   r8   MutableSequenceSubclassr2    s     ('%$.r;   rB  r   )rz   r{   r   r   r   r   rz   r   rA  r  r  r}   ABCD)
r(   rX   extendr@   r   reverser   removeclearrN   )r7   rB  mssr   mss2s        r8   test_MutableSequence_mixins.TestCollectionABCs.test_MutableSequence_mixins  sl   	.o 	.& &'

1

< S1%Q#Q#	S1%

1S1%|S1%R"%		S1% &(EM"		

5

3S3t9-cDJ/r;   c                     U R                  [        5          " S S[        5      nS S S 5        g ! , (       d  f       g = f)Nc                   F    \ rS rSr\R
                  \R
                  -  rSrg)9TestCollectionABCs.test_illegal_patma_flags.<locals>.Bothi  rf   N)	r6   rm   rn   ro   r'   	__flags__r"   __abc_tpflags__rp   rf   r;   r8   BothrN    s    #+#5#58I8I#Ir;   rQ  )r   r  r   )r7   rQ  s     r8   test_illegal_patma_flags+TestCollectionABCs.test_illegal_patma_flags  s*    y)Kz K *))s   /
=rf   N)r6   rm   rn   ro   r  r  r  r$  r1  r4  r;  rT  rY  rw  r  r  r  r  r  r  r  r  r  r  r$  r)  r.  rJ  rR  rp   rf   r;   r8   r  r    s    *,, $,*, >"#:,6.6*pV"p
=<996	K!FF1,=
O00dKr;   r  c                        \ rS rSrS rS rSrg)CounterSubclassWithSetItemi  c                 F    SU l         [        R                  " U /UQ70 UD6  g r   r   r
   r   r   s      r8   r   #CounterSubclassWithSetItem.__init__  !    ---r;   c                 @    SU l         [        R                  " XU5        g r   )r   r
   r  )r7   rh   r  s      r8   r  &CounterSubclassWithSetItem.__setitem__  s    Du-r;   r   N)r6   rm   rn   ro   r   r  rp   rf   r;   r8   rU  rU    s    ..r;   rU  c                        \ rS rSrS rS rSrg)CounterSubclassWithGeti  c                 F    SU l         [        R                  " U /UQ70 UD6  g r   rW  r   s      r8   r   CounterSubclassWithGet.__init__  rY  r;   c                 >    SU l         [        R                  " XU5      $ r   )r   r
   rs   )r7   rh   defaults      r8   rs   CounterSubclassWithGet.get  s    {{4g..r;   r   N)r6   rm   rn   ro   r   rs   rp   rf   r;   r8   r]  r]    s    ./r;   r]  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rSrg)TestCounteri  c                    [        S5      nU R                  U[        SSSS.5      5        U R                  U[        SSSS95        U R                  U[        5        U R                  U[        5        U R                  [        [         [        5      5        U R                  [        [         [        5      5        U R                  [        U5      S5        U R                  [        UR                  5       5      S5        U R                  [        UR                  5       5      / SQ5        U R                  [        UR                  5       5      / SQ5        U R                  [        U5      / SQ5        U R                  [        UR                  5       5      / SQ5        U R                  US	   S5        U R                  US
   S5        U R                  UR                  S5      S5        U R                  UR                  S
5      S5        U R                  UR                  S	S5      S5        U R                  UR                  S
S5      S5        U R                  U[        SSSS95        U R                  [        U5      S5        U R                  UR!                  5       / SQ5        [#        S5       H)  nU R                  UR!                  U5      / SQS U 5        M+     U R                  SR%                  UR'                  5       5      S5        US==   S-  ss'   US	==   S-  ss'   US	 US	 US==   S-  ss'   SUS'   US==   S-  ss'   U R                  U[        SSSSSS95        U R                  SR%                  UR'                  5       5      S5        U R                  UR)                  S5      S5        U R+                  SU5        [#        S5       H&  nUR-                  5       u  p4U R+                  X15        M(     UR/                  5         U R                  U0 5        U R                  [        U5      S5        U R1                  [2        [         R4                  S5        U R1                  [6        [8        U5        UR;                  [        SSS95        UR;                  SS 9  UR;                  [        S!5      5        UR;                  5         UR=                  S"5        UR=                  S#5        UR=                  5         U R                  U[        S$S%SSS&95        U R                  UR?                  SS5      S5        U R                  US   S5        U R                  UR?                  SS5      S5        U R                  US   S5        g )'Nabcabar   r{   rz   r   r  )r   r{   rz   ))r0   r   r   r~   rz   r1   r   r   r~   TFr
  z!Counter({'a': 3, 'b': 2, 'c': 1})r   r   aaabbcr0   r   r  r   r   r   )r0   r1   r   r   r   aaaaffffz	Counter()r]   r/   )r~   Paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcdci+  r   r   ) r
   r@   r  rS   r"   r   r  r   sumr   rN   rp  r   r  rs   r   most_commonr   r   r  r   r:  r   rG  r   NotImplementedErrorr  r  r  r   r   
setdefault)r7   r~   r   r  cnts        r8   r   TestCounter.test_basics  sH   HG!!$<=>Ga123a&a)
7D12
7G45Q#QXXZ!,ahhj)95affh9a/2aggi7	93#3#,d3,e4sB+sB,D1Q/0a"EF*HIqAQ]]1-;BQ?A  	.9	#!	#!cFcF	#!#	#!D1R2;<.
;sQ'a qA		IDT%  	
	Ba+.-w/?/?G)T1-	Q 	1	,-.	
	

()	

5	

D3#a89c1-q13#c1-q13#r;   c                    U R                  [        [        SS9R                  5       5      S/5        U R                  [        [        SS9R                  5       5      S/5        U R                  [        [        S S9R                  5       5      S/5        U R	                  [
        [        S5        U R	                  [
        [        SS5        U R	                  [
        [        R                  5        g )Nr  rJ   r7   r  r  r  r  r  Nrf   )r@   rN   r
   r   r   r  r   rJ   s    r8   	test_initTestCounter.test_initJ  s    g2.4467,Hgr288:;>N=OPgt4::<=@R?ST)Wb1)Wb"5)W%5%56r;   c                 Z    [        SSSS9nU R                  UR                  5       S5        g )Nr
  r   r   r      )r
   r@   totalr7   r~   s     r8   
test_totalTestCounter.test_totalR  s&    bA#B'r;   c                   ^ U R                  [        [        S5      R                  5       5      / SQ5        U R                  [        [        S5      R                  5       5      / SQ5        U R                  [        [        S5      R	                  5       5      / SQ5        SnSn[        [        R                  X-   5      5       VVs0 s H  u  p4XC_M	     snnmU4S	 jn[        U5      [        U5      pvU R                  U" U75      5        U R                  U" U* 5      5        U R                  U" Xg-   5      5        U R                  U" Xg-
  5      5        U R                  U" Xg-  5      5        U R                  U" Xg-  5      5        [        U5      [        U5      pvXg-  nU R                  U" U5      5        [        U5      [        U5      pvXg-  nU R                  U" U5      5        [        U5      [        U5      pvXg-  nU R                  U" U5      5        [        U5      [        U5      pvXg-  nU R                  U" U5      5        [        U5      [        U5      pvUR                  U5        U R                  U" U5      5        [        U5      [        U5      pvUR                  U5        U R                  U" U5      5        g s  snnf )
Nr  )r0   r   r   )r  r{   rg  )r   rz   xyzpdqqdpzyx))r+  r{   )r,  r{   )r   r{   )r  r{   )r   r{   )r  r{   zabracadabra simsalabim)r0   r0   r0   r0   r0   r0   r0   r1   r1   r1   r  r  r~   r    r  r  r   r   r  r  laaabbcdddeefggghhijjjkklabbcccdeefffhkkllllmmnnoc                 T   > U  Vs/ s H  nTU   PM
     nnU[        U5      :H  $ s  snf rH   )r  )r  r  	positionsorders      r8   correctly_ordered>TestCounter.test_order_preservation.<locals>.correctly_orderedj  s0    589S6vSI9y 111 :s   %)r@   rN   r
   r   r  r  rS   r  r   r   subtract)	r7   psqsr   r  r  r  r  r  s	           @r8   r   #TestCounter.test_order_preservationV  sC   gm4::<=A	C
 	gn5;;=>K	M 	g&>?HHJKH	I (',5dmmBG6L,MN,Myq,MN	2
 r{GBK1)1"-.)1"-.)!%01)!%01)!%01)!%01r{GBK1	)!,-r{GBK1	)!,-r{GBK1	)!,-r{GBK1	)!,-r{GBK1	)!,-r{GBK1	

1)!,-I Os   Kc                    [        5       nUR                  SS9  U R                  [        UR	                  5       5      S/5        [        5       nUR                  SS9  U R                  [        UR	                  5       5      S/5        [        5       nUR                  S S9  U R                  [        UR	                  5       5      S/5        U R                  [        [        5       R                  S5        U R                  [        [        5       R                  0 0 5        U R                  [        [         R                  5        g )Nr  rJ   ru  rv  rw  rx  )r
   r   r@   rN   r   r   r  r~  s     r8   test_updateTestCounter.test_update  s    I	baggi<.9I	"aggi+;*<=I	$aggi+=*>?)WY%5%5r:)WY%5%5r2>)W^^4r;   c           
      |  ^ ^ [        SR                  5       5      mU U4S jnU" TR                  5       5        U" [        R                  " T5      5        U" [        R                  " T5      5        [	        [
        R                  S-   5       HL  nT R                  US9   U" [
        R                  " [
        R                  " TU5      5      5        S S S 5        MN     U" [        [        T5      5      5        [        5       nUR                  T5        U" U5        U" [        T5      5        g ! , (       d  f       M  = f)Nz)which witch had which witches wrist watchc                 d   > SU < ST< 3nTR                  U TU5        TR                  U T5        g )Nz
copy: z
words: )r>   r@   )dupr  r7   rM  s     r8   check'TestCounter.test_copying.<locals>.check  s/    -0%8CS%-S%(r;   rz   rc  )r
   r  r=   r   r   r   r   rl  r   r   r   r   r   )r7   r  r   update_testrM  s   `   @r8   test_copyingTestCounter.test_copying  s     CIIKL	) 	ejjldiidmmE"#622Q67EE*fll6<<u#=>? +* 8 	d4; i5!kgen +*s   2D,,
D;	c                     " S S[         5      nU" S5      nUR                  5       nU R                  X25        U R                  [        U5      [        U5      5        U R                  [	        U5      [	        U5      5        g )Nc                       \ rS rSrSrg)1TestCounter.test_copy_subclass.<locals>.MyCounteri  rf   Nr  rf   r;   r8   	MyCounterr    r  r;   r  slartibartfast)r
   r=   r@   r   r   )r7   r  r~   r   s       r8   test_copy_subclassTestCounter.test_copy_subclass  sb    	 	&'FFHQQ(a$q'*r;   c                    SnU R                  [        [        U5      R                  5       5      [        U5      5        U R                  [        [        U5      5      [        [	        U5      5      5        U R                  [        [        U5      5      [        [        U5      R                  5       5      5        U R                  [	        [        U5      5      [	        U5      5        g )Nz%she sells sea shells by the sea shore)r@   r  r
   r  r3   rS   r   r:  s     r8   test_conversionsTestCounter.test_conversions  s    3
 3 3 56q	B
+VCF^<gaj)4
0@0@0B+CDWQZ#a&1r;   c                 t    [        SSSS9nU H'  nU R                  X!;   5        U R                  X!5        M)     g )Nr
  ri  r   r   )r
   r   r   )r7   r~   r  s      r8   "test_invariant_for_the_in_operator.TestCounter.test_invariant_for_the_in_operator  s4    bB!$DOODI&MM$" r;   c                    [        SSSS9[        5       -   nU R                  [        U5      [        SS95        Sn[        S5       GH  n[        [        S U 5       5      5      nUR	                  S	S
SS9  [        [        S U 5       5      5      nUR	                  S	S
SS9  [         R
                  S 4[         R                  S 4[         R                  S 4[         R                  S 44 H^  u  pgU" XE5      nU H%  n	U R                  U" XI   XY   5      X   XiXE45        M'     U R                  S UR                  5        5       5        M`     GM     Sn[        S5       GH  n[        [        S U 5       5      5      n[        [        S U 5       5      5      n[         R                  [        R                  4[         R                  [        R                  4[         R                  [        R                  44 Hj  u  pjU" XE5      nU
" [        UR                  5       5      [        UR                  5       5      5      nU R                  U[        R                  US	5      5        Ml     GM
     g )Nr
  ri  r   r   r   r7  r  c              3   <   #    U  H  o[        S S5      4v   M     g7fri  r   Nr   r  r  s     r8   r  7TestCounter.test_multiset_operations.<locals>.<genexpr>       JIbO4   rz   r  r   r   r   c              3   <   #    U  H  o[        S S5      4v   M     g7fr  r  r  s     r8   r  r    r  r  r   r   r   c                     [        SX-   5      $ r  r  r*  s     r8   r  6TestCounter.test_multiset_operations.<locals>.<lambda>      s1ac{r;   c                     [        SX-
  5      $ r  r  r*  s     r8   r  r    r  r;   c                     [        SX5      $ r  r  r*  s     r8   r  r    s
    c!Ajr;   c                 ,    [        S[        X5      5      $ r  )r  minr*  s     r8   r  r    s    s1c!h/?r;   c              3   *   #    U  H	  oS :  v   M     g7f)r   Nrf   rY  s     r8   r  r    s     =_!_rI  abcdefr   c              3   <   #    U  H  o[        S S5      4v   M     g7fr   r{   Nr  r  s     r8   r  r         JIaO4r  c              3   <   #    U  H  o[        S S5      4v   M     g7fr  r  r  s     r8   r  r    r  r  )r
   r@   rS   r   r   __add____sub____or____and__r   r   r3   r  r  )r7   r~   r  r   r  r  	counteropnumberopr  r+  setopcounter_result
set_results                r8   test_multiset_operations$TestCounter.test_multiset_operations  s   bB!$wy0a$*-tAJJJKAHHqB!H$JJJKAHHqB!H$":;":;!89"?@	(#	 #1!A$$XadAD%969&/A%9; " =V]]_==( & sAJJJKAJJJKA#++.,#++.% 	
 "+1"3qzz|#4c!**,6GH
  z11MN%	 r;   c                    Sn[        S5       GH:  n[        [        S U 5       5      5      nUR                  SSSS9  [        [        S U 5       5      5      nUR                  SSSS	9  [        R                  [        R
                  4[        R                  [        R                  4[        R                  [        R                  4[        R                  [        R                  44 H\  u  pVUR                  5       n[        U5      nU" Xt5      n	U" Xt5      n
U R                  X5        U R                  [        U
5      U5        M^     GM=     g )
Nr7  r  c              3   <   #    U  H  o[        S S5      4v   M     g7fr  r  r  s     r8   r  6TestCounter.test_inplace_operations.<locals>.<genexpr>  r  r  rz   r  r   r  c              3   <   #    U  H  o[        S S5      4v   M     g7fr  r  r  s     r8   r  r    r  r  r  )r   r
   rS   r   __iadd__r  __isub__r  __ior__r  __iand__r  r=   idr@   )r7   r  r   r  r  
inplace_op
regular_opr~   c_idregular_resultinplace_results              r8   test_inplace_operations#TestCounter.test_inplace_operations  s   tAJJJKAHHqB!H$JJJKAHHqB!H$!!7??3!!7??3'..1!!7??3	+&
 FFH!u!+A!1!+A!1  @  N!3T:+ r;   c                    [        SSSSSSS9nUR                  SS	S
SSSSS9  U R                  U[        SSSSSSSSS95        [        SSSSSSS9nUR                  [        SS	S
SSSSS95        U R                  U[        SSSSSSSSS95        [        S5      nUR                  S5        U R                  U[        SSSSSS95        [        5       nUR                  SS9  U R                  [        UR	                  5       5      S/5        [        5       nUR                  SS9  U R                  [        UR	                  5       5      S/5        U R                  [        [        5       R                  S5        U R                  [        [        5       R                  0 0 5        U R                  [        [         R                  5        g )Nr  r   r   r
  r|  r  r0   r1   r~   r   r   r   rz   r{   r  r|   r}   i)r0   r1   r~   r   r   r   r   iri     ir  )r0   r1   r~   r   r   r   r   r   aaabbcd	aaaabbccer  r   r  rJ   )r7   rv  )r  r  )r
   r  r@   rN   r   r   r  r~  s     r8   test_subtractTestCounter.test_subtract	  s   bAbB4	

Q!rR2s
;GbB!qB#rRSbAbB4	

7Q!rR2sCDGbB!qB#rRSI	

;GbAqB?@I	


aggi=/:I	

B
aggi+<*=>)WY%7%7<)WY%7%7R@)W%5%56r;   c           
          [        SSSSSSS9nU R                  [        U75      [        SSSSS95        U R                  [        U* 5      [        SS	95        g )
Nr  r   r   r
  r|  r  r  )r~   r   r   r   r   )r
   r@   rS   r~  s     r8   
test_unaryTestCounter.test_unary	  sQ    bAbB4qb4!rR2#>?qb4!9-r;   c                 v    [        SS S9n[        U5      nU R                  SU5        U R                  SU5        g )Nr{   r/   z'a': 2z	'b': None)r
   r   r   )r7   r~   r  s      r8   test_repr_nonsortable!TestCounter.test_repr_nonsortable	  s3    a4 Gh"k1%r;   c           	         [        S5      n[        5       n[        X!5        U R                  USSSSSS.5        [	        5       n[        X15        U R                  U[	        / SQ5      5        [        S5      nU R                  UR                  5        U R                  [        U5      SSSSSS.5        [        S5      nU R                  UR                  5        U R                  [        U5      SSSSSS.5        g )Nr  r   r{   rz   )r0   r  r1   r~   r   r  )r0   r1   r~   r   r  )	rN   rS   r   r@   r   rU  r   r   r]  )r7   elemsr   r  r~   s        r8   test_helper_function TestCounter.test_helper_function$	  s    ]#F!!!!!!DEM!KL	N '}5!aq"JK"=1!aq"JKr;   c                   ^ [        [        S[        S5      5      5      m[        R                  " U4S j[        [        T5      S-   5       5       5      nU Vs/ s H  n[        [        U5      5      PM     nn[        USS9 GH8  u  pE[        UR                  5       5      n[        UR                  5       5      nU R                  [        XE-   5      Xg-  5        U R                  [        XE-
  5      Xg-
  5        U R                  [        XE-  5      Xg-  5        U R                  [        XE-  5      Xg-  5        U R                  XE:H  Xg:H  5        U R                  XE:g  Xg:g  5        U R                  XE:*  Xg:*  5        U R                  XE:  Xg:  5        U R                  XE:  Xg:  5        U R                  XE:  Xg:  5        GM;     g s  snf )Nr   r{   c              3   <   >#    U  H  n[        TU5      v   M     g 7frH   )r   )r  r  r  s     r8   r  TTestCounter.test_multiset_operations_equivalent_to_set_operations.<locals>.<genexpr>>	  s     &S?a|Aq'9'9?s   rz   )repeat)rN   r   r   r   r  r   r
   rS   r3   r  r@   )	r7   powersetgroupscounterscpcqspsqr  s	           @r8   5test_multiset_operations_equivalent_to_set_operationsATestCounter.test_multiset_operations_equivalent_to_set_operations9	  sk    %(34&&&S5QPQ?&SS8@AfGDL)Ahq1FBR[[]#BR[[]#BS\273S\273S\273S\273RXrx0RXrx0RXrx0RXrx0RWbg.RWbg. 2 Bs   Gc                     U R                  [        SSSS9[        S5      5        U R                  [        SSS9[        S5      5        g Nr   r{   r   r   ababar/   babab)r@   r
   r"  rJ   s    r8   test_eqTestCounter.test_eqN	  s<    1Q/1ABGa1-ww/?@r;   c                     U R                  [        SSSS9[        S5      :*  5        U R                  [        SSS9[        S5      :*  5        g r  r   r
   r   rJ   s    r8   test_leTestCounter.test_leR	  s@    !qA.''2BBC1*gg.>>?r;   c                     U R                  [        SSSS9[        S5      :  5        U R                  [        SSSS9[        S5      :  5        g )Nr   rz   r   r   r  r{   r  rJ   s    r8   test_ltTestCounter.test_ltV	  sB    !qA.1AAB1Q/''2BBCr;   c                     U R                  [        SSSS9[        S5      :  5        U R                  [        SSSS9[        S5      :  5        g )Nr{   rz   r   r   aabr   aabdr  rJ   s    r8   test_geTestCounter.test_geZ	  s@    !qA.'%.@A1Q/76?BCr;   c                     U R                  [        SSSS9[        S5      :  5        U R                  [        SSSS9[        S5      :  5        g )Nr   r{   r   r   r
  rz   r  rJ   s    r8   test_gtTestCounter.test_gt^	  s@    !qA.?@1Q/'%.@Ar;   rf   N)r6   rm   rn   ro   r   ry  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  rp   rf   r;   r8   rd  rd    su    :$x7(7.r5(+2#%ON;*7*.
&L*/*A@DDBr;   rd  c                 X    UR                  [        R                  " [        5      5        U$ rH   )addTestdoctestDocTestSuitert  )loadertestspatterns      r8   
load_testsr  c	  s    	MM'&&{34Lr;   __main__)Gr-  rt  r=   r  rg  r  r   randomr   r   	itertoolsr   r   r   r  r  rA   r   r  r  r	   r
   r   r   r   r   r   r   r   collections.abcr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   TestCaser,   rw   r$  r&  r  r  r  r  r  rU  r]  rd  r  r6   mainrf   r;   r8   <module>r     sE          $ 2 2  
    I I 6 6    0 H H O O B B + T T 5 .1*h'' 1*p]/8$$ ]/H 
Hg	&P&X&& P&n96(## 96v
^	.; ^	.@ j  (k	K k	Kf. ./W /TB(## TBn

 zMMO r;   