+
    Bi              	          ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	 ^ RI
t
^ RIt^ RIt^ RIt^ RIHt ^ RIHtHt ^ RIHt ]P*                  ! RR.R7      t]P*                  ! RR.R	7      t]P0                  R
 4       t ! R R4      t ! R R4      t ! R R]]P8                  4      t ! R R]P8                  4      tR1P?                  4        F  t ]!! ]] ]"! ]] 4      4       K  	  A  ! R R4      t#]PH                  ! ]R4       ! R R]]#]P8                  4      4       t% ! R R]4      t& ! R R]%4      t' ! R R]P8                  4      t(]PH                  ! ]R4       ! R R]P8                  4      4       t) ! R  R!]PT                  4      t+]PH                  ! ]R4       ! R" R#]PT                  4      4       t, ! R$ R%]PT                  4      t-]PH                  ! ]R4       ! R& R']PT                  4      4       t. ! R( R)4      t/ ! R* R+4      t0 ! R, R-]0]P8                  4      t1]PH                  ! ]R4       ! R. R/]0]P8                  4      4       t2]3R08X  d   ]Ph                  ! 4        R# R# )2    N)	randrangeshuffle)MutableMapping)mapping_testssupport)import_helpercollections_collections)blocked)freshc              #      "   \         P                  V ,          pV\         P                  V &    R x  V\         P                  V &   R #   T\         P                  T &   i ; i5iN)sysmodules)namereplacementoriginal_modules   && -/usr/lib/python3.14/test/test_ordered_dict.pyreplaced_moduler      sE     kk$'O#CKK,+DODs   +AA AAAc                   d  a  ] tR t^"t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,R* t-R+ t.R, t/R- t0R. t1R/ t2R0 t3]4Pj                  R1 4       t6R2t7V t8R3# )4OrderedDictTestsc                N   V P                   pV P                  \        4      ;_uu_ 4        V! RR.R4       RRR4       . R	OpV P                  \	        V! \        V4      4      P                  4       4      V4       V P                  \	        V! R
/ \        V4      B P                  4       4      V4       V P                  \        V! V4      P                  4       4      V4       V P                  \        V! . RO^^R7      P                  4       4      V4       V P                  \        V! ^*R7      P                  4       4      R.4       V P                  \        V! ^*R7      P                  4       4      R.4       V P                  \        V^*4       V P                  \        VR
R
4       V P                  \        VP                  4       V! . RO4      pVP                  RR.^^R7       V P                  \        VP                  4       4      . RO4       R#   + '       g   i     EL; i)aNceselfothergdr      b   r      r$   r&   r      r#      r)    r$   r&   )r   	   r.   )r   *   )r    r3   r$   r&   r,   )r#   ,   )r   7   f   r$   r&   r,   r.   r)   r7   )r"      )	OrderedDictassertRaises	TypeErrorassertEqualsorteddictitemslist__init__)r   r<   pairsr#   s   &   r   	test_initOrderedDictTests.test_init$   s   &&y))8,d3 *BDK 8 > > @A5I :d5k : @ @ BCUKk%066895Ak*R,-449EG=>C	E 	kr288:;l^Lk399;<}oN)["5)["b9)[%9%9: LM	

Hh'1
2aggiR	T' *))s   HH$	c                    V P                   p. ROp\        V4       V! V4      pV! R/ VB pV P                  \        VP	                  4       4      V4       R# )r   Nr:   r0   )r<   r   r?   rC   rB   )r   r<   rB   argdictr#   s   &    r   test_468OrderedDictTests.test_468<   sJ    &&Ve$"'"aggi%0    c                   V P                   pV P                  \        4      ;_uu_ 4        V! 4       P                  RR	.R4       RRR4       . ROpV! 4       pVP                  \	        V4      4       V P                  \        VP                  4       4      V4       V! 4       pVP                  ! R/ \	        V4      B  V P                  \        VP                  4       4      V4       V! 4       pVP                  V4       V P                  \        VP                  4       4      V4       V! 4       pVP                  . RO^^R7       V P                  \        VP                  4       4      V4       V! 4       pVP                  ^R7       V P                  \        VP                  4       4      R.4       V! 4       pVP                  / R7       V P                  \        VP                  4       4      R/ 3.4       V! 4       pVP                  ^^^^R7       V P                  \        \        VP                  4       4      4      . RO4       V! . RO4      pVP                  R
R.^^R7       V P                  \        VP                  4       4      . RO4       V P                  \        V! 4       P                  ^*4       V P                  \        V! 4       P                  RR4       V P                  \        VP                  4       V P                  \        V! 4       P                  ^*4       V P                  \        V! 4       P                  RR4       V P                  \        VP                  4       R#   + '       g   i     EL0; i)r   Nr   r   r   r    )redbluer    r   r!   r$   r&   r)   r+   r0   r1   )r      ))rO   r9   )r    r;   )rN   r*   )r      r4   r7   r:   )	r<   r=   r>   updaterA   r?   r@   rB   rC   )r   r<   rE   odr#   s   &    r   test_updateOrderedDictTests.test_updateD   s   &&y))M  (H!5t< *B]
		$u+
+U3]
		 DK 
+U3]
		%bhhj)51]
		:a1	Ebhhj)51 ]
		r	bhhj)L>:]
			bhhj)WbM?;]
		aaqq	1RXXZ 01M	O
 LM	(H%a0aggiR	T 	)[]%9%92>)[]%9%92rB)[%7%78)[]%9%92>)[]%9%92rB)[%7%78U *))s   M++M<	c                x   a . o ! V3R  lR4      pV P                  V! 4       4       V P                  SR.4       R# )c                   :   <a  ] tR t^tt o V3R ltV3R ltRtV tR# ).OrderedDictTests.test_init_calls.<locals>.Spamc                *   < SP                  R 4       R# )keysr0   appendr   callss   &r   rZ   3OrderedDictTests.test_init_calls.<locals>.Spam.keysu   s    V$	rL   c                *   < SP                  R 4       R# )rB   r0   r[   r]   s   &r   rB   4OrderedDictTests.test_init_calls.<locals>.Spam.itemsx   s    W%	rL   r0   N)__name__
__module____qualname____firstlineno__rZ   rB   __static_attributes____classdictcell__)__classdict__r^   s   @r   SpamrX   t   s      rL   ri   rZ   N)r<   r?   )r   ri   r^   s   & @r   test_init_calls OrderedDictTests.test_init_callsr   s6    	 	 	 )rL   c                L    V P                   p ! R  RV4      pV! 4       p^VR&   R# )c                   &   a  ] tR t^t o R tRtV tR# )3OrderedDictTests.test_overridden_init.<locals>.ODNIc                     R # r   r0   )argskwargss   *,r   rD   <OrderedDictTests.test_overridden_init.<locals>.ODNI.__init__   s    rL   r0   N)rb   rc   rd   re   rD   rf   rg   rh   s   @r   ODNIrn      s      rL   rt   r   Nr<   )r   r<   rt   rS   s   &   r   test_overridden_init%OrderedDictTests.test_overridden_init   s-     &&	; 	 V3rL   c                   V P                   pVP                  R 4      pT P                  \        VP	                  4       4      R  Uu. uF  q3R3NK  	  up4       VP                  R RR7      pT P                  \        VP	                  4       4      R  Uu. uF  q3R3NK  	  up4       VP                  R ^ R7      pT P                  \        VP	                  4       4      R  Uu. uF  q3^ 3NK  	  up4       R# u upi u upi u upi )abcNvalue)r<   fromkeysr?   rC   rB   )r   r<   rS   r   s   &   r   test_fromkeysOrderedDictTests.test_fromkeys   s    &&!!%(bhhj)u+Eu!Iu+EF!!%t!4bhhj)u+Eu!Iu+EF!!%q!1bhhj)E+BEqFE+BC	 ,F+E+Bs   C4
C9
C>
c                    V P                   pV P                  V! 4       \        4       V P                  V\        4       R # r   )r<   assertIsInstancer   assertIsSubclass)r   r<   s   & r   test_abcOrderedDictTests.test_abc   s/    &&km^<k>:rL   c                    V P                   p. ROp\        V4       V! V4      pV P                  \        V4      \        V4      4       VP	                  4        V P                  \        V4      ^ 4       R# r   N)r   r%   r&   )r   r-   r.   r)   r7   )r<   r   r?   lenclearr   r<   rE   rS   s   &   r   
test_clearOrderedDictTests.test_clear   sX    &&LR#e*-

R!$rL   c                T   V P                   p. ROpV! V4      pVR V P                  RV4       V P                  \        4      ;_uu_ 4        VR RRR4       V P	                  \        VP                  4       4      VR,          VR,          ,           4       R#   + '       g   i     LP; i)r   r   NNr(   N:r-   NNr   )r<   assertNotInr=   KeyErrorr?   rC   rB   r   s   &   r   test_delitemOrderedDictTests.test_delitem   s    &&LsGb!x((3 )bhhj)59uRy+@A )(s   BB'	c                    V P                   pV! . RO4      p^
VR&   ^VR&   V P                  \        VP                  4       4      . RO4       R# )r#   r   r8   N)r#   r%   r&   r,   r   r/   r)   )r   r&   )r   
   r   r)   )r8      r<   r?   rC   rB   r   r<   rS   s   &  r   test_setitemOrderedDictTests.test_setitem   sI    &&KL33bhhj)W	YrL   c                   V P                   p. ROp\        V4       V! V4      pT P                  \        V4      V Uu. uF  qD^ ,          NK  	  up4       T P                  \        VP	                  4       4      V Uu. uF  qD^ ,          NK  	  up4       T P                  \        VP                  4       4      V Uu. uF  qD^,          NK  	  up4       V P                  \        VP                  4       4      V4       T P                  \        \        V4      4      \        V4       Uu. uF  qD^ ,          NK  	  up4       T P                  \        \        VP	                  4       4      4      \        V4       Uu. uF  qD^ ,          NK  	  up4       T P                  \        \        VP                  4       4      4      \        V4       Uu. uF  qD^,          NK  	  up4       V P                  \        \        VP                  4       4      4      \        \        V4      4      4       R# u upi u upi u upi u upi u upi u upi r   )r<   r   r?   rC   rZ   valuesrB   reversedr   r<   rE   rS   ts   &    r   test_iteratorsOrderedDictTests.test_iterators   s   &&Lb%#8%QaDD%#89bggi*?AQ44*?@biik*5,A5aqTT5,ABbhhj)51hrl+(081A$$8	:hrwwy12(081A$$8	:hryy{34(081A$$8	:hrxxz23T(5/5JK $9*?,A 988s#   H'
<H,
;H1
'H6
8H;
	I 
c                    V P                   pVP                  R 4      p\        V4      p\        V4      pW$ V P	                  \
        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)ry   N)r<   r|   iternextr=   	Exception)r   r<   rS   itkeys   &    r   %test_detect_deletion_during_iteration6OrderedDictTests.test_detect_deletion_during_iteration   s]    &&!!%("X2hGy)) H *)))s   A))A:	c           
     0   V P                   pV P                  \        4      ;_uu_ 4        V! RR.R4       RRR4       . ROpV! V4      pT P                  \	        V4      V Uu. uF  qD^ ,          NK  	  up4       T P                  \	        VP                  4       4      V Uu. uF  qD^ ,          NK  	  up4       T P                  \	        VP                  4       4      V Uu. uF  qD^,          NK  	  up4       V P                  \	        VP                  4       4      V4       T P                  \	        \        V4      4      \	        \        V4       Uu. uF  qD^ ,          NK  	  up4      4       R#   + '       g   i     ELC; iu upi u upi u upi u upi )r   Nr$   r&   r+   )	r<   r=   r>   r?   r@   rZ   r   rB   r   r   s   &    r   test_sorted_iterators&OrderedDictTests.test_sorted_iterators   s4   &&y))8,d3 *BE%:EqddE%:;	*5,A5aqTT5,AB		,U.CUttU.CD
+U3-x ?!1 ?@	B *)) &;,A.C !@s#   E0#F
"F	
!F
F0F	c                   V P                   pV! 4       p. pV P                  \        V4      V4       V P                  \        VP                  4       4      V4       V P                  \        VP	                  4       4      V4       V P                  \        VP                  4       4      V4       V P                  \        \        V4      4      V4       V P                  \        \        VP                  4       4      4      V4       V P                  \        \        VP	                  4       4      4      V4       V P                  \        \        VP                  4       4      4      V4       R # r   )r<   r?   rC   rZ   r   rB   r   )r   r<   rS   emptys   &   r   test_iterators_empty%OrderedDictTests.test_iterators_empty   s    &&]b5)bggi%0biik*E2bhhj)51hrl+U3hrwwy12E:hryy{34e<hrxxz23U;rL   c                   V P                   p. ROp\        V4       V! V4      pV'       d1   V P                  VP                  4       VP	                  4       4       K8  V P                  \        4      ;_uu_ 4        VP                  4        RRR4       V P                  \        V4      ^ 4       R#   + '       g   i     L-; ir   )r<   r   r?   popitempopr=   r   r   r   s   &   r   test_popitemOrderedDictTests.test_popitem   s~    &&LRZZ\599;7x((JJL )R!$ )(s   9B//B?	c                0   V P                   p\        ^4       Uu. uF  q"V3NK  	  ppV! V4      p\        ^4       F  pVP                  R4       K  	  VP                  R4       VP                  RR7       V P                  \	        V4      ^4       R# u upi )   TlastN)r<   ranger   r?   r   )r   r<   irE   objs   &    r   test_popitem_last"OrderedDictTests.test_popitem_last   s~    &&!&r+AQ+% qAKK DS2& ,s   Bc                   V P                   p. R
Op\        V4       V! V4      p\        V4       V'       d6   VP                  4       w  rEV P                  VP                  V4      V4       K=  V P	                  \
        4      ;_uu_ 4        VP                  R4       RRR4       V P                  \        V4      ^ 4       V P                  VP                  XR4      R4        ! R RV4      pV! ^R7      pV P                  VP                  R^4      ^4       V P                  VP                  R^4      ^4       V P                  VP                  R^4      ^4       V P                  VP                  R^R	7      ^4       V P	                  \
        4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     EL$; i  + '       g   i     R# ; i)r   r'   r   xyzNi90  c                   &   a  ] tR tRt o R tRtV tR# )*OrderedDictTests.test_pop.<locals>.Missingi  c                    ^ # r   r0   r   r   s   &&r   __missing__6OrderedDictTests.test_pop.<locals>.Missing.__missing__      rL   r0   Nrb   rc   rd   re   r   rf   rg   rs   s   @r   Missingr           rL   r   r   defaultr   )r<   r   r   r?   r=   r   r   )r   r<   rE   rS   kvr   ms   &       r   test_popOrderedDictTests.test_pop   s`   &&L99;DARVVAY*x((FF5M )R!$5)51	k 	 aLsA*sA*sA*sA.2x((EE#J )( )(( )((s   	F6G
6G	
G	c                ~   V P                   p. ROp\        V4       V! V4      pV! V4      pV P                  W44       VR,          VR,          ,           pV! V4      pV P                  W44       V P                  V\	        V4      4       V P                  \	        V4      V4       V P                  W1! VRR 4      4       R# )r   :r(   NNr   Nr   )r<   r   r?   assertNotEqualrA   )r   r<   rE   od1od2s   &    r   test_equalityOrderedDictTests.test_equality  s    &&L% % "b	E"I%% C%d3i(cC(CU3BZ!89rL   c                   a a S P                   p. ROpV! V4      oR.Sn        R.Sn        VV 3R lpV! SP                  4       4       \        P                  ! S4      pV! V4       S P	                  VP                  SP                  4       S P	                  VP                  SP                  4       S P                  VR4       \        P                  ! S4      pV! V4       S P                  VP                  SP                  4       S P                  VP                  SP                  4       S P                  VP                  SP                  4       S P                  VP                  SP                  4       S P                  VR4       \        RS P                  4      ;_uu_ 4        \        \        P                  ^,           4       F  pS P                  VR7      ;_uu_ 4        \        P                  ! \        P                   ! SV4      4      pV! V4       S P                  VP                  SP                  4       S P                  VP                  SP                  4       S P                  VR4       RRR4       K  	  RRR4       V! \#        \%        S4      4      4       V! 4       pVP'                  S4       V! V4       V! V! S4      4       R#   + '       g   i     EK  ; i  + '       g   i     Lo; i)	r   xzc                 v  < R V : RS: 2pSP                  V SV4       SP                  V S4       SP                  \        V P                  4       4      \        SP                  4       4      4       SP                  \	        V 4      \	        S4      4       SP                  \        V 4      \        S4      4       R# )z
copy: z
od: N)assertIsNotr?   rC   rB   r   type)dupmsgrS   r   s   & r   check,OrderedDictTests.test_copying.<locals>.check1  s    *-r2CS"c*S"%T#))+.RXXZ0@ASXs2w/T#YR1rL   yr	   )protoNr   )r<   r   r   copyassertIsassertNotHasAttrdeepcopyr?   r   r   moduler   pickleHIGHEST_PROTOCOLsubTestloadsdumpsevalreprrR   )r   r<   rE   r   r   r   update_testrS   s   f      @r   test_copyingOrderedDictTests.test_copying)  s   && Muu	2 	bggiiimc
ceeRTT"ceeRTT"c3'mmBc
%%%%c3']DKK88v66:;\\\.. ,,v||B'>?C#J$$SUUBDD1$$SUUBDD1))#s3 /. < 9 	d48n!m2kk"o /.. 98s%   *>K-(BK:K-K*#
K--K=	c                (   V P                   p. ROpV! V4      pT P                  \        ;QJ d=    R VP                  4       ^,           4       F  '       d   K   R4       R# 	  R4       R# ! R VP                  4       ^,           4       4      4       R# )r   c              3   F   "   T F  p\        V4      \        8H  x  K  	  R # 5ir   )r   rC   ).0pairs   & r   	<genexpr>5OrderedDictTests.test_yaml_linkage.<locals>.<genexpr>\  s     L9KDJ,9Ks   !FTNr   )r<   
assertTrueall
__reduce__r   s   &   r   test_yaml_linkage"OrderedDictTests.test_yaml_linkageT  sf    && M 	L9KLMML9KLLMrL   c                h   V P                   p. ROpV! V4      pV P                  VP                  \        4       V P	                  VP                  4       ^,          4       ^
Vn        V P                  VP                  R,          ^
4       V P                  VP                  4       ^,          R^
/4       R# )r   r   Nr   )r<   r   __dict__rA   assertIsNoner   r   r?   r   s   &   r   test_reduce_not_too_fat(OrderedDictTests.test_reduce_not_too_fat^  s    &&Lbkk40"--/!,-S)2.+c2Y7rL   c           	        V P                   pV! 4       pW"^&   \        RV P                  4      ;_uu_ 4        \        R\        P
                  ^,           4       F  p\        P                  ! \        P                  ! W#4      4      pV P                  WB4       V P                  \        VP                  4       4      ^.4       V P                  V^,          V4       K  	  RRR4       R#   + '       g   i     R# ; i)r%   r	   Nr   )r<   r   r   r   r   r   r   r   r   r?   rC   rZ   r   )r   r<   rS   r   r   s   &    r   test_pickle_recursive&OrderedDictTests.test_pickle_recursivei  s    &&]1 ]DKK88r6#:#:Q#>?ll6<<#:;  )  chhj!1A37c!fc*	 @ 9888s   B'C''C8	c                    V P                   pV! . RO4      pV P                  \        V4      R4       V P                  \        \        V4      4      V4       V P                  \        V! 4       4      R4       R# )r   z=OrderedDict({'c': 1, 'b': 2, 'a': 3, 'd': 4, 'e': 5, 'f': 6})zOrderedDict()Nr   )r<   r?   r   r   r   s   &  r   	test_reprOrderedDictTests.test_reprv  s_    &&UVbK	Md2h,km,o>rL   c                ~    V P                   pVP                  R 4      pW"R&   V P                  \        V4      R4       R# )ry   r   z8OrderedDict({'a': None, 'b': None, 'c': None, 'x': ...})N)r<   r|   r?   r   r   s   &  r   test_repr_recursive$OrderedDictTests.test_repr_recursive~  s<    &&!!%(3bF	HrL   c                    V P                   pV! 4       pVP                  4       V^*&   \        V4      pV P                  V\        4       VP                  4       V^*&   \        V4      pV P                  V\        4       R# )r3   N)r<   r   r   r   strrB   )r   r<   rS   rs   &   r   test_repr_recursive_values+OrderedDictTests.test_repr_recursive_values  sf    &&]2H 	a%2Ha%rL   c                b   V P                   p. ROp\        V4       V! V4      p\        VP                  4       4      pV P	                  VP                  R^
4      ^4       V P	                  \        VP                  4       4      V4       V P	                  VP                  R^
4      ^
4       V P	                  \        VP                  4       4      R	,          R
4       V P	                  VP                  R^	R7      ^	4        ! R RV4      pV P	                  V! 4       P                  ^^	4      ^	4       R# )r   r   r   r"   r   c                   &   a  ] tR tRt o R tRtV tR# )1OrderedDictTests.test_setdefault.<locals>.Missingi  c                    ^ # r   r0   r   s   &&r   r   =OrderedDictTests.test_setdefault.<locals>.Missing.__missing__  r   rL   r0   Nr   rs   s   @r   r   r    r   rL   r   Nr   r   )r   r   )r<   r   rC   rB   r?   
setdefault)r   r<   rE   rS   
pair_orderr   s   &     r   test_setdefault OrderedDictTests.test_setdefault  s    &&L"((*%
sB/3bhhj):6sB/4bhhj)"-y9sA6:	k 	 	--a3Q7rL   c                    V P                   pV! 4       p^VR&   ^VR&   VR V P                  \        VP                  4       4      R.4       ^VR&   V P                  \        VP                  4       4      RR.4       R# )r%   r   r'   Nr&   r$   r   r   s   &  r   test_reinsertOrderedDictTests.test_reinsert  su    && ]33sGbhhj)H:63bhhj)Hh+?@rL   c                   V P                   pVP                  R 4      pV P                  \        V4      \        R 4      4       VP	                  R4       V P                  \        V4      \        R4      4       VP	                  RR4       V P                  \        V4      \        R4      4       VP	                  RR4       V P                  \        V4      \        R4      4       VP	                  R4       V P                  \        V4      \        R4      4       VP	                  RRR7       V P                  \        V4      \        R4      4       V P                  \        4      ;_uu_ 4        VP	                  R	4       R
R
R
4       V P                  \        4      ;_uu_ 4        VP	                  R	R4       R
R
R
4       R
#   + '       g   i     LJ; i  + '       g   i     R
# ; i)abcder   abdecFcabder   r'   r   bcader   N)r<   r|   r?   rC   move_to_endr=   r   r   s   &  r   test_move_to_end!OrderedDictTests.test_move_to_end  sM   &&!!'*b4=1
sb4=1
sE"b4=1
sE"b4=1
sb4=1
s'b4=1x((NN3 )x((NN3& )( )((((s   ,G #G G	G$	c                   V P                   pVP                  R 4      pVP                  RRR7       V P                  \	        V4      \	        R4      4       VP                  RRR7       V P                  \	        V4      \	        R4      4       VP                  R 4      pVP                  R4       V P                  \	        V4      \	        R4      4       VP                  R4       V P                  \	        V4      \	        R4      4       R	# )
ry   r   Fr   cabr   acbbcabacN)r<   r|   r%  r?   rC   r   s   &  r   test_move_to_end_issue25406,OrderedDictTests.test_move_to_end_issue25406  s    &&!!%(
s'b4;/
s'b4;/!!%(
sb4;/
sb4;/rL   c                    V P                   p\        ^R7      pV! R/ VB pV P                  \        P                  ! V4      \        P                  ! V4      4       R# )r%   r   Nr0   )r<   rA   assertGreaterr   	getsizeof)r   r<   r#   rS   s   &   r   test_sizeofOrderedDictTests.test_sizeof  sE    &&1I13==,cmmA.>?rL   c                <   V P                   pR P                  4       pVP                  V4      pV P                  VP	                  4       \        V4      P	                  4       4       V P                  VP                  4       \        V4      P                  4       4       R# )z@the quick brown fox jumped over a lazy dog yesterday before dawnN)r<   splitr|   r?   rZ   rA   rB   )r   r<   srS   s   &   r   
test_viewsOrderedDictTests.test_views  sl    &&NTTV!!!$DHMMO4T"X^^%56rL   c                    V P                   p ! R  RV4      p. ROpV P                  \        V! V4      P                  4       4      V4       R# )c                   &   a  ] tR tRt o R tRtV tR# )3OrderedDictTests.test_override_update.<locals>.MyODi  c                    \        4       hr   )r   )r   rp   kwdss   &*,r   rR   :OrderedDictTests.test_override_update.<locals>.MyOD.update  s
    k!rL   r0   N)rb   rc   rd   re   rR   rf   rg   rs   s   @r   MyODr;    s     " "rL   r?  N)r$   r,   r&   r   )r   r<   r?  rB   s   &   r   test_override_update%OrderedDictTests.test_override_update  sB    &&	"; 	" /d5k//12E:rL   c                    V P                   pR p\        R4       F  pV! R V3.4      pK  	  ?\        P                  ! 4        R # )N  )r<   r   r   
gc_collect)r   r<   r   _s   &   r   test_highly_nested#OrderedDictTests.test_highly_nested  sA     &&tAc{m,C rL   c           
       a V P                   p. o ! V3R  lRV4      pRp\        ^d4       F  pV! RV3.4      pWCn        K  	  ?\        P                  ! 4        V P                  S\        \        \        ^d4      4      4      4       R# )c                   .   <a  ] tR tRt o V3R ltRtV tR# ):OrderedDictTests.test_highly_nested_subclass.<locals>.MyODi  c                >   < SP                  V P                  4       R # r   )r\   r   )r   deleteds   &r   __del__BOrderedDictTests.test_highly_nested_subclass.<locals>.MyOD.__del__  s    tvv&rL   r0   N)rb   rc   rd   re   rM  rf   rg   )rh   rL  s   @r   r?  rJ    s     ' 'rL   r?  N)r<   r   r   r   rD  r?   rC   r   )r   r<   r?  r   r   rL  s   &    @r   test_highly_nested_subclass,OrderedDictTests.test_highly_nested_subclass  sz     &&	'; 	' sAs}%CE  $xc
';"<=rL   c                
   V P                   p ! R  R4      pR p^pV! V4      pV! V4      pV! V! V4      4      pV! 4       pRW&   RW&   RW&   RVR&   W W V P                  \        VP                  4       4      VR3R.4       R# )c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )9OrderedDictTests.test_delitem_hash_collision.<locals>.Keyi  c                D    Wn         \        \        V 4      4      V n        R # r   )_hashr  idr{   )r   hashs   &&r   rD   BOrderedDictTests.test_delitem_hash_collision.<locals>.Key.__init__  s    !
 D]
rL   c                    V P                   # r   )rU  r   s   &r   __hash__BOrderedDictTests.test_delitem_hash_collision.<locals>.Key.__hash__      zz!rL   c                Z     V P                   VP                   8H  #   \         d     R # i ; i)F)r{   AttributeErrorr   r    s   &&r   __eq__@OrderedDictTests.test_delitem_hash_collision.<locals>.Key.__eq__  s,    !::44% ! !s    **c                    V P                   # r   rz   r   s   &r   __repr__BOrderedDictTests.test_delitem_hash_collision.<locals>.Key.__repr__  r\  rL   )rU  r{   N)
rb   rc   rd   re   rD   rZ  r`  rc  rf   rg   rs   s   @r   KeyrS    s     +"!
" "rL   re  c                 `    ^pW^,
          ,          pV^,          V,           V ,           ^,           # )rQ   r0   )rW  MINSIZEr   s   &  r   blocking_hashCOrderedDictTests.test_delitem_hash_collision.<locals>.blocking_hash  s+    G	!AFa<$&**rL   .afterN)rj  .r   )	r   r<   re  rh  	COLLIDINGr   	collidingblockingrS   s	   &        r   test_delitem_hash_collision,OrderedDictTests.test_delitem_hash_collision	  s    &&	" 	"	+ 	)n	N	}Y/0]7LMbhhj)S#J+GHrL   c                   V P                   p ! R  R4      pV! 4       p\        ^d4       F  pV! 4       pWCV&   K  	  V P                  \        4      ;_uu_ 4        \	        VP                  4       4       RRR4       V P                  \        4      ;_uu_ 4        \	        VP                  4       4       RRR4       V P                  \        4      ;_uu_ 4        \        V4       RRR4       V P                  \        4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Ln; i  + '       g   i     R# ; i)c                   &   a  ] tR tRt o R tRtV tR# )-OrderedDictTests.test_issue24347.<locals>.Keyi3  c                    \        R 4      # )i )r   r   s   &r   rZ  6OrderedDictTests.test_issue24347.<locals>.Key.__hash__4  s     ((rL   r0   Nrb   rc   rd   re   rZ  rf   rg   rs   s   @r   re  rr  3  s     ) )rL   re  N)	r<   r   r=   r   rC   r   rB   r   r   )r   r<   re  rS   r   r   s   &     r   test_issue24347 OrderedDictTests.test_issue243470  s    &&	) 	) ]sA%CsG 
 x(( )x(( )x((H )x((GGI )( )((((((((s0   D"D5EE"D2	5E	E	E,	c                r    V P                   p ! R  R4      pV! 4       p^ W2! 4       &   VP                  4        R# )c                   &   a  ] tR tRt o R tRtV tR# )-OrderedDictTests.test_issue24348.<locals>.KeyiI  c                    ^# )r%   r0   r   s   &r   rZ  6OrderedDictTests.test_issue24348.<locals>.Key.__hash__J  r   rL   r0   Nru  rs   s   @r   re  rz  I  r   rL   re  N)r<   r   )r   r<   re  rS   s   &   r   test_issue24348 OrderedDictTests.test_issue24348F  s4    &&	 	 ]35	


rL   c                    V P                   pV! 4       pR F:  pR F1  p\        V4      ^8X  d   VP                  RR7       W4,           pWRV&   K3  	  K<  	  R# )a7  
dict resizes after a certain number of insertion operations,
whether or not there were deletions that freed up slots in the
hash table.  During fast node lookup, OrderedDict must correctly
respond to all resizes, even if the current "size" is the same
as the old one.  We verify that here by forcing a dict resize
on a sparse odict and then perform an operation that should
trigger an odict resize (e.g. popitem).  One key aspect here is
that we will keep the size of the odict the same at each popitem
call.  This verifies that we handled the dict resize properly.
0123456789ABCDEFFr   N)r<   r   r   )r   r<   rS   c0c1r   s   &     r   test_issue24667 OrderedDictTests.test_issue24667R  sQ     &&]$B(r7a<JJEJ*g3 ) %rL   c                    V P                   pV! 4       p\        P                  VR ^4       V P                  R\	        V4      4       R# spamNULLN)r<   rA   __setitem__r   r   r   s   &  r   test_dict_setitem"OrderedDictTests.test_dict_setitemk  s:    &&]VQ'b*rL   c                    V P                   pV! 4       p^VR&   ^VR&   \        P                  VR4       V P                  \        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; ir%   r  hamN)r<   rA   __delitem__r=   r   r   r   s   &  r   test_dict_delitem"OrderedDictTests.test_dict_delitemq  s]    &&]6
5	V$x((H )(((   A''A8	c                    V P                   pV! 4       p^VR&   ^VR&   \        P                  V4       V P                  R\	        V4      4       R# )r%   r  r  r  N)r<   rA   r   r   r   r   s   &  r   test_dict_clear OrderedDictTests.test_dict_clearz  sE    &&]6
5	

2b*rL   c                    V P                   pV! 4       p^VR&   ^VR&   \        P                  VR4       V P                  \        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; ir  )r<   rA   r   r=   r   r   r   s   &  r   test_dict_popOrderedDictTests.test_dict_pop  s[    &&]6
5	Vx((H )(((r  c                    V P                   pV! 4       p^VR&   ^VR&   \        P                  V4       V P                  \        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; ir  )r<   rA   r   r=   r   r   r   s   &  r   test_dict_popitem"OrderedDictTests.test_dict_popitem  sY    &&]6
5	Rx((H )(((s   A&&A7	c                    V P                   pV! 4       p\        P                  VR ^4       V P                  R\	        V4      4       R# r  )r<   rA   r  r   r   r   s   &  r   test_dict_setdefault%OrderedDictTests.test_dict_setdefault  s8    &&]FA&b*rL   c                    V P                   pV! 4       p\        P                  VR.4       V P                  R\	        V4      4       R# )r  r  N)r  r%   )r<   rA   rR   r   r   r   s   &  r   test_dict_update!OrderedDictTests.test_dict_update  s8    &&]B&b*rL   c                   a V P                   o ! V3R  lR4      pRVP                  V&   \        P                  ! V4      p?\        P
                  ! 4        V P                  V! 4       4       R# )c                   (   < ] tR tRt Z ! 4       tRtR# )/OrderedDictTests.test_reference_loop.<locals>.Ai  r0   N)rb   rc   rd   re   rS   rf   ru   s   r   Ar    s
    BrL   r  N)r<   rS   weakrefrefgccollectr  )r   r  r  r<   s   &  @r   test_reference_loop$OrderedDictTests.test_reference_loop  sN    &&	 	QKKN


!#rL   c                $   \         P                  ! V \        V P                  4       \         P                  ! V R  V P                  4       \         P                  ! V R V P                  4       \         P                  ! V R V P                  4       R# )c                 4    \        V P                  4       4      # r   )r   rZ   r#   s   &r   <lambda><OrderedDictTests.test_free_after_iterating.<locals>.<lambda>  s    4>rL   c                 4    \        V P                  4       4      # r   )r   r   r  s   &r   r  r    s    4
;KrL   c                 4    \        V P                  4       4      # r   )r   rB   r  s   &r   r  r    s    4	?rL   N)r   check_free_after_iteratingr   r<   r   s   &r   test_free_after_iterating*OrderedDictTests.test_free_after_iterating  se    **4t7G7GH**41I4K[K[\**41KTM]M]^**41JDL\L\]rL   c           
        V P                   pV! ^ ^ ^^^^/4      pV! ^^^^^^/4      pVP                  4       pVP                  4       pWC,          pV\        VP                  4       4      ,          pV! ^ ^ ^^^^^^/4      pV P	                  V\        V4      ,          V4       V P	                  W#,          V4       V P	                  WF4       V P	                  WV4       VP                  4       pWB,          pV! ^^^^^^^ ^ /4      pV P	                  \        V4      V,          V4       V P	                  W2,          V4       V P	                  WF4       V P                  \        W#,          4      V4       V P                  \        \        V4      V,          4      V4       V P                  \        V\        V4      ,          4      V4       VP                  4       pVR,          pVR,          pV P	                  W&4       V P                  \        4      ;_uu_ 4        VR,           RRR4       V P                  \        4      ;_uu_ 4        VR,           RRR4       V P                  \        4      ;_uu_ 4        VR,           RRR4       V P                  \        4      ;_uu_ 4        VR,           RRR4       V P                  \        4      ;_uu_ 4        VR,          pRRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lz; i  + '       g   i     R# ; i)r    NBADr0   )r<   r   rC   rB   r?   rA   r   r   r=   r>   
ValueError)r   r<   r   r'   r   r#   expecteds   &      r   test_merge_operator$OrderedDictTests.test_merge_operator  se   &&Aq!Q*+Aq!Q*+FFHFFH		T!'')_1aAq!Q78T!Wh/)%%FFH	1aAq!Q78a1h/)%d15k;/d47Q;'5d1tAw;'5668	R	R%y))H *y))F *y))I *y))F *z**JA +* *)))))))***s<   
K'
K:5
L$
L 
L3'K7	:L
	L	 L0	3M	c                    \        V P                  R . /4      P                  4       4      p\        P                  ! 4        V P                  \        P                  ! \        V4      4      4       R # r   )r   r<   rB   r  r  r   
is_trackedr   )r   r   s   & r   !test_ordered_dict_items_result_gc2OrderedDictTests.test_ordered_dict_items_result_gc  sJ    
 $""D":.4467


 	d2h/0rL   r0   N)9rb   rc   rd   re   rF   rJ   rT   rj   rv   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r
  r  r  r  r  r&  r-  r2  r7  r@  rF  rO  rn  rv  r}  r  r  r  r  r  r  r  r  r  r  r  r   cpython_onlyr  rf   rg   rs   s   @r   r   r   "   s    T01,9\*	D;
%BYL"	B<	%	'4: )VN	8+?H&8(
A'&0@7;	>"%IN,
2++++	^)V 	1 	1rL   r   c                   :   a  ] tR tRt o ^ t^tR tR tR tRt	V t
R# )_TriggerSideEffectOnEquali  c                    V P                   P                  V P                   P                  8X  d   V P                  4        V P                   ;P                  ^,          un        R# )r%   T)	__class__counttriggerside_effectr_  s   &&r   r`   _TriggerSideEffectOnEqual.__eq__  sB    >>4>>#9#99!rL   c                    R# )r%   r   r0   r   s   &r   rZ  "_TriggerSideEffectOnEqual.__hash__  s    	rL   c                    \         hr   )NotImplementedErrorr   s   &r   r  %_TriggerSideEffectOnEqual.side_effect  s    !!rL   r0   N)rb   rc   rd   re   r  r  r`  rZ  r  rf   rg   rs   s   @r   r  r    s#     EG" "rL   r  c                   B   a  ] tR tRt o ]t]P                  tR tRtV t	R# )PurePythonOrderedDictTestsi  c                :  aa  ! VV3R  lR\         4      pV! 4       oV P                  \        P                  ^ SR34      4      oV P                  \        P                  ^ V! 4       R34      4      p\        P
                  ! R4      pV P                  \        V\        P                  SV4       V P                  VP                  ^4       V P                  S\        P                  R4      4       V P                  V\        P                  ^ V! 4       R34      4       R# )c                   0   <a  ] tR tRt o VV3R ltRtV tR# )HPurePythonOrderedDictTests.test_issue119004_attribute_error.<locals>.Keyi   c                   < SS R # r   r0   r   TODELdict1s   &r   r  TPurePythonOrderedDictTests.test_issue119004_attribute_error.<locals>.Key.side_effect  
    %LrL   r0   Nrb   rc   rd   re   r  rf   rg   rh   r  r  s   @r   re  r          ! !rL   re  @z('NoneType' object has no attribute 'key'Nr   r  )r  r<   rA   r|   reescapeassertRaisesRegexr^  operatoreqr?   r  assertDictEqual)r   re  dict2r   r  r  s   &   @@r    test_issue119004_attribute_error;PurePythonOrderedDictTests.test_issue119004_attribute_error  s    	! 	!+ 	!   5#!?@  35#!?@iiBC~sHKKNA&UDMM($;<UDMM1ceS/$BCrL   r0   N)
rb   rc   rd   re   py_collr   r<   r  rf   rg   rs   s   @r   r  r    s!     F%%KD DrL   r  c                   "    ] tR tRtRt]t]tRt	R# )CPythonBuiltinDictTestsi  zYBuiltin dict preserves insertion order.

Reuse some of tests in OrderedDict selectively.
r0   N)
rb   rc   rd   re   __doc__builtinsr   rA   r<   rf   r0   rL   r   r  r    s    
 FKrL   r  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
CPythonOrderedDictSideEffectsi"  c                ~    \         P                  ! R 4      pV P                  \        V\        P
                  W4       R# )z$OrderedDict mutated during iterationN)r  r  r  RuntimeErrorr  r  )r   r  r  r   s   &&& r   check_runtime_error_issue119004=CPythonOrderedDictSideEffects.check_runtime_error_issue119004$  s)    ii>?|S(++uLrL   c                  a  ! V3R  lR\         4      pV P                  \        P                  ^ V! 4       R34      4      oV P                  \        P                  ^ V! 4       R34      4      pV P	                  SV4       V P                  VP                  ^4       V P                  S/ 4       V P                  V\        P                  ^ V! 4       R34      4       R# )c                   .   <a  ] tR tRt o V3R ltRtV tR# )PCPythonOrderedDictSideEffects.test_issue119004_change_size_by_clear.<locals>.Keyi)  c                (   < SP                  4        R # r   r   r   r  s   &r   r  \CPythonOrderedDictSideEffects.test_issue119004_change_size_by_clear.<locals>.Key.side_effect*  s    rL   r0   Nr  rh   r  s   @r   re  r  )  s      rL   re  r  Nr  r<   rA   r|   r  r?   r  r  r   re  r  r  s   &  @r   %test_issue119004_change_size_by_clearCCPythonOrderedDictSideEffects.test_issue119004_change_size_by_clear(  s    	+ 	   35#!?@  35#!?@,,UE:A&UB'UDMM1ceS/$BCrL   c                  aa  ! VV3R  lR\         4      pV! 4       oV P                  \        P                  ^ SR34      4      oV P                  \        P                  ^ V! 4       R34      4      pV P	                  SV4       V P                  VP                  ^4       V P                  S\        P                  R4      4       V P                  V\        P                  ^ V! 4       R34      4       R# )c                   0   <a  ] tR tRt o VV3R ltRtV tR# )UCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key.<locals>.Keyi5  c                   < SS R # r   r0   r  s   &r   r  aCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key.<locals>.Key.side_effect6  r  rL   r0   Nr  r  s   @r   re  r  5  r  rL   re  r  Nr  r  r   re  r  r  r  s   &  @@r   *test_issue119004_change_size_by_delete_keyHCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key4  s    	! 	!+ 	!   5#!?@  35#!?@,,UE:A&UDMM($;<UDMM1ceS/$BCrL   c                  a  ! V3R  lR\         4      pV P                  \        P                  ^ V! 4       R34      4      oV P                  \        P                  ^ V! 4       R34      4      pV P	                  SV4       V P                  VP                  ^4       V P                  S\        P                  RR4      4       V P                  V\        P                  ^ V! 4       R34      4       R# )c                   .   <a  ] tR tRt o V3R ltRtV tR# )WCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_clear.<locals>.KeyiB  c                <   < SP                  4        R ;SR&   SR&   R# )r   r   r'   Nr  r  s   &r   r  cCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_clear.<locals>.Key.side_effectC  s    *--c
U3ZrL   r0   Nr  r  s   @r   re  r	  B  s     . .rL   re  r  r   N)r   r'   r  r  s   &  @r   ,test_issue119004_change_linked_list_by_clearJCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_clearA  s    	.+ 	.
   35#!?@  35#!?@,,UE:A&UDMM*c$BCUDMM1ceS/$BCrL   c           	       aa  ! VV3R  lR\         4      pV! 4       oV P                  \        P                  ^ SR34      4      oV P                  \        P                  ^ V! 4       R34      4      pV P	                  SV4       V P                  VP                  ^4       V P                  S^ RRRRR/4       V P                  V\        P                  ^ V! 4       R34      4       R# )c                   0   <a  ] tR tRt o VV3R ltRtV tR# )\CPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_delete_key.<locals>.KeyiO  c                   < SS R SR&   R# )r   r   Nr0   r  s   &r   r  hCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_delete_key.<locals>.Key.side_effectP  s    %L c
rL   r0   Nr  r  s   @r   re  r  O  s     ! !rL   re  r  Nr   r   r  r  s   &  @@r   1test_issue119004_change_linked_list_by_delete_keyOCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_delete_keyN  s    	! 	!+ 	!
   5#!?@  35#!?@,,UE:A&UQc3T$BCUDMM1ceS/$BCrL   c                  aa  ! VV3R  lR\         4      pV! 4       oV P                  \        P                  ^ SR34      4      oV P                  \        P                  ^ V! 4       R34      4      pV P	                  VP
                  ^ 4       V P                  SV4       V P	                  VP
                  ^4       V P                  S\        P                  R4      4       V P                  V\        P                  ^ V! 4       R34      4       R# )c                   4   <a  ] tR tRt o ^ tVV3R ltRtV tR# )`CPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key_in_dict_eq.<locals>.Keyi]  c                   < SS R # r   r0   r  s   &r   r  lCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key_in_dict_eq.<locals>.Key.side_effect_  r  rL   r0   N)rb   rc   rd   re   r  r  rf   rg   r  s   @r   re  r  ]  s     G! !rL   re  r  Nr  )r  r<   rA   r|   r?   r  r   r  r  s   &  @@r   5test_issue119004_change_size_by_delete_key_in_dict_eqSCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key_in_dict_eq\  s    	! 	!+ 	!
   5#!?@  35#!?@A&E5)A&UDMM($;<UDMM1ceS/$BCrL   r0   N)rb   rc   rd   re   r  r  r  r  r  r  rf   rg   rs   s   @r   r  r  "  s/     M
DDDDD DrL   r  z0requires the C version of the collections modulec                      a  ] tR tRt o ]t]P                  t]P                  t]P                  R 4       t
R tR t]P                  R 4       tRtV tR# )CPythonOrderedDictTestsim  c                f   V P                   p\        P                  p\        P                  pV P
                  pV! R4      pV! R4      pV! R4      pV! R4      pV! R4      p	V! 4       p
V! W4       ^V
n        V! W4       T
P                  \        ^4       Uu. uF  qV3NK  	  up4       V! WV,           ^V,          ,           ^,           ^V,          ,           ^V	,          ,           4       T
P                  \        ^^
4       Uu. uF  qV3NK  	  up4       V! WV,           ^V,          ,           ^,           ^
V,          ,           ^
V	,          ,           4       V! V
P                  4       V! R4      4       V! V
P                  4       V! R4      4       V! V
P                  4       V! R4      4       V! R4      pV! \        V
4      V4       V! \        V
P                  4       4      V4       V! \        V
P                  4       4      V4       V! \        V
P                  4       4      V4       R# u upi u upi )nQ2Pn2BI2nn2PPPn2PiP2n2PNnQ2P3PnPn2P)r<   structcalcsizer   calcobjsizecheck_sizeofr   rR   r   rZ   rB   r   r   )r   r<   r'  sizer   	basicsizekeysize	entrysizepnodesizerS   r   itersizes   &            r   test_sizeof_exact)CPythonOrderedDictTests.test_sizeof_exactv  s   &&??""!!+,	8$UO	SMF#]bb
		58,8aq68,-bg%!+a/!I+=(
JK
		5B<0<aq6<01bg%1,r1ByL@2h;NObggic#bhhj$s)$biik49%>d2h!d2779ox(d288:)d299;* -0s   H)H.c                   V P                   pVP                  R 4      pV P                  \        V4      \        R 4      4       V P	                  \
        4      ;_uu_ 4        \        V4       F(  w  r4VP                  V4       V P                  V^4       K*  	  RRR4       V P	                  \
        4      ;_uu_ 4        V F  pRVR&   K
  	  RRR4       V P	                  \
        4      ;_uu_ 4        V F  pVR K  	  RRR4       V P                  \        V4      \        R4      4       R#   + '       g   i     L; i  + '       g   i     L{; i  + '       g   i     L\; i)r!  Nr8   r   bdeaf)	r<   r|   r?   rC   r=   r  	enumerater%  
assertLess)r   r<   rS   r   r   s   &    r    test_key_change_during_iteration8CPythonOrderedDictTests.test_key_change_during_iteration  s    &&!!'*b4=1|,,!"q!1% & - |,,3  - |,,sG  - 	b4=1 -, -, -,s$   8D+<D>0E+D;	>E	E!	c           	     B   V P                   p. ROpV! V4      pR F  p\        W44      p\        V! 4       4      R,          p\        \        P
                  ^,           4       F  pV P                  WGR7      ;_uu_ 4        \        V! 4       4      p\        V4       \        P                  ! W4      p	\        P                  ! V	4      p
V P                  \        V
4      V4       V P                  \        V4      V4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)r   :r%   NN)method_nameprotocolNr   )rZ   r   rB   )r<   getattrrC   r   r   r   r   r   r   r   r   r?   )r   r<   rE   rS   r:  methr  r   r   r.  	unpickleds   &          r   test_iterators_pickling/CPythonOrderedDictTests.test_iterators_pickling  s    &&L6K2+DDF|B'H622Q67\\k\FFdfBHR+A &QI$$T)_h?$$T"Xx8 GF 8 7 GFFs   =A>D	Dc                    \         P                  ! 4        V P                  4       pWn        . pVP	                  V4       \
        P                  ! V4      pVP	                  V4       ???\         P                  ! 4        R # r   )r  r  r<   cycler\   r  r  )r   r   rB  x_refs   &   r   "test_weakref_list_is_not_traversed:CPythonOrderedDictTests.test_weakref_list_is_not_traversed  sZ    
 	

UAUue


rL   r0   N)rb   rc   rd   re   c_collr   r<   r   r)  r  r1  r7  r?  rD  rf   rg   rs   s   @r   r  r  m  s_     
 F$$K''L+ +@2"9"  rL   r  c                   D    ] tR tRt]t ! R R]P                  4      tRtR# )"PurePythonOrderedDictSubclassTestsi  c                       ] tR tRtRtR# ).PurePythonOrderedDictSubclassTests.OrderedDicti  r0   Nrb   rc   rd   re   rf   r0   rL   r   r<   rJ        rL   r<   r0   N)rb   rc   rd   re   r  r   r<   rf   r0   rL   r   rH  rH    s    Fg))  rL   rH  c                   D    ] tR tRt]t ! R R]P                  4      tRtR# )CPythonOrderedDictSubclassTestsi  c                       ] tR tRtRtR# )+CPythonOrderedDictSubclassTests.OrderedDicti  r0   NrK  r0   rL   r   r<   rP    rL  rL   r<   r0   N)rb   rc   rd   re   rF  r   r<   rf   r0   rL   r   rN  rN    s    Ff((  rL   rN  c                   \    ] tR tRt]t ! R R]P                  4      t]P                  tRt	R# )*PurePythonOrderedDictWithSlotsCopyingTestsi  c                       ] tR tRtRtRtR# )6PurePythonOrderedDictWithSlotsCopyingTests.OrderedDicti  r0   Nr   r   rb   rc   rd   re   	__slots__rf   r0   rL   r   r<   rT        	rL   r<   r0   N)
rb   rc   rd   re   r  r   r<   r   r   rf   r0   rL   r   rR  rR    s$    Fg)) #00LrL   rR  c                   \    ] tR tRt]t ! R R]P                  4      t]P                  tRt	R# )'CPythonOrderedDictWithSlotsCopyingTestsi  c                       ] tR tRtRtRtR# )3CPythonOrderedDictWithSlotsCopyingTests.OrderedDictrC  r0   NrU  rV  r0   rL   r   r<   r\    rX  rL   r<   r0   N)
rb   rc   rd   re   rF  r   r<   r   r   rf   r0   rL   r   rZ  rZ    s&     Ff(( #00LrL   rZ  c                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )PurePythonGeneralMappingTestsi  c                0    \         P                  V n        R # r   r  r<   	type2testclss   &r   
setUpClass(PurePythonGeneralMappingTests.setUpClass  s    ++rL   c                f    V P                  4       pV P                  \        VP                  4       R # r   _empty_mappingr=   r   r   r   r#   s   & r   r   *PurePythonGeneralMappingTests.test_popitem  $    !(AII.rL   r0   N	rb   rc   rd   re   classmethodrd  r   rf   rg   rs   s   @r   r^  r^    s!     , ,/ /rL   r^  c                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )CPythonGeneralMappingTestsi  c                0    \         P                  V n        R # r   rF  r<   ra  rb  s   &r   rd  %CPythonGeneralMappingTests.setUpClass  s    **rL   c                f    V P                  4       pV P                  \        VP                  4       R # r   rg  ri  s   & r   r   'CPythonGeneralMappingTests.test_popitem  rk  rL   r0   Nrl  rs   s   @r   ro  ro    s#      + +/ /rL   ro  c                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )PurePythonSubclassMappingTestsi  c                D     ! R  R\         P                  4      pWn        R# )c                       ] tR tRtRtR# )@PurePythonSubclassMappingTests.setUpClass.<locals>.MyOrderedDicti  r0   NrK  r0   rL   r   MyOrderedDictry        rL   rz  Nr`  rc  rz  s   & r   rd  )PurePythonSubclassMappingTests.setUpClass  s    	G// 	%rL   c                f    V P                  4       pV P                  \        VP                  4       R # r   rg  ri  s   & r   r   +PurePythonSubclassMappingTests.test_popitem  rk  rL   r0   Nrl  rs   s   @r   rv  rv    s!     & &
/ /rL   rv  c                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )CPythonSubclassMappingTestsi  c                D     ! R  R\         P                  4      pWn        R# )c                       ] tR tRtRtR# )=CPythonSubclassMappingTests.setUpClass.<locals>.MyOrderedDicti  r0   NrK  r0   rL   r   rz  r    r{  rL   rz  Nrq  r|  s   & r   rd  &CPythonSubclassMappingTests.setUpClass  s    	F.. 	%rL   c                f    V P                  4       pV P                  \        VP                  4       R # r   rg  ri  s   & r   r   (CPythonSubclassMappingTests.test_popitem  rk  rL   r0   Nrl  rs   s   @r   r  r    s#      & &
/ /rL   r  c                   V   a a ] tR tRt oV 3R ltV 3R ltV 3R ltV 3R ltRtVt	V ;t
# )SimpleLRUCachei  c                f   < \         SV `  4        Wn        \        P	                  R^ 4      V n        R# )getN)r  setdel)superrD   r*  rA   r|   counts)r   r*  r  s   &&r   rD   SimpleLRUCache.__init__!  s&    	mm$91=rL   c                   < V P                   R ;;,          ^,          uu&   \        SV `	  V4      pV P                  V4       V# )r  )r  r  __getitem__r%  )r   itemr{   r  s   && r   r  SimpleLRUCache.__getitem__&  s9    Ea#D)rL   c                   < V P                   R ;;,          ^,          uu&   W9  d/   \        V 4      V P                  8  d   V P                  RR7       K4  \        SV `  W4       V P                  V4       R# )r  Fr   N)r  r   r*  r   r  r  r%  )r   r   r{   r  s   &&&r   r  SimpleLRUCache.__setitem__,  sT    Eao#d)tyy"8LLeL$C'rL   c                d   < V P                   R ;;,          ^,          uu&   \        SV `	  V4       R# )r  N)r  r  r  )r   r   r  s   &&r   r  SimpleLRUCache.__delitem__3  s$    EaC rL   )r  r*  )rb   rc   rd   re   rD   r  r  r  rf   rg   __classcell__)r  rh   s   @@r   r  r    s     >
! !rL   r  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )SimpleLRUCacheTestsi8  c           	        V P                  ^4      p^VR&   ^VR&   ^VR&   V P                  VP                  R^ R^R^ /4       V P                  \        V4      RR.4       V P                  VP                  R^ R^R^ /4       R# )r(   t1t2t3r  r  r  N)ra  r?   r  rC   )r   r   s   & r   test_add_after_full'SimpleLRUCacheTests.test_add_after_full:  s    NN1$$$E1eQq#ABa4,/E1eQq#ABrL   c           	     "   V P                  ^4      p\        ^^4       F  pW!V&   K	  	  V P                  VP                  RR7      R4       V P                  VP                  RR7      R	4       V P                  VP                  R^ R^R^ /4       R# )
r-   Fr   Tr  r  r  N)r%   r%   )r-   r-   )ra  r   r?   r   r  r   r   r   s   &  r   r    SimpleLRUCacheTests.test_popitemC  s~    NN1q!AaD .7-v6E1eQq#ABrL   c           	     .   V P                  ^4      p\        ^^4       F  pW!V&   K	  	  V P                  VP                  R^ R^R^ /4       V P                  VP	                  ^4      ^4       V P                  VP                  R^ R^R^ /4       V P                  VP	                  ^^ 4      ^ 4       V P                  VP                  R^ R^R^ /4       V P                  \        VP                  ^4       V P                  VP                  R^ R^R^ /4       R# )r-   r  r  r  N)ra  r   r?   r  r   r=   r   r  s   &  r   r   SimpleLRUCacheTests.test_popK  s    NN1q!AaD E1eQq#ABq1%E1eQq#ABq!a(E1eQq#AB(AEE1-E1eQq#ABrL   c           	        V P                  ^4      p\        ^^4       F  pW!V&   K	  	  V P                  \        V4      \        \        ^^4      4      4       V P                  VP                  R^ R^R^ /4       V P                  V^,          ^4       V P                  VP                  R^R^R^ /4       V P                  \        V4      . RO4       R# )r-   r  r  r  N)r%   r-   r(   )ra  r   r?   rC   r  r  s   &  r   test_change_order_on_get,SimpleLRUCacheTests.test_change_order_on_getW  s    NN1q!AaD a$uQ{"34E1eQq#AB1q!E1eQq#ABa),rL   r0   N)
rb   rc   rd   re   r  r   r   r  rf   rg   rs   s   @r   r  r  8  s!     CC
C- -rL   r  c                   B    ] tR tRt ! R R]]P                  4      tRtR# )PySimpleLRUCacheTestsib  c                       ] tR tRtRtR# )PySimpleLRUCacheTests.type2testid  r0   NrK  r0   rL   r   ra  r  d  rL  rL   ra  r0   N)	rb   rc   rd   re   r  r  r<   ra  rf   r0   rL   r   r  r  b  s    NG$7$7  rL   r  c                   0   a  ] tR tRt o ]R 4       tRtV tR# )CSimpleLRUCacheTestsih  c                N     ! R  R\         \        P                  4      pWn        R# )c                       ] tR tRtRtR# )2CSimpleLRUCacheTests.setUpClass.<locals>.type2testim  r0   NrK  r0   rL   r   ra  r  m  r{  rL   ra  N)r  rF  r<   ra  )rc  ra  s   & r   rd  CSimpleLRUCacheTests.setUpClassk  s    	(:(: 	!rL   r0   N)rb   rc   rd   re   rm  rd  rf   rg   rs   s   @r   r  r  h  s      " "rL   r  __main__ztest_init test_update test_abc test_clear test_delitem test_setitem test_detect_deletion_during_iteration test_popitem test_reinsert test_override_update test_highly_nested test_highly_nested_subclass test_delitem_hash_collision )5r  
contextlibr   r  r  r   r  randomr   r   r&  r   unittestr  collections.abcr   testr   r   test.supportr   import_fresh_moduler  rF  contextmanagerr   r   r  TestCaser  r  r5  methodsetattrr<  r  
skipUnlessr  rH  rN  rR  rZ  BasicTestMappingProtocolr^  ro  rv  r  r  r  r  r  rb   mainr0   rL   r   <module>r     s      	   	 %  
   * ' & 
+
+M5C4DF		*	*=2@1A
C , ,D1 D1N" ""D!183D3D D*h// # %*EG,F #VW5Ev-NO, HD HDV 
VOP].;&//] Q]@)C &= 11B1B 1 
VOP1h.?.? 1 Q1/M$J$J / 
VOP/!G!G / Q/
/]%K%K 
/ 
VOP
/-"H"H 
/ Q
/! !2'- '-T/1B1B  
VOP".0A0A " Q" zMMO rL   