+
    Bi%                         ^ 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	H
t
 R tR t ! R R]4      t ! R R	]P                  4      t]R
8X  d   ]P$                  ! 4        R# R# )    N)loadsdumps)supportc                 h    \        V R 4      '       d   \        P                  ! V 4      # \        R4      h)	__index__zBslice indices must be integers or None or have an __index__ method)hasattroperatorindex	TypeError)args   &&/usr/lib/python3.14/test/test_slice.pyevaluate_slice_indexr      s2     sK  ~~c""/0 	0    c                 N   \         P                  ! V4      pV P                  f   ^M\        V P                  4      pV^ 8  d   \	        R4      hV^ 8X  d   \	        R4      hV^ 8  d   RM^ pV^ 8  d
   V^,
          MTpV P
                  f   V^ 8  d   TMTpM9\        V P
                  4      pV^ 8  d   \        WQ,           V4      M
\        WT4      pV P                  f   V^ 8  d   TMTpM9\        V P                  4      pV^ 8  d   \        Wa,           V4      M
\        Wd4      pWVV3# )Nzlength should not be negativezslice step cannot be zero)	r	   r
   stepr   
ValueErrorstartmaxminstop)slicelengthr   lowerupperr   r   s   &&     r   slice_indicesr      s    ^^F#F

"1(<UZZ(HD z899qy455 (BE(FQJE {{u$U[[1.3aiENE*S=N zzque#EJJ/,01Hs4=%(#d:Jr   c                   ,   a  ] tR t^At o R tR tRtV tR# )MyIndexablec                    Wn         R # Nvalue)selfr"   s   &&r   __init__MyIndexable.__init__B   s    
r   c                    V P                   # r    r!   r#   s   &r   r   MyIndexable.__index__E   s    zzr   r!   N)__name__
__module____qualname____firstlineno__r$   r   __static_attributes____classdictcell____classdict__s   @r   r   r   A   s      r   r   c                   h   a  ] tR t^It 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V tR# )	SliceTestc                v    V P                  \        \        4       V P                  \        \        ^^^^4       R#    N)assertRaisesr   r   r'   s   &r   test_constructorSliceTest.test_constructorK   s*    )U+)UAq!Q7r   c           	     R    V P                  \        \        ^^^4      4      R4       R# )r5   zslice(1, 2, 3)N)assertEqualreprr   r'   s   &r   	test_reprSliceTest.test_reprO   s     eAq!n-/?@r   c           	        V P                  \        \        ^4      4      \        ^4      P                  4       4       V P                  \        \        ^^4      4      \        ^^4      P                  4       4       V P                  \        \        ^^^4      4      \        ^^^4      P                  4       4       V P	                  \        ^4      \        ^4      4       V P                  \        4      ;_uu_ 4        \        \        ^^. 4      4       RRR4       V P                  \        4      ;_uu_ 4        \        \        ^/ 4      4       RRR4       R#   + '       g   i     LM; i  + '       g   i     R# ; i)   N)r:   hashr   __hash__assertNotEqualr6   r   r'   s   &r   	test_hashSliceTest.test_hashR   s    eAhq):):)<=eAqk*E!QK,@,@,BCeAq!n-uQ1~/F/F/HIE!HeAh/y))q!R! * y))q" *) *) *))s   9E5E(E%	(E9	c                  aaa \        ^^^4      o\        ^^^4      o\        ^^^4      pV P                  SS4       V P                  SV4       V P                  SR4       V P                  SR
4       V P                  SR4        ! R R\        4      o ! V3R lR\        4      p\        V! 4       4      o\        V! 4       4      oV P                  SS4       V P                  SVV3R l4       \        ^V! 4       4      o\        ^V! 4       4      oV P                  SS4       V P                  SVV3R l4       \        ^^V! 4       4      o\        ^^V! 4       4      oV P                  SS4       V P                  SVV3R	 l4       R# )r5   N c                       ] tR t^htRtR# )SliceTest.test_cmp.<locals>.Exc Nr)   r*   r+   r,   r-   rI   r   r   ExcrH   h       r   rK   c                   .   <a  ] tR t^kt o V3R ltRtV tR# )"SliceTest.test_cmp.<locals>.BadCmpc                   < Shr    rI   )r#   otherrK   s   &&r   __eq__)SliceTest.test_cmp.<locals>.BadCmp.__eq__l   s    	r   rI   N)r)   r*   r+   r,   rQ   r-   r.   )r0   rK   s   @r   BadCmprN   k   s      r   rS   c                     < S S8H  # r    rI   s1s2s   r   <lambda>$SliceTest.test_cmp.<locals>.<lambda>r   	    rRxr   c                     < S S8H  # r    rI   rU   s   r   rX   rY   w   rZ   r   c                     < S S8H  # r    rI   rU   s   r   rX   rY   |   rZ   r   )r5         )r   r:   rB   	Exceptionobjectr6   )r#   s3rS   rK   rV   rW   s   &  @@@r   test_cmpSliceTest.test_cmp^   sI   1a^1a^1a^R B#B%B	*B#	) 		V 	 68_68_R #/01fh1fhR #/01a"1a"R #/0r   c                   \        ^4      pV P                  VP                  R4       V P                  VP                  ^4       V P                  VP                  R4       \        ^^4      pV P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  R4       \        ^^^4      pV P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  ^4        ! R R4      pV! 4       p\        V4      pV P                  VP                  VJ 4       R# )r5   Nc                       ] tR t^tRtR# )(SliceTest.test_members.<locals>.AnyClassrI   NrJ   rI   r   r   AnyClassrf      rL   r   rg   )r   r:   r   r   r   
assertTrue)r#   srg   objs   &   r   test_membersSliceTest.test_members~   s   !H$'#&!QK!$#&!QN!$##	 	 j#J#&r   c                ^    VP                  V4      p \        W4      pV P                  W44       V^ 8  dQ   VP                  ^ 8w  d>   \        VP                  V4      !  p\        V4      V,          pV P                  W44       R# R# R#   \         d    R p Li ; i  \         d    R p Li ; i)
valueerrorN)indicesr   r   r:   r   range)r#   r   r   actualexpecteds   &&&  r   check_indicesSliceTest.check_indices   s    	"]]6*F	$$U3H 	*Q;5::?EMM&12FV}U+HV. +;  	"!F	"  	$#H	$s"   B	 B 	BBB,+B,c                2   V P                  \        R 4      P                  ^
4      R4       V P                  \        R R ^4      P                  ^
4      R4       V P                  \        ^R ^4      P                  ^
4      R4       V P                  \        R R R	4      P                  ^
4      R
4       V P                  \        R R R4      P                  ^
4      R4       V P                  \        ^R R4      P                  ^
4      R4       V P                  \        R R4      P                  ^
4      R4       V P                  \        R R4      P                  ^
4      R4       V P                  \        R R4      P                  ^
4      R4       V P                  \        R RR	4      P                  ^
4      R4       V P                  \        R RR	4      P                  ^
4      R
4       V P                  \        R RR	4      P                  ^
4      R
4       V P                  \        R ^	4      P                  ^
4      R4       V P                  \        R ^
4      P                  ^
4      R4       V P                  \        R ^4      P                  ^
4      R4       V P                  \        R ^R	4      P                  ^
4      R4       V P                  \        R ^	R	4      P                  ^
4      R4       V P                  \        R ^
R	4      P                  ^
4      R4       V P                  \        R^d4      P                  ^
4      \        R 4      P                  ^
4      4       V P                  \        ^dRR	4      P                  ^
4      \        R R R	4      P                  ^
4      4       V P                  \        R^d^4      P                  ^
4      R4       V P                  \        \	        ^
4      4      R R \
        P                  ^,
          1,          ^ .4       R ^^d,          ) RRRR	^ ^^^5R^^d,          .p^ ^^^5R^^d,          .p\        P                  ! V^R7       F&  p\        V!  pV F  pV P                  WE4       K  	  K(  	  V P                  \        ^ ^
^4      R4       V P                  \        4      ;_uu_ 4        \        R 4      P                  R	4       R R R 4       V P                  \        4      ;_uu_ 4        \        ^ ^
^ 4      P                  ^4       R R R 4       V P                  \        4      ;_uu_ 4        \        R^
^4      P                  ^4       R R R 4       V P                  \        4      ;_uu_ 4        \        ^ R^4      P                  ^4       R R R 4       V P                  \        4      ;_uu_ 4        \        ^ ^
R4      P                  ^4       R R R 4       V P                  \        4      ;_uu_ 4        \        ^ ^
^4      P                  R4       R R R 4       V P                  \        ^ ^
^4      P                  ^4      R4       V P                  \        \        ^ 4      ^
^4      P                  ^4      R4       V P                  \        ^ \        ^
4      ^4      P                  ^4      R4       V P                  \        ^ ^
\        ^4      4      P                  ^4      R4       V P                  \        ^ ^
^4      P                  \        ^4      4      R4       R #   + '       g   i     EL]; i  + '       g   i     EL/; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELw; i)N)repeatg        g      $@g      ?g      @)r   
   r5   )r   rw   r]   )r5   rw   r]   r   )	   r   r   )rx   r   ry   )r^   r   ry   i)r   r5   r5   i)r   r   r5   i)rx   r   r   i)r   rx   r5   )rx      r   )rx   rx   r   ii   @i   ii)r   r?   r5   )r:   r   ro   listrp   sysmaxsize	itertoolsproductrs   r6   r   r   r   )r#   valslengths
slice_argsri   r   s   &     r   test_indicesSliceTest.test_indices   s   t/77;[ItdQ/77;[IqdQ/77;[ItdB/77;[ItdB/77;[IqdB/77;[ItR004i@tS)11"5yAtS)11"5yAtS"-55b9:FtS"-55b9;GtS"-55b9;GtQ//3Y?tR004jAtR004jAtQ+33B7DtQ+33B7DtR,44R8*E$"**2.$K#	
 	#r"**2.$b!))"-	
 	tS!,44R8+FeBi):3;;?):;aSA q#vgvsBAq!R3OaBq#v.#++D;Jz"A!""1- " < 	5B?B/ z**$K# + z**!RO##A& +
 y))#r1%%a( *y))!T1%%a( *y))!R%%a( *y))!RO##C( * 	q"a003Y?{1~r15==a@)Lq+b/15==a@)Lq"k!n5==a@)Lq"a00Q@)L/ +** +**
 *)))))))))))sH   2\!2\54]	6]8]1:^!\2	5]		]	].	1^	^	c                   a . o ! V3R  lR\         4      pV! 4       p^*VR&   V P                  S\        ^^4      ^*3.4       R# )c                   .   <a  ] tR t^t o V3R ltRtV tR# )3SliceTest.test_setslice_without_getslice.<locals>.Xc                ,   < SP                  W34       R # r    )append)r#   iktmps   &&&r   __setitem__?SliceTest.test_setslice_without_getslice.<locals>.X.__setitem__   s    

A6"r   rI   N)r)   r*   r+   r,   r   r-   r.   )r0   r   s   @r   Xr      s     # #r   r   :r5   r]   NN)r`   r:   r   )r#   r   xr   s   &  @r   test_setslice_without_getslice(SliceTest.test_setslice_without_getslice   sD    	# 	# C#aR012r   c                `   ^ RI p\        ^
^^4      p\        VP                  ^,           4       F|  p\	        \        W#4      4      pV P                  W$4       V P                  VP                  ^4      VP                  ^4      4       V P                  \        V4      \        V4      4       K~  	  R# )r   N)
pickler   rp   HIGHEST_PROTOCOLr   r   r:   ro   rB   id)r#   r   ri   protocolts   &    r   test_pickleSliceTest.test_pickle   s    "b!f559:HeA()AQ"QYYr]AIIbM:1r!u-	 ;r   c                ,   \        ^^
4      p\        P                  ! V4      pV P                  W4       \        ^^
^4      p\        P                  ! V4      pV P                  W4       \        ^^.^^.^^.4      p\        P                  ! V4      pV P                  W4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP
                  VP
                  4       R# r4   )r   copyassertIsr   r   r   r#   ri   cs   &  r   	test_copySliceTest.test_copy   s    !RLIIaLa!ROIIaLa 1a&1a&1a&)IIaLaaggqww'affaff%affaff%r   c                N   \        ^^
4      p\        P                  ! V4      pV P                  W4       \        ^^
^4      p\        P                  ! V4      pV P                  W4       \        ^^.^^.^^.4      p\        P                  ! V4      pV P	                  W4       V P                  W4       V P	                  VP
                  VP
                  4       V P	                  VP                  VP                  4       V P	                  VP                  VP                  4       R# r4   )r   r   deepcopyr:   assertIsNotr   r   r   r   s   &  r   test_deepcopySliceTest.test_deepcopy  s    !RLMM!!ROMM! 1a&1a&1a&)MM!!''*((r   c                     ! R  R4      pV! 4       p\        V4      Vn        \        P                  ! V4      pRp\        P
                  ! 4        V P                  V! 4       4       R# )c                       ] tR tRtRtR# )#SliceTest.test_cycle.<locals>.myobji"  rI   NrJ   rI   r   r   myobjr   "  s    tr   r   N)r   ri   weakrefrefr   
gc_collectassertIsNone)r#   r   ows   &   r   
test_cycleSliceTest.test_cycle!  sH    GAhKKN!#r   rI   N)r)   r*   r+   r,   r7   r<   rC   rb   rk   rs   r   r   r   r   r   r   r-   r.   r/   s   @r   r2   r2   I   sK     8A
1@'./ CMJ3.&")$ r   r2   __main__)r   r	   r}   unittestr   r   r   r   r   testr   r   r   r`   r   TestCaser2   r)   mainrI   r   r   <module>r      sc      
     0!L& _!! _B zMMO r   