+
    Bi                       R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ 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 ^ RIHtHt ^ RIHt  ^ RItR tR t ! R R]4      t ! R	 R
]4      t ! R R4      t ! R R4      t ! R R]P:                  ]P<                  ]P>                  4      t  ! R R]P>                  4      t!]"R8X  d   ]PF                  ! 4        R# R#   ] d    Rt Li ; i)zTest script for the Unicode implementation.

Written by Marc-Andre Lemburg (mal@lemburg.com).

(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.

N)warnings_helper)supportstring_tests)assert_python_failurec                 ^    RR lpRR lpRR lpRR lpV R8X  d   W!RR3# V R8X  d   W4RR3# R# )	strictc                     ^*# *    inputerrorss   &&$/usr/lib/python3.14/test/test_str.pydecode1 search_function.<locals>.decode1           c                     ^*# r	   r   r   s   &&r   encode1 search_function.<locals>.encode1!   r   r   c                     R# r
   )r
   r
   r   r   s   &&r   encode2 search_function.<locals>.encode2#       r   c                     R# r   r   r   s   &&r   decode2 search_function.<locals>.decode2%   r   r   test.unicode1Ntest.unicode2)r   r   )encodingr   r   r   r   s   &    r   search_functionr"      sC     $--	?	"$--r   c                >    V P                  4       P                  4       # )z
Try to get a fresh clone of the specified text:
new object with a reference count of 1.

This is a best-effort: latin1 single letters and the empty
string ('') are singletons and cannot be cloned.
)encodedecode)texts   &r   duplicate_stringr'   .   s     ;;=!!r   c                       ] tR t^8tRtR# )StrSubclassr   N__name__
__module____qualname____firstlineno____static_attributes__r   r   r   r)   r)   8       r   r)   c                       ] tR t^;tRtR# )OtherStrSubclassr   Nr*   r   r   r   r2   r2   ;   r0   r   r2   c                   ,   a  ] tR t^>t o R tR tRtV tR# )WithStrc                    Wn         R # Nvalueselfr8   s   &&r   __init__WithStr.__init__?       
r   c                    V P                   # r6   r7   r:   s   &r   __str__WithStr.__str__A       zzr   r7   Nr+   r,   r-   r.   r;   r@   r/   __classdictcell____classdict__s   @r   r4   r4   >         r   r4   c                   ,   a  ] tR t^Dt o R tR tRtV tR# )WithReprc                    Wn         R # r6   r7   r9   s   &&r   r;   WithRepr.__init__E   r=   r   c                    V P                   # r6   r7   r?   s   &r   __repr__WithRepr.__repr__G   rB   r   r7   Nr+   r,   r-   r.   r;   rM   r/   rD   rE   s   @r   rI   rI   D   rG   r   rI   c                     a a ] tR t^Jt o]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]P:                  ! ]P>                  Rr8  R4      R 4       t R t!]"PF                  R 4       t$R t%R t&R t'V 3R lt(V 3R lt)V 3R  lt*V 3R! lt+]"PX                  ! R"4      R# 4       t-V 3R$ lt.V 3R% lt/V 3R& lt0R' t1V 3R( lt2R) t3R* t4R+ t5]"PX                  ! R"4      R, 4       t6R- t7R. t8R/ t9R0 t:R1 t;V 3R2 lt<R3 t=R4 t>]P~                  ! ]P>                  Rs8H  R54      ]"PF                  R6 4       4       t@R7 tAR8 tBR9 tCR: tDR; tER< tFR= tGR> tHR? tIR@ tJRA tKRB tL]"PF                  ]P:                  ! ]MRCJ RD4      RE 4       4       tNRF tORG tP]"P                  ! RHRIRJRK4      RL 4       tRRM tSRN tTRO tURP tVRQ tWRR tXRS tYRT tZRU t[RV t\RW t]RX t^RY t_RZ t`R[ taR\ tbR] tcR^ tdR_ teR` tfRa tgRb thRc tiRd tj]P:                  ! ]P>                  Rr8  ;'       g    ]kP                  ! Re4      ^8g  Rf4      Rg 4       tm]"PF                  Rh 4       tnRi toRj tpRk tqRl trRm tsRn ttRo tuRp tvRqtwVtxV ;ty# )tStrTestc                    \         P                  ! \        4       V P                  \         P                  \        4       R # r6   )codecsregisterr"   
addCleanup
unregisterr?   s   &r   setUpStrTest.setUpP   s"    ())?;r   c                8   \        W#4      pV! V!  pV P                  Wa4       V P                  \        V4      \        V4      J 4       WbJ dN    ! R  R\        4      pV! V4      p\        W#4      pV! V!  pV P                  Wa4       V P                  W&J4       R# R# )c                   &   a  ] tR t^]t o R tRtV tR# )%StrTest.checkequalnofix.<locals>.usubc                :    R \         P                  V 4      ,          # )zusub(%r))strrM   r?   s   &r   rM   .StrTest.checkequalnofix.<locals>.usub.__repr__^   s    %T(:::r   r   Nr+   r,   r-   r.   rM   r/   rD   rE   s   @r   usubr[   ]   s     ; ;r   r`   N)getattrassertEqual
assertTruetyper]   )r:   resultobject
methodnameargsmethod
realresultr`   s   &&&&*   r   checkequalnofixStrTest.checkequalnofixT   s    ,T]
,Z(DL89 ;s ; &\FV0FJZ0OOF45  r   c                p    V P                  \        V4      \        V4      4       V P                  W4       R # r6   )assertIsrd   rb   )r:   actualexpecteds   &&&r   assertTypedEqualStrTest.assertTypedEqualf   s&    d6lDN3*r   c                "   V P                  R R 4       V P                  RR4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        RR,          4       V P	                  RR4       R# )	   ÿ   ￿z'\Ufffffffe'z'\Uffffffff'z'\U%08x'   z\u0020 N)rb   assertRaisesSyntaxErrorevalassertNotEqualr?   s   &r   test_literalsStrTest.test_literalsj   so    *<0+t->?+t->?+t]X-EFIs+r   c           
        V P                  \        R 4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R	4       V P                  \        R
4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       Rp\        RP                  \        \        \        R4      4      4      4      pV P                  W!4       V P                  \        R"4      \        R"4      4       V P                  \        R4      R4       V P                  \        \        R 4      4      R4       V P                  \        \        R4      4      R4       V P                  \        \        \        R4      4      4      \        R4      4       V P                  \        \        R4      4      R4       V P                  \        \        \        R4      4      4      R4       V P                  \        \        \        R 4      4       R!# )#abc'abc'ab\c'ab\\c'ab\'ab\\'\c'\\c'\'\\'
'\n''\r'	'\t''\x08''"'\'"''"'""'"'a  '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'       🐍z'\U0001f40d'<abc>   <🐍>z<\U0001f40d>	   byte-reprN0  𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿)rb   asciijoinmapchrrangerq   r)   rI   rx   	TypeErrorr:   
latin1reprtestreprs   &  r   
test_asciiStrTest.test_asciis   s   uw/w5v
3uy1th/tg.tg.tg.ti0u|4u|4sY/sY/ 	 S%*!567.BC!"EF	H 	eL1?CeK$67AeHW$56@eH[-A$BC[QXEYZeH^$<=OeH[-H$IJO\)UH\,BCr   c           
        V P                  \        R 4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R	4       V P                  \        R
4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       Rp\        RP                  \        \        \        R4      4      4      4      pV P                  W!4       V P                  \        R!4      \        R!4      4       V P                  \        R4      R4       V P                  \        \        R 4      4      R4       V P                  \        \        R4      4      R4       V P                  \        \        \        R4      4      4      \        R4      4       V P                  \        \        R4      4      R4       V P                  \        \        \        R4      4      4      \        R4      4       V P                  \        \        \        R4      4       R # )"r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   u%  '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0¡¢£¤¥¦§¨©ª«¬\xad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'r   r   r   u   '🐍'r   r   r   Nr   )rb   reprr   r   r   r   rq   r)   rI   rx   r   r   s   &  r   	test_reprStrTest.test_repr   s$   eg.g4fz2ei0dX.dW-dW-dW-dY/el3el3cI.cI. 	 Cs 456.AB !DE	G 	d<0.Ad;u#56@d8G#45w?d8K,@#ABKPWDXYd8N#;<nMd8K,G#HI;WeKfg)T8L+ABr   c                    R P                  4       pV P                  \        V4      R4       V P                  \        V4      R4       V P                  \        V4      R4       V P                  \        \        V4       R# )	   ᄑ∢㌳u   ᄑu   ∢u   ㌳N)__iter__rb   nextrx   StopIteration)r:   its   & r   test_iteratorsStrTest.test_iterators   s^    !**,b8,b8,b8,-r2r   c                   \        \        R 4      4      \        \        R4      4      .pV F<  pV P                  VR7      ;_uu_ 4        V P                  \        V4       RRR4       K>  	  R#   + '       g   i     KS  ; i)r   u   🚀)clsN)rd   itersubTestrx   r   )r:   casesr   s   &  r   test_iterators_invocation!StrTest.test_iterators_invocation   s[    d5k"Df$67C#&&!!)S1 '& &&&s   A--A>c                    . ROpV FP  pV P                  VR7      ;_uu_ 4        V P                  VRP                  \        V4      4      4       RRR4       KR  	  R#   + '       g   i     Kg  ; i)r   )stringr   Nr   u   🚀🚀🚀r   )r   rb   r   r   )r:   r   cases   &  r   test_iterationStrTest.test_iteration   sQ    =DT**  rwwtDz':; +* ***s   +AA.c                    . ROpV FW  pV P                  VR7      ;_uu_ 4        \        V4      p\        V4       V P                  \        \
        V4       RRR4       KY  	  R#   + '       g   i     Kn  ; i)r   r   Nr   )r   r   tuplerx   r   r   )r:   r   r   iterators   &   r   test_exhausted_iteratorStrTest.test_exhausted_iterator   sV    =D4((:h!!-x@ )( (((s   2A$$A5c                   . ROpV F  pV P                  VR7      ;_uu_ 4        \        \        P                  ^,           4       F{  p\	        V4      pV P                  VR7      ;_uu_ 4        RP                  \        P                  ! \        P                  ! WC4      4      4      pV P                  W%4       RRR4       K}  	  RRR4       K  	  R#   + '       g   i     K  ; i  + '       g   i     K  ; i)r   r   )protor   Nr   )	r   r   pickleHIGHEST_PROTOCOLr   r   loadsdumpsrb   )r:   r   r   r   r   pickleds   &     r   test_pickle_iteratorStrTest.test_pickle_iterator   s    =D4(("6#:#:Q#>?EdBE22"$''&,,v||B7N*O"P((7 32 @ )(  322 )((s%   A	C&-AC8C&C#	C&&C7c                   \         P                  P                  V 4       V P                  ^RRR4       V P                  ^ RRR4       V P                  ^RRR4       V P                  ^ RRR4       V P                  ^ RRR4       V P                  ^RRRR4       V P                  ^RRRR4       V P                  ^RRR^ R4       V P                  ^ RRR^ R4       V P	                  ^
RRR4       V P	                  ^
RRR4       V P	                  ^
RRR4       V P	                  ^ RRR4       V P	                  ^ RRR4       V P	                  ^ RRR4       V P	                  ^
RRR4       V P	                  ^
RRR4       V P	                  ^
RRR4       V P	                  ^ RRR	4       V P	                  ^ RRR
4       V P	                  ^ RRR4        ! R R\
        4      pV P	                  ^V! R4      RR4       R# )   aaacountab   Ă   􀌄a_   Ă_   aĂ   a􀌄   Ă􀌄c                       ] tR tRtRtR# )!StrTest.test_count.<locals>.MyStri
  r   Nr*   r   r   r   MyStrr   
      r   r   Ni
aaaaaaaaaau   Ăaaaaaaaaaau   􀌄aaaaaaaaaau   ĂĂĂĂĂĂĂĂĂĂu   􀌄ĂĂĂĂĂĂĂĂĂĂu   Ăa_a_a_a_a_a_a_a_a_a_u   􀌄a_a_a_a_a_a_a_a_a_a_u"   􀌄Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_)r   StringLikeTest
test_countrk   
checkequalr]   )r:   r   s   & r   r   StrTest.test_count   s   ##..t4Q5Q5Qw5Qw5Qw5Qwb9Qwc:Qwa<Qwa=/#>3WcB8'8L8Wh78Wl;='<@0'4@4gtD97IN8Wi88Wm<='3EF	C 	5<#6r   c                   \         P                  P                  V 4       V P                  ^dRRR4       V P                  RRRR4       V P                  RRRR4       V P                  RRRR4       V P                  ^dRRR4       V P                  RRRR4       V P                  RRRR	4       V P	                  ^ R
RR4       V P	                  ^	R
RR^4       V P	                  RR
RR^4       V P                  ^ RRR4       V P                  ^RRR^4       V P                  RRRR^^4       V P                  RRRR4       V P                  ^RRR4       V P                  ^RRR^4       V P                  ^RRR^^4       V P                  ^RRR^4       V P                  RRRR^^4       V P                  RRRR^4       V P                  RRRR4       V P                  \        RP                  4       V P                  \        RP                  ^*4       V P                  ^dRRR4       V P                  ^dR RR4       V P                  ^dR!RR4       V P                  RRRR4       V P                  RRRR4       V P                  RRRR4       V P                  ^dR"RR4       V P                  ^dR#RR4       V P                  ^dR$RR4       V P                  RRRR4       V P                  RRRR4       V P                  RRRR4       R# )%d   r   r   find   ȁ   Ġ   Ƞr      􀈄   􂀄abcdefghiabcr   def   тестu   тe   тест тест   есechellor   r   r   r   r   Ndaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauf   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaĂr   uh   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa􀌄   ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ   ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂa  􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a  􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă   ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂa_  􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a_  􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă_)r   r   	test_findr   rk   rx   r   r   r?   s   &r   r   StrTest.test_find  s   ##--d3168D0&(C0&(C0&(C5v|L4flK4flKQ?QBRB 	:vt4:vtQ7Ja;J4.?.B.1E.B/AF/C/>)W\\2)W\\26163?5vsC:FHMIvx8Iv|<NFLA2FDA6E;VYOIvy9Iv}=NF4FGr   c                ~   \         P                  P                  V 4       V P                  ^ RRR4       V P                  RRRR4       V P                  RRRR4       V P                  RRRR4       V P                  ^ RRR4       V P                  RRRR4       V P                  RRRR	4       V P	                  ^	R
RR4       V P	                  ^R
RR4       V P	                  ^R
RR4       V P                  ^RRR4       V P                  ^RRR^4       V P                  RRRR^4       V P                  RRRR4       V P                  ^RRR4       V P                  ^RRR^4       V P                  ^RRR^^4       V P                  ^RRR^4       V P                  RRRR^^4       V P                  RRRR^4       V P                  RRRR4       V P                  ^ RRR4       V P                  ^ RRR4       V P                  ^ R RR4       V P                  RRRR4       V P                  RRRR4       V P                  RRRR4       V P                  ^ R!RR4       V P                  ^ R"RR4       V P                  ^ R#RR4       V P                  RRRR4       V P                  RRRR4       V P                  RRRR4       R# )$    r   r   rfindr   r   r   r   r   r   r   r   r   r   u   еr   r   r   r   _a   _Ă   Ăa   􀌄a   􀌄ĂNr   uf   Ăaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar   uh   􀌄aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar      aĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ  a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄  Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄   _aĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ  _a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄  _Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄)r   r   
test_rfindr   rk   r?   s   &r   r  StrTest.test_rfind;  s   ##..t4/'8D07HE07HE07HE3WlK4g|L4g|LQ.'5AR.'2>R2>:w5:wa8Jq9J5.@.C.AF.C/&!QG/&!D/$?/#>3WcB8'8LIw9Iw=NG\B0'4@4gtD97INIw	:Iw>NG5GHr   c                p   \         P                  P                  V 4       V P                  ^ RRR4       V P                  ^RRR4       V P                  ^ RRR4       V P                  ^	RRR^4       V P	                  \
        RP                  R4       V P	                  \
        RP                  R^4       V P	                  \
        RP                  R	^4       V P	                  \
        RP                  R	R4       V P                  ^dRRR4       V P                  ^dRRR4       V P                  ^dRRR
4       V P	                  \
        RP                  R
4       V P	                  \
        RP                  R4       V P	                  \
        RP                  R4       V P                  ^dRRR4       V P                  ^dRRR4       V P                  ^dRRR4       V P	                  \
        RP                  R4       V P	                  \
        RP                  R4       V P	                  \
        RP                  R4       R# )r  r   indexr   r   r   hibabcdefghiab	abcdefghighir   r   r   r   r   r   r   r   Nr   r   r   r   r   r   r   r   r   )r   r   
test_indexrk   rx   
ValueErrorr  r   r?   s   &r   r  StrTest.test_indexd  s   ##..t4Q"=Q%@Q%@Q%C*n&:&:EB*m&9&9E1E*k&7&7%C*k&7&7%D17C@5wD:GXN*y&7&7B*y&7&7F*~&<&<lK2GTB6F;WiP*y&7&7C*y&7&7G*~&<&<>PQr   c                   \         P                  P                  V 4       V P                  ^RRR4       V P                  ^RRR4       V P                  ^	RRR4       V P                  ^ RRR^ R4       V P	                  \
        RP                  R4       V P	                  \
        RP                  R^4       V P	                  \
        RP                  R^ R4       V P	                  \
        RP                  R	^ ^4       V P	                  \
        RP                  R	^ R4       V P                  ^ RRR
4       V P                  ^ RRR
4       V P                  ^ RRR4       V P	                  \
        RP                  R4       V P	                  \
        RP                  R4       V P	                  \
        RP                  R4       V P                  ^ RRR4       V P                  ^ RRR4       V P                  ^ RRR4       V P	                  \
        RP                  R4       V P	                  \
        RP                  R4       V P	                  \
        RP                  R4       R# )   r   rindexr   r   r   r  	defghiabcr  r  r   r   r   r  r  r  r  r	  Nr   r   r
  r  r  r   r  r  r  )r   r   test_rindexrk   rx   r  r  r   r?   s   &r   r  StrTest.test_rindex|  s   ##//5RB?QEBQEBQE1bI*n&;&;eD*k&8&85!D*k&8&85!RH*k&8&85!QG*k&8&85!RH/3?3XsC8(HM*y&8&8(C*y&8&8,G*~&=&=|L0(DA4hE98YO*y&8&8)D*y&8&8-H*~&=&=?QRr   c                F   V P                  R RR\        R4      R/4       V P                  RRR\        R4      R\        R4      \        R4      /4       V P                  RRR\        R4      R\        R4      \        R4      \        R	4      R
/4       V P                  R	RR\        R4      R\        R4      R/4       V P                  RRR\        R4      R/4       V P                  RRRRR/4       V P                  P                  RRRR/4      pV P                  RRRV4       V P                  P                  RRR4      pV P                  RRRV4       V P	                  RP                  \        P                  RR4      4      R4       V P	                  RP                  \        P                  RR/4      4      R4       V P	                  RP                  \        P                  RR/4      4      R4       V P	                  RP                  \        P                  RR/4      4      R4       V P	                  RP                  \        P                  RR/4      4      R4       V P	                  RP                  \        P                  RRRR /4      4      R!4       V P	                  RP                  \        P                  RRRR/4      4      R"4       V P	                  RP                  \        P                  RR#/4      4      R$4       V P	                  RP                  \        P                  RR/4      4      R4       V P	                  RP                  \        P                  RR/4      4      R4       V P	                  RP                  \        P                  RR /4      4      R%4       V P	                  R&P                  \        P                  RR'/4      4      R(4       R/pR) FC  p\        P                  W2/4      pR*V,          pV P                  \        VP
                  V4       KE  	  V P                  \        V P                  P                  4       V P                  \        V P                  P                  RR+4       V P                  \        V P                  P                  ^R,4       V P                  \        V P                  P                  R^4       V P                  \        V P                  P                  RR,^4       V P                  \        V P                  P                  R-^/4       V P                  \        V P                  P                  R0^/4       V P                  \        R.P
                  4       V P                  \        RP
                  RR4       R# )1bbbcabababc	translater   Niiicr   iiiixcxr   xyyxxzxzyyz<i>z
<i><i><i>cr   xyzdxyzzyabdcdcbddddz[a]Xz[X][]XXXz[XXX]   éu   [é]axb123x123u   xéu   <é>u   [<é>]z[123]u   [aé]u   <€>u	   [<€>é]u
   aé€􏿿z[%s]defgr   xyr   rv      )
rk   ord	type2test	maketransrb   r$  r]   rx   r  r   )r:   tblinvalid_charbeforemappingr&   s   &     r   test_maketrans_translate StrTest.test_maketrans_translate  s   VY!#h-	/VY!#hc#hCA	CVY!#hc#hC#c(CP	RS)[!#hc#h;	=VUK!#h-	/ 	Y	;!5\	+nn&&T3'>?\9k3Gnn&&ueS9Wm[#F 	sC)@A	 Sz)BC	 T{)CD	U|)DE 	"V})EF!	#T37N)OP	!T37O)PQ 	" 	X)GH#	%++CMM63-,HI	 ++CMM64.,IJ	++CMM65/,JK 	",,S]]C;L-MN)	+ "-FmmV$:;GF?Dj$..'B . 	)T^^%=%=>*dnn&>&>vN)T^^%=%=q%H)T^^%=%=uaH)T^^%=%=ueQO*dnn&>&>q	J)T^^%=%=ayI)W%6%67)Y%8%8%Gr   c           	        \         P                  P                  V 4       R F  w  rV^	,          pV^	,          pR F  pV P                  W,           .W,           RV4       V P                  W.W,           V,           RV4       V P                  W,           .W,           RV^,          4       V P                  W.W^,          ,           V,           RV^,          4       K  	  K  	  R# )basplitNrG     āĀ   𐌁𐌀r(  r      𐌂)r   r   
test_splitr   r:   leftrightdelims   &   r   rN  StrTest.test_split  s    ##..t4 JKDAIDQJE6 $gu> $u 4guF $guqyB $qy 05 8'5!8M 7 Jr   c           	        \         P                  P                  V 4       R F  w  rV^	,          pV^	,          pR F  pV P                  W,           .W,           RV4       V P                  W.W,           V,           RV4       V P                  W,           .W,           RV^,          4       V P                  W.W^,          ,           V,           RV^,          4       K  	  V P                  W,           .W,           RR4       K  	  R# )rG  rsplitN)rG  u   юёrJ  rK  )r(  u   ыr   rM  )r   r   test_rsplitr   rO  s   &   r   rV  StrTest.test_rsplit  s    ##//5QKDAIDQJE< $h? $u 4hG $h	C $qy 05 8(E1HN = OOT\N!\8T; Rr   c           	        \         P                  P                  V 4       V P                  RR RR4       R F  w  rV^	,          pV^	,          pR F  pV P                  W,           RR3W,           RV4       V P                  WV3W,           V,           RV4       V P                  W,           RR3W,           RV^,          4       V P                  W^,          V3W^,          ,           V,           RV^,          4       K  	  K  	  R# )ABCDEFGHr   	partition   䈀N)rY  r   r   rI  rL  )r   r   test_partitionr   rO  s   &   r   r\  StrTest.test_partition  s    ##2248,j+xPIKDAIDQJE6r2 6 $k5Be 4 $u 4k5Jr2 6 $k519Fqy% 8 $qy 05 8+uqyR 7 Jr   c           	        \         P                  P                  V 4       V P                  RRRR4       R F  w  rV^	,          pV^	,          pR F  pV P                  R R W,           3W,           RV4       V P                  WV3W,           V,           RV4       V P                  R R W,           3W,           RV^,          4       V P                  W^,          V3W^,          ,           V,           RV^,          4       K  	  K  	  R# )r   rY  
rpartitionr[  N)r   r   rY  rI  rL  )r   r   test_rpartitionr   rO  s   &   r   r`  StrTest.test_rpartition  s    ##33D9,j,QIKDAIDQJE6R 6 $lECe 4 $u 4lEKR 6 $lEAIGqy% 8 $qy 05 8,PQ	S 7 Jr   c           
        \         P                  P                  V 4        ! R  R4      pV P                  RRR. RO4       V P                  RRRR4       V P                  RRR\         P                  ! R4      4       V P                  RRR. RO4       V P                  RRR. RO4       V P                  RRRR4       V P                  RRR\         P                  ! R4      4       V P                  \        RRR	R
V! R4      .4       V P                  \        RRR	R
R\        4       .4       V P                  \        RR. RO4       V P                  \        RR. RO4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )$StrTest.test_join.<locals>.MyWrapperi&  c                    Wn         R # r6   sval)r:   rg  s   &&r   r;   -StrTest.test_join.<locals>.MyWrapper.__init__'  s    $ir   c                    V P                   # r6   rf  r?   s   &r   r@   ,StrTest.test_join.<locals>.MyWrapper.__str__(  s    dii/r   rf  NrC   rE   s   @r   	MyWrapperrd  &  s     6//r   rk  za b c drw   r   abcdr   zw x y zwxyz12foo3N)r   r   r(  r/  )r<     r   )rn  ro  r   )r   r   	test_joinrk   Sequencecheckraisesr   bytes)r:   rk  s   & r   rs  StrTest.test_join#  s0   ##--d3	0 	0
 	YV5IJVR1EFYV\5J5J65RSYV5IJYV5IJVR1EFYV\5J5J65RSC#sIe<L1MNC#sC1IJC;C?r   z*needs too much memory on a 64-bit platformc                    \        \        P                  R ,          4      ^,           pRV,          3V,          pV P                  \        RP
                  V4       R# )g      ?Ar   N)intsysmaxsizerx   OverflowErrorr   )r:   sizeseqs   &  r   test_join_overflowStrTest.test_join_overflow7  sB     3;;#$q(Tzmd"-#6r   c           
     x   \         P                  P                  V 4       V P                  R RRRR^4       V P	                  \
        RP                  R^*4       R F  w  rV^	,          pV^	,          pR F  pR	 F  pV P                  W,           W,           RW44       V P                  W,           V,           W,           V,           RW44       V P                  W,           W,           RV^,          V4       V P                  W,           V,           W^,          ,           V,           RV^,          V4       K  	  K  	  K  	  R# )
zone@two!three!zone!two!three!replace!@rNrI  rL  )r/  u   ău   𐌃)r   r   test_replacerk   rx   r   r  r   )r:   rP  rQ  rR  repls   &    r   r  StrTest.test_replace>  s   ##006 	-/?CQTVWX)Y%6%6R@IKDAIDQJE69DOODL$(L)UJOODK%$7$(L5$8$-u< OODL$(L)UQYNOODK%$7$(19$4u$<$-uqy$@ : 7 Jr   c                P    R pRpV P                  VP                  W4      V4       R# )r   zabc defN)rn   r  )r:   patternr&   s   &  r   test_replace_idStrTest.test_replace_idU  s#    dll74d;r   c                p   R pRpV P                  \        V4      \        V4      4       V P                  \        V4      \        V4      4       V P                  \        V4      \        VR,          4      4       V P                  \        V4      \        V^ ,          4      4       V P                  \        V4      \        V^,          4      4       V P                  \        V4      \        ^V,          4      4       V P                  \        V4      \        V^,          4      4        ! R R\        4      pV! R4      pV P                  \        V4      \        V4      4       V P                  \        V4      \        VR,          4      4       V P                  \        V4      \        V^ ,          4      4       V P                  \        V4      \        V^,          4      4       V P                  \        V4      \        ^V,          4      4       V P                  \        V4      \        V^,          4      4       R# )z123abc1@z456zyx-+c                       ] tR tRtRtR# )1StrTest.test_repeat_id_preserving.<locals>.SubStrif  r   Nr*   r   r   r   SubStrr  f  r   r   r  zqwerty()N)rb   idr{   r]   )r:   r   r   r  ss   &    r   test_repeat_id_preserving!StrTest.test_repeat_id_preserving[  s   A1&BqE2a5)BqE2a"f:.BqE2a!e9-A1q5	*A1q5	*BqE2a!e9-	S 	 :A1&BqE2a"f:.BqE2a!e9-BqE2a!e9-BqE2a!e9-BqE2a!e9-r   c                |   \         P                  ! 4       ;_uu_ 4        \        P                  ! R \        4       V P                  RR8H  R4       V P                  RR8g  R4       V P                  R\        R4      8H  R4       V P                  R\        R4      8g  R4       RRR4       R#   + '       g   i     R# ; i)ignorer      abcFTN)r   check_warningswarningssimplefilterBytesWarningrb   	bytearrayr?   s   &r   test_bytes_comparisonStrTest.test_bytes_comparisonq  s    ++--!!(L9Uf_e4Uf_d3Ui&77?Ui&77> .---s   BB**B;	c                   a aa S P                  R R 4       S P                  RR 8  4       S P                  R R8  4        S P                  RR8  4       R# )r   rl  u   u   N)rb   rc   )r:   
test_fixup
test_lecmps   f@@r   test_comparisonStrTest.test_comparisony  sJ    &''f 	78r   c                :  < \         SV `  4        V P                  R RR4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  R	P	                  4       4       V P                  R
P	                  4       4       R# )F   ῼislower   Ⅷ   ⅷ   𐐁   𐐧   𐐩   𐑎r      👯N)supertest_islowerrk   assertFalser  rc   r:   	__class__s   &r   r  StrTest.test_islower  s    UHi8))+,((*+--/0--/0,,./,,./--/0--/0r   c                :  < \         SV `  4        V P                  R RR4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  R	P	                  4       4       V P                  R
P	                  4       4       R# )Fr  isupperr  r  r  r  r  r  r   r  N)r  test_isupperrk   rc   r  r  r  s   &r   r  StrTest.test_isupper  s    UHi8((*+))+,,,./,,./--/0--/0--/0--/0r   c                \  < \         SV `  4        V P                  R RR4       V P                  R RR4       V P                  RP	                  4       4       V P                  RP	                  4       4       R F2  pV P                  VP	                  4       RP                  V4      4       K4  	  R# )	Tr  istitleu   Greek ῼitlecases ...u   𐐁𐐩u   𐐧𐑎z{!a} is not titleN)r  r  r   r  )r  test_istitlerk   rc   r  r  formatr:   chr  s   & r   r  StrTest.test_istitle  s    T8Y7T#>	J 	.6689.6689JBRZZ\+>+E+Eb+IJ Kr   c                  < \         SV `  4        V P                  R RR4       V P                  R RR4       V P                  RRR4       R F2  pV P                  VP	                  4       RP                  V4      4       K4  	  R# )	Tu    isspaceu    Fu   —z{!a} is not space.Nr  r  r  r  r   r  )r  test_isspacerk   r  r  r  r  s   & r   r  StrTest.test_isspace  sr    T8Y7T8Y7UHi8/BRZZ\+?+F+Fr+JK/r   cpuc                "   \        \        P                  ^,           4       Fj  p\        V4      p\        P
                  ! V4      p\        P                  ! V4      pT P                  VP                  4       VR9   ;'       g    VR8H  4       Kl  	  R# )r<  ZsN)WSBS)	r   r{  
maxunicoder   unicodedatabidirectionalcategoryrb   r  )r:   	codepointcharr  r  s   &    r   test_isspace_invariantStrTest.test_isspace_invariant  st    s~~12Iy>D'55d;M"++D1HT\\^+/?? 2 2!)T!14	 3r   c                   < \         SV `  4        R F2  pV P                  VP                  4       RP	                  V4      4       K4  	  R# )r  z{!a} is alnum.N)r  r  r  r     𝟶   𑁦   𐒠   🄇)r  test_isalnumrc   isalnumr  r  s   & r   r  StrTest.test_isalnum  s<    KBOOBJJL*:*A*A"*EFKr   c                  < \         SV `  4        V P                  R RR4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       V P                  RP	                  4       4       R	# )
Tr  isalphar  r  r  r  r   r  N)r  test_isalphark   rc   r  r  r  s   &r   r  StrTest.test_isalpha  s    T8Y7,,./,,./,,./,,./--/0--/0r   c                   < \         SV `  4        V P                  R P                  4       4       V P                  RP                  4       4       R# )   €   􏿿N)r  test_isasciir  isasciir  s   &r   r  StrTest.test_isascii  s<    ))+,--/0r   c                F   V P                  R RR4       V P                  R RR4       V P                  RRR4       V P                  R RR4       V P                  R RR4       V P                  RRR4       V P                  RR	R4       V P                  R R
R4       V P                  \        RR^*4       R F2  pV P                  VP	                  4       RP                  V4      4       K4  	  R F2  pV P                  VP	                  4       RP                  V4      4       K4  	  R# )Fr   	isdecimalr   T0   ①   ¼   ٠
01234567890123456789ar   z{!a} is not decimal.z{!a} is decimal.N)r  r  r  r  r   r     𑁥r  )r  r  r  )rk   ru  r   r  r  r  rc   r:   r  s   & r   test_isdecimalStrTest.test_isdecimal	  s   UB4UC5T34UHk:UFK8T8[9T<=UM;?E;;KBR\\^-C-J-J2-NOK =BOOBLLN,>,E,Eb,IJ =r   c                v  < \         SV `  4        V P                  R RR4       V P                  RRR4       V P                  R RR4       R	 F2  pV P                  VP	                  4       RP                  V4      4       K4  	  R
 F2  pV P                  VP	                  4       RP                  V4      4       K4  	  R# )Tr  isdigitFr  r  z{!a} is not a digit.z{!a} is a digit.N)r  r  r  r  r   r  r  )r  r  r  r  )r  test_isdigitrk   r  r  r  rc   r  s   & r   r  StrTest.test_isdigit  s    T8Y7UFI6T8Y7=BRZZ\+A+H+H+LM= KBOOBJJL*<*C*CB*GH Kr   c                X   V P                  R RR4       V P                  R RR4       V P                  RRR4       V P                  RRR4       V P                  RRR4       V P                  RRR4       V P                  RR	R4       V P                  R R
R4       V P                  \        RP                  ^*4       R F2  pV P	                  VP                  4       RP                  V4      4       K4  	  R F2  pV P                  VP                  4       RP                  V4      4       K4  	  R# )Fr   	isnumericr   Tr  r  r  r  r  r  r   z{!a} is not numeric.z{!a} is numeric.Nr  )r  r  r  r  r  )rk   rx   r   r  r  r  rc   r  s   & r   test_isnumericStrTest.test_isnumeric'  s   UB4UC5T34T8[9T6;7T8[9T<=UM;?)U__b9/BR\\^-C-J-J2-NO//BOOBLLN,>,E,Eb,IJ/r   c                   V P                  R P                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  R	P                  4       4       V P                  R
P                  4       4       V P                  RP                  4       4       R# )r   Z_b0bcb_   µu   𝔘𝔫𝔦𝔠𝔬𝔡𝔢rw   [   ©r  N)rc   isidentifierr  r?   s   &r   test_isidentifierStrTest.test_isidentifier:  s   ((*+((*+((*+))+,))+,))+,))+,6CCEF))+,))+,**,-))+,r   c                4   V P                  R P                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       V P                  RP                  4       4       R	# )
r   rw   abcdefgzabcdefg
   ʹ   ͸   r  u   󠀠N)rc   isprintabler  r?   s   &r   test_isprintableStrTest.test_isprintableI  s    ())*	--/00023,,./--/0--/000231134r   c                   \        \        P                  ^,           4       F[  p\        V4      p\        P
                  ! V4      pT P                  VP                  4       V^ ,          R9  ;'       g    VR8H  4       K]  	  R# )r<  rw   N)Cr  )r   r{  r  r   r  r  rb   r  )r:   r  r  r  s   &   r   test_isprintable_invariant"StrTest.test_isprintable_invariantX  si    s~~12Iy>D"++D1HT--/%a[
: , , $- 3r   c           	        R F`  pV P                  VP                  4       4       V P                  VP                  4       4       V P                  VP	                  4       4       Kb  	  R F`  pV P                  VP                  4       4       V P                  VP                  4       4       V P                  VP	                  4       4       Kb  	  R F<  p\        \        V4      pR F#  pV P                  V! V4      V: RV: R24       K%  	  K>  	  R F<  p\        \        V4      pR	 F#  pV P                  V! V4      V: RV: R24       K%  	  K>  	  R# )
   ab.z() is FalseN)r     ab	   aba	   aba)u   ABu   ABu	   ABAu	   ABA)r  r  r  )r
           )r  r  r  r  r  r  r  r  )r
  r  r  r  r  r  r  r  )rc   r  r  r  r  ra   r]   )r:   r  	meth_namemeths   &   r   test_surrogatesStrTest.test_surrogatesa  s	   8AOOAIIK(QYY[)QYY[)	8
8AQYY[)OOAIIK(OOAIIK(	8 ;I3	*DI  a9*MN J ;
9I 3	*D<   a9*MN<	9r   c                   \         P                  P                  V 4       V P                  R P	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R	4       V P                  R
P	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       R# )r     𐑏   𐐧𐐧   𐑏𐑏   𐐧𐑏
   X𐐧x𐑏u
   x𐑏x𐑏   ﬁ   İ   i̇   Σ   σ   ͅΣu   ͅσ   AͅΣu   aͅς   AͅΣau   aͅσa   AΣͅu   aςͅ   Σͅ u   σͅ    򏿾r  N)r   r   
test_lowerrb   lowerr?   s   &r   r0  StrTest.test_lower|  s   ##..t4++-|</557/	1/557/	117791	3.)>:)84--/@..0/B)//13CD..0/B..0/B..0/B++-|<)84r   c                   V P                  R P                  4       R 4       V P                  RP                  4       R 4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  RP                  4       R	4       V P                  R
P                  4       R4       R# )r   hELlo   ßssr%  fir(  r)  r+  u   aισr   u   μN)rb   casefoldr?   s   &r   test_casefoldStrTest.test_casefold  s    ))+W5))+W5$/)40**,h7113_E**,h7r   c                   \         P                  P                  V 4       V P                  R P	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  R	P	                  4       R	4       V P                  R
P	                  4       R
4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       R# )r   r  r"  r!  r#  r$  u
   X𐐧X𐐧r%  FIr&  r(  r5  SS   ῒ   Ϊ̀r/  r  r  N)r   r   
test_upperrb   upperr?   s   &r   r@  StrTest.test_upper  s(   ##..t4++-|</557/	1/557/	117791	3-)84)84t,)+?@++-|<)84r   c                   \         P                  P                  V 4       V P                  R P	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       R	pV P                  R
P	                  4       V4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       R# )r   r  r"  r#     𐑏𐐧r$  u
   X𐑏x𐑏u   hİu   Hi̇u	   Ϊ̀i̇u   ῒİu   ﬁnnishFinnishr+  u   AͅςN)r   r   test_capitalizerb   
capitalize)r:   exps   & r   rF  StrTest.test_capitalize  s   ##33D9002LA/::</	1/::</	1/::</	11<<>1	3--/A.224c:..0)<335Gr   c                d  < \         SV `  4        V P                  R P                  4       R4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  R	P                  4       R
4       V P                  RP                  4       R4       V P                  RP                  4       R4       R# )r   r  r"  r#  u   𐑏𐑏 𐑏𐑏u   𐐧𐑏 𐐧𐑏u   𐑏𐐧 𐑏𐐧u   X𐐧x𐑏 X𐐧x𐑏u   X𐑏x𐑏 X𐑏x𐑏u   ﬁNNISHrE  u	   AΣ ᾡxyu	   Aς ᾩxyu   AΣAu   AσaN)r  
test_titlerb   titler  s   &r   rK  StrTest.test_title  s	   ++-|</557/	1DJJLD	FDJJLD	FDJJLD	FHNNPH	J))+Y7+1135GH))+Z8r   c                   \         P                  P                  V 4       V P                  R P	                  4       R4       V P                  RP	                  4       R 4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R	4       V P                  R
P	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       V P                  RP	                  4       R4       R# )r   r  r"  r!  r#  rD  r$  u
   x𐑏X𐐧r%  r<  r&  r'  r(  r)  r*  u   Ισr+  u   aΙςr,  u   aΙσAr-  u   aςΙr.  u   σΙ r5  r=  r>  r?  N)r   r   test_swapcaserb   swapcaser?   s   &r   rO  StrTest.test_swapcase  s   ##11$7..0,?..0,?/88:/	1/88:/	1/88:/	11::<1	3)40**,n=**,h7002NC113_E)2246FG113_E113_E113_E**,h7$/**,.BCr   c                   \         P                  P                  V 4       V P                  R P	                  ^R4      R4       V P                  R P	                  ^R4      R4       V P                  R P	                  ^R4      R4       R# )r)  r  u   x􏿿u	   􏿿x􏿿u   􏿿x􏿿􏿿N)r   r   test_centerrb   centerr?   s   &r   rS  StrTest.test_center  sp    ##//5A|4&	(A|40	2A|4:	<r   zrequires 32-bit systemc                    Rp RV,          p V P                  \        XP                  4       ?R#   \          d#    T P                  RTR,          ,          4        LPi ; i  ?i ; i)rr     üz$no enough memory (%.0f MiB required)NiVUUi   )MemoryErrorskipTestrx   r}  rA  )r:   r~  r  s   &  r   test_case_operation_overflow$StrTest.test_case_operation_overflow  sc     	StA	mQWW5  	SMM@D5LQR	S
 s   	1  A! *AA!A$c                   V P                  R R4       V P                  R R4       V P                  R R4       V P                  R R4       V P                  R R4       V P                  R R4       V P                  R R4       V P                  R R4       V P                  R R4       V P                  R R4       V P                  R R4       V P                  R R4       V P                  RR4       V P                  R	R4       V P                  R	R
4       V P                  R	R4       V P                  RR
4       V P                  RR4       V P                  RR
4       V P                  RR
4       V P                  RR4       V P                  RR4       V P                  R R4       V P                  RR4       V P                  RR4       V P                  RR4       V P                  \        R
P                  4       R F}  pV^	,          pR Fk  pV P                  W!4       V P                  W!V,           4       V P                  V^,          V4       V P                  V^,          W^,          ,           4       Km  	  K  	  R# )r   abdbbdabbdababdbabdbNrl  abcxxxxabr   r    z abczabc asdfasd)r   r<  N)r<  Nr   )r)  r<  y)r)  r<  N)r<  Nrc  )r      Āu   𐌀rL  )assertInassertNotInrx   r   __contains__)r:   fillrR  s   &  r   test_containsStrTest.test_contains  s   c6"c6"c7#c6"e$c6"c<(c<(c<(c<(k*l++dF#dE"dM*b% b"b% u%dG$dG$c7#ff%'$)U%7%781DAID6  -eE\2  D1eai	)9:	 7 2r   c                2   R P                  4        R P                  4        R P                  4        R P                  4        R P	                  4        R P                  4        RP                  ^R4       RP                  ^R4       RP                  ^R4       R# )u   𐀀􀀀   􀀀   𐀀N)	r1  r8  rA  rG  rL  rP  rT  ljustrjustr?   s   &r   test_issue18183StrTest.test_issue18183&  sz    $$&'')$$&))+$$&'')A|,1l+1l+r   c                6   V P                  R P                  4       R 4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  RP                  4       R4       V P                  R	P                  4       R
4       V P                  RP                  4       R4       ^ RIpV P                  RP                  R4      R4       V P                  RP                  \        RR7      4      R4       V P                  RP                  R4      R4       VP                  ! R^^4      pV P                  RP                  V4      R4        ! R R4      p ! R R4      p ! R R4      p ! R R4      p ! R  R!4      p ! R" R#VP                  4      p ! R$ R%\
        4      p	 ! R& R'4      p
 ! R( R)4      pV P                  R P                  4       R 4       V P                  R*P                  4       R*4       V P                  R+P                  R*4      R*4       V P                  R,P                  R*4      R*4       V P                  R-P                  R*4      R.4       V P                  R/P                  R*4      R04       V P                  R1P                  R*4      R24       V P                  R3P                  ^R*4      R*4       V P                  R4P                  ^R*4      R.4       V P                  R5P                  ^R*4      R04       V P                  R6P                  ^R*4      R24       V P                  R+P                  ER4      R74       V P                  R8P                  ERR*4      R94       V P                  R:P                  ERR*4      R;4       V P                  R<P                  4       R=4       V P                  R>P                  4       R?4       V P                  R@P                  4       RA4       V P                  RBP                  4       RC4       V P                  RDP                  ^{4      RE4       V P                  RFP                  4       RG4       V P                  RHP                  4       RI4       V P                  RJP                  4       RK4       V P                  RLP                  RMRN/4      RN4       V P                  ROP                  RPRN/4      RN4       V P                  RQP                  RR^/4      RS4       V P                  RTP                  V! ^4      RU7      RV4       V P                  RWP                  V! ^
4      V! ^4      4      RX4       V P                  RYP                  V! V! R*4      4      4      R*4       V P                  RZP                  R*R[.4      R*4       V P                  R\P                  R*R[.4      R[4       V P                  R]P                  R*R[..4      R[4       V P                  R^P                  R*V! R[4      ..4      R[4       V P                  R_P                  R*4      R*4       V P                  R_P                  R4      R4       V P                  R_P                  R`4      R*4       V P                  RaP                  R`4      R 4       V P                  RbP                  R*4      R*4       V P                  RcP                  R*4      R*4       V P                  RdP                  R*4      R4       V P                  ReP                  R*4      Rf4       V P                  RgP                  Rh4      Rh4       V P                  RiP                  Rh4      Rh4       V P                  RjP                  Rh4      Rh4       V P                  RkP                  Rh4      Rl4       V P                  RmP                  Rh4      Rn4       V P                  RoP                  Rh4      Rp4       V P                  RqP                  Rh4      Rp4       V P                  RrP                  Rh4      Rs4       V P                  RtP                  Rh4      Ru4       V P                  RvP                  Rh4      Rw4       V P                  RxP                  Rh4      Ry4       V P                  RzP                  Rh4      R{4       V P                  R|P                  Rh4      R}4       V P                  R~P                  Rh4      Rh4       V P                  RP                  Rh4      R4       V P                  RP                  Rh4      R4       V P                  RP                  Rh4      R4       V P                  RP                  Rh4      R4       V P                  RP                  R4      RRRR,          ,           4       V P                  RP                  R 4      RRR,          4       V P                  RP                  R 4      RRR,          4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  ^4      R4       V P                  RP                  ^4      R4       V P                  RP                  ^4      R4       V P                  RP                  ^4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  ER4      R4       V P                  RP                  ER4      R4       V P                  RP                  ER4      R4       V P                  RP                  ER4      R4       V P                  RP                  V! 4       4      R*4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  V! R4      4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  V! R4      4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  V! R4      4      R4       V P                  RP                  V! R4      4      R4       V P                  R+P                  / 4      RA4       V P                  R+P                  . 4      R4       V P                  R+P                  ^.4      R4       V P                  RP                  V! R4      4      R4       V P                  RP                  V! R4      4      R4       V P                  \        RP                  V! R4      4       V P                  \        RzP                  V! R4      4       V P                  \        RP                  V! R4      4       V P                  RP                  V! R^^R7      4      R4       V P                  R+P                  V	! ^
4      4      RV4       V P                  R,P                  R4      R4       V P                  RP                  R^4      R4       V P                  RP                  R^4      R4       V P                  RP                  R^R7      R4       V P                  RP                  R^
^R7      R4       V P                  RP                  RRRR7      R4       V P                  \        R=P                  4       V P                  \        R?P                  4       V P                  \        RP                  4       V P                  \        RP                  4       V P                  \        RP                  4       V P                  \        RP                  4       V P                  \        R+P                  4       V P                  \        R3P                  R*4       V P                  \        RCP                  4       V P                  \        RIP                  4       V P                  \        RP                  4       V P                  \        RP                  4       V P                  \        RP                  4       V P                  \        RP                  ^ 4       V P                  \        RP                  4       V P                  \        RP                  . 4       V P                  \        RP                  4       V P                  \        RP                  ^ 4       V P                  \        RP                  ^ 4       V P                  \        RP                  ^ 4       V P                  \        RP                  ^ 4       V P                  \        RP                  4       V P                  \        RP                  ^ 4       V P                  \        RP                  ^ 4       V P                  \        RP                  ^R7       V P                  \        RP                  ^4       V P                  \        RP                  ^ 4       V P                  \        RP                  ^ 4       V P                  \        RP                  4       V P                  \        RP                  4       V P                  \        RP                  4       V P                  \        RAP                  4       RpV P                  \        R=V,           R?,           P                  4       V P                  \        RV,           R,           P                  ^ .4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  R.4       V P                  \        RP                  R.4       V P                  \        RP                  R^4       V P                  \        RP                  R*RR 4       V P                  \        RP                  ^ ^^^^^^^4
       RpV P                  \        VRP                  R 4       V P                  \        V\        R R4       RpV P                  \        VRP                  R 4       V P                  \        ER P                  R 4       V P                  \        \        R ER4       V P                  \        \        R ER4       V P                  ERP                  ERER4      ER4       V P                  R_P                  ER4      ER4       V P                  RaP                  ER4      R 4       V P                  ERP                  RA^/4      R4       V P                  ERP                  RAR/4      R4       V P                  ERP                  R=R/4      R4       V P                  ER	P                  R?R/4      R4       V P                  ER
P                  ERR/4      R4       V P                  ERP                  ERR/4      R4       V P                  \        ERP                  ^*4       V P                  \        ERP                  ^*4       V P                  \        ERP                  ^*4       V P                  ERP                  ^ ^4      ER4       V
! R4      pV P                  ERP                  V4      ER4       V P                  \        ERP                  V4       V P                  \        RAP                  V4       V! R4      pV P                  ERP                  V4      ER4       V P                  ERP                  V4      ER4       V P                  \        RAP                  V4       R# (  r   r   rc  a{{a{a}}a}{{b{b}}b}ba{{ba{bNzMy name is {0}FredzMy name is FredzMy name is {0[name]})namezMy name is {0} :-{{}}zMy name is Fred :-{}i  zThe year is {0.year}zThe year is 2007c                   0   a  ] tR tRt o RR ltR tRtV tR# )StrTest.test_format.<locals>.CiH  c                    Wn         R # r6   _xr:   r)  s   &&r   r;   'StrTest.test_format.<locals>.C.__init__I      r   c                    V# r6   r   r:   specs   &&r   
__format__)StrTest.test_format.<locals>.C.__format__K      r   r  Nr   r+   r,   r-   r.   r;   r  r/   rD   rE   s   @r   r  r  H        r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )StrTest.test_format.<locals>.DiN  c                    Wn         R # r6   r)  r  s   &&r   r;   'StrTest.test_format.<locals>.D.__init__O      r   c                ,    \        V P                  4      # r6   )r]   r)  r  s   &&r   r  )StrTest.test_format.<locals>.D.__format__Q  s    466{"r   r  Nr  rE   s   @r   Dr  N  s     # #r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )StrTest.test_format.<locals>.EiU  c                    Wn         R # r6   r  r  s   &&r   r;   'StrTest.test_format.<locals>.E.__init__V  r  r   c                6    R V P                   ,           R,           # )zE()r  r?   s   &r   r@   &StrTest.test_format.<locals>.E.__str__X      dff}s**r   r  NrC   rE   s   @r   Er  U       + +r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )StrTest.test_format.<locals>.Fi\  c                    Wn         R # r6   r  r  s   &&r   r;   'StrTest.test_format.<locals>.F.__init__]  r  r   c                6    R V P                   ,           R,           # )zF(r  r  r?   s   &r   rM   'StrTest.test_format.<locals>.F.__repr___  r  r   r  NrO   rE   s   @r   Fr  \  r  r   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )StrTest.test_format.<locals>.Gic  c                    Wn         R # r6   r  r  s   &&r   r;   'StrTest.test_format.<locals>.G.__init__d  r  r   c                (    R V P                   ,           # )z
string is r  r?   s   &r   r@   &StrTest.test_format.<locals>.G.__str__f  s    #dff,,r   c                n    VR 8X  d   RV P                   ,           R,           # \        P                  W4      # )r/  zG(r  )r)  rf   r  r:   format_specs   &&r   r  )StrTest.test_format.<locals>.G.__format__h  s.    #%$&&=3..((;;r   r  N)	r+   r,   r-   r.   r;   r@   r  r/   rD   rE   s   @r   Gr  c  s     -< <r   r  c                   &   a  ] tR tRt o R tRtV tR# )StrTest.test_format.<locals>.Iim  c                $    V P                  V4      # r6   )strftimer  s   &&r   r  )StrTest.test_format.<locals>.I.__format__n  s    }}[11r   r   Nr+   r,   r-   r.   r  r/   rD   rE   s   @r   Ir  m  s     2 2r   r  c                   &   a  ] tR tRt o R tRtV tR# )StrTest.test_format.<locals>.Jiq  c                <    \         P                  V ^,          V4      # )rr  )rz  r  r  s   &&r   r  )StrTest.test_format.<locals>.J.__format__r  s    ~~dQh<<r   r   Nr  rE   s   @r   Jr  q  s     = =r   r  c                   0   a  ] tR tRt o R tR tRtRtV tR# )StrTest.test_format.<locals>.Miu  c                    Wn         R # r6   r  r  s   &&r   r;   'StrTest.test_format.<locals>.M.__init__v  r  r   c                6    R V P                   ,           R,           # )zM(r  r  r?   s   &r   rM   'StrTest.test_format.<locals>.M.__repr__x  r  r   Nr  )	r+   r,   r-   r.   r;   rM   r@   r/   rD   rE   s   @r   Mr  u  s     +Gr   r  c                   0   a  ] tR tRt o R tR tRtRtV tR# )StrTest.test_format.<locals>.Ni|  c                    Wn         R # r6   r  r  s   &&r   r;   'StrTest.test_format.<locals>.N.__init__}  r  r   c                6    R V P                   ,           R,           # )zN(r  r  r?   s   &r   rM   'StrTest.test_format.<locals>.N.__repr__  r  r   Nr  )	r+   r,   r-   r.   r;   rM   r  r/   rD   rE   s   @r   Nr  |  s     +Jr   r  r   {0}z{0:}zX{0}Xabcz{0}XabcXzX{0}YXabcYz{1}zX{1}z{1}XzX{1}Yz-15z{0}{1}z-15abcz{0}X{1}z-15Xabcz{{{z}}}z{{}}{}z{{x}}z{x}z{{{0}}}z{123}z	{{{{0}}}}z{{0}}z}}{{z}{z}}x{{z}x{z{0[foo-bar]}zfoo-barbazz{0[foo bar]}zfoo barz{0[ ]}rw   rq  {foo._x})rp  20z{1}{0}2010z{0._x.x}z{0[0]}r   z{0[1]}z	{0[1][0]}z{0[1][0].x}z{0:.3s}abcdefz{0:.0s}z{0:3.3s}z{0:2.3s}z{0:2.2s}z{0:3.2s}zab z{0:x<0s}re   z{0:x<5s}z{0:x<6s}z{0:x<7s}resultxz{0:x<8s}resultxxz{0: <7s}zresult z{0:<7s}z{0:>7s}z resultz{0:>8s}z  resultz{0:^8s}z result z{0:^9s}z	 result  z{0:^10s}z
  result  z{0:8s}zresult  z{0:0s}z{0:08s}result00z{0:<08s}z{0:>08s}00resultz{0:^08s}0result0z	{0:10000}i'  i'  z{0:10000000}i z{0: <6s}rp  zfoo   z{0:<6s}zfooz{0: ^6s}z foo  z{0:^6s}z foo  z{0: <6}z3     z{0:<6}z3z{0: ^6}z  3   z{0:<6}z3     g      
@z3.25  z3.25z 3.25 z{0:^6}z 3.25 z{0: <12}z(3+2j)      z{0:<12}z(3+2j)z{0: ^12}z   (3+2j)   z{0:^12}z   (3+2j)   z{0:abc}z{0!s}Helloz{0!s:}z{0!s:15}zHello          z	{0!s:15s}z{0!r}z'Hello'z{0!r:}zF(Hello)r	  z'\u0378'r  u   'ʹ'u   F(ʹ)z{0!a}z'\u0374'z{0!a:}z	F(\u0374)r3  z[1]z{0:d}datazG(data)zstring is dataz{0:^10}z{0:>15s}z{0:date: %Y-%m-%d})yearmonthdayzdate: 2007-08-27z{0:.{1}}hello worldr   z	{0:.{1}s}z{0:.{precision}s})	precisionz{0:{width}.{precision}s})widthr  z
hello     105{a}azabc{0:{}z{0z{0.}z{0[}z{0]}z{0.[]}z{0..foo}z{0[0}z	{0[0:foo}z{c]}z	{{ {{{0}}z{0}}z{foo})barz{0!x}z{0!}z{0!rs}z{!}z{:}z{:s},23098475029384702983476098230754973209482573z{[z]}z{0:x}              ?      ?z{0:X}z{0:o}z{0:u}z{0:i}z{0[0]x}z
{0[0](10)}z{0[{1}]}r  z{0:{1:{2}}}r  z{0:{1:{2:{3:{4:{5:{6}}}}}}}z+Sign not allowed in string format specifierz{0:-s}-z,Space not allowed in string format specifierz{: }z{0:=s}#z#20z
{0:s}{1:s}ABCu   АБВu	   ABCАБВz{[{}]}z{[{]}z{[}]}z{[[]}r  z{[!]}r  z{a{}b}z{a{b}z{[}z0x{:0{:d}X}0x0000000000000000{!r}zM(data)z{!s}zN(data)iy      @       @)rb   r  datetimedictdaterz  rx   r   r  
IndexErrorKeyErrorassertRaisesRegex)r:   r  r/  r  r  r  r  r  r  r  r  r  bigsign_msg	space_msgmns   &                r   test_formatStrTest.test_format1  s   b)s+-....%0 	)008:KL/66t7HI*	,077?/	1 MM$2&/66q9+	-	 		# 	#	+ 	+	+ 	+	< 	<	2 	2	= 	=	 		 	 	b)/e,e4u-u5u-v6u-v6.8a/7q%0&9q%0&9517;c*E2e4h?))#u5yA,,$/)51))#.8++-w7$/)51 	..	%/@A5I..	%/@A5I#a137**qu*5t<2"6?**1QuX;7?%8%@%8%@++UUG,<=uE--uqxj.ABEJ 	))%0%8))$/6))(3U;))(3R8**5159**5159**5148**5159**84h?**84h?**84h?**84i@**84jA**84i@))(3Y?))(3Y?))(3Z@))(3Z@))(3[A**84lC2J?2H=))(3Z@**84jA**84jA**84jA++C0#d
2BC++B/u=..r2C(NC 	--e46GH--e46GH--e46GH))%0(;,,Q/1HI,,Q/1HI,,Q/1HI+X6,,T2NC,,T2NC,,T2NC.9--f57WX--f57WX--f57WX))&1>B 	))!#.6 	0':17;**735FG++G46GH0)<19='
3Z@1;?1:>(4kB0)<1;?1;?19='
3Z@(4lC 	b)40b)40qc*E2&	2I>&	24DE)Y%5%5qyA)Z%6%6&	B)Z%6%6&	B-44QD=>;=6? @ ,	- 	ae,d3 	s+S1 	**=!<gF++M1=wG,33MQ3OQXY3::=PR^_:`bno3::=PT`c:dfrs 	*cjj1*cjj1*dkk2*dkk2*dkk2*dkk2*ell3*ellE:(ell3*dkk2*j&7&78*dkk2*fmm4*fmmQ7*fmm4*fmmR8(fmm4*hooq9*j&7&7;*gnna8*k&8&8!<(fmm4*k&8&8!<*fmmQ7(gnn!<*gnna8*fmmQ7*hooq9*ell3*ell3*fmm4*dkk2<*sSy3&>&>?*tczD'8&@&@1#F 	*gnnb9*gnnc:*gnnb9*gnnc:*gnnb9*gnnc:*gnnb9*gnnc:*gnnb9*gnnc:*gnnb9*gnnc: 	*i&6&6?*l&9&9D6B 	)Z%6%6	1E 	*m&:&:E3K*&C&J&JQ1aAq	2 Az8X__bIz8VREB	z9fmmRH*hoor: 	*fb#6*fb%8 	,,U4HI0	2))*AB	 ))*AB	 	$3S9$6<s4c:s4c:s4c:s4c:*hoor:*gnnb9*ellB7--c"57KL fIq)95)V]]A6)T[[!4fIq)95q)95)T[[!4r   c                X   V P                  R P                  / 4      R 4       V P                  RP                  / 4      R4       V P                  RP                  / 4      R4       V P                  RP                  / 4      R4       V P                  RP                  / 4      R4       V P                  RP                  / 4      R4       V P                  R	P                  / 4      R
4       V P                  RP                  / 4      R4        ! R R\        4      pV P                  RP                  V! 4       4      R4       V P                  RP                  V! RR7      4      R4        ! R R4      pV P                  RP                  V! 4       4      R4        ! R R4      pV P                  RP                  RV! ^4      /4      R4       V P                  \        R P                  4       V P                  \        RP                  4       V P                  \
        RP                  / 4       V P                  \
        RP                  / 4       V P                  \
        RP                  / 4       V P                  \
        RP                  / 4       V P                  \
        RP                  / 4       V P                  \
        RP                  / 4       V P                  \
        R P                  R^/4       V P                  \
        R P                  R4       V P                  \
        R!P                  R^R"^/4        ! R# R$4      pV P                  \        RP                  / 4       V P                  \        RP                  . 4       V P                  \        RP                  V! 4       4       R%# )&r   r   rc  rw  rx  ry  rz  r{  r|  r}  r~  r  r  c                   &   a  ] tR tRt o R tRtV tR# )(StrTest.test_format_map.<locals>.Mappingi  c                    V# r6   r   r:   keys   &&r   __missing__4StrTest.test_format_map.<locals>.Mapping.__missing__  s    
r   r   N)r+   r,   r-   r.   r  r/   rD   rE   s   @r   Mappingr          r   r  z{hello}r   z{a} {world})r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )0StrTest.test_format_map.<locals>.InternalMappingi  c                    R R/V n         R# )r   r   NrC  r?   s   &r   r;   9StrTest.test_format_map.<locals>.InternalMapping.__init__  s     #W~r   c                (    V P                   V,          # r6   r  r
  s   &&r   __getitem__<StrTest.test_format_map.<locals>.InternalMapping.__getitem__  s    ||C((r   r  N)r+   r,   r-   r.   r;   r  r/   rD   rE   s   @r   InternalMappingr    s     .) )r   r  z{a}c                   0   a  ] tR tRt o RR ltR tRtV tR# )"StrTest.test_format_map.<locals>.Ci  c                    Wn         R # r6   r  r  s   &&r   r;   +StrTest.test_format_map.<locals>.C.__init__  r  r   c                    V# r6   r   r  s   &&r   r  -StrTest.test_format_map.<locals>.C.__format__  r  r   r  Nr  r  rE   s   @r   r  r    r  r   r  r  rp  r  r  r  r  r  r  z{a} {}r   c                   &   a  ] tR tRt o R tRtV tR# )+StrTest.test_format_map.<locals>.BadMappingi  c                    ^^ ,          # r;  r   r
  s   &&r   r  7StrTest.test_format_map.<locals>.BadMapping.__getitem__  s    s
r   r   N)r+   r,   r-   r.   r  r/   rD   rE   s   @r   
BadMappingr     r  r   r#  N)rb   
format_mapr  rx   r   r  r  ZeroDivisionError)r:   r  r  r  r#  s   &    r   test_format_mapStrTest.test_format_mapy  s   r*B/+S1,d3))"-t4))"-t4))"-t4))"-t4**2.6	d 	 	--gi8'B11'G2DE}U	) 	)
 	))/*;<gF	 	
 	..qu~>E 	)R]]3)S^^4*cnnb9*cnnb9*door:*door:*door:*door: 	*dooayA*doos;*h&9&9C!S1;MN	 	 	(E$4$4b9)U%5%5r:+U-=-=z|Lr   c                    R P                  \        P                  ^,           4      pV P                  \        4      ;_uu_ 4        \        RV4      pRRR4       R#   + '       g   i     R# ; i)z.{}fQ@Nr  r{  r|  rx   r  r:   format_stringre   s   &  r   test_format_huge_precision"StrTest.test_format_huge_precision  sD    ckkAo6z**D-0F +***   AA,	c                    R P                  \        P                  ^,           4      pV P                  \        4      ;_uu_ 4        \        RV4      pRRR4       R#   + '       g   i     R# ; i)z{}fr)  Nr*  r+  s   &  r   test_format_huge_widthStrTest.test_format_huge_width  sD    S[[1_5z**D-0F +***r/  c                    R P                  \        P                  ^,           4      pV P                  \        4      ;_uu_ 4        VP                  R4      pRRR4       R#   + '       g   i     R# ; i)z
{{{}:.6f}}r)  Nr*  r+  s   &  r   test_format_huge_item_number$StrTest.test_format_huge_item_number  sJ    $++CKK!O<z**"))$/F +***s   A  A1	c           	         ! R  R4      pV P                  RP                  ^
4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  R	P                  V! ^
4      4      R4       V P                  R
P                  ^^.4      R4       V P                  RP                  R^R^/4      R4       V P                  RP                  ^ ^4      R4       V P                  RP                  RR4      R4       V P                  RP                  ^R4      R4       V P                  \        RP                  ^^4       V P                  \        RP                  ^^4       V P                  \        RP                  ^^4       V P                  \        RP                  ^^4       V P                  RP                  ^RR7      R 4       V P                  R!P                  ^RR7      R"4       V P                  R#P                  ^^R$^R%7      R&4       V P                  R'P                  ^^^R$R(7      R)4       R*# )+c                   0   a  ] tR tRt o RR ltR tRtV tR# )-StrTest.test_format_auto_numbering.<locals>.Ci  c                    Wn         R # r6   r  r  s   &&r   r;   6StrTest.test_format_auto_numbering.<locals>.C.__init__  r  r   c                    V# r6   r   r  s   &&r   r  8StrTest.test_format_auto_numbering.<locals>.C.__format__  r  r   r  Nr  r  rE   s   @r   r  r8    r  r   r  r  r  z{:5}r  zs    r  z's'z{._x}z{[1]}ro  z{[a]}r   r   4za{}b{}ca0b1cza{:{}}br)  z^10za    x     bza{:{}x}br  a0x14bz{}{1}z{1}{}z{:{1}}z{0:{}}z{f}{}test)ftest4z{}{f}4testz{:{f}}{g}{}g)rD  rA  z 1g3z{f:{}}{}{g})rA  rD  z 14gN)rb   r  rx   r  )r:   r  s   & r   test_format_auto_numbering"StrTest.test_format_auto_numbering  s   	 	 	R$/s+W5s+U3".5A/5QA7=))!Q/9))#u5~F**2s3X> 	*gnna;*gnna;*hooq!<*hooq!< 	V4g>V4g>--acQ-?H--aa3-?Hr   c                <   \         P                  P                  V 4       V P                  R : RR : 2R4       V P                  RRb,          R4       V P                  RRc,          R4       V P                  RRd,          R4       V P                  RRe,          R4       V P                  RRf,          R4       V P                  R	: RR : 2R
4       V P                  R: R4       V P                  R: R4       V P                  RRR RR/,          R4       V P                  RRR RR/,          R4       V P                  RR,          R4       V P                  RR,          R4       V P	                  \
        RP                  Rg4       V P                  RR,          R4       V P	                  \        RP                  R4       V P	                  \        RP                  Rh4       V P	                  \        RP                  R4       V P                  RRR /,          R4       V P                  RRR /,          R4       V P                  RRR /,          R4       V P                  RRR /,          R4       V P                  RRR R^{/,          R4       V P                  RRR R^{/,          R4       V P                  R^: R^: R^: RR : R2	R 4       V P                  R!^: R^: R^: RR : R2	R"4       V P                  R#R ,          R4       V P                  R$Ri,          R%4       V P                  R$Rj,          R&4       V P                  R'Rk,          R(4       V P                  R'Rl,          R%4       V P                  R)Rm,          R*4       V P                  R+Rn,          R,4       V P                  RR-,          R-4        ! R. R/4      pV P                  R0V! 4       ,          R4       \        R14      p\        R24      pV P                  R3V,          R14       V P                  R4V,          R54       V P                  R3V,          R24       V P                  R4V,          R64       V P                  R7R8,          R-4       V P                  R9R8,          R:4        ! R; R<4      p ! R= R>4      pV! R?4      pV! ^m4      pV P                  R@^*,          RA4       V P                  RB^,          RC4       V P                  RD^	,          RE4       V P                  R^m,          RF4       V P                  R@V,          RG4       V P                  RBV,          RH4       V P                  RDV,          RI4       V P                  RV,          RF4       V P                  \        RJ\        P                  R@RK4       V P                  \        RL\        P                  RBRM4       V P                  \        RN\        P                  RDRO4       V P                  \        RP\        P                  R@V4       V P                  \        RQ\        P                  R@RR4       V P                  \        RS\        P                  RBRT4       V P                  \        RU\        P                  RDRV4       V P                  \        RW\        P                  RXRR4       V P                  \        RY\        P                  RRT4       V P                  \        RZ\        P                  R[RV4       V P                  \        R\\        P                  RV4        ! R] R^4      pV! 4       p	V P                  \        R_\        P                  R[V	4       V P                  \        R_\        P                  RV	4       V P                  \        R_\        P                  RXV	4       V P                  \        R`\        P                  R@V	4       V P                  \        R`\        P                  RBV	4       V P                  \        R`\        P                  RDV	4       Ra# )or   , abc, abcz%s, %s, %i, %f, %5.2fzabc, abc, 1, 2.000000,  3.00zabc, abc, 1, -2.000000,  3.00zabc, abc, -1, -2.000000,  3.50zabc, abc, -1, -2.000000,  3.57z abc, abc, -1, -2.000000, 1003.57r  zb'abc', 'abc'   ሴu   'ሴ'z'\u1234'z%(x)s, %(y)sr)  rg  r   zabc, defu   %(x)s, %(ü)srW  z%ci4  i u   𡒃aau   %.1ဲfz%i...%(foo)s...rp  	...abc...z...z...1...2...3...abc...z...%...%s...z...%...%s...1...2...3...abc...z...%s...z%*sz  abczabc  z%*.*sz   abz%i %*.*sz10   abcz
%i%s %*.*sz	103   abcr   c                   &   a  ] tR tRt o R tRtV tR# )(StrTest.test_formatting.<locals>.Wrapperi  c                    R # )rJ  r   r?   s   &r   r@   0StrTest.test_formatting.<locals>.Wrapper.__str__  s    r   r   Nr+   r,   r-   r.   r@   r/   rD   rE   s   @r   WrapperrO    s        r   rS  %snaninfz%fz%FNANINFz%.1su   aé€z%.2su   aéc                   2   a  ] tR tRt o R tR tR tRtV tR# )*StrTest.test_formatting.<locals>.PseudoInti  c                &    \        V4      V n        R # r6   rz  r8   r9   s   &&r   r;   3StrTest.test_formatting.<locals>.PseudoInt.__init__  s     Z
r   c                    V P                   # r6   r7   r?   s   &r   __int__2StrTest.test_formatting.<locals>.PseudoInt.__int__      zz!r   c                    V P                   # r6   r7   r?   s   &r   	__index__4StrTest.test_formatting.<locals>.PseudoInt.__index__  ra  r   r7   N)	r+   r,   r-   r.   r;   r_  rc  r/   rD   rE   s   @r   	PseudoIntrZ    s     ("" "r   re  c                   ,   a  ] tR tRt o R tR tRtV tR# ),StrTest.test_formatting.<locals>.PseudoFloati  c                &    \        V4      V n        R # r6   )floatr8   r9   s   &&r   r;   5StrTest.test_formatting.<locals>.PseudoFloat.__init__  s    "5\
r   c                ,    \        V P                  4      # r6   r\  r?   s   &r   r_  4StrTest.test_formatting.<locals>.PseudoFloat.__int__!  s    4::&r   r7   N)r+   r,   r-   r.   r;   r_  r/   rD   rE   s   @r   PseudoFloatrg    s     *' 'r   rm  go!	@z%x2az%Xr  z%o11r  6d6D155z,%x format: an integer is required, not floatgQ	@z,%X format: an integer is required, not floatgzG @z,%o format: an integer is required, not floatgp=
ף?z2%x format: an integer is required, not PseudoFloatz.%x format: an integer is required, not complexy              @z.%X format: an integer is required, not complexy               @z.%o format: an integer is required, not complexr  z1%u format: a real number is required, not complexz%uz1%i format: a real number is required, not complexz1%d format: a real number is required, not complexz%dz>%c requires an int or a unicode character, not .*\.PseudoFloatc                   ,   a  ] tR tRt o R tR tRtV tR# ).StrTest.test_formatting.<locals>.RaisingNumberi9  c                    \        R 4      h)rz  RuntimeErrorr?   s   &r   r_  6StrTest.test_formatting.<locals>.RaisingNumber.__int__:  s    "5))r   c                    \        R 4      h)r  rv  r?   s   &r   rc  8StrTest.test_formatting.<locals>.RaisingNumber.__index__<  s    "7++r   r   N)r+   r,   r-   r.   r_  rc  r/   rD   rE   s   @r   RaisingNumberrt  9  s     *, ,r   r{  rz  r  N)r   r   r<  rr  r   )r   r   r<  r   )r   r   r   r|  g      @)r   r   r   r|  g(\@)r   r   r   r|  g(\\@)rv   gUUUUUU?)   r   )r   )r}  rr  r   )r}  r   r   )
   r}  r   r   )r  r   r}  r   r   )r   r   test_formattingrb   rx   r}  __mod__r   r  ri  r  operatormodrw  )
r:   rS  rW  rX  re  rm  piletter_mr{  rns
   &         r   r  StrTest.test_formatting  s   ##33D9UE2J?03JJLjk03KKMlm03NNPpq03OOQqr03RRTvwVU3_EZ8[93uc%*@@*M*c%-FF
S16-{C,l;)T\\48*l&:&:UD)T\\48 	E%=8+FE%=8+FE%=8+FE%=8+FE%c+BB[QE%c+BBKPa!EBD[\1QuMOope+[9+W5,g6</9</9&66
C(=={KS)	  	  		)84 ElElU+U+U+U+ 	-/5-/9	" 	"	' 	'
  S>D)C(4(S)$/$/%0#.y*XZbZfZfhlnrsy*XZbZfZfhlnrsy*XZbZfZfhlnrsy*^`h`l`lnrtvwy*Z\d\h\hjnprsy*Z\d\h\hjnprsy*Z\d\h\hjnprsy*]_g_k_kmqsuvy*]_g_k_kmqsuvy*]_g_k_kmqsuvy*kmumymy{  BD  	E	, 	, _|UHLL$K|UHLL$K|UHLL$K|WhllD"M|WhllD"M|WhllD"Mr   c           
        ^ RI p ! R R\        VP                  4      p ! R RVP                  4      p ! R RVP                  4      pV P                  VP                  : RVP                  : 2R	4       V P                  R
VP                  VP                  VP                  VP                  VP                  VP                  VP                  3,          R4       V P                  RRVP                  /,          R4       V P                  RRVP                  /,          R4       V P                  RRVP                  /,          R4       V P                  RRVP                  /,          R4       V P                  RRVP                  /,          R4       V P                  RRVP                  RVP                  /,          R4       V P                  RRVP                  R^{/,          R4       R# )r  Nc                       ] tR tRtRtRtR# )0StrTest.test_formatting_with_enum.<locals>.FloatiJ  gJM!	@r   N)r+   r,   r-   r.   PIr/   r   r   r   Floatr  J  s    Br   r  c                       ] tR tRt^tRtR# ).StrTest.test_formatting_with_enum.<locals>.IntiM  r   N)r+   r,   r-   r.   IDESr/   r   r   r   Intr  M  s    Dr   r  c                       ] tR tRtRtRtR# ).StrTest.test_formatting_with_enum.<locals>.StriP  r   r   N)r+   r,   r-   r.   r  r/   r   r   r   Strr  P  s    Cr   r  rH  rI  z%s, %s, %d, %i, %u, %f, %5.2fz%abc, abc, 15, 15, 15, 3.141593,  3.14rL  rp  rM  z...%(foo)r...z...<Int.IDES: 15>...z...15...z...%(foo)i...z...%(foo)d...z...%(foo)u...r   z...%(foo)f...z...3.141593...)	enumri  EnumIntEnumStrEnumrb   r  r  r  )r:   r  r  r  r  s   &    r   test_formatting_with_enum!StrTest.test_formatting_with_enumG  s   	E499 		$,, 		$,, 	 	SWWcgg6#	%8#''388SXX588-- A		B 	E#''?:$	&E#((+;;/	1E#((+;;#	%E#((+;;#	%E#((+;;#	%E#((E%((+KK#	%E%((5+EE)	+r   c                    R P                  \        P                  ^,           4      pV P                  \        4      ;_uu_ 4        VR,          pRRR4       R#   + '       g   i     R# ; iz%.{}fr)  Nr*  r+  s   &  r   test_formatting_huge_precision&StrTest.test_formatting_huge_precisionl  sB    s{{Q7z**"T)F +***   
AA)	c                b     ! R  R\         4      pV P                  RV! R4      ,          R4       R# )c                   &   a  ] tR tRt o R tRtV tR# )>StrTest.test_issue28598_strsubclass_rhs.<locals>.SubclassedStrit  c                $    R P                  V4      # )z'Success, self.__rmod__({!r}) was calledr  )r:   others   &&r   __rmod__GStrTest.test_issue28598_strsubclass_rhs.<locals>.SubclassedStr.__rmod__u  s    @GGNNr   r   N)r+   r,   r-   r.   r  r/   rD   rE   s   @r   SubclassedStrr  t  s     O Or   r  z	lhs %% %rrhsz.Success, self.__rmod__('lhs %% %r') was calledNr]   rb   )r:   r  s   & r   test_issue28598_strsubclass_rhs'StrTest.test_issue28598_strsubclass_rhsq  s0    	OC 	O 	}U';;I	Kr   Nzneed _testcapi modulec                    R P                  \        P                  ^,           4      pV P                  \        4      ;_uu_ 4        VR,          pRRR4       R#   + '       g   i     R# ; ir  )r  	_testcapiINT_MAXrx   r  r+  s   &  r   'test_formatting_huge_precision_c_limits/StrTest.test_formatting_huge_precision_c_limitsz  sG      y'8'81'<=z**"T)F +***r  c                    R P                  \        P                  ^,           4      pV P                  \        4      ;_uu_ 4        VR,          pRRR4       R#   + '       g   i     R# ; i)z%{}fr)  Nr*  r+  s   &  r   test_formatting_huge_width"StrTest.test_formatting_huge_width  sB    ckkAo6z**"T)F +***r  c                :   R P                   R P                  3 Fk  pV P                  \        4      ;_uu_ 4       pV! R.4       RRR4       \	        XP
                  4      pV P                  RV4       V P                  RV4       Km  	  R#   + '       g   i     LO; i)rp  rA  Nr]   r   )
startswithendswithrx   r   r]   	exceptionri  )r:   r  cmexcs   &   r   test_startswith_endswith_errors'StrTest.test_startswith_endswith_errors  sm    %%u~~6D""9--cU .bll#CMM%%MM'3' 7--s   
B

BLC_ALLde_DEfr_FRr   c                8    V P                  R RR,          4       R# )z1.0z%.1fr  Nrb   r?   s   &r   test_format_floatStrTest.test_format_float  s     	-r   c           	        V P                  \        R 4      R 4       R F  p\        V4      pV P                  \        V4      V4       V P                  \        V4      \        V4      4       VR8X  g   KV  V P                  VP	                  R4      R4       V P                  VP	                  R4      R4       K  	  V P                  \        R4      R4        ! R R4      pV P                  \        V! R4      4      R4       V! R4      pV P                  \        V4      R4       V P                  \        V4      R4       R F0  pV P                  \        V4      \        \        V4      4      4       K2  	  V P                  \        \        R	RR
4       V P                  \        RRR
4      R4       V P                  \        \        R4      RR
4      R4       R# )zunicode remains unicoder      asciiutf-8z strings are converted to unicodec                   ,   a  ] tR tRt o R tR tRtV tR# ).StrTest.test_constructor.<locals>.StringCompati  c                    Wn         R # r6   r  r  s   &&r   r;   7StrTest.test_constructor.<locals>.StringCompat.__init__  r  r   c                    V P                   # r6   r  r?   s   &r   r@   6StrTest.test_constructor.<locals>.StringCompat.__str__  s    vvr   r  NrC   rE   s   @r   StringCompatr    s      r   r  z)__str__ compatible objects are recognizedz#unicode(obj) is compatible to str()z!decoding unicode is not supportedr   s   strings are decoded to unicodezstrings are decoded to unicodes(   character buffers are decoded to unicodez(character buffers are decoded to unicodeN)r   r5  r  r  ){   g^@r  )rb   r]   r)   lenr$   rx   r   
memoryview)r:   r&   subclassr  oobjs   &     r   test_constructorStrTest.test_constructor  s    	)*%	

 >D"4(HS]D1S]CI6w  !98D  !98D > 	23.	

	 	 	HIJ7	
 >?Q!FGQ!FG%CSXs3s8}5 & 	/	
 	17HE,	

 	FG
 7	
r   c                    V P                  \        RR7      R4       V P                  \        RRR7      R4       V P                  \        RRR7      R4       V P                  \        RRR7      R4       R	# )
z>Pass various keyword argument combinations to the constructor.rp  )rf   s   foor  )rf   r!   r   r   )rf   r   N)rb   r]   r?   s   &r   test_constructor_keyword_args%StrTest.test_constructor_keyword_args  s^     	E*E2FW=uEVH5u=F8<eDr   c                   V P                  \        4       R4       V P                  \        RR7      R4       RP                  R4      pV P                  \        VRR7      R4       V P                  \        \        VRR7       R# )	z(Check the constructor argument defaults.r   r   r     ¢r  r   r!   N)rb   r]   r$   rx   UnicodeDecodeError)r:   	utf8_cents   & r   test_constructor_defaults!StrTest.test_constructor_defaults  sh     	#H-r2KK(	Yx8$?,c9wOr   c                "   . ROpV F&  w  r#V P                  VP                  R4      V4       K(  	  V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R	4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  R	P                  R4      R4       V P                  R
P                  R4      R4       V P                  RP                  R4      R
4       V P                  RP                  RR4      R4       RpRpV Fc  pV P                  VP                  R4      VP                  R4      4       V P                  VP                  R4      P                  R4      V4       Ke  	  V F3  pV P                  VP                  R4      P                  R4      V4       K5  	  V P                  \        R4      ;_uu_ 4        RP                  R4       RRR4       R#   + '       g   i     R# ; i)   A≢Α.utf-7u   s   +2AE-u   xs   +2AE-xu   s   +3AE-u   xs   +3AE-xu   򫳞s
   +2AHab9ze-s   +r  r   zGABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?z!"#$%&*;<=>@[]^_`{|}utf7r   zill-formed sequences   +@N))r  s	   A+ImIDkQ.)u   Hi Mom -☺-!s   Hi Mom -+Jjo--!)u	   日本語s
   +ZeVnLIqe-)u   Item 3 is £1.s   Item 3 is +AKM-1.)+s   +-)z+-s   +--z+?s   +-?)z\?s   +AFw?r  )z\\?s   +AFwAXA?)z\\\?s
   +AFwAXABc?)z++--s   +-+---)u   򫳞s   +2m/c3g-)/   /)rb   r$   r%   r  r  )r:   utfTestsr)  rg  set_dset_or(  s   &      r   test_codecs_utf7StrTest.test_codecs_utf7  s    
" FQQXXg.2  	18<))'2I>18<))'2I>18<))'2I>18<))'2I>+227;]K--g68JK 	(;R@ Z&AQXXf-qxx/@AQXXg.55f=qA  AQXXg.55f=qA  ##$6$9; ;LL!; ; ; ;s   !I==J	c                   V P                  R P                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  R	P                  RR
4      R4       V P                  RP                  RR
4      R4       V P                  RP                  R4      R4       V P                  RP                  R4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       V P                  \        RR4      R4       R# )r   r  r   r  s   €u   𐀂s   𐀂u   𣑖s   𣑖r
  surrogatepasss   u   s   u   正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git unds   正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git undNu(   𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂s(   𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂)rb   r$   r]   r?   s   &r   test_codecs_utf8StrTest.test_codecs_utf8  s,   7+S11?C,,W57JK,,W57JK/BOT/BOT/11':/	1 
 !'w	9	
( 	0':LJ0':LJ_g6Br   c                f    . ROpV F&  w  r#V P                  VP                  R4      V4       K(  	  R# )    r  N))r  rd  )   ar   )   )s      )s   ߿u   ߿)s   ࠀu   ࠀ)s   ퟿u   ퟿)s   u   )s   ￿ru   )s   𐀀rq  )s   􏿿r  )rb   r%   )r:   	sequencesr  ress   &   r    test_utf8_decode_valid_sequences(StrTest.test_utf8_decode_valid_sequencesA  s0    
	 "HCSZZ0#6 "r   c                   \        ^^4       Uu. uF  p\        V.4      NK  	  pp\        ^^4       Uu. uF  p\        V.4      NK  	  pp\        ^^4       Uu. uF  p\        V.4      NK  	  ppW#,           V,           \        ^R4       Uu. uF  p\        V.4      NK  	  up,           pV F$  pV P                  \        VP                  R4       K&  	  V F3  pV F*  pV P                  \        Wx,           P                  R4       K,  	  K5  	  V FX  pVR,           FH  p	VR,           F8  p
V P                  \        Wy,           R,           V
,           P                  R4       K:  	  KJ  	  KZ  	  \        ^^4       Uu. uF  p\        V.4      NK  	  up Fa  pV P                  \        RV,           R,           P                  R4       V P                  \        RV,           R,           P                  R4       Kc  	  \        ^^4       Uu. uF  p\        V.4      NK  	  up Fa  pV P                  \        RV,           R,           P                  R4       V P                  \        RV,           R,           P                  R4       Kc  	  \        ^^4       Uu. uF  p\        V.4      NK  	  up Fa  pV P                  \        RV,           R	,           P                  R4       V P                  \        RV,           R
,           P                  R4       Kc  	  \        ^^4       Uu. uF  p\        V.4      NK  	  up Fa  pV P                  \        RV,           R	,           P                  R4       V P                  \        RV,           R
,           P                  R4       Kc  	  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 u upi u upi )   r   r  :Nr   N                  s      N)r   rv  rx   r  r%   )r:   r)  continuation_bytesinvalid_2B_seq_start_bytesinvalid_4B_seq_start_bytesinvalid_start_bytesbytesbcbcb1cb3s   &          r   "test_utf8_decode_invalid_sequences*StrTest.test_utf8_decode_invalid_sequencesR  sQ   27d2CD2CQeQCj2CD:?d:K%L:KQeQCj:K"%L:?d:K%L:KQeQCj:K"%L;&'>CD%>P)Q>P%*>P)QR 	
 (D0$++wG ( -B(!!"4runngN ) - -B)"---b11C%%&8')vg~c'9&A&A7L 2 . - (-T4'89'8!5!:'89B0&rz'1997D0&rz'1997D : (-T4'89'8!5!:'89B0&rz'1997D0&rz'1997D :
 (-T4'89'8!5!:'89B0&rz+5==wH0&rz+5==wH :
 (-T4'89'8!5!:'89B0&rz+5==wH0&rz+5==wH :O E%L%L *R  : :
 :
 :s.   NNN#N(9N-N2N7N<c                ~    \         P                   ! R ^^
^^^;4      pV P                  VP                  R4      R4       R# )i  z%zr   N)r  rb   r  )r:   r/  s   & r   test_issue127903StrTest.test_issue127903  s7     dBBB7D)2.r   c                (   R p. RV3NRV^,          3NRV3NRV^,          3NRV3NRV^,          3NRV^,          3NRV3NR	V^,          3NR
V^,          3NRVR,           3NRV3NRV^,          3NRV^,          3NRV^,          3NRV3NRVR,           3NRVR,           V,           3NRVR,           3NRVR,           3NRV^,          R,           3NRVR,           V,           3NRV3NRV^,          3NRV^,          3NRV^,          3NRV^,          3NRV3NRV3NR VR,           3NR!VR,           3NR"VR,           3NR#VR,           V,           3NR$VR,           V^,          ,           3NR%VR,           V,           R,           3NR&VR,           V,           3NR'VR,           V,           3NR(VR,           V^,          ,           3NR)V^,          R,           3NR*VR,           V^,          ,           3NR+V3NR,V^,          3NR-V^,          3NR.V^,          3NR/V^,          3NR0V^,          R,           3NR1V^,          R,           V,           3NR2VR,           V^,          ,           R,           3NR3V3NR4V^,          3NR5V^,          3NR6V^,          R,           3NR7V^,          3NR8V3NR9V^,          3NR:V^,          3NR;V^,          3NR<V3NR=V^,          3NRFNRGNRHNRINp\        V4       F  w  pw  rEV P                  \        VP                  R>R?4       V P	                  VP                  R>R@4      V4       V P	                  VRA,           P                  R>R@4      VRB,           4       V P	                  VP                  R>RC4      VP                  R RD4      4       K  	  RE# )J   �r  r     s      s   s      s   s   s   Ary     s   s   s   s   s   As   As   AAAAs   As   As   A   s   s   s   s   s   s   s   As   AAs   As   As   As   AAs   AAs   As   As   As   A   s   s   s   s   s   As   As   AA   s   s   s   As      s   s   s      s   r  r   r     br   r  r   N)s   ABCu   �ABC)s   BCu   ��BC)s   Cu   �C)s   abcdu   a���b�c��d)	enumeraterx   r  r%   rb   r  )r:   FFFDr  r  r  r  s   &     r   test_issue8271StrTest.test_issue8271  s    J
dOJ
 $q&!J
 dO	J

 $q&!J
 dOJ
 $q&!J
 $q&!J
 dOJ
 $q&!J
 d1f%J
 $s(#J
 dOJ
  $q&!!J
" d1f%#J
$ !$q&)%J
& $'J
( $s(#)J
* d3htm,+J
, d4i(-J
. d3h'/J
0 !$q&*-1J
2 !$s(4-03J
6 dO7J
8 $q&!9J
: d1f%;J
< !$q&)=J
> %d1f-?J
@ $AJ
B d#CJ
D d3h'EJ
F !$t),GJ
H !$s(+IJ
J d3htm,KJ
L !$s(46/2MJ
N !$s(4-"34OJ
P !$t)D.1QJ
R !$s(4-0SJ
T !$s(46/2UJ
V !$q&*-WJ
X !$s(46/2YJ
\ dO]J
^ $q&!_J
` $q&!aJ
b d1f%cJ
d !$q&)eJ
f d1fSj)gJ
h !$q&*T/2iJ
j %d3htAvoc&9:kJ
n dOoJ
p $q&!qJ
r $q&!sJ
t d1fsl+uJ
v %d1f-wJ
z dO{J
| $q&!}J
~ d1f%J
@ )$q&1AJ
D dOEJ
F d1f%GJ
J <KJ
L >MJ
N 8OJ
PEQJ
	V 'y1MAz0#**gxPSZZ;SAc$h..w	BCGLSZZ: [[268	 2r   c                   V P                  \        4      ;_uu_ 4       pVP                  R4       RRR4       XP                  pV P	                  V\        V4      4       V P                  VP                  RR4      V4       V P                  RV,           R,           P                  RR4      RV,           R,           4       VP                  RR	4      pV P                  VP                  RR
4      V4       V P                  RV,           R,           P                  RR
4      RV,           R,           4       R#   + '       g   i     EL; i)z
Check that an invalid UTF-8 sequence raises a UnicodeDecodeError when
'strict' is used, returns res when 'replace' is used, and that doesn't
return anything when 'ignore' is used.
r  Nr  s   aaaas   bbbbaaaabbbbr  r   r  )rx   r  r%   r  ri  r]   rb   r  )r:   r  r  errr  r  s   &&&&  r   assertCorrectUTF8Decoding!StrTest.assertCorrectUTF8Decoding  s     122bJJw 3llc3s8$GY7='C-'199'9M#.	0kk(B'GX6<'C-'199'8L 3,/	1 322s   D33E	c                V    RpR F   pV P                  \        V.4      RR4       K"  	  R# )a8  
Test that an 'invalid start byte' error is raised when the first byte
is not in the ASCII range or is not a valid start byte of a 2-, 3-, or
4-bytes sequence. The invalid start byte is replaced with a single
U+FFFD when errors='replace'.
E.g. <80> is a continuation byte and can appear only after a start byte.
r  s   zinvalid start byteN)r'  rv  )r:   r   r  s   &  r   test_invalid_start_byteStrTest.test_invalid_start_byte  s/     7D**5$=(+?A 8r   c                   . RNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NpR'pV F)  pV P                  \        P                  V4      R'R(4       K+  	  R)# )*a  
Test that an 'unexpected end of data' error is raised when the string
ends after a start byte of a 2-, 3-, or 4-bytes sequence without having
enough continuation bytes.  The incomplete sequence is replaced with a
single U+FFFD when errors='replace'.
E.g. in the sequence <F3 80 80>, F3 is the start byte of a 4-bytes
sequence, but it's followed by only 2 valid continuation bytes and the
last continuation bytes is missing.
Note: the continuation bytes must be all valid, if one of them is
invalid another error will be raised.
C2DFzE0 A0zE0 BFzE1 80zE1 BFzEC 80zEC BFzED 80zED 9FzEE 80zEE BFzEF 80zEF BFzF0 90zF0 BFzF0 90 80zF0 90 BFzF0 BF 80zF0 BF BFzF1 80zF1 BFzF1 80 80zF1 80 BFzF1 BF 80zF1 BF BFzF3 80zF3 BFzF3 80 80zF3 80 BFzF3 BF 80zF3 BF BFzF4 80zF4 8FzF4 80 80zF4 80 BFzF4 8F 80zF4 8F BFr  zunexpected end of dataNr'  rv  fromhex)r:   r  r   r  s   &   r   test_unexpected_end_of_data#StrTest.test_unexpected_end_of_data   s   




%
'.
07
9@
 
 
 &
 (/
 18
 :A
 	
 	
 )	
 +5	
 7A	
 CM	

 

 

 )

 +5

 7A

 CM
 
 
 )
 +5
 7A
 CM
 
 
 )
 +5
 7A
 CM
	 C**5==+=x+CE r   c           	         RpV^,          pRVR,           3RVR,           3RV3RV3RVR,           3R	VR,           3R
V3RV3.pV F+  w  rEV P                  \        P                  V4      VR4       K-  	  R# )a|  
Test that an 'invalid continuation byte' error is raised when the
continuation byte of a 2-bytes sequence is invalid.  The start byte
is replaced by a single U+FFFD and the second byte is handled
separately when errors='replace'.
E.g. in the sequence <C2 41>, C2 is the start byte of a 2-bytes
sequence, but 41 is not a valid continuation byte because it's the
ASCII letter 'A'.
r  zC2 00rd  zC2 7Fr  zC2 C0zC2 FFzDF 00zDF 7FzDF C0zDF FFinvalid continuation byteNr/  r:   r   FFFDx2r  r  r  s   &     r   test_invalid_cb_for_2bytes_seq&StrTest.test_invalid_cb_for_2bytes_seq  s     d6k"Wd6k$:f0d6k"Wd6k$:f0	
	 "HC**5==+=s+FH "r   c                   RpV^,          p. RVR,           3NRVR,           3NRV3NRV3NRV3NR	V3NR
VR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NR V3NR!V3NR"VR,           3NR#VR,           3NR$V3NR%V3NR&VR,           3NR'VR,           3NR(V3NR)V3NR*VR,           3NR+VR,           3NR,V3NR-V3NR.V3NR/V3NR0VR,           3NR1VR,           3NR2V3NR3V3NR4VR,           3NR5VR,           3NR6V3NR7V3NR8VR,           3NR9VR,           3NR:V3NR;V3NR<VR,           3NR=VR,           3NR>V3NR?V3NR@VR,           3NRAVR,           3NRBV3NRCV3NRDVR,           3NREVR,           3NRFV3NRGV3NRHVR,           3NRIVR,           3NRJV3NRKV3NRLVR,           3NRMVR,           3NRNV3NROV3NpV F+  w  rEV P                  \        P                  V4      VRP4       K-  	  RQ# )RaH  
Test that an 'invalid continuation byte' error is raised when the
continuation byte(s) of a 3-bytes sequence are invalid.  When
errors='replace', if the first continuation byte is valid, the first
two bytes (start byte + 1st cb) are replaced by a single U+FFFD and the
third byte is handled separately, otherwise only the start byte is
replaced with a U+FFFD and the other continuation bytes are handled
separately.
E.g. in the sequence <E1 80 41>, E1 is the start byte of a 3-bytes
sequence, 80 is a valid continuation byte, but 41 is not a valid cb
because it's the ASCII letter 'A'.
Note: when the start byte is E0 or ED, the valid ranges for the first
continuation byte are limited to A0..BF and 80..9F respectively.
Python 2 used to consider all the bytes in range 80..BF valid when the
start byte was ED.  This is fixed in Python 3.
r  zE0 00rd  zE0 7Fr  zE0 80zE0 9FzE0 C0zE0 FFzE0 A0 00zE0 A0 7FzE0 A0 C0zE0 A0 FFzE0 BF 00zE0 BF 7FzE0 BF C0zE0 BF FFzE1 00zE1 7FzE1 C0zE1 FFzE1 80 00zE1 80 7FzE1 80 C0zE1 80 FFzE1 BF 00zE1 BF 7FzE1 BF C0zE1 BF FFzEC 00zEC 7FzEC C0zEC FFzEC 80 00zEC 80 7FzEC 80 C0zEC 80 FFzEC BF 00zEC BF 7FzEC BF C0zEC BF FFzED 00zED 7FzED A0zED BFzED C0zED FFzED 80 00zED 80 7FzED 80 C0zED 80 FFzED 9F 00zED 9F 7FzED 9F C0zED 9F FFzEE 00zEE 7FzEE C0zEE FFzEE 80 00zEE 80 7FzEE 80 C0zEE 80 FFzEE BF 00zEE BF 7FzEE BF C0zEE BF FFzEF 00zEF 7FzEF C0zEF FFzEF 80 00zEF 80 7FzEF 80 C0zEF 80 FFzEF BF 00zEF BF 7FzEF BF C0zEF BF FFr4  Nr/  r5  s   &     r   test_invalid_cb_for_3bytes_seq&StrTest.test_invalid_cb_for_3bytes_seq0  sO   " "
d6k""
%,d6k$:"
=Df<M"
f"
 '0"
3:F2C"
 f%"
 )3DK'@"
  	"
 $.v"6	"

 f%"

 )3DK'@"
  "
 $.v"6"
 :A$v+8N"
 d6k""
 &-f$5"
 9@7H"
 f%"
 )3DK'@"
  "
 $.v"6"
 f%"
 )3DK'@"
  "
 $.v"6"
 :A$v+8N"
 d6k""
 &-f$5"
 9@7H"
 f%"
 )3DK'@"
  "
 $.v"6"
 f%"
 )3DK'@"
   !"
  $.v"6!"
  :A$v+8N!"
" d6k"#"
$ f%"
$ !(0%"
& f'"
& !(0'"
& 4>tF{2K'"
( f%)"
( )3F';)"
*  +"
* $.tF{";+"
, f%-"
, )3F';-"
.  /"
. $+DK"8/"
0 d6k"1"
0 &-f$51"
0 9@7H1"
2 f%3"
2 )3DK'@3"
4  5"
4 $.v"65"
6 f%7"
6 )3DK'@7"
8  9"
8 $.v"69"
8 :A$v+8N9"
: d6k";"
: &-f$5;"
: 9@7H;"
< f%="
< )3DK'@="
>  ?"
> $.v"6?"
@ f%A"
@ )3DK'@A"
B  C"
B $.v"6C"
	F "HC**5==+=s+FH "r   c                2   RpV^,          p. RVR,           3NRVR,           3NRV3NRV3NRV3NR	V3NR
VR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NRV3NRV3NRVR,           3NRVR,           3NR V3NR!V3NR"VR,           3NR#VR,           3NR$V3NR%V3NR&VR,           3NR'VR,           3NR(V3NR)V3NR*VR,           3NR+VR,           3NR,V3NR-V3NR.VR,           3NR/VR,           3NR0V3NR1V3NR2VR,           3NR3VR,           3NR4V3NR5V3NR6VR,           3NR7VR,           3NR8V3NR9V3NR:VR,           3NR;VR,           3NR<V3NR=V3NR>VR,           3NR?VR,           3NR@V3NRAV3NRBVR,           3NRCVR,           3NRDV3NREV3NRFVR,           3NRGVR,           3NRHV3NRIV3NRJVR,           3NRKVR,           3NRLV3NRMV3NRNVR,           3NROVR,           3NRPV3NRQV3NRRVR,           3NRSVR,           3NRTV3NRUV3NRVVR,           3NRWVR,           3NRXV3NRYV3NRZVR,           3NR[VR,           3NR\V3NR]V3NR^V3NR_V3NR`VR,           3NRaVR,           3NRbV3NRcV3NRdVR,           3NReVR,           3NRfV3NRgV3NRhVR,           3NRiVR,           3NRjV3NRkV3NRlVR,           3NRmVR,           3NRnV3NRoV3NRpVR,           3NRqVR,           3NRrV3NRsV3NRtVR,           3NRuVR,           3NRvV3NRwV3NpV F+  w  rEV P                  \        P                  V4      VRx4       K-  	  Ry# )za  
Test that an 'invalid continuation byte' error is raised when the
continuation byte(s) of a 4-bytes sequence are invalid.  When
errors='replace',the start byte and all the following valid
continuation bytes are replaced with a single U+FFFD, and all the bytes
starting from the first invalid continuation bytes (included) are
handled separately.
E.g. in the sequence <E1 80 41>, E1 is the start byte of a 3-bytes
sequence, 80 is a valid continuation byte, but 41 is not a valid cb
because it's the ASCII letter 'A'.
Note: when the start byte is E0 or ED, the valid ranges for the first
continuation byte are limited to A0..BF and 80..9F respectively.
However, when the start byte is ED, Python 2 considers all the bytes
in range 80..BF valid.  This is fixed in Python 3.
r  zF0 00rd  zF0 7Fr  zF0 80zF0 8FzF0 C0zF0 FFzF0 90 00zF0 90 7FzF0 90 C0zF0 90 FFzF0 BF 00zF0 BF 7FzF0 BF C0zF0 BF FFzF0 90 80 00zF0 90 80 7FzF0 90 80 C0zF0 90 80 FFzF0 90 BF 00zF0 90 BF 7FzF0 90 BF C0zF0 90 BF FFzF0 BF 80 00zF0 BF 80 7FzF0 BF 80 C0zF0 BF 80 FFzF0 BF BF 00zF0 BF BF 7FzF0 BF BF C0zF0 BF BF FFzF1 00zF1 7FzF1 C0zF1 FFzF1 80 00zF1 80 7FzF1 80 C0zF1 80 FFzF1 BF 00zF1 BF 7FzF1 BF C0zF1 BF FFzF1 80 80 00zF1 80 80 7FzF1 80 80 C0zF1 80 80 FFzF1 80 BF 00zF1 80 BF 7FzF1 80 BF C0zF1 80 BF FFzF1 BF 80 00zF1 BF 80 7FzF1 BF 80 C0zF1 BF 80 FFzF1 BF BF 00zF1 BF BF 7FzF1 BF BF C0zF1 BF BF FFzF3 00zF3 7FzF3 C0zF3 FFzF3 80 00zF3 80 7FzF3 80 C0zF3 80 FFzF3 BF 00zF3 BF 7FzF3 BF C0zF3 BF FFzF3 80 80 00zF3 80 80 7FzF3 80 80 C0zF3 80 80 FFzF3 80 BF 00zF3 80 BF 7FzF3 80 BF C0zF3 80 BF FFzF3 BF 80 00zF3 BF 80 7FzF3 BF 80 C0zF3 BF 80 FFzF3 BF BF 00zF3 BF BF 7FzF3 BF BF C0zF3 BF BF FFzF4 00zF4 7FzF4 90zF4 BFzF4 C0zF4 FFzF4 80 00zF4 80 7FzF4 80 C0zF4 80 FFzF4 8F 00zF4 8F 7FzF4 8F C0zF4 8F FFzF4 80 80 00zF4 80 80 7FzF4 80 80 C0zF4 80 80 FFzF4 80 BF 00zF4 80 BF 7FzF4 80 BF C0zF4 80 BF FFzF4 8F 80 00zF4 8F 80 7FzF4 8F 80 C0zF4 8F 80 FFzF4 8F BF 00zF4 8F BF 7FzF4 8F BF C0zF4 8F BF FFr4  Nr/  r5  s   &     r   test_invalid_cb_for_4bytes_seq&StrTest.test_invalid_cb_for_4bytes_seqj  sN     8
d6k"8
%,d6k$:8
=Df<M8
f8
 '08
3:F2C8
 f%8
 )3DK'@8
  	8
 $.v"6	8

 f%8

 )3DK'@8
  8
 $.v"68
 DK(8
 ,9$v+*F8
 F#8
 '4V%<8
 DK(8
 ,9$v+*F8
 F#8
 '4V%<8
 DK(8
 ,9$v+*F8
 F#8
 '4V%<8
 DK(8
 ,9$v+*F8
 F#8
 '4V%<8
 d6k"8
 &-d6k$:8
 >Ef<M8
  f!8
  !+DK8!8
" f%#8
" )3F';#8
$  %8
$ $.tF{";%8
& f%'8
& )3F';'8
(  )8
( $1$v+">)8
* DK(+8
* ,9&*A+8
, F#-8
, '4T&[%A-8
. DK(/8
. ,9&*A/8
0 F#18
0 '4T&[%A18
2 DK(38
2 ,9&*A38
4 F#58
4 '4T&[%A58
6 DK(78
6 ,9&*A78
8 F#98
8 '.tF{%;98
: d6k";8
: &-f$5;8
: 9@7H;8
< f%=8
< )3DK'@=8
>  ?8
> $.v"6?8
@ f%A8
@ )3DK'@A8
B  C8
B $.v"6C8
D DK(E8
D ,9$v+*FE8
F F#G8
F '4V%<G8
H DK(I8
H ,9$v+*FI8
J F#K8
J '4V%<K8
L DK(M8
L ,9$v+*FM8
N F#O8
N '4V%<O8
P DK(Q8
P ,9$v+*FQ8
R F#S8
R '4V%<S8
T d6k"U8
T &-d6k$:U8
T >Ef<MU8
V fW8
V !(0W8
V 4;F2CW8
X f%Y8
X )3DK'@Y8
Z  [8
Z $.v"6[8
\ f%]8
\ )3DK'@]8
^  _8
^ $.v"6_8
` DK(a8
` ,9$v+*Fa8
b F#c8
b '4V%<c8
d DK(e8
d ,9$v+*Fe8
f F#g8
f '4V%<g8
h DK(i8
h ,9$v+*Fi8
j F#k8
j '4V%<k8
l DK(m8
l ,9$v+*Fm8
n F#o8
n '4V%<o8
	r "HC**5==+=s+FH "r   c                H    V P                  R P                  R4      R4       R# )zwww.python.org.idnas   www.python.org.N)rb   r$   r?   s   &r   test_codecs_idnaStrTest.test_codecs_idna  s    *11&9;MNr   c                   V P                  \        R P                  R4       V P                  \        R P                  RR4       V P                  R P                  RR4      R4       V P                  R P                  RR4      R4       V P                  R P                  RR4      R P                  RRR7      4       V P                  R P                  RR4      R P                  RRR7      4       V P                  \        \        R	R4       V P                  \        \        R	RR4       V P                  \	        R	RR4      R
4       V P                  \	        R	RR4      R4       V P                  \	        RRR4      R4       V P                  RP                  RR4      R4       V P                  \        RP
                  R4       V P                  \        RP
                  R4       V P                  \        \        RR4       V P                  \        RP                  R4       V P                  \        RP                  R4       V P                  \        RP                  ^*^*^*4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       V P                  \        \        R4       R# )u   Andr xr   r   r  s   Andr xr  s   Andr? xr  )r!   r   s   Andr xzAndr xu	   Andr� xs    xu   � xs	   \N{foo}xxzunicode-escapexx   \   hellor   r    r   r
  u   N)rx   UnicodeErrorr$   rb   r]   r%   r   r  rz  ri  complexr?   s   &r   test_codecs_errorsStrTest.test_codecs_errors  s`   ,(;(;WE,(;(;WXN,,WX>	J,,WY?L,,Wi@%,,WY,G	I,,Wh?%,,gh,O	Q 	,]GD,]GXN]GX>I]GY?PY;ZH 	--.>I4P 	,6FG)X__oF)S(OD)W^^_E)W^^_E 	)W^^RR@ 	*c84*c84*eX6*eX6*gx8*gx8r   c                   V P                  R P                  R4      R4       V P                  R P                  R4      R4       V P                  R P                  R4      R4       V P                  R P                  R4      R4       V P                  R P                  R4      R4       V P                  R P                  R4      R4       V P                  R P                  R	4      R4       V P                  R
P                  4       R4       \        R4       FB  p\        V4      pR F.  pV P                  \	        VP                  V4      V4      V4       K0  	  KD  	  \        R4       FB  p\        V4      pR F.  pV P                  \	        VP                  V4      V4      V4       K0  	  KD  	  \        ^4       FB  p\        V4      pR F.  pV P                  \	        VP                  V4      V4      V4       K0  	  KD  	  \
        P                  ! 4       ;_uu_ 4        RpR F.  pV P                  \	        VP                  V4      V4      V4       K0  	  RRR4       RP                  \        \        \        \        ^ R4      4      \        \        RR4      4      ,           4      4      pR F.  pV P                  \	        VP                  V4      V4      V4       K0  	  R#   + '       g   i     L; i)r   r   rF  r  r  	utf-16-les
   h e l l o 	utf-16-bes
    h e l l olatin-1u   ☃s   ☃i   r   u   𐀁𠀂𰀃񀀄񐀅Nr   i   i   rv   )r  r  utf-16rL  rM  raw_unicode_escapeunicode_escape)rN  )r   )r  rO  rL  rM  rP  rQ  )r  )
rb   r$   r   r   r]   r  catch_warningsr   r   list)r:   r(  ur!   s   &   r   test_codecsStrTest.test_codecs  sP   0(;0(;0(;0(;46RS46RS	2H= 	*O< tAAA/   QXXh%7!A1E/  sAAA(  QXXh%7!A1E )  sAAA&  QXXh%7!A1E '  $$&&DAE  QXXh%7!A1EE ' GGCT%6"23!%"9:; < ="HS(!3H=qA # '&s   7KK)	c                   \        \        ^4      4      p. RNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9N F-  pV P                  \        W4      P	                  V4      V4       K/  	  \        \        ^R:4      4      p. RNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR!NR#NR$NR%N F-  pV P                  \        W4      P	                  V4      V4       K/  	  R;# )<r  cp037cp1026cp273cp437cp500cp720cp737cp775cp850cp852cp855cp858cp860cp861cp862cp863cp865cp866cp1125
iso8859_10
iso8859_13
iso8859_14
iso8859_15	iso8859_2	iso8859_3	iso8859_4	iso8859_5	iso8859_6	iso8859_7	iso8859_9koi8_rkoi8_tkoi8_ukz1048latin_1mac_cyrillic
mac_latin2cp1250cp1251cp1252cp1253cp1254cp1255cp1256cp1257cp1258cp856cp857cp864cp869cp874	mac_greekmac_iceland	mac_romanmac_turkishcp1006	iso8859_8r   N)rv  r   rb   r]   r$   )r:   r  r!   s   &  r   test_codecs_charmapStrTest.test_codecs_charmap	  s   %*&%'.079@   & (/ 18 :A 	 	 &	 (0	
 
 '
 )5
 7C  % '2 4? AL  %   !) +3 5>  )   !) +3 5= ?G   !)   & (/ 18  ' (3 5B  !  "!H2 S-44X>B38 %S/"&%'.079@   & (/ 18 :A 	 	 &	 (0	
 
 '
 )5
 7C  % '2  " $, .7  )H* S-44X>B+r   c                    V P                  R R 4       V P                  R R 4       V P                  R R 4       V P                  RR4       V P                  RR4       R# )r  r  Nr  r?   s   &r   test_concatenationStrTest.test_concatenationL	  sT    +1+1+1+k:+k:r   c                    R pVP                  R4      P                  R4      pV P                  W4       RpVP                  R4      P                  R4      pV P                  W4       RpVP                  R4      P                  R4      pV P                  W4        RP                  R4       V P                  R4       R#   \         dD   pT P                  TP
                  ^ 4       T P                  TP                  ^
4        Rp?R# Rp?ii ; i)rp  zraw-unicode-escapes
   \U00100000s
   \U00010000s
   \U11111111z%Should have raised UnicodeDecodeErrorN)r$   r%   rb   failr  startend)r:   r)  rg  r   s   &   r   	test_ucs4StrTest.test_ucs4S	  s    HH)*112FGHH)*112FGHH)*112FG	?!!"67
 II=>	 " 	(QWWa(QUUB''	(s   B? ?D
8DDc           	         ! R  R\         4      pV P                  \        \        R4      4      R4       V P                  \        \        \        R4      4      4      \        R4      4       V P                  \        \        R4      4      \        R4      4       V P                  \        \        \        R4      4      4      \        R4      4       V P                  \        \        \	        R4      4      4      \        R4      4       V P                  \        V! R4      4      R4       V P                  \        V! \        R4      4      4      \        R4      4       V P                  \        V! R4      4      \        R4      4       V P                  \        V! \        R4      4      4      \        R4      4       V P                  \        V! \	        R4      4      4      \        R4      4       V P                  \        \        R4      4      R4       V P                  \        \        \        R4      4      4      \        R4      4       V P                  \        \        R4      4      \        R4      4       V P                  \        \        \        R4      4      4      \        R4      4       V P                  \        \        \	        R4      4      4      \        R4      4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )+StrTest.test_conversion.<locals>.StrWithStrii	  c                >    \         P                  V R 4      pWn        V# )r   )r]   __new__r8   )r   r8   r:   s   && r   r  3StrTest.test_conversion.<locals>.StrWithStr.__new__j	  s    {{3+"
r   c                    V P                   # r6   r7   r?   s   &r   r@   3StrTest.test_conversion.<locals>.StrWithStr.__str__n	  ra  r   r7   N)r+   r,   r-   r.   r  r@   r/   rD   rE   s   @r   
StrWithStrr  i	  s     " "r   r  r   r   N)r]   rq   r4   r)   r2   rI   )r:   r  s   & r   test_conversionStrTest.test_conversiong	  s   	" 	" 	c'%.159c'+e*<"=>E@RSk'%.9;u;MNk'+e2D*EF)%0	2k'2B52I*JK)%0	2 	c*U"34e<c*[-?"@A;uCUVk*U*;<k%>PQk*[5G*HI)%0	2k*5Ee5L*MN)%0	2 	c(7"34g>c(;w+?"@A;wCWXk(7*;<k'>RSk(;w3G*HI)'2	4k(3CG3L*MN)'2	4r   c                Z     ! R  R4      pV P                  \        V! 4       4      R4       R# )c                   &   a  ] tR tRt o R tRtV tR# )%StrTest.test_unicode_repr.<locals>.s1i	  c                    R # )\nr   r?   s   &r   rM   .StrTest.test_unicode_repr.<locals>.s1.__repr__	  s    r   r   Nr_   rE   s   @r   s1r  	  s      r   r  r  Nrb   r   )r:   r  s   & r   test_unicode_reprStrTest.test_unicode_repr	  s$    	 	 	bdU+r   c                    V P                  \        R 4      RR,          4       V P                  \        R4      R4       R# )rq  z'%c'u   􀀁z'\U00100001'N)   r  r?   s   &r   test_printable_reprStrTest.test_printable_repr	  s1    l+Vj-@Al+_=r   Pz only applies to 32-bit platformsc                d    V P                  \        R P                  \        P                  4       R# )zt	t	N)rx   r}  
expandtabsr{  r|  r?   s   &r   $test_expandtabs_overflows_gracefully,StrTest.test_expandtabs_overflows_gracefully	  s      	-)<)<ckkJr   c                J    R pV P                  VP                  4       V4       R# r   N)rn   r  )r:   r  s   & r   test_expandtabs_optimization$StrTest.test_expandtabs_optimization	  s    allna(r   c           	     x  a	a
 R pVR,           p\         P                  ! V4      p\         P                  ! V4      pR F  o	\        S	4      pV^8  d   ^pTpMVR8  d   ^pTpMVR8  d   ^pTpM^pTp\        P                  V,
          V,          o
V	V
3R lpV P                  S	VVR7      ;_uu_ 4        V P                  \        P                  ! S	^*,          4      Wv^+,          ,           4       V P                  \        V4       V P                  \        V4       RRR4       K  	  R#   + '       g   i     K  ; i)nnbnPr   r  c                     < S S,          # r6   r   )r  maxlens   r   <lambda>,StrTest.test_raiseMemError.<locals>.<lambda>	  s	    D6Mr   )r  struct_size	char_sizeN)r   r5  r  r  )
r   calcobjsizer=  r{  r|  r   rb   	getsizeofrx   rX  )r:   asciifieldscompactfieldsascii_struct_sizecompact_struct_sizecoder  r  allocr  r  s   &        @@r   test_raiseMemErrorStrTest.test_raiseMemError	  s$   #d*#//<%11-@9Dt9Dd{	/	1	1	1 {{[0Y>F)E'#      MM$),#78 !!+u5!!+u5 ' :&  s   3A'D((D9c                     ! R  R\         4      pV! R4      pV P                  RV,          R4       V P                  RP                  V4      R4       R# )c                   &   a  ] tR tRt o R tRtV tR# )'StrTest.test_format_subclass.<locals>.Si	  c                    R # )__str__ overriddenr   r?   s   &r   r@   /StrTest.test_format_subclass.<locals>.S.__str__	  s    +r   r   NrR  rE   s   @r   r  r  	  s     , ,r   r  xxxrT  r  r  N)r]   rb   r  r:   r  r  s   &  r   test_format_subclassStrTest.test_format_subclass	  sG    	, 	, eH#78Q)=>r   c                     ! R  R\         4      pV P                  V! R4      V! R4      ,           R4        ! R R\         4      pV! R4      pVR,          pV P                  VR4       R# )c                   &   a  ] tR tRt o R tRtV tR# )$StrTest.test_subclass_add.<locals>.Si	  c                    R # rq  r   r:   r  s   &&r   __add__,StrTest.test_subclass_add.<locals>.S.__add__	      r   r   N)r+   r,   r-   r.   r  r/   rD   rE   s   @r   r  r  	  r  r   r  r=  r  rq  c                   &   a  ] tR tRt o R tRtV tR# )r  i	  c                    R # r  r   r  s   &&r   __iadd__-StrTest.test_subclass_add.<locals>.S.__iadd__	  r  r   r   N)r+   r,   r-   r.   r  r/   rD   rE   s   @r   r  r  	  r  r   rn  Nr  r  s   &  r   test_subclass_addStrTest.test_subclass_add	  s\    	 	 	3!C&#.	 	 cF	SC r   c                    R pVP                  4       pV P                  V^ ,          V4       V P                  V^ ,          V4       V P                  \        V4      ^4       R# r  )__getnewargs__assertIsNotrb   r  )r:   r&   rh   s   &  r   test_getnewargsStrTest.test_getnewargs	  sQ    ""$a$'a$'TA&r   c                L   ^
pRV,          pRV,          pRV,          pRV,          pRV,          pRV,          pRV,          pRV,          p	W#WEWgW3p
\         P                  ! V
^4       F  w  rWJ pV P                  W8H  V4       V P                  W8g  V'       * 4       V'       g   K?  V P                  W8*  4       V P                  W8  4       \	        V4      p\	        V4      pV P                  W4       V P                  W8H  4       V P                  W8g  4       V P                  W8*  4       V P                  W8  4       K  	  V P                  W#8  4       V P                  W$8  4       V P                  W&8  4       V P                  W(8  4       V P                  W#8  4       V P                  W$8  4       V P                  W&8  4       V P                  W(8  4       V P                  WB8  4       V P                  WE8  4       V P                  WF8  4       V P                  WH8  4       V P                  WB8  4       V P                  WE8  4       V P                  WF8  4       V P                  WH8  4       V P                  Wb8  4       V P                  Wd8  4       V P                  Wg8  4       V P                  Wh8  4       V P                  Wb8  4       V P                  Wd8  4       V P                  Wg8  4       V P                  Wh8  4       V P                  W8  4       V P                  W8  4       V P                  W8  4       V P                  W8  4       V P                  W8  4       V P                  W8  4       V P                  W8  4       V P                  W8  4       R	# )
r  r   r,  r  rt   rh  ru   rp  r  N)	itertoolscombinationsrb   rc   r'   r  r  )r:   r  r   ascii2latinlatin2bmpbmp2astralastral2stringstext1text2equalcopy1copy2s   &               r   test_compareStrTest.test_compare	  s   aq
!l!|!"	
 &227A>LE^EU^U3U^Y7u//
 )/(/  ./  0//) ?, 	'&$')(&)''$'')&)%%
#%%%%'(('()(('*+r   c                    \         P                  ! V \        \        4       \         P                  '       g#   \         P                  ! V \
        \        4       R # R # r6   )r   check_free_after_iteratingr   r]   Py_GIL_DISABLEDreversedr?   s   &r   test_free_after_iterating!StrTest.test_free_after_iterating.
  s7    **4s;&&&..tXsC 'r   c                    RpRp\         P                  ! RV: RV: RV: RV: RV: RV: RV: R	24      p\        R
RRV4      pV P                  VP                  ^
V4       R# )r   zBoom, Shaka Laka, Boom!z0
            import sys
            encodings = zn

            for data in (b'', b'short string'):
                try:
                    str(data, encoding=z)
                except LookupError:
                    pass
                else:
                    sys.exit(21)

                try:
                    str(data, errors=z)
                except LookupError:
                    pass
                else:
                    sys.exit(22)

                for encoding in encodings:
                    try:
                        str(data, encoding, errors=z)
                    except LookupError:
                        pass
                    else:
                        sys.exit(22)

            for data in ('', 'short string'):
                try:
                    data.encode(encoding=z)
                except LookupError:
                    pass
                else:
                    sys.exit(23)

                try:
                    data.encode(errors=z)
                except LookupError:
                    pass
                else:
                    sys.exit(24)

                for encoding in encodings:
                    try:
                        data.encode(encoding, errors=z)
                    except LookupError:
                        pass
                    else:
                        sys.exit(24)

            sys.exit(10)
        z-Xdevz-cN)r   utf8latin1)textwrapdedentr   rb   rc)r:   	encodingsinvalidr  procs   &    r   test_check_encoding_errors"StrTest.test_check_encoding_errors3
  s     0	+ $" &( )0{ 3& '.[ 14 5<; ?* +2 5( )0{ 36 7>[ A	Y3  3h %T5$="d+r   c           	        V P                  \        R 4      ;_uu_ 4        \        RRRR4       RRR4       V P                  \        R 4      ;_uu_ 4        \        ^RR^4       RRR4       V P                  \        R4      ;_uu_ 4        \        ^R7       RRR4       V P                  \        R	4      ;_uu_ 4        \        ^^4       RRR4       V P                  \        R	4      ;_uu_ 4        \        ^^R
7       RRR4       V P                  \        R4      ;_uu_ 4        \        RR4       RRR4       V P                  \        R4      ;_uu_ 4        \        RRR
7       RRR4       V P                  \        R	4      ;_uu_ 4        \        ^^^4       RRR4       V P                  \        R4      ;_uu_ 4        \        ^^R7       RRR4       V P                  \        R4      ;_uu_ 4        \        ^R^R7       RRR4       V P                  \        R4      ;_uu_ 4        \        RRR4       RRR4       V P                  \        R4      ;_uu_ 4        \        RRRR7       RRR4       V P                  \        R4      ;_uu_ 4        \        RRRR
7       RRR4       V P                  \        R4      ;_uu_ 4        \        RRRRR
7       RRR4       V P                  \        R4      ;_uu_ 4        \        RRRRR7       RR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Lq; i  + '       g   i     ELR; i  + '       g   i     EL2; i  + '       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Lo; i  + '       g   i     ELM; i  + '       g   i     R# ; i)z'str expected at most 3 arguments, got 4toomanyargumentsNr   z1str\(\) got an unexpected keyword argument 'test')r@  z0str\(\) argument 'encoding' must be str, not intr  z2str\(\) argument 'encoding' must be str, not bytes   xr  z.str\(\) argument 'errors' must be str, not intr  z0str\(\) argument 'errors' must be str, not bytesr   s   strictzDargument for str\(\) given by name \('encoding'\) and position \(2\)r  z-str\(\) takes at most 3 arguments \(4 given\)r  r   )r  r   r]   r?   s   &r   test_str_invalid_callStrTest.test_str_invalid_callo
  s   ##I/YZZvvw/ [##I/YZZ2r1 [ ##I/cddQK e ##I/bcc1I d##I/bccA d##I/deeh f##I/deex( f ##I/bcc1aL d##I/`aa! b##I/`aa2a  b##I/bccgy) d##I/bccgi0 d ##I/vwwg0 x##I/_``gx': a##I/_``gx9 a`I [ZZZZZ edd dccccceeeeee dccaaaaaacccccc xww``````s   LL)	L=<M/M%#M9N
N!>N52O	'OO1PP;P-L&	)L:	=M	M"	%M6	9N
	N	!N2	5O		O	O.	1P	P	P*	-P>	r   l        i)zr+   r,   r-   r.   r]   r>  rW   rk   rq   r|   r   r   r   r   r   r   r   r   r   r  r  r  rD  rN  rV  r\  r`  rs  unittestskipIfr{  r|  r  r  r   cpython_onlyr  r  r  r  r  r  r  r  requires_resourcer  r  r  r  r  r  r  r  r  r  r  r0  r9  r@  rF  rK  rO  rS  
skipUnlessrZ  rm  rt  r  r&  r-  r1  r4  rE  r  r  r  r  r  r  r  r  run_with_localer  r  r  r  r  r  r  r  r  r!  r'  r*  r1  r7  r:  r=  rA  rI  rU  r  r  r  r  r  r  structcalcsizer  r  r  r  r  r  r  r  r  r  r/   rD   __classcell__)r  rF   s   @@r   rQ   rQ   J   s     I<6$+,)DV*CX32<A87<+HZ'IRR0S4DHLM";(R"S"@( __S[[5(46767
@. < <
.,?99v11
KL u%4 &4G
11
K$
IK&-5 u%- &-O65,85"H"9"D4< 	13KL
  M
%;N	,F5P
5Mn1
1
0
I<hNT#+J*
K __Y$&(?@* A *
*
( Xw<. =.@
DE	P1"fCJ7"-H^/W8r1&AE4H,8HtMH^O'9R-B^5Cn;?( 4D,> __S[[G,II0D0I79K9K ) )$6L?
!'H,TD
:,x': ':r   rQ   c                   2   a  ] tR tRt o R tR tR tRtV tR# )StringModuleTesti
  c                f   R  pV! R4      pV P                  V. RO4       V! R4      pV P                  VRR	.4       V! R4      pV P                  VR
.4       V! R4      pV P                  V. 4       V! R4      pV P                  VR.4       V P                  \        \        P                  ^4       R# )c                 @    \        \        P                  ! V 4      4      # r6   )rS  _stringformatter_parserr  s   &r   parse5StringModuleTest.test_formatter_parser.<locals>.parse
  s    00899r   z2prefix {2!s}xxx{0:^+10.3f}{obj.attr!s} {z[0]!s:10}r   Nzprefix {} suffixr]   r  ))prefix ro  r   r  )r  r  z^+10.3fN)r   zobj.attrr   r  )rw   zz[0]r  r  )r,  r   r   N)z suffixNNN)r]   NNN)r   r  r   N)rb   rx   r   r(  r)  )r:   r*  	formatters   &  r   test_formatter_parser&StringModuleTest.test_formatter_parser
  s    	: NO	 %
 	 ,-	%)%
 	
 %L	%%
 	 "I	B'%L	%
 	 	)W%=%=qAr   c                .   R  pV P                  V! R4      R. .4       V P                  V! R4      RR..4       V P                  V! R4      RR..4       V P                  V! R4      R. RO.4       V P                  \        \        P                  ^4       R# )	c                 n    \        \        P                  ! V 4      4      p\        V^,          4      V^&   V# r;  )rS  r(  formatter_field_name_split)r  itemss   & r   rH  ?StringModuleTest.test_formatter_field_name_split.<locals>.split
  s-    ;;DABEE!H~E!HLr   r  zobj.argzobj[key]zobj.arg[key1][key2]NTarg)Fr  )r5  )Fkey1)Fkey2)rb   rx   r   r(  r2  )r:   rH  s   & r   test_formatter_field_name_split0StringModuleTest.test_formatter_field_name_split
  s    	 	ur{3y)EM?+CDz*U^4D,EF458 	 	)W%G%GKr   c                0   \        R 4      p\        R4      p ! R R4      pV! 4       pV P                  \        4      ;_uu_ 4        \        WA4       RRR4       \	        WA^4       V P                  VP                  ^4       ^Vn        V P                  \        VP                  4      V.4       V P                  \        4      ;_uu_ 4        \        WB4       RRR4       V P                  \        4      ;_uu_ 4        V=	RRR4       \	        WB^4       V P                  VP                  ^4       ^Vn	        V P                  \        VP                  4      W.4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i)r  name2c                       ] tR tRtRtR# )4StringModuleTest.test_str_subclass_attr.<locals>.Bagi
  r   Nr*   r   r   r   Bagr>  
  r   r   r?  N)
r)   rx   AttributeErrordelattrsetattrrb   r  rS  __dict__r<  )r:   r  r<  r?  r  s   &    r   test_str_subclass_attr'StringModuleTest.test_str_subclass_attr
  s   6"G$	 	 E~..A /#ajj)D62~..A /~.. /!!$ajj)D=9 /.. /...s$   EE2<FE/	2F	F	r   N)	r+   r,   r-   r.   r.  r9  rD  r/   rD   rE   s   @r   r%  r%  
  s     BBL : :r   r%  __main__)$__doc__r(  rS   r  r  r  r   r!  r{  r  r  r  r  test.supportr   r@  r   r   test.support.script_helperr   r  ImportErrorr"   r'   r]   r)   r2   r4   rI   r   MixinStrUnicodeTestTestCaserQ   r%  r+   mainr   r   r   <module>rN     s           
     ( & <
 "	# 		s 	  L):l))((L):^RH:x(( H:V zMMO UV  Is   C 	C$#C$