+
    Bi             
       8   ^ 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t^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt  ^ RIt^ RIHt ^ RIHt ^ RIHtHtHtHtHtH t  ^ RI!H"t" ^ RI#H$t$ ^ R	IH%t% ^ R
I&H't' ^ RIH(t(  ]'! 4       ;_uu_ 4        ^ RI)t*RRR4       ]PV                  ! ]PX                  R8  R4      t-].! ]P^                  ^,           4      t0R t1R t2R t3 ! R R]Ph                  4      t5 ! R R]64      t7 ! R R4      t8 ! R R4      t9 ! R R]94      t: ! R R]94      t;^ RI<t<]9]<n9        R]9n=        ]:]<n:        R]:n=        ];]<n;        R];n=         ! R R4      t> ! R R 4      t? ! R! R"]@4      tA ! R# R$]94      tB ! R% R&]C4      tD ! R' R(]6]DR)7      tE ! R* R+]C4      tFR, tG ! R- R.]H4      tI ! R/ R0]J4      tK]e    ! R1 R24      tLR3tMR4tNR5tOR6tPR7tQR8tRR9tSR:tTR;tUR<tVR=tWR>tXR?tYR@tZ. ][N]\N]]N]^N]_N]`N]aN]bN]cN]dN]eN]fN]gN]hN]N]iN]jN]kN]lN]mN]nN]oN]pN]qN]rN]sN]tN]uN]vN]wN]xN]yN]zN]{N]|N]}N]~N]N]N]N]N]N]N]N5tRAtRBtRC t ! RD RE4      t ! RF RG4      t ! RH RI4      t ! RJ RK4      t ! RL RM4      t ! RN RO4      t ! RP RQ]64      t ! RR RS]64      t ! RT RU]64      t ! RV RW]64      t ! RX RY]64      t ! RZ R[]64      t ! R\ R]]64      t ! R^ R_]64      t ! R` Ra4      t ! Rb Rc4      t ! Rd Re4      t ! Rf Rg]d4      t ! Rh Ri4      t]! 4       t ! Rj Rk]4      t ! Rl Rm]@4      t ! Rn Ro]4      t ! Rp Rq]4      t ! Rr Rs]4      t ! Rt Ru]4      t ! Rv Rw]4      t ! Rx Ry]4      t ! Rz R{]4      t ! R| R}]4      t ! R~ R]4      t]]]]]]]]]].
t ! R R]@4      t ! R R]4      t ! R R]4      t ! R R]@4      s ! R RE\j        4      t ! R RE\j        4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      tRt ! R R]64      t ! R R]64      tR t ! R R4      t ! R R4      t ! R R4      t]R8X  d   ^ RI	Ht ]! 4       t].! ]P^                  ^,           4       F  t]EP                  ! ]]4      t]! REP                  ]4      4       ].! ^ ]! ]4      ^4       F-  t]H! ]]]^,            4      t]! REP                  ]4      4       K/  	  ]! R4       ]! 4        ]! REP                  ]4      4       ]! REP                  ]4      4       ]! ]4       ]! R4       ]! 4        K  	  R# R#   ] d    Rt ELi ; i  + '       g   i     EL; i  ] d    Rt* ELi ; i)    N)dedent)SimpleCookie)support)	os_helper)
TestFailedrun_with_locales
no_tracing_2G_4G
bigmemtest)forget)TESTFN)threading_helper)save_restore_warnings_filters)bytes_typesz(test is only meaningful on 32-bit buildsc                     \         P                  ! V4       F*  w  p pVP                  V P                  R 4      8X  g   K)   R# 	  R# )latin-1TFpickletoolsgenopscodedecode)r   pickleopdummys   &&  (/usr/lib/python3.14/test/pickletester.pyopcode_in_pickler   ;   s;    '..v6E577dkk),, 7     c                     ^ p\         P                  ! V4       F2  w  p pVP                  V P                  R4      8X  g   K)  V^,          pK4  	  V# )r   r   r   )r   r   nr   r   s   &&   r   count_opcoder!   B   sH    	A'..v6E577dkk),,FA 7 Hr   c                     V # N xs   &r   identityr'   J   s    Hr   c                   8   a  ] tR t^Nt o R tR tR tR tRtV t	R# )UnseekableIOc                    \         hr#   )NotImplementedErrorselfargss   &*r   peekUnseekableIO.peekO   s    !!r   c                    R # )Fr$   r-   s   &r   seekableUnseekableIO.seekableR   s    r   c                "    \         P                  hr#   ioUnsupportedOperationr,   s   &*r   seekUnseekableIO.seekU       %%%r   c                "    \         P                  hr#   r6   r2   s   &r   tellUnseekableIO.tellX   r;   r   r$   N)
__name__
__module____qualname____firstlineno__r/   r3   r9   r=   __static_attributes____classdictcell____classdict__s   @r   r)   r)   N   s     "&& &r   r)   c                   *   a  ] tR t^\t o RtR tRtV tR# )	MinimalIOz5
A file-like object that doesn't support readinto().
c                   \         P                  ! V!  V n        V P                  P                  V n        V P                  P                  V n        V P                  P
                  V n        V P                  P                  V n        R # r#   )r7   BytesIO_biogetvaluereadreadlinewriter,   s   &*r   __init__MinimalIO.__init__`   sR    JJ%			**IINN			**YY__
r   )rK   rL   rM   rN   rO   N)r?   r@   rA   rB   __doc__rP   rC   rD   rE   s   @r   rH   rH   \   s     % %r   rH   c                   ,   a  ] tR t^rt o R tR tRtV tR# )ExtensionSaverc                    Wn         V\        P                  9   dY   \        P                  V,          V n        \        P                  ! V P                  ^ ,          V P                  ^,          V4       R# RV n        R# r   N)r   copyreg_inverted_registrypairremove_extension)r-   r   s   &&r   rP   ExtensionSaver.__init__u   sP    	7---2248DI$$TYYq\499Q<FDIr   c                    V P                   p\        P                  P                  V4      pVe'   \        P                  ! V^ ,          V^,          V4       V P
                  pVe)   \        P                  ! V^ ,          V^,          V4       R # R # r#   )r   rW   rX   getrZ   rY   add_extension)r-   r   curpairrY   s   &   r   restoreExtensionSaver.restore~   so    yy,,006$$WQZTByy!!$q'47D9 r   )r   rY   N)r?   r@   rA   rB   rP   r`   rC   rD   rE   s   @r   rT   rT   r   s     : :r   rT   c                   &   a  ] tR t^t o R tRtV tR# )Cc                4    V P                   VP                   8H  # r#   )__dict__r-   others   &&r   __eq__C.__eq__   s    }}..r   r$   N)r?   r@   rA   rB   rh   rC   rD   rE   s   @r   rc   rc      s     / /r   rc   c                   &   a  ] tR t^t o R tRtV tR# )Dc                    R # r#   r$   )r-   args   &&r   rP   
D.__init__       r   r$   Nr?   r@   rA   rB   rP   rC   rD   rE   s   @r   rk   rk            r   rk   c                   &   a  ] tR t^t o R tRtV tR# )Ec                    R# Nr$   r$   r2   s   &r   __getinitargs__E.__getinitargs__   s    	r   r$   N)r?   r@   rA   rB   rv   rC   rD   rE   s   @r   rs   rs      s      r   rs   __main__c                       ] tR t^tRtR# )Objectr$   Nr?   r@   rA   rB   rC   r$   r   r   rz   rz          r   rz   c                   ,   a  ] tR t^t o R tR tRtV tR# )Kc                    Wn         R # r#   value)r-   r   s   &&r   rP   
K.__init__       
r   c                (    \         V P                  33# r#   )r~   r   r2   s   &r   
__reduce__K.__reduce__   s    4::-r   r   Nr?   r@   rA   rB   rP   r   rC   rD   rE   s   @r   r~   r~      s        r   r~   c                   &   a  ] tR t^t o R tRtV tR# )myintc                &    \        V4      V n         R # r#   str)r-   r&   s   &&r   rP   myint.__init__   s    q6r   r   Nrp   rE   s   @r   r   r            r   r   c                   ,   a  ] tR t^t o R tR tRtV tR# )initargc                    Wn         W n        R # r#   ab)r-   r   r   s   &&&r   rP   initarg.__init__   s    r   c                2    V P                   V P                  3# r#   r   r2   s   &r   rv   initarg.__getinitargs__   s    vvtvv~r   r   N)r?   r@   rA   rB   rP   rv   rC   rD   rE   s   @r   r   r      s      r   r   c                       ] tR t^tRtR# )	metaclassr$   Nr{   r$   r   r   r   r      r|   r   r   c                       ] tR t^tRtR# )use_metaclassr$   Nr{   r$   r   r   r   r      r|   r   r   )r   c                   ,   a  ] tR t^t o R tR tRtV tR# )pickling_metaclassc                r    \        V 4      \        V4      8H  ;'       d    V P                  VP                  8H  # r#   )typereduce_argsrf   s   &&r   rh   pickling_metaclass.__eq__   s5    T
d5k) 6 6  E$5$55	7r   c                &    \         V P                  3# r#   )create_dynamic_classr   r2   s   &r   r   pickling_metaclass.__reduce__   s    $d&6&677r   r$   N)r?   r@   rA   rB   rh   r   rC   rD   rE   s   @r   r   r      s     78 8r   r   c                 >    \        W\        4       4      pW3Vn        V# r#   )r   dictr   )namebasesresults   && r   r   r      s    TV4FFMr   c                   P   a  ] tR t^t o RtRtRtRtR tR t	]	t
]R 4       tRtV tR# )ZeroCopyBytesTc                    V^8  d.   \        V 4      P                  \        P                  ! V 4      3R3# \        V 4      P                  \	        V 4      33#    Nr   _reconstructr   PickleBufferbytesr-   protocols   &&r   __reduce_ex__ZeroCopyBytes.__reduce_ex__   I    q=:**V-@-@-F,H$NN:**U4[N::r   c                `    R P                  V P                  P                  \        V 4      4      # z{}({!r})format	__class__r?   r   r2   s   &r   __repr__ZeroCopyBytes.__repr__   #      !8!8%+FFr   c                    \        V4      ;_uu_ 4       pVP                  p\        V4      V J d   VuuR R R 4       # V ! V4      uuR R R 4       #   + '       g   i     R # ; ir#   
memoryviewobjr   clsr   ms   && r   r   ZeroCopyBytes._reconstruct   A    __%%CCyC	 _ 3x ___   AAA	r$   Nr?   r@   rA   rB   readonlyc_contiguousf_contiguouszero_copy_reconstructr   r   __str__classmethodr   rC   rD   rE   s   @r   r   r      s>     HLL ;G G   r   r   c                   P   a  ] tR t^t o RtRtRtRtR tR t	]	t
]R 4       tRtV tR# )ZeroCopyBytearrayFTc                    V^8  d.   \        V 4      P                  \        P                  ! V 4      3R3# \        V 4      P                  \	        V 4      33# r   r   r   s   &&r   r   ZeroCopyBytearray.__reduce_ex__   r   r   c                `    R P                  V P                  P                  \        V 4      4      # r   r   r2   s   &r   r   ZeroCopyBytearray.__repr__   r   r   c                    \        V4      ;_uu_ 4       pVP                  p\        V4      V J d   VuuR R R 4       # V ! V4      uuR R R 4       #   + '       g   i     R # ; ir#   r   r   s   && r   r   ZeroCopyBytearray._reconstruct   r   r   r$   Nr   rE   s   @r   r   r      s>     HLL ;G G   r   r   c                      a  ] tR tRt o RtR tR t]R 4       t]R 4       t	]R 4       t
R tR	 tR
 tR t]R 4       tRtV tR# )PicklableNDArrayi  Fc                <    \         P                  ! V/ VB V n        R # r#   )_testbufferndarrayarrayr-   r.   kwargss   &*,r   rP   PicklableNDArray.__init__	  s    $,,d=f=DJr   c                n    \        V 4      pVP                  V4      pV P                  V,          Vn        V# r#   )r   __new__r   )r-   idxr   news   &&  r   __getitem__PicklableNDArray.__getitem__  s-    t*C++c"C

3CIJr   c                .    V P                   P                  # r#   )r   r   r2   s   &r   r   PicklableNDArray.readonly  s    ::&&&r   c                .    V P                   P                  # r#   )r   r   r2   s   &r   r   PicklableNDArray.c_contiguous      ::***r   c                .    V P                   P                  # r#   )r   r   r2   s   &r   r   PicklableNDArray.f_contiguous  r   r   c                L   \        V\        4      '       g   \        # VP                  P                  V P                  P                  8H  ;'       d    VP                  P
                  V P                  P
                  8H  ;'       d    VP                  P                  V P                  P                  8H  ;'       dk    VP                  P                  V P                  P                  8H  ;'       d6    VP                  P                  4       V P                  P                  4       8H  # r#   )	
isinstancer   NotImplementedr   r   shapestridesr   tobytesrf   s   &&r   rh   PicklableNDArray.__eq__  s    e%566%%KK&&$***;*;; B BKK%%)9)99B BKK''4::+=+==B B KK((DJJ,?,??B B KK'')TZZ-?-?-AA	Cr   c                D    \        V\        4      '       g   \        # W8X  * # r#   )r   r   r   rf   s   &&r   __ne__PicklableNDArray.__ne__'  s    e%566%%&&r   c                    \        V 4       R V P                  P                   RV P                  P                   RV P                  P	                  4        R2# )z(shape=z	,strides=z, bytes=))r   r   r   r   r   r2   s   &r   r   PicklableNDArray.__repr__,  sU    Dzl'$***:*:); <#zz112 3!ZZ//12!5 6r   c                Z   V P                   P                  '       g   \        R 4      hRV P                   P                  RV P                   P                  RV P                   P
                  RV P                  '       d   ^ M\        P                  /p\        P                  ! V P                   4      pV^8  d   \        V 4      P                  W233# VP                  4       ;_uu_ 4       p\        V 4      P                  VP                  4       V33uuRRR4       #   + '       g   i     R# ; i)z>Reconstructing a non-contiguous ndarray does not seem possibler   r   r   flagsN)r   
contiguousr+   r   r   r   r   r   ND_WRITABLEr   r   r   r   rawr   )r-   r   ndarray_kwargspbr   s   &&   r   r   PicklableNDArray.__reduce_ex__1  s    ::((() +K L L%tzz'7'7'););&

(9(9%T]]]-8-D-D	GN
 $$TZZ0B1}T
//,. . VVXX J33YY[.9; XXXs   ''DD*	c                    \        V4      ;_uu_ 4       p\        VP                  4       4      pR R R 4       V ! X3/ VB #   + '       g   i     L; ir#   )r   listr   )r   r   r   r   itemss   &&&  r   r   PicklableNDArray._reconstructD  s>    CA QYY[) ! u'''	 !s	   ?A	)r   N)r?   r@   rA   rB   r   rP   r   propertyr   r   r   rh   r   r   r   r   r   rC   rD   rE   s   @r   r   r     s|      !&	>	 
	' 
	' 
	+ 
	+ 
	+ 
	+	C	'
	6
	;& 
	( 
	(r   r   s;  (lp0
L0L
aL1L
aF2.0
ac__builtin__
complex
p1
(F3.0
F0.0
tp2
Rp3
aL1L
aL-1L
aL255L
aL-255L
aL-256L
aL65535L
aL-65535L
aL-65536L
aL2147483647L
aL-2147483647L
aL-2147483648L
a(Vabc
p4
g4
ccopy_reg
_reconstructor
p5
(c__main__
C
p6
c__builtin__
object
p7
Ntp8
Rp9
(dp10
Vfoo
p11
L1L
sVbar
p12
L2L
sbg9
tp13
ag13
aL5L
a.an      0: (    MARK
    1: l        LIST       (MARK at 0)
    2: p    PUT        0
    5: L    LONG       0
    9: a    APPEND
   10: L    LONG       1
   14: a    APPEND
   15: F    FLOAT      2.0
   20: a    APPEND
   21: c    GLOBAL     '__builtin__ complex'
   42: p    PUT        1
   45: (    MARK
   46: F        FLOAT      3.0
   51: F        FLOAT      0.0
   56: t        TUPLE      (MARK at 45)
   57: p    PUT        2
   60: R    REDUCE
   61: p    PUT        3
   64: a    APPEND
   65: L    LONG       1
   69: a    APPEND
   70: L    LONG       -1
   75: a    APPEND
   76: L    LONG       255
   82: a    APPEND
   83: L    LONG       -255
   90: a    APPEND
   91: L    LONG       -256
   98: a    APPEND
   99: L    LONG       65535
  107: a    APPEND
  108: L    LONG       -65535
  117: a    APPEND
  118: L    LONG       -65536
  127: a    APPEND
  128: L    LONG       2147483647
  141: a    APPEND
  142: L    LONG       -2147483647
  156: a    APPEND
  157: L    LONG       -2147483648
  171: a    APPEND
  172: (    MARK
  173: V        UNICODE    'abc'
  178: p        PUT        4
  181: g        GET        4
  184: c        GLOBAL     'copy_reg _reconstructor'
  209: p        PUT        5
  212: (        MARK
  213: c            GLOBAL     '__main__ C'
  225: p            PUT        6
  228: c            GLOBAL     '__builtin__ object'
  248: p            PUT        7
  251: N            NONE
  252: t            TUPLE      (MARK at 212)
  253: p        PUT        8
  256: R        REDUCE
  257: p        PUT        9
  260: (        MARK
  261: d            DICT       (MARK at 260)
  262: p        PUT        10
  266: V        UNICODE    'foo'
  271: p        PUT        11
  275: L        LONG       1
  279: s        SETITEM
  280: V        UNICODE    'bar'
  285: p        PUT        12
  289: L        LONG       2
  293: s        SETITEM
  294: b        BUILD
  295: g        GET        9
  298: t        TUPLE      (MARK at 172)
  299: p    PUT        13
  303: a    APPEND
  304: g    GET        13
  308: a    APPEND
  309: L    LONG       5
  313: a    APPEND
  314: .    STOP
highest protocol among opcodes = 0
s   ]q (K KG@       c__builtin__
complex
q(G@      G        tqRqKJKJJ MJ J  JJ  J   (X   abcqhccopy_reg
_reconstructor
q(c__main__
C
qc__builtin__
object
qNtqRq	}q
(X   fooqKX   barqKubh	tqhKe.a      0: ]    EMPTY_LIST
    1: q    BINPUT     0
    3: (    MARK
    4: K        BININT1    0
    6: K        BININT1    1
    8: G        BINFLOAT   2.0
   17: c        GLOBAL     '__builtin__ complex'
   38: q        BINPUT     1
   40: (        MARK
   41: G            BINFLOAT   3.0
   50: G            BINFLOAT   0.0
   59: t            TUPLE      (MARK at 40)
   60: q        BINPUT     2
   62: R        REDUCE
   63: q        BINPUT     3
   65: K        BININT1    1
   67: J        BININT     -1
   72: K        BININT1    255
   74: J        BININT     -255
   79: J        BININT     -256
   84: M        BININT2    65535
   87: J        BININT     -65535
   92: J        BININT     -65536
   97: J        BININT     2147483647
  102: J        BININT     -2147483647
  107: J        BININT     -2147483648
  112: (        MARK
  113: X            BINUNICODE 'abc'
  121: q            BINPUT     4
  123: h            BINGET     4
  125: c            GLOBAL     'copy_reg _reconstructor'
  150: q            BINPUT     5
  152: (            MARK
  153: c                GLOBAL     '__main__ C'
  165: q                BINPUT     6
  167: c                GLOBAL     '__builtin__ object'
  187: q                BINPUT     7
  189: N                NONE
  190: t                TUPLE      (MARK at 152)
  191: q            BINPUT     8
  193: R            REDUCE
  194: q            BINPUT     9
  196: }            EMPTY_DICT
  197: q            BINPUT     10
  199: (            MARK
  200: X                BINUNICODE 'foo'
  208: q                BINPUT     11
  210: K                BININT1    1
  212: X                BINUNICODE 'bar'
  220: q                BINPUT     12
  222: K                BININT1    2
  224: u                SETITEMS   (MARK at 199)
  225: b            BUILD
  226: h            BINGET     9
  228: t            TUPLE      (MARK at 112)
  229: q        BINPUT     13
  231: h        BINGET     13
  233: K        BININT1    5
  235: e        APPENDS    (MARK at 3)
  236: .    STOP
highest protocol among opcodes = 1
s   ]q (K KG@       c__builtin__
complex
qG@      G        qRqKJKJJ MJ J  JJ  J   (X   abcqhc__main__
C
q)q}q(X   fooqKX   barq	Kubhtq
h
Ke.u      0:  PROTO      2
    2: ]    EMPTY_LIST
    3: q    BINPUT     0
    5: (    MARK
    6: K        BININT1    0
    8: K        BININT1    1
   10: G        BINFLOAT   2.0
   19: c        GLOBAL     '__builtin__ complex'
   40: q        BINPUT     1
   42: G        BINFLOAT   3.0
   51: G        BINFLOAT   0.0
   60:      TUPLE2
   61: q        BINPUT     2
   63: R        REDUCE
   64: q        BINPUT     3
   66: K        BININT1    1
   68: J        BININT     -1
   73: K        BININT1    255
   75: J        BININT     -255
   80: J        BININT     -256
   85: M        BININT2    65535
   88: J        BININT     -65535
   93: J        BININT     -65536
   98: J        BININT     2147483647
  103: J        BININT     -2147483647
  108: J        BININT     -2147483648
  113: (        MARK
  114: X            BINUNICODE 'abc'
  122: q            BINPUT     4
  124: h            BINGET     4
  126: c            GLOBAL     '__main__ C'
  138: q            BINPUT     5
  140: )            EMPTY_TUPLE
  141:          NEWOBJ
  142: q            BINPUT     6
  144: }            EMPTY_DICT
  145: q            BINPUT     7
  147: (            MARK
  148: X                BINUNICODE 'foo'
  156: q                BINPUT     8
  158: K                BININT1    1
  160: X                BINUNICODE 'bar'
  168: q                BINPUT     9
  170: K                BININT1    2
  172: u                SETITEMS   (MARK at 147)
  173: b            BUILD
  174: h            BINGET     6
  176: t            TUPLE      (MARK at 113)
  177: q        BINPUT     10
  179: h        BINGET     10
  181: K        BININT1    5
  183: e        APPENDS    (MARK at 5)
  184: .    STOP
highest protocol among opcodes = 2
s   ]q (K KG@       cbuiltins
complex
qG@      G        qRqKJKJJ MJ J  JJ  J   (X   abcqhc__main__
C
q)q}q(X   barqKX   fooq	Kubhtq
h
Ke.u      0:  PROTO      3
    2: ]    EMPTY_LIST
    3: q    BINPUT     0
    5: (    MARK
    6: K        BININT1    0
    8: K        BININT1    1
   10: G        BINFLOAT   2.0
   19: c        GLOBAL     'builtins complex'
   37: q        BINPUT     1
   39: G        BINFLOAT   3.0
   48: G        BINFLOAT   0.0
   57:      TUPLE2
   58: q        BINPUT     2
   60: R        REDUCE
   61: q        BINPUT     3
   63: K        BININT1    1
   65: J        BININT     -1
   70: K        BININT1    255
   72: J        BININT     -255
   77: J        BININT     -256
   82: M        BININT2    65535
   85: J        BININT     -65535
   90: J        BININT     -65536
   95: J        BININT     2147483647
  100: J        BININT     -2147483647
  105: J        BININT     -2147483648
  110: (        MARK
  111: X            BINUNICODE 'abc'
  119: q            BINPUT     4
  121: h            BINGET     4
  123: c            GLOBAL     '__main__ C'
  135: q            BINPUT     5
  137: )            EMPTY_TUPLE
  138:          NEWOBJ
  139: q            BINPUT     6
  141: }            EMPTY_DICT
  142: q            BINPUT     7
  144: (            MARK
  145: X                BINUNICODE 'bar'
  153: q                BINPUT     8
  155: K                BININT1    2
  157: X                BINUNICODE 'foo'
  165: q                BINPUT     9
  167: K                BININT1    1
  169: u                SETITEMS   (MARK at 144)
  170: b            BUILD
  171: h            BINGET     6
  173: t            TUPLE      (MARK at 110)
  174: q        BINPUT     10
  176: h        BINGET     10
  178: K        BININT1    5
  180: e        APPENDS    (MARK at 5)
  181: .    STOP
highest protocol among opcodes = 2
s          ](K KG@       builtinscomplexG@      G        RKJKJJ MJ J  JJ  J   (abch__main__C)}(barKfooKubh
thKe.u      0:  PROTO      4
    2:  FRAME      168
   11: ]    EMPTY_LIST
   12:  MEMOIZE
   13: (    MARK
   14: K        BININT1    0
   16: K        BININT1    1
   18: G        BINFLOAT   2.0
   27:      SHORT_BINUNICODE 'builtins'
   37:      MEMOIZE
   38:      SHORT_BINUNICODE 'complex'
   47:      MEMOIZE
   48:      STACK_GLOBAL
   49:      MEMOIZE
   50: G        BINFLOAT   3.0
   59: G        BINFLOAT   0.0
   68:      TUPLE2
   69:      MEMOIZE
   70: R        REDUCE
   71:      MEMOIZE
   72: K        BININT1    1
   74: J        BININT     -1
   79: K        BININT1    255
   81: J        BININT     -255
   86: J        BININT     -256
   91: M        BININT2    65535
   94: J        BININT     -65535
   99: J        BININT     -65536
  104: J        BININT     2147483647
  109: J        BININT     -2147483647
  114: J        BININT     -2147483648
  119: (        MARK
  120:          SHORT_BINUNICODE 'abc'
  125:          MEMOIZE
  126: h            BINGET     6
  128:          SHORT_BINUNICODE '__main__'
  138:          MEMOIZE
  139:          SHORT_BINUNICODE 'C'
  142:          MEMOIZE
  143:          STACK_GLOBAL
  144:          MEMOIZE
  145: )            EMPTY_TUPLE
  146:          NEWOBJ
  147:          MEMOIZE
  148: }            EMPTY_DICT
  149:          MEMOIZE
  150: (            MARK
  151:              SHORT_BINUNICODE 'bar'
  156:              MEMOIZE
  157: K                BININT1    2
  159:              SHORT_BINUNICODE 'foo'
  164:              MEMOIZE
  165: K                BININT1    1
  167: u                SETITEMS   (MARK at 150)
  168: b            BUILD
  169: h            BINGET     10
  171: t            TUPLE      (MARK at 119)
  172:      MEMOIZE
  173: h        BINGET     14
  175: K        BININT1    5
  177: e        APPENDS    (MARK at 13)
  178: .    STOP
highest protocol among opcodes = 4
s%   c__builtin__
set
q ]q(KKeqRq.s%   c__builtin__
xrange
q K KKqRq.s   cCookie
SimpleCookie
q )qUkeyqcCookie
Morsel
q)q(UcommentqU qUdomainqhUsecureqhUexpiresq	hUmax-ageq
hUversionqhUpathqhUhttponlyqhu}q(Ucoded_valueqUvalueqhhhhubs}qb.s"   c__builtin__
set
q ]qKaqRq.s   cexceptions
?
q )Rq.sI   cexceptions
UnicodeEncodeError
q (UasciiqX   fooqK KUbadqtqRq.c                  "   \        4       p ^V n        ^V n        . ROp^pRpRpVP                  ^RW") V) ^,
          W3) V) ^,
          WD) V) ^,
          .4       RRW 3pVP	                  V4       VP	                  V4       VP	                  ^4       V# )     abc)r   r
  g       @y      @        )rc   foobarextendappend)cr&   uint1maxuint2maxint4maxys         r   create_datar  ,  s    	AAEAEA HHGHHa	H9Q;	H9Q;WHQJ0 1 
qAHHQKHHQKHHQKHr   c                     a  ] tR tRt o ]! 4       tR;R l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 4       t]R 4       tR tR tR tR tR t ]R 4       t!]R 4       t"]R 4       t#R  t$R! t%R" t&R# t'R$ t(R% t)]R& 4       t*R' t+R( t,R) t-R* t.R+ t/R, t0R- t1R. t2R/ t3R0 t4]5Pl                  R1 4       t7R2 t8R3 t9R4 t:R5 t;R6 t<R7 t=R8 t>]?P                  ]?P                  ! 4       R9 4       4       tBR:tCV tDR# )<AbstractUnpickleTestsiA  Nc           	        Vf   RP                  W4      pV P                  WVR7       V P                  \        V4      \        V4      VR7       \	        VR4      '       dQ   V P                  VP                  VP                  VR7       V P                  VP                  VP                  VR7       \	        VR4      '       d   V P                  VP                  VP                  VR7       VP                   FQ  pV P                  \	        W4      \	        W$4      VR7       V P                  \        WR4      \        W$R4      VR7       KS  	  R# R# )zKUtility method to verify if two objects are copies of each others.
        Nz{!r} is not a copy of {!r})msgre   	__slots__)r   assertEqualassertIsr   hasattrassertDictEqualre   assertIsNotassertListEqualr  getattr)r-   r   objcopyr  slots   &&&& r   assert_is_copy$AbstractUnpickleTests.assert_is_copyF  s    ;.55cCC3/d3igC83
##  w/?/?S IS\\7+;+;E3$$  0A0As K  C&(>C ! I  D!9!(!=3 ! H & %r   c                   V P                  VR 7      ;_uu_ 4        V P                  V4      ;_uu_ 4         V P                  V4        RRR4       RRR4       R#   \         dG   p\        P
                  ^8  d,   \        T:R RTP                  P                  : RT: 24       h Rp?ii ; i  + '       g   i     Ln; i  + '       g   i     R# ; i))data32z - z: N)	subTestassertRaisesloadsBaseExceptionr   verboseprintr   r?   )r-   errorsr*  excs   &&& r   check_unpickling_error,AbstractUnpickleTests.check_unpickling_errorX  s    \\t\$$v&&

4  ' %$ ! ??Q&!7!7> ?	 '& %$$s@   CB/	A	CB,&AB''B,,B/	/B?:CC	c                d    V P                  V P                  V P                  \        4      4       R # r#   )r'  	_testdatar.  DATA0r2   s   &r   test_load_from_data0*AbstractUnpickleTests.test_load_from_data0c      DNNDJJu,=>r   c                d    V P                  V P                  V P                  \        4      4       R # r#   )r'  r7  r.  DATA1r2   s   &r   test_load_from_data1*AbstractUnpickleTests.test_load_from_data1f  r;  r   c                d    V P                  V P                  V P                  \        4      4       R # r#   )r'  r7  r.  DATA2r2   s   &r   test_load_from_data2*AbstractUnpickleTests.test_load_from_data2i  r;  r   c                d    V P                  V P                  V P                  \        4      4       R # r#   )r'  r7  r.  DATA3r2   s   &r   test_load_from_data3*AbstractUnpickleTests.test_load_from_data3l  r;  r   c                d    V P                  V P                  V P                  \        4      4       R # r#   )r'  r7  r.  DATA4r2   s   &r   test_load_from_data4*AbstractUnpickleTests.test_load_from_data4o  r;  r   c                   \         R3\        R3\        R33 F  w  rVP                  P	                  R4      p RP                  RV4      pV P                  V! V!  V P                  V4      4        RP                  RV4      pV P                  V! V!  V P                  V4      4        RP                  RV4      pV P                  V! V!  V P                  V4      4       K  	  R# )	r&   asciis   (i__main__
X
p0
(dp1
b.   Xs   (c__main__
X
q oq}qb.s   (c__main__
X
q oq}qb.Nr$   r%   )rc   rk   rs   r?   encodereplacer'  r.  )r-   Xr.   xnamepickle0pickle1pickle2s   &      r   test_load_classic_instance0AbstractUnpickleTests.test_load_classic_instancer  s     B!Vq"g6GAJJ%%g.E	# %,GD%$8  4$**W*=>
./6wtU/C  4$**W*=>./6wtU/C  4$**W*=>i 7r   c                   RpR\        V4      P                  R4      ,           R,           pV P                  V4      pV P                  W4       R\        V4      P                  R4      ,           R,           pV P	                  \
        V4       R# )r
     IrM     
.s   JUNK
.Nl    )r   rO  r.  r'  r4  
ValueError)r-   maxint64r*  gots   &   r   test_maxint64#AbstractUnpickleTests.test_maxint64  sq     c(m**733f<jjH* c(m**733j@##J5r   c                "   V P                  \        4      pV P                  V\        ^^.4      4       V P                  \        4      pV P                  \        V4      \        \        ^ 4      4      4       V P                  \        V4      \        \        ^4      4      4       V P                  \        4      pV P                  \        V4      \        4       V P                  \        VP                  4       4      R.4       V P                  VR,          P                  R4       \         F^  p\        P                  RVP                  P!                  R4      4      pV P                  V4      pV P#                  \        V4      V4       K`  	  V P                  \        P                  RR4      4      pV P#                  \        V4      \$        4       V P                  \&        4      pV P#                  \        V4      \(        4       V P                  VP*                  R4       V P                  VP,                  R4       V P                  VP.                  ^ 4       V P                  VP0                  ^4       V P                  VP2                  R4       R# )	r
  keyr      ?rM     StandardErrorr  badN)r.  DATA_SETr  setDATA_XRANGEr   ranger  DATA_COOKIEr   keysr   python2_exceptions_without_argsexception_picklerP  r?   rO  r  	Exception
DATA_UEERRUnicodeEncodeErrorobjectencodingstartendreason)r-   loadedr3  r*  s   &   r   test_unpickle_from_2x+AbstractUnpickleTests.test_unpickle_from_2x  s   H%aV-K(ftE!H~6ftE!H~6K(f|4fkkm,ug6,,g6 3C#++D#,,2E2Eg2NODZZ%FMM$v,, 3 ,44T;KLMd6lI.J'd6l$67.'2q)Q'.r   c                    V P                  V P                  R RR7      R4       V P                  V P                  RRR7      R4       V P                  V P                  RRR7      R4       R# )s   S'a\x00\xa0'
.r   rq  s   a s   Ua .s   Ua .Nr  r.  r2   s   &r   test_load_python2_str_as_bytes4AbstractUnpickleTests.test_load_python2_str_as_bytes  s~    $8-4 $ 67C	E 	$6-4 $ 67C	E 	$>-4 $ 67C	Er   c                    V P                  V P                  R RR7      R4       V P                  V P                  RRR7      R4       V P                  V P                  RRR7      R4       R# )s	   V\u03c0
.r   ry  u   πs   X   π.s
   X   π.Nrz  r2   s   &r    test_load_python2_unicode_as_str6AbstractUnpickleTests.test_load_python2_unicode_as_str  sz    N-4 $ 67;	= 	$A-4 $ 67;	= 	$I-4 $ 67;	=r   c           	         V P                  V P                  \        P                  \        P
                  ! R R4      ,           R,           \        P                  ,           RR7      R4       R# )<Ii,  r   ry  Ns,  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)r  r.  r   	BINSTRINGstructpackSTOPr2   s   &r   #test_load_long_python2_str_as_bytes9AbstractUnpickleTests.test_load_long_python2_str_as_bytes  s[    F$4$4$*KKc$:%;$.%/17%= .5 $ 6 8B	Cr   c                N   V P                  V P                  R 4      4       V P                  V P                  R4      R4       V P                  V P                  R4      R4       V P                  V P                  R4      R4       V P                  V P                  R4      R4       R# )s   N.s   .Ts   .Fs   I01
.s   I00
.N)assertIsNoner.  r  r2   s   &r   test_constants$AbstractUnpickleTests.test_constants  su    $**U+,djj*D1djj*E2djj+T2djj+U3r   c                   V P                  V P                  R 4      ^
4       V P                  V P                  R4      R4       V P                  V P                  R4      ^
4       V P                  V P                  R4      R4       V P                  V P                  R4      ^
4       V P                  V P                  R4      R4       V P                  V P                  R4      ^
4       V P                  V P                  R4      R4       V P                  V P                  R4      ^
4       V P                  V P                  R	4      R4       R
# )s   I010
.s   I-010
.s   I0010
.s   I-0010
.s   L010
.s   L-010
.s   L0010
.s   L-0010
.s   L010L
.s   L-010L
.Nirz  r2   s   &r   test_zero_padded_integers/AbstractUnpickleTests.test_zero_padded_integers  s    J/4K0#6K0"5L137J/4K0#6K0"5L137K0"5L137r   c                   V P                  \        V P                  R 4       V P                  \        V P                  R4       V P                  \        V P                  R4       V P                  \        V P                  R4       V P                  \        V P                  R4       V P                  \        V P                  R4       R# )s   I0b10
.s   I0o10
.s   I0x10
.s   L0b10L
.s   L0o10L
.s   L0x10L
.N)r-  r[  r.  r2   s   &r   test_nondecimal_integers.AbstractUnpickleTests.test_nondecimal_integers  s    *djj+>*djj+>*djj+>*djj,?*djj,?*djj,?r   c                P    V P                  R RR7      pV P                  VR4       R# )s   U q .zkoi8-rry   N)r.  r  )r-   emptys   & r   test_empty_bytestring+AbstractUnpickleTests.test_empty_bytestring  s%    

1H
E#r   c                L    R pV P                  V P                  V4      R4       R# )s	   C€ .   € Nrz  r-   dumpeds   & r   test_short_binbytes)AbstractUnpickleTests.test_short_binbytes  s!    2F+-@Ar   c                L    R pV P                  V P                  V4      R4       R# )s   B   € .r  Nrz  r  s   & r   test_binbytes#AbstractUnpickleTests.test_binbytes  s!    >F+-@Ar   c                V    R pV P                  \        P                  \        3V4       R# )s   Bxyzq .Nr4  r   UnpicklingErrorOverflowErrorr  s   & r   test_negative_32b_binbytes0AbstractUnpickleTests.test_negative_32b_binbytes  '     7##V%;%;]$K$*	,r   c                V    R pV P                  \        P                  \        3V4       R# )s   Xxyzq .Nr  r  s   & r   test_negative_32b_binunicode2AbstractUnpickleTests.test_negative_32b_binunicode  r  r   c                L    R pV P                  V P                  V4      R4       R# )s	   € .   € Nrz  r  s   & r   test_short_binunicode+AbstractUnpickleTests.test_short_binunicode&  s     5F+\:r   c                   V P                  \        P                  R 4       V P                  \        P                  R4       V P                  \        P                  R4       V P                  RR.V P	                  R4      4       R# )s   g0
p0s   jens:s   hens:s   ((Kdtp0
h l.))N)d   )r4  r   r  r'  r.  r2   s   &r   test_misc_get#AbstractUnpickleTests.test_misc_get*  sf    ##F$:$:IF##F$:$:HE##F$:$:HEVV, JJ'<=	?r   c                L    R pV P                  V P                  V4      R4       R# )s          € .r  Nrz  r  s   & r   test_binbytes8$AbstractUnpickleTests.test_binbytes81  s!    AF+-@Ar   c                L    R pV P                  V P                  V4      R4       R# )s          € .r  Nrz  r  s   & r   test_binunicode8&AbstractUnpickleTests.test_binunicode85  s     AF+\:r   c                ^    R pV P                  V P                  V4      \        R4      4       R# )s          xxx.s   xxxN)r  r.  	bytearrayr  s   & r   test_bytearray8%AbstractUnpickleTests.test_bytearray89  s%    DF+Yv->?r   c                V    R pV P                  \        P                  \        3V4       R# )s         € .Nr  r  s   & r   test_large_32b_binbytes8.AbstractUnpickleTests.test_large_32b_binbytes8=  %    A##V%;%;]$K$*	,r   c                V    R pV P                  \        P                  \        3V4       R# )s         € .Nr  r  s   & r   test_large_32b_bytearray8/AbstractUnpickleTests.test_large_32b_bytearray8C  r  r   c                V    R pV P                  \        P                  \        3V4       R# )s         € .Nr  r  s   & r   test_large_32b_binunicode80AbstractUnpickleTests.test_large_32b_binunicode8I  r  r   c                    R pV P                  \        P                  V4      ;_uu_ 4        V P                  R4       RRR4       R#   + '       g   i     R# ; i)z(BINSTRING pickle has negative byte counts   T   N)assertRaisesRegexr   r  r.  )r-   errmsgs   & r   test_large_binstring*AbstractUnpickleTests.test_large_binstringO  s<    ;##F$:$:FCCJJ~& DCCCs   AA	c                    R pV P                  V4      pV P                  V. 3^,          4       V P                  V^ ,          V^,          4       R# )s   ((lp100000
g100000
t.Nr.  r  r  r-   pickled	unpickleds   &  r   test_getAbstractUnpickleTests.test_getT  sA    ,JJw'	RE!G,ilIaL1r   c                    R pV P                  V4      pV P                  V. 3^,          4       V P                  V^ ,          V^,          4       R# )s   (]qht.Nr  r  s   &  r   test_binget!AbstractUnpickleTests.test_bingetZ  sA    #JJw'	RE!G,ilIaL1r   c                    R pV P                  V4      pV P                  V. 3^,          4       V P                  V^ ,          V^,          4       R# )s   (]r   j   t.Nr  r  s   &  r   test_long_binget&AbstractUnpickleTests.test_long_binget`  sA    ;JJw'	RE!G,ilIaL1r   c                    R pV P                  V4      pV P                  V. 3^,          4       V P                  V^ ,          V^,          4       R# )s   ((l2t.Nr  r  s   &  r   test_dupAbstractUnpickleTests.test_dupf  sA    JJw'	RE!G,ilIaL1r   c                6    R pV P                  \        V4       R# )s   Va
p-1
.Nr4  r[  r  s   & r   test_negative_put'AbstractUnpickleTests.test_negative_putl  s    ##J7r   c                6    R pV P                  \        V4       R# )s   X   ar.Nr  r  s   & r   test_negative_32b_binput.AbstractUnpickleTests.test_negative_32b_binputq  s     A##J7r   c                2    V P                  \        R 4       R# )s   S'\'
.Nr  r2   s   &r   test_badly_escaped_string/AbstractUnpickleTests.test_badly_escaped_stringw  s    ##J<r   c                `    . ROpV F#  pV P                  \        P                  V4       K%  	  R# )   S'
.N)r  s   S"
.s   S' 
.s   S" 
.s   S'"
.s   S"'
.s   S' ' 
.s   S" " 
.s   S ''
.s   S ""
.s   S 
.s   S
.s   S.)r4  r   r  r-   
badpicklesps   &  r   test_badly_quoted_string.AbstractUnpickleTests.test_badly_quoted_stringz  s+    
 A''(>(>B r   c                f    . ROpV F&  w  r#V P                  V P                  V4      V4       K(  	  R# )   S''
.N))r  r  )s   S""
.r  )s   S"\n"
.
)s   S'\n'
.r  rz  )r-   goodpicklesr  expecteds   &   r   test_correctly_quoted_string2AbstractUnpickleTests.test_correctly_quoted_string  s/    - 'KATZZ]H5 'r   c                L    R pV P                  V P                  V4      ^*4       R# )s          I42
.Nrz  )r-   r  s   & r   test_frame_readline)AbstractUnpickleTests.test_frame_readline  s"    G
 	G,b1r   c                ^   R pV P                  V4      pV P                  \        V4      \        4       V P	                  V\        ^^4      4       V P	                  \        V4      . R	O4       RpV P                  V P                  V4      \        P                  4       RpV P                  V P                  V4      \        P                  4       R
 F^  pRV,           R,           pV P                  V4      pV P                  \        V4      \        4       V P	                  \        V4      R4       K`  	  R Fu  pRV,           R,           pV P                  V4      pV P                  \        V4      \        P                  4       V P	                  V\        P                  ! ^^/4      4       Kw  	  R# )s   c__builtin__
xrange
KKKR.s   c__builtin__
reduce
.s   cwhichdb
whichdb
.s   cexceptions
s	   
UughR.ughs   (cUserDict
s   
o}Udata}KKssb.N)r
           r      )s	   Exceptionrc  )s   UserDicts   IterableUserDict)r.  r  r   rh  r  r  	functoolsreducedbmwhichdbrm  r   collectionsUserDict)r-   r  r  r   s   &   r   test_compat_unpickle*AbstractUnpickleTests.test_compat_unpickle  sE   HJJw'	d9ou-E!QK0i*<=4djj)9+;+;<1djj)3;;74D/$69LLG

7+IMM$y/95S^U3	 5 7D.567G

7+IMM$y/;+?+?@Y(<(<aV(DE 7r   c                   V P                  V P                  R 4      \        4       V P                  V P                  R4      \        P                  4       V P                  V P                  R4      \
        P                  P                  4       V P                  V P                  R4      \        P                  4       \        P                  ! \        P                  R\        P                  ! ^*R7      4      ;_uu_ 4        V P                  V P                  R4      ^*4       RRR4       V P!                  \"        V P                  R4       V P!                  \"        V P                  R	4       V P!                  V P$                  V P                  R
4       V P!                  V P$                  V P                  R4       V P!                  V P$                  V P                  R4       R#   + '       g   i     L; i)s   cbuiltins
str
.   cmath
log
.s   cos.path
join
.s   cbuiltins
str.upper
.   mödule   glöbals   cmödule
glöbal
.Ns   c
log
.s	   cmath

.s   c
log
.s   cmath

.s
   cmath

.)r  r.  r   mathlogospathjoinupperr   	swap_itemsysmodulestypesSimpleNamespacer  r-  UnicodeDecodeErrortruncated_errorsr2   s   &r   test_load_global&AbstractUnpickleTests.test_load_global  sI   djj!56<djj!12DHH=djj!56Edjj!CDciiPs{{Iu7L7LUW7XYYTZZ(STVXY Z 	,djj:JK,djj:KL$//\J$//]K$//=RS ZYs    "G##G3	c                   V P                  V P                  R 4      \        4       V P                  V P                  R4      \        P                  4       V P                  V P                  R4      \
        P                  P                  4       V P                  V P                  R4      \        P                  4       \        P                  ! \        P                  R\        P                  ! ^*R7      4      ;_uu_ 4        V P                  V P                  R4      ^*4       RRR4       V P!                  \"        V P                  R4       V P!                  \"        V P                  R	4       V P!                  \$        V P                  R
4       V P!                  \&        V P                  R4       V P!                  \&        V P                  R4       V P!                  \(        P*                  V P                  R4       V P!                  \(        P*                  V P                  R4       V P!                  \(        P*                  V P                  R4       R#   + '       g   i     EL9; i)s   builtinsstr.   mathlog.s   os.pathjoin.s   builtins	str.upper.r  r  s   möduleglöbal.Ns
   log.s   math.s	    log.s
   math .s   math .s   Nlog.s	   mathN.s   mathN.)r  r.  r   r	  r
  r  r  r  r  r   r  r  r  r  r  r  r-  r  r[  AttributeErrorr   r  r2   s   &r   test_load_stack_global,AbstractUnpickleTests.test_load_stack_global  s   djj!DEsKdjj!@A488Ldjj!DEggll	$djj!RSii	!s{{Iu7L7LUW7XYYTZZ(bcegh Z 	,djj:YZ,djj:Z[*djj2MN.$**6RS.$**6Z[&00$**>RS&00$**>ST&00$**>[\ ZYYs    "II#	c                Z   V P                  \        P                  ! 4       4      pV P                  \        P                  ! 4       R R7      pV P                  \        P                  ! R4      4      pVP                  4        V P	                  VP                  RR4      \        4       V P                  \        VP
                  RR4       V P	                  VP                  RR4      \        4       V P	                  VP                  RR4      \        4       V P	                  VP                  RR4      \        P                  4       V P	                  VP                  RR	4      \        P                  P                  4       V P	                  VP                  RR	4      \        P                  P                  4       V P	                  VP                  RR
4      \        P                  4       V P                  \         R4      ;_uu_ 4        VP                  RR
4       RRR4       V P                  \         R4      ;_uu_ 4        VP                  RR4       RRR4       V P                  \         R4      ;_uu_ 4        VP                  RR4       RRR4       V P                  \         R4      ;_uu_ 4        VP                  RR4       RRR4       V P                  \         R4      ;_uu_ 4       pVP                  RR4       RRR4       V P#                  \        XP$                  P&                  4      R4       V P                  \         R4      ;_uu_ 4        VP                  RR4       RRR4       V P                  \         R4      ;_uu_ 4       pVP                  RR4       RRR4       V P#                  \        VP$                  P&                  4      R4       V P                  \         R4      ;_uu_ 4        VP                  RR4       RRR4       V P                  \         R4      ;_uu_ 4        VP                  RR4       RRR4       V P                  \        VP
                  RR4       V P                  \(        VP
                  RR4       V P                  \*        VP
                  RR4       V P                  \*        VP
                  RR4       V P                  \*        \         3VP
                  RR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELz; i  + '       g   i     ELU; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELc; i)F)fix_importss   N.__builtin__r   builtinsr	  r
  zos.pathr  z	str.upperz/module 'builtins' has no attribute 'str\.upper'Nz%module 'math' has no attribute 'spam'spamz*module 'math' has no attribute 'log\.spam'zlog.spamz/Can't resolve path 'log\.spam' on module 'math'z;'builtin_function_or_method' object has no attribute 'spam'z4module 'math' has no attribute 'log\.<locals>\.spam'zlog.<locals>.spamz9Can't resolve path 'log\.<locals>\.spam' on module 'math'z?'builtin_function_or_method' object has no attribute '<locals>'z!module 'math' has no attribute ''r  )	unpicklerr7   rJ   loadr  
find_classr   r-  ModuleNotFoundErrorr	  r
  r  r  r  r  r  r  r  	exception__context__r[  	TypeError)r-   r"  unpickler_nofix
unpickler4cms   &    r   test_find_class%AbstractUnpickleTests.test_find_class  sj   NN2::<0	..5.I^^BJJ}$=>
i**=%@#F-)44mU	Li**:u=sCo00UCSIi**659488Di**9f=rww||Li**9f=rww||Lj++JDciiP##NBD D  [9D ##N79 9  09 ##N79 9!!&&19 ##N=? ?  4? ##NBD DGI!!&*5D 	R\\556I	K##NGI I  )<=I ##NLN NQS!!&*=>N 	R\\556M	O##N35 5  ,5 ##N35 5!!&"-5 	-y/C/CVUS*i&:&:BF)Y%9%94G)Y%9%964H9n5z7L7LfVZ[KD D D9 9 99 9 9? ? ?D D D
I I IN N N
5 5 55 5 5sl   S9?T8T!1T5*U	UU13V,V9T
	T	!T2	5U		U	U.	1V	V	V*	c                  a  V 3R  lpS P                  V! R4      R4       S P                  V! R4      R4       V 3R lpS P                  V! R4      R4       S P                  V! R4      R4       V 3R lpS P                  V! R4      R4       S P                  V! R4      R4       V 3R lpS P                  V! R4      R4       S P                  V! R4      R4       R# )c                    <  ! R  RSP                   4      pV! \        P                  ! V 4      4      P                  4       # )c                   &   a  ] tR tRt o R tRtV tR# )NAbstractUnpickleTests.test_custom_find_class.<locals>.loads.<locals>.Unpickleri  c                    W3# r#   r$   )r-   module_nameglobal_names   &&&r   r$  YAbstractUnpickleTests.test_custom_find_class.<locals>.loads.<locals>.Unpickler.find_class  s    '55r   r$   N)r?   r@   rA   rB   r$  rC   rD   rE   s   @r   	Unpicklerr1    s     6 6r   r6  r"  r7   rJ   r#  r*  r6  r-   s   & r   r.  ;AbstractUnpickleTests.test_custom_find_class.<locals>.loads  s2    6DNN 6 RZZ-.3355r   r  r  c                    <  ! R  RSP                   4      pV! \        P                  ! V 4      4      P                  4       # )c                   0   a  ] tR tRt o ]R 4       tRtV tR# )r1  i  c                    W3# r#   r$   r3  r4  s   &&r   r$  r5        '55r   r$   N)r?   r@   rA   rB   staticmethodr$  rC   rD   rE   s   @r   r6  r1    s     6 6r   r6  r7  r8  s   & r   r.  r9    2    6DNN 6 RZZ-.3355r   c                    <  ! R  RSP                   4      pV! \        P                  ! V 4      4      P                  4       # )c                   0   a  ] tR tRt o ]R 4       tRtV tR# )r1  i%  c                    W3# r#   r$   )r   r3  r4  s   &&&r   r$  r5  &  r>  r   r$   N)r?   r@   rA   rB   r   r$  rC   rD   rE   s   @r   r6  r1  %  s     6 6r   r6  r7  r8  s   & r   r.  r9  $  r@  r   c                    <  ! R  RSP                   4      pR pV! \        P                  ! V 4      4      pW#n        VP	                  4       # )c                       ] tR tRtRtR# )r1  i/  r$   Nr{   r$   r   r   r6  r1  /      r   r6  c                     W3# r#   r$   r=  s   &&r   r$  OAbstractUnpickleTests.test_custom_find_class.<locals>.loads.<locals>.find_class1  s    #11r   )r"  r7   rJ   r$  r#  )r*  r6  r$  r"  r-   s   &   r   r.  r9  .  s>    DNN 2!"**T"23I#- >>##r   N)r	  r
  )r  )r-   r.  s   f r   test_custom_find_class,AbstractUnpickleTests.test_custom_find_class  s    	6 	/0/B>?Q	6 	/0/B>?Q	6 	/0/B>?Q	$ 	/0/B>?Qr   c                N   V P                  \        R 4       V P                  \        R4       V P                  \        R4       V P                  \        R4       V P                  \        R4       V P                  \        R4       V P                  \        P                  R4       V P                  \        P                  R4       V P                  \        P                  R4       V P                  \        P                  R	4       V P                  \        P                  R
4       R# )   .s   .s    .s   .s      .s   .s    .s     .s       .s      .s   .N)r4  r[  r   r  r2   s   &r   test_bad_ext_code'AbstractUnpickleTests.test_bad_ext_code:  s    ##J=##J=##J0@A##J0@A##J0HI##J0HI##F$:$:LI##F$:$:<LM##F$:$:<TU##F$:$:<TU##F$:$:<TUr   c                  a a ^oVV 3R lpV! R\         4       V! R\         4       V! \        3\        \         34       V! \        RR3\        \         34       V! \        R3\        \         34       V! R\        \         34       R# )r
  c           	      *  < \         P                  ! \        P                  SV 4      ;_uu_ 4        SP	                  V4      ;_uu_ 4        SP                  R 4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)rL  N)r   r  rW   rX   r-  r.  )ra  r3  r   r-   s   &&r   checkCAbstractUnpickleTests.test_bad_ext_inverted_registry.<locals>.checkL  s]    ""7#=#=tSII&&s++JJ|, , JI++ JIIs#   B
A.	B.A>9BB	NMyListr&   r$   )NrS  )r[  r?   r(  )r-   rQ  r   s   f @r   test_bad_ext_inverted_registry4AbstractUnpickleTests.test_bad_ext_inverted_registryI  sn    	- 	dJb*xkIz23x3')Z)@AxJ 78J 78r   c                    V P                  V P                  R 4      ^ 4       V P                  \        R4       V P                  \        R4       R# )s   cbuiltins
int
)R.s   N)R.s   cbuiltins
int
NR.N)r  r.  r4  r(  r2   s   &r   test_bad_reduce%AbstractUnpickleTests.test_bad_reduceW  s=    $:;Q?##Iw7##I/EFr   c                    \         P                  \        3pV P                  V P	                  R 4      ^ 4       V P                  VR4       V P                  VR4       R# )s   cbuiltins
int
).s   cbuiltins
len
).s   cbuiltins
int
N.Nr   r  r(  r  r.  r4  r-   errors   & r   test_bad_newobj%AbstractUnpickleTests.test_bad_newobj\  sN    ''3$=>B##E+DE##E+DEr   c                    \         P                  \        3pV P                  V P	                  R 4      ^ 4       V P                  VR4       V P                  VR4       V P                  VR4       R# )s   cbuiltins
int
)}.s   cbuiltins
len
)}.s   cbuiltins
int
N}.s   cbuiltins
int
)N.NrZ  r[  s   & r   test_bad_newobj_ex(AbstractUnpickleTests.test_bad_newobj_exb  s_    ''3$>?C##E+EF##E+EF##E+EFr   c                   \        4       pR Vn        RpV P                  V P                  VR,           4      V4       V P                  V P                  VR,           4      V4       V P	                  \
        VR,           4       \        P                  \        3pV P	                  W2R,           4       V P	                  W2R,           4       V P	                  W2R,           4       V P	                  \
        VR,           4       V P	                  \
        VR	,           4       V P	                  W2R
,           4       V P	                  W2R,           4        ! R R4      pV\        n
        V P	                  \        VR,           4       R # )Ns   c__main__
C
)s   }X   xNsb.s   N}X   xNsb.s   }]Nsb.s   ](}}eb.s   }b.s   }}}b.s   }}]Nsb.s   }}NNsb.s   }b.s   }b.c                   *   a  ] tR tRt o ^tR tRtV tR# )5AbstractUnpickleTests.test_bad_state.<locals>.BadKey1i  c                h    V P                   '       g   \        hV ;P                   ^,          un         ^*# r
  )countCustomErrorr2   s   &r   __hash__>AbstractUnpickleTests.test_bad_state.<locals>.BadKey1.__hash__  s!    zzz%%

a
r   r$   N)r?   r@   rA   rB   rg  ri  rC   rD   rE   s   @r   BadKey1rd    s     E r   rk  s   }c__main__
BadKey1
)Nsb.)rc   r&   r  r.  r4  r(  r   r  r  rx   rk  rh  )r-   r  baser\  rk  s   &    r   test_bad_state$AbstractUnpickleTests.test_bad_statei  s+   C%D+E$EFJD+J$JKQO##Iti/?@''8##E*+<=##E*+<=##E,+>?##Itn/DE##Itn/DE##E.+@A##E.+@A	 	 ###K8Y1YZr   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R&NR'NR(NR)NR*NR+NpV F  pV P                  V P                  V4       K!  	  R,# )-   .   0   1   2s   (2   Rs   )R   as   Na   bs   Nb   d   es   (es   ibuiltins
list
   l   os   (os   p1
s   q s   r       ss   Nss   NNs   t   us   (us   }(Nu   s   )      s   N   s   Ns   NN   s   (      s   )}   s   Vlist
   Nr4  bad_stack_errorsr  s   &  r   test_bad_stack$AbstractUnpickleTests.test_bad_stack  s   -
-
-
 -
 	-

 -
 -
 -
 -
 -
 -
 -
 -
 -
 -
 !-
  !-
" #-
$ %-
& '-
( )-
* !+-
, --
. /-
0 1-
2 3-
4 5-
6 7-
8 9-
: ;-
< =-
> ?-
@ A-
B C-
D E-
F G-
H I-
J K-
L M-
N O-
P Q-
R S-
T U-
V W-
X Y-

\ A''(=(=qA r   c                X    . ROpV F  pV P                  V P                  V4       K!  	  R# )   N(.N)r  s   N(2s   cbuiltins
list
)(Rs   cbuiltins
list
()Rs   ]N(as   cbuiltins
ValueError
)R}(bs   cbuiltins
ValueError
)R(}bs   (Nds   N(p1
s   N(q s   N(r    s   }NN(ss   }N(Nss   }(NNss   }((us   cbuiltins
list
)(s   cbuiltins
list
()s   N(s   NN(s   N(Ns   NNN(s   NN(Ns   N(NNs   ]((s   cbuiltins
list
)}(s   cbuiltins
list
)(}s   cbuiltins
list
()}s   Vbuiltins
(Vlist
s   Vbuiltins
Vlist
(s   N(r  r  s   &  r   test_bad_mark#AbstractUnpickleTests.test_bad_mark  s,    "

F A''(=(=qA r   c                    V P                  \        R 4       V P                  \        R4       . 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R:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRHNRINRJNRKNRLNRMNRNNRONRPNRQNRRNRSNRTNRUNRVNpV F  pV P                  V P                  V4       K!  	  RW# )Xr      N   Bs   B  s   B   s   B   ab   Cs   Cs   Cab   Fs   F0.0s   F0.00   Gs   G       rY  s   I0   Js   J      K   Ls   L0s   L10s   L0Ls   L10L   Ms   M    Ss   S'abc'   Ts   T  s   T   s   T   ab   Us   Us   Uab   Vs   VabcrN  s   X  s   X   s   X   abs   (cs
   (cbuiltinss   (cbuiltins
s   (cbuiltins
lists   Ngs   Ng0s   (is
   (ibuiltinss   (ibuiltins
s   (ibuiltins
lists   Nhs   Njs   Nj   s   Nps   Np0s   Nqs   Nrs   Nr            s      s           s         s   s   ab   s         s	          s          ab   s         s	          s          ab   s         s	          s          ab   s         s	          s
          NN)r4  EOFErrorr  r  s   &  r   test_truncated_data)AbstractUnpickleTests.test_truncated_data  s`   ##Hc2##Hd3X
X
X
 !X
 #	X

 X
 X
 X
 X
 X
 X
 X
 -X
 X
 X
 X
  !X
" #X
$ %X
& 'X
( )X
* +X
, -X
. /X
0 1X
6 7X
8 9X
: ;X
< =X
> !?X
@ #AX
B CX
D EX
F GX
H IX
J KX
L MX
N OX
P !QX
R #SX
T UX
V WX
X YX
Z  [X
\ ]X
^ _X
` aX
b cX
d eX
f  gX
h iX
j kX
l mX
n oX
p qX
r sX
t uX
v wX
x yX
z {X
| }X
~ X
@ AX
B  CX
D EX
F GX
H  IX
J KX
L MX
N OX
P QX
R 0SX
T 4UX
V 6WX
X YX
Z 0[X
\ 4]X
^ 6_X
` aX
b 0cX
d 4eX
f 6gX
h iX
j 0kX
l 4mX
n 5oX

r A''(=(=qA r   c                t  a
aa \        R 4      p\        R4      p\        P                  ! \        4       V P	                  \
        P                  \        4       \        P                  P                  ^ \        4       V P	                  \        P                  P                  \        4       \        \        P                  P                  \        R4      R4      ;_uu_ 4       pVP                  VP                  R4      4       RRR4       \        \        P                  P                  \        R4      R4      ;_uu_ 4       pVP                  VP                  R4      4       RRR4       T P	                  \        R4       V P	                  \        R4       ^ RIpR	o. o\"        P$                  ! ^4      o
V
VV3R
 lp\"        P&                  ! VR7      p\"        P&                  ! VR7      pVP)                  4        VP)                  4        S
P+                  4        VP,                  P+                  4        VP                  4        VP                  4        ^ RIHp T P3                  S U	u. uF  p	\5        V	4      NK  	  up	V.^,          4       R#   + '       g   i     EL; i  + '       g   i     ELJ; iu up	i )zI
        import threading
        barrier = threading.Barrier(2)
        zs
        import locker
        locker.barrier.wait()
        class ToBeUnpickled(object):
            pass
        z	locker.pywbutf-8Nzlocking_import.pylockerlocking_imports'   clocking_import
ToBeUnpickled
q )q.c                  r   < S P                  4        SP                  \        P                  ! S4      4       R # r#   )waitr  r   r.  )barrierpickle_bytesresultss   r   t:AbstractUnpickleTests.test_unpickle_module_race.<locals>.tj  s#     LLNNN6<<56r   )target)ToBeUnpickled)r   r  mkdirr   
addCleanupshutilrmtreer  r  insertremoveopenr  rO   rO  r   r  	threadingBarrierThreadrr  r  r  r  r  r  r   )r-   locker_modulelocking_import_modulefr  r  t1t2r  r&   r  r  r  s   &         @@@r   test_unpickle_module_race/AbstractUnpickleTests.test_unpickle_module_raceD  s        !' ( ! 	v.6"0"'',,v{3T::aGGM((12 ;"'',,v':;TBBaGG)009: C) 01 H 	 ##A&	7 Q'Q'




	
	0%&gT!Wg&Oa	!M ;::BBBJ 's    !J?!J!'J5J	!J2	r$   r#   )Er?   r@   rA   rB   r  r7  r'  r4  r9  r>  rB  rF  rJ  rV  r^  rv  r{  r~  r  r  r  r  r  r  r  requires_32br  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r,  rI  rM  r   cpython_onlyrT  rW  r]  r`  rm  r  r  r  r   reap_threadsrequires_working_threadingr  rC   rD   rE   s   @r   r  r  A  s     IH$	?????7?r6/<	E	=C4
8@$
BB , , , ,;?B;@ , ,
 , ,
 , ,
'
22228
 8 8
=C$62F6T](5\n(RTV 9 9G
FG![F0Bd%BN]B~ ""0029! 3 #9!r   r  c                   J  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(])R' 4       t*R( t+R) t,R* t-R+ t.]/P`                  R, 4       t1R-t2V t3R.# )/AbstractPicklingErrorTestsi  c           
        \        \        R.4      p\         F  pV P                  VR 7      ;_uu_ 4        V P	                  \
        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  \        \        34      p\         F  pV P                  VR 7      ;_uu_ 4        V P	                  \
        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  \        \        RRRRRR34      p\         F  pV P                  VR 7      ;_uu_ 4        V P	                  \
        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     EL; i  + '       g   i     EK  ; i  + '       g   i     ELg; i  + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     EK0  ; i)protoNz2__reduce__ must return a string or tuple, not list-when serializing test.pickletester.REX objectz>tuple returned by __reduce__ must contain 2 through 6 elementsr$   REXr1  	protocolsr,  r-  r   PicklingErrordumpsr  r   r&  	__notes__r-   r   r  r+  s   &   r   test_bad_reduce_result1AbstractPicklingErrorTests.test_bad_reduce_result  s'   5"+EE**&&v';';<<JJs* =  R\\!2HJ  !7!7C:E F +*  5(mEE**&&v';';<<JJs* =  R\\!2TV  !7!7C:E F +*  5"dD$d;<EE**&&v';';<<JJs* =  R\\!2TV  !7!7C:E F +* % =<< +** =<< +** =< +**sn   (JI1/AJ(J.*J<AJ.(K=KAK1J<	JJJ+%	J..K KKK(c           
        \        R4      p\         F  pV P                  VR7      ;_uu_ 4        V P                  \        P
                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     Lj; i  + '       g   i     K  ; i)*   r  NzHfirst item of the tuple returned by __reduce__ must be callable, not intr  )r  r$   )r  r  r,  r-  r   r  r  r  r   r&  r  r  s   &   r   test_bad_reconstructor1AbstractPicklingErrorTests.test_bad_reconstructor  s    (mEE**&&v';';<<JJs* =  R\\!201   !7!7C:E F +* << +**s$   (CC)ACCCC/c           
        \        \        4       R34      p\         F  pV P                  VR 7      ;_uu_ 4        V P	                  \
        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  RR.4       RRR4       K  	  R#   + '       g   i     LF; i  + '       g   i     K  ; i)r  N4when serializing test.pickletester.REX reconstructorr  r$   )
r  UnpickleableCallabler  r,  r-  rh  r  r  r&  r  r  s   &   r   test_unpickleable_reconstructor:AbstractPicklingErrorTests.test_unpickleable_reconstructor  s    ')2./EE**&&{33rJJs* 4  !7!7JC:E F +* 33 +**s#   B:B')0B:'B72B::Cc           
        \        \        . 34      p\         F  pV P                  VR 7      ;_uu_ 4        V P	                  \
        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     Lj; i  + '       g   i     K  ; i)r  NIsecond item of the tuple returned by __reduce__ must be a tuple, not listr  r  r  s   &   r   test_bad_reconstructor_args6AbstractPicklingErrorTests.test_bad_reconstructor_args  s    5"+EE**&&v';';<<JJs* =  R\\!201   !7!7C:E F +* << +**s$   (C$C/AC$C!C$$C5c           
        \        \        ^^\        334      p\         F  pV P	                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  . RO4       RRR4       K  	  R#   + '       g   i     LF; i  + '       g   i     K  ; i)r
  r  N)when serializing tuple item 2>when serializing test.pickletester.REX reconstructor argumentsr  r  r1  UNPICKLEABLEr  r,  r-  rh  r  r  r&  r  r  s   &   r   $test_unpickleable_reconstructor_args?AbstractPicklingErrorTests.test_unpickleable_reconstructor_args  s    51a./0EE**&&{33rJJs* 4  !7!7 :E F +* 33 +**s#   B=B*,0B=*B:5B==Cc           
     >   \        \        P                  R34      p\        R ,           F  pV P	                  VR7      ;_uu_ 4        V P                  \        \        P                  34      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RR04       V P                  VP                  P                  R.4       RRR4       K  	  \        \        P                  \         .34      p\        R ,           F  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     ELQ; i  + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     EK  ; i)r  NNr  Nztuple index out of rangez.__newobj__ expected at least 1 argument, got 0r  r  r$   )r  rW   
__newobj__r  r,  r-  
IndexErrorr   r  r  assertInr   r&  r  r  r  s   &   r   test_bad_newobj_args/AbstractPicklingErrorTests.test_bad_newobj_args  s   7%%r*+r]]EE**&&
F4H4H'IJJbJJs* Kc",,/.D2F G   !7!7C:E F +* # 7%%u-.r]]EE**&&v';';<<JJs* =  R\\!201   !7!7C:E F +* # KJJ +** =< +**sJ   .G"4GAG"2(H
G7,AH
G	G""G47HH

Hc           
     8   \        \        P                  \        4       334      p\        R ,           F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RR\         R204       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     Lt; i  + '       g   i     K  ; i)r  r  Nz-first argument to __newobj__() has no __new__z4first argument to __newobj__() must be a class, not .NoNewr  )r  rW   r  NoNewr  r,  r-  r   r  r  r  r   r&  r?   r  r  r  s   &   r   test_bad_newobj_class0AbstractPicklingErrorTests.test_bad_newobj_class  s    7%%z23r]]EE**&&v';';<<JJs* =c",,/CJ8*TZ[2] ^   !7!7C:E F +* #<< +**s%   (D7C5	AD5D DDc           
     <   \        \        P                  \        334      p\        R ,           F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R\         : R\        : 24       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     Lz; i  + '       g   i     K  ; i)r  r  Nz'first argument to __newobj__() must be , not r  )r  rW   r  r   r  r,  r-  r   r  r  r  r&  r  r  s   &   r   test_wrong_newobj_class2AbstractPicklingErrorTests.test_wrong_newobj_class  s    7%%v./r]]EE**&&v';';<<JJs* =  R\\!2=cWF3'RT  !7!7C:E F +* #<< +**s%   (D
3C7A$D
7DD

Dc                    ! R  R\         4      pV! \        P                  V334      p\         EF.  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W#4       RRR4       RRR4       V^8  da   V P                  XP                  P                  RVP                   RVP                   R2RVP                   RVP                   R2.4       K  V P                  XP                  P                  RRVP                   RVP                   R	2RVP                   RVP                   R2.4       EK1  	  R#   + '       g   i     L; i  + '       g   i     L; i)
c                       ] tR tRtRtR# )KAbstractPicklingErrorTests.test_unpickleable_newobj_class.<locals>.LocalREXi   r$   Nr{   r$   r   r   LocalREXr         Tr   r  r  Nwhen serializing . class objectwhen serializing tuple item 0 reconstructor arguments)r  rW   r  r  r,  r-  r   r  r  r  r&  r  r@   rA   r-   r  r   r  r+  s   &    r   test_unpickleable_newobj_class9AbstractPicklingErrorTests.test_unpickleable_newobj_class  sQ   !s!**XK89YEE**&&v';';<<JJs* = + z  !7!7'(;(;'<Ah>S>S=TTZ['(;(;'<Ah>S>S=TT[\:^ _   !7!73'(;(;'<Ah>S>S=TTlm'(;(;'<Ah>S>S=TT[\:^ _ << +*s$   (E75E$E7$E4/E77Fc           
         \        \        P                  \         ^^\        334      p\         F  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V^8  d*   V P                  XP                  P                  . RO4       M(V P                  XP                  P                  . RO4       RRR4       K  	  R#   + '       g   i     Lv; i  + '       g   i     K  ; i)r
  r  Nr  8when serializing test.pickletester.REX __new__ argumentsr  )when serializing tuple item 3r  r  )r  rW   r  r  r  r,  r-  rh  r  r  r&  r  r  s   &   r   test_unpickleable_newobj_args8AbstractPicklingErrorTests.test_unpickleable_newobj_args  s    7%%Q<'@ABEE**&&{33rJJs* 4A:$$R\\%;%; >I J
 $$R\\%;%; >I J +* 33 +**s%   C<)C);A C<)C94C<<Dc           
     |   \        \        P                  R34      p\        R ,           F  pV P	                  VR7      ;_uu_ 4        V P                  \        \        P                  34      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RR04       V P                  VP                  P                  R.4       RRR4       K  	  \        \        P                  ^*34      p\        R ,           F  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  \        \        P                  \         ^*/ 334      pV P                  \        P                   J d   \        R,           F  pV P	                  VR7      ;_uu_ 4        V P                  \"        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  M\        R ,           F  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R	4       V P                  VP                  P                  R.4       RRR4       K  	  \        \        P                  \         R. 334      pV P                  \        P                   J d   \        R,           F  pV P	                  VR7      ;_uu_ 4        V P                  \"        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R
4       V P                  VP                  P                  R.4       RRR4       K  	  R# \        R ,           F  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     EL; i  + '       g   i     EKE  ; i  + '       g   i     EL; i  + '       g   i     EK  ; i  + '       g   i     ELB; i  + '       g   i     EK  ; i  + '       g   i     EL; i  + '       g   i     EK  ; i  + '       g   i     EL; i  + '       g   i     EK?  ; i  + '       g   i     EL8; i  + '       g   i     EK  ; i)r  r  Nz/not enough values to unpack (expected 3, got 0)z)__newobj_ex__ expected 3 arguments, got 0r  zHsecond item of the tuple returned by __reduce__ must be a tuple, not int:r  r  Nz*Value after * must be an iterable, not intz;second argument to __newobj_ex__() must be a tuple, not intzAfunctools.partial() argument after ** must be a mapping, not listz:third argument to __newobj_ex__() must be a dict, not listr$   )r  rW   __newobj_ex__r  r,  r-  r[  r   r  r  r  r   r&  r  r  pickler_Picklerr(  r  s   &   r   test_bad_newobj_ex_args2AbstractPicklingErrorTests.test_bad_newobj_ex_args!  s   7(("-.r]]EE**&&
F4H4H'IJJbJJs* Kc",,/E?2A B   !7!7C:E F +* # 7(("-.r]]EE**&&v';';<<JJs* =  R\\!2/0   !7!7C:E F +* # 7((3B-89<<6??*"3\\\..**955

3. 6$$S%6DF$$R\\%;%;G>I J /. ( #2\\\..**6+?+?@@B

3. A$$S%6UW$$R\\%;%;G>I J /. ' 7((3B-89<<6??*"3\\\..**955

3. 6$$S%6[]$$R\\%;%;G>I J /. ( #2\\\..**6+?+?@@B

3. A$$S%6TV$$R\\%;%;G>I J /. 'e KJJ +** =<< +** 655 /.. A@@ /.. 655 /.. A@@ /..s   .U4UAU-(VU1'AV1V.V!AV.,(WW&AW0X W, AX ,(X)X&AX)U	UU.1V<	VVV+%	V..W W	WW),W=7	X  XX& 	X))X;c           
     <   \        \        P                  \        4       R/ 334      p\        R ,           F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RR\         R204       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     Lt; i  + '       g   i     K  ; i)r  r  Nz0first argument to __newobj_ex__() has no __new__z7first argument to __newobj_ex__() must be a class, not r  r  r$   )r  rW   r  r  r  r,  r-  r   r  r  r  r   r&  r?   r  r  r  s   &   r   test_bad_newobj_ex__class4AbstractPicklingErrorTests.test_bad_newobj_ex__class`  s    7((57B*;<=r]]EE**&&v';';<<JJs* =c",,/FMhZW]^2` a   !7!7C:E F +* #<< +**s%   (D
9C7AD
7DD

Dc           
        V P                   \        P                  Jd   V P                  R 4       \	        \
        P                  \        R/ 334      p\        R,           F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R\         R\         24       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     Lx; i  + '       g   i     K  ; i)z*only verified in the Python implementationr  r  Nz*first argument to __newobj_ex__() must be r  r  r$   )r  r   r  skipTestr  rW   r  r   r  r,  r-  r  r  r  r&  r  r  s   &   r   test_wrong_newobj_ex_class5AbstractPicklingErrorTests.test_wrong_newobj_ex_classl  s    <<v.MMFG7((3B-89r]]EE**&&v';';<<JJs* =  R\\!2@VC5QS  !7!7C:E F +* #<< +**s%   <(D9$D&6A"D9&D61D99E
c                    ! R  R\         4      pV! \        P                  VR/ 334      p\         EF  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W#4       RRR4       V^8  d`   V P                  XP                  P                  RVP                   RVP                   R2RVP                   RVP                   R2.4       MV^8  dd   V P                  XP                  P                  RR	R
RRVP                   RVP                   R2RVP                   RVP                   R2.4       M_V P                  XP                  P                  RRVP                   RVP                   R2RVP                   RVP                   R2.4       RRR4       EK  	  R#   + '       g   i     ELO; i  + '       g   i     EK  ; i)c                       ] tR tRtRtR# )NAbstractPicklingErrorTests.test_unpickleable_newobj_ex_class.<locals>.LocalREXiz  r$   Nr{   r$   r   r   r  r$  z  r  r   r  r  Nr  r  r  r	  r
  when serializing tuple item 1(when serializing functools.partial state)when serializing functools.partial objectz reconstructorr  r$   )r  rW   r  r  r,  r-  r   r  r  r  r&  r  r@   rA   r  s   &    r   !test_unpickleable_newobj_ex_class<AbstractPicklingErrorTests.test_unpickleable_newobj_ex_classy  s   !s!--"b/ABCYEE**&&v';';<<JJs* =A:$$R\\%;%;+H,?,?+@(BWBWAXX^_+H,?,?+@(BWBWAXX_`>b c aZ$$R\\%;%;77BC+H,?,?+@(BWBWAXXfg+H,?,?+@(BWBWAXX_`>b c $$R\\%;%;7+H,?,?+@(BWBWAXXpq+H,?,?+@(BWBWAXX_`>b c! +* <<< +**s%   (G#7G	D7G#G 	G##G5c           
        \        \        P                  \         ^^\        3/ 334      p\         F  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V^8  d*   V P                  XP                  P                  . RO4       MXV^8  d*   V P                  XP                  P                  . RO4       M(V P                  XP                  P                  . RO4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     EK  ; i)r
  r  Nr  )r  r%  r&  r'  r  r  )r  r%  r  r  r  rW   r  r  r  r,  r-  rh  r  r  r&  r  r  s   &   r    test_unpickleable_newobj_ex_args;AbstractPicklingErrorTests.test_unpickleable_newobj_ex_args  s    7((3A|0Db*IJKEE**&&{33rJJs* 4A:$$R\\%;%; >I J aZ$$R\\%;%; >I J $$R\\%;%; >I J# +* 33 +**s%   D.+D=BD.D+&D..E c           
        \        \        P                  \         RR \        /334      p\         F  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V^8  d*   V P                  XP                  P                  . RO4       MXV^8  d*   V P                  XP                  P                  . RO4       M(V P                  XP                  P                  . RO4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     EK  ; i)r   r  Nr$   )when serializing dict item 'a'r  r  )r/  r  r&  r'  r  r  )r/  r  r  r  r+  r  s   &   r   "test_unpickleable_newobj_ex_kwargs=AbstractPicklingErrorTests.test_unpickleable_newobj_ex_kwargs  s    7((3S,4G*HIJEE**&&{33rJJs* 4A:$$R\\%;%; >I J aZ$$R\\%;%; >I J $$R\\%;%; >I J# +* 33 +**s%   D-*D<BD-D*%D--D?c           
        \        \        4      p\         F  pV P                  VR 7      ;_uu_ 4        V P	                  \
        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  RR.4       RRR4       K  	  R#   + '       g   i     LF; i  + '       g   i     K  ; i)r  Nz2when serializing test.pickletester.REX_state statez3when serializing test.pickletester.REX_state object)
	REX_stater  r  r,  r-  rh  r  r  r&  r  r  s   &   r   test_unpickleable_state2AbstractPicklingErrorTests.test_unpickleable_state  s    %EE**&&{33rJJs* 4  !7!7HI:K L +* 33 +**s#   B4B!#0B4!B1,B44Cc           
     V   V P                   \        P                  J d   V P                  R 4       \	        \
        RRRR^*34      p\         F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       RRR4       K  	  R#   + '       g   i     Lj; i  + '       g   i     K  ; i)z%only verified in the C implementationstateNr  zHsixth item of the tuple returned by __reduce__ must be callable, not intr  r$   )r  r   r  r  r  r1  r  r,  r-  r  r  r  r   r&  r  r  s   &   r   test_bad_state_setter0AbstractPicklingErrorTests.test_bad_state_setter  s    <<6??*MMAB5"gtT267EE**&&v';';<<JJs* =  R\\!201   !7!7C:E F +* << +**s%   ((DD"ADDDD(c           
        \        \        RR RR\        4       34      p\         F  pV P	                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  RR.4       RRR4       K  	  R#   + '       g   i     LF; i  + '       g   i     K  ; i)r7  Nr  z3when serializing test.pickletester.REX state setterr  r$   )r  r1  r  r  r,  r-  rh  r  r  r&  r  r  s   &   r   test_unpickleable_state_setter9AbstractPicklingErrorTests.test_unpickleable_state_setter  s    5"gtT3G3IJKEE**&&{33rJJs* 4  !7!7IC:E F +* 33 +**$   CB/10C/B?:CCc           
        \        \        R\        R R \        34      p\         F  pV P	                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       R R R 4       V P                  XP                  P                  RR.4       R R R 4       K  	  R #   + '       g   i     LF; i  + '       g   i     K  ; i)Nr  z,when serializing test.pickletester.REX stater  r$   r  r  s   &   r   )test_unpickleable_state_with_state_setterDAbstractPicklingErrorTests.test_unpickleable_state_with_state_setter  s    5"lD$>?EE**&&{33rJJs* 4  !7!7BC:E F +* 33 +**r=  c           
     8   \        \        RR ^*34      p\         F  pV P                  VR7      ;_uu_ 4        V P	                  \
        \        P                  34      ;_uu_ 4       pV P                  W4       R R R 4       V P                  \        XP                  4      RR04       V P                  VP                  P                  R.4       R R R 4       K  	  V P                  \        P                  Jd   \        \        RR . 34      p\         F  pV P                  VR7      ;_uu_ 4        V P	                  \        P                  4      ;_uu_ 4        V P                  W4       R R R 4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       R R R 4       K  	  R # R #   + '       g   i     EL]; i  + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     EK	  ; i)Nr  'int' object is not iterablezLfourth item of the tuple returned by __reduce__ must be an iterator, not intr  r$   )r  r  r  r,  r-  r(  r   r  r  r  r   r&  r  r  r  r  r  s   &   r   test_bad_object_list_items5AbstractPicklingErrorTests.test_bad_object_list_items  s    4T2&'EE**&&	63G3G'HIIRJJs* Jc",,/2324 5   !7!7C:E F +*  <<v.tRr*+C"\\\..**6+?+?@@

3. A$$S%678 $$R\\%;%;G>I J /. # / JII +** A@ /..sI   .G%G7AG-(HG4'AHG	GG14H?HHc           
        \        ^^\        .4      p\         F  pV P                  VR7      ;_uu_ 4        V P	                  \
        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  RR.4       RRR4       K  	  R#   + '       g   i     LF; i  + '       g   i     K  ; i)r
  r  Nz1when serializing test.pickletester.REX_six item 2z1when serializing test.pickletester.REX_six object)
REX_sixr  r  r,  r-  rh  r  r  r&  r  r  s   &   r   #test_unpickleable_object_list_items>AbstractPicklingErrorTests.test_unpickleable_object_list_items  s    q!\*+EE**&&{33rJJs* 4  !7!7GG:I J +* 33 +**s#   B7B$&0B7$B4/B77Cc           
     @   \        \        RR R ^*34      p\         F  pV P                  VR7      ;_uu_ 4        V P	                  \
        \        P                  34      ;_uu_ 4       pV P                  W4       R R R 4       V P                  \        XP                  4      RR04       V P                  VP                  P                  R.4       R R R 4       K  	  \         F  p\        \        RR R \        R.4      34      pV P                  VR7      ;_uu_ 4        V P	                  \        \
        34      ;_uu_ 4       pV P                  W4       R R R 4       V P                  \        XP                  4      RR04       V P                  VP                  P                  R.4       R R R 4       K  	  V P                   \        P"                  Jd   \        \        RR R . 34      p\         F  pV P                  VR7      ;_uu_ 4        V P	                  \        P                  4      ;_uu_ 4        V P                  W4       R R R 4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       R R R 4       K  	  R # R #   + '       g   i     EL7; i  + '       g   i     EK  ; i  + '       g   i     EL; i  + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     EK2  ; i)	Nr  rB  zKfifth item of the tuple returned by __reduce__ must be an iterator, not intr  z/not enough values to unpack (expected 2, got 1)z(dict items iterator must return 2-tuplesr$   r   )r  r   r  r,  r-  r(  r   r  r  r  r   r&  r  r  iterr[  r  r  r  s   &   r   test_bad_object_dict_items5AbstractPicklingErrorTests.test_bad_object_dict_items  sk    4T4,-EE**&&	63G3G'HIIRJJs* Jc",,/2324 5   !7!7C:E F +*  EtRtT6(^<=CE**&&
I'>??2JJs* @c",,/E>2@ A   !7!7C:E F +*  <<v.tRtR01C"\\\..**6+?+?@@

3. A$$S%6BD$$R\\%;%;G>I J /. # /) JII +** @?? +** A@ /..sn   .J:&J&8AJ:$K#?KAK#(L0K8AL&J71	J::KK 	K##K58LLLc           
        \        R \        /4      p\         F  pV P                  VR7      ;_uu_ 4        V P	                  \
        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  RR.4       RRR4       K  	  R#   + '       g   i     LF; i  + '       g   i     K  ; i)r   r  Nz5when serializing test.pickletester.REX_seven item 'a'z3when serializing test.pickletester.REX_seven object)
	REX_sevenr  r  r,  r-  rh  r  r  r&  r  r  s   &   r   #test_unpickleable_object_dict_items>AbstractPicklingErrorTests.test_unpickleable_object_dict_items>  s    l+,EE**&&{33rJJs* 4  !7!7KI:K L +* 33 +**s#   B6B#%0B6#B3.B66Cc                2   ^^^\         ..p\         F  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  RR.4       RRR4       K  	  R F  p. \        V4      O\         Np\         F  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  RV 2.4       RRR4       K  	  K  	  R#   + '       g   i     L; i  + '       g   i     EK]  ; i  + '       g   i     Lt; i  + '       g   i     K  ; i)r
  r  Nzwhen serializing list item 2zwhen serializing list item 1zwhen serializing list item r   r
    i  
r  r  r,  r-  rh  r  r  r&  r  rh  r-   r   r  r+  r    s   &    r   test_unpickleable_list_items7AbstractPicklingErrorTests.test_unpickleable_list_itemsH  s8   1a&'EE**&&{33rJJs* 4  !7!722:4 5 +*  $A+E!H+l+C"\\\..**;772

3. 8$$R\\%;%;5aS9>; < /. # $ 43 +** 87 /..sG   EE
0EF	4E22F	
EEE/2F=F	Fc           
        ^^^\         33p\         F  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  RR.4       RRR4       K  	  . \        ^
4      O\         N5p\         F  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  R.4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     EKR  ; i  + '       g   i     Lm; i  + '       g   i     K  ; i)r
  r  Nr  r%  zwhen serializing tuple item 10rU  r  s   &   r   test_unpickleable_tuple_items8AbstractPicklingErrorTests.test_unpickleable_tuple_itemsZ  s'   1a&'EE**&&{33rJJs* 4  !7!733:5 6 +*  )b	(<(EE**&&{33rJJs* 4  !7!74:6 7 +*  43 +** 43 +**sG   ED?0EE:0E'/E:?E
EE$'E72E::Fc                T   R R\         //p\         F  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  RR.4       RRR4       K  	  R F  p\        P                  \        V4      4      p\         VR &   \         F  pV P                  W$R7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V P                  XP                  P                  R.4       RRR4       K  	  K  	  R#   + '       g   i     EL; i  + '       g   i     EKo  ; i  + '       g   i     Lr; i  + '       g   i     K  ; i)r   r   r  Nzwhen serializing dict item 'b'r/  )r  r    rS  )r  r  r,  r-  rh  r  r  r&  r  r   fromkeysrh  rV  s   &    r   test_unpickleable_dict_items7AbstractPicklingErrorTests.test_unpickleable_dict_itemsk  s:   S,'(EE**&&{33rJJs* 4  !7!744:6 7 +*  $A--a)C#CH"\\\33**;772

3. 8$$R\\%;%;8>: ; 43 # $ 433 +** 87 433sG   E.E0E.)F	F/F	E+%	E..F FF	F'c           
        \         0p\         F  pV P                  VR 7      ;_uu_ 4        V P                  \        4      ;_uu_ 4       pV P                  W4       RRR4       V^8  d)   V P                  XP                  P                  R.4       M(V P                  XP                  P                  . RO4       RRR4       K  	  R#   + '       g   i     Lu; i  + '       g   i     K  ; i)r  Nzwhen serializing set element)when serializing list item 0r
  z,when serializing set reconstructor arguments)	r  r  r,  r-  rh  r  r  r&  r  r  s   &   r   test_unpickleable_set_items6AbstractPicklingErrorTests.test_unpickleable_set_items~  s    nEE**&&{33rJJs* 4A:$$R\\%;%;6>8 9 $$R\\%;%; >H I +* 33 +**s$   C	CACCCC,c           
        \        \        \        04      04      p\         F  pV P                  VR 7      ;_uu_ 4        V P	                  \
        4      ;_uu_ 4       pV P                  W4       RRR4       V^8  d*   V P                  XP                  P                  RR.4       M(V P                  XP                  P                  . RO4       RRR4       K  	  R#   + '       g   i     Lv; i  + '       g   i     K  ; i)r  Nz"when serializing frozenset element)ra  r
  2when serializing frozenset reconstructor argumentsra  r
  re  )
	frozensetr  r  r,  r-  rh  r  r  r&  r  r  s   &   r   !test_unpickleable_frozenset_items<AbstractPicklingErrorTests.test_unpickleable_frozenset_items  s    L>234EE**&&{33rJJs* 4A:$$R\\%;%;<<>> ? $$R\\%;%; >N O +* 33 +**s$   C/C.A C/C,'C//D c                   \        R 4      p\        Vn        \         F  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: R\         R24       V P                  \        VP                  P                  4      R\         R24       RRR4       K  	  RVn        \         F  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: R	24       V P                  \        VP                  P                  4      R
4       RRR4       K  	  RVn        \         F  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: R24       V P                  \        VP                  P                  4      R4       RRR4       K  	  RVn        \         F  pV P	                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: R24       V P                  \        VP                  P                  4      R4       RRR4       K  	  R#   + '       g   i     EL; i  + '       g   i     EKn  ; i  + '       g   i     ELC; i  + '       g   i     EK  ; i  + '       g   i     EL; i  + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     EKf  ; i)r!  r  NCan't pickle : it's not found as z.spamzmodule 'z' has no attribute 'spam'nonexistingz: No module named 'nonexisting'zNo module named 'nonexisting'r  z: Empty module namezEmpty module namez!: it's not found as __main__.spamz)module '__main__' has no attribute 'spam')r  r?   r@   r  r,  r-  r   r  r  r  r   r&  r'  r  s   &   r   test_global_lookup_error3AbstractPicklingErrorTests.test_global_lookup_error  s   &k!EE**&&v';';<<JJs* =  R\\!2#C7*>xjNP  R\\%=%=!>xj(ABD +*  'EE**&&v';';<<JJs* =  R\\!2#C7*IJL  R\\%=%=!>35 +*  EE**&&v';';<<JJs* =  R\\!2#C7*=>@  R\\%=%=!>') +*  EE**&&v';';<<JJs* =  R\\!2#C7*KLN  R\\%=%=!>?A +* 9 =<< +** =<< +** =<< +** =< +**s   (M9"M%4A0M9(N"NA!N"+(ON7%A!O<(O3$O 6A!O3%M60	M99NN	N""N47O	OO O0+O33Pc                   \         R ,           EF  pV P                  VR7      ;_uu_ 4        V^8  d   RMRp\        V4      p\        Vn        \
        P                  ! \        4       W#4      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W14       RRR4       V P                  \        XP                  4      RV: RV 24       V P                  VP                  P                   \"        4       RRR4       RRR4       EK  	  R#   + '       g   i     L}; i  + '       g   i     L2; i  + '       g   i     EKN  ; i)Nr  Nr  
   nonasciiÿ   nonencodableNzcan't pickle global identifier  using pickle protocol )r  r,  r  r?   r@   r   r  globalsr-  r   r  r  r  r   r&  assertIsInstancer'  ro  )r-   r  r   r   r+  s   &    r   #test_nonencodable_global_name_error>AbstractPicklingErrorTests.test_nonencodable_global_name_error  s    r]]EE**).~8L$i!)&&wy$<<**6+?+?@@B

3. A$$S%69$AXY^X_`b))",,*B*BDVW =	 +* # A@ =<	 +**s=   A	E
5(D7D$/AD7E
$D4/D77EE

Ec                   \         R ,           EF'  pV P                  VR7      ;_uu_ 4        V^8  d   RMRp\        R4      pW#n        \        P
                  ! VR7      p\        P                  ! \        P                  W$4      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W14       RRR4       V P                  \        XP                   4      RV: RV 24       V P#                  VP                   P$                  \&        4       RRR4       RRR4       EK*  	  R#   + '       g   i     L}; i  + '       g   i     L2; i  + '       g   i     EKf  ; i)	rp  r  rq  rr  test)ry  Nzcan't pickle module identifier rs  )r  r,  r  r@   r  r  r   r  r  r  r-  r   r  r  r  r   r&  ru  r'  ro  )r-   r  r   r   modr+  s   &     r   #test_nonencodable_module_name_error>AbstractPicklingErrorTests.test_nonencodable_module_name_error  s   r]]EE**).~8L&k!%++5&&s{{D>>**6+?+?@@B

3. A$$S%69$AXY^X_`b))",,*B*BDVW ? +* # A@ ?> +**s=   A!E"(E5D<AE%E"<EEEE""E4c                ,    ! R  R4      s \        R4      p\        Vn        \         F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: R\         R24       V P                  \        VP                  P                  4      R4       RRR4       K  	  RVn        \         F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: R	24       V P                  \        VP                  P                  4      R
4       RRR4       K  	  R#   + '       g   i     ELP; i  + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     EK  ; i)c                   *    ] tR tRt ! R R4      tRtR# )
TestGlobali  c                       ] tR tRtRtR# )TestGlobal.Ai  r$   Nr{   r$   r   r   Ar    rF  r   r  r$   Nr?   r@   rA   rB   r  rC   r$   r   r   r  r    s     r   r  zTestGlobal.A.B.Cr  Nrj  rk  z.TestGlobal.A.B.Cz$type object 'A' has no attribute 'B'z-: it's not found as __main__.TestGlobal.A.B.C/module '__main__' has no attribute 'TestGlobal')r  r  r?   r@   r  r,  r-  r   r  r  r  r   r&  r'  r  s   &   r   test_nested_lookup_error3AbstractPicklingErrorTests.test_nested_lookup_error  s   	 	 $%!EE**&&v';';<<JJs* =  R\\!2#C7 +))1
2CEF   R\\%=%=!>:< +*  EE**&&v';';<<JJs* =  R\\!2#C7 +B CD   R\\%=%=!>EG +*  =<< +** =< +**sJ   (G,G>A(G(HG.A!HG	GG+.G>9HHc                    ! R  R4      s \        R4      p\        Vn        \         F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: R\         R24       V P                  VP                  P                  4       RRR4       K  	  RVn        \         F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: R24       V P                  \        VP                  P                  4      R4       RRR4       K  	  R#   + '       g   i     ELF; i  + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     EK  ; i)	c                       ] tR tRtRtR# )r  i	  r$   Nr{   r$   r   r   r  r  	      r   r  r  Nrj  z: it's not the same object as z.TestGlobalz': it's not found as __main__.TestGlobalr  )r  r  r?   r@   r  r,  r-  r   r  r  r  r   r&  r  r'  r  s   &   r   test_wrong_object_lookup_error9AbstractPicklingErrorTests.test_wrong_object_lookup_error	  s   	 	,!EE**&&v';';<<JJs* =  R\\!2#C7 +33;*KIJ !!",,":":; +*  EE**&&v';';<<JJs* =  R\\!2#C7 +< =>   R\\%=%=!>EG +*  =<< +** =< +**sJ   (G,F;>AG(G7:G$A!G7;G	GG!$G4/G77H	c           
        R  p\          F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: 24       RRR4       K  	  V=	\          F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: 24       RRR4       K  	  VP                  Vn        \          F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      RV: 24       RRR4       K  	  R#   + '       g   i     EL; i  + '       g   i     EK  ; i  + '       g   i     EL; i  + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     EK  ; i)c                      R # r#   r$   r$   r   r   r  =AbstractPicklingErrorTests.test_local_lookup_error.<locals>.f!	      r   r  NzCan't pickle local object )r  r,  r-  r   r  r  r  r   r&  r@   rA   r?   )r-   r  r  r+  s   &   r   test_local_lookup_error2AbstractPicklingErrorTests.test_local_lookup_error	  s   	 EE**&&v';';<<JJq( =  R\\!2068 +*  LEE**&&v';';<<JJq( =  R\\!2068 +*  ^^
EE**&&v';';<<JJq( =  R\\!2068 +*  =<< +** =<< +** =< +**sk   (G;G'!1G;(H$+H=1H$.(IH9(1I'G82	G;;HH!	H$$H69I	IIc                    \        4       pV P                  \        4      ;_uu_ 4        V P                  V4       R R R 4       R #   + '       g   i     R # ; ir#   )REX_Noner-  r(  r  r-   r  s   & r   test_reduce_ex_None.AbstractPicklingErrorTests.test_reduce_ex_None<	  s4    Jy))JJqM *)))   AA	c                    \        4       pV P                  \        4      ;_uu_ 4        V P                  V4       R R R 4       R #   + '       g   i     R # ; ir#   )R_Noner-  r(  r  r  s   & r   test_reduce_None+AbstractPicklingErrorTests.test_reduce_NoneA	  s4    Hy))JJqM *)))r  c           	     h   \        4       p\        ^4       FK  p\        P                  ! ^4      ;_uu_ 4        V P	                  \
        V P                  W4       RRR4       KM  	  \        ^\        P                  ^,           4       F  pV P                  W4      pK  	  R#   + '       g   i     K  ; ir  N)	
BadGetattrrh  r   infinite_recursionr-  RuntimeErrorr  r   HIGHEST_PROTOCOL)r-   r&   r  ss   &   r   test_bad_getattr+AbstractPicklingErrorTests.test_bad_getattrF	  s     L1XE++B//!!,

AE 0/  1f559:E

1$A ; 0//s   "B  B1c           
        \         P                  ! R 4      p\        ^ ^4       F  pV P                  VR7      ;_uu_ 4        V P	                  \         P
                  4      ;_uu_ 4       pV P                  W4       RRR4       V P                  \        XP                  4      R4       RRR4       K  	  R#   + '       g   i     LC; i  + '       g   i     K  ; i)   foobarr  Nz3PickleBuffer can only be pickled with protocol >= 5)
r   r   rh  r,  r-  PickleErrorr  r  r   r&  )r-   r  r  r+  s   &   r   test_picklebuffer_error2AbstractPicklingErrorTests.test_picklebuffer_errorP	  s      +1a[EE**&&v'9'9::bJJr) ;  R\\!2IK +* !:: +**s$    (C(B5:-C5C CCc           
        \         R ,           F  pV P                  VR7      ;_uu_ 4        \        P                  ! \	        R4      R,          4      pV P                  \        P                  \        34      ;_uu_ 4        V P                  W!4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     K  ; i):r   NNr  r  NNr  N)	r  r,  r   r   r   r-  r  BufferErrorr  )r-   r  r  s   &  r   test_non_continuous_buffer5AbstractPicklingErrorTests.test_non_continuous_bufferZ	  s    r]]EE**((I)>s)CD&&(<(<k'JKKJJr) L +* # LK +**s$   AB:?B'B:'B72B::Cc                    R  p\         P                  ! R4      pV P                  \        4      ;_uu_ 4        V P	                  V^VR7       RRR4       R#   + '       g   i     R# ; i)c                     \         hr#   rh  bufferss   &r   buffer_callbackNAbstractPicklingErrorTests.test_buffer_callback_error.<locals>.buffer_callbackb	  s    r   r  r  N)r   r   r-  rh  r  )r-   r  r  s   &  r   test_buffer_callback_error5AbstractPicklingErrorTests.test_buffer_callback_errora	  sI    	  +{++JJr1oJ> ,+++s   AA'	c                  a a  ! R  R4      s VV 3R lp\         F  oV! \        4       .4       V! \        4       \        4       .4       V! \        4       04       V! \        4       \        4       04       V! \        4       ^/4       V! \        4       ^\        4       ^/4       V! ^\        4       ^\        4       /4       K  	  R# )c                       ] tR tRtRtR# )Clearerik	  r$   Nr{   r$   r   r   r  r  k	  r  r   r  c                   <a   ! V 3R  lRSP                   4      pV! \        P                  ! 4       S4      p VP                  S 4       R#   \         d)   pRpSP                  T\        T4      4        Rp?R# Rp?ii ; i)c                   .   <a  ] tR tRt o V3R ltRtV tR# )dAbstractPicklingErrorTests.test_evil_pickler_mutating_collection.<locals>.check.<locals>.EvilPicklerio	  c                T   < \        V\        4      '       d   SP                  4        R # r#   )r   r  clear)r-   r   
collections   &&r   persistent_idrAbstractPicklingErrorTests.test_evil_pickler_mutating_collection.<locals>.check.<locals>.EvilPickler.persistent_idp	  s    !#w//"((*r   r$   N)r?   r@   rA   rB   r  rC   rD   )rF   r  s   @r   EvilPicklerr  o	  s        r   r  changed size during iterationN)r  r7   rJ   dumpr  r  r   )r  r  r  er  r  r-   s   f    r   rQ  OAbstractPicklingErrorTests.test_evil_pickler_mutating_collection.<locals>.checkn	  sb     dll  
 ""**,6G0Z( 0:hA//0s   A A>A99A>N)r  r  )r-   rQ  r  s   f @r   %test_evil_pickler_mutating_collection@AbstractPicklingErrorTests.test_evil_pickler_mutating_collectionh	  s    	 		0 E79+79gi()79+79gi()79a.!79aA./1giGI./ r   c                  a a \         R 3oVV 3R lpV! \        4       \        4       V! R\        4       V! R\        \        P
                  34       V! ^ \        4       V! R\        \        \        P
                  34       V! ^R,          \        \        P
                  34       V! ^R,          ) \        \        P
                  34       R# )rS  c                 N  < S\         P                  9  g   Q hV \         P                  9  g   Q h\        P                  ! \         P                  SV 4      ;_uu_ 4        \        P                  ! \         P                  V S4      ;_uu_ 4        \
        R ,           F;  pSP                  V4      ;_uu_ 4        SP                  \        V4       RRR4       K=  	  RRR4       RRR4       R#   + '       g   i     Kb  ; i  + '       g   i     L.; i  + '       g   i     R# ; i)r  N)	rW   _extension_registryrX   r   r  r  r-  r  rS  )r   r3  r  ra  r-   s   && r   rQ  ;AbstractPicklingErrorTests.test_bad_ext_code.<locals>.check	  s    g99999w99999##G$?$?dKK##G$>$>cJJ&r]]E**3//

651 0/ + K LK 0// KJ LKKs<   /D*D 	7C,D 	D,C=7	D 	 DDD$	NrT  r  l        )r?   rp  r(  r  r  r\  r  )r-   rQ  ra  s   f @r   rM  ,AbstractPicklingErrorTests.test_bad_ext_code	  s     "	2 	fh	"dIb<./aelM6<<@Aagv||45q$wh56r   r$   N)4r?   r@   rA   rB   r  r  r  r  r  r  r  r  r  r  r  r  r   r(  r,  r0  r4  r8  r;  r?  rC  rG  rL  rP  rW  rZ  r^  rb  rg  rm  rv  r{  r  r  r  r  r  r	   r  r  r  r  r  r   r  rM  rC   rD   rE   s   @r   r  r    s#    F>
FF
F	FF.
F	F_"J"=J~
FFc2J4J4LFFFJ8J$JLL<$7";&IO&)AVXXG:G68<

 % %K*?08 7 7r   r  c                     a  ] tR tRt o Rt]P                  tR t]P                  tR t	R t
R t]^ 3R ltR tR	 tR
 t]^ 3R ltR tR tR t]^ 3R ltR tR tR t]^ 3R ltR tR tR t]^ 3R ltR tR tR t ]^ 3R lt!R t"R t#R t$R t%R  t&R! t'R" t(R# t)R$ t*R% t+R& t,R' t-R( t.R) t/R* t0R+ t1R, t2R- t3R. t4R/ t5R0 t6R1 t7R2 t8R3 t9R4 t:R5 t;R6 t<R7 t=R8 t>]?! R9R:R;R<4      R= 4       t@R> tAR? tBR@ tCRA tDRB tERC tFRD tGRE tHRF tIRG tJRH tKRI tLRJ tMRK tNRL tORM tPRN tQRO tRRP tSRQ tTRR tURS tVRT tWRU tXRV tYRW tZRX t[RY t\RZ t]R[ t^R\ t_R] t`R^ taR_ tbR` tcRa tdRb teRc tfRd tgRe thRf tiRg tjRh tkRi tlRj tmRk tnRl to^tpRtqRm tr]sP                  ]sP                  ! Rn4      Ro 4       4       tvRp twRq tx]sP                  Rr 4       tyRs tzRt t{Ru t|Rv t}Rw t~Rx tRy tRz tR{ tR| tR} tR~ t]EP                  ! ]RJ R4      R 4       tR tRtV tR# )AbstractPickleTestsi	  Fc                    R # r#   r$   r2   s   &r   setUpAbstractPickleTests.setUp	  ro   r   c                   \          F  p\        ^4      pV P                  W!4      pV P                  V4      pV P	                  W$4       RpV P                  W!4      pV P                  V4      pV P	                  W$4       \        ^V4      pV P                  W!4      pV P                  V4      pV P	                  W$4       K  	  R# )r  Nr
  r$   )r  r   r  r.  r'  r   r-   r  r&   r  r  s   &    r   	test_miscAbstractPickleTests.test_misc	  s    EaA

1$A

1A%A

1$A

1A%1A

1$A

1A% r   c                    V P                   p\         F6  pV P                  W4      pV P                  V4      pV P	                  W4       K8  	  R # r#   )r7  r  r  r.  r'  )r-   r  r  r  r]  s   &    r   test_roundtrip_equality+AbstractPickleTests.test_roundtrip_equality	  s>    >>E

8+A**Q-C. r   c                    ^ RI Hp ^ RIHp ^ \        3^\
        33 FR  w  r4V P                  V P                  V4      pV! 4       pV! WVR7       VP                  4       pV P                  WG4       KT  	  R# )r   )StringIOdis)outN)
r7   r  r   r  	DATA0_DIS	DATA1_DISr  r7  rL   r  )r-   r  r  r  r  r  fileliker]  s   &       r   dont_test_disassembly)AbstractPickleTests.dont_test_disassembly	  s`    # !9~9~=OE

4>>51AzH ##%CX+  >r   c                d   V! 4       pVP                  V4       \        V\        P                  ^,           4       Fr  pV P	                  WE4      pV P                  V4      pV P                  Wq4       V! V4      pV P                  \        V4      ^4       V P                  V^ ,          V4       Kt  	  R# r
  N)
r  rh  r   r  r  r.  ru  r  lenr  )	r-   r   aslistminprotocollr  r  r&   r  s	   &&&&     r   _test_recursive_list(AbstractPickleTests._test_recursive_list	  s    E	;(?(?!(CDE

1$A

1A!!!)q	ASVQ'MM!A$" Er   c                0    V P                  \        4       R # r#   )r  r  r2   s   &r   test_recursive_list'AbstractPickleTests.test_recursive_list	      !!$'r   c                4    V P                  \        ^R7       R# r  )r  N)r  rS  r2   s   &r   test_recursive_list_subclass0AbstractPickleTests.test_recursive_list_subclass	      !!&a!8r   c                6    V P                  \        R  R7       R# )c                     V P                   # r#   r  r%   s   &r   <lambda>>AbstractPickleTests.test_recursive_list_like.<locals>.<lambda>	  s    AGGr   r  N)r  rF  r2   s   &r   test_recursive_list_like,AbstractPickleTests.test_recursive_list_like	  s    !!'2C!Dr   c                   V! 4       3pV^ ,          P                  V4       \        V\        P                  ^,           4       F  pV P	                  WE4      pV P                  V4      pV P                  V\        4       V P                  \        V4      ^4       V P                  V^ ,          V4       V! V^ ,          4      pV P                  \        V4      ^4       V P                  V^ ,          V4       K  	  Vw  p\        V\        P                  ^,           4       F  pV P	                  WE4      pV P                  V4      pV P                  Wq4       V! V4      pV P                  \        V4      ^4       V P                  V^ ,          \        4       V P                  \        V^ ,          4      ^4       V P                  V^ ,          ^ ,          V4       K  	  R# rV   )r  rh  r   r  r  r.  ru  tupler  r  r  )	r-   r   r  r  r  r  r  r&   r  s	   &&&&     r   _test_recursive_tuple_and_list2AbstractPickleTests._test_recursive_tuple_and_list	  sk   UH	!A;(?(?!(CDE

1$A

1A!!!U+SVQ'!!!A$,qtASVQ'MM!A$" E ;(?(?!(CDE

1$A

1A!!!)q	ASVQ'!!!A$.S1Y*MM!A$q'1% Er   c                0    V P                  \        4       R # r#   )r  r  r2   s   &r   test_recursive_tuple_and_list1AbstractPickleTests.test_recursive_tuple_and_list
      ++D1r   c                4    V P                  \        ^R7       R# r  )r  rS  r2   s   &r   &test_recursive_tuple_and_list_subclass:AbstractPickleTests.test_recursive_tuple_and_list_subclass
      ++F+Br   c                6    V P                  \        R  R7       R# )c                     V P                   # r#   r  r%   s   &r   r  HAbstractPickleTests.test_recursive_tuple_and_list_like.<locals>.<lambda>	
  s    aggr   r  N)r  rF  r2   s   &r   "test_recursive_tuple_and_list_like6AbstractPickleTests.test_recursive_tuple_and_list_like
  s    ++G<M+Nr   c                h   V! 4       pWD^&   \        V\        P                  ^,           4       F  pV P                  WE4      pV P	                  V4      pV P                  Wq4       V! V4      pV P                  \        VP                  4       4      ^.4       V P                  V^,          V4       K  	  R# r  )
rh  r   r  r  r.  ru  r  r  rj  r  	r-   r   asdictr  dr  r  r&   r  s	   &&&&     r   _test_recursive_dict(AbstractPickleTests._test_recursive_dict
  s    E!;(?(?!(CDE

1$A

1A!!!)q	AT!&&(^aS1MM!A$" Er   c                0    V P                  \        4       R # r#   )r  r   r2   s   &r   test_recursive_dict'AbstractPickleTests.test_recursive_dict
  r  r   c                4    V P                  \        ^R7       R# r  )r  MyDictr2   s   &r   test_recursive_dict_subclass0AbstractPickleTests.test_recursive_dict_subclass
  r  r   c                6    V P                  \        R  R7       R# )c                     V P                   # r#   tabler%   s   &r   r  >AbstractPickleTests.test_recursive_dict_like.<locals>.<lambda>
  s    aggr   r  N)r  rO  r2   s   &r   test_recursive_dict_like,AbstractPickleTests.test_recursive_dict_like
  s    !!)4E!Fr   c                   V! 4       3pWD^ ,          ^&   \        V\        P                  ^,           4       F  pV P                  WE4      pV P	                  V4      pV P                  V\        4       V P                  \        V4      ^4       V P                  V^ ,          V4       V! V^ ,          4      pV P                  \        V4      ^.4       V P                  V^,          V4       K  	  Vw  p\        V\        P                  ^,           4       F  pV P                  WE4      pV P	                  V4      pV P                  Wq4       V! V4      pV P                  \        V4      ^.4       V P                  V^,          \        4       V P                  \        V^,          4      ^4       V P                  V^,          ^ ,          V4       K  	  R# rV   )rh  r   r  r  r.  ru  r  r  r  r  r  	r-   r   r  r  r  r  r  r&   r  s	   &&&&     r   _test_recursive_tuple_and_dict2AbstractPickleTests._test_recursive_tuple_and_dict 
  sk   UH!Q;(?(?!(CDE

1$A

1A!!!U+SVQ'!!!A$,qtAT!Wqc*MM!A$" E ;(?(?!(CDE

1$A

1A!!!)q	AT!Wqc*!!!A$.S1Y*MM!A$q'1% Er   c                0    V P                  \        4       R # r#   )r(  r   r2   s   &r   test_recursive_tuple_and_dict1AbstractPickleTests.test_recursive_tuple_and_dict:
  r  r   c                4    V P                  \        ^R7       R# r  )r(  r  r2   s   &r   &test_recursive_tuple_and_dict_subclass:AbstractPickleTests.test_recursive_tuple_and_dict_subclass=
  r  r   c                6    V P                  \        R  R7       R# )c                     V P                   # r#   r   r%   s   &r   r  HAbstractPickleTests.test_recursive_tuple_and_dict_like.<locals>.<lambda>A
  s    r   r#  N)r(  rO  r2   s   &r   "test_recursive_tuple_and_dict_like6AbstractPickleTests.test_recursive_tuple_and_dict_like@
  s    ++I>O+Pr   c                $   V! 4       p^V\        V4      &   \        V\        P                  ^,           4       F  pV P	                  WE4      pV P                  V4      pV P                  Wq4       V! V4      pV P                  \        VP                  4       4      ^4       V P                  \        VP                  4       4      ^ ,          \         4       V P                  \        VP                  4       4      ^ ,          P                  V4       K  	  R# r  )r~   rh  r   r  r  r.  ru  r  r  rj  r  r  r   r  s	   &&&&     r   _test_recursive_dict_key,AbstractPickleTests._test_recursive_dict_keyC
  s     E!A$;(?(?!(CDE

1$A

1A!!!)q	AS]A.!!$qvvx."3Q7MM$qvvx.+1115 Er   c                0    V P                  \        4       R # r#   )r6  r   r2   s   &r   test_recursive_dict_key+AbstractPickleTests.test_recursive_dict_keyQ
  s    %%d+r   c                4    V P                  \        ^R7       R# r  )r6  r  r2   s   &r    test_recursive_dict_subclass_key4AbstractPickleTests.test_recursive_dict_subclass_keyT
  s    %%f!%<r   c                6    V P                  \        R  R7       R# )c                     V P                   # r#   r   r%   s   &r   r  BAbstractPickleTests.test_recursive_dict_like_key.<locals>.<lambda>X
  s    !''r   r#  N)r6  rO  r2   s   &r   test_recursive_dict_like_key0AbstractPickleTests.test_recursive_dict_like_keyW
  s    %%i8I%Jr   c                   V! 4       3p^V^ ,          \        V4      &   \        V\        P                  ^,           4       EF  pV P	                  WE4      pV P                  V4      pV P                  V\        4       V P                  \        V4      ^4       V P                  V^ ,          V4       V! V^ ,          4      pV P                  \        V4      ^4       V P                  \        VP                  4       4      ^ ,          \         4       V P                  \        VP                  4       4      ^ ,          P                  V4       EK  	  Vw  p\        V\        P                  ^,           4       F  pV P	                  WE4      pV P                  V4      pV P                  Wq4       V! V4      pV P                  \        V4      ^4       V P                  \        VP                  4       4      ^ ,          \         4       V P                  \        VP                  4       4      ^ ,          P                  ^ ,          V4       K  	  R# r  )r~   rh  r   r  r  r.  ru  r  r  r  r  rj  r  r   r'  s	   &&&&     r   "_test_recursive_tuple_and_dict_key6AbstractPickleTests._test_recursive_tuple_and_dict_keyZ
  s    UH!QqT
;(?(?!(CDE

1$A

1A!!!U+SVQ'!!!A$,qtASVQ'!!$qvvx."3Q7MM$qvvx.+1115 E ;(?(?!(CDE

1$A

1A!!!)q	ASVQ'!!$qvvx."3Q7MM$qvvx.+11!4a8 Er   c                0    V P                  \        4       R # r#   )rD  r   r2   s   &r   !test_recursive_tuple_and_dict_key5AbstractPickleTests.test_recursive_tuple_and_dict_keyv
  s    //5r   c                4    V P                  \        ^R7       R# r  )rD  r  r2   s   &r   *test_recursive_tuple_and_dict_subclass_key>AbstractPickleTests.test_recursive_tuple_and_dict_subclass_keyy
  s    //A/Fr   c                6    V P                  \        R  R7       R# )c                     V P                   # r#   r   r%   s   &r   r  LAbstractPickleTests.test_recursive_tuple_and_dict_like_key.<locals>.<lambda>}
  s    AGGr   r#  N)rD  rO  r2   s   &r   &test_recursive_tuple_and_dict_like_key:AbstractPickleTests.test_recursive_tuple_and_dict_like_key|
  s    //	BS/Tr   c                   \        4       pVP                  \        V4      4       \        ^\        P
                  ^,           4       F  pV P                  W4      pV P                  V4      pV P                  V\         4       V P                  \        V4      ^4       V P                  \        V4      ^ ,          \        4       V P                  \        V4      ^ ,          P                  V4       K  	  Vw  p\        ^\        P
                  ^,           4       F  pV P                  W4      pV P                  V4      pV P                  V\        4       V P                  VP                  \         4       V P                  \        VP                  4      ^4       V P                  \        VP                  4      ^ ,          V4       K  	  R# r  N)rf  addr~   rh  r   r  r  r.  ru  r  r  r  r  r   r-   r  r  r  r&   s   &    r   test_recursive_set&AbstractPickleTests.test_recursive_set
  s>   E	ad1f559:E

1$A

1A!!!S)SVQ'!!$q'!*a0MM$q'!***A. ; 1f559:E

1$A

1A!!!Q'!!!''3/S\1-MM$qww-*A. ;r   c                0   \        4       pWn        \         F{  pV P                  W4      pV P	                  V4      pV P                  V\         4       V P                  \        V4      \        V4      4       V P                  VP                  V4       K}  	  R # r#   )	rz   attrr  r  r.  ru  r  dirr  )r-   ir  r  r&   s   &    r   test_recursive_inst'AbstractPickleTests.test_recursive_inst
  sm    HE

1$A

1A!!!V,SVSV,MM!&&!$ r   c                4   . p^V/p\        4       pW#n        VP                  V4       \         F  pV P	                  W4      pV P                  V4      pV P                  V\        4       V P                  \        V4      ^4       V P                  \        V^ ,          4      \        V4      4       V P                  \        V^ ,          P                  P                  4       4      ^.4       V P                  V^ ,          P                  ^,          V4       K  	  R# r  )rz   rX  r  r  r  r.  ru  r  r  r  rY  rj  r  )r-   r  r  rZ  r  r  r&   s   &      r   test_recursive_multi(AbstractPickleTests.test_recursive_multi
  s    qEH	E

1$A

1A!!!T*SVQ'S1YA/T!A$)).."23aS9MM!A$))A,* r   c                j   \        4       pV! V.4      Vn        \        VP                  4      p\         F  pV P	                  W$4      pV P                  V4      pV P                  VP                  V4       V P                  \        VP                  4      ^4       V P                  \        VP                  4      ^ ,          \         4       V P                  \        VP                  4      ^ ,          V4       K  	  VP                  p\         F  pV P	                  W$4      pV P                  V4      pV P                  Wc4       V P                  \        V4      ^4       V P                  \        V4      ^ ,          \         4       V P                  \        V4      ^ ,          P                  V4       K  	  R# r  )rz   rX  r   r  r  r.  ru  r  r  r  r  )r-   factoryor  r  r  r&   s   &&     r   #_test_recursive_collection_and_inst7AbstractPickleTests._test_recursive_collection_and_inst
  s0    H!LE

1$A

1A!!!&&!,S[!,!!$qvv,q/6:MM$qvv,q/1-  FFE

1$A

1A!!!'SVQ'!!$q'!*f5MM$q'!*//1- r   c                0    V P                  \        4       R # r#   )rc  r  r2   s   &r   test_recursive_list_and_inst0AbstractPickleTests.test_recursive_list_and_inst
  s    006r   c                0    V P                  \        4       R # r#   )rc  r  r2   s   &r   test_recursive_tuple_and_inst1AbstractPickleTests.test_recursive_tuple_and_inst
      007r   c                D    V P                  \        P                  4       R # r#   )rc  r   r]  r2   s   &r   test_recursive_dict_and_inst0AbstractPickleTests.test_recursive_dict_and_inst
  s    00?r   c                0    V P                  \        4       R # r#   )rc  rf  r2   s   &r   test_recursive_set_and_inst/AbstractPickleTests.test_recursive_set_and_inst
  s    005r   c                0    V P                  \        4       R # r#   )rc  rf  r2   s   &r   !test_recursive_frozenset_and_inst5AbstractPickleTests.test_recursive_frozenset_and_inst
  s    00;r   c                0    V P                  \        4       R # r#   )rc  rS  r2   s   &r   %test_recursive_list_subclass_and_inst9AbstractPickleTests.test_recursive_list_subclass_and_inst
  s    008r   c                0    V P                  \        4       R # r#   )rc  MyTupler2   s   &r   &test_recursive_tuple_subclass_and_inst:AbstractPickleTests.test_recursive_tuple_subclass_and_inst
  s    009r   c                D    V P                  \        P                  4       R # r#   )rc  r  r]  r2   s   &r   %test_recursive_dict_subclass_and_inst9AbstractPickleTests.test_recursive_dict_subclass_and_inst
  s    00Ar   c                0    V P                  \        4       R # r#   )rc  MySetr2   s   &r   $test_recursive_set_subclass_and_inst8AbstractPickleTests.test_recursive_set_subclass_and_inst
  rk  r   c                0    V P                  \        4       R # r#   )rc  MyFrozenSetr2   s   &r   *test_recursive_frozenset_subclass_and_inst>AbstractPickleTests.test_recursive_frozenset_subclass_and_inst
  s    00=r   c                    \        4       pWn        \         FW  pV P                  W4      pV P	                  V4      pV P                  V\         4       V P                  VP                  V4       KY  	  R # r#   )r3  r7  r  r  r.  ru  r  rT  s   &    r   test_recursive_inst_state-AbstractPickleTests.test_recursive_inst_state
  sU    KE

1$A

1A!!!Y/MM!''1%	 r   c                   \        4       3pW^ ,          n        \         F  pV P                  W4      pV P	                  V4      pV P                  V\        4       V P                  \        V4      ^4       V P                  V^ ,          \         4       V P                  V^ ,          P                  V4       K  	  Vw  p\         F  pV P                  W4      pV P	                  V4      pV P                  V\         4       V P                  VP                  \        4       V P                  \        VP                  4      ^4       V P                  VP                  ^ ,          V4       K  	  R# rV   )
r3  r7  r  r  r.  ru  r  r  r  r  )r-   r  r  r  r&   s   &    r   #test_recursive_tuple_and_inst_state7AbstractPickleTests.test_recursive_tuple_and_inst_state
  s   [N!
E

1$A

1A!!!U+SVQ'!!!A$	2MM!A$**a(  E

1$A

1A!!!Y/!!!''51S\1-MM!''!*a( r   c                    . ROp\          F?  pV F6  pV P                  W24      pV P                  V4      pV P                  W54       K8  	  KA  	  R# )r  N)r  z<\u>u   <\ሴ>z<
>z<\>u   <\𒍅>u   <>r  r  r.  r'  )r-   endcasesr  ur  u2s   &     r   test_unicode AbstractPickleTests.test_unicode  sH      EJJq(ZZ]##A*  r   c                    R p\          F6  pV P                  W4      pV P                  V4      pV P                  W4       K8  	  R# )u   𒍅Nr  )r-   r  r  r  r  s   &    r   test_unicode_high_plane+AbstractPickleTests.test_unicode_high_plane  s:    E

1$AAB& r   c                    \          FC  pR F:  pV P                  W"3V4      pV P                  V4      w  rEV P                  WE4       K<  	  KE  	  R# )r  N)r  xyzzxyz
zx\yzu   x¡yzr  r  r.  r  )r-   r  r  r  s1s2s   &     r   test_unicode_memoization,AbstractPickleTests.test_unicode_memoization  sC    E=JJvu-Ab% > r   c                   \          F  pR F4  pV P                  W!4      pV P                  W P                  V4      4       K6  	  \	        R4       Uu. uF  p\        V.4      NK  	  up F4  pV P                  W!4      pV P                  W P                  V4      4       K6  	  \	        R4       Uu. uF  p\        WD.4      NK  	  up F4  pV P                  W!4      pV P                  W P                  V4      4       K6  	  K  	  R# u upi u upi )r      Nr      xyzs,  xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz)r  r  r'  r.  rh  r   )r-   r  r  r  rZ  s   &    r   
test_bytesAbstractPickleTests.test_bytes   s    E,JJq(##Azz!}5 - +0*5*QeQCj*5JJq(##Azz!}5 6 .33Z8ZeQFmZ8JJq(##Azz!}5 9  6 9s   D.D	c                n   \          EF  p\        \        3 F  pR F  pV P                  WVRR7      ;_uu_ 4        V! V4      pV P	                  WD3V4      pV P                  V4      w  rgV P                  Wg4       V P                  WD3Wg34       RRR4       V P                  WVRR7      ;_uu_ 4        V! V4      V! V4      rV P	                  W3V4      pV P                  W3V P                  V4      4       RRR4       K  	  K  	  EK  	  R#   + '       g   i     L; i  + '       g   i     EK  ; ir   F)r  
array_typer  independentNTr  )r  r   r   r,  r  r.  r  r'  )
r-   r  r  r  r   r  r&   r  b1b2s
   &         r   test_bytes_memoization*AbstractPickleTests.test_bytes_memoization,  s   YE$m4
0AEA[`aa&qM JJvu5#zz!}a+++QFQF; b EA[_``!+A
1B JJx7 ++RHdjjmD a` 1 5  ba a``s   AD3AD"D"D4c                p   \          EF*  pR EF  p\        V4      pV P                  W14      pV P                  V4      pV P	                  WS4       V P                  W54       V^8:  d>   V P                  RV4       V P                  \        \        P                  V4      4       K  V^8X  d>   V P                  RV4       V P                  \        \        P                  V4      4       K  V^8X  g   K  V P                  RV4       V P                  \        \        P                  V4      4       EK"  	  EK-  	  R# )r   s	   bytearrayNr  )r  r  r  r.  r"  r'  r  
assertTruer   r   GLOBALSTACK_GLOBALassertNotIn
BYTEARRAY8)r-   r  r  r   r  bbs   &     r   test_bytearray"AbstractPickleTests.test_bytearray?  s    YE,aLJJq(ZZ]  '##A*A:MM,2OO$4V]]A$FGaZMM,2OO$4V5H5H!$LMaZ$$\15OO$4V5F5F$JK - r   c           
        \          EFH  p\        \        3 EF3  pR EF(  pV P                  WVRR7      ;_uu_ 4        V! V4      pV P	                  WD3V4      pV P                  V4      w  rgV P                  Wg4       RRR4       V P                  WVRR7      ;_uu_ 4        V! V4      V! V4      rV P                  W4       V P	                  W3V4      pV P                  V4      w  rV P                  W4       V P                  W4       V P                  W4       V P                  W4       V P                  W4       RRR4       EK+  	  EK6  	  EKK  	  R#   + '       g   i     L; i  + '       g   i     EK^  ; ir  )	r  r  r   r,  r  r.  r  r"  r'  )r-   r  r  r  r   r  r  r  b1ab2ab1bb2bs   &           r   test_bytearray_memoization.AbstractPickleTests.test_bytearray_memoizationR  s8   YE(*;<
0AEA[`aa&qM JJvu5!%Ab-	 b EA[_``#-a=*Q-S ((2 JJz59#'::a=((2((2++C5((2++C5 a` 1 =  ba a``s   A E!BE)E&)E;c                    \          Fe  p\        P                  pV'       g   K  V) V3 F6  pV P                  W14      pV P	                  V4      pV P                  W54       K8  	  V^,	          pKT  	  R# r  )r  r  maxsizer  r.  r'  )r-   r  r    r  r  n2s   &     r   	test_intsAbstractPickleTests.test_intsl  s^    EA!"#QH

83AAB''5 !( F r   c                   \          Fl  pR Fc  p^V,          pV^,
          W3^,           3 FA  pWD) 3 F6  pV P                  WQ4      pV P                  V4      pV P                  WW4       K8  	  KC  	  Ke  	  Kn  	  \	        R^4      pW3R,          ,          pW3) 3 FV  pV P                  V^4      pV P                  V4      pV P                  \        V4      \        4       V P                  WW4       KX  	  R# )r
  deadbeeffeedfacei@B N)r
     i  i     i  )r  r  r.  r'  intr  r   r  )	r-   r  nbitsnbasenposr    r   r]  r  s	   &        r   	test_longAbstractPickleTests.test_longv  s    E9U
!!GU!G3D!5[!%A!5"jj0++A3 ) 4 :  &+'!!A

1a A**Q-C MM$s)S)Q$ r   c                    . ROpY Uu. uF  q") NK  	  up,           p\          F?  pV F6  pV P                  WC4      pV P                  V4      pV P                  WF4       K8  	  KA  	  R# u upi )        N)r  g       g+ph  gZ*) g_D9g?g      ?gQ	@gm"wp@gWTDgꌠ9Y>)Fr  )r-   test_valuesr&   r  r   r   r]  s   &      r   
test_floatAbstractPickleTests.test_float  sf    A!$=AR$==E$E1jj(##E/ %  %>s   A(LC_ALLde_DEfr_FRr  c                X    V P                  V P                  R ^ 4      R,          R4       R# )g333333?:r   r  Ns   F1.N)r  r  r2   s   &r   test_float_format%AbstractPickleTests.test_float_format  s$     	C+C0&9r   c                    \          FE  p\        4       pV P                  W!4      pV P                  V4      pV P	                  V\
        4       KG  	  R # r#   )r  AAAr  r.  r  REDUCE_Ar-   r  instr  ru  s   &    r   test_reduceAbstractPickleTests.test_reduce  s?    E5DZZ,FZZ'FVX.	 r   c                    \          FB  p\        ^^4      pV P                  W!4      pV P                  V4      pV P	                  W$4       KD  	  R# r  )r  r   r  r.  r'  r  s   &    r   test_getinitargs$AbstractPickleTests.test_getinitargs  sA    E1a=DZZ,FZZ'F-	 r   c                    \        4       p\         FK  pV P                  W4      pV P                  V4      pV P	                  VP
                  VP
                  4       KM  	  R # r#   )r   r  r  r.  r  r   r-   r   r  r  r   s   &    r   test_metaclass"AbstractPickleTests.test_metaclass  sF    OE

1$A

1AQ[[!++6 r   c                B   \        R \        34      p\        P                  ! \        \        P
                  4       \         FZ  pV P                  W4      pV P                  V4      pV P                  W4       V P                  \        V4      \        V4      4       K\  	  R# )my_dynamic_classN)r   rp  rW   r   r   r   r  r  r.  r  r  r   r  s   &    r   test_dynamic_class&AbstractPickleTests.test_dynamic_class  sp     !3fY?)+=+H+HIE

1$A

1AQ"MM$q'47+	 r   c                   ^ RI p^ RIpVP                  4       p\         F  pV P	                  W44      pV P                  V4      pV P                  W64       VP                  ! VP                  4      pV P	                  W44      pV P                  V4      pV P                  W64       \        VR4      '       g   K  VP                  ! VP                  4      pV P	                  W44      pV P                  V4      pV P                  W64       K  	  R# )r   Nstatvfs)timer  	localtimer  r  r.  r'  statcurdirr   r  )r-   r  r  r  r  r  r  s   &      r   test_structseq"AbstractPickleTests.test_structseq  s    NNE

1$A

1A%		"A

1$A

1A%r9%%JJryy)JJq(JJqM##A) r   c                    \          F8  pV P                  R V4      pV P                  V4      pV P                  R V4       K:  	  R# ).Nr  r-   r  r  r  s   &   r   test_ellipsis!AbstractPickleTests.test_ellipsis  s7    E

3&A

1AMM#q! r   c                    \          F@  pV P                  \        V4      pV P                  V4      pV P	                  \        V4       KB  	  R # r#   )r  r  r   r.  r  r  s   &   r   test_notimplemented'AbstractPickleTests.test_notimplemented  s7    E

>51A

1AMM.!, r   c                    R R\         .pV FW  p\         FJ  pV P                  \        V4      V4      pV P	                  V4      pV P                  \        V4      V4       KL  	  KY  	  R # )N.)r   r  r  r   r.  r  )r-   
singletons	singletonr  r  r  s   &     r   test_singleton_types(AbstractPickleTests.test_singleton_types  sU    C0
#I"JJtI6JJqMd9oq1 # $r   c                .   \         P                  P                  4        Fr  p\        V\        4      '       g   K  \        V\        4      '       d   K3  \         F5  pV P                  W4      pV P                  V P                  V4      V4       K7  	  Kt  	  R # r#   )r   re   valuesr   r   
issubclassr/  r  r  r  r.  r-   r  r  r  s   &   r   test_builtin_types&AbstractPickleTests.test_builtin_types  sb    ""))+A!T"":a+G+G&E

1,AMM$**Q-3 ' ,r   c                   \         P                  P                  4        F  p\        V\        4      '       g   K  \        V\        4      '       g   K3  \         F  pV P                  W4      pV P                  V4      pV^8:  d9   \        V\        4      '       d#   V\        Jd   V P                  V\        4       Kd  V^8:  d/   \        V\        4      '       d   V P                  V\        4       K  V P                  WA4       K  	  K  	  R# r  )r   re   r  r   r   r  r/  r  r  r.  OSErrorBlockingIOErrorr  ImportError)r-   r  r  r  r  s   &    r   test_builtin_exceptions+AbstractPickleTests.test_builtin_exceptions  s    ""))+A!T""z!]'C'C&E

1,A

1AzjG&<&</AYa1!
1k(B(Ba5a+ ' ,r   c                   \         P                  P                  4        Fd  p\        V\        P
                  4      '       g   K%  \         F5  pV P                  W4      pV P                  V P                  V4      V4       K7  	  Kf  	  R # r#   )
r   re   r  r   r  BuiltinFunctionTyper  r  r  r.  r  s   &   r   test_builtin_functions*AbstractPickleTests.test_builtin_functions  s\    ""))+A!U6677&E

1,AMM$**Q-3 ' ,r   c                ~   \          Fz  pV P                  R V4      pV^8  d5   \        P                  \	        V.4      ,           pV P                  W#4       KP  V P                  \        \        P                  V4      ^ 4       K|  	  \         R,          ^,           p\        P                  \        P                  ,           p\        P                  \	        V.4      ,           V,           p V P                  V4       V P                  R4       R #   \         d'   pT P                  R\        T4      4        R p?R # R p?ii ; i)Nz0expected bad protocol number to raise ValueErrorzunsupported pickle protocolr  )r  r  r   PROTOr   assertStartsWithr  r!   NONEr  r.  failr[  r  r   )r-   r  r  proto_headeroob
build_none	badpickleerrs   &       r   
test_protoAbstractPickleTests.test_proto  s    Ejju-Gz%||eUGn<%%g<  fllG!DaH  ma[[6;;.
LL5#</*<		JJJy! IIHI  	CMM7SBB	Cs   'D D<D77D<c                    R p\          Fc  pV P                  W4      pV P                  V4      pV P                  W4       V P	                  \        \        P                  V4      V^8  4       Ke  	  R# )   UJ^w,3|	 N)r  r  r.  r'  r  r   r   LONG1r-   r&   r  r  r  s   &    r   
test_long1AbstractPickleTests.test_long1  sZ    )E

1$A

1A%-fllA>
K	 r   c                    R R,          p\          Fc  pV P                  W4      pV P                  V4      pV P                  W4       V P	                  \        \        P                  V4      V^8  4       Ke  	  R# )r  Nr  )r  r  r.  r'  r  r   r   LONG4r  s   &    r   
test_long4AbstractPickleTests.test_long4  s_    )e4E

1$A

1A%-fllA>
K	 r   c                   / R\         P                  bR\         P                  bR\         P                  bR\         P                  bR\         P                  bR\         P                  bR\         P                  bR	\         P                  bR
\         P                  bR\         P                  bR\         P                  bR\         P                  bR\         P                  bR\         P
                  bR\         P                  bR\         P                  bR\         P                  bR\         P                  R\         P
                  R\         P                  /CpRpRpR	pRpRp\         Fz  pW#WEV3 Fn  pV P                  W4      p	V P                  V	4      p
V P                  W4       V\        V^4      \        V4      3,          pV P                  \        W4      4       Kp  	  K|  	  R# )r   N)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  r  )r  r  )r  r  )r  r   )r  r
  )r  r  )r  r  r  r  r$   rf  r
  r  r  )r
  r  r  r  )r   TUPLEEMPTY_TUPLETUPLE1TUPLE2TUPLE3r  r  r.  r'  minr  r  r   )r-   expected_opcoder   r   r  r  r  r  r&   r  r  r  s   &           r   test_short_tuples%AbstractPickleTests.test_short_tuples"  s   66<< !6<<!6<< "6<< "6<<	 "6#5#5 "6<< "6<< "6<< "6<< "6#5#5 "6== "6== "6==  "6<<!$ "6#5#5%& "6=='( "6==!6==!6<<-0 E1]JJq(JJqM##A)*3ua=#a&+@A 0 => # r   c                   R\         P                  R\         P                  R\         P                  R\         P                  R\         P                  R\         P                  R\         P                  R	\         P                  R
\         P                  R\         P                  R\         P                  R\         P                  /p\
         Fr  pR Fi  pV P                  W24      pV P                  V4      pV P                  W5J W#WE34       V\        V^4      V3,          pV P                  \        Wd4      4       Kk  	  Kt  	  R# )r   NrV   r  r  )r  N)r   T)r
  T)r  T)r  T)r   F)r
  F)r  F)r  F)NFT)r   r  INTNEWTRUENEWFALSEr  r  r.  r  r,  r   )r-   r-  r  r&   r  r  r  s   &      r   test_singletons#AbstractPickleTests.test_singletonsI  s    $fkk$fkk$fkk$fkk$fjj$fjj$fnn$fnn%vzz%vzz%v%v E&JJq(JJqM1(89*3ua=!+;< 0 => ' r   c                    \        . RO4      p^*Vn        RVn        \         F6  pV P	                  W4      pV P                  V4      pV P                  W4       K8  	  R# r
  helloNr&  )ry  r  r  r  r  r.  r'  r  s   &    r   test_newobj_tuple%AbstractPickleTests.test_newobj_tupleb  sM    IE

1$A

1A% r   c                    \        . RO4      p^*Vn        RVn        \         F6  pV P	                  W4      pV P                  V4      pV P                  W4       K8  	  R# r7  )rS  r  r  r  r  r.  r'  r  s   &    r   test_newobj_list$AbstractPickleTests.test_newobj_listk  sM    9E

1$A

1A% r   c           
        \          F  p\         F  pVP                  pV! VP                  4      p^*Vn        V P                  WA4      pV P                  V4      pWW4V\        V4      3pV P                  WF4       V P                  V! V4      V! V4      V4       V P                  VP                  VP                  V4       K  	  K  	  R# )r  N)r  	myclasses__base__sampler  r  r.  r   r'  r  re   )r-   r  rc   Br&   r  r  details   &       r   test_newobj_generic'AbstractPickleTests.test_newobj_generict  s    EJJahhKJJq(JJqMA!T!W5##A)  1qtV4  QZZ@  r   c           
     @   \         R ,          p\        \        3 F  pVP                  V4       K  	  \         F  pV F  pVP
                  pV! VP                  4      p^*Vn        \        P                  ! V4      pV P                  Ws4      pV P                  V4      p	V P                  \        V	4      \        V4      4       W4WVV	\        V	4      3p
V P                  V! V4      V! V	4      V
4       V P                  VP                  V	P                  V
4       K  	  K  	  R# ):NNNN)r?  MyIntry  r  r  r@  rA  r  weakrefproxyr  r.  r  r   re   )r-   classesr  r  rc   rB  r&   r  r  r  rC  s   &          r   test_newobj_proxies'AbstractPickleTests.test_newobj_proxies  s    A,!ANN1 "EJJahhKMM!$JJq(JJqM  a$q'2A!T!W5  1qtV4  QZZ@  r   c                4   \          F  p\        ^4      p^*Vn        V P                  W!4      pV P	                  V4      pV P                  \        V4      \        4       V P                  \        V4      ^4       V P                  VP                  ^*4       K  	  R# r  )	r  MyIntWithNew2r  r  r.  r  r   r  r  r  s   &    r   test_newobj_overridden_new.AbstractPickleTests.test_newobj_overridden_new  sr    Ea AAE

1$A

1AMM$q'=1SVQ'QUUB' r   c                    \         p\         P                  \         4      pV P                  V^4      p ^*s V P                  \        \
        P                  3V P                  V4       Vs R#   Ts i ; irR  )SimpleNewObjr   r  r-  r(  r   r  r.  )r-   saverb  r   s   &   r   test_newobj_not_class)AbstractPickleTests.test_newobj_not_class  s_       .JJq!	 Ly&*@*@A4::qQL4Ls   3A* *A.c                    \        V4      p \        P                  ! \        R V4       \	        . RO4      p^*Vn        RVn        V P                  V^4      pV P                  \        P                  R4      V4       V P                  RV4       V P                  \        W%4      4       V P                  V4      pV P                  WF4       V P                  V^4      pV P                  \        P                  R4      V4       V P                  RV4       V P                  \        W'4      R\!        V4      4       V P                  V4      pV P                  WF4       VP#                  4        R#   TP#                  4        i ; i)rS  r8  r  s   MyListTNr&  )rT   rW   r^   r?   rS  r  r  r  r  rO  assertFalser   r.  r'  r  r  reprr`   )r-   extcodeopcoder  r&   r  r  r  s   &&&     r   produce_global_ext&AbstractPickleTests.produce_global_ext  s&   7#	!!(Hg>y!AAEAE Aq!BMM(//'2B7MM)R(-f9:

2A% Aq!BX__W5r:Y+-f94bJ

2A%IIKAIIKs   EE+ +E=c                    V P                  ^\        P                  4       V P                  ^\        P                  4       R# r  )r[  r   EXT1r2   s   &r   test_global_ext1$AbstractPickleTests.test_global_ext1  s*    
FKK8
FKK8r   c                    V P                  R \        P                  4       V P                  R\        P                  4       V P                  R\        P                  4       R# )r  r  iͫ  N)r[  r   EXT2r2   s   &r   test_global_ext2$AbstractPickleTests.test_global_ext2  >    
FKK8
FKK8
FKK8r   c                    V P                  R \        P                  4       V P                  R\        P                  4       V P                  R\        P                  4       R# )   r  iͫN)r[  r   EXT4r2   s   &r   test_global_ext4$AbstractPickleTests.test_global_ext4  re  r   c                L   ^
p\        \        V4      4      p\         Fd  pV P                  W#4      pV P	                  V4      pV P                  W%4       \        \        P                  V4      pV P                  Wc^ 8  4       Kf  	  Rp\        \        V4      4      p\         F  pV P                  W#4      pV P	                  V4      pV P                  W%4       \        \        P                  V4      pV^ 8X  d   V P                  V^ 4       Kk  V P                  V^8  4       K  	  R# 
   i	  N)r  rh  r  r  r.  r'  r!   r   APPENDSr  r  )r-   r    r&   r  r  r  num_appendss   &      r   test_list_chunking&AbstractPickleTests.test_list_chunking  s    qNE

1$A

1A%&v~~q9K[!)4  qNE

1$A

1A%&v~~q9Kz  a0q 01 r   c                   ^
p\         P                  \        V4      4      p\         Fz  pV P	                  W#4      pV P                  V\        4       V P                  V4      pV P                  W%4       \        \        P                  V4      pV P                  Wc^ 8  4       K|  	  Rp\         P                  \        V4      4      p\         F  pV P	                  W#4      pV P                  V4      pV P                  W%4       \        \        P                  V4      pV^ 8X  d   V P                  V^ 4       Kk  V P                  V^8  4       K  	  R# rl  )r   r]  rh  r  r  ru  r   r.  r'  r!   r   SETITEMSr  r  )r-   r    r&   r  r  r  num_setitemss   &      r   test_dict_chunking&AbstractPickleTests.test_dict_chunking  s   MM%(#E

1$A!!![1

1A%';L\195  MM%(#E

1$A

1A%';Lz  q1 12 r   c                z   ^
p\        \        V4      4      p\         F}  pV P                  W#4      pV P	                  V4      pV P                  W%4       \        \        P                  V4      pV^8  d   V P                  V^ 4       Kk  V P                  V^4       K  	  Rp\        \        V4      4      p\         F}  pV P                  W#4      pV P	                  V4      pV P                  W%4       \        \        P                  V4      pV^8  d   V P                  V^ 4       Kk  V P                  V^4       K  	  R# rl  )rf  rh  r  r  r.  r'  r!   r   ADDITEMSr  assertGreaterEqual)r-   r    r&   r  r  r  num_additemss   &      r   test_set_chunking%AbstractPickleTests.test_set_chunking  s    aME

1$A

1A%';Lqy  q1  q1  aME

1$A

1A%';Lqy  q1''a8 r   c           	     :   \         P                  \         R 4      pRVn        \         F  pV P	                  VR7      ;_uu_ 4        V P                  W4      pV^8  d   V P                  RV4       MV P                  RV4       V P                  \        \        P                  V4      ^V8*  4       V P                  \        \        P                  V4      4       V P                  V4      pV P                  W4       RRR4       K  	  R#   + '       g   i     K  ; i)    r     
I64206   MN)rR  r   r  r  r,  r  r  r  r   r   NEWOBJrW  	NEWOBJ_EXr.  r'  r  s   &    r   test_simple_newobj&AbstractPickleTests.test_simple_newobj  s      v6EE**JJq(19MM+q1MM,2  !1&--!C!"e-  !1&2B2BA!FGJJqM##A) +* ***s   B6D		Dc           	        \         P                  \         R 4      pRVn        \         EF  pV P	                  VR7      ;_uu_ 4        V P                  W4      pV^8  d   V P                  RV4       MFV^8  d   V P                  RV4       M,V^8  d   V P                  RV4       MV P                  RV4       V P                  \        \        P                  V4      ^V8*  4       V P                  \        \        P                  V4      4       V P                  V4      pV P                  W4       RRR4       EK  	  R#   + '       g   i     EK)  ; ir~  r  r  r  r  s	   X   FACEs   FACEN)ComplexNewObjr   r  r  r,  r  r  r  r   r   r  rW  r  r.  r'  r  s   &    r   test_complex_newobj'AbstractPickleTests.test_complex_newobj/  s    !!-8YEE**JJq(19MM+q1QYMM,2QYMM":A>MM/15  !1&--!C!"e-  !1&2B2BA!FGJJqM##A) +* ***   C*D??Ec           	        \         P                  \         R 4      pRVn        \         EF  pV P	                  VR7      ;_uu_ 4        V P                  W4      pV^8  d   V P                  RV4       MFV^8  d   V P                  RV4       M,V^8  d   V P                  RV4       MV P                  RV4       V P                  \        \        P                  V4      4       V P                  \        \        P                  V4      ^V8*  4       V P                  V4      pV P                  W4       RRR4       EK  	  R#   + '       g   i     EK)  ; ir  )ComplexNewObjExr   r  r  r,  r  r  rW  r   r   r  r  r  r.  r'  r  s   &    r   test_complex_newobj_ex*AbstractPickleTests.test_complex_newobj_exC  s    ##OV<YEE**JJq(19MM+q1QYMM,2QYMM":A>MM/15  !1&--!CD  !1&2B2BA!F!"e-JJqM##A) +* ***r  c                    \        . RO4      p^*Vn        RVn        V P                  V^4      pV P	                  V4      pV P                  W4       R# r7  )SlotListr  r  r  r.  r'  )r-   r&   r  r  s   &   r   test_newobj_list_slots*AbstractPickleTests.test_newobj_list_slotsW  sE    YJJq!JJqMA!r   c                    \          F  p\        4       pV P                  VP                  ^ 4       V P	                  W!4      pV P                  VP                  ^4       V P                  V4      pV P                  VP                  ^ 4       K  	  R# rV   )r  REX_oner  _reduce_calledr  r.  r  s   &    r   'test_reduce_overrides_default_reduce_ex;AbstractPickleTests.test_reduce_overrides_default_reduce_ex_  sp    E	AQ--q1

1$AQ--q1

1AQ--q1 r   c                    \          F  p\        4       pV P                  VP                  R 4       V P	                  W!4      pV P                  VP                  V4       V P                  V4      pV P                  VP                  R 4       K  	  R # r#   )r  REX_twor  _protor  r.  r  s   &    r   test_reduce_ex_called)AbstractPickleTests.test_reduce_ex_calledh  sj    E	AQXXt,

1$AQXXu-

1AQXXt, r   c                    \          F  p\        4       pV P                  VP                  R 4       V P	                  W!4      pV P                  VP                  V4       V P                  V4      pV P                  VP                  R 4       K  	  R # r#   )r  	REX_threer  r  r  r.  r  s   &    r   test_reduce_ex_overrides_reduce3AbstractPickleTests.test_reduce_ex_overrides_reduceq  sj    EAQXXt,

1$AQXXu-

1AQXXt, r   c                    \          F  p\        4       pV P                  VP                  R 4       V P	                  W!4      pV P                  VP                  V4       V P                  V4      pV P                  VP                  V4       K  	  R # r#   )r  REX_fourr  r  r  r.  r  s   &    r   test_reduce_ex_calls_base-AbstractPickleTests.test_reduce_ex_calls_basez  sj    E
AQXXt,

1$AQXXu-

1AQXXu- r   c                    \          F  p\        4       pV P                  VP                  ^ 4       V P	                  W!4      pV P                  VP                  ^4       V P                  V4      pV P                  VP                  ^4       K  	  R# rV   )r  REX_fiver  r  r  r.  r  s   &    r   test_reduce_calls_base*AbstractPickleTests.test_reduce_calls_base  sp    E
AQ--q1

1$AQ--q1

1AQ--q1 r   c                    \        4       pV P                  V4      pV P                  \        4      ;_uu_ 4        V P	                  V4       R R R 4       R #   + '       g   i     R # ; ir#   )C_None_setstater  r-  r(  r.  )r-   r  r  s   &  r   test_pickle_setstate_None-AbstractPickleTests.test_pickle_setstate_None  sB    JJqMy))JJqM *)))s   AA&	c                |   R  \        ^d4       4       p\        R V 4       4      p\        V4      \        V4      \        V4      .p\         FY  pV P                  VR7      ;_uu_ 4        V P	                  W44      pV P                  V4      pV P                  W64       RRR4       K[  	  R#   + '       g   i     Kp  ; i)c              3   F   "   T F  pR \        V4      ,           x  K  	  R# 5i)aaaNr   ).0rZ  s   & r   	<genexpr>>AbstractPickleTests.test_many_puts_and_gets.<locals>.<genexpr>  s     3
1A
s   !c              3   ,   "   T F
  q. RO3x  K  	  R# 5i)r  N)r  r   r  r$   )r  ks   & r   r  r    s     7$Qi.$s   r  N)rh  r   r  r,  r  r.  r'  )r-   rj  
large_dictr   r  r  ru  s   &      r   test_many_puts_and_gets+AbstractPickleTests.test_many_puts_and_gets  s     4c
37$77
Jj!14
3CDEE**C/F+##C0 +* ***s   (4B**B;c                2   \          F  p\        4       p^*Vn        RVn        V P	                  W!4      pV P                  V4      p\        VP                  4      p\        VP                  4      p\        WV4       F  w  rxV P                  Wx4       K  	  K  	  R# )r  r8  N)
r  rc   r  r  r  r.  sortedre   zipr  )	r-   r  r&   r  r  x_keysy_keysx_keyy_keys	   &        r   test_attribute_name_interning1AbstractPickleTests.test_attribute_name_interning  sw     EAAEAE

1$A

1AAJJ'FAJJ'F #F 3e+ !4 r   c                    V P                  \        ^4      ^4      pV P                  V\        4       V P                  \	        ^.4      ^4      pV P                  V\
        4       R# r   )r  rh  r  rg  rf  	DATA_SET2r  s   & r   test_pickle_to_2x%AbstractPickleTests.test_pickle_to_2x  sN    
 E!Ha(-CHa(+r   c                    \          Fo  p^\        RR,          \        3pV P                  W!4      pV P	                  V4      pV P                  \        V4      \        V4      4       V P                  WB4       Kq  	  R# )r
  s   xyNi x  )r  r,  r  r  r.  r  )r-   r  r*  r  ru  s   &    r   test_large_pickles&AbstractPickleTests.test_large_pickles  sc     EsEY/5DZZ,FZZ'FS[#d)4V* r   c           
        \          F  pV P                  VR 7      ;_uu_ 4        \        ^F4       Uu. uF  q P                  ^V,          V4      NK  	  pp\	        \        \        V4      4      pV P                  \        V4      V4       V^8  d3   V F,  pV P                  \        \        P                  V4      4       K.  	  RRR4       K  	  R# u upi   + '       g   i     K  ; i)r  N)r  r,  rh  r  r  mapr  r  r  rW  r   r   LONG)r-   r  r    picklessizesr  s   &     r   test_int_pickling_efficiency0AbstractPickleTests.test_int_pickling_efficiency  s    EE**<A"IFIq::adE2IFSg./  6A:$(()9&++q)IJ % +* F +**s   C!C
A/CCC&c                    V P                  W4      pV P                  \        W$4      4       V P                  V4      pV P	                  W4       R # r#   )r  r  r   r.  r  )r-   r   rZ  r  r  r  s   &&&&  r   _check_pickling_with_opcode/AbstractPickleTests._check_pickling_with_opcode  s>    **S((9:JJw'	(r   c                    \        . RO4      p\         FN  pV^ 8X  d$   V P                  V\        P                  V4       K-  V P                  V\        P
                  V4       KP  	  R# )r
  Nr&  )rF  r  r  r   APPENDrn  r-   r   r  s   &  r   test_appends_on_non_lists-AbstractPickleTests.test_appends_on_non_lists  sI    i Ez00fmmUK00fnneL	 r   c                    \        ^R^R^R/4      p\         FN  pV^ 8X  d$   V P                  V\        P                  V4       K-  V P                  V\        P
                  V4       KP  	  R# )r
  Nr  )rO  r  r  r   SETITEMrs  r  s   &  r   test_setitems_on_non_dicts.AbstractPickleTests.test_setitems_on_non_dicts  sV    B2q"-.Ez00fnneL00foouM	 r   c                J   R;r#0 Rmp\         P                  ! V4       EF6  w  rVpVe   V P                  Wr4       Wr8X  d   RpVeT   V P                  VP                  R4       VP                  V9   d&   V P                  \        V4      V P                  4       M|VP                  R8X  g,   VP                  V9   dD   \        V4      V P                  8  d*   Ve%   V P                  Ws,
          V P                  4       RpMVf   VP                  R8w  d   TpVP                  R8X  g   EK  V P                  W`P                  4       V^	,           V,           pEK9  	  \        V4      pVe   V P                  W'4       R# Ve%   V P                  Ws,
          V P                  4       R# R# )z
Check the arguments of FRAME opcodes in a protocol 4+ pickle.

Note that binary objects that are larger than FRAME_SIZE_TARGET are not
framed by default and are therefore considered a frame by themselves in
the following consistency check.
NFRAMEr  >   BINBYTES	BINBYTES8
BINUNICODEr  BINUNICODE8)r   r   assertLessEqualassertNotEqualr   r  FRAME_SIZE_TARGET
assertLessFRAME_SIZE_MINry  r  )r-   r  	frame_endframeless_startframeless_opcodesr   rm   poss   &&      r   check_frame_opcodes'AbstractPickleTests.check_frame_opcodes  sg    '+*	:'..w7LBS$$$S4# $I$##BGGW577// ((S43I3IJ GGw&WW 11X 6 66&2(=(,(;(;=*.$,G1C&)Oww'!''-@-@A!GcM	9 8< 'l Y,(OOC143F3FG )r   cpuc                T   \        \        R4      4      p\        ^\        P                  ^,           4       F  pV P	                  VR7      ;_uu_ 4        V P                  W4      pV P                  V4      pV P                  W4       \        V4      \        \        P                  V4      ,          pV P                  VV P                  ^,          4       V P                  VV P                  ^,          4       V P                  V4       RRR4       K  	  R#   + '       g   i     K  ; i)rm  r  Ni )r  rh  r   r  r,  r  r.  r  r  r!   r  assertGreaterr  r  r  )r-   r   r  r  r  bytes_per_frames   &     r   test_framing_many_objects-AbstractPickleTests.test_framing_many_objects  s     5< 1f559:EE****S0 JJw/	  0#&w<#/g#F$G""?#'#9#9A#=?$$_%)%;%;a%?A((1 +* ;***s   B5DD'c                   Rp\        ^
4       Uu. uF  q".NK  	  ppRV,          .VORV,          NRV,          Np\        ^\        P                  ^,           4       EFZ  pR	 EFO  pV P                  WVR7      ;_uu_ 4        V'       g   V P	                  WE4      pMk\        V R4      '       g    RRR4       KV  \        P                  ! 4       pV P                  WR7      p	Win	        V	P                  V4       VP                  4       pV P                  V4      p
T P                  V Uu. uF  p\        V4      NK  	  upV
 Uu. uF  p\        V4      NK  	  up4       V P                  WJ4       \        \        P                   V4      pV P                  V^4       V P#                  V4       RRR4       EKR  	  EK]  	  R# u upi u upi u upi   + '       g   i     EK|  ; i)
i      x   yz)r  fastr  Nr   i   )FT)rh  r   r  r,  r  r   r7   rJ   r  r  r  rL   r.  r  r  r!   r  r  )r-   NrZ  small_itemsr   r  r  r  bufr  r  r&   n_framess   &            r   test_framing_large_objects.AbstractPickleTests.test_framing_large_objects)  s   $)"I.IqsI.ax9+9tax9q91f559:E%\\\99 #'**S"8  'tY77$ :9 !jjl"&,,s,"C'+S)"%,,. $

7 3I$$c%:cc!fc%:6?%@ic!fi%@B $$S4+FLL'BH $$Xq1,,W51 :9 & ; /( &;%@# :99s7   F= .G	8A.G	&G:G	 GAG	
G	Gc           	        \         P                  ^8  d   R# RR lpV P                  p^p\        \        3 EF#  p\        V4       Uu/ uF  qUV! V.4      V,          bK  	  pp\        ^\         P                  ^,           4       F  pV P                  Wg4      pV! V4      p	V P                  \        \         P                  V	4      ^ 4       V P                  W`P                  V	4      4       V! VR 4      p
V P                  \        \         P                  V
4      \        \         P                  V4      4       V P                  W`P                  V
4      4       K  	  EK&  	  R# u upi )r  Nc                @   . p^	p\         P                  ! V 4       F*  w  rEpVP                  R8X  g   K  VP                  V4       K,  	  \	        4       p^ p\        V4       F/  w  rV'       d   V! V	4      '       d   K  WpW ,          pWc,           pK1  	  WpVR ,          pV# )z+Remove frame opcodes from the given pickle.r  N)r   r   r   r  r  	enumerate)
r  
keep_frameframe_startsframe_opcode_sizerZ  _r  	newpicklelast_frame_endrZ  s
   &&        r   remove_frames?AbstractPickleTests.test_optional_frames.<locals>.remove_framesM  s    L !"-"4"4W"=3;;') '', #> "IN#L1*Q--^88	!$!8	 2
 11Ir   c                     V ^,          # r  r$   )rZ  s   &r   r  :AbstractPickleTests.test_optional_frames.<locals>.<lambda>n  s    a!er   r#   )r   r  r  r   r  rh  r  r  r!   r  r.  r  )r-   r
  
frame_size
num_frames
bytes_typerZ  r   r  r  frameless_picklesome_frames_pickles   &          r   test_optional_frames(AbstractPickleTests.test_optional_framesI  s   ""Q&	& ++

 !),J<A*<MN<Mqj!o
22<MCNq&"9"9A"=>**S0#0#9   fll<L!MqQ  jj1A&BC%27O%L"V\\;M N ,V\\7 CE  jj1C&DE ? -Ns   E!c           
         ! R  R4      p\        ^\        P                  ^,           4       EF  p\        \        R4      4       Uu. uF2  p\	        V4      P                  R4      V^*,          R\	        V4      /3NK4  	  ppVP                  RV P                  ^,          ^,           ,          4       V! 4       pV P                  WR4      P                  V4       VP                  4       pV P                  V4      pV P                  Wt4       V P                  \        VP                  4      ^4       ?\         P"                  ! 4        V P                  VP                  4       V4       \        V4      ^,
          V P                  ,          ^,           pV P%                  \        VP                  4      V4       V P'                  \        VP                  4      ^V,          ^,           4       VP                   U	u. uF  p	\        V	4      NK  	  p
p	V
 Uu. uF  pWP                  8  g   K  VNK  	  ppV
 Uu. uF$  p^	Tu;8  d   V P                  8  g   K  M K"  VNK&  	  ppV
 Uu. uF  q^	8:  g   K  VNK  	  ppV F'  pV P)                  V^V P                  ,          V
4       K)  	  V P'                  \        V4      \        V4      \        V4      ,           ^,           V
4       EK  	  R# u upi u up	i u upi u upi u upi )c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )YAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.<locals>.ChunkAccumulatoriu  z2Accumulate pickler output in a list of raw chunks.c                    . V n         R # r#   chunksr2   s   &r   rP   bAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.<locals>.ChunkAccumulator.__init__w  s	     r   c                <    V P                   P                  V4       R # r#   )r  r  )r-   chunks   &&r   rO   _AbstractPickleTests.test_framed_write_sizes_with_delayed_writer.<locals>.ChunkAccumulator.writey  s    ""5)r   c                8    R P                  V P                  4      # )r   )r  r  r2   s   &r   concatenate_chunkslAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.<locals>.ChunkAccumulator.concatenate_chunks{  s    xx,,r   r  N)
r?   r@   rA   rB   rR   rP   rO   r!  rC   rD   rE   s   @r   ChunkAccumulatorr  u  s     D!*- -r   r#  g     @rM  rZ  0123456789abcdefN)rh  r   r  r  r   rO  r  r  r  r  r!  r.  r  r  r  r  r   
gc_collectry  r  r  )r-   r#  r  rZ  objectswriterr  reconstructedr  r  chunk_sizesr  large_sizesmedium_sizessmall_sizes
chunk_sizes   &               r   +test_framed_write_sizes_with_delayed_writer?AbstractPickleTests.test_framed_write_sizes_with_delayed_writers  s   	- 	- 1f559:E %c#h1 /1 Ag.Bc!fF /  1 NN- 22b81<> ? &'FLL',,W5
 //1G JJw/M]4s6==115  V668'BGq(T-C-CCaGH##C$6A
   V]]!3Q\A5EF+1==9=a3q6=K9&1 ;k#9#99 1kK ;'2 >{!!<d&<&<< < {L >&1<k!V11kK< *

A0F0F,F +- *   [!1!$[!1C4E!E!I!,.g ;1H :;><s6   8K&4K+K0%K01K5K5K5!K:.K:c           
         ! R  R4      s \        \        P                  ^,           4       F  p\         P                  \         P                  P
                  \         P                  P
                  P                  3 FW  pV P                  WR7      ;_uu_ 4        V P                  V P                  W!4      4      pV P                  W#4       RRR4       KY  	  K  	  R#   + '       g   i     Kr  ; i)c                   *    ] tR tRt ! R R4      tRtR# )Nestedi  c                   *    ] tR tRt ! R R4      tRtR# )Nested.Ai  c                   *    ] tR tRt ! R R4      tRtR# )
Nested.A.Bi  c                       ] tR tRtRtR# )Nested.A.B.Ci  r$   Nr{   r$   r   r   rc   r8    s    r   rc   r$   N)r?   r@   rA   rB   rc   rC   r$   r   r   rB  r6    s     r   rB  r$   N)r?   r@   rA   rB   rB  rC   r$   r   r   r  r4    s     r   r  r$   Nr  r$   r   r   r2  r2    s     r   r2  )r  r   N)r2  rh  r   r  r  rB  rc   r,  r.  r  r  )r-   r  r   r  s   &   r   test_nested_names%AbstractPickleTests.test_nested_names  s    	 	
 622Q67E&((**fhhjjll;\\\77 $

4::c+A BIMM#1 87 < 8777s   2C	C-c           	         ! R  R4      s \        P                  \         P                  ,          \         n        R\         n        \        \        P                  ^,           4       Fa  pV P                  VR7      ;_uu_ 4        V P                  V P                  \         V4      4      pV P                  V\         4       RRR4       Kc  	  \         =R#   + '       g   i     K~  ; i)c                       ] tR tRtRtR# )	Recursivei  r$   Nr{   r$   r   r   r=  r=    r  r   r=  zRecursive.mod.Recursiver  N)r=  r  r  r@   rz  rA   rh  r   r  r,  r.  r  r  r-   r  r  s   &  r   test_recursive_nested_names/AbstractPickleTests.test_recursive_nested_names  s    	 	I$8$89	!:	622Q67EE** JJtzz)U'CD	i3 +* 8 M +**s   <CC"c           	         ! R  R4      s \         \         n        R\         n        \        \        P
                  ^,           4       Fa  pV P                  VR7      ;_uu_ 4        V P                  V P                  \         V4      4      pV P                  V\         4       RRR4       Kc  	  \         =R#   + '       g   i     K~  ; i)c                       ] tR tRtRtR# )r=  i  r$   Nr{   r$   r   r   r=  r=    r  r   r=  zRecursive.refr  N)
r=  refrA   rh  r   r  r,  r.  r  r  r>  s   &  r   test_recursive_nested_names20AbstractPickleTests.test_recursive_nested_names2  s    	 	!	!0	622Q67EE** JJtzz)U'CD	i3 +* 8 M +**s   "<B22Cc           
     b    ! R  R4      s \         P                  \         P                  \        4       P                  \         P                  P
                  \         P                  P                  \         P	                  4       P                  3p\         P                  \         3\         P                  P                  \         P                  33p\        \        P                  ^,           4       F  pV Fb  pV P                  W4R7      ;_uu_ 4        V P                  V P                  WC4      4      pV P                  V! 4       V! 4       4       RRR4       Kd  	  V Fm  w  rFV! 4       pV P                  W4R7      ;_uu_ 4        V P                  V P                  WC4      4      pV P                  V! V4      V! V4      4       RRR4       Ko  	  K  	  \         P                  R,          \         P                  R,          3p\        \        P                  ^,           4       FP  pV FG  p	V P                  W9R7      ;_uu_ 4        V P!                  \"        V P                  W4       RRR4       KI  	  KR  	  R#   + '       g   i     EK  ; i  + '       g   i     EK@  ; i  + '       g   i     K  ; i)c                   Z   a  ] tR tRt o ]R 4       t]R 4       tR t ! R R4      t	Rt
V tR# )	PyMethodsTesti  c                     R # )cheeser$   r$   r   r   rJ  PyMethodsTest.cheese  s    r   c                    V \         J g   Q hR # )wine)rH  r   s   &r   rM  PyMethodsTest.wine  s    m+++r   c                6    \        V \        4      '       g   Q hR # )biscuits)r   rH  r2   s   &r   rQ  PyMethodsTest.biscuits  s    !$6666!r   c                   J   a  ] tR tRt o Rt]R 4       t]R 4       tR t	Rt
V tR# )PyMethodsTest.Nestedi  zNested classc                     R # )ketchupr$   r$   r   r   rV  PyMethodsTest.Nested.ketchup  s    $r   c                2    V \         P                  J g   Q hR # )maple)rH  r2  rN  s   &r   rY  PyMethodsTest.Nested.maple  s    -"6"6666"r   c                J    \        V \        P                  4      '       g   Q hR # )pie)r   rH  r2  r2   s   &r   r\  PyMethodsTest.Nested.pie  s    %dM,@,@AAAA r   r$   N)r?   r@   rA   rB   rR   r?  rV  r   rY  r\  rC   rD   rE   s   @r   r2  rT    s6     % %# #! !r   r2  r$   N)r?   r@   rA   rB   r?  rJ  r   rM  rQ  r2  rC   rD   rE   s   @r   rH  rH    s8         "! !r   rH  r  methodNrJ  rM  r  descr)rH  rJ  rM  rQ  r2  rV  rY  r\  rh  r   r  r,  r.  r  r  re   r-  r(  )
r-   
py_methodspy_unbound_methodsr  r_  r  r   r   descriptorsra  s
   &         r   test_py_methods#AbstractPickleTests.test_py_methods  s   	! 	!2   O$$  ((  &&  "&&

 ##]3!!%%}';';<
 622Q67E$\\\== $

4::f+D EI$$VXy{; >= %  2e\\\== $

4::f+D EI$$VC[)C.A >=  2 8 ""8,""6*
 622Q67E$\\\;;%%iUJ <; % 8 >==
 >== <;;s$   =I3	 ?J	?"J	3JJJ.c                    ! R  R\         4      sRP                  R
3\        P                  R3. ROP                  R3\
        P                  . RO33^^0P                  R3\        P                  ^^0^33\        P                  R3\        P                  R3\        . RO4      P                  R3\        P                  \        . RO4      ^33\        P                  R4      P                  R3\        P                  P                  \        P                  R4      R333p\        \        P                   ^,           4       Fk  pV Fb  w  r4V P#                  W#R7      ;_uu_ 4        V P%                  V P'                  W24      4      pV P)                  V! V!  V! V!  4       RRR4       Kd  	  Km  	  \        P*                  R,          \        P*                  R,          3p\        \        P                   ^,           4       FP  pV FG  pV P#                  W'R	7      ;_uu_ 4        V P-                  \.        V P&                  Wr4       RRR4       KI  	  KR  	  R#   + '       g   i     EK   ; i  + '       g   i     Kw  ; i)c                   ,    ] tR tRt ! R R]4      tRtR# )Subclassi  c                       ] tR tRtRtR# )Subclass.Nestedi  r$   Nr{   r$   r   r   r2  rk    rF  r   r2  r$   N)r?   r@   rA   rB   r   r2  rC   r$   r   r   ri  ri    s      r   ri  abcdsweetr  r^  N	maketransr]  r`  )r  )rl  r  r&  r$   r  ))r   r
  )r   r  )s   abcr  )r
  r  r  )r  )r  ri  indexr   __len__r  __contains__rf  r   r]  r  rn  rg  r2  rh  r   r  r,  r.  r  r  re   r-  r(  )r-   	c_methodsr  r_  r.   r  rd  ra  s   &       r   test_c_methods"AbstractPickleTests.test_c_methods  s   	u 	 \\6"YY&#\\I<(V  $'A{+]]01  "23g$$d+^^hw/34__W%++V4__""X__W%=s$CD+
	. 622Q67E )\\\== $

4::f+D EI$$VT]It4DE >= !* 8 {+MM*%
 622Q67E$\\\;;%%iUJ <; % 8 >== <;;s   #;I	"I'	I$'I8c                   \        ^^4      RR3\        \        R4      RR3\        P                  RR3\
        P                  RR3\        4       RR	3\        P                  ! 4       R
R3\        P                  ! 4       RR3\        P                  ! 4       RR3.pV F  w  r#p\        ^4       F  pV P                  \        V4      VR7      ;_uu_ 4        V P                  W%4      pV P                  RV: RV: 2P!                  4       V4       V P#                  \        V P%                  V4      4      \        V4      4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)r
  r  xrange123	itertoolsimapr  r  
exceptionsrm  r  IterableUserDictUserListr   defaultdict)r   r  r  r  N)rh  r  r  r  r  r  r  rm  r   r  r|  r}  r,  r   r  r  rO  r  r.  )r-   testsvalrz  r   r  r  s   &      r   test_compat_pickle&AbstractPickleTests.test_compat_pickle@  s   1a[-2e_k62}h7[[)Y/[,4!!#Z1CD!!#Z<$$&}E	
 $NCdq\\tCy\>>"jj4GMMT#:"B"B"DgNMM$tzz'':";T#YG ?> " $>>>s   A-E	E"c           	   #  :  "   R p\        V4      x  \        V4      x  \        es   \        V4      p\        P                  VRR7      p^ \        P                  3 F8  p\        VRRVR7      x  \        VRRR	VR7      x  \        VRRR
VR7      x  K:  	  R# R# 5i)   abcdefghNlittle)	byteorderrB  )r   r   r   )r   r   r   r   )r  )r  r  r$  r#  )r   r   r   r  r  
from_bytesr   r   )r-   
bytestringr  r   r   s   &    r   buffer_like_objects'AbstractPickleTests.buffer_like_objectsV  s      
J''
++"$ENN:NBE[445&uS-24 4 'uS/5UD D 'uS-3V-24 4 6 #s   BBc                Z   V P                  4        EF  p\        ^ \        P                  ^,           4       EFk  pV P	                  W4      pVP
                  '       d   V^8  d   V P                  RV4       V P                  \        \        P                  V4      ^ 4       V^8  d   T P                  \        \        P                  V4      VP                  '       d   ^M^ 4       T P                  \        \        P                  V4      VP                  '       d   ^ M^4       R pV P	                  WVR7      pV P                  WS4       V P                  V4      pV P                  Wa4       V P                  \!        V4      \!        V4      4       V P                  Wa4       EKn  	  EK  	  R# )r   r  c                     R # Tr$   r   s   &r   r  AAbstractPickleTests.test_in_band_buffers.<locals>.buffer_callbackz  s    #r   r  N)r  rh  r   r  r  r   r  r  r!   NEXT_BUFFERSHORT_BINBYTESr   r  r.  r"  r  r   )r-   r   r  r*  r  data2r   s   &      r   test_in_band_buffers(AbstractPickleTests.test_in_band_buffersj  sC   ++-Cq&"9"9A"=>zz#-###
MM+t4  f.@.@$!GKA:$$\&2G2G%N*-,,,QA?$$\&2C2CT%J*-,,,QA?$ JJs7F ' HE$$U1jj&  *d3ic3  */ ? .r   c           
       a V P                  4        EF  p\        ^ ^4       FF  pV P                  \        4      ;_uu_ 4        V P	                  W. P
                  R7       RRR4       KH  	  \        ^\        P                  ^,           4       EFE  p. oV3R lpV P	                  WVR7      pV P                  RV4       V P                  \        \        P                  V4      ^ 4       V P                  \        \        P                  V4      ^ 4       V P                  \        \        P                  V4      ^4       T P                  \        \        P                  V4      VP                  '       d   ^M^ 4       VP                   '       d#   V P                  \#        S^ ,          4      R4       V P                  \        P$                  4      ;_uu_ 4        V P'                  V4       RRR4       V P'                  VSR7      pVP(                  '       d   V P+                  WQ4       M5V P+                  \-        V4      \-        V4      4       V P                  WQ4       V P'                  V\/        S4      R7      pVP(                  '       d   V P+                  WQ4       EK  V P+                  \-        V4      \-        V4      4       V P                  WQ4       EKH  	  EK  	  R#   + '       g   i     EK  ; i  + '       g   i     EL; i)r   r  Nc                 B   < SP                  V P                  4       4      # r#   )r  r   )r  r  s   &r   r  6AbstractPickleTests.test_oob_buffers.<locals>.<lambda>  s    W^^BFFH-Er   r  r  )r  rh  r-  r[  r  r  r   r  r  r  r!   r  r  r  READONLY_BUFFERr   r   r   r  r.  r   r  r   rK  )r-   r   r  r  r*  r   r  s   &     @r   test_oob_buffers$AbstractPickleTests.test_oob_buffers  s5   ++-Cq!&&z22JJs/1yy  : 32 %
 q&"9"9A"=>"Ezz#2A " C  d3  f.C.CT!JAN  f.?.?!FJ  f.@.@$!GK  f.D.Dd!K&)lll; ###$$U71:%6D&&v'='=>>JJt$ ? jjwj7,,,MM#+MM$s)T#Y7$$S.jjtG}j=,,,MM#+MM$s)T#Y7$$S.A ? . 322$ ?>>s   K	K3	K03Lc                \   \        R 4      p\        ^\        P                  ^,           4       F{  p. pVP                  pV P                  WVR7      p\        \        V4      pV P                  WSR7      pV P                  \        V4      \        V4      4       V P                  Wa4       K}  	  R# r  r  r  N)r   rh  r   r  r  r  r  r  r.  r  r   r  )r-   r   r  r  r  r*  r   s   &      r   %test_oob_buffers_writable_to_readonly9AbstractPickleTests.test_oob_buffers_writable_to_readonly  s    I&1f559:EG%nnO::c/:JD)W-G**T*3CMM$s)T#Y/S& ;r   c                   \         P                  ! R 4      p\        ^\         P                  ^,           4       F  pV P	                  W. P
                  R7      pV P                  \        4      ;_uu_ 4        V P                  V\        4       R7       RRR4       V P                  \         P                  4      ;_uu_ 4        V P                  V. R7       RRR4       K  	  R#   + '       g   i     LY; i  + '       g   i     K  ; ir  )r   r   rh  r  r  r  r-  r(  r.  rp  r  )r-   r  r  r*  s   &   r   test_buffers_error&AbstractPickleTests.test_buffers_error  s      +1f559:E::b:CD""9--

4
2 . ""6#9#9::

4
, ;: ; .- ;::s   5C" C5"C25Dc                    \        ^\        P                  ^,           4       F*  pV P                  ^VRR7      pV P	                  VRR7      pK,  	  R# )r   Nr  r  )rh  r   r  r  r.  )r-   r  data_pickledr*  s   &   r   +test_inband_accept_default_buffers_argument?AbstractPickleTests.test_inband_accept_default_buffers_argument  sD    1f559:E::a:EL::lD:9D ;r   NzTest needs Numpyc                *  a aa V 3R  loV 3R loVVV 3R lp\         P                  ! ^4      pV! V4       V! VR,          4       \         P                  ! ^4      P                  R4      pV! V4       V! VP                  4       V! VR,          4       R# )c                    < \         P                  P                  W4       SP                  V P                  P
                  VP                  P
                  4       R # r#   )nptestingassert_equalr  ctypesr*  r&   r  r-   s   &&r   check_no_copy=AbstractPickleTests.test_buffers_numpy.<locals>.check_no_copy  s5    JJ##A)QXX]]AHHMM:r   c                    < \         P                  P                  W4       SP                  V P                  P
                  VP                  P
                  4       R # r#   )r  r  r  r  r  r*  r  s   &&r   
check_copy:AbstractPickleTests.test_buffers_numpy.<locals>.check_copy  s5    JJ##A)qxx}}=r   c                   < \        ^ \        P                  ^,           4       F-  pSP                  W4      pSP	                  V4      pS! W4       K/  	  \        ^\        P                  ^,           4       F2  pR pSP                  WVR7      pSP	                  V4      pS! W4       K4  	  \        ^\        P                  ^,           4       F  p. pVP
                  pSP                  WVR7      pSP	                  W%R7      pV P                  P                  '       g   V P                  P                  '       d   S! W4       Kx  S! W4       K  	  R# )r   c                     R # r  r$   )r  s   &r   r  MAbstractPickleTests.test_buffers_numpy.<locals>.check_array.<locals>.<lambda>  s    Dr   r  r  N)	rh  r   r  r  r.  r  r   r   r   )	arrr  r*  r   r  r  r  r  r-   s	   &     r   check_array;AbstractPickleTests.test_buffers_numpy.<locals>.check_array  s   q&"9"9A"=>zz#-jj&3$ ? q&"9"9A"=>"0zz#ozNjj&3$	 ? q&"9"9A"=>")..zz#ozNjjj799)))SYY-C-C-C!#+s( ?r   r  Nr%  )r  arangereshapeT)r-   r  r  r  r  s   f  @@r   test_buffers_numpy&AbstractPickleTests.test_buffers_numpy  sm    	;	>	). iilCCHiim##F+CCEECHr   c           	       aaa	 ^ RI Ho	  ! VVV	3R lR4      s\         F  p\	        ^4       Fm  pRo\	        ^4       Uu/ uF  p\        4       \        4       bK  	  upoS F  pW3n        SVn        K  	  Ro V P                  SV4      pV P                  V4       Ko  	  K  	  R# u upi   \         d)   pRpT P                  T\        T4      4        Rp?K  Rp?ii ; i)r   )getrandbitsc                   B   <a  ] tR tRt o V3R ltR tVV3R ltRtV tR# )Badi  c                   < S# r#   r$   )r-   rg   ENABLEDs   &&r   rh   
Bad.__eq__  s    r   c                    ^*# )r  r$   r2   s   &r   ri  Bad.__hash__  s    r   c                N   < S! ^4      ^ 8X  d   SP                  4        \        R3# )r  r$   )r  r  )r-   r  r  s   &r   r   Bad.__reduce__  s%    q>Q&$$&Ry r   r$   N)	r?   r@   rA   rB   rh   ri  r   rC   rD   )rF   r  r  r  s   @r   r  r    s     ! !r   r  FTr  N)randomr  r  r  rh  rd  r  r  r.  r  r  r   )
r-   r  r  rd  r*  r  r  r  r  r  s
   &      @@@r   test_evil_class_mutating_dict1AbstractPickleTests.test_evil_class_mutating_dict  s    &	! 	! E2Y49"I>IqceSUlI>
%C!G%/CN & 4::j%8DJJt$   ? $ 4>HMM(CF334s   B$7#B))C4CCr$   rg  )r?   r@   rA   rB   	optimizedr  r7  r  r'  r  r  r  r'   r  r  r  r  r  r  r	  r  r  r  r  r$  r(  r+  r.  r3  r6  r9  r<  rA  rD  rG  rJ  rO  rU  r[  r^  rc  rf  ri  rm  rp  rs  rv  rz  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  r   r  r
  r  r  r   r.  r4  r9  r<  rD  rK  rO  rT  r[  r_  rc  ri  rp  ru  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   skip_if_pgo_taskrequires_resourcer  r  r  r.  r9  r?  rD  re  rs  r  r  r  r  r  r  r  unittestskipIfr  r  r  rC   rD   rE   s   @r   r  r  	  sZ     I%//I +99N&(/	, 08Q 
#(9E :Bq &42CO 08Q 
#(9G :Bq &42CQ 4< 6,=K >FST 986GU/,	%+.278@6<9:B8>&),	+'&
6E&L&64%.0 h"5: 6:/.7,*&"-24,4J&LL%?N?2&&AA&	(
  899
9
2,3.92* *(*("2--.21,,+
K)MN N!-H^ u%2 & 26@(FT ?. ?.B2

8Kt*KXH,4(+>(/T'	-:
 __R4Z!34* 5*X4 4r   r  c                      a  ] tR tRt o ]! ]RRR7      R 4       t]! ]RRR7      R 4       t]! ]RRR7      R 4       t	]! ]^RR7      R	 4       t
]! ]^RR7      R
 4       tRtV tR# )BigmemPickleTestsi  g@F)sizememusedry_runc           
     v   ^^V,          ,          p \          Fm  pV^8  d   K  V P                  VR7      ;_uu_ 4        V P                  \        \        34      ;_uu_ 4        V P                  W#R7       RRR4       RRR4       Ko  	  RpR#   + '       g   i     L ; i  + '       g   i     K  ; i  Rpi ; i)r
  r  r  N)r  r,  r-  r[  r  r  )r-   r  r*  r  s   &&  r   test_huge_long_32b$BigmemPickleTests.test_huge_long_32b   s    QX	"19\\\..**J+FGG

4
8 H /. # D HG /.. Ds:   ,B4 $B "B5B =B4 BB  B1+	B4 4B8g      @c                   R V^,          ,          p \          F  pV^8  d   K  V P                  VR7      ;_uu_ 4         V P                  W#R7      p\        P                  \
        P                  ! R\        V4      4      ,           pVP                  V4      pV P                  VWF\        V4      ,
          V 4       Rp RRR4       K  	  RpR#   Rpi ; i  + '       g   i     K  ; i  Rpi ; i)   abcdr  r  r  N)
r  r,  r  r   r  r  r  r  ro  r  r-   r  r*  r  r  header
data_starts   &&     r   test_huge_bytes_32b%BigmemPickleTests.test_huge_bytes_32b1  s    $!)$	"19\\\..	'"&**T*"B"(//"(++dCI">#?%,]]4%8
(("#s6{$::FH #' /. # D #' /.. Ds;   ,C* C A<C<C?C* C	CC'!	C* *C.c                   R V^,          ,          p \          EF   pV^8  d   K  V P                  VR7      ;_uu_ 4        V^8X  dJ   V P                  \        \        34      ;_uu_ 4        V P                  W#R7       RRR4        RRR4       Kx   V P                  W#R7      p\        P                  \        P                  ! R\        V4      4      ,           pVP                  V4      pV P                  VWF\        V4      ,
          V 4       Rp RRR4       EK  	  RpR#   + '       g   i     L; i  Rpi ; i  + '       g   i     EK5  ; i  Rpi ; i)s   acbdr  r  N<Q)r  r,  r-  r[  r  r  r   r  r  r  r  ro  r  r  s   &&     r   test_huge_bytes_64b%BigmemPickleTests.test_huge_bytes_64bF  s   $!)$	"19\\\..z "..
M/JKK JJtJ< L  /.	'"&**T*"B"("2"2"(++dCI">#?%,]]4%8
(("#s6{$::FH #'! /. #* D LK #'! /..$ DsY   -E +D;*D!=	D;
E A<D4D;E !D1,D;4D8	8D;;E
E Ec                   R V^,          ,          p \          EF   pV^ 8X  d   K  V P                  VR7      ;_uu_ 4         V P                  W#R7      p\        P                  \
        P                  ! R\        V4      4      ,           pVP                  R4      pV P                  VWF\        V4      ,
          V 4       V P                  VP                  R4      \        R4      ,           VP                  R4      ,
          \        V4      4       Rp RRR4       EK  	  RpR#   Rpi ; i  + '       g   i     EK"  ; i  Rpi ; i)rl  r  r  r  r  N)r  r,  r  r   r  r  r  r  ro  r  rindexr  s   &&     r   test_huge_str_32b#BigmemPickleTests.test_huge_str_32bd  s   #	"A:\\\..'"&**T*"B"("3"3"(++dCI">#?%,]]7%;
(("#s6{$::FH (('..*ACL*P*1--*@+ACFt9N #' /. #" D #' /.. Ds;   -D= D(CD!D(D= !D%	%D((D:3
D= =Ec                N   R V^,          ,          p \          EFP  pV^ 8X  d   K  V P                  VR7      ;_uu_ 4        V^8  dJ   V P                  \        \        34      ;_uu_ 4        V P                  W#R7       RRR4        RRR4       Kx   V P                  W#R7      p\        P                  \        P                  ! R\        V4      4      ,           pVP                  R4      pV P                  VWF\        V4      ,
          V 4       V P                  VP                  R4      \        R4      ,           VP                  R4      ,
          \        V4      4       Rp RRR4       EKS  	  RpR#   + '       g   i     L; i  Rpi ; i  + '       g   i     EK  ; i  Rpi ; i)rl  r  r  Nr  r  )r  r,  r-  r[  r  r  r   r  r  r  r  ro  r  r  r  s   &&     r   test_huge_str_64b#BigmemPickleTests.test_huge_str_64b  sZ   #	"A:\\\..qy!..
M/JKK JJtJ< L 	 /.
'"&**T*"B"("4"4"(++dCI">#?%,]]7%;
(("#s6{$::FH (('..*ACL*P*1--*@+ACFt9N #'! /. #* D! LK #'! /..$ DsY   -F  +F*E1=	F
F  CFF F  1F<FF	FF
F   F$r$   N)r?   r@   rA   rB   r   r
   r  r  r   r  r  r  rC   rD   rE   s   @r   r  r    s      Se4
 5
  Se4 5( Se4 5: SE2 34 SE2 3r   r  c                   0   a  ] tR tRt o RR ltR tRtV tR# )Ri  Nc                    Wn         R # r#   r  )r-   r  s   &&r   rP   
R.__init__  s    r   c                    V P                   # r#   r  r-   r  s   &&r   r   R.__reduce__  s    {{r   r  r#   r   rE   s   @r   r  r    s      r   r  c                   0   a  ] tR tRt o RR ltR tRtV tR# )r  i  Nc                    Wn         R # r#   	reduce_ex)r-   r  s   &&r   rP   REX.__init__  s    "r   c                    V P                   # r#   r  r  s   &&r   r   REX.__reduce_ex__  s    ~~r   r  r#   )r?   r@   rA   rB   rP   r   rC   rD   rE   s   @r   r  r    s     # r   r  c                   .   a  ] tR tRt o Rt^ tR tRtV tR# )r  i  z4No __reduce_ex__ here, but inheriting it from objectc                     ^V n         \        R3# r  )r  r  r2   s   &r   r   REX_one.__reduce__  s    {r   r  N	r?   r@   rA   rB   rR   r  r   rC   rD   rE   s   @r   r  r    s     >N r   r  c                   .   a  ] tR tRt o RtRtR tRtV tR# )r  i  z1No __reduce__ here, but inheriting it from objectNc                    Wn         \        R3# ru   r  r  r  s   &&r   r   REX_two.__reduce_ex__      {r   r  	r?   r@   rA   rB   rR   r  r   rC   rD   rE   s   @r   r  r    s     ;F r   r  c                   0   a  ] tR tRt o RtR tR tRtV tR# )r  i  Nc                    Wn         \        R3# ru   r  r  s   &&r   r   REX_three.__reduce_ex__  r  r   c                    \        R 4      h)z#This __reduce__ shouldn't be called)r   r2   s   &r   r   REX_three.__reduce__  s    >??r   r  )	r?   r@   rA   rB   r  r   r   rC   rD   rE   s   @r   r  r    s     F@ @r   r  c                   .   a  ] tR tRt o RtRtR tRtV tR# )r  i  z(Calling base class method should succeedNc                8    Wn         \        P                  W4      # r#   )r  rp  r   r  s   &&r   r   REX_four.__reduce_ex__  s    ##D00r   r  r  rE   s   @r   r  r    s     2F1 1r   r  c                   .   a  ] tR tRt o Rt^ tR tRtV tR# )r  i  z-This one used to fail with infinite recursionc                :    ^V n         \        P                  V 4      # rf  )r  rp  r   r2   s   &r   r   REX_five.__reduce__  s      &&r   r  Nr  rE   s   @r   r  r    s     7N' 'r   r  c                   @   a  ] tR tRt o RtR	R ltR tR tR tRt	V t
R# )
rF  i  zUThis class is used to check the 4th argument (list iterator) of
the reduce protocol.
Nc                ,    Ve	   Wn         R # . V n         R # r#   r  )r-   r  s   &&r   rP   REX_six.__init__      #/U
R
r   c                p    \        V 4      \        V4      J ;'       d    V P                  VP                  8H  # r#   )r   r  rf   s   &&r   rh   REX_six.__eq__  *    DzT%[(FFTZZ5;;-FFr   c                <    V P                   P                  V4       R # r#   )r  r  )r-   items   &&r   r  REX_six.append  s    

$r   c                H    \        V 4      RR \        V P                  4      R 3# ru   )r   rK  r  r2   s   &r   r   REX_six.__reduce__  s     Dz2tT$**%5t;;r   r  r#   )r?   r@   rA   rB   rR   rP   rh   r  r   rC   rD   rE   s   @r   rF  rF    s$     8G < <r   rF  c                   @   a  ] tR tRt o RtR	R ltR tR tR tRt	V t
R# )
rO  i  zUThis class is used to check the 5th argument (dict iterator) of
the reduce protocol.
Nc                ,    Ve	   Wn         R # / V n         R # r#   r   )r-   r!  s   &&r   rP   REX_seven.__init__  r  r   c                p    \        V 4      \        V4      J ;'       d    V P                  VP                  8H  # r#   )r   r!  rf   s   &&r   rh   REX_seven.__eq__  r  r   c                "    W P                   V&   R # r#   r   )r-   ra  r   s   &&&r   __setitem__REX_seven.__setitem__  s    

3r   c                d    \        V 4      RR R \        V P                  P                  4       4      3# ru   )r   rK  r!  r  r2   s   &r   r   REX_seven.__reduce__  s)    Dz2tT4

0@0@0B+CCCr   r   r#   )r?   r@   rA   rB   rR   rP   rh   r!  r   rC   rD   rE   s   @r   rO  rO    s&     8G D Dr   rO  c                   @   a  ] tR tRt o RtR	R ltR tR tR tRt	V t
R# )
r3  i  zMThis class is used to check the 3th argument (state) of
the reduce protocol.
Nc                    Wn         R # r#   r7  r-   r7  s   &&r   rP   REX_state.__init__  r   r   c                p    \        V 4      \        V4      J ;'       d    V P                  VP                  8H  # r#   r   r7  rf   s   &&r   rh   REX_state.__eq__  r  r   c                    Wn         R # r#   r'  r(  s   &&r   __setstate__REX_state.__setstate__  r   r   c                2    \        V 4      RV P                  3# ru   r+  r2   s   &r   r   REX_state.__reduce__  s    Dz2tzz))r   r'  r#   )r?   r@   rA   rB   rR   rP   rh   r.  r   rC   rD   rE   s   @r   r3  r3    s$     G* *r   r3  c                       ] tR tRtRtRtRtR# )r  i  z*Setting __reduce_ex__ to None should fail Nr$   )r?   r@   rA   rB   rR   r   rC   r$   r   r   r  r    s
    5Mr   r  c                       ] tR tRtRtRtRtR# )r  i  z'Setting __reduce__ to None should fail Nr$   )r?   r@   rA   rB   rR   r   rC   r$   r   r   r  r    s
    2Jr   r  c                   .   a  ] tR tRt o RtR tRtRtV tR# )r  i  z)Setting __setstate__ to None should fail c                    ^# rf  r$   r2   s   &r   __getstate__C_None_setstate.__getstate__  s    r   Nr$   )	r?   r@   rA   rB   rR   r6  r.  rC   rD   rE   s   @r   r  r    s     5 Lr   r  c                       ] tR tRtRtR# )rh  i  r$   Nr{   r$   r   r   rh  rh    r|   r   rh  c                   &   a  ] tR tRt o R tRtV tR# )Unpickleablei  c                    \         hr#   r  r2   s   &r   r   Unpickleable.__reduce__  s    r   r$   Nr?   r@   rA   rB   r   rC   rD   rE   s   @r   r:  r:    r   r   r:  c                   &   a  ] tR tRt o R tRtV tR# )r  i  c                    R # r#   r$   r   s   &*,r   __call__UnpickleableCallable.__call__  ro   r   r$   N)r?   r@   rA   rB   r@  rC   rD   rE   s   @r   r  r    rq   r   r  c                       ] tR tRt^tRtR# )rG  i  r$   Nr?   r@   rA   rB   rA  rC   r$   r   r   rG  rG    s    Fr   rG  c                       ] tR tRtRtRtR# )MyFloati  g      ?r$   NrC  r$   r   r   rE  rE    s    Fr   rE  c                       ] tR tRtRtRtR# )	MyComplexi  r$   Ny      ?        rC  r$   r   r   rG  rG    s    Fr   rG  c                       ] tR tRtRtRtR# )MyStri  r8  r$   NrC  r$   r   r   rI  rI    s    Fr   rI  c                       ] tR tRtRtRtR# )	MyUnicodei  u	   hello ሴr$   NrC  r$   r   r   rK  rK    s    Fr   rK  c                       ] tR tRtRtRtR# )ry  i"  r$   Nr&  rC  r$   r   r   ry  ry  "  s    Fr   ry  c                       ] tR tRt. ROtRtR# )rS  i%  r$   Nr&  rC  r$   r   r   rS  rS  %  s    Fr   rS  c                   "    ] tR tRtR^R^/tRtR# )r  i(  r   r   r$   NrC  r$   r   r   r  r  (  s    1c1Fr   r  c                       ] tR tRtRR0tRtR# )r  i+  r   r   r$   NrC  r$   r   r   r  r  +  s    3ZFr   r  c                   *    ] tR tRt]! RR04      tRtR# )r  i.  r   r   r$   N)r?   r@   rA   rB   rf  rA  rC   r$   r   r   r  r  .  s    Sz"Fr   r  c                   &   a  ] tR tRt o R tRtV tR# )MyIntWithNewi6  c                    \         hr#   )AssertionError)r   r   s   &&r   r   MyIntWithNew.__new__7  s    r   r$   N)r?   r@   rA   rB   r   rC   rD   rE   s   @r   rR  rR  6  s      r   rR  c                   .    ] tR tRt]P
                  tRtR# )rN  i:  r$   N)r?   r@   rA   rB   r  r   rC   r$   r   r   rN  rN  :  s    kkGr   rN  c                       ] tR tRtR.tRtR# )r  i>  r  r$   N)r?   r@   rA   rB   r  rC   r$   r   r   r  r  >  s	    Ir   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )rR  iC  c                    \        R 4      h)z3SimpleNewObj.__init__() didn't expect to get called)r(  r   s   &*,r   rP   SimpleNewObj.__init__D  s    MNNr   c                r    \        V 4      \        V4      8H  ;'       d    V P                  VP                  8H  # r#   )r  re   rf   s   &&r   rh   SimpleNewObj.__eq__G  s*    4yCJ&JJ4==ENN+JJr   r$   N)r?   r@   rA   rB   rP   rh   rC   rD   rE   s   @r   rR  rR  C  s     OK Kr   rR  c                   &   a  ] tR tRt o R tRtV tR# )r  iJ  c                    R V ,          ^3# )%Xr$   r2   s   &r   __getnewargs__ComplexNewObj.__getnewargs__K  s    tR  r   r$   N)r?   r@   rA   rB   r`  rC   rD   rE   s   @r   r  r  J  s     ! !r   r  c                   &   a  ] tR tRt o R tRtV tR# )r  iN  c                    R V ,          3R^/3# )r_  rl  r$   r2   s   &r   __getnewargs_ex__!ComplexNewObjEx.__getnewargs_ex__O  s    t~|++r   r$   N)r?   r@   rA   rB   rd  rC   rD   rE   s   @r   r  r  N  s     , ,r   r  c                   &   a  ] tR tRt o R tRtV tR# )r  iR  c                    V P                    R # r#   )r  )r-   ra  s   &&r   __getattr__BadGetattr.__getattr__S  s	    r   r$   N)r?   r@   rA   rB   rh  rC   rD   rE   s   @r   r  r  R  s      r   r  c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )r  iV  c                <   < VR 8X  d   \         h\        SV `	  V4      # )r   )r  super__getattribute__)r-   r   r   s   &&r   rm  NoNew.__getattribute__W  s!    9  w'--r   r$   )r?   r@   rA   rB   rm  rC   rD   __classcell__)r   rF   s   @@r   r  r  V  s     . .r   r  c                   n   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )AbstractPickleModuleTestsi]  c                    \        \        R 4      p VP                  4        V P                  \        V P
                  ^{V4       \        P                  ! \        4       R#   \        P                  ! \        4       i ; ir  Nr  r   closer-  r[  r  r   unlinkr-   r  s   & r   test_dump_closed_file/AbstractPickleModuleTests.test_dump_closed_file_  Q    	%GGIj$))S!<V$IV$   2A   A<c                    \        \        R 4      p VP                  4        V P                  \        V P
                  ^{V4       \        P                  ! \        4       R#   \        P                  ! \        4       i ; irs  rt  rw  s   & r   test_load_closed_file/AbstractPickleModuleTests.test_load_closed_fileg  rz  r{  c                    \         P                  ! 4       p^{/ ^|.pV P                  W!4       VP                  ^ 4       V P	                  V4      pV P                  W24       R# ){   N)r7   rJ   r  r9   r#  r  )r-   streamr*  r  s   &   r   test_load_from_and_dump_to_file9AbstractPickleModuleTests.test_load_from_and_dump_to_fileo  sK    R~		$AIIf%	)r   c                F    V P                  \        P                  ^4       R# r   )r  r   r  r2   s   &r   test_highest_protocol/AbstractPickleModuleTests.test_highest_protocolw  s    00!4r   c                   \         P                  ! 4       pV P                  ^{VR4       V P                  ^{VRR7       V P                  ^{R4       V P                  ^{RR7       V P	                  VR4       V P	                  VRR7       R# )r  )filer   r  Nr  )r7   rJ   r  r  Picklerrw  s   & r   test_callapi&AbstractPickleModuleTests.test_callapi{  sk    JJL		#q"		#A	+

3

3
$QQ$r   c                8   \        \        R 4      p \         F%  pV P                  \        V P
                  ^{W4       K'  	  VP                  4        \        P                  ! \        4       R#   TP                  4        \        P                  ! \        4       i ; i)wN)	r  r   r  r-  r(  r  ru  r   rv  )r-   r  r  s   &  r   test_dump_text_file-AbstractPickleModuleTests.test_dump_text_file  si    	%"!!)TYYQF # GGIV$ GGIV$s   /A- -,Bc                    \         P                  ! R 4      pV P                  \        \        P
                  \        P                  3V P                  V4       R# )s   X''.N)	r7   rJ   r-  r  r  r\  r   r  r#  )r-   r  s   & r   test_incomplete_input/AbstractPickleModuleTests.test_incomplete_input  s8    JJw8V\\63I3IJDIIWXYr   c                    ! R  RV P                   4      p ! R RV P                  4      pV P                  \        P                  V! 4       P
                  ^ 4       V P                  \        P                  V! 4       P                  4       R# )c                   &   a  ] tR tRt o R tRtV tR# );AbstractPickleModuleTests.test_bad_init.<locals>.BadPickleri  c                    R # r#   r$   r2   s   &r   rP   DAbstractPickleModuleTests.test_bad_init.<locals>.BadPickler.__init__      r   r$   Nrp   rE   s   @r   
BadPicklerr         $$r   r  c                   &   a  ] tR tRt o R tRtV tR# )=AbstractPickleModuleTests.test_bad_init.<locals>.BadUnpickleri  c                    R # r#   r$   r2   s   &r   rP   FAbstractPickleModuleTests.test_bad_init.<locals>.BadUnpickler.__init__  r  r   r$   Nrp   rE   s   @r   BadUnpicklerr    r  r   r  N)r  r6  r-  r   r  r  r  r#  )r-   r  r  s   &  r   test_bad_init'AbstractPickleModuleTests.test_bad_init  sb    	% 	%	%4>> 	% 	&..
0A0A1E&00,.2E2EFr   c                  aa R  o\         R 4       o ! R R4      pV P                  \        \        3V P                  V! 4       4        ! V3R lR4      pV P                  \        \        3V P                  V! 4       4        ! V3R lR4      pV P                  \        \        3V P                  V! 4       4        ! VV3R lR4      pV P                  \
        V P                  V! 4       4        ! VV3R lR4      pV P                  \
        V P                  V! 4       4        ! V3R lR4      pV P                  \
        V P                  V! 4       4        ! V3R	 lR4      pV P                  \        \
        3V P                  V! 4       4        ! VV3R
 lR4      p V P	                  V! 4       4        ! VV3R lR4      p V P	                  V! 4       4       R#   \
         d     L4i ; i  \
         d     R# i ; i)c                     \         hr#   )r  r   s   &*,r   raises_oserrorIAbstractPickleModuleTests.test_unpickler_bad_file.<locals>.raises_oserror  s    Mr   c                     \         hr#   r  r2   s   &r   bad_propertyGAbstractPickleModuleTests.test_unpickler_bad_file.<locals>.bad_property  s    r   c                       ] tR tRtRtR# )<AbstractPickleModuleTests.test_unpickler_bad_file.<locals>.Fi  r$   Nr{   r$   r   r   Fr    r  r   r  c                      < ] tR tRt Z tRtR# )r  i  r$   Nr?   r@   rA   rB   rN   rC   r  s   r   r  r    s    %Hr   c                      < ] tR tRt Z tRtR# )r  i  r$   Nr?   r@   rA   rB   rM   rC   r  s   r   r  r    s    !Dr   c                   $   < ] tR tRt Z t ZtRtR# )r  i  r$   N)r?   r@   rA   rB   rM   rN   rC   r  r  s   r   r  r    s    D%Hr   c                   $   < ] tR tRt Z t ZtRtR# )r  i  r$   N)r?   r@   rA   rB   rN   rM   rC   r  s   r   r  r    s    #H!Dr   c                      < ] tR tRt Z tRtR# )r  i  r$   Nr  r  s   r   r  r    s    #Hr   c                      < ] tR tRt Z tRtR# )r  i  r$   Nr  r  s   r   r  r    s    Dr   c                   *   < ] tR tRt Z t Zt ZtRtR# )r  i  r$   N)r?   r@   rA   rB   r/   rM   rN   rC   r  s   r   r  r    s    D!D%Hr   c                   *   < ] tR tRt Z t Zt ZtRtR# )r  i  r$   N)r?   r@   rA   rB   readintorM   rN   rC   r  s   r   r  r    s    #H!D%Hr   N)r  r-  r  r(  r6  rh  )r-   r  r  r  s   & @@r   test_unpickler_bad_file1AbstractPickleModuleTests.test_unpickler_bad_file  s   			 
		 	>95t~~qsK	& 	&>95t~~qsK	" 	">95t~~qsK	& 	& 	+t~~qs;	" 	" 	+t~~qs;	$ 	$+t~~qs;	  	 >;7M	& 	&	NN13
	& 	&	NN13  		  		s$   G G+ G('G(+G:9G:c                     ! R  R4      pV P                  \        V P                  V! 4       4        ! R R4      pV P                  \        V P                  V! 4       4       R# )c                       ] tR tRtRtR# ):AbstractPickleModuleTests.test_pickler_bad_file.<locals>.Fi  r$   Nr{   r$   r   r   r  r    r  r   r  c                   0   a  ] tR tRt o ]R 4       tRtV tR# )r  i  c                    \         hr#   r  r2   s   &r   rO   @AbstractPickleModuleTests.test_pickler_bad_file.<locals>.F.write  s    !!r   r$   N)r?   r@   rA   rB   r  rO   rC   rD   rE   s   @r   r  r    s     " "r   N)r-  r(  r  rh  )r-   r  s   & r   test_pickler_bad_file/AbstractPickleModuleTests.test_pickler_bad_file  sH    	 	)T\\137	" 	" 	+t||QS9r   c           	        \        R 4      p\        ^ ^4       F=  pV P                  \        4      ;_uu_ 4        V! W4. P                  R7       RRR4       K?  	  \        ^\
        P                  ^,           4       F  p. pVP                  pV! W4VR7      pV P                  R V4       V P                  \        V^ ,          4      R 4       V P                  \
        P                  4      ;_uu_ 4        V! V4       RRR4       V! WuR7      pV P                  W4       K  	  R#   + '       g   i     EK  ; i  + '       g   i     LE; i)s   foo)r   r  Nr  )r   rh  r-  r[  r  r   r  r  r  r   r  r  )	r-   r  r.  r   r  r  r  r*  r   s	   &&&      r   check_dumps_loads_oob_buffers7AbstractPickleModuleTests.check_dumps_loads_oob_buffers  s     F#1a[E"":..c&(ii1 /. !
 1f559:EG%nnO)8:DVT*U71:.7""6#9#9::d ;.CMM## ; /.. ;:s   D!0	D6!D36Ec                R    V P                  V P                  V P                  4       R # r#   )r  r  r.  r2   s   &r   test_dumps_loads_oob_buffers6AbstractPickleModuleTests.test_dumps_loads_oob_buffers  s    **4::tzzBr   c                B   a  V 3R  lpV 3R lpS P                  W4       R# )c                 t   < \         P                  ! 4       pSP                  ! W3/ VB  VP                  4       # r#   )r7   rJ   r  rL   )r   r   r  r-   s   &, r   r  CAbstractPickleModuleTests.test_dump_load_oob_buffers.<locals>.dumps
  s+    

AIIc''::<r   c                 V   < \         P                  ! V 4      pSP                  ! V3/ VB # r#   )r7   rJ   r#  )r*  r   r  r-   s   &, r   r.  CAbstractPickleModuleTests.test_dump_load_oob_buffers.<locals>.loads  s%    

4 A99Q)&))r   N)r  )r-   r  r.  s   f  r   test_dump_load_oob_buffers4AbstractPickleModuleTests.test_dump_load_oob_buffers  s    	 
	* 	**58r   r$   N)r?   r@   rA   rB   rx  r}  r  r  r  r  r  r  r  r  r  r  r  rC   rD   rE   s   @r   rq  rq  ]  sO     %%*5%%Z
G?B:$0C9 9r   rq  c                   2   a  ] tR tRt o R tR tR tRtV tR# )AbstractPersistentPicklerTestsi  c                    \        V\        4      '       d3   V^,          ^ 8X  d%   V ;P                  ^,          un        \        V4      # VR8X  d   V ;P                  ^,          un        R# R# )r  test_false_valuer  N)r   r  id_countr   false_count)r-   rp  s   &&r   r  ,AbstractPersistentPicklerTests.persistent_id  sQ    fc""vzQMMQMv;))!r   c                    V'       g   V ;P                   ^,          un         R# V ;P                  ^,          un        \        V4      pV^,          ^ 8X  g   Q hV# )r
  r  )load_false_count
load_countr  )r-   oidrp  s   && r   persistent_load.AbstractPersistentPicklerTests.persistent_load&  sE    !!Q&!%OOq OXFA:?"?Mr   c           	        \        \        ^
4      4      R.,           p\         F  p^ V n        ^ V n        ^ V n        ^ V n        V P                  V P                  V P                  W4      4      V4       V P                  V P                  ^4       V P                  V P                  ^4       V P                  V P                  ^4       V P                  V P
                  ^4       K  	  R# )rm  r  N)
r  rh  r  r  r  r  r  r  r.  r  )r-   Lr  s   &  r   test_persistence/AbstractPersistentPicklerTests.test_persistence0  s    rO122EDM D$%D!DOTZZ

1(<=qAT]]A.T--q1T__a0T22A6 r   )r  r  r  r  N)	r?   r@   rA   rB   r  r  r  rC   rD   rE   s   @r   r  r    s     7 7r   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	&AbstractIdentityPersistentPicklerTestsi>  c                    V# r#   r$   )r-   r   s   &&r   r  4AbstractIdentityPersistentPicklerTests.persistent_id@      
r   c                    V# r#   r$   )r-   pids   &&r   r  6AbstractIdentityPersistentPicklerTests.persistent_loadC  r  r   c                    V P                  V P                  W4      4      pV P                  V\        V4      4       V P	                  W14       R # r#   )r.  r  ru  r   r  )r-   r   r  r  s   &&& r   _check_return_correct_typeAAbstractIdentityPersistentPicklerTests._check_return_correct_typeF  s;    JJtzz#56	ic3(r   c                    \          FA  pV^ 8X  d   V P                  R^ 4       K  RRRR\        3 F  pV P                  W!4       K  	  KC  	  R# )r   r  s   abc
zabc
Nr  g*\()r  r  r   )r-   r  r   s   &  r   test_return_correct_type?AbstractIdentityPersistentPicklerTests.test_return_correct_typeK  sG    Ez//q9$gr:sCC33C? D r   c                J   R pV P                  \        P                  4      ;_uu_ 4       pV P                  V^ 4       RRR4       V P	                  \        XP                  4      R4       \        P                  VP                  R4      ,           R,           pV P                  \        P                  4      ;_uu_ 4       pV P                  V4       RRR4       V P	                  \        VP                  4      R4       R#   + '       g   i     L; i  + '       g   i     LJ; i)u   ∅Nz2persistent IDs in protocol 0 must be ASCII stringsr  rZ  )r-  r   r  r  r  r   r&  PERSIDrO  r  r.  )r-   non_ascii_strr+  r  s   &   r   test_protocol0_is_ascii_onlyCAbstractIdentityPersistentPicklerTests.test_protocol0_is_ascii_onlyT  s    'v3344JJ}a( 5R\\*M	O---"6"6w"??&Hv5566"JJw 7R\\*M	O 54
 76s   C?>D?D	D"	r$   N)r?   r@   rA   rB   r  r  r  r  r  rC   rD   rE   s   @r   r  r  >  s&     )
@
O 
Or   r  c                   r   a  ] tR tRt o RtRtR tR tR tR t	R t
RR	/R
 ltR tR tR tR tR tRtV tR# )#AbstractPicklerUnpicklerObjectTestsia  Nc                V    V P                   '       g   Q hV P                  '       g   Q hR # r#   )pickler_classunpickler_classr2   s   &r   r  )AbstractPicklerUnpicklerObjectTests.setUpf  s&    !!!!!#####r   c                &   . ROp\          EF  p\        P                  ! 4       pV P                  W24      pVP	                  V4       VP                  4       pVP                  ^ 4       VP                  4        VP	                  V4       VP                  4       pVP                  4        VP                  ^ 4       VP                  4        VP	                  V4       VP                  4       pV P                  WV4       V P                  WW4       EK  	  R# abcdefgNr  r  ,   )r  r7   rJ   r  r  rL   r9   truncate
clear_memor  r  )r-   r*  r  r  r  first_pickledsecond_pickledthird_pickleds   &       r   test_clear_pickler_memo;AbstractPicklerUnpicklerObjectTests.test_clear_pickler_memoj  s     *YE

A((2GLLJJLM FF1IJJLLLZZ\N  FF1IJJLLLJJLM>]:/ r   c                n   . ROp\         P                  ! 4       pV P                  V4      pVP                  V4       VP	                  4       p\         P                  ! 4       pV P                  V4      pVP
                  Vn        VP                  V4       VP	                  4       pV P                  WF4       R# r  )r7   rJ   r  r  rL   memor  )r-   r*  r  r  r  primedprimed_pickleds   &      r   test_priming_pickler_memo=AbstractPicklerUnpicklerObjectTests.test_priming_pickler_memo  s    )JJL$$Q'T

JJL##A&llDM:r   c                   . ROp\         P                  ! 4       pV P                  V4      pVP                  V4       VP	                  4       p\         P                  ! 4       pV P                  V4      pVP
                  Vn        VP                  V4       VP	                  4       pV P                  \         P                  ! V4      4      pVP                  4       pV P                  W4       V P                  \         P                  ! V4      4      pVP
                  Vn        VP                  4       p	VP
                  P                  4        V P                  W4       V P                  WJ 4       R# r  )r7   rJ   r  r  rL   r  r  r#  r  r  r  )
r-   r*  r  r  r  r	  r
  r"  unpickled_data1unpickled_data2s
   &         r   test_priming_unpickler_memo?AbstractPicklerUnpicklerObjectTests.test_priming_unpickler_memo  s   )JJL$$Q'T

JJL##A&llD((M)BC	#..*/%%bjj&@Ann ++-/:;r   c                   . ROp\         P                  ! 4       pV P                  V4      pVP                  V4       VP	                  4       p. ROp\         P                  ! 4       pV P                  V4      pVP                  V4       VP	                  4       p\         P                  ! 4       pVP                  V4       VP                  ^ 4       V P                  V4      pV P                  VP                  4       V4       VP                  ^ 4       VP                  4        VP                  V4       VP                  ^ 4       V P                  VP                  4       V4       R# )r  Nr  )r  r  r  )r7   rJ   r  r  rL   rO   r9   r  r  r#  r   )r-   data1r  r  pickled1r  pickled2r"  s   &       r   test_reusing_unpickler_objectsBAbstractPicklerUnpicklerObjectTests.test_reusing_unpickler_objects  s    *JJL$$Q'U::<#JJL$$Q'U::<JJL		q	((+	)51	q		

		q	)51r   r3   Tc                   \          EFX  pV P                  VR 7      ;_uu_ 4        \        R4       Uu. uF  qD\        V4      3NK  	  upR\        .,           pV! 4       pV P                  WcR7      pVP                  V4       VP                  4       p^p	V! W,          4      pV P                  V4      p
\        V	4       Fu  pV'       d   VP                  4       pV P                  V
P                  4       V4       V'       g   KE  V P                  VP                  4       X\	        V4      ,           4       Kw  	  V P                  \        V
P                  4       RRR4       EK[  	  R# u upi   + '       g   i     EKv  ; i)r  i  s   abcder  N)r  r,  rh  r   r  r  r  rL   r  r=   r  r#  r-  r  )r-   ioclassr3   r  r&   r  r  r  r  r  r"  rZ  r  s   &&$          r   _check_multiple_unpicklings?AbstractPicklerUnpicklerObjectTests._check_multiple_unpicklings  s   YEE**.3Dk:kSVk:h_LI,,Q,?U#**,GK( 003	qAffh$$Y^^%5u=x((3W3EF " !!(INN;! +* : +**s$   E+E&
B6E+AE+&E++E=c                D    V P                  \        P                  4       R # r#   )r  r7   rJ   r2   s   &r   "test_multiple_unpicklings_seekableFAbstractPicklerUnpicklerObjectTests.test_multiple_unpicklings_seekable  s    ((4r   c                4    V P                  \        R R7       R# F)r3   N)r  r)   r2   s   &r   $test_multiple_unpicklings_unseekableHAbstractPicklerUnpicklerObjectTests.test_multiple_unpicklings_unseekable  s    (((Fr   c                4    V P                  \        R R7       R# r   )r  rH   r2   s   &r   !test_multiple_unpicklings_minimalEAbstractPicklerUnpicklerObjectTests.test_multiple_unpicklings_minimal  s     	((U(Cr   c                   \        \        ^
4      4      p\         F  p\        ^^4       F  p\        P                  ! \        P
                  ! 4       VR7      pV P                  WBR7      pVP                  V4       VP                  ^ 4       V P                  V4      pV P                  VP                  4       V4       K  	  K  	  R# )rm  )buffer_sizer  N)r  rh  r  r7   BufferedRandomrJ   r  r  r9   r  r  r#  )r-   r*  r  buf_sizer  r  r"  s   &      r   "test_unpickling_buffering_readlineFAbstractPicklerUnpicklerObjectTests.test_unpickling_buffering_readline  s     E"IE!!RL%%bjjlI,,Q,?T"q	 003	  !148 ) r   c                &   \        4       p\        P                  ! 4       p ! R  RV P                  4      pV! V4      pVP	                  V4       VP                  4        RVn        V P                  \        4      ;_uu_ 4        VP	                  V4       RRR4       VP                  4        ^
Vn        V P                  \        4      ;_uu_ 4        VP	                  V4       RRR4       R#   + '       g   i     L`; i  + '       g   i     R# ; i)c                       ] tR tRtRtR# )[AbstractPicklerUnpicklerObjectTests.test_pickle_invalid_reducer_override.<locals>.MyPickleri  r$   Nr{   r$   r   r   	MyPicklerr.    r  r   r/  N)	rp  r7   rJ   r  r  r  reducer_overrider-  r(  )r-   r   r  r/  r  s   &    r   $test_pickle_invalid_reducer_overrideHAbstractPicklerUnpicklerObjectTests.test_pickle_invalid_reducer_override  s    hJJL	** 	A,S#' y))LL * 	#% y))LL *) *)
 *))s   C,C?,C<	?D	r$   )r?   r@   rA   rB   r  r  r  r  r  r  r  r  r  r!  r$  r*  r1  rC   rD   rE   s   @r   r  r  a  sU     MO$;@;$<<22<t <(5GD
9 r   r  reduce_Ac                   &   a  ] tR tRt o R tRtV tR# )r  i  c                    \         \        33# r#   )r   r  r2   s   &r   r   AAA.__reduce__  s    XKr   r$   Nr=  rE   s   @r   r  r    s        r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )BBBi  c                    R V n         R# )zsome attributeNrJ  r2   s   &r   rP   BBB.__init__  s     "r   c                    R V n         R# )BBB.__setstate__NrJ  r(  s   &&r   r.  BBB.__setstate__!  s	    #r   rJ  N)r?   r@   rA   rB   rP   r.  rC   rD   rE   s   @r   r8  r8    s     "
$ $r   r8  c                    RV n         R# )a\  Custom state setter for BBB objects

Such callable may be created by other persons than the ones who created the
BBB class. If passed as the state_setter item of a custom reducer, this
allows for custom state setting behavior of BBB objects. One can think of
it as the analogous of list_setitems or dict_setitems but for foreign
classes/functions.
custom state_setterNrJ  )r   r7  s   &&r   setstate_bbbr@  %  s     "CEr   c                   *   a  ] tR tRt o RtR tRtV tR# )AbstractCustomPicklerClassi2  z<Pickler implementing a reducing hook using reducer_override.c                    \        VR R4      pVR8X  d	   \        R3# VR8X  d	   \        R	3# VR8X  d   R# VR8X  d   \        R4      h\        # )
r?   Nr  MyClassgFhThe reducer just failed)r   )some str)r$  r  r   r[  r   )r-   r   obj_names   && r   r0  +AbstractCustomPicklerClass.reducer_override4  s[    3
D1s?:y %%_ _ 677r   r$   N)r?   r@   rA   rB   rR   r0  rC   rD   rE   s   @r   rB  rB  2  s     F r   rB  c                   J   a  ] tR tRt o R t]P                  R 4       tRtV t	R# )AbstractHookTestsiJ  c           
        R  pR pR p ! R R4      p\        ^ \        P                  ^,           4       EFw  pV P                  VR7      ;_uu_ 4        \        P
                  ! 4       pV P                  We4      pVP                  W\        P                  .4       \        P                  ! VP                  4       4      w  rp
V P                  V^4       V P                  V	R4       V P                  V
\        P                  4       V P                  \        P                  4      ;_uu_ 4       pVP                  V4       RRR4       V P!                  \#        XP$                  4      R4       V P'                  \(        R	4      ;_uu_ 4        VP                  V4       RRR4       RRR4       EKz  	  R#   + '       g   i     L|; i  + '       g   i     L2; i  + '       g   i     EK  ; i)
c                      R # r#   r$   r$   r   r   r  .AbstractHookTests.test_pickler_hook.<locals>.fP  r  r   c                      R # r#   r$   r$   r   r   rE  .AbstractHookTests.test_pickler_hook.<locals>.gS  r  r   c                      R # r#   r$   r$   r   r   rF  .AbstractHookTests.test_pickler_hook.<locals>.hV  r  r   c                       ] tR tRtRtR# )4AbstractHookTests.test_pickler_hook.<locals>.MyClassiY  r$   Nr{   r$   r   r   rD  rU  Y  r  r   rD  r  rH  NzQ(__reduce__|<bound method .*reducer_override.*>) must return (a )?string or tuplerG  )rh  r   r  r,  r7   rJ   r  r  r	  r
  r.  rL   r  r  r-  r  assertRegexr   r&  r  r[  )r-   r  rE  rF  rD  r  bior  new_fsome_strmath_logr+  s   &           r   test_pickler_hook#AbstractHookTests.test_pickler_hookK  sa   
				 	 1f559:EE**jjl&&s2DHH-.,2LL,H)  *  :6
 h1&&v';';<<FF1I =  R\\!29: ++"$=? ?FF1I?+ +* ;  =<? ?+ +**s>   CG-F3?AG
GG3G>GGGG+c                   \        ^ \        P                  ^,           4       F  pV P                  VR7      ;_uu_ 4        R p\        P
                  ! V4      p\        P                  ! 4       pV P                  WA4      pVP                  V4       \        P                  ! VP                  4       4      pV^8X  g   Q h??V P                  V! 4       4       RRR4       K  	  R#   + '       g   i     K  ; i)r   r  c                      R # r#   r$   r$   r   r   r  EAbstractHookTests.test_reducer_override_no_reference_cycle.<locals>.f~  s    r   N)rh  r   r  r,  rH  rC  r7   rJ   r  r  r.  rL   r  )r-   r  r  wrrW  r  rX  s   &      r   (test_reducer_override_no_reference_cycle:AbstractHookTests.test_reducer_override_no_reference_cyclev  s     1f559:EE** [[^jjl&&s2q	S\\^4z!z!!"$' +* ;***s   BC##C4r$   N)
r?   r@   rA   rB   r[  r   r  ra  rC   rD   rE   s   @r   rL  rL  J  s%     )V ( (r   rL  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	AbstractDispatchTableTestsi  c                   \         P                  ! 4       pV P                  V^ 4      pV P                  \        4      ;_uu_ 4        VP
                   RRR4       V P                  VR4       R#   + '       g   i     L$; i)r   Ndispatch_table)r7   rJ   r  r-  r  rf  assertNotHasAttr)r-   r  r  s   &  r   test_default_dispatch_table6AbstractDispatchTableTests.test_default_dispatch_table  sX    JJLq!$~.. /a!12 /.s   A..A>	c                   a aa S P                  4       o ! V3R  lRS P                  4      oRVVV 3R llpS P                  VS4       R# )c                      < ] tR tRt Z tRtR# )GAbstractDispatchTableTests.test_class_dispatch_table.<locals>.MyPickleri  r$   N)r?   r@   rA   rB   rf  rC   )dts   r   r/  rl    s    Nr   r/  Nc                    < \         P                  ! 4       pS! W!4      pSP                  VP                  S4       VP	                  V 4       VP                  4       # r#   )r7   rJ   r  rf  r  rL   )r   r   r  r  r/  rm  r-   s   &&  r   r  CAbstractDispatchTableTests.test_class_dispatch_table.<locals>.dumps  sE    

A!&AQ--r2FF3K::<r   r#   )get_dispatch_tabler  _test_dispatch_table)r-   r  r/  rm  s   f @@r   test_class_dispatch_table4AbstractDispatchTableTests.test_class_dispatch_table  s?    $$&	 ** 	 	  	  	!!%,r   c                `   a a S P                  4       oRVV 3R llpS P                  VS4       R # )Nc                    < \         P                  ! 4       pSP                  W!4      pSVn        SP	                  VP                  S4       VP                  V 4       VP                  4       # r#   )r7   rJ   r  rf  r  r  rL   )r   r   r  r  rm  r-   s   &&  r   r  FAbstractDispatchTableTests.test_instance_dispatch_table.<locals>.dumps  sS    

A""1/A!AQ--r2FF3K::<r   r#   )rp  rq  )r-   r  rm  s   f @r   test_instance_dispatch_table7AbstractDispatchTableTests.test_instance_dispatch_table  s-    $$&	  	  	!!%,r   c                    \        4       p\        P                  ! 4       pV P                  V4      p\	        V4      R /Vn        V P                  \        4      ;_uu_ 4        VP                  V4       R R R 4       R #   + '       g   i     R # ; ir#   )	rp  r7   rJ   r  r   rf  r-  r(  r  )r-   r   r  r  s   &   r   test_dispatch_table_None_item8AbstractDispatchTableTests.test_dispatch_table_None_item  sa    hJJL$$Q'"&s)T!2y))LL *)))s    A<<B	c                  aaa V3R  lpR pR
pV P                  V! V4      V4       V P                  V! V4      V4       RoV3R lpWb\        &   V P                  V! V4      S4       V P                  V! V4      V4       \        4       p\        4       pV P                  V! V4      \        4       V P                  V! V4      \        4       V P                  V! V4      \        4       V P                  V! V4      \        4       Wb\        &   V P                  V! V4      \        4       V P                  V! V4      S4       V P                  V! V4      \        4       V P                  V! V4      \        4       RoV3R lp	W\        &   V\         V P                  V! V4      S4       V P                  V! V4      \        4       V P                  V! V4      \        4       V P                  V! V4      \        4       V P                  V! V4      P                  R4       R p
W\        &   V P                  V! V4      P                  R4       R	# )c                 >   < \         P                  ! S! V ^ 4      4      # r   )r   r.  )r   r  s   &r   custom_load_dumpIAbstractDispatchTableTests._test_dispatch_table.<locals>.custom_load_dump  s    <<c1..r   c                 X    \         P                  ! \         P                  ! V ^ 4      4      # r~  )r   r.  r  r  s   &r   default_load_dumpJAbstractDispatchTableTests._test_dispatch_table.<locals>.default_load_dump  s    <<S! 455r   reduce_1c                    < \         S33# r#   r   )r   REDUCE_1s   &r   r  AAbstractDispatchTableTests._test_dispatch_table.<locals>.reduce_1      ##r   reduce_2c                    < \         S33# r#   r   )r   REDUCE_2s   &r   r  AAbstractDispatchTableTests._test_dispatch_table.<locals>.reduce_2  r  r   r<  c                 6    \         RV P                  R R \        3# ru   )r8  re   r@  r  s   &r   
reduce_bbbCAbstractDispatchTableTests._test_dispatch_table.<locals>.reduce_bbb  s    CLL$lBBr   r?  Ny      ?       @)r  complexr  r8  r  ru  r   )r-   r  rf  r  r  r  r  r   r   r  r  r  r  s   &f&        @@r   rq  /AbstractDispatchTableTests._test_dispatch_table  s   	/	6
 )!,a0*1-q1 	$"*w)!,h7*1-q1 EE)!,h7.q137*1-x8/2C8 's)!,h7)!,h7*1-x8/2C8 	$&s3)!,h7.q137*1-x8/2C8 	*1-//1CD	C )s 	)!,..0EFr   r$   N)r?   r@   rA   rB   rh  rr  rw  rz  rq  rC   rD   rE   s   @r   rd  rd    s'     3- -@G @Gr   rd  r  zDATA{0} = (z	    {0!r}r   z# Disassembly of DATA{0}zDATA{0}_DIS = """\z"""l        )r   r   rW   r  r7   r  r  r	  r   r   r  r  r  r  r  r  rH  textwrapr   http.cookiesr   r   r  ry  r   test.supportr   r   r   r	   r
   r   r   test.support.import_helperr   test.support.os_helperr   r   test.support.warnings_helperr   r   numpyr  
skipUnlessr  r  rh  r  r  r   r!   r'   rJ   r)   rp  rH   rT   rc   rk   rs   rx   r@   rz   r~   r  r   r   r   r   r   r   r   r   r   r  r   r   r8  r  r=  r  rA  	DATA2_DISrE  	DATA3_DISrI  	DATA4_DISre  rg  ri  r  ArithmeticErrorrT  r  r/  r  BytesWarningDeprecationWarningr  EnvironmentErrorrm  FloatingPointErrorFutureWarningGeneratorExitIOErrorImportWarningIndentationErrorr  KeyErrorKeyboardInterruptLookupErrorMemoryError	NameErrorr+   r  r  PendingDeprecationWarningReferenceErrorr  RuntimeWarningStopIterationSyntaxErrorSyntaxWarningSystemError
SystemExitTabErrorr(  UnboundLocalErrorUnicodeErrorUnicodeWarningUserWarningr[  WarningZeroDivisionErrorrk  rl  rn  r  r  r  r  r  r  r  r  r  r  r  r  rF  rO  r3  r  r  r  rh  r:  r  r  rG  floatrE  r  rG  r   rI  rK  r  ry  r  rS  r   r  rf  r  rf  r  r?  rR  rN  r  rR  r  r  r  r  rq  r  r  r  r  r  r8  r@  rB  rL  rd  r?   r  r&   rZ  r  r  r1  r   r  jr   r$   r   r   <module>r     s      
 	  	      
      %  "  . ) ) F 
	&	(	( 
) ""3;;#6#MO &))A-.	&2:: &	% 	%,: :*/ /   


	 	   C a 	 		Fi 	8 8 E  8 	  8 G( G(\ (P	f%  >	B	 7	t	
 7	t. @	F Q TQ L	.#.#.# .# 	.#
 .# .# .# .# .# .# .# .# .# .# .#  !.#" #.#$ %.#& '.#( ).#* +.#, -.#. /.#0 1.#2 3.#4 5.#6 7.#8 9.#: ;.#< =.#@ A.#B C.#D E.#F G.#H I.#J K.#L M.#N O.#P Q.#R S.#T U.#V W.#X Y.#Z [.# ` < ,

*~! ~!BV7 V7r~4 ~4B4| |B  f f @ @1v 1'v '<f <D D* *   	) 	  ~< C e  C  e T T C #) # GIffe[:	
3 L v 
K3 K!L !,l , . .v9 v9r%7 %7P O  OFp ph  &  $& $	" 0B( B(JqG qGh zA6**1,-LLAm""1%&q#a&"%Aa!B$i A+$$Q'( & 	c
(//23&--a01Ah .	 Y_  K( 
)	(	( 	BsB   U( V  U8%V (	U54U58V		V 	V 	VV