403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/pickletester.cpython-315.opt-2.pyc
R
>lqj�c
�v�]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH(s
]PH,s]PH0s]PH4s
]PH8s]PH<s]PH@s]PHDs]QHHGs]QHPGs]PHZs]QH`Gs]QHhGs]QHhGsGsGsGsG s ]QH�G"s"]QH�G$s$]QHhG%s%]Q	H�G's']Q
H`G(s(]QH�3]QH G*s*\'29^tt^2]PH�s,PPP2\OZ\O\Q\6Q
2s/\0\Ob]*2s2]2s3Qs4Qs5Qs6Qs7QQ\Op2s9QQ\:2s;QQ2s<QQ\=2s>Qs?\dQQ2s@QsAQsBQsCQ sDQ!sEQ"sFQ#sGQ$sHQ%sIQ&sJQ'sKQ(sLQ)sMQ*sN,\OM\PM\QM\RM\SM\TM\UM\VM\WM\XM\YM\ZM\[M\\M\M\]M\^M\_M\`M\aM\bM\cM\dM\eM\fM\gM\hM\iM\jM\kM\lM\mM\nM\oM\pM\qM\rM\sM\tM\uM\vM\wM\xM\yM3szQ+s{Q,s|Q-s}Q.Q/2s~Q0Q12sQ2Q32s�Q4Q52s�Q6Q7\X2s�Q8Q92s�\�2s�Q:Q;\�2s�Q<Q=2s�Q>Q?2s�Q@QA2s�QBQC2s�QDQE2s�QFQG2s�QHs�QIQJ\:2s�QKQL\:2s�QMs�QNQO2s�QPQQ2s�QRQS2s�\�QT6Xc�]QUH$G�s�\}2s�\0\Ob]*2FD�s�\CO.\�\�2s�\�QVCO5\�22\0]\�\�2]2FD-s�\�\�\�\�]*2s�\�QWCO5\�22J/	\�QX2\�2\�QYCO5\�22\�QZCO5\�22\�\�2\�Q[2\�2J�	P!P!\cPsCK8h9h)%fhCK�9h\cPs,CK�h9h)]�)�dedent)�SimpleCookie)�support)�	os_helper)�run_with_locales�
no_tracing�_2G�_4G�
bigmemtest)�forget)�TESTFN)�threading_helper)�save_restore_warnings_filters)�picklecommon)�*)�bytes_typesz(test is only meaningful on 32-bit buildsc��[OU2FD+vooUOUOQ26XfJ)P	!	P
!)�latin-1��pickletools�genops�code�decode)r�pickle�op�dummys&&  �&C:\Python315\\Lib\test\pickletester.py�opcode_in_pickler@s;��'�.�.�v�6���E�5�
�7�7�d�k�k�)�,�,��7��c��]o[OU2FD2vooUOUOQ26XfJ)U]*
oJ4	U!)rrr)rr�nrrs&&   r�count_opcoder!GsH��	�A�'�.�.�v�6���E�5�
�7�7�d�k�k�)�,�,�
��F�A�7�
�Hrc��U!�N���xs&r�identityr'Os���Hrc#�J �SoV!6cUw�	U]*oJUw�	P!3h��r$)�start�stop�sizes&& r�itersizer.Rs$����D�
�+��
���
��
�J�s�	#�#c�:`�\sQs]\snQsQsQsQsQsUs	P!)�UnseekableIOc��[gr#)�NotImplementedError��self�argss&*r�peek�UnseekableIO.peek]s��!�!rc��P
!)Fr$�r4s&r�seekable�UnseekableIO.seekable`s��rc�$�[Ogr#��io�UnsupportedOperationr3s&*r�seek�UnseekableIO.seekc����%�%�%rc�$�[Ogr#r=r9s&r�tell�UnseekableIO.tellfrBrr$)
�__name__�
__module__�__qualname__�__firstlineno__r6r:r@rD�__static_attributes__�__classdictcell__��
__classdict__s@rr0r0\s����"��&�&�&rr0c�(`�\sQs]jsnQsQsUsP!)�	MinimalIOc��[OUUmUOOUmUOOUmUOO
UmUOOUmP!r#)r>�BytesIO�_bio�getvalue�read�readline�writer3s&*r�__init__�MinimalIO.__init__nsR���J�J��%��	��	�	�*�*��
��I�I�N�N��	��	�	�*�*��
��Y�Y�_�_��
r)rRrSrTrUrV�rFrGrHrIrWrJrKrLs@rrOrOjs����%�%rrOc�.`�\sQs]�snQsQsQsUsP!)�ExtensionSaverc��VmU[O7cY[OU*Um[OUO]*UO]*U2P!PUmP!�r)r�copyreg�_inverted_registry�pair�remove_extension)r4rs&&rrW�ExtensionSaver.__init__�sP���	��7�-�-�-��2�2�4�8�D�I��$�$�T�Y�Y�q�\�4�9�9�Q�<��F��D�Irc�"�UOo[OOU2oUd'[OU]*U]*U2UO
oUd)[OU]*U]*U2P!P!r#)rr^r_�getrar`�
add_extension)r4r�curpairr`s&   r�restore�ExtensionSaver.restore�so���y�y���,�,�0�0��6�����$�$�W�Q�Z����T�B��y�y�����!�!�$�q�'�4��7�D�9�r)rr`)rFrGrHrIrWrgrJrKrLs@rr[r[�s�����:�:rr[c�.`�\sQs]�snQsQsQsUsP!)�pickling_metaclassc�t�[U2[U26H9%cUOUO6H!r#)�type�reduce_args�r4�others&&r�__eq__�pickling_metaclass.__eq__�s5���T�
�d�5�k�)�6�6�� � �E�$5�$5�5�	7rc�(�[UO1!r#)�create_dynamic_classrmr9s&r�
__reduce__�pickling_metaclass.__reduce__�s��$�d�&6�&6�7�7rr$)rFrGrHrIrprtrJrKrLs@rrjrj�s����7�8�8rrjc�@�[V[22oV1UmU!r#)rj�dictrm)�name�bases�results&& rrsrs�s��
��T�V�
4�F���F���Mrc�`�\sQs]�snP
sQsQs\Q2s\Q2s	\Q2s
QsQsQs
Q	s\Q
2sQsUsP!)�PicklableNDArrayc�@�[OU-U@UmP!r#)�_testbuffer�ndarray�array�r4r5�kwargss&*,rrW�PicklableNDArray.__init__�s��$�,�,�d�=�f�=�D�Jrc�p�[U2oUOU2oUOU*UmU!r#)rl�__new__r�)r4�idx�cls�news&&  r�__getitem__�PicklableNDArray.__getitem__�s-���t�*�C��+�+�c�"�C��
�
�3��C�I��Jrc�0�UOO!r#)r��readonlyr9s&rr��PicklableNDArray.readonly�s���:�:�&�&�&rc�0�UOO!r#)r��c_contiguousr9s&rr��PicklableNDArray.c_contiguous�����:�:�*�*�*rc�0�UOO!r#)r��f_contiguousr9s&rr��PicklableNDArray.f_contiguous�r�rc�N�[U[2%f[!UOOUOO6H9%c�UOO
UOO
6H9%c�UOOUOO6H9%ckUOOUOO6H9%c6UOO2UOO26H!r#)	�
isinstancer|�NotImplementedr��format�shape�stridesr��tobytesrns&&rrp�PicklableNDArray.__eq__�s����e�%5�6�6�%�%��K�K�&�&�$�*�*�*;�*;�;�B�B��K�K�%�%����)9�)9�9�B�B��K�K�'�'�4�:�:�+=�+=�=�B�B��K�K�(�(�D�J�J�,?�,?�?�B�B��K�K�'�'�)�T�Z�Z�-?�-?�-A�A�	
Crc�F�[U[2%f[!V6X(!r#)r�r|r�rns&&r�__ne__�PicklableNDArray.__ne__�s���e�%5�6�6�%�%��&�&rc�x�QO[U2OUOOQ5!)zL{name}(shape={array.shape},strides={array.strides}, bytes={array.tobytes()}))rxr�)r�rlrFr�r�r9s&r�__repr__�PicklableNDArray.__repr__�s6��/�06���d��,�,�D�J�J�4D�4D�17�1F�
Frc�\�UOO%f[Q2gQUOOQUOOQUOO
QUO%c]L[O-o[OUO2oU]6�c[U2OV211!UO29^tt^2o[U2OUO2U11ttPPP2!)%fhP!9h)z>Reconstructing a non-contiguous ndarray does not seem possibler�r�r��flags)r��
contiguousr2r�r�r�r�r~�ND_WRITABLEr�PickleBufferrl�_reconstruct�rawr�)r4�protocol�ndarray_kwargs�pb�ms&&   r�
__reduce_ex__�PicklableNDArray.__reduce_ex__�s����:�:�(�(�(�)�+K�L�L�%�t�z�z�'7�'7�'����);�);�&��
�
�(9�(9�%�T�]�]�]��-8�-D�-D�	G�N�
�$�$�T�Z�Z�0�B��1�}��T�
�/�/��,�.�.��V�V�X�X�� ��J�3�3��Y�Y�[�.�9�;��X�X�X�s�('D�D+	�#D+	c��[U29^tt^2o[UO22oPPP2UW1-U@!)%fhK9hr#)�
memoryview�listr�)r��objr�r��itemss&&&  rr��PicklableNDArray._reconstruct�s>���C���A��Q�Y�Y�[�)��!��u�'��'�'�	!��s�A�A	�
A	)r�)rFrGrHrI�zero_copy_reconstructrWr��propertyr�r�r�rpr�r�r��classmethodr�rJrKrLs@rr|r|�s}����!&��	>�	�
�	'�
�	'�
�	+�
�	+�
�	+�
�	+�	C�	'�
	F�	;�&
�	(�
�	(rr|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(KKG@c__builtin__
complex
q(G@GtqRqKJ����K�J���J���M��J��J��J���J�J�(Xabcqhccopy_reg
_reconstructor
q(c__main__
C
qc__builtin__
object
qNtqRq	}q
(XfooqKXbarqKubh	tq
h
Ke.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(KKG@c__builtin__
complex
qG@G�qRqKJ����K�J���J���M��J��J��J���J�J�(Xabcqhc__main__
C
q)�q}q(XfooqKXbarq	Kubhtq
h
Ke.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(KKG@cbuiltins
complex
qG@G�qRqKJ����K�J���J���M��J��J��J���J�J�(Xabcqhc__main__
C
q)�q}q(XbarqKXfooq	Kubhtq
h
Ke.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����]�(KKG@�builtins��complex���G@G��R�KJ����K�J���J���M��J��J��J���J�J�(�abc�h�__main__��C���)��}�(�bar�K�foo�Kubh
t�hKe.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(KKe�qRq.s%�c__builtin__
xrange
qKKK�qRq.s��cCookie
SimpleCookie
q)�qUkeyqcCookie
Morsel
q)�q(UcommentqUqUdomainqhUsecureqhUexpiresq	hUmax-ageq
hUversionqhUpathqhUhttponlyq
hu}q(Ucoded_valueqUvalueqhhhhubs}qb.s"�c__builtin__
set
q]qKa�qRq.s�cexceptions
?
q)Rq.sI�cexceptions
UnicodeEncodeError
q(UasciiqXfooqKKUbadqtqRq.c�$�[2o]Um]Um,QNo]�oQoQoUO]PV"'U']*
V3'U']*
VD'U']*
,2QQV1oUO	U2UO	U2UO	]2U!)r*����abc)rr*g@y@)�C�foo�bar�extend�append)�cr&�uint1max�uint2max�int4max�ys      r�create_datar��s���	��A�
�A�E�
�A�E��A��H��H��G��H�H�a���	�H�9�Q�;��	�H�9�Q�;���W�H�Q�J�0�1�
��q��A��H�H�Q�K��H�H�Q�K��H�H�Q�K��Hrc�`�\sQsQsn\2sQKQksQsQsQs	Qs
QsQsQ	s
Q
sQsQsQ
sQsQsQsQsQsQsQsQsQs\Q2s\Q2sQsQsQs Qs!Qs"\Q2s#\Q2s$\Q 2s%Q!s&Q"s'Q#s(Q$s)Q%s*Q&s+\Q'2s,Q(s-Q)s.QKQ*ks/Q+s0Q,s1Q-s2Q.s3Q/s4Q0s5Q1s6Q2s7Q3s8Q4s9Q5s:Q6s;Q7s<Q8s=Q9s>Q:s?Q;s@Q<sAQ=sBQ>sCQ?sD\EO�Q@2sGQAsHQBsIQCsJQDsKQEsLQFsMQGsNQHsO\PO�\PO�2QI22sSQJsTUsUP!)L�AbstractUnpickleTests��c
��UeQOV2oUOVUQ5UO[U2[U2UQ5[	UQ2%cQUOUOUOUQ5UOUOUOUQ5[	UQ2%c�UOUOUOUQ5UOFDQoUO[	V2[	V$2UQ5UO[VP2[V$P2UQ5JS	P!P!)Nz{!r} is not a copy of {!r})�msg�__dict__�	__slots__)r��assertEqual�assertIsrl�hasattr�assertDictEqualr��assertIsNot�assertListEqualr��getattr)r4r��objcopyr��slots&&&& r�assert_is_copy�$AbstractUnpickleTests.assert_is_copy�s���;�.�5�5�c�C�C�����3��/��
�
�d�3�i��g��C�
�8��3�
�#�#�� � ����w�/?�/?�S� �I����S�\�\�7�+;�+;���E��3��$�$�� � �����0A�0A�s� �K��
�
��� � ��C�&���(>�C�!�I�� � ���D�!9�!(���!=�3�!�H�&�%rc
�B�UOU29^tt^2UOU2PPP2P![cGo[O]6�c,[S8Q
QSOO8QS802gPo=hh9h)%fhP!9h)r*�32z - z: )�assertRaises�loads�
BaseExceptionr�verbose�print�	__class__rF)r4�errors�data�excs&&& r�check_unpickling_error_strict�3AbstractUnpickleTests.check_unpickling_error_strict�sw��
�
�
�v�
&�
&�
��
�
�4� �'�
&��!�
��?�?�Q�&������!7�!7��>�?���	
��'�
&�
&�s8�B
�9�	B
�B
�B�,B�B
�
B
�
B	�B	c��UOUQ59^tt^2UOV2PPP2P!)%fhP!9h)�r�)�subTestr�)r4r�r�s&&&r�check_unpickling_error�,AbstractUnpickleTests.check_unpickling_errors0��
�\�\�t�\�
$�
$��.�.�v�<�%�
$�
$�
$�s�8�A		�A		c�f�UOUOUO[22P!r#)r��	_testdatar��DATA0r9s&r�test_load_from_data0�*AbstractUnpickleTests.test_load_from_data0	������D�N�N�D�J�J�u�,=�>rc�f�UOUOUO[22P!r#)r�r�r��DATA1r9s&r�test_load_from_data1�*AbstractUnpickleTests.test_load_from_data1r�rc�f�UOUOUO[22P!r#)r�r�r��DATA2r9s&r�test_load_from_data2�*AbstractUnpickleTests.test_load_from_data2r�rc�f�UOUOUO[22P!r#)r�r�r��DATA3r9s&r�test_load_from_data3�*AbstractUnpickleTests.test_load_from_data3r�rc�f�UOUOUO[22P!r#)r�r�r��DATA4r9s&r�test_load_from_data4�*AbstractUnpickleTests.test_load_from_data4r�rc���[Q1[Q1[Q11FD�vqUOO	Q2oQOQU2oUO
UUUOU22QOQU2oUO
UUUOU22QOQU2oUO
UUUOU22J�	P!)r&�asciis(i__main__
X
p0
(dp1
b.�Xs(c__main__
X
qoq}qb.s�(c__main__
X
qoq}qb.r$r%)r��D�ErF�encode�replacer�r�)r4�Xr5�xname�pickle0�pickle1�pickle2s&      r�test_load_classic_instance�0AbstractUnpickleTests.test_load_classic_instances����B��!�V��q�"�g�6�G�A��J�J�%�%�g�.�E�	
�#�%,�G�D�%�$8�
�
����4��$�*�*�W�*=�>�

�.�/6�w�t�U�/C�
�
����4��$�*�*�W�*=�>�
�.�/6�w�t�U�/C�
�
����4��$�*�*�W�*=�>�i7rc��QoQ[U2OQ2*Q*oUOU2oUOV2Q[U2OQ2*Q*oUO	[
U2P!)r*�Ir�
.sJUNK
.l����)�strrr�r�r��
ValueError)r4�maxint64r��gots&   r�
test_maxint64�#AbstractUnpickleTests.test_maxint64Qsq�� ���c�(�m�*�*�7�3�3�f�<���j�j�������H�*��c�(�m�*�*�7�3�3�j�@���#�#�J��5rc�&�UO[2oUOU[]],22UO[2oUO[U2[[
]222UO[U2[[
]222UO[2oUO[U2[2UO[UO22Q,2UOUQ*OQ2[FD^o[OQUOO!Q22oUOU2oUO#[U2U2J`	UO[OQQ22oUO#[U2[$2UO[&2oUO#[U2[(2UOUO*Q2UOUO,Q2UOUO.]2UOUO0]2UOUO2Q2P!)r*�key�value�?r�
StandardErrorr��bad)r��DATA_SETr��set�DATA_XRANGErl�ranger��DATA_COOKIEr�keysr�python2_exceptions_without_args�exception_picklerrFrr��	Exception�
DATA_UEERR�UnicodeEncodeError�object�encodingr+�end�reason)r4�loadedr�r�s&   r�test_unpickle_from_2x�+AbstractUnpickleTests.test_unpickle_from_2x[s������H�%�������a��V��-����K�(������f��t�E�!�H�~�6�����f��t�E�!�H�~�6����K�(������f��|�4�����f�k�k�m�,�u�g�6�������,�,�g�6�3�2�C�#�+�+�D�#�,�,�2E�2E�g�2N�O�D��Z�Z��%�F��M�M�$�v�,��,�3����,�4�4�T�;K�L�M���
�
�d�6�l�I�.����J�'���
�
�d�6�l�$6�7��������.�������'�2�������q�)�������Q�'��������.rc���UOUOQQQ5Q2UOUOQQQ5Q2UOUOQQQ5Q2P!)sS'a\x00\xa0'
.�bytes�r+sa�sUa�.s�Ua�.�r�r�r9s&r�test_load_python2_str_as_bytes�4AbstractUnpickleTests.test_load_python2_str_as_bytesys~��������$8�-4�$�6�7C�	E�	
������$6�-4�$�6�7C�	E�	
������$>�-4�$�6�7C�	Erc���UOUOQQQ5Q2UOUOQQQ5Q2UOUOQQQ5Q2P!)s	V\u03c0
.r2r3uπsXπ.s
�Xπ.r4r9s&r� test_load_python2_unicode_as_str�6AbstractUnpickleTests.test_load_python2_unicode_as_str�sz��������N�-4�$�6�7;�	=�	
������$A�-4�$�6�7;�	=�	
������$I�-4�$�6�7;�	=rc	���UOUO[O[O
QQ2*Q*[O*QQ5Q2P!)�<I�,r2r3s,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)r�r�r�	BINSTRING�struct�pack�STOPr9s&r�#test_load_long_python2_str_as_bytes�9AbstractUnpickleTests.test_load_long_python2_str_as_bytes�s[��������F�$4�$4�$*�K�K��c�$:�%;�$.�%/�17���%=�.5�$�6�8B�	Crc�P�UOUOQ22UOUOQ2P	2UOUOQ2P
2UOUOQ2P	2UOUOQ2P
2P!)�N.s�.s�.sI01
.sI00
.)�assertIsNoner�r�r9s&r�test_constants�$AbstractUnpickleTests.test_constants�su�����$�*�*�U�+�,��
�
�d�j�j��*�D�1��
�
�d�j�j��*�E�2��
�
�d�j�j��+�T�2��
�
�d�j�j��+�U�3rc��UOQ2oUO[U2Q2UOQ2oUO[U2Q2P!)sI+0
.�0sI 0
.)r�r�r)r4�out1�out2s&  r�test_issue135241�&AbstractUnpickleTests.test_issue135241�sH��
�z�z�)�$������T��C�(��z�z�)�$������T��C�(rc��UOUOQ2]
2UOUOQ2Q
2UOUOQ2]
2UOUOQ2Q
2UOUOQ2]
2UOUOQ2Q
2UOUOQ2]
2UOUOQ2Q
2UOUOQ2]
2UOUOQ	2Q
2P!)sI010
.sI-010
.sI0010
.sI-0010
.sL010
.sL-010
.sL0010
.sL-0010
.sL010L
.sL-010L
.i����r4r9s&r�test_zero_padded_integers�/AbstractUnpickleTests.test_zero_padded_integers�s���������J�/��4�������K�0�#�6�������K�0�"�5�������L�1�3�7�������J�/��4�������K�0�#�6�������K�0�"�5�������L�1�3�7�������K�0�"�5�������L�1�3�7rc��UO[UOQ2UO[UOQ2UO[UOQ2UO[UOQ2UO[UOQ2UO[UOQ2P!)sI0b10
.sI0o10
.sI0x10
.sL0b10L
.sL0o10L
.sL0x10L
.)r�rr�r9s&r�test_nondecimal_integers�.AbstractUnpickleTests.test_nondecimal_integers�s������*�d�j�j�+�>����*�d�j�j�+�>����*�d�j�j�+�>����*�d�j�j�,�?����*�d�j�j�,�?����*�d�j�j�,�?rc�R�UOQQQ5oUOUP2P!)s�Uq.zkoi8-rr3)r�r�)r4�emptys& r�test_empty_bytestring�+AbstractUnpickleTests.test_empty_bytestring�s%���
�
�1�H�
�E�������#rc�N�QoUOUOU2Q2P!)s	�C€.�€r4�r4�dumpeds& r�test_short_binbytes�)AbstractUnpickleTests.test_short_binbytes�s!��2��������F�+�-@�Arc�N�QoUOUOU2Q2P!)s�B€.rYr4rZs& r�
test_binbytes�#AbstractUnpickleTests.test_binbytes�s!��>��������F�+�-@�Arc�X�QoUO[O[1U2P!)s
�B����xyzq.�r�r�UnpicklingError�
OverflowErrorrZs& r�test_negative_32b_binbytes�0AbstractUnpickleTests.test_negative_32b_binbytes��'��7���#�#�V�%;�%;�]�$K�$*�	,rc�X�QoUO[O[1U2P!)s
�X����xyzq.rbrZs& r�test_negative_32b_binunicode�2AbstractUnpickleTests.test_negative_32b_binunicode�rgrc�N�QoUOUOU2Q2P!)s	��€.�€r4rZs& r�test_short_binunicode�+AbstractUnpickleTests.test_short_binunicode�s ��5��������F�+�\�:rc��UO[OQ2UO[OQ2UO[OQ2UOQQ,UO	Q22P!)sg0
p0sjens:shens:s((Kdtp0
hl.)))�d)r�rrcr�r�r9s&r�
test_misc_get�#AbstractUnpickleTests.test_misc_get�sf���#�#�F�$:�$:�I�F��#�#�F�$:�$:�H�E��#�#�F�$:�$:�H�E����V�V�,� �J�J�'<�=�	?rc�N�QoUOUOU2Q2P!)s��€.rYr4rZs& r�test_binbytes8�$AbstractUnpickleTests.test_binbytes8�s!��A��������F�+�-@�Arc�N�QoUOUOU2Q2P!)s��€.rlr4rZs& r�test_binunicode8�&AbstractUnpickleTests.test_binunicode8�s ��A��������F�+�\�:rc�`�QoUOUOU2[Q22P!)s��xxx.sxxx)r�r��	bytearrayrZs& r�test_bytearray8�%AbstractUnpickleTests.test_bytearray8�s%��D��������F�+�Y�v�->�?rc�X�QoUO[O[1U2P!)s��€.rbrZs& r�test_large_32b_binbytes8�.AbstractUnpickleTests.test_large_32b_binbytes8��%��A���#�#�V�%;�%;�]�$K�$*�	,rc�X�QoUO[O[1U2P!)s��€.rbrZs& r�test_large_32b_bytearray8�/AbstractUnpickleTests.test_large_32b_bytearray8�r�rc�X�QoUO[O[1U2P!)s��€.rbrZs& r�test_large_32b_binunicode8�0AbstractUnpickleTests.test_large_32b_binunicode8�r�rc��QoUO[OU29^tt^2UOQ2PPP2P!)%fhP!9h)z(BINSTRING pickle has negative byte countsT�)�assertRaisesRegexrrcr�)r4�errmsgs& r�test_large_binstring�*AbstractUnpickleTests.test_large_binstring�s<��;��
�
#�
#�F�$:�$:�F�
C�
C��J�J�~�&�D�
C�
C�
C�s�A�A	�A	c��QoUOU2oUOU,1]*2UOU]*U]*2P!)s((lp100000
g100000
t.�r�r�r��r4�pickled�	unpickleds&  r�test_get�AbstractUnpickleTests.test_getsA��,���J�J�w�'�	�����R�E�!�G�,��
�
�i��l�I�a�L�1rc��QoUOU2oUOU,1]*2UOU]*U]*2P!)s(]q�h�t.r�r�s&  r�test_binget�!AbstractUnpickleTests.test_binget
sA��#���J�J�w�'�	�����R�E�!�G�,��
�
�i��l�I�a�L�1rc��QoUOU2oUOU,1]*2UOU]*U]*2P!)s(]rjt.r�r�s&  r�test_long_binget�&AbstractUnpickleTests.test_long_bingetsA��;���J�J�w�'�	�����R�E�!�G�,��
�
�i��l�I�a�L�1rc��QoUOU2oUOU,1]*2UOU]*U]*2P!)s((l2t.r�r�s&  r�test_dup�AbstractUnpickleTests.test_dupsA�����J�J�w�'�	�����R�E�!�G�,��
�
�i��l�I�a�L�1rc�8�QoUO[U2P!)sVa
p-1
.�r�rrZs& r�test_negative_put�'AbstractUnpickleTests.test_negative_puts�����#�#�J��7rc�8�QoUO[U2P!)s�Xar����.r�rZs& r�test_negative_32b_binput�.AbstractUnpickleTests.test_negative_32b_binput!s��A���#�#�J��7rc	��QoQFDIoU[O6�cJUOUOUU22,1]*2JK	P!)c��Q[U2O2*Q*Q*[U2O2*Q*!)s((lp�
�gs
t.)rr�r s&r�<lambda>�:AbstractUnpickleTests.test_too_large_put.<locals>.<lambda>1s:��'�C��F�M�M�O�3�e�;���!$�Q�����1�3:�;r)�@Biʚ;lJ)�)�sys�maxsizer�r��r4r�r�s&  r�test_too_large_put�(AbstractUnpickleTests.test_too_large_put'sG��<��*�C��S�[�[� �����T�Z�Z��S�	�2�R�E�!�G�<�*rc	���Qo[Q[[OQ22FD2oUO	UOUU22,1]*2J4	P!)c��Q[OQU2*Q*[OQU2*Q*!)s(]rr;�jst.�r>r?r�s&rr��BAbstractUnpickleTests.test_too_large_long_binput.<locals>.<lambda>Is7��&�6�;�;�t�Q�#7�7���!'���T�1�!5�6�8=�>r����)r.�minr�r�r�r�r�s&  r�test_too_large_long_binput�0AbstractUnpickleTests.test_too_large_long_binput?sK��?���G�S����m�%D�E�C����T�Z�Z��S�	�2�R�E�!�G�<�Frc	��Ue
UOoUOU9^tt^2UOU2PPP2[UQ2%Cc[	[
Q29^tt^2oUO
U2PPP2[	[
Q29^tt^2oUOU2oUOU9^tt^2UO2PPP2PPP2[	[
Q]Q59^tt^2oUOU2oUOU9^tt^2UO2PPP2PPP2[O[
2P!P!)%fhCK?9h)%fhCK
9h)%fhK�9h)%fhK�9h)%fhK�9h)%fhK�9h[O[
2h9h)N�	unpickler�wb�rb)�	buffering)�truncated_data_errorr�r�r��openrrVr��loadr�unlink)r4r[�expected_error�f�us&&&  r�_test_truncated_data�*AbstractUnpickleTests._test_truncated_dataTsV���!�!�6�6�N�
�
#�
#�^�
4�
4��J�J�v��5��4��%�%�
)��&�$�'�'�1��G�G�F�O�(��&�$�'�'�1����q�)�A��/�/��@�@�����A�(�
�&�$�!�4�4�����q�)�A��/�/��@�@�����A�5�
� � ��(�&�5�
4�
4��(�'�'��
A�@��(�'��A�@��5�4��
� � ��(�s��E3�G'�1F� G'�#+F.�F	�F.�'"G'�	+G�4G	�G�
G'�3F	�<F	�F	�F	�	G'�F+
�$F+
�&F.�.F>	�7F>	�9G'�G
�
G
�G�G$	�G$	�G'�'Hc�@�QoUOUOU]22Q2[Q[[O
]*
Q22FDoUO
UU22J	UO
UQ2[OQ12P!)c�N�Q[OQU2*Q*!)�Tr;�.....r��r-s&rr��FAbstractUnpickleTests.test_truncated_large_binstring.<locals>.<lambda>n���D�6�;�;�t�T�#:�:�X�Er�....z%truncated|exceeds|negative byte count��r��	r�r�r.r�r�r�r�rrc�r4r�r-s&  r�test_truncated_large_binstring�4AbstractUnpickleTests.test_truncated_large_binstringms}��E��	
������D��G�,�f�5��W�c�#�+�+��/�=�&I�J�D��%�%�d�4�j�1�K��!�!�$�w�-�
�
#�
#�%L�M�	Orc���QoUOUOU]22Q2[Q[[O
]*
Q22FDoUO
UU22J	P!)c�N�Q[OQU2*Q*!)rr;r�r�r�s&rr��GAbstractUnpickleTests.test_truncated_large_binunicode.<locals>.<lambda>xr�rr�r�r��r�r�r.r�r�r�r�r�s&  r�test_truncated_large_binunicode�5AbstractUnpickleTests.test_truncated_large_binunicodewsY��E��	
������D��G�,�f�5��W�c�#�+�+��/�=�&I�J�D��%�%�d�4�j�1�Krc���QoUOUOU]22Q2[Q[[O
Q22FDoUO
UU22J	P!)c�N�Q[OQU2*Q*!)�Br;r�r�r�s&rr��EAbstractUnpickleTests.test_truncated_large_binbytes.<locals>.<lambda>�r�r�....r�r�r�r�s&  r�test_truncated_large_binbytes�3AbstractUnpickleTests.test_truncated_large_binbytessU��E��	
������D��G�,�g�6��W�c�#�+�+�w�&?�@�D��%�%�d�4�j�1�Arc�@�QoUOUOU]22Q2[Q[[O
]*
Q22FDoUO
UU22J	UO
UQ2[OQ12P!)c�N�Q[OQU2*Q*!)��r;r�r�r�s&rr��BAbstractUnpickleTests.test_truncated_large_long4.<locals>.<lambda>����G�f�k�k�$��&=�=��Hri....z#LONG pickle has negative byte countr�r�r�r�r�s&  r�test_truncated_large_long4�0AbstractUnpickleTests.test_truncated_large_long4�s}��H��	
������D��G�,�j�9��W�c�#�+�+��/�=�&I�J�D��%�%�d�4�j�1�K��!�!�$�w�-�
�
#�
#�%J�K�	Mrc��QoUOUOU]222[Q[O]	*
2FDoUOUU22J	[O]*Q6c<UOU[O]*2[[1Q12P!P!)c�N�Q[OQU2*Q*!)���<QrDr�r�s&rr��BAbstractUnpickleTests.test_truncated_large_frame.<locals>.<lambda>�s��G�f�k�k�$��&=�=��Erz-FRAME length exceeds|frame size > sys.maxsizer��)rEr�r.r�r�r�rdrr�s&  r�test_truncated_large_frame�0AbstractUnpickleTests.test_truncated_large_frame�s���E��	
���$�*�*�T�!�W�-�.��W�c�k�k�A�o�6�D��%�%�d�4�j�1�7��;�;��?�W�$��%�%�d�3�;�;��?�&;���,�@�B�
C�%rc��QoUOUOU]22Q2[Q[O]	*
2FDoUOUU22J	[O]*Q6c:UOU[O]*2UO2P!P!)c�N�Q[OQU2*Q*!)��r�r�r�r�s&rr��HAbstractUnpickleTests.test_truncated_large_binunicode8.<locals>.<lambda>�r�rr�r�r��r�r�r.r�r�r��size_overflow_errorr�s&  r� test_truncated_large_binunicode8�6AbstractUnpickleTests.test_truncated_large_binunicode8�s���H��	
������D��G�,�f�5��W�c�k�k�A�o�6�D��%�%�d�4�j�1�7��;�;��?�W�$��%�%�d�3�;�;��?�&;�T�=U�=U�V�%rc�x�QoUOUOU]22Q2[Q[O2FDoUOUU22J	[O]*Q6c:UOU[O]*2UO2P!P!)c�N�Q[OQU2*Q*!)��r�r�r�r�s&rr��FAbstractUnpickleTests.test_truncated_large_binbytes8.<locals>.<lambda>�r�rr�r�r�r�r�s&  r�test_truncated_large_binbytes8�4AbstractUnpickleTests.test_truncated_large_binbytes8�s���H��	
������D��G�,�g�6��W�c�k�k�2�D��%�%�d�4�j�1�3��;�;��?�W�$��%�%�d�3�;�;��?�&;�T�=U�=U�V�%rc��QoUOUOU]22[Q22[Q[O
2FDoUO
UU22J	[O
]*Q6c:UO
U[O
]*2UO2P!P!)c�N�Q[OQU2*Q*!)��r�r�r�r�s&rr��GAbstractUnpickleTests.test_truncated_large_bytearray8.<locals>.<lambda>�r�rr�r�r�)r�r�rzr.r�r�r�r�r�s&  r�test_truncated_large_bytearray8�5AbstractUnpickleTests.test_truncated_large_bytearray8�s���H��	
������D��G�,�i��.@�A��W�c�k�k�2�D��%�%�d�4�j�1�3��;�;��?�W�$��%�%�d�3�;�;��?�&;�T�=U�=U�V�%rc�4�UO[Q2P!)sS'\'
.r�r9s&r�test_badly_escaped_string�/AbstractUnpickleTests.test_badly_escaped_string�s���#�#�J��<rc�d�,QNoSFD#oUO[OU2J%	P!)�S'
.)
r
sS"
.sS' 
.sS" 
.sS'"
.sS"'
.sS' ' 
.sS" " 
.sS ''
.sS ""
.sS 
.sS
.sS.)r�rrc�r4�
badpickles�ps&  r�test_badly_quoted_string�.AbstractUnpickleTests.test_badly_quoted_string�s+���
��A��'�'��(>�(>��B�rc�j�,QNoSFD&vq#UOUOU2U2J(	P!)�S''
.))r�)sS""
.r)sS"\n"
.�
)sS'\n'
.rr4)r4�goodpicklesr
�expecteds&   r�test_correctly_quoted_string�2AbstractUnpickleTests.test_correctly_quoted_string�s/��-��'�K�A����T�Z�Z��]�H�5�'rc�N�QoUOUOU2]*2P!)s��I42
.r4�r4r�s& r�test_frame_readline�)AbstractUnpickleTests.test_frame_readline�s"��G��
	
������G�,�b�1rc	���QFDFoUOUQ59^tt^2UOUOU22PPP2JH	P!)%fhJ]9h)�
��N.)r�)rs
��N.)r�rEr�rs& r�"test_frame_ends_at_opcode_boundary�8AbstractUnpickleTests.test_frame_ends_at_opcode_boundary�sL��
�G����g��.�.��!�!�$�*�*�W�"5�6�/�.�	
�/�.�.�s�!A	�A"
�A"
c�T�QFDoUOUOU2J!	P!)���Vhelloworld
.)r!s��X
helloworld.s��C
helloworld.s��	cbuiltins
print
.)r��truncated_errorsrs& r�%test_frame_does_not_straddle_boundary�;AbstractUnpickleTests.test_frame_does_not_straddle_boundary�s&��

�G�
�'�'��(=�(=�w�G�

rc��QoUOUOU2QoUOUOU22P!)s��N�NN.s��
N�N.)r�r"rEr�rs& r�test_nested_frame�'AbstractUnpickleTests.test_nested_frame�s=��?���#�#�D�$9�$9�7�C�>�����$�*�*�W�-�.rc	�d�QoUOU2oUO[U2[2UO	U[]]22UO	[U2,QN2QoUOUOU2[O2QoUOUOU2[O2Q	FD^oQU*Q*oUOU2oUO[U2[2UO	[U2Q2J`	Q
FDuoQU*Q*oUOU2oUO[U2[O2UO	U[O]]-22Jw	P!)s�c__builtin__
xrange
KKK�R.s�c__builtin__
reduce
.s�cwhichdb
whichdb
.s�cexceptions
s	
Uugh�R.�ughs
�(cUserDict
s
o}Udata}KKssb.)r*�����)s	Exceptionr)sUserDictsIterableUserDict)r�r�rlr"r�r��	functools�reduce�dbm�whichdbr'r�collections�UserDict)r4r�r�rxs&   r�test_compat_unpickle�*AbstractUnpickleTests.test_compat_unpicklesE��H���J�J�w�'�	��
�
�d�9�o�u�-�����E�!�Q�K�0�����i��*<�=�4���
�
�d�j�j��)�9�+;�+;�<�1���
�
�d�j�j��)�3�;�;�7�4�D�/�$�6�9L�L�G��
�
�7�+�I��M�M�$�y�/�9�5����S��^�U�3�	5�7�D�.��5�6�7�G��
�
�7�+�I��M�M�$�y�/�;�+?�+?�@����Y��(<�(<�a��V�(D�E�7rc���UOUOQ2[2UOUOQ2[O2UOUOQ2[
OO2UOUOQ2[O2[O[OQ[O]*Q529^tt^2UOUOQ2]*2PPP2UO!["UOQ2UO!["UOQ2UO!UO$UOQ	2UO!UO$UOQ
2UO!UO$UOQ2P!)%fhK�9h)scbuiltins
str
.�cmath
log
.scos.path
join
.s�cbuiltins
str.upper
.�mödule��glöbals�cmödule
glöbal
.sc�
log
.s	cmath
�
.sc
log
.scmath

.s
�cmath

.)r�r�r�math�log�os�path�join�upperr�	swap_itemr��modules�types�SimpleNamespacer�r��UnicodeDecodeErrorr"r9s&r�test_load_global�&AbstractUnpickleTests.test_load_global&sI���
�
�d�j�j�!5�6��<��
�
�d�j�j�!1�2�D�H�H�=��
�
�d�j�j�!5�6������E��
�
�d�j�j�!C�D�c�i�i�P�
�
�
�s�{�{�I�u�7L�7L�UW�7X�
Y�
Y����T�Z�Z�(S�T�VX�Y�Z�	
���,�d�j�j�:J�K����,�d�j�j�:K�L����$�/�/����\�J����$�/�/����]�K����$�/�/����=R�S�Z�
Y�s�"G$�$G4	�-G4	c���UOUOQ2[2UOUOQ2[O2UOUOQ2[
OO2UOUOQ2[O2[O[OQ[O]*Q529^tt^2UOUOQ2]*2PPP2UO!["UOQ2UO!["UOQ2UO![$UOQ	2UO![&UOQ
2UO![&UOQ2UO![(O*UOQ2UO![(O*UOQ
2UO![(O*UOQ2P!)%fhCK99h)s�builtins�str�.�
�math�log�.s�os.path�join�.s��builtins�	str.upper�.r9r:s��mödule�glöbal�.s
���log�.s�math���.s	��log�.s
�math��.s��math��.sN�log�.s	�mathN�.s��mathN�.)r�r�rr<r=r>r?r@rArrBr�rCrDrEr�r�rFr�AttributeErrorrrcr9s&r�test_load_stack_global�,AbstractUnpickleTests.test_load_stack_global4s����
�
�d�j�j�!D�E�s�K��
�
�d�j�j�!@�A�4�8�8�L��
�
�d�j�j�!D�E��g�g�l�l�	$��
�
�d�j�j�!R�S��i�i�	!�
�
�
�s�{�{�I�u�7L�7L�UW�7X�
Y�
Y����T�Z�Z�(b�c�eg�h�Z�	
���,�d�j�j�:Y�Z����,�d�j�j�:Z�[����*�d�j�j�2M�N����.�$�*�*�6R�S����.�$�*�*�6Z�[����&�0�0�$�*�*�>R�S����&�0�0�$�*�*�>S�T����&�0�0�$�*�*�>[�\�Z�
Y�
Y�s�"I�I$	�I$	c�\�UO[O22oUO[O2P
Q5oUO[OQ22oUO2UO	UOQQ2[2UO[UO
QQ2UO	UOQQ2[2UO	UOQQ2[2UO	UOQQ2[O2UO	UOQQ	2[OO2UO	UOQQ	2[OO2UO	UOQQ
2[O2UO[ Q29^tt^2UOQQ
2PPP2UO[ Q29^tt^2UOQQ
2PPP2UO[ Q29^tt^2UOQQ
2PPP2UO[ Q29^tt^2UOQQ2PPP2UO[ Q29^tt^2oUOQQ2PPP2UO#[
WO$O&2Q2UO[ Q29^tt^2UOQQ2PPP2UO[ Q29^tt^2oUOQQ2PPP2UO#[
UO$O&2Q2UO[ Q29^tt^2UOQP2PPP2UO[ Q29^tt^2UOQP2PPP2UO[UO
Q
Q2UO[(UO
PQ2UO[*UO
PQ2UO[*UO
QP2UO[*[ 1UO
QP2P!)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCKz9h)%fhCKU9h)%fhCK9h)%fhCK�9h)%fhCK�9h)%fhCKc9h)F)�fix_importss�N.�__builtin__r�builtinsr<r=zos.pathr@z	str.upperz/module 'builtins' has no attribute 'str\.upper'z%module 'math' has no attribute 'spam'�spamz*module 'math' has no attribute 'log\.spam'zlog.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'zlog.<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�r>rQr�r��
find_classrr��ModuleNotFoundErrorr<r=r>r?r@rAr�rKr��	exception�__context__r�	TypeError)r4r��unpickler_nofix�
unpickler4�cms&    r�test_find_class�%AbstractUnpickleTests.test_find_classHsj���N�N�2�:�:�<�0�	��.�.�����5�.�I���^�^�B�J�J�}�$=�>�
������
�
�i�*�*�=�%�@�#�F����-�)�4�4�m�U�	L��
�
�i�*�*�:�u�=�s�C��
�
�o�0�0��U�C�S�I��
�
�i�*�*�6�5�9�4�8�8�D��
�
�i�*�*�9�f�=�r�w�w�|�|�L��
�
�i�*�*�9�f�=�r�w�w�|�|�L��
�
�j�+�+�J��D�c�i�i�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�/C�V�U�S����*�i�&:�&:�B��F����)�Y�%9�%9�4��G����)�Y�%9�%9�6�4�H����9�n�5�z�7L�7L�f�VZ�[�KD�D�D��9�9�9��9�9�9��?�?�?��D�D�D��
I�I�I��N�N�N��
5�5�5��5�5�5�s��S:�T�9T"�2T6�+U
�U�U2�4V�-V�:T	�T	�T	�T	�"T3	�+T3	�6U	�?U	�
U	�U	�U/	�'U/	�2V	�;V	�V	�V	�V+	�#V+	c�`�U1QkoROUQ2Q2ROUQ2Q2U1QkoROUQ2Q2ROUQ2Q2U1QkoROUQ2Q2ROUQ2Q2U1QkoROUQ2Q2ROUQ2Q2P!)c�:�QQRO2oU[OU22O2!)c�(`�\sQsQsnQsQsUsP!)�NAbstractUnpickleTests.test_custom_find_class.<locals>.loads.<locals>.Unpickleri�c�
�V1!r#r$)r4�module_name�global_names&&&rrS�YAbstractUnpickleTests.test_custom_find_class.<locals>.loads.<locals>.Unpickler.find_class�s��'�5�5rr$)rFrGrHrIrSrJrKrLs@r�	Unpicklerr`�s����6�6rre�r�r>rQr��r�rer4s& �rr��;AbstractUnpickleTests.test_custom_find_class.<locals>.loads�s2���
6�D�N�N�
6��R�Z�Z��-�.�3�3�5�5rr8rJc�:�QQRO2oU[OU22O2!)c�2`�\sQsQsn\Q2sQsUsP!)r`i�c�
�V1!r#r$�rbrcs&&rrSrd����'�5�5rr$)rFrGrHrI�staticmethodrSrJrKrLs@rrer`�s�����6��6rrerfrgs& �rr�rh��2���
6�D�N�N�
6��R�Z�Z��-�.�3�3�5�5rc�:�QQRO2oU[OU22O2!)c�2`�\sQsQsn\Q2sQsUsP!)r`i�c�
�V1!r#r$)r�rbrcs&&&rrSrd�rmrr$)rFrGrHrIr�rSrJrKrLs@rrer`�s�����6��6rrerfrgs& �rr�rh�rorc�:�QQRO2oQoU[OU22oV#mUO	2!)c��\sQsQsQsP!)r`i�r$�rFrGrHrIrJr$rrrer`����rrec�
�V1!r#r$rls&&rrS�OAbstractUnpickleTests.test_custom_find_class.<locals>.loads.<locals>.find_class�s��#�1�1r)r�r>rQrSr�)r�rerSr�r4s&   �rr�rh�s>���
�D�N�N�
�
2�!�"�*�*�T�"2�3�I�#-� ��>�>�#�#r)r<r=)r�)r4r�sf r�test_custom_find_class�,AbstractUnpickleTests.test_custom_find_classs����	6�	
����/�0�/�B�����>�?��Q�	6�	
����/�0�/�B�����>�?��Q�	6�	
����/�0�/�B�����>�?��Q�	$�	
����/�0�/�B�����>�?��Qrc�P�UO[Q2UO[Q2UO[Q2UO[Q2UO[Q2UO[Q2UO[OQ2UO[OQ2UO[OQ2UO[OQ	2UO[OQ
2P!)��.s��.s�.s���.s�.s����.s�.s�.s�.s��.s�����.)r�rrrcr9s&r�test_bad_ext_code�'AbstractUnpickleTests.test_bad_ext_code�s����#�#�J��=��#�#�J��=��#�#�J�0@�A��#�#�J�0@�A��#�#�J�0H�I��#�#�J�0H�I��#�#�F�$:�$:�L�I��#�#�F�$:�$:�<L�M��#�#�F�$:�$:�<T�U��#�#�F�$:�$:�<T�U��#�#�F�$:�$:�<T�Urc�J``�]nUU1QkoUP[2UQ[2U[O1[[12U[OQQ1[[12U[OP1[[12UQ[[12P!)r*c	�,:�[O[ORU29^tt^2RO	U29^tt^2ROQ2PPP2PPP2P!)%fhK9h)%fhP!9h)r|)rrBr^r_r�r�)rr�rr4s&&��r�check�CAbstractUnpickleTests.test_bad_ext_inverted_registry.<locals>.check�s]����"�"�7�#=�#=�t�S�I�I��&�&�s�+�+��J�J�|�,�,�J�I�+�+��J�I�I�s/�B�A/	�B�/A?
�8A?
�:B�B	�B	�MyListr&r$)Nr�)rr�rGrW)r4r�rsf @r�test_bad_ext_inverted_registry�4AbstractUnpickleTests.test_bad_ext_inverted_registry�s������	-�	�d�J��
�b�*��
�v� � �"�Y�
�$;�<�
�v� � �(�C�0�9�j�2I�J�
�v� � �$�'�)�Z�)@�A�
���J� 7�8rc��UOUOQ2]2UO[Q2UO[Q2P!)scbuiltins
int
)R.sN)R.scbuiltins
int
NR.)r�r�r�rWr9s&r�test_bad_reduce�%AbstractUnpickleTests.test_bad_reduce�s=��������$:�;�Q�?��#�#�I�w�7��#�#�I�/E�Frc��[O[1oUOUO	Q2]2UOUQ2UOUQ2P!)scbuiltins
int
)�.scbuiltins
len
)�.scbuiltins
int
N�.�rrcrWr�r�r��r4�errors& r�test_bad_newobj�%AbstractUnpickleTests.test_bad_newobj�sN���'�'��3��������$=�>��B��#�#�E�+D�E��#�#�E�+D�Erc���[O[1oUOUO	Q2]2UOUQ2UOUQ2UOUQ2P!)scbuiltins
int
)}�.scbuiltins
len
)}�.scbuiltins
int
N}�.scbuiltins
int
)N�.r�r�s& r�test_bad_newobj_ex�(AbstractUnpickleTests.test_bad_newobj_ex�s_���'�'��3��������$>�?��C��#�#�E�+E�F��#�#�E�+E�F��#�#�E�+E�Frc��[2oPUmQoUOUOUQ*2U2UOUOUQ*2U2UO	[
UQ*2[O[1oUO	V2Q*2UO	V2Q*2UO	V2Q*2UO	[
UQ*2UO	[
UQ	*2UO	V2Q
*2UO	V2Q*2QQ
2oU[m
UO	[UQ*2P!)Nsc__main__
C
)�s}XxNsb.s
N}XxNs�b.s}]Nsb.s](}}eb.s}�b.s}}}�b.s}}]Ns�b.s}}NNs�b.s�}�b.s}��b.c�,`�\sQsQsn]sQsQsUsP!)�5AbstractUnpickleTests.test_bad_state.<locals>.BadKey1i�c�j�UO%f[gU9O]*tm]*!r))�count�CustomErrorr9s&r�__hash__�>AbstractUnpickleTests.test_bad_state.<locals>.BadKey1.__hash__�s!���z�z�z�%�%��
�
�a��
�rr$)rFrGrHrIr�r�rJrKrLs@r�BadKey1r��s�����E�
�
rr�s}c__main__
BadKey1
)�Nsb.)r�r&r�r�r�rWrrcrK�__main__r�r�)r4r��baser�r�s&    r�test_bad_state�$AbstractUnpickleTests.test_bad_state�s+��
�C�����%��������D�+E�$E�F��J�������D�+J�$J�K�Q�O��#�#�I�t�i�/?�@��'�'��8���#�#�E�*�+<�=��#�#�E�*�+<�=��#�#�E�,�+>�?��#�#�I�t�n�/D�E��#�#�I�t�n�/D�E��#�#�E�.�+@�A��#�#�E�.�+@�A�	�	�#����#�#�K��8Y�1Y�Zrc�Z�UOUOQ2P,2UO[Q2UOUOQ2P,2UO[Q2UO[Q2UOUOQ2PP-2UO[Q2UO[Q2UOUOQ2PP-2UO[Q	2UOUOQ
2P2UO[Q2UOUOQ2P.2UO[Q
2UO[Q2UO[Q2P!)s]Na.sNNa.s](Ne.sN(Ne.sN(e.s}NNs.sNNNs.s}]Ns.s}(NNu.sN(NNu.sN(u.s}(]Nu.s�(N�.sN(N�.sN(�.s�(]�.)r�r�r�rKrWr9s&r�test_bad_types�$AbstractUnpickleTests.test_bad_types�sF��������G�,�t�f�5��#�#�N�G�<�������H�-��v�6��#�#�N�H�=��#�#�N�G�<�������H�-��d�|�<��#�#�I�x�8��#�#�I�x�8�������I�.��t��=��#�#�I�y�9�������G�,�d�3��#�#�I�y�9�������N�3�d�V�<��#�#�N�K�@��#�#�N�J�?��#�#�I�~�>rc��,QMQMQMQMQMQMQMQMQMQ	MQ
MQMQMQ
MQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQ MQ!MQ"MQ#MQ$MQ%MQ&MQ'MQ(MQ)MQ*MQ+MoSFDoUOUOU2J!	P!),�.�0�1�2s(2�Rs)R�asNa�bsNb�d�es(esibuiltins
list
�l�os(osp1
sqsr�ssNssNNs�t�us(us}(Nu��s)�����sN���sN�sNN���s(�����s)}���sVlist
����r��bad_stack_errorsrs&  r�test_bad_stack�$AbstractUnpickleTests.test_bad_stacks���-
��-
��-
�
�-
�
�	-
�

�-
�
�
-
�
�-
�
�-
�
�-
�
�-
�
�-
�
�-
�
�-
�
�-
�
!�-
� 
�!-
�"
�#-
�$
�%-
�&
�'-
�(
�)-
�*
!�+-
�,
�--
�.
�/-
�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�rc�\�,QNoSFDoUOUOU2J!	P!)�N(.)r�sN(2scbuiltins
list
)(Rscbuiltins
list
()Rs]N(ascbuiltins
ValueError
)R}(bscbuiltins
ValueError
)R(}bs(NdsN(p1
sN(qsN(rs}NN(ss}N(Nss}(NNss}((uscbuiltins
list
)(�scbuiltins
list
()�sN(�sNN(�sN(N�sNNN(�sNN(N�sN(NN�s]((�scbuiltins
list
)}(�scbuiltins
list
)(}�scbuiltins
list
()}�sVbuiltins
(Vlist
�sVbuiltins
Vlist
(�sN(�r�rs&  r�
test_bad_mark�#AbstractUnpickleTests.test_bad_markDs,��"
�
�F�A��'�'��(=�(=�q�A�rc��UO[Q2UO[Q2,QMQMQMQMQMQMQMQ	MQ
MQMQMQ
MQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQ MQ!MQ"MQ#MQ$MQ%MQ&MQ'MQ(MQ)MQ*MQ+MQ,MQ-MQ.MQ/MQ0MQ1MQ2MQ3MQ4MQ5MQ6MQ7MQ8MQ9MQ:MQ;MQ<MQ=MQ>MQ?MQ@MQAMQBMQCMQDMQEMQFMQGMQHMQIMQJMQKMQLMQMMQNMQOMQPMQQMQRMQSMQTMQUMQVMoSFDoUOUOU2J!	P!)Wr�Nr�sBsBsBab�CsCsCab�FsF0.0sF0.00�GsGrsI0�JsJ�K�LsL0sL10sL0LsL10L�MsM�SsS'abc'r�sTsTsTab�UsUsUab�VsVabcrsXsXsXabs(cs
(cbuiltinss(cbuiltins
s(cbuiltins
listsNgsNg0s(is
(ibuiltinss(ibuiltins
s(ibuiltins
listsNhsNjsNjsNpsNp0sNqsNrsNr������s���s���r�s���s�s�abr�s�s	�s�abr�s�s	�s�abrs�s	�s�abr�s�s	�s
�N)r��EOFErrorr"rs&  r�test_truncated_data�)AbstractUnpickleTests.test_truncated_dataks`���#�#�H�c�2��#�#�H�d�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
�@
#�AX
�B
�CX
�D
�EX
�F
�GX
�H
�IX
�J
�KX
�L
�MX
�N
�OX
�P
!�QX
�R
#�SX
�T
�UX
�V
�WX
�X
�YX
�Z
 �[X
�\
�]X
�^
�_X
�`
�aX
�b
�cX
�d
�eX
�f
 �gX
�h
�iX
�j
�kX
�l
�mX
�n
�oX
�p
�qX
�r
�sX
�t
�uX
�v
�wX
�x
�yX
�z
�{X
�|
�}X
�~
�X
�@
�AX
�B
 �CX
�D
�EX
�F
�GX
�H
 �IX
�J
�KX
�L
�MX
�N
�OX
�P
�QX
�R
0�SX
�T
4�UX
�V
6�WX
�X
�YX
�Z
0�[X
�\
4�]X
�^
6�_X
�`
�aX
�b
0�cX
�d
4�eX
�f
6�gX
�h
�iX
�j
0�kX
�l
4�mX
�n
5�oX
�
�r�A��'�'��(=�(=�q�A�rc	�x`
``�[Q2o[Q2o[O[2UO	[
O[2[OO][2UO	[OO[2[[OO[Q2Q29^tt^2oUOUOQ22PPP2[[OO[Q2Q29^tt^2oUOUOQ22PPP2UO	[Q2UO	[Q2]PHBoQn,n["O$]2n
U
UU1Q	ko["O&UQ
5o["O&UQ
5oUO)2UO)2R
O+2UO,O+2UO2UO2]QH^GoSO3RT	t,tFDo	[5U	2MJ	to	U,]*2P!)%fhCK�9h)%fhCKK9htto	h)zI
        import threading
        barrier = threading.Barrier(2)
        zs
        import locker
        locker.barrier.wait()
        class ToBeUnpickled(object):
            pass
        z	locker.pyr��utf-8zlocking_import.py�locker�locking_imports'�clocking_import
ToBeUnpickled
q)�q.c�t:�RO2RO[OR22P!r#)�waitr�rr�)�barrier�pickle_bytes�resultss���r�t�:AbstractUnpickleTests.test_unpickle_module_race.<locals>.t�s#���
�L�L�N��N�N�6�<�<��5�6r)�target)�
ToBeUnpickled)rr>�mkdirr�
addCleanup�shutil�rmtreer�r?�insert�remover�r@rVrrr��	threading�Barrier�Threadr+r�r�r�r�r�rl)
r4�
locker_module�locking_import_moduler�r�r��t1�t2r�r&r�r�r�s
&         @@@r�test_unpickle_module_race�/AbstractUnpickleTests.test_unpickle_module_race�s����� �
�
�!'�(�!
��	���������
�
�v�.�������6�"����������0�
�"�'�'�,�,�v�{�3�T�
:�
:�a�
�G�G�M�(�(��1�2�;�
�"�'�'�,�,�v�':�;�T�
B�
B�a�
�G�G�)�0�0��9�:�C������)����� 0�1��
H�	����#�#�A�&��	7��
�
�Q�
'��
�
�
�Q�
'��
���
�
���
�����������
���	�
���	�0����%�&�g��T�!�W�g�&�
�O�a��	!�M;�
:�
:��
B�
B�
B��J
's*�!!J�!J#�'J7�J 	�J 	�#J4	�,J4	r$r#)VrFrGrHrIr�r�r�r�r�r�r�r�r�rrrr/r5r8rArFrLrOrRrVr\r_�requires_32brerirmrqrtrwr{r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr#r&r5rGrLr[ryr}r�cpython_onlyr�r�r�r�r�r�r�r�r�r
�reap_threads�requires_working_threadingr�rJrKrLs@rr�r��s0�����
�I�H�$�=�?�?�?�?�?�7?�r6�/�<	E�	=�C�4�)�
8�@�$�
B�B��,��,��,��,�;�?�B�;�@��,��,�
�,��,�
�,��,�
'�
2�2�2�2�8�
�8��8�
=�0=�*)�2O�2�2�M�C�W�W�W�=�C�$6�2�7�H�&/�F�6T�]�(5\�n(R�T
V�
���9��9�G�
F�G�![�F?�.0B�d%B�N]B�~�"�"��0�0�2�9!�3�#�9!rr�c�j`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Q s"Q!s#Q"s$Q#s%Q$s&Q%s'Q&s(\)OT\+Q'22s,Q(s-Q)s.Q*s/Q+s0\)ObQ,2s2Q-s3Us4P!).�AbstractPicklingErrorTestsic�J�[[Q,2o[FD�oUOUQ59^tt^2UO	[
O29^tt^2oUOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	[[12o[FD�oUOUQ59^tt^2UO	[
O29^tt^2oUOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	[[QPPPPP12o[FD�oUOUQ59^tt^2UO	[
O29^tt^2oUOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	P!)%fhCKC9h)%fhCJ�9h)%fhCK�9h)%fhCJ9h)%fhK�9h)%fhCJB9h)��protoz2__reduce__ must return a string or tuple, not list�when serializing �.REX objectz>tuple returned by __reduce__ must contain 2 through 6 elementsr$�
�REXr��	protocolsr�r�r�
PicklingError�dumpsr�rrU�	__notes__rG�r4r�r�rZs&   r�test_bad_reduce_result�1AbstractPicklingErrorTests.test_bad_reduce_resultsW���5�"�+����Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�H�J�� � ����!7�!7�'����'7�{�C�:E�F�+�*���5�(�m���Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�T�V�� � ����!7�!7�'����'7�{�C�:E�F�+�*���5�"�d�D�$��d�;�<���Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�T�V�� � ����!7�!7�'����'7�{�C�:E�F�+�*��%=�<�<��+�*�*��=�<�<��+�*�*��=�<��+�*�*�s��(J?	�J+
�1A&J?	�(K(	�?K
�A&K(	�=(L	�%K=
�7A&L	�+J<�4J<�6	J?	�?K
�K
�K%�K%�	K(	�(K:
�1K:
�=L
�L
�L	�L"
�L"
c��[Q2o[FD�oUOUQ59^tt^2UO[O
29^tt^2oUO
V2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	P!)%fhK|9h)%fhJ�9h)�*r�zHfirst item of the tuple returned by __reduce__ must be callable, not intr�r�)rr$)r�rr�r�rrrr�rrUrrGrs&   r�test_bad_reconstructor�1AbstractPicklingErrorTests.test_bad_reconstructor*s����(�m���Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�0�1�� � ����!7�!7�'����'7�{�C�:E�F�
+�*��<�<��+�*�*�s0�(C2	�C
�+A&C2	�C/�(C/�*C2	�2D
�;D
c���[[2Q12o[FD�oUOUQ59^tt^2UO	[
29^tt^2oUO
V2PPP2UOWOOQ[OQ0Q[OQ0,2PPP2J�	P!)%fhKj9h)%fhJ�9h)r�r��.REX reconstructorr�r$)r��UnpickleableCallablerr�r�r�rr�rUrrGrs&   r�test_unpickleable_reconstructor�:AbstractPicklingErrorTests.test_unpickleable_reconstructor6s����'�)�2�.�/���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�'����'7�7I�J�'����'7�{�C�:E�F�+�*��3�3��+�*�*�s0�C 	�C

�+AC 	�
C�C�C 	� C1
�)C1
c��[[,12o[FD�oUOUQ59^tt^2UO	[
O29^tt^2oUOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	P!)%fhK|9h)%fhJ�9h)r��Isecond item of the tuple returned by __reduce__ must be a tuple, not listr�r�r�rs&   r�test_bad_reconstructor_args�6AbstractPicklingErrorTests.test_bad_reconstructor_args@s����5�"�+����Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�0�1�� � ����!7�!7�'����'7�{�C�:E�F�
+�*��<�<��+�*�*�s0�(C8	�C%
�1A&C8	�%C5�.C5�0C8	�8D	
�D	
c���[[]][112o[FD�oUO	UQ59^tt^2UO[29^tt^2oUOV2PPP2UOWOOQQ[OQ0Q[OQ0,2PPP2J�	P!)%fhKk9h)%fhJ�9h)r*r��when serializing tuple item 2r��.REX reconstructor argumentsr��r�r��UNPICKLEABLErr�r�r�rr�rUrrGrs&   r�$test_unpickleable_reconstructor_args�?AbstractPicklingErrorTests.test_unpickleable_reconstructor_argsLs����5�1�a��.�/�0���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�3�'����'7�7S�T�'����'7�{�C�:E�F�+�*��3�3��+�*�*�s0�C$	�C
�.AC$	�C!�C!�C$	�$C5
�-C5
c��[[OQ12o[Q*FD�oUO	UQ59^tt^2UO[[O129^tt^2oUOV2PPP2UO[WO2QQ.2UOUOOQ[OQ0,2PPP2J�	[[O[,12o[Q*FD�oUO	UQ59^tt^2UO[O29^tt^2oUOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	P!)%fhCKv9h)%fhCJ�9h)%fhK�9h)%fhCJ9h)�r*NNr�ztuple index out of rangez.__newobj__ expected at least 1 argument, got 0r�r�rr$)r�r^�
__newobj__rr�r��
IndexErrorrrr�assertInrrUr�rrGrs&   r�test_bad_newobj_args�/AbstractPicklingErrorTests.test_bad_newobj_argsWs����7�%�%�r�*�+���r�]�]�E����E��*�*��&�&�
�F�4H�4H�'I�J�J�b��J�J�s�*�K��
�
�c�"�,�,�/�.�D�2F�G�� � ����!7�!7�'����'7�{�C�:E�F�
+�*�#��7�%�%��u�-�.���r�]�]�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�0�1�� � ����!7�!7�'����'7�{�C�:E�F�
+�*�#�K�J�J��+�*�*��=�<��+�*�*�sb�.H		�6G5
�A(H		�(H1	�/H
�A&H1	�5H�>H�	H		�	H
�H
�H.�'H.�)H1	�1I
�:I
c�v�[[O[2112o[Q*FD�oUOUQ59^tt^2UO
[O29^tt^2oUOV2PPP2UO[WO2QQ[OQ0.2UOUOOQ[OQ0,2PPP2J�	P!)%fhK�9h)%fhCJ9h)rr�z-first argument to __newobj__() has no __new__z4first argument to __newobj__() must be a class, not �.NoNewr�r�)r�r^r�NoNewrr�r�rrrrrrUrGr�rrs&   r�test_bad_newobj_class�0AbstractPicklingErrorTests.test_bad_newobj_classns����7�%�%���z�2�3���r�]�]�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=��
�
�c�"�,�,�/�C�J�5�K[�K[�J\�\b�c�2e�f�� � ����!7�!7�'����'7�{�C�:E�F�
+�*�#�<�<��+�*�*�s1�(D&	�9D
�A:D&	�D#�D#�D&	�&D8
�/D8
c�d�[[O[112o[Q*FD�oUOUQ59^tt^2UO
[O29^tt^2oUOV2PPP2UO[WO2Q[8Q[802UOUOOQ[OQ0,2PPP2J�	P!)%fhK�9h)%fhJ�9h)rr�z'first argument to __newobj__() must be �, not r�r�)r�r^rrrr�r�rrrr�rUrrGrs&   r�test_wrong_newobj_class�2AbstractPicklingErrorTests.test_wrong_newobj_classzs����7�%�%��v�.�/���r�]�]�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�=�c�W�F�3�'�R�T�� � ����!7�!7�'����'7�{�C�:E�F�+�*�#�<�<��+�*�*�s1�
(D	�5D
�A6D	�D�D�D	�D/
�'D/
c��QQ[2oU[OU112o[FCD.oUO	UQ59^tt^2UO[O29^tt^2oUOV#2PPP2PPP2U]6�caUOWOOQUOQUOQ0QUOQUOQ0,2J�UOWOOQQUOQUOQ0QUOQUOQ0,2CJ1	P!)%fhK�9h)%fhK�9h)	c��\sQsQsQsP!)�KAbstractPicklingErrorTests.test_unpickleable_newobj_class.<locals>.LocalREXi�r$rur$rr�LocalREXr-����Trr.r�r��.� class� object�when serializing tuple item 0� reconstructor arguments)r�r^rrr�r�rrrr�rUrrGrH�r4r.r�r�rZs&    r�test_unpickleable_newobj_class�9AbstractPicklingErrorTests.test_unpickleable_newobj_class�sQ��!�s�!���*�*�X�K�8�9���Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�+���z�� � ����!7�!7�'��(;�(;�'<�A�h�>S�>S�=T�TZ�[�'��(;�(;�'<�A�h�>S�>S�=T�T[�\�:^�_�� � ����!7�!7�3�'��(;�(;�'<�A�h�>S�>S�=T�Tl�m�'��(;�(;�'<�A�h�>S�>S�=T�T[�\�:^�_��<�<��+�*�s0�(E9	�7E&
�	E9	�&E6�/E6�1E9	�9F	
�F	
c��[[O[]][112o[FCDoUOUQ59^tt^2UO
[29^tt^2oUOV2PPP2U]6�cOUOWOOQQ[OQ0Q[OQ0,2LMUOWOOQQ[OQ0Q[OQ0,2PPP2CJ	P!)%fhK�9h)%fhCJ,9h)r*r�rr��.REX __new__ argumentsr��when serializing tuple item 3r)
r�r^rrrr�r�r�rr�rUrrGrs&   r�test_unpickleable_newobj_args�8AbstractPicklingErrorTests.test_unpickleable_newobj_args�s���7�%�%��Q��<�'@�A�B���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4��A�:��$�$�R�\�\�%;�%;�7�+�C�N�N�+;�;Q�R�+�C�N�N�+;�;�G�>I�J�
�$�$�R�\�\�%;�%;�7�+�C�N�N�+;�;W�X�+�C�N�N�+;�;�G�>I�J�+�*��3�3��+�*�*�s7�E
	�,D7
�>E
	�
BE
	�7E�E�E
	�
E
�E
c�b
�[[OQ12o[Q*FD�oUO	UQ59^tt^2UO[[O129^tt^2oUOV2PPP2UO[WO2QQ.2UOUOOQ[OQ0,2PPP2J�	[[O]*12o[Q*FD�oUO	UQ59^tt^2UO[O29^tt^2oUOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	[[O[]*-112oUO [O"Ic�[Q*FD�oUO	UQ59^tt^2UO[$29^tt^2oUOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	L�[Q*FD�oUO	UQ59^tt^2UO[O29^tt^2oUOV2PPP2UO[WO2Q	2UOUOOQ[OQ0,2PPP2J�	[[O[Q,112oUO [O"Ic�[Q*FD�oUO	UQ59^tt^2UO[$29^tt^2oUOV2PPP2UO[WO2Q
2UOUOOQ[OQ0,2PPP2J�	P![Q*FD�oUO	UQ59^tt^2UO[O29^tt^2oUOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	P!)%fhCK<9h)%fhCJ�9h)%fhCKq9h)%fhCJ�9h)%fhCK�9h)%fhCJ�9h)%fhCK�9h)%fhCJR9h)%fhCK�9h)%fhCJd9h)%fhCKJ9h)%fhCJ�9h)
rr�z/not enough values to unpack (expected 3, got 0)z)__newobj_ex__ expected 3 arguments, got 0r�r�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 intz*Value after ** must be a mapping, not listz:third argument to __newobj_ex__() must be a dict, not listr$)r�r^�
__newobj_ex__rr�r�rrrrrrrUr�rrG�pickler�_PicklerrWrs&   r�test_bad_newobj_ex_args�2AbstractPicklingErrorTests.test_bad_newobj_ex_args�s����7�(�(�"�-�.���r�]�]�E����E��*�*��&�&�
�F�4H�4H�'I�J�J�b��J�J�s�*�K��
�
�c�"�,�,�/�E�?�2A�B�� � ����!7�!7�'����'7�{�C�:E�F�
+�*�#��7�(�(�"�-�.���r�]�]�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�/�0�� � ����!7�!7�'����'7�{�C�:E�F�
+�*�#��7�(�(�3��B�-�8�9���<�<�6�?�?�*�"�3�����\�\��\�.�.��*�*�9�5�5���
�
�3�.�6��$�$�S����%6�D�F��$�$�R�\�\�%;�%;�+�C�N�N�+;�;�G�>I�J�/�.�(�#�2�����\�\��\�.�.��*�*�6�+?�+?�@�@�B��
�
�3�.�A��$�$�S����%6�U�W��$�$�R�\�\�%;�%;�+�C�N�N�+;�;�G�>I�J�/�.�'��7�(�(�3��B�-�8�9���<�<�6�?�?�*�"�3�����\�\��\�.�.��*�*�9�5�5���
�
�3�.�6��$�$�S����%6�D�F��$�$�R�\�\�%;�%;�+�C�N�N�+;�;�G�>I�J�/�.�(�#�2�����\�\��\�.�.��*�*�6�+?�+?�@�@�B��
�
�3�.�A��$�$�S����%6�T�V��$�$�R�\�\�%;�%;�+�C�N�N�+;�;�G�>I�J�/�.�'�eK�J�J��+�*�*��=�<�<��+�*�*��6�5�5��/�.�.��A�@�@��/�.�.��6�5�5��/�.�.��A�@�@��/�.�.�s&�.W	�6V;
�A(W	�(W8	�*W$
�<A&W8	�X!	�7X

�	A&X!	�'(Y
	�X6
�!A&Y
	�>Y3	�Y
�.A&Y3	�
(Z	�5Z
�A&Z	�;W�W�	W	�W!
�W!
�$W5�-W5�/	W8	�8X

�X

�
X�X�	X!	�!X3
�*X3
�6Y�?Y�	Y
	�
Y
�Y
�Y0�(Y0�*	Y3	�3Z
�<Z
�Z�Z�	Z	�Z.
�%Z.
c�z�[[O[2Q-112o[Q*FD�oUOUQ59^tt^2UO
[O29^tt^2oUOV2PPP2UO[WO2QQ[OQ0.2UOUOOQ[OQ0,2PPP2J�	P!)%fhK�9h)%fhCJ9h)rr�z0first argument to __newobj_ex__() has no __new__z7first argument to __newobj_ex__() must be a class, not r#r�r�r$)r�r^r>r$rr�r�rrrrrrUrGr�rrs&   r�test_bad_newobj_ex__class�4AbstractPicklingErrorTests.test_bad_newobj_ex__class�s����7�(�(�5�7�B��*;�<�=���r�]�]�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=��
�
�c�"�,�,�/�F�M�e�N^�N^�M_�_e�f�2h�i�� � ����!7�!7�'����'7�{�C�:E�F�
+�*�#�<�<��+�*�*�s1�(D(	�;D
�
A:D(	�D%�D%� D(	�(D:
�1D:
c���UO[OIcUOQ2[	[
O[Q-112o[Q*FD�oUOUQ59^tt^2UO[O29^tt^2oUOV2PPP2UO[WO2Q[Q[02UOUOOQ[O Q0,2PPP2J�	P!)%fhK�9h)%fhJ�9h)z*only verified in the Python implementationrr�z*first argument to __newobj_ex__() must be r(r�r�r$)r?rr@�skipTestr�r^r>rrr�r�rrr�rUrrGrs&   r�test_wrong_newobj_ex_class�5AbstractPicklingErrorTests.test_wrong_newobj_ex_class�s����<�<�v���.��M�M�F�G��7�(�(�3��B�-�8�9���r�]�]�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�@���V�C�5�Q�S�� � ����!7�!7�'����'7�{�C�:E�F�+�*�#�<�<��+�*�*�s1�>(E
	�&D:
�8A4E
	�:E
�E
�E
	�
E
�E
c���QQ[2oU[OUQ
-112o[FCD�oUO	UQ59^tt^2UO[O29^tt^2oUOV#2PPP2U]6�c`UOWOOQUOQUOQ0QUOQUOQ0,2L�U]6�cdUOWOOQQQ	Q
QUOQUOQ0QUOQUOQ0,2L_UOWOOQQUOQUOQ0QUOQUOQ0,2PPP2CJ�	P!)%fhCKO9h)%fhCJ�9h)c��\sQsQsQsP!)�NAbstractPicklingErrorTests.test_unpickleable_newobj_ex_class.<locals>.LocalREX�r$rur$rrr.rLr/rr.r�r�r0r1r2r3�when serializing tuple item 1�(when serializing functools.partial state�)when serializing functools.partial objectz reconstructorr4r$)r�r^r>rr�r�rrrr�rUrrGrHr5s&    r�!test_unpickleable_newobj_ex_class�<AbstractPicklingErrorTests.test_unpickleable_newobj_ex_class�s���!�s�!���-�-��"�b�/A�B�C���Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=��A�:��$�$�R�\�\�%;�%;�+�H�,?�,?�+@��(�BW�BW�AX�X^�_�+�H�,?�,?�+@��(�BW�BW�AX�X_�`�>b�c��a�Z��$�$�R�\�\�%;�%;�7�7�B�C�+�H�,?�,?�+@��(�BW�BW�AX�Xf�g�+�H�,?�,?�+@��(�BW�BW�AX�X_�`�
>b�c��$�$�R�\�\�%;�%;�7�+�H�,?�,?�+@��(�BW�BW�AX�Xp�q�+�H�,?�,?�+@��(�BW�BW�AX�X_�`�>b�c�!+�*��<�<�<��+�*�*�s>�(G%	�9G
�G%	�A%G%	�CG%	�G"�G"�	G%	�%G7
�.G7
c�v�[[O[]][1-112o[FCDYoUOUQ59^tt^2UO
[29^tt^2oUOV2PPP2U]6�cOUOWOOQQ[OQ0Q[OQ0,2L�U]6�cRUOWOOQQQQ	Q[OQ
0Q[OQ0,2LNUOWOOQQQ[OQ0Q[OQ0,2PPP2CJ\	P!)%fhCK9h)%fhCJ�9h)r*r�rr�r9r�r:rNrOrPrr�
r�r^r>rrr�r�r�rr�rUrrGrs&   r� test_unpickleable_newobj_ex_args�;AbstractPicklingErrorTests.test_unpickleable_newobj_ex_argssw���7�(�(�3��A�|�0D�b�*I�J�K���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4��A�:��$�$�R�\�\�%;�%;�7�+�C�N�N�+;�;Q�R�+�C�N�N�+;�;�G�>I�J��a�Z��$�$�R�\�\�%;�%;�7�7�B�C�+�C�N�N�+;�;M�N�+�C�N�N�+;�;�G�
>I�J��$�$�R�\�\�%;�%;�7�7�+�C�N�N�+;�;W�X�+�C�N�N�+;�;�G�	>I�J�#+�*��3�3�3��+�*�*�s>�F&	�.F
�F&	�AF&	�$BF&	�F#�F#�	F&	�&F8
�/F8
c�t�[[O[QQ[-112o[FCDYoUOUQ59^tt^2UO
[29^tt^2oUOV2PPP2U]6�cOUOWOOQQ[OQ0Q[OQ0,2L�U]6�cRUOWOOQQQQQ[OQ	0Q[OQ0,2LNUOWOOQQQ[OQ
0Q[OQ0,2PPP2CJ\	P!)%fhCK9h)%fhCJ�9h)�ar��when serializing dict item 'a'r�r9r�rrOrPrrr$rTrs&   r�"test_unpickleable_newobj_ex_kwargs�=AbstractPicklingErrorTests.test_unpickleable_newobj_ex_kwargs2su���7�(�(�3��S�,�4G�*H�I�J���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4��A�:��$�$�R�\�\�%;�%;�8�+�C�N�N�+;�;Q�R�+�C�N�N�+;�;�G�>I�J��a�Z��$�$�R�\�\�%;�%;�8�7�B�C�+�C�N�N�+;�;M�N�+�C�N�N�+;�;�G�
>I�J��$�$�R�\�\�%;�%;�8�7�+�C�N�N�+;�;W�X�+�C�N�N�+;�;�G�	>I�J�#+�*��3�3�3��+�*�*�s>�F%	�-F
�?F%	�AF%	�#BF%	�F"�F"�	F%	�%F7
�.F7
c���[[2o[FD�oUOUQ59^tt^2UO	[
29^tt^2oUO
V2PPP2UOWOOQ[OQ0Q[OQ0,2PPP2J�	P!)%fhKj9h)%fhJ�9h)r�r�z.REX_state statez.REX_state object)�	REX_staterrr�r�r�rr�rUrrGrs&   r�test_unpickleable_state�2AbstractPicklingErrorTests.test_unpickleable_stateLs�����%���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�'�	�(<�(<�'=�=M�N�'�	�(<�(<�'=�=N�O�:Q�R�+�*��3�3��+�*�*�s0�C	�C
�%AC	�C�C�C	�C+
�#C+
c�~�UO[OIcUOQ2[	[
QQPP]*12o[FD�oUOUQ59^tt^2UO[O29^tt^2oUOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	P!)%fhK|9h)%fhJ�9h)z%only verified in the C implementation�stater�zHsixth item of the tuple returned by __reduce__ must be callable, not intr�r�r$)r?rr@rGr�r�rr�r�rrr�rrUrrGrs&   r�test_bad_state_setter�0AbstractPicklingErrorTests.test_bad_state_setterVs����<�<�6�?�?�*��M�M�A�B��5�"�g�t�T�2�6�7���Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�0�1�� � ����!7�!7�'����'7�{�C�:E�F�
+�*��<�<��+�*�*�s1�*(D+	�D
�$A&D+	�D(�!D(�#D+	�+D<
�4D<
c��[[QQPP[212o[FD�oUO	UQ59^tt^2UO[29^tt^2oUOV2PPP2UOWOOQ[OQ0Q[OQ0,2PPP2J�	P!)%fhKj9h)%fhJ�9h)rar�r�z.REX state setterr�r$)r�r�r
rr�r�r�rr�rUrrGrs&   r�test_unpickleable_state_setter�9AbstractPicklingErrorTests.test_unpickleable_state_setterds����5�"�g�t�T�3G�3I�J�K���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�'����'7�7H�I�'����'7�{�C�:E�F�+�*��3�3��+�*�*��1�C(	�!C
�3AC(	�C%�C%� C(	�(C9
�1C9
c��[[Q[PP[12o[FD�oUO	UQ59^tt^2UO[29^tt^2oUOV2PPP2UOWOOQ[OQ0Q[OQ0,2PPP2J�	P!)%fhKj9h)%fhJ�9h)Nr�r�z
.REX stater�r$rrs&   r�)test_unpickleable_state_with_state_setter�DAbstractPicklingErrorTests.test_unpickleable_state_with_state_setterns����5�"�l�D�$��>�?���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�'����'7�z�B�'����'7�{�C�:E�F�+�*��3�3��+�*�*�rgc��[[QP]*12o[FD�oUOUQ59^tt^2UO	[
[O129^tt^2oUOV2PPP2UO[WO2QQ.2UOUOOQ[OQ0,2PPP2J�	UO[O Ic�[[QP,12o[FD�oUOUQ59^tt^2UO	[O29^tt^2UOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	P!P!)%fhCK�9h)%fhCJ�9h)%fhK�9h)%fhCJ9h)Nr��'int' object is not iterablezLfourth item of the tuple returned by __reduce__ must be an iterator, not intr�r�r$)r�r�rr�r�rWrrrrrrUr�rrGr?r@rs&   r�test_bad_object_list_items�5AbstractPicklingErrorTests.test_bad_object_list_itemsxs����4��T�2�&�'���Y�E����E��*�*��&�&�	�6�3G�3G�'H�I�I�R��J�J�s�*�J��
�
�c�"�,�,�/�2�3�24�5�� � ����!7�!7�'����'7�{�C�:E�F�+�*���<�<�v���.��t�R��r�*�+�C�"����\�\��\�.�.��*�*�6�+?�+?�@�@��
�
�3�.�A��$�$�S����%6�7�8��$�$�R�\�\�%;�%;�+�C�N�N�+;�;�G�>I�J�
/�.�#�/�J�I�I��+�*�*��A�@��/�.�.�sa�.H	�'G2
�9A(H	�(H.	�*H
�<A&H.	�2H�;H�=	H	�H
�H
�H+�$H+�&H.	�.I
�7I
c���[]][,2o[FD�oUOUQ59^tt^2UO	[
29^tt^2oUO
V2PPP2UOWOOQ[OQ0Q[OQ0,2PPP2J�	P!)%fhKj9h)%fhJ�9h)r*r�r�z.REX_six item 2z.REX_six object)�REX_sixrrr�r�r�rr�rUrrGrs&   r�#test_unpickleable_object_list_items�>AbstractPicklingErrorTests.test_unpickleable_object_list_items�s����q�!�\�*�+���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�'��(:�(:�';�?�K�'��(:�(:�';�?�K�:M�N�+�*��3�3��+�*�*�s0�C	�C

�(AC	�
C�C�C	�C.
�&C.
c��[[QPP]*12o[FD�oUOUQ59^tt^2UO	[
[O129^tt^2oUOV2PPP2UO[WO2QQ.2UOUOOQ[OQ0,2PPP2J�	[FD�o[[QPP[Q	,212oUOUQ59^tt^2UO	[ [
129^tt^2oUOV2PPP2UO[WO2QQ.2UOUOOQ[OQ0,2PPP2J�	UO"[O$Ic�[[QPP,12o[FD�oUOUQ59^tt^2UO	[O29^tt^2UOV2PPP2UO[WO2Q2UOUOOQ[OQ0,2PPP2J�	P!P!)%fhCKo9h)%fhCJ�9h)%fhCK�9h)%fhCJ:9h)%fhK�9h)%fhCJD9h)
Nr�rlzKfifth item of the tuple returned by __reduce__ must be an iterator, not intr�r�z/not enough values to unpack (expected 2, got 1)z(dict items iterator must return 2-tuplesr$�rX)r�rwrr�r�rWrrrrrrUr�rrG�iterrr?r@rs&   r�test_bad_object_dict_items�5AbstractPicklingErrorTests.test_bad_object_dict_items�s����4��T�4��,�-���Y�E����E��*�*��&�&�	�6�3G�3G�'H�I�I�R��J�J�s�*�J��
�
�c�"�,�,�/�2�3�24�5�� � ����!7�!7�'����'7�{�C�:E�F�+�*���Y�E��t�R��t�T�6�(�^�<�=�C����E��*�*��&�&�
�I�'>�?�?�2��J�J�s�*�@��
�
�c�"�,�,�/�E�>�2@�A�� � ����!7�!7�'����'7�{�C�:E�F�
+�*���<�<�v���.��t�R��t�R�0�1�C�"����\�\��\�.�.��*�*�6�+?�+?�@�@��
�
�3�.�A��$�$�S����%6�B�D��$�$�R�\�\�%;�%;�+�C�N�N�+;�;�G�>I�J�/�.�#�/�)J�I�I��+�*�*��@�?�?��+�*�*��A�@��/�.�.�s��.K4	�(K 
�:A(K4	�0$L	�L	
�&A(L	�0(M	�L2
�*A&M	� K1�)K1�+	K4	�4L
�=L
�	L�L�	L	�L/
�&L/
�2M�;M�=M	�M
�M
c���[Q[-2o[FD�oUOUQ59^tt^2UO	[
29^tt^2oUO
V2PPP2UOWOOQ[OQ0Q[OQ0,2PPP2J�	P!)%fhKj9h)%fhJ�9h)rXr�r�z.REX_seven item 'a'z.REX_seven object)�	REX_sevenrrr�r�r�rr�rUrrGrs&   r�#test_unpickleable_object_dict_items�>AbstractPicklingErrorTests.test_unpickleable_object_dict_items�s�����l�+�,���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�'�	�(<�(<�'=�=P�Q�'�	�(<�(<�'=�=N�O�:Q�R�+�*��3�3��+�*�*�s0�C	�C	
�'AC	�	C�C�C	�C-
�%C-
c
�:�]]][,,o[FD�oUOUQ59^tt^2UO[29^tt^2oUOV2PPP2UO
WOOQQ,2PPP2J�	QFD�o,[U2N[Mo[FD�oUOUQ59^tt^2UO[29^tt^2oUOV2PPP2UO
WOOQU0,2PPP2J�	J�	P!)%fhK�9h)%fhCJ_9h)%fhKt9h)%fhJ�9h)r*r�zwhen serializing list item 2zwhen serializing list item 1zwhen serializing list item �rr*�����
rrr�r�r�rr�rUrr"�r4r�r�rZr s&    r�test_unpickleable_list_items�7AbstractPicklingErrorTests.test_unpickleable_list_items�s<���1�a��&�'���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�2�2�:4�5�+�*��$�A�+�E�!�H�+�l�+�C�"����\�\��\�.�.��*�*�;�7�7�2��
�
�3�.�8��$�$�R�\�\�%;�%;�5�a�S�9�>;�<�/�.�#�$�4�3��+�*�*��8�7��/�.�.�s_�E!	�E
�!0E!	�F	
�8E6�
2F	
�E�E�E!	�!E3
�*E3
�6F�?F�F	
�	F�Fc�"�]]][11o[FD�oUOUQ59^tt^2UO[29^tt^2oUOV2PPP2UO
WOOQQ,2PPP2J�	,[]
2N[M3o[FD�oUOUQ59^tt^2UO[29^tt^2oUOV2PPP2UO
WOOQ,2PPP2J�	P!)%fhK�9h)%fhCJS9h)%fhKm9h)%fhJ�9h)r*r�rrNzwhen serializing tuple item 10r�rs&   r�test_unpickleable_tuple_items�8AbstractPicklingErrorTests.test_unpickleable_tuple_items�s+���1�a��&�'���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�3�3�:5�6�+�*��)��b�	�(�<�(���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�4�:6�7�+�*��
4�3��+�*�*��4�3��+�*�*�s_�E	�E
�!0E	�E=	�3E*
�/E=	�E�E�
E	�E'
�E'
�*E:�3E:�5E=	�=F
�F
c
�\�QQ[--o[FD�oUOUQ59^tt^2UO[29^tt^2oUOV2PPP2UO
WOOQQ,2PPP2J�	QFD�o[O[U22o[UQ$[FD�oUOV$Q59^tt^2UO[29^tt^2oUOV2PPP2UO
WOOQ,2PPP2J�	J�	P!)%fhCK9h)%fhCJq9h)%fhKr9h)%fhJ�9h)rX�br�zwhen serializing dict item 'b'rY)r�r r})rrr�r�r�rr�rUrrw�fromkeysr"r�s&    r�test_unpickleable_dict_items�7AbstractPicklingErrorTests.test_unpickleable_dict_items�s>���S�,�'�(���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4�� � ����!7�!7�4�4�:6�7�+�*��$�A��-�-��a��)�C�#�C��H�"����\�\��\�3�3��*�*�;�7�7�2��
�
�3�.�8��$�$�R�\�\�%;�%;�8�>:�;�4�3�#�$�4�3�3��+�*�*��8�7��4�3�3�s_�E2	�E
� 0E2	�-F
�F�/F
�E/�'E/�)	E2	�2F
�;F
�F�F�F
�F+�#F+c���[.o[FD�oUOUQ59^tt^2UO[29^tt^2oUOV2PPP2U]6�c)UO
WOOQ,2L(UO
WOO,QN2PPP2J�	P!)%fhKu9h)%fhJ�9h)r�zwhen serializing set element)�when serializing list item 0r3z,when serializing set reconstructor arguments)	rrr�r�r�rr�rUrrs&   r�test_unpickleable_set_items�6AbstractPicklingErrorTests.test_unpickleable_set_items	s����n���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4��A�:��$�$�R�\�\�%;�%;�6�>8�9��$�$�R�\�\�%;�%;�>H�I�+�*��3�3��+�*�*�s6�C	�C

�C	�,AC	�
C�C�C	�C.
�&C.
c�
�[[[.2.2o[FD�oUOUQ59^tt^2UO	[
29^tt^2oUO
V2PPP2U]6�c*UOWOOQQ,2L(UOWOO,QN2PPP2J�	P!)%fhKv9h)%fhJ�9h)r�z"when serializing frozenset element)r�r3�2when serializing frozenset reconstructor argumentsr�r3r�)
�	frozensetrrr�r�r�rr�rUrrs&   r�!test_unpickleable_frozenset_items�<AbstractPicklingErrorTests.test_unpickleable_frozenset_items	s�����L�>�2�3�4���Y�E����E��*�*��&�&�{�3�3�r��J�J�s�*�4��A�:��$�$�R�\�\�%;�%;�<�<�>>�?��$�$�R�\�\�%;�%;�>N�O�+�*��3�3��+�*�*�s7�C1	�C
�0C1	�?AC1	�C.�'C.�)C1	�1D
�:D
c���[Q2oQUm[FD�oUOUQ59^tt^2UO	[
O29^tt^2oUOV2PPP2UO[WO2QU8Q02UO[UOO2Q2PPP2J�	QUm[FD�oUOUQ59^tt^2UO	[
O29^tt^2oUOV2PPP2UO[WO2QU8Q02UO[UOO2Q2PPP2J�	PUm[FD�oUOUQ59^tt^2UO	[
O29^tt^2oUOV2PPP2UO[WO2QU8Q	02UO[UOO2Q
2PPP2J�	PUm[FD�oUOUQ59^tt^2UO	[
O29^tt^2oUOV2PPP2UO[WO2QU8Q02UO[UOO2Q2PPP2J�	P!)%fhCK�9h)%fhCJb9h)%fhCKE9h)%fhCJ�9h)%fhCK�9h)%fhCJ9h)%fhK�9h)%fhCJf9h)
rRztest.picklecommonr��
Can't pickle z*: it's not found as test.picklecommon.spamz2module 'test.picklecommon' has no attribute 'spam'�nonexistingz: No module named 'nonexisting'zNo module named 'nonexisting'z: Empty module namezEmpty module namez!: it's not found as __main__.spamz)module '__main__' has no attribute 'spam')r�rGrr�r�rrrr�rrUrVrs&   r�test_global_lookup_error�3AbstractPicklingErrorTests.test_global_lookup_error&	s����&�k��,����Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�#�C�7�*T�U�W�� � ��R�\�\�%=�%=�!>�H�J�+�*��'����Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�#�C�7�*I�J�L�� � ��R�\�\�%=�%=�!>�3�5�+�*������Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�#�C�7�*=�>�@�� � ��R�\�\�%=�%=�!>�'�)�+�*������Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�#�C�7�*K�L�N�� � ��R�\�\�%=�%=�!>�?�A�+�*��9=�<�<��+�*�*��=�<�<��+�*�*��=�<�<��+�*�*��=�<��+�*�*�s��(M+	� M
�2A!M+	�
(N	�2N
�A!N	�(N=	�N)
�A!N=	�.(O%	�O
�(A!O%	�M(� M(�"	M+	�+M=
�4M=
�N�	N�	N	�N&
�N&
�)N:�2N:�4	N=	�=O
�O
�O"�O"�O%	�%O7
�.O7
c
���[Q*FCDoUOUQ59^tt^2U]6cQLQo[U2o[Um[
O[2V#29^tt^2UO[O29^tt^2oUOV12PPP2UO[WO2QU8QU02UOUOO ["2PPP2PPP2CJ	P!)%fhK}9h)%fhK29h)%fhCJN9h)�Nr,Nr��
nonasciiÿ�nonencodable�zcan't pickle global identifier � using pickle protocol )rr�r�rFrGrrB�globalsr�rrrr�rrU�assertIsInstancerVr))r4r�rxr�rZs&    r�#test_nonencodable_global_name_error�>AbstractPicklingErrorTests.test_nonencodable_global_name_errorQ	s����r�]�]�E����E��*�*�).���~�8L���$�i��!)����&�&�w�y�$�<�<��*�*�6�+?�+?�@�@�B��
�
�3�.�A��$�$�S����%6�9�$��AX�Y^�X_�`�b��)�)�"�,�,�*B�*B�DV�W�=�	+�*�#�A�@��=�<��	+�*�*�sT�E	�AE	�7(D9
�D&�1AD9
�E	�&D6�/D6�1D9
�9E	�E	�E	�E
�E
c
���[Q*FCD'oUOUQ59^tt^2U]6cQLQo[Q2oV#m[O
UQ5o[O[OV$29^tt^2UO[O29^tt^2oUOV12PPP2UO[WO 2QU8QU02UO#UO O$[&2PPP2PPP2CJ*	P!)%fhK}9h)%fhK29h)%fhCJf9h)r�r�r�r��test)r�zcan't pickle module identifier r�)rr�r�rGrDrErrBr�rCr�rrrr�rrUr�rVr))r4r�rxr��modrZs&     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�$��AX�Y^�X_�`�b��)�)�"�,�,�*B�*B�DV�W�?�+�*�#�A�@��?�>��+�*�*�sT�E$	�AE$	�(E
�7D>�	AE
�'E$	�>E�E�	E
�E!�E!�E$	�$E6
�-E6
c�2�QQ2r[Q2o[Um[FD�oUOUQ59^tt^2UO
[O29^tt^2oUOV2PPP2UO[WO2QU8Q[Q02UO[UOO2Q2PPP2J�	PUm[FD�oUOUQ59^tt^2UO
[O29^tt^2oUOV2PPP2UO[WO2QU8Q02UO[UOO2Q	2PPP2J�	P!)%fhCKQ9h)%fhCJ�9h)%fhK�9h)%fhCJ9h)
c�,�\sQsQsQQ2sQsP!)�
TestGlobalio	c��\sQsQsQsP!)�TestGlobal.Aip	r$rur$rr�Ar�p	rvrr�r$)rFrGrHrIr�rJr$rrr�r�o	s��
�
rr�zTestGlobal.A.B.Cr�r�z: it's not found as 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�rFrGrr�r�rrrr�rrUrVrs&   r�test_nested_lookup_error�3AbstractPicklingErrorTests.test_nested_lookup_errorl	s���	�	��$�%��!����Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�#�C�7�+)�)1�
�2C�E�F�� � ��R�\�\�%=�%=�!>�:�<�
+�*������Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�#�C�7�+B�C�D�� � ��R�\�\�%=�%=�!>�E�G�
+�*��=�<�<��+�*�*��=�<��+�*�*�sb�(G	�.G
�A(G	�(H	�G1
�A!H	�G�G�	G	�G.
�%G.
�1H�:H�<H	�H
�
H
c��QQ2r[Q2o[Um[FD�oUOUQ59^tt^2UO
[O29^tt^2oUOV2PPP2UO[WO2QU8Q[Q02UOUOO2PPP2J�	PUm[FD�oUOUQ59^tt^2UO
[O29^tt^2oUOV2PPP2UO[WO2QU8Q02UO[UOO2Q2PPP2J�	P!)%fhCKG9h)%fhCJ�9h)%fhK�9h)%fhCJ9h)c��\sQsQsQsP!)r�i�	r$rur$rrr�r��	���rr�r�r�z: it's not the same object as z.TestGlobalz': it's not found as __main__.TestGlobalr�)r�r�rFrGrr�r�rrrr�rrUrErVrs&   r�test_wrong_object_lookup_error�9AbstractPicklingErrorTests.test_wrong_object_lookup_error�	s���	�	��,���!����Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�#�C�7�+3�3;�*�K�I�J��!�!�"�,�,�":�":�;�
+�*������Y�E����E��*�*��&�&�v�';�';�<�<���J�J�s�*�=�� � ��R�\�\�!2�#�C�7�+<�=�>�� � ��R�\�\�%=�%=�!>�E�G�
+�*��=�<�<��+�*�*��=�<��+�*�*�sb�(G	�.F>
�AG	�(G:	�=G'
�A!G:	�>G�G�		G	�G$
�G$
�'G7�0G7�2G:	�:H
�H
c���Qo[FD�oUOUQ59^tt^2UO[O29^tt^2oUOV2PPP2UO
[WO2QU802PPP2J�	U;	[FD�oUOUQ59^tt^2UO[O29^tt^2oUOV2PPP2UO
[WO2QU802PPP2J�	UOUm[FD�oUOUQ59^tt^2UO[O29^tt^2oUOV2PPP2UO
[WO2QU802PPP2J�	P!)%fhCK�9h)%fhCJ9h)%fhCK9h)%fhCJ�9h)%fhK�9h)%fhCJ
9h)c��P!r#r$r$rrr��=AbstractPicklingErrorTests.test_local_lookup_error.<locals>.f�	���rr�zCan't pickle local object )rr�r�rrrr�rrUrGrHrF)r4r�r�rZs&   r�test_local_lookup_error�2AbstractPicklingErrorTests.test_local_lookup_error�	s���	��Y�E����E��*�*��&�&�v�';�';�<�<���J�J�q�(�=�� � ��R�\�\�!2�0���6�8�+�*��
�L��Y�E����E��*�*��&�&�v�';�';�<�<���J�J�q�(�=�� � ��R�\�\�!2�0���6�8�+�*���^�^��
��Y�E����E��*�*��&�&�v�';�';�<�<���J�J�q�(�=�� � ��R�\�\�!2�0���6�8�+�*��=�<�<��+�*�*��=�<�<��+�*�*��=�<��+�*�*�s��(G?	�G+
�#1G?	�(H(	�.H
�1H(	�2(I	�H=
�,1I	�+G<�4G<�6	G?	�?H
�H
�H%�H%�	H(	�(H:
�1H:
�=I
�I
�I	�I"
�I"
c��[2oUO[29^tt^2UOU2PPP2P!)%fhP!9hr#)�REX_Noner�rWr�r4r�s& r�test_reduce_ex_None�.AbstractPicklingErrorTests.test_reduce_ex_None�	s4���J��
�
�
�y�
)�
)��J�J�q�M�*�
)�
)�
)���A�A	�A	c��[2oUO[29^tt^2UOU2PPP2P!)%fhP!9hr#)�R_Noner�rWrr�s& r�test_reduce_None�+AbstractPicklingErrorTests.test_reduce_None�	s4���H��
�
�
�y�
)�
)��J�J�q�M�*�
)�
)�
)�r�c
�n�[2o[]2FDKo[O]29^tt^2UO	[
UOV2PPP2JM	[][O]*2FDoUO
V2oJ	P!)%fhJ�9h�r*)	�
BadGetattrr"r�infinite_recursionr��RuntimeErrorrr�HIGHEST_PROTOCOL)r4r&r��ss&   r�test_bad_getattr�+AbstractPicklingErrorTests.test_bad_getattr�	s���
�L���1�X�E��+�+�B�/�/��!�!�,��
�
�A�E�0�/���1�f�5�5��9�:�E��
�
�1�$�A�;�0�/�/�s�"B#	�#B4
�,B4
c��[OQ2o[]]2FD�oUOUQ59^tt^2UO	[O
29^tt^2oUO
V2PPP2UO[WO2Q2PPP2J�	P!)%fhKC9h)%fhJ�9h)�foobarr�z3PickleBuffer can only be pickled with protocol >= 5)
rr�r"r�r��PickleErrorrr�rrU)r4r�r�rZs&   r�test_picklebuffer_error�2AbstractPicklingErrorTests.test_picklebuffer_error�	s���
�
 �
 ��
+���1�a�[�E����E��*�*��&�&�v�'9�'9�:�:�b��J�J�r�)�;�� � ��R�\�\�!2�I�K�+�*�!�:�:��+�*�*�s0�(C
	�*B7
�<-C
	�7C�C�C
	�
C
�C
c��[Q*FD�oUOUQ59^tt^2[O[	Q2Q*2oUO[O[129^tt^2UOV!2PPP2PPP2J�	P!)%fhK9h)%fhJ�9h):r-NNr�r��NNr*)	rr�rr�r�r�r�BufferErrorr)r4r�r�s&  r�test_non_continuous_buffer�5AbstractPicklingErrorTests.test_non_continuous_buffer�	s����r�]�]�E����E��*�*��(�(��I�)>�s�)C�D���&�&��(<�(<�k�'J�K�K��J�J�r�)�L�+�*�#�L�K��+�*�*�s0�AB<	�B)
�B<	�)B9�2B9�4B<	�<C

�C

c���Qo[OQ2oUO[29^tt^2UO	U]UQ5PPP2P!)%fhP!9h)c��[gr#�r���bufferss&r�buffer_callback�NAbstractPicklingErrorTests.test_buffer_callback_error.<locals>.buffer_callback�	s���rr��r�)rr�r�r�r)r4r�r�s&  r�test_buffer_callback_error�5AbstractPicklingErrorTests.test_buffer_callback_error�	sI��	�
�
 �
 ��
+��
�
�
�{�
+�
+��J�J�r�1�o�J�>�,�
+�
+�
+�s�A�A(	� A(	c	�``�QQ2rUU1Qko[FD�nU[2,2U[2[2,2U[2.2U[2[2.2U[2]-2U[2][2]-2U][2][2-2J�	P!)c��\sQsQsQsP!)�Cleareri�	r$rur$rrr�r��	r�rr�c�:`�U1QkQRO2oU[O2R2oUOR2P![c)oQoROS[
S22Po=P!Po=hh9h)c�0:`�\sQsQsnU1QksQsUsP!)�dAbstractPicklingErrorTests.test_evil_pickler_mutating_collection.<locals>.check.<locals>.EvilPickleri�	c�V:�[U[2%cRO2P!r#)r�r��clear)r4r��
collections&&�r�
persistent_id�rAbstractPicklingErrorTests.test_evil_pickler_mutating_collection.<locals>.check.<locals>.EvilPickler.persistent_id�	s���!�#�w�/�/�"�(�(�*�rr$)rFrGrHrIr�rJrK)rMr�s@�r�EvilPicklerr��	s���� � rr��changed size during iteration)r?r>rQ�dumpr�rr)r�r�r?�err�r4sf    ��rr��OAbstractPicklingErrorTests.test_evil_pickler_mutating_collection.<locals>.check�	sb���
 �d�l�l�
 �
"�"�*�*�,��6�G�
0����Z�(���
0�:���
�
�h��A��/�/��
0�s�A�	A?�A?�A:�:A?)r�r)r4r�r�sf @r�%test_evil_pickler_mutating_collection�@AbstractPicklingErrorTests.test_evil_pickler_mutating_collection�	s����	�	�	0��Y�E��7�9�+���7�9�g�i�(�)��7�9�+���7�9�g�i�(�)��7�9�a�.�!��7�9�a���A�.�/��1�g�i��G�I�.�/�rc�``�[OQ1nUU1QkoU[2[2UP[2UP[[
O12U][2UQ[[[
O12U]Q*[[
O12U]Q*'[[
O12P!)r�c
�:�[O[ORU29^tt^2[O[OUR29^tt^2[
Q*FD;oRO
U29^tt^2RO[U2PPP2J=	PPP2PPP2P!)%fhJb9h)%fhK.9h)%fhP!9h)r)	rrBr^�_extension_registryr_rr�rr�)rr�r�rr4s&& ��rr��;AbstractPicklingErrorTests.test_bad_ext_code.<locals>.check
s�����#�#�G�$?�$?��d�K�K��#�#�G�$>�$>��c�J�J�&�r�]�]�E��*�*�3�/�/��
�
�6�5�1�0�/�+�K�L�K�0�/�/��K�J��L�K�K�sM�/C'� +C	�C�"C	�.C'�C�	C�	C	�C$
�C$
�C'�'C8	�0C8	r~r�)r�rGr*rWr�r>r�rd)r4r�rsf @rr}�,AbstractPicklingErrorTests.test_bad_ext_code
s����� � �(�+��	2�	�f�h�	�"�
�d�I��
�b�<����.�/�
�a���
�e�l�M�6�<�<�@�A�
�a��g�
�v�|�|�4�5�
�q�$�w�h�����5�6rr$)5rFrGrHrIrr	rrrr r%r)r6r;rArDrHrQrUrZr^rbrerirmrqrvrzr�r�r�r�r�r�r�r�r�r�r�r�r�r�skip_if_unlimited_stack_sizerr�r�r�r�r�r�r}rJrKrLs@rr�r�s1����F�>
F�F�
F�	F�F�.
F�	F�_�"J�"=J�~
F�F�c�2J�4J�4R�F�F�F�J�8N�$J�LR�<�$7�";�&
I�O�&)A�VX�X�G�:G�68�<�
�

�)�)��%��*�%�K�*�?�0�8
���7��7rr�c�$`�\sQsQsn\O
sP
s\Os	Qs
\OsQsQs
Qs\]1QksQsQsQ	s\]1Q
ksQsQsQ
s\]1QksQsQsQs\]1QksQsQsQs\]1Qks Qs!Qs"Qs#\]1Qks$Qs%Qs&Qs'Qs(Qs)Q s*Q�Q!ks+Q"s,Q#s-Q$s.Q%s/Q&s0Q's1Q(s2Q)s3Q*s4Q+s5Q,s6Q�Q-ks7Q.s8Q/s9Q�Q0ks:Q1s;Q2s<Q3s=Q4s>Q5s?Q6s@Q7sAQ8sBQ9sCQ:sDQ;sEQ<sFQ=sGQ>sHQ?sIQ@sJ\KQAQBQCP2QD2sLQEsMQFsNQGsOQHsPQIsQQJsRQKsSQLsTQMsUQNsVQOsWQPsXQQsYQRsZQSs[QTs\QUs]QVs^QWs_QXs`QYsaQZsbQ[scQ\sdQ]seQ^sfQ_sgQ`shQasiQbsjQcskQdslQesmQfsnQgsoQhspQisqQjsrQkssQlstQmsuQnsvQoswQpsxQqsyQrszQss{Qts|]s}Q�s~Qus\�CO\�COQv2Qw22s�Qxs�Qys�\�COQz2s�Q{s�Q|s�Q}s�Q~s�Qs�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�\�CO4\�PIQ�2Q�2s�Q�s�Q�s�Q�s�Q�s�Q�Q�ks�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�]P	\�]*1Q�ks�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Us�P!)��AbstractPickleTestsi"
c��P!r#r$r9s&r�setUp�AbstractPickleTests.setUp*
���rc	�p�[FCDmoUOQUQ59^tt^2UOQ6cU]6cUOQ2[	]2oUOV!2oUO
U2oUOV$2PPP2UOQUQ59^tt^2QoUOV!2oUO
U2oUOV$2PPP2UOQUQ59^tt^2UOQ6cUOQ2[]W2oUOV!2oUO
U2oUOV$2PPP2CJp	P!)%fhK�9h)%fhK�9h)%fhCJ�9h)�myintr��2int subclasses are not interoperable with Python 2�tuple�initarg�5"classic" classes are not interoperable with Python 2�r+r)r*r$)	rr��
py_versionrGrrr�r�r�r4r�r&r�r�s&    r�	test_misc�AbstractPickleTests.test_misc/
sE���Y�E����g�U��3�3��?�?�V�+���	��M�M�"V�W��!�H���J�J�q�(���J�J�q�M���#�#�A�)�
4����g�U��3�3����J�J�q�(���J�J�q�M���#�#�A�)�	4����i�u��5�5��?�?�V�+��M�M�"Y�Z��A�q�M���J�J�q�(���J�J�q�M���#�#�A�)�
6�5��3�3��4�3��6�5�5�sH�E=	�E=	�AE=	�36F	�F#	�AF#	�=F

�F

�F 
�F 
�#F5
�,F5
c���UOQ6cUOQ2UOo[FD6oUO	V2oUOU2oUO
V2J8	P!�r+rr)rrGr�rrr�r�)r4rr�r�rs&    r�test_roundtrip_equality�+AbstractPickleTests.test_roundtrip_equalityJ
sY���?�?�V�#��M�M�Q�R��>�>���Y�E��
�
�8�+�A��*�*�Q�-�C�����.�rc���]QHGo]QH
Go][1][
11FDRvq4UO
UOU2oU2oUVVQ5UO2oUOVG2JT	P!)r)�StringIO��dis)�out)
r>rrr�	DATA0_DIS�	DATA1_DISrr�rSr�)r4rrr�rr��filelikers&       r�dont_test_disassembly�)AbstractPickleTests.dont_test_disassemblyY
s`���#� !�9�~��9�~�=�O�E��
�
�4�>�>�5�1�A��z�H��� ��#�#�%�C����X�+� >rc�h�U2oUOU2[U[O]*2FDroUO	VE2oUOU2oUO
Vq2UU2oUO[U2]2UOU]*U2Jt	P!r))
r�r"rr�rr�r�r��lenr�)	r4r��aslist�minprotocol�lr�r�r&r�s	&&&&     r�_test_recursive_list�(AbstractPickleTests._test_recursive_listd
s����E��	������;��(?�(?�!�(C�D�E��
�
�1�$�A��
�
�1�
�A��!�!�!�)��q�	�A����S��V�Q�'��M�M�!�A�$��"�
Erc�2�UO[2P!r#)rr�r9s&r�test_recursive_list�'AbstractPickleTests.test_recursive_listp
����!�!�$�'rc�6�UO[]Q5P!�r*�r)rr�r9s&r�test_recursive_list_subclass�0AbstractPickleTests.test_recursive_list_subclasss
����!�!�&�a�!�8rc�8�UO[QQ5P!)c��UO!r#�r�r%s&rr��>AbstractPickleTests.test_recursive_list_like.<locals>.<lambda>w
s��A�G�Gr�r)rrpr9s&r�test_recursive_list_like�,AbstractPickleTests.test_recursive_list_likev
s���!�!�'�2C�!�Drc��U21oU]*OU2[U[O]*2FD�oUO	VE2oUOU2oUO
U[2UO[U2]2UO
U]*U2UU]*2oUO[U2]2UOU]*U2J�	Uvo[U[O]*2FD�oUO	VE2oUOU2oUO
Vq2UU2oUO[U2]2UO
U]*[2UO[U]*2]2UOU]*]*U2J�	P!r])r�r"rr�rr�r�rr�rr�)	r4r�rrr�r�r�r&r�s	&&&&     r�_test_recursive_tuple_and_list�2AbstractPickleTests._test_recursive_tuple_and_listy
sk��
�U�H��	�!����A���;��(?�(?�!�(C�D�E��
�
�1�$�A��
�
�1�
�A��!�!�!�U�+����S��V�Q�'��!�!�!�A�$��,��q��t��A����S��V�Q�'��M�M�!�A�$��"�E�����;��(?�(?�!�(C�D�E��
�
�1�$�A��
�
�1�
�A��!�!�!�)��q�	�A����S��V�Q�'��!�!�!�A�$��.����S��1��Y��*��M�M�!�A�$�q�'�1�%�Erc�2�UO[2P!r#)r3r�r9s&r�test_recursive_tuple_and_list�1AbstractPickleTests.test_recursive_tuple_and_list�
����+�+�D�1rc�6�UO[]Q5P!r&)r3r�r9s&r�&test_recursive_tuple_and_list_subclass�:AbstractPickleTests.test_recursive_tuple_and_list_subclass�
����+�+�F��+�Brc�8�UO[QQ5P!)c��UO!r#r-r%s&rr��HAbstractPickleTests.test_recursive_tuple_and_list_like.<locals>.<lambda>�
s��a�g�grr/)r3rpr9s&r�"test_recursive_tuple_and_list_like�6AbstractPickleTests.test_recursive_tuple_and_list_like�
s���+�+�G�<M�+�Nrc�l�U2oVD]$[U[O]*2FD�oUOVE2oUO	U2oUOVq2UU2oUO
[UO22],2UOU]*U2J�	P!r))
r"rr�rr�r�r�r�r$r��	r4r��asdictr�dr�r�r&r�s	&&&&     r�_test_recursive_dict�(AbstractPickleTests._test_recursive_dict�
s����E���!���;��(?�(?�!�(C�D�E��
�
�1�$�A��
�
�1�
�A��!�!�!�)��q�	�A����T�!�&�&�(�^�a�S�1��M�M�!�A�$��"�
Erc�2�UO[2P!r#)rFrwr9s&r�test_recursive_dict�'AbstractPickleTests.test_recursive_dict�
r$rc�6�UO[]Q5P!r&)rF�MyDictr9s&r�test_recursive_dict_subclass�0AbstractPickleTests.test_recursive_dict_subclass�
r*rc�8�UO[QQ5P!)c��UO!r#��tabler%s&rr��>AbstractPickleTests.test_recursive_dict_like.<locals>.<lambda>�
s��a�g�gr�rD)rFryr9s&r�test_recursive_dict_like�,AbstractPickleTests.test_recursive_dict_like�
s���!�!�)�4E�!�Frc��U21oVD]*]$[U[O]*2FD�oUOVE2oUO	U2oUOU[2UO[U2]2UOU]*U2UU]*2oUO[U2],2UOU]*U2J�	Uvo[U[O]*2FD�oUOVE2oUO	U2oUOVq2UU2oUO[U2],2UOU]*[2UO[U]*2]2UOU]*]*U2J�	P!r])r"rr�rr�r�rr�rr�r��	r4r�rDrr�r�r�r&r�s	&&&&     r�_test_recursive_tuple_and_dict�2AbstractPickleTests._test_recursive_tuple_and_dict�
sk��
�U�H���!��Q���;��(?�(?�!�(C�D�E��
�
�1�$�A��
�
�1�
�A��!�!�!�U�+����S��V�Q�'��!�!�!�A�$��,��q��t��A����T�!�W�q�c�*��M�M�!�A�$��"�E�����;��(?�(?�!�(C�D�E��
�
�1�$�A��
�
�1�
�A��!�!�!�)��q�	�A����T�!�W�q�c�*��!�!�!�A�$��.����S��1��Y��*��M�M�!�A�$�q�'�1�%�Erc�2�UO[2P!r#)rYrwr9s&r�test_recursive_tuple_and_dict�1AbstractPickleTests.test_recursive_tuple_and_dict�
r8rc�6�UO[]Q5P!r&)rYrLr9s&r�&test_recursive_tuple_and_dict_subclass�:AbstractPickleTests.test_recursive_tuple_and_dict_subclass�
r<rc�8�UO[QQ5P!)c��UO!r#rQr%s&rr��HAbstractPickleTests.test_recursive_tuple_and_dict_like.<locals>.<lambda>�
s����rrT)rYryr9s&r�"test_recursive_tuple_and_dict_like�6AbstractPickleTests.test_recursive_tuple_and_dict_like�
s���+�+�I�>O�+�Prc�(�U2o]U[U2$[U[O]*2FD�oUO	VE2oUOU2oUO
Vq2UU2oUO[UO22]2UO
[UO22]*[2UO[UO22]*OU2J�	P!r))
�Kr"rr�rr�r�r�rr$r�r�rrCs	&&&&     r�_test_recursive_dict_key�,AbstractPickleTests._test_recursive_dict_key�
s���
�E����!�A�$���;��(?�(?�!�(C�D�E��
�
�1�$�A��
�
�1�
�A��!�!�!�)��q�	�A����S�����]�A�.��!�!�$�q�v�v�x�.��"3�Q�7��M�M�$�q�v�v�x�.��+�1�1�1�5�Erc�2�UO[2P!r#)rhrwr9s&r�test_recursive_dict_key�+AbstractPickleTests.test_recursive_dict_key�
s���%�%�d�+rc�6�UO[]Q5P!r&)rhrLr9s&r� test_recursive_dict_subclass_key�4AbstractPickleTests.test_recursive_dict_subclass_key�
s���%�%�f�!�%�<rc�8�UO[QQ5P!)c��UO!r#rQr%s&rr��BAbstractPickleTests.test_recursive_dict_like_key.<locals>.<lambda>�
s��!�'�'rrT)rhryr9s&r�test_recursive_dict_like_key�0AbstractPickleTests.test_recursive_dict_like_key�
s���%�%�i�8I�%�Jrc��U21o]U]*[U2$[U[O]*2FCDoUO	VE2oUOU2oUO
U[2UO[U2]2UO
U]*U2UU]*2oUO[U2]2UO
[UO22]*[2UO[UO22]*OU2CJ	Uvo[U[O]*2FD�oUO	VE2oUOU2oUO
Vq2UU2oUO[U2]2UO
[UO22]*[2UO[UO22]*O]*U2J�	P!r))rgr"rr�rr�r�rr�rr�r$r�rrXs	&&&&     r�"_test_recursive_tuple_and_dict_key�6AbstractPickleTests._test_recursive_tuple_and_dict_key�
s����U�H����!��Q�q�T�
��;��(?�(?�!�(C�D�D�E��
�
�1�$�A��
�
�1�
�A��!�!�!�U�+����S��V�Q�'��!�!�!�A�$��,��q��t��A����S��V�Q�'��!�!�$�q�v�v�x�.��"3�Q�7��M�M�$�q�v�v�x�.��+�1�1�1�5�E�����;��(?�(?�!�(C�D�E��
�
�1�$�A��
�
�1�
�A��!�!�!�)��q�	�A����S��V�Q�'��!�!�$�q�v�v�x�.��"3�Q�7��M�M�$�q�v�v�x�.��+�1�1�!�4�a�8�Erc�2�UO[2P!r#)rvrwr9s&r�!test_recursive_tuple_and_dict_key�5AbstractPickleTests.test_recursive_tuple_and_dict_keys���/�/��5rc�6�UO[]Q5P!r&)rvrLr9s&r�*test_recursive_tuple_and_dict_subclass_key�>AbstractPickleTests.test_recursive_tuple_and_dict_subclass_key
s���/�/��A�/�Frc�8�UO[QQ5P!)c��UO!r#rQr%s&rr��LAbstractPickleTests.test_recursive_tuple_and_dict_like_key.<locals>.<lambda>s��A�G�GrrT)rvryr9s&r�&test_recursive_tuple_and_dict_like_key�:AbstractPickleTests.test_recursive_tuple_and_dict_like_key
s���/�/�	�BS�/�Trc���UOQ6cUOQ2[2oUO[	U22[][O]*2FD�oUOV2oUOU2oUOU[2UO[U2]2UO[U2]*[2UO[U2]*OU2J�	Uvo[][O]*2FD�oUOV2oUOU2oUOU[2UOUO[2UO[UO2]2UO[UO2]*U2J�	P!)r+�not supported in Python < 3.4�r+r,)rrGr �addrgr"rr�rr�r�r�rr�r�r�r4r�r�r�r&s&    r�test_recursive_set�&AbstractPickleTests.test_recursive_setsW���?�?�V�#��M�M�9�:��E��	���a��d���1�f�5�5��9�:�E��
�
�1�$�A��
�
�1�
�A��!�!�!�S�)����S��V�Q�'��!�!�$�q�'�!�*�a�0��M�M�$�q�'�!�*�*�*�A�.�
;�����1�f�5�5��9�:�E��
�
�1�$�A��
�
�1�
�A��!�!�!�Q�'��!�!�!�'�'�3�/����S����\�1�-��M�M�$�q�w�w�-��*�A�.�
;rc�x�UOQ6cUOQ2[2oVm[FD{oUOV2oUO
U2oUOU[2UO[U2[U22UOUOU2J}	P!r
)rrG�Object�attrrrr�r�r��dirr�)r4�ir�r�r&s&    r�test_recursive_inst�'AbstractPickleTests.test_recursive_inst(s����?�?�V�#��M�M�Q�R��H�����Y�E��
�
�1�$�A��
�
�1�
�A��!�!�!�V�,����S��V�S��V�,��M�M�!�&�&�!�$�rc�|�UOQ6cUOQ2,o]U-o[2oV#mUO	U2[
FD�oUO
V2oUOU2oUOU[2UO[U2]2UO[U]*2[U22UO[U]*OO22],2UOU]*O]*U2J�	P!r
)rrGr�r�r�rrr�r�r�r�rr�r$r�)r4rrEr�r�r�r&s&      r�test_recursive_multi�(AbstractPickleTests.test_recursive_multi5s����?�?�V�#��M�M�Q�R���
�q�E���H����	������Y�E��
�
�1�$�A��
�
�1�
�A��!�!�!�T�*����S��V�Q�'����S��1��Y��A��/����T�!�A�$�)�)�.�.�"2�3�a�S�9��M�M�!�A�$�)�)�A�,��*�rc�t�UOQ6cUOQ2[U[O]*2o[2oUU,2Um[UO2oUOQ29^tt^2SFD�oUOUQ59^tt^2UOVW2oUOU2o	UOU	OU2UO[U	O2]2UO[U	O2]*[
2UO[U	O2]*U	2PPP2J�	PPP2UOoUOUO QUO 029^tt^2UOQ	6cUeUOQ2SFD�oUOUQ59^tt^2UOQ	6cVr6cUOQUQ02UOVW2oUOU2o	UOV�2UO[U	2]2UO[U	2]*[
2UO[U	2]*OU	2PPP2J�	PPP2P!)%fhCJk9h)%fhCK�9h)%fhCJ;9h)%fhP!9h)
r+rzobj -> {t.__name__} -> objr�z -> obj -> r�zrequires protocol z in Python < 3.4rr�)rrGr"rr�r�r�rlr�rr�r�r�rr�r�rF)
r4�factory�oldminprotorr�or�r�r�r&s
&&&&      r�#_test_recursive_collection_and_inst�7AbstractPickleTests._test_recursive_collection_and_instFsI���?�?�V�#��M�M�Q�R��+�v�'>�'>��'B�C�	��H���!���������L��
�\�\�6�
7�
7�"���\�\��\�.�.��
�
�1�,�A��
�
�1�
�A��)�)�!�&�&�!�4��$�$�S����[�!�4��)�)�$�q�v�v�,�q�/�6�B��M�M�$�q�v�v�,�q�/�1�5�
/�.�#�8�
�F�F��
�\�\�Q�Z�Z�L��A�J�J�<�@�
A�
A�����'�K�,?��
�
�=�>�"���\�\��\�.�.�����/�E�4G��
�
�(:�;�-�GW�&X�Y��
�
�1�,�A��
�
�1�
�A��)�)�!�/��$�$�S��V�Q�/��)�)�$�q�'�!�*�f�=��M�M�$�q�'�!�*�/�/�1�5�/�.�#�B�
A�/�.�.��8�
7�
7��"/�.�.��	B�
A�
A�sz�!K=�,CK(
�,K=�>L&�L&�1L&�L
�L
�B5L
�L&�(K:�1K:�3
K=�=L	�L	�L#�L#�
L&�&L7	�/L7	c�6�UO[]Q5P!�r�r�)r�r�r9s&r�test_recursive_list_and_inst�0AbstractPickleTests.test_recursive_list_and_instks���0�0��1�0�Erc�6�UO[]Q5P!r�)r�rr9s&r�test_recursive_tuple_and_inst�1AbstractPickleTests.test_recursive_tuple_and_instns���0�0��A�0�Frc�J�UO[O]Q5P!r�)r�rwr�r9s&r�test_recursive_dict_and_inst�0AbstractPickleTests.test_recursive_dict_and_instqs���0�0����A�0�Nrc��UOQ6cUOQ2UO[O]Q5P!�r+�need frozendictr'�r+�)rrGr��
frozendictr�r9s&r�"test_recursive_frozendict_and_inst�6AbstractPickleTests.test_recursive_frozendict_and_instts5���?�?�W�$��M�M�+�,��0�0��1D�1D�RS�0�Trc�2�UO[2P!r#)r�r r9s&r�test_recursive_set_and_inst�/AbstractPickleTests.test_recursive_set_and_instys���0�0��5rc�2�UO[2P!r#)r�r�r9s&r�!test_recursive_frozenset_and_inst�5AbstractPickleTests.test_recursive_frozenset_and_inst|s���0�0��;rc�6�UO[]Q5P!�r*r�)r�r�r9s&r�%test_recursive_list_subclass_and_inst�9AbstractPickleTests.test_recursive_list_subclass_and_insts���0�0��Q�0�Grc�2�UO[2P!r#)r��MyTupler9s&r�&test_recursive_tuple_subclass_and_inst�:AbstractPickleTests.test_recursive_tuple_subclass_and_inst�s���0�0��9rc�J�UO[O]Q5P!r�)r�rLr�r9s&r�%test_recursive_dict_subclass_and_inst�9AbstractPickleTests.test_recursive_dict_subclass_and_inst�s���0�0����a�0�Prc�2�UO[2P!r#)r��MySetr9s&r�$test_recursive_set_subclass_and_inst�8AbstractPickleTests.test_recursive_set_subclass_and_inst�s���0�0��7rc�2�UO[2P!r#)r��MyFrozenSetr9s&r�*test_recursive_frozenset_subclass_and_inst�>AbstractPickleTests.test_recursive_frozenset_subclass_and_inst�s���0�0��=rc	���[U[O]*2o[2oUU]-2oVTmSFD�oUOUQ59^tt^2UO
VV2oUOU2o[UO22o	UO[U	2]2UOU	]*OU2PPP2J�	P!)%fhJ�9h�r*r�)
r"rr�r�r�r�rr�r�r$r�rr�)
r4r�rrrr�r�r�r&r$s
&&&       r�!_test_recursive_collection_in_key�5AbstractPickleTests._test_recursive_collection_in_key�s����+�v�'>�'>��'B�C�	��h���S�!�H������E����E��*�*��J�J�q�(���J�J�q�M���A�F�F�H�~��� � ��T��A�.��
�
�d�1�g�l�l�A�.�+�*��*�*�*�s�A:C%	�%C6
�.C6
c�z�UOQ6cUOQ2UO[]Q5P!r�)rrGr�r�r9s&r� test_recursive_frozendict_in_key�4AbstractPickleTests.test_recursive_frozendict_in_key�s.���?�?�W�$��M�M�+�,��.�.�z�q�.�Irc�v�UOQ6cUOQ2UO[2P!�r+r�r�)rrGr��MyFrozenDictr9s&r�)test_recursive_frozendict_subclass_in_key�=AbstractPickleTests.test_recursive_frozendict_subclass_in_key�s)���?�?�W�$��M�M�+�,��.�.�|�<rc
���[U[O]*2oU,Q5oUQ*OU2SFD�oUO	UQ59^tt^2UOVE2oUO
U2oUO[UQ*2]2UOUQ*]*U2PPP2J�	P!)%fhJ�9h)r*�rrr�)
r"rr�r�r�rr�r�rr�)r4r�rrr�r�r�r&s&&&     r�#_test_recursive_collection_in_value�7AbstractPickleTests._test_recursive_collection_in_value�s����+�v�'>�'>��'B�C�	���O��	�%�������E����E��*�*��J�J�q�(���J�J�q�M��� � ��Q�u�X���2��
�
�a��h�q�k�1�-�	+�*��*�*�*�s�$A%C	�C(
� C(
c�z�UOQ6cUOQ2UO[]Q5P!r�)rrGr�r�r9s&r�"test_recursive_frozendict_in_value�6AbstractPickleTests.test_recursive_frozendict_in_value�s.���?�?�W�$��M�M�+�,��0�0���0�Krc�v�UOQ6cUOQ2UO[2P!r�)rrGr�r�r9s&r�+test_recursive_frozendict_subclass_in_value�?AbstractPickleTests.test_recursive_frozendict_subclass_in_value�s)���?�?�W�$��M�M�+�,��0�0��>rc���[2oVm[FDWoUOV2oUO	U2oUOU[2UO
UOU2JY	P!r#)r]rarrr�r�r�r�s&    r�test_recursive_inst_state�-AbstractPickleTests.test_recursive_inst_state�sW���K�����Y�E��
�
�1�$�A��
�
�1�
�A��!�!�!�Y�/��M�M�!�'�'�1�%�	rc���[21oV]*m[FD�oUOV2oUO	U2oUOU[2UO[U2]2UOU]*[2UOU]*OU2J�	Uvo[FD�oUOV2oUO	U2oUOU[2UOUO[2UO[UO2]2UOUO]*U2J�	P!r])
r]rarrr�r�rr�rr�)r4r�r�r�r&s&    r�#test_recursive_tuple_and_inst_state�7AbstractPickleTests.test_recursive_tuple_and_inst_state�s��
�[�N���!��
��Y�E��
�
�1�$�A��
�
�1�
�A��!�!�!�U�+����S��V�Q�'��!�!�!�A�$�	�2��M�M�!�A�$�*�*�a�(�
�����Y�E��
�
�1�$�A��
�
�1�
�A��!�!�!�Y�/��!�!�!�'�'�5�1����S����\�1�-��M�M�!�'�'�!�*�a�(�
rc��,QNo[FD@oSFD6oUOV22oUOU2oUOV52J8	JB	P!)r)rz<\u>u<\ሴ>z<
>z<\>u<\𒍅>u<�>�rrr�r�)r4�endcasesr�r�r
�u2s&     r�test_unicode� AbstractPickleTests.test_unicode�sJ�� ���Y�E����J�J�q�(���Z�Z��]���#�#�A�*��rc��Qo[FD6oUOV2oUOU2oUOV2J8	P!)u𒍅r�)r4r�r�r
r�s&    r�test_unicode_high_plane�+AbstractPickleTests.test_unicode_high_plane�s<�����Y�E��
�
�1�$�A����A��B�����&�rc���UOQ6cUOQ2[FDDoQFD:oUOV"1U2oUO	U2vqEUOVE2J<	JF	P!)r+znot supported in Python < 3.0r)r�xyzzxyz
zx\yzux¡yz
)rrGrrr�r�)r4r�r�r
�s1�s2s&     r�test_unicode_memoization�,AbstractPickleTests.test_unicode_memoization�s^���?�?�V�#��M�M�9�:��Y�E�=���J�J��v�u�-�����A�����
�
�b�%�>�rc
�*�[FD�oQFD4oUOV!2oUOV OU22J6	[	Q2Tt,tFDo[U,2MJ	toFD4oUOV!2oUOV OU22J6	[	Q2Tt,tFDo[VD,2MJ	toFD4oUOV!2oUOV OU22J6	J�	P!ttohttoh)r��r�xyzs,xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz)rrr�r�r"r2)r4r�r�r
r�s&    r�
test_bytes�AbstractPickleTests.test_bytes�s����Y�E�,���J�J�q�(���#�#�A�z�z�!�}�5�-�+0��*�5�*�Q�e�Q�C�j�*�5���J�J�q�(���#�#�A�z�z�!�}�5�6�.3�3�Z�8�Z��e�Q�F�m�Z�8���J�J�q�(���#�#�A�z�z�!�}�5�9���6��9s�D�2Dc��[,oUOQ6�cU[,*
o[FCDoSFCDoQFCDoUU2oUOQ6�cVU1LUO	21]*oUOV#UP
Q59^tt^2UO
VU1U2oUOU2vq�UOV�2UOVhU	12PPP2UU2o
UOV#UP	Q59^tt^2UO
VZ1U2oUOV`OU22PPP2CJ
	CJ	CJ"	P!)%fhK�9h)%fhCJ=9h)r+�r��
array_typer��independentr�r�r)
r2r�
ZeroCopyBytesrrr�rr�r�r�)r4�array_typesr�r�r�r�rr
r&r��b2s&          r�test_bytes_memoization�*AbstractPickleTests.test_bytes_memoizations1���g���?�?�f�$��M�?�*�K��Y�E�)�
�0�A�"�1�
�A�)-���F�)B��v�����
�VW��H����E�A�[`��a�a� �J�J��v�u�5��#�z�z�!�}����
�
�a�+��+�+�H�!�f�=�	b�$�A��B����E�A�[_��`�`� �J�J��w��6���+�+�H�j�j��m�D�a�`�1�*��
b�a��a�`�`�s%�AE�4E(�E%�E%�(E:�1E:c
�v�[FCD+oQFCDo[U2oUOV12oUOU2oUO	VS2UOV52U]6:c>UO
QU2UO[[OU22J�U]6Xc>UO
QU2UO[[OU22J�U]6XfJ�UOQU2UO[[OU22CJ"	CJ.	P!)rs	bytearrayr�)rrzrr�r�r�r�
assertTruerr�GLOBAL�STACK_GLOBAL�assertNotIn�
BYTEARRAY8)r4r�r�r�r
�bbs&     r�test_bytearray�"AbstractPickleTests.test_bytearrays����Y�E�,���a�L���J�J�q�(���Z�Z��]��� � ��'��#�#�A�*��A�:��M�M�,��2��O�O�$4�V�]�]�A�$F�G��a�Z��M�M�,��2��O�O�$4�V�5H�5H�!�$L�M��a�Z��$�$�\�1�5��O�O�$4�V�5F�5F��$J�K�-�rc
�<�[,oUOQ6�cU[,*
o[FCD@oSFCD4oQFCD(oUO	V#UP
Q59^tt^2UU2oUOVU1U2oUO
U2vqxUOVx2PPP2UO	V#UP	Q59^tt^2UU2UU2q�UOV�2UOV�1U2oUO
U2vq�UOV�2UOV�2UOV�2UOV�2UOV�2PPP2CJ+	CJ7	CJC	P!)%fhK�9h)%fhCJ^9h)r+r�r�r�)
rzr�ZeroCopyBytearrayrr�rr�r�r�r��
r4r�r�r�r�r�r
�b1r��b1a�b2a�b1b�b2bs
&            r�test_bytearray_memoization�.AbstractPickleTests.test_bytearray_memoization,sS�� �k���?�?�f�$��-�.�.�K��Y�E�)�
�0�A����E�A�[`��a�a�&�q�M�� �J�J��v�u�5��!%���A�����
�
�b�-�	b����E�A�[_��`�`�#-�a�=�*�Q�-�S��(�(��2� �J�J��z�5�9��#'�:�:�a�=����(�(��2��(�(��2��+�+�C�5��(�(��2��+�+�C�5�a�`�1�*��b�a��a�`�`�s&�AE6�BF	�6F�?F�	F�Fc
��UOQ6cUOQ2[[,o[	][
O]*2FCDPoSFCDDoQFCD8oUOV#UP
Q59^tt^2[
OUU22oUOVU1U2oUOU2vqxUOVx2PPP2UOV#UP	Q59^tt^2UU2o[
OU2o	[
OU2o
UOV�1U2oUOU2vq�U[IcUOV�2UOV�2UOV�2PPP2CJ;	CJG	CJS	P!)%fhK�9h)%fhCJn9h)r+�not supported in Python < 3.8r��r+�r�)rrGr2rzr"rr�r�r�rr�r�r�r�rs
&            r�test_picklebuffer_memoization�1AbstractPickleTests.test_picklebuffer_memoizationIsi���?�?�V�#��M�M�9�:��i�(���1�f�5�5��9�:�:�E�)�
�0�A����E�A�[`��a�a�"�/�/�
�1�
�>�� �J�J��v�u�5��!%���A�����
�
�b�-�	b����E�A�[_��`�`�&�q�M��$�1�1�!�4��$�1�1�!�4�� �J�J��z�5�9��#'�:�:�a�=���%�U�2� �,�,�S�6��+�+�C�3��+�+�C�3�a�`�1�*�;�b�a��a�`�`�s,�AF)�8A$F<�3F<�)F9�2F9�<G�Gc���UOQ6cUOQ2[][O]*2FCDoQFCDoUOVQ59^tt^2Qo[
2o[OU%cSLS2oUOVSU1U2oUOU2vqSoU%c[L[oUOVW2UOU[2UOU[2UOUQ2UOUQ2UOUQ2PPP2CJ	CJ	P!)%fhCJ 9h)r+r)r�r�rr�FT)
rrGr"rr�r�rzr�rr�r2r�r�)r4r�r�r��ba�bufr
r�s&       r�#test_empty_picklebuffer_memoization�7AbstractPickleTests.test_empty_picklebuffer_memoizationas���?�?�V�#��M�M�9�:��1�f�5�5��9�:�:�E�'���\�\��\�A�A��A�"��B� �-�-�8�a��D�C��
�
�C�B�<��7�A�!%���A��J�C�B�*2��	�J��)�)�#�:��)�)�!�U�3��)�)�"�i�8��$�$�S�#�.��$�$�Q��,��$�$�R��-�B�A�(�;�A�A�A�s�+$E
�7E
�A?E
�E-�$E-c���[FDfo[OoU%fJU'U1FD6oUOV12oUO	U2oUOV52J8	U]*	oJU	P!r))rr�r�rr�r�)r4r�r rr��n2s&     r�	test_ints�AbstractPickleTests.test_intsvs`���Y�E����A��!�"#��Q��H��
�
�8�3�A����A��B��'�'��5�!(���F��rc���[FDooQFDeo]U*oU]*
V3]*1FDBoVD'1FD6oUOVQ2oUOU2oUOVW2J8	JD	Jg	Jq	[	Q]2oV3Q**
oV3'1FDVoUOU]2oUOU2oUO[
U2[2UOVW2JX	P!)r*�deadbeeffeedfacer�)r*ri�i�rMi)rrr�r��intr�rlr�)	r4r��nbits�nbase�nposr rrr
s	&        r�	test_long�AbstractPickleTests.test_long�s����Y�E�9���U�
��!�!�G�U�!�G�3�D�!�5�[��!%���A�!5��"�j�j��0���+�+�A�3�)�4�:���&��+��
�'�!�!�����A��
�
�1�a� �A��*�*�Q�-�C�
�M�M�$�s�)�S�)����Q�$�rc���,QNoXTt,tFDp"'MJ	to*o[FD@oSFD6oUOVC2oUOU2oUOVF2J8	JB	P!ttoh)�)r,gg+�p�hg�Z��*)g_D��9g�������?g�?g��Q�	@g�m�"wp@g�W�T��Dgꌠ9Y>)Fr�)r4�test_valuesr&r�rrrs&      r�
test_float�AbstractPickleTests.test_float�sf��A��!�$=��A�R��$=�=���Y�E�$�����E�1���j�j��(���#�#�E�/�%���%>s�
A,�LC_ALL�de_DE�fr_FRc�Z�UOUOQ]2Q*Q2P!)g333333�?:rr+NsF1.)r�rr9s&r�test_float_format�%AbstractPickleTests.test_float_format�s$��	
������C��+�C�0�&�9rc	�h�[FD�oUOUQ59^tt^2UOQ6cU]6cUOQ2[	2oUOV!2oUO
U2oUOU[2PPP2J�	P!)%fhJ�9h)r�z*str is not interoperable with Python < 3.4r�)	rr�rrG�AAArr�r��REDUCE_A�r4r��instr[r.s&    r�test_reduce�AbstractPickleTests.test_reduce�s����Y�E����E��*�*��?�?�V�+���	��M�M�"N�O��u�����D�0�����F�+��� � ���2�
+�*��*�*�*�s�B 	�B 	�AB 	� B1
�)B1
c���UOQ6cUOQ2[FDBo[]]2oUO	V!2oUOU2oUO
V$2JD	P!r
)rrGrrrr�r�r9s&    r�test_getinitargs�$AbstractPickleTests.test_getinitargs�s\���?�?�V�#��M�M�Q�R��Y�E��1�a�=�D��Z�Z��,�F��Z�Z��'�F�����-�	rc��UO[[2[2[2o[FDKoUOV2oUO
U2oUOUOUO2JM	P!r#)r�rl�
use_metaclass�	metaclassrrr�r��r4rXr�r�r�s&    r�test_metaclass�"AbstractPickleTests.test_metaclass�s]������m�,�i�8��O���Y�E��
�
�1�$�A��
�
�1�
�A����Q�[�[�!�+�+�6�rc�F�[Q[12o[O[[O
2[FDZoUOV2oUOU2oUOV2UO[U2[U22J\	P!)�my_dynamic_class)rsr*r^rrjrtrrr�r�r�rlrCs&    r�test_dynamic_class�&AbstractPickleTests.test_dynamic_class�sr�� �!3�f�Y�?�����)�+=�+H�+H�I��Y�E��
�
�1�$�A��
�
�1�
�A����Q�"��M�M�$�q�'�4��7�+�	rc�D�]PHo]PHoUO2o[FD�oUO	V42oUOU2oUO
V62UOQ6cJIUOUO2oUO	V42oUOU2oUO
V62[UQ2%fJ�UOUO2oUO	V42oUOU2oUO
V62J�	P!)r�statvfsr�)�timer>�	localtimerrr�r�r�stat�curdirr�rK)r4rLr>r�r�r�r�s&      r�test_structseq�"AbstractPickleTests.test_structseq�s������N�N����Y�E��
�
�1�$�A��
�
�1�
�A�����%�����'������	�	�"�A��
�
�1�$�A��
�
�1�
�A�����%��r�9�%�%��J�J�r�y�y�)���J�J�q�(���J�J�q�M���#�#�A�)�!rc	�@�UOQ6cUOQ2[FD[oUOUQ59^tt^2UO	QU2oUOU2oUO
QU2PPP2J]	P!)%fhJr9h)r+�not supported in Python < 3.3r�.�r+r+)rrGrr�rr�r��r4r�r�r�s&   r�
test_ellipsis�!AbstractPickleTests.test_ellipsis�su���?�?�V�#��M�M�9�:��Y�E����E��*�*��J�J�s�E�*���J�J�q�M���
�
�c�1�%�+�*��*�*�*�s�6B	�B
�B
c	�P�UOQ6cUOQ2[FDcoUOUQ59^tt^2UO	[
U2oUO
U2oUO[
U2PPP2Je	P!)%fhJz9h�r+rSr�rT)rrGrr�rr�r�r�rUs&   r�test_notimplemented�'AbstractPickleTests.test_notimplemented�su���?�?�V�#��M�M�9�:��Y�E����E��*�*��J�J�~�u�5���J�J�q�M���
�
�n�a�0�+�*��*�*�*�s�>B	�B%
�B%
c��UOQ6cUOQ2PQ[,oSFD}o[U2o[FDdoUOUOUQ59^tt^2UOV42oUOU2oUOV62PPP2Jf	J	P!)%fhJ9h)r+rS.�rxr�rT)
rrGr�rlrr�rFrr�r�)r4�
singletons�	singletonr�r�r�r�s&      r�test_singleton_types�(AbstractPickleTests.test_singleton_types�s����?�?�V�#��M�M�9�:��C��0�
�#�I��Y��A�"����\�\�q�z�z��\�?�?��
�
�1�,�A��
�
�1�
�A��M�M�!�'�@�?�#�$�@�?�?�s�-4B3
�3C�<Cc�8�QQQQQQQQ	QQ	-o[OO2FD�o[U[2%fJ[U[2%cJ3UOU7c$UOVO*6cJg[FDcoUOUOUQ59^tt^2UOV#2oUOUOU2U2PPP2Je	J�	P!)%fhJ~9h)
r2�BuiltinImporterrr��sentinelr]rrTr�r�)rQr��valuesr�rl�
issubclassr�rFrrr�rr�r��r4�	new_namesr�r�r�s&    r�test_builtin_types�&AbstractPickleTests.test_builtin_types
s����V��v��6��'���
�	��"�"�)�)�+�A��!�T�"�"�:�a��+G�+G��:�:��*�t����:�:�AV�/V��&�Y�E����1�:�:�U��C�C� �J�J�q�0���
�
�d�j�j��m�Q�7�D�C�'�	,�
D�C�C�s�3D
�D�Dc���-QQaQQaQQaQQaQQaQQaQQaQQaQQaQ	QaQ
QaQQaQQaQ
QaQQaQQaQQaQQQQQQQQQQQQQQ -Ao[OO2FCDto[U[2%fJ[U[2%fJ4UOU7c$UOVO*6cJh[FCDoUOUOUQ59^tt^2UOQ6cU]6cUOQ2UOV#2oUOU2oU]6:c8[U[2%c"U[IcUO!U[2LEU]6:c.[U["2%cUO!U["2LUO!VR2PPP2CJ	CJw	P!)%fhCJ9h)!�BlockingIOError�BrokenPipeError�ChildProcessError�ConnectionError�ConnectionAbortedError�ConnectionRefusedError�ConnectionResetError�FileExistsError�FileNotFoundError�InterruptedError�IsADirectoryError�NotADirectoryError�PermissionError�ProcessLookupError�TimeoutError�RecursionError�StopAsyncIterationrT�EncodingWarning�BaseExceptionGroup�ExceptionGroup�_IncompleteInputError�PythonFinalizationError�ImportCycleErrorr]z9exception classes are not interoperable with Python < 3.3rT�r+r-�r+r.�r+�
)r+�)r+�
r�)rQr�rer�rlrfr�rFrrr�rGrr��OSErrorrlr��ImportError)r4rhr�r�r�r�s&     r�test_builtin_exceptions�+AbstractPickleTests.test_builtin_exceptions
s��
��v�
��v�
�
 ��
�
�v�	
�

%�f�
�
%�f�

�
#�F�
�
�v�
�
 ��
�
��
�
 ��
�
!�&�
�
�v�
�
!�&�
�
�F�
� 
�f�!
�"
!�&�#
�$
"�6��w� �'��g�#�W�%�w���1
�	�4�"�"�)�)�+�+�A��!�T�"�"�z�!�]�'C�'C��:�:��*�t����:�:�AV�/V��&�Y�E����1�:�:�U��C�C��?�?�V�3���	� �M�M�*e�f� �J�J�q�0�� �J�J�q�M�� �A�:�*�Q��*@�*@�Q�o�E]� �M�M�!�W�5�"�a�Z�J�q�+�,F�,F� �M�M�!�[�9� �M�M�!�/�D�C�'�	,�
D�C�C�s<�>G!
�G!
�9G!
�G!
�'	G!
�1G!
�G!
�%(G!
�!G3�*G3c�$�QQQQQQQQ	QQ
QQ
QQ-o[OO2FD�o[U[O
2%fJ%UOU7c$UOVO*6cJY[FDcoUOUOUQ59^tt^2UOV#2oUOUOU2U2PPP2Je	J�	P!)%fhJ~9h)�__build_class__r�exec�
breakpoint�aiter�anext�__lazy_import__r]r�r+�r�r�)
rQr�rer�rD�BuiltinFunctionTyperFrrr�rr�r�rgs&    r�test_builtin_functions�*AbstractPickleTests.test_builtin_functions=
s����v��V��F��&��W��W��w�
�	��"�"�)�)�+�A��!�U�6�6�7�7��:�:��*�t����:�:�AV�/V��&�Y�E����1�:�:�U��C�C� �J�J�q�0���
�
�d�j�j��m�Q�7�D�C�'�	,�
D�C�C�s�93C>
�>D�Dc��[FDzoUOPU2oU]6�c5[O[	U,2*oUOV#2JPUO
[[OU2]2J|	P!r#)rrr�PROTOr2�assertStartsWithr�r!)r4r�r��proto_headers&   r�
test_proto�AbstractPickleTests.test_protoR
sb���Y�E��j�j��u�-�G���z�%�|�|�e�U�G�n�<���%�%�g�<�� � ��f�l�l�G�!D�a�H�
rc��UOQ6cUOQ2[P*]*o[O[O
*o[O[U,2*U*oUOU2UOQ2P![c'oSOQ[S22Po=P!Po=hh9h)r+z&no protocol validation in Python < 3.8z0expected bad protocol number to raise ValueErrorzunsupported pickle protocolr)
rrGrr�NONEr@r�r2r��failrrr)r4�oob�
build_none�	badpickle�errs&    r�test_bad_proto�"AbstractPickleTests.test_bad_proto[
s����?�?�V�#��M�M�B�C���m�a����[�[�6�;�;�.�
��L�L�5�#��<�/�*�<�	�	J��J�J�y�!�
�I�I�H�I���	C��M�M�7��S��B�B��	C�s�B*�*	C�4C�5C�Cc���Qo[FDcoUOV2oUOU2oUOV2UO	[[OU2U]6�2Je	P!)��UJ^w,3�|	)rrr�r�r�rr�LONG1�r4r&r�r�r�s&    r�
test_long1�AbstractPickleTests.test_long1h
s\��)���Y�E��
�
�1�$�A��
�
�1�
�A�����%����-�f�l�l�A�>���
�K�	rc��QQ*o[FDcoUOV2oUOU2oUOV2UO	[[OU2U]6�2Je	P!)r�rM)rrr�r�r�rr�LONG4r�s&    r�
test_long4�AbstractPickleTests.test_long4p
sa��)�e�4���Y�E��
�
�1�$�A��
�
�1�
�A�����%����-�f�l�l�A�>���
�K�	rc
���-Q[OaQ[OaQ[OaQ[OaQ[OaQ[OaQ[OaQ[OaQ	[OaQ
[OaQ[OaQ[OaQ
[OaQ[O
aQ[OaQ[OaQ[OaQ[OQ[O
Q[O-AoQoQoQoQoQo[FD{oV#VEU1FDnoUOV�2o	UOU	2o
UOV�2U[U]2[U21*oUO[V�22Jp	J}	P!)r)rr)rr*)rr*)rr+)rr,)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*rTr�r$r)�r*r*r+)r*r*r+r,)r�TUPLE�EMPTY_TUPLE�TUPLE1�TUPLE2�TUPLE3rrr�r�r�rrr)r4�expected_opcoderXr�r�rEr�r�r&r�r�rs&           r�test_short_tuples�%AbstractPickleTests.test_short_tuplesx
s����6�6�<�<��!�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
�����������Y�E��1��]���J�J�q�(���J�J�q�M���#�#�A�)�*�3�u�a�=�#�a�&�+@�A����� 0�� =�>�#�rc��Q[OQ[OQ[OQ[OQ[OQ[OQ[OQ[OQ	[OQ
[OQ[OQ[O-o[
FDsoQ
FDioUO
V22oUOU2oUOV5IV#VE12U[U]2U1*oUO[Vd22Jk	Ju	P!)r)rN)r*N)r*N)r+N)rT)r*T)r*T)r+T)rF)r*F)r*F)r+F)NFT)rr��INT�NEWTRUE�NEWFALSErrr�rr�r)r4r�r�r&r�r�rs&      r�test_singletons�#AbstractPickleTests.test_singletons�
s���$�f�k�k�$�f�k�k�$�f�k�k�$�f�k�k�$�f�j�j�$�f�j�j�$�f�n�n�$�f�n�n�%�v�z�z�%�v�z�z�%�v���%�v������Y�E�&���J�J�q�(���J�J�q�M��������1�(8�9�*�3�u�a�=�!�+;�<����� 0�� =�>�'�rc��[,QN2o]*UmQUm[FD6oUO	V2oUOU2oUO
V2J8	P!�r*�hellor�)r�r�r�rrr�r�r�s&    r�test_newobj_tuple�%AbstractPickleTests.test_newobj_tuple�
sO���I����������Y�E��
�
�1�$�A��
�
�1�
�A�����%�rc��[,QN2o]*UmQUm[FD6oUO	V2oUOU2oUO
V2J8	P!r�)r�r�r�rrr�r�r�s&    r�test_newobj_list�$AbstractPickleTests.test_newobj_list�
sO���9����������Y�E��
�
�1�$�A��
�
�1�
�A�����%�rc�j�[FCD�o[FCD�oUOVQ59^tt^2UOQ6c*U]6c#U[[
17cUO
Q2QUOt96:cQ6c-LL)U]6c#U[
[17cUO
Q2UOQ6cU[6XcUO
Q2UOoUUO2o]*UmUOVA2oUOU2oVV4U[U21oUOVF2UO!UU2UU2U2UO!UO"UO"U2PPP2CJ�	CJ�	P!)%fhCJ�9h)�r�r�z:int and str subclasses are not interoperable with Python 2�6str subclasses are not interoperable with Python < 3.4�,frozendict is not available on Python < 3.15rr�r�)r�	myclassesr�r�MyInt�MyStrrG�	MyUnicoder��__base__�sampler�rr�rlr�r�r�)r4r�r��Br&r�r��details&       r�test_newobj_generic�'AbstractPickleTests.test_newobj_generic�
sE���Y�E��Y���\�\��\�3�3�����/�E�A�I�!��u�~�BU��
�
�&b�c�����9�6�9�e�a�i�A�RW�Yb�Qc�Lc��
�
�&^�_�����0�Q�,�5F��
�
�&T�U��
�
�A��!�(�(��A��A�E��
�
�1�,�A��
�
�1�
�A�#��a��a��9�F��'�'��-��$�$�Q�q�T�1�Q�4��8��$�$�Q�Z�Z����V�D�4�3���3�3�3�sH�F 
�F 
�F 
�#F 
�F 
�	F 
�F 
�!!F 
�
F 
�B>F 
� F2�)F2c��[Q*o[[[1FDoUO	U2J	[
FCDpoSFCDdoUO
V4Q59^tt^2UOQ6c*U]6c#U[[17cUOQ2UOQ6cU[6XcUOQ2UOoUUO2o]*Um[O U2oUO#Vs2oUO%U2o	UO'[)U	2[)U22V4VVU	[)U	21o
UO'UU2UU	2U
2UO'UO*U	O*U
2PPP2CJg	CJs	P!)%fhCJ�9h):NNNr�r�r�r�r�)r�r��MyLongr�r�rr�rr�r�rGr�r�r�r��weakref�proxyrr�r�rlr�)r4�classesr�r�r�r�r&r
r�r�r�s&          r�test_newobj_proxies�'AbstractPickleTests.test_newobj_proxies�
sP���A�,�����)�A��N�N�1��*��Y�E����\�\��\�3�3�����/�E�A�I�!��y�GY�BY��
�
�&^�_�����0�Q�,�5F��
�
�&T�U��
�
�A��!�(�(��A��A�E��
�
�a�(�A��
�
�1�,�A��
�
�1�
�A��$�$�T�!�W�d�1�g�6�#��a��a��9�F��$�$�Q�q�T�1�Q�4��8��$�$�Q�Z�Z����V�D�4�3���3�3�3�s1�%F7
�7F7
�>F7
�!F7
�1
F7
�<C'F7
�7G	�G	c	��[FD�oUOUQ59^tt^2UOQ6cU]6cUOQ2[	]2o]*UmUO
V!2oUOU2oUO[U2[2UO[U2]2UOUO
]*2PPP2J�	P!)%fhJ�9h)r�rr)rr�rrG�
MyIntWithNew2r�rr�r�rlr�r%r	s&    r�test_newobj_overridden_new�.AbstractPickleTests.test_newobj_overridden_new�
s����Y�E����E��*�*��?�?�V�+���	��M�M�"V�W�!�!�$������J�J�q�(���J�J�q�M���
�
�d�1�g�}�5�� � ��Q���+�� � �����+�+�*��*�*�*�s�C(	�C(	�BC(	�(C9
�1C9
c��UOQ6cUOQ2[O[2oUO	U]2o[
O[Q]*29^tt^2UO[[O1UOU2PPP2P!)%fhP!9h)r+r��SimpleNewObjr�)
rrGr�r�rr�	swap_attrrr�rWrrcr�)r4r�r�s&  r�test_newobj_not_class�)AbstractPickleTests.test_newobj_not_classs����?�?�V�#��M�M�9�:�� � ��.���J�J�q�!���
�
�
�|�^�R�
@�
@����y�&�*@�*@�A�4�:�:�q�Q�A�
@�
@�
@�s�32B/�/C	�8C	c�:�[U2o[O[OQU2[,QN2o]*UmQUmUOU]2oUO[OO2U2UOQU2UO[V%22UOU2oUOVF2UOU]2oUO[OO2U2UOQU2UO[V'2P	[!U22UOU2oUOVF2UO#2P!SO#2h9h)r�r�sMyListr�)r[r^rer�rGr�r�rrr�assertFalserr�r�rr��reprrg)r4�extcode�opcoder�r&r�r�r�s&&&     r�produce_global_ext�&AbstractPickleTests.produce_global_exts8���7�#��	��!�!�&�"3�"3�X�w�G��y�!�A��A�E��A�E����A�q�!�B��M�M�&�+�+�2�2�4�b�9��M�M�)�R�(����-�f�9�:��
�
�2��A�����%����A�q�!�B����V�.�.�5�5�7��<����Y��+����-�f�9�4��b��J��
�
�2��A�����%�
�I�I�K��A�I�I�K�s�E(F�Fc��UO][O2UO]�[O2P!r))r�r�EXT1r9s&r�test_global_ext1�$AbstractPickleTests.test_global_ext1-s*�����
�F�K�K�8����
�F�K�K�8rc���UOQ[O2UOQ[O2UOQ[O2P!)r�r�iͫ)r�r�EXT2r9s&r�test_global_ext2�$AbstractPickleTests.test_global_ext21�>�����
�F�K�K�8����
�F�K�K�8����
�F�K�K�8rc���UOQ[O2UOQ[O2UOQ[O2P!)�r�i�ͫ)r�r�EXT4r9s&r�test_global_ext4�$AbstractPickleTests.test_global_ext46r�rc�R�]
o[[U22o[FDdoUOV#2oUO	U2oUOV%2[
[OU2oUOVc]6�2Jf	Qo[[U22o[FDoUOV#2oUO	U2oUOV%2[
[OU2oU]6XcUOU]2JkUOU]6�2J�	P!�r�i�	)r�r"rrr�r�r!r�APPENDSr�r)r4r r&r�r�r��num_appendss&      r�test_list_chunking�&AbstractPickleTests.test_list_chunking;s�������q��N���Y�E��
�
�1�$�A��
�
�1�
�A�����%�&�v�~�~�q�9�K����[�!�)�4��
����q��N���Y�E��
�
�1�$�A��
�
�1�
�A�����%�&�v�~�~�q�9�K���z�� � ��a�0�����q� 0�1�rc��]
o[O[U22o[FDzoUO	V#2oUOU[2UOU2oUOV%2[[OU2oUOVc]6�2J|	Qo[O[U22o[FDoUO	V#2oUOU2oUOV%2[[OU2oU]6XcUOU]2JkUOU]6�2J�	P!r)rwr�r"rrr�rr�r�r!r�SETITEMSr�r)r4r r&r�r�r��num_setitemss&      r�test_dict_chunking�&AbstractPickleTests.test_dict_chunkingQs�����M�M�%��(�#���Y�E��
�
�1�$�A��!�!�!�[�1��
�
�1�
�A�����%�'�����;�L����\�1�9�5�
�
���M�M�%��(�#���Y�E��
�
�1�$�A��
�
�1�
�A�����%�'�����;�L���z�� � ��q�1������ 1�2�rc��]
o[[U22o[FD}oUOV#2oUO	U2oUOV%2[
[OU2oU]6cUOU]2JkUOU]2J	Qo[[U22o[FD}oUOV#2oUO	U2oUOV%2[
[OU2oU]6cUOU]2JkUOU]2J	P!r)r r"rrr�r�r!r�ADDITEMSr��assertGreaterEqual)r4r r&r�r�r��num_additemss&      r�test_set_chunking�%AbstractPickleTests.test_set_chunkinghs������a��M���Y�E��
�
�1�$�A��
�
�1�
�A�����%�'�����;�L��q�y�� � ��q�1�� � ��q�1��
����a��M���Y�E��
�
�1�$�A��
�
�1�
�A�����%�'�����;�L��q�y�� � ��q�1��'�'��a�8�rc
��[O[Q2oQUm[FCDAoUO	UQ59^tt^2UO
Q6cU]6cUO
Q2UOV2oU]6c8UO
Q6�cUOQU2L%UOQU2LUOQU2UO
Q	6cU]6XfWUO[[OU2]U6*2UO[[OU22UOU2oUO!V2PPP2CJD	P!)%fhCJZ9h)
���r�r�
I64206�64206�M�rr�r�)r�r�r�rr�rrGrrr�rr�NEWOBJr��	NEWOBJ_EXr�r�r�s&    r�test_simple_newobj�&AbstractPickleTests.test_simple_newobj�s ��� � ��v�6������Y�E����E��*�*��?�?�V�+���	��M�M�"V�W��J�J�q�(���1�9����&�0��
�
�k�1�5��
�
�h��2��M�M�,��2����&�0�U�a�Z��$�$�%5�f�m�m�Q�%G�%&�%�Z�1��$�$�%5�f�6F�6F��%J�K��J�J�q�M���#�#�A�)�!+�*��*�*�*�s8�E2	�E2	�!(E2	�
E2	�AE2	�$E2	�+A8E2	�2F
�;F
c
��[O[Q2oQUm[FCD�oUO	UQ59^tt^2UO
Q
6cU]6cUO
Q2UOV2oU]6c8UO
Q6�cUOQU2L}UOQU2LjU]6cUOQU2LPU]6c8UO
Q
6�cUOQU2L%UOQU2LUOQ	U2UO
Q6cU]6XfWUO[[OU2]U6*2UO[[OU22UOU2oUO!V2PPP2CJ�	P!)%fhCJ�9h)
rrr�rrrr�	XFACEsUFACE��FACErr�r�)�
ComplexNewObjr�r�rr�rrGrrr�rrrr�rr�r�r�s&    r�test_complex_newobj�'AbstractPickleTests.test_complex_newobj�se���!�!�-��8������Y�E����E��*�*��?�?�V�+���	��M�M�"V�W��J�J�q�(���1�9����&�0��
�
�k�1�5��
�
�h��2��Q�Y��M�M�,��2��Q�Y����&�0��
�
�&>��B��
�
�l�A�6��M�M�/�1�5����&�0�U�a�Z��$�$�%5�f�m�m�Q�%G�%&�%�Z�1��$�$�%5�f�6F�6F��%J�K��J�J�q�M���#�#�A�)�/+�*��*�*�*�sJ�G
	�G
	�!(G
	�
G
	�,G
	�G
	�"G
	�3AG
	�<G
	�A8G
	�
G
�G
c
��UOQ6cUOQ2[O[Q2oQUm[
FCD]oUO
UQ59^tt^2UOQ6cU]6cUOQ2UOV2oU]6c8UOQ
6�cUOQU2LYUOQU2LFU]6cUOQU2L,U]6cUOQ	U2LUOQ
U2UO[[OU22UO[[OU2]U6*2UOU2oUO!V2PPP2CJ`	P!)%fhCJv9h)r+r�rrr�z#requires protocol 4 in Python < 3.6rrrrrr�r�r�)rrG�ComplexNewObjExr�r�rr�rrr�rrrr�rr�r�r�s&    r�test_complex_newobj_ex�*AbstractPickleTests.test_complex_newobj_ex�sR���?�?�V�#��M�M�9�:��#�#�O�V�<������Y�E����E��*�*��?�?�V�+���	��M�M�"G�H��J�J�q�(���1�9����&�0��
�
�k�1�5��
�
�h��2��Q�Y��M�M�,��2��Q�Y��M�M�":�A�>��M�M�/�1�5�� � �!1�&�-�-��!C�D�� � �!1�&�2B�2B�A�!F�!"�e��-��J�J�q�M���#�#�A�)�'+�*��*�*�*�s7�*F0	�<F0	�(F0	�,F0	�=,F0	�*F0	�BF0	�0G
�9G
c��[,QN2o]*UmQUmUOU]2oUO	U2oUOV2P!r�)�SlotListr�r�rr�r�)r4r&r�r�s&   r�test_newobj_list_slots�*AbstractPickleTests.test_newobj_list_slots�sE���Y����������J�J�q�!����J�J�q�M�����A�!rc�$�[FD�o[2oUOUO]2UO	V!2oUOUO]2UOU2oUOUO]2J�	P!r])r�REX_oner��_reduce_calledrr�r	s&    r�'test_reduce_overrides_default_reduce_ex�;AbstractPickleTests.test_reduce_overrides_default_reduce_ex�sr���Y�E��	�A����Q�-�-�q�1��
�
�1�$�A����Q�-�-�q�1��
�
�1�
�A����Q�-�-�q�1�
rc�$�[FD�o[2oUOUOP2UO	V!2oUOUOU2UOU2oUOUOP2J�	P!r#)r�REX_twor��_protorr�r	s&    r�test_reduce_ex_called�)AbstractPickleTests.test_reduce_ex_called�sl���Y�E��	�A����Q�X�X�t�,��
�
�1�$�A����Q�X�X�u�-��
�
�1�
�A����Q�X�X�t�,�
rc�$�[FD�o[2oUOUOP2UO	V!2oUOUOU2UOU2oUOUOP2J�	P!r#)r�	REX_threer�r/rr�r	s&    r�test_reduce_ex_overrides_reduce�3AbstractPickleTests.test_reduce_ex_overrides_reduce�sl���Y�E���A����Q�X�X�t�,��
�
�1�$�A����Q�X�X�u�-��
�
�1�
�A����Q�X�X�t�,�
rc�$�[FD�o[2oUOUOP2UO	V!2oUOUOU2UOU2oUOUOU2J�	P!r#)r�REX_fourr�r/rr�r	s&    r�test_reduce_ex_calls_base�-AbstractPickleTests.test_reduce_ex_calls_base�sl���Y�E��
�A����Q�X�X�t�,��
�
�1�$�A����Q�X�X�u�-��
�
�1�
�A����Q�X�X�u�-�
rc�$�[FD�o[2oUOUO]2UO	V!2oUOUO]2UOU2oUOUO]2J�	P!r])r�REX_fiver�r*rr�r	s&    r�test_reduce_calls_base�*AbstractPickleTests.test_reduce_calls_base�sr���Y�E��
�A����Q�-�-�q�1��
�
�1�$�A����Q�-�-�q�1��
�
�1�
�A����Q�-�-�q�1�
rc���[2oUOU2oUO[29^tt^2UO	U2PPP2P!)%fhP!9hr#)�C_None_setstaterr�rWr�)r4r�r
s&  r�test_pickle_setstate_None�-AbstractPickleTests.test_pickle_setstate_NonesB������J�J�q�M��
�
�
�y�
)�
)��J�J�q�M�*�
)�
)�
)�s�A�A'	�A'	c	�|�Q[]d22o[QU22o[U2[U2[U2,o[FDYoUOUQ59^tt^2UO	V42oUOU2oUO
V62PPP2J[	P!)%fhJp9h)c3�R�SF �DoQ[U2*w�	J	P!3h)�aaa�r)�.0r�s& r�	<genexpr>�>AbstractPickleTests.test_many_puts_and_gets.<locals>.<genexpr>
s��
���
�1���A����
�s� 'c3�8�SF �Dp,QN1w�	J
	P!3h)r,)r,r-r.r$)rF�ks& rrGrHs��$���$�Q�i�.�$�s�r�)r"rwrr�rr�r�)r4r$�
large_dictr�r�r[r.s&      r�test_many_puts_and_gets�+AbstractPickleTests.test_many_puts_and_gets
s���4��c�
�3���7�$�7�7�
��J���j�!1�4�
�3C�D���Y�E����E��*�*����C�/�����F�+���#�#�C�0�+�*��*�*�*�s�(4B*	�*B;
�3B;
c�|�UOQ6cUOQ2[FD�o[2o]*UmQUmUO
V!2oUOU2o[UO2o[UO2o[VV2FDvqxUOVx2J	J�	P!)r+rr�r)rrGrr�r�r�rr��sortedr��zipr�)	r4r�r&r�r��x_keys�y_keys�x_key�y_keys	&        r�test_attribute_name_interning�1AbstractPickleTests.test_attribute_name_internings����?�?�V�#��M�M�Q�R��Y�E���A��A�E��A�E��
�
�1�$�A��
�
�1�
�A��A�J�J�'�F��A�J�J�'�F� #�F� 3����
�
�e�+�!4�rc���UO[]2]2oUOU[2UO[	],2]2oUOU[
2P!�r-)rr"r�r!r �	DATA_SET2rZs& r�test_pickle_to_2x�%AbstractPickleTests.test_pickle_to_2x'sN��
���E�!�H�a�(�������-����C���H�a�(�������+rc�H�[FD�o][QQ*[1oUOV!2oUO	U2oUO[U2[U22UOQ6c][QQ*[1oUOVB2J�	P!)r*sxy�xyixr)rr�rrr�r�r)r4r�r�r[r.s&    r�test_large_pickles�&AbstractPickleTests.test_large_pickles1s����Y�E��s�E�Y�/��5�D��Z�Z��,�F��Z�Z��'�F����S��[�#�d�)�4�����'��3��	� 2�C�8�����V�*�rc��UOQ6cUOQ2[FD�oUOUQ59^tt^2[	]F2Tt,tFDp O]U*U2MJ	oo[
[[U22oUO[U2U2U]6�c4SFD,oUO[[OU22J.	PPP2J�	P!ttoh)%fhJ�9hrY)rrGrr�r"rr��maprr�rOr�rr�LONG)r4r�r �pickles�sizesr
s&     r�test_int_pickling_efficiency�0AbstractPickleTests.test_int_pickling_efficiency=s����?�?�V�#��M�M�9�:��Y�E����E��*�*�<A�"�I�F�I�q�:�:�a��d�E�2�I��F��S��g�.�/��� � �����6��A�:�$���(�(�)9�&�+�+�q�)I�J�%�
+�*���F�+�*�*�s*�
C;	�#C6�8<C;	�53C;	�6C;	�;D
�D
c��UOV2oUO[V$22UOU2oUO	V2P!r#)rrrr�r�)r4r�r�r�r�r�s&&&&  r�_check_pickling_with_opcode�/AbstractPickleTests._check_pickling_with_opcodeKs>���*�*�S�(�����(��9�:��J�J�w�'�	�����(rc	��[,QN2o[FD�oUOUQ59^tt^2U]6Xc#UOU[O
U2LCUOQ6cUOQ2UOU[OU2PPP2J�	P!)%fhJ�9h)r*r�znot supported in Python 2r�r)	rprr�rhr�APPENDrrGr�r4r�r�s&  r�test_appends_on_non_lists�-AbstractPickleTests.test_appends_on_non_listsQs����i� ���Y�E����E��*�*��A�:��4�4�S�&�-�-��O�����/��
�
�&A�B��4�4�S�&�.�.�%�P�
+�*��*�*�*�s�B.	�2B.	�.2B.	�.B?
�7B?
c���[]P]Q]Q-2o[FDNoU]6Xc$UOU[OU2J-UOU[O
U2JP	P!)r*������)ryrrhr�SETITEMrrls&  r�test_setitems_on_non_dicts�.AbstractPickleTests.test_setitems_on_non_dicts]sX����B��2�q�"�-�.���Y�E���z��0�0��f�n�n�e�L��0�0��f�o�o�u�M�	rc�N�P9q#.Qlo[OU2FCD6vqVoUdUOVr2Vr6XcPoUdTUOUOQ2UOU7c&UO[U2UO2L|UOQ6Xf,UOU7cD[U2UO6�c*Ud%UOVs*
UO2PoLUeUOQ6wcSoUOQ6XfCJUOV`O2U]	*U*oCJ9	[U2oUdUOV'2P!Ud%UOVs*
UO2P!P!)N�FRAMEr�>�BINBYTES�	BINBYTES8�
BINUNICODEr�BINUNICODE8)rr�assertLessEqual�assertNotEqualrxr�FRAME_SIZE_TARGET�
assertLess�FRAME_SIZE_MINrr�)r4r��	frame_end�frameless_start�frameless_opcodesr�arg�poss&&      r�check_frame_opcodes�'AbstractPickleTests.check_frame_opcodesjsj��'+�*�	�:��'�.�.�w�7�7�L�B�S��$��$�$�S�4��#� $�I��$��#�#�B�G�G�W�5��7�7�/�/��(�(��S��4�3I�3I�J���G�G�w�&��W�W� 1�1���X�� 6� 6�6�&�2�����(=�(,�(;�(;�=�*.���$�,����G�1C�&)�O��w�w�'�!��'�'��-@�-@�A��!�G�c�M�	�98�<�'�l��� ����Y�,�
�
(��O�O�C�1�4�3F�3F�G�)r�cpuc	��UOQ6cUOQ2[[Q22o[][O
]*2FD�oUO
UQ59^tt^2UOV2oUOU2oUOV2[U2[[OU2*oUOUUO]*2UOUUO]*2UO!U2PPP2J�	P!)%fhJ�9h)r+r�r�r�i��)rrGr�r"rr�r�rr�r�rr!rv�
assertGreaterr}r{r�)r4r�r�r�r��bytes_per_frames&     r�test_framing_many_objects�-AbstractPickleTests.test_framing_many_objects�s����?�?�V�#��M�M�9�:��5��<� ���1�f�5�5��9�:�E����E��*�*��*�*�S�0�� �J�J�w�/�	�� � ��0�#&�w�<�#/����g�#F�$G���"�"�?�#'�#9�#9�A�#=�?��$�$�_�%)�%;�%;�a�%?�A��(�(��1�+�*�;�*�*�*�s�7B5D:	�:E
�E
c�4�UOQ6cUOQ2Q	o[]
2Tt,tFDp",MJ	ooQU*,UNQU*MQU*Mo[][O]*2FCDnoQ
FCDboUOVVQ59^tt^2U%fUO
VE2oLk[UQ2%fPPP2JV[O2oUOV�Q5o	VimU	OU2UO2oUOU2o
SOSTt,tFDo[!U2MJ	toS
Tt,tFDo[!U2MJ	to2UOVJ2UOQ6�c>[#[O$U2oUOU]2UO'U2PPP2CJe	CJq	P!ttohttohttoh)%fhCJ�9h)r+r��x�y�z)r��fastr?�r�r�r�rr�)rrGr"rr�r�rr�r>rQr?r�r�rSr�r�rr!rvr�)
r4�Nr��small_itemsr�r�r�r�rr?r�r&�n_framess
&            r�test_framing_large_objects�.AbstractPickleTests.test_framing_large_objects�s����?�?�V�#��M�M�9�:���$)�"�I�.�I�q�s�I��.��a�x�9�+�9�t�a�x�9��q��9���1�f�5�5��9�:�:�E�%���\�\��\�9�9��#'�*�*�S�"8�� '�t�Y�7�7�$�:�9�!�j�j�l��"&�,�,�s�,�"C��'+�����S�)�"%�,�,�.�� $�
�
�7� 3�I��$�$�c�%:�c��c�!�f�c�%:�6?�%@�i��c�!�f�i�%@�B��$�$�S�4����&�0�#/����g�#F���(�(��1�5��0�0��9�3:�9�&�;��/��(&;��%@�#:�9�9�sN�
G6�&H
�/#H
�H
�A-H
�G;�!H
�&H�<(H
�%=H
�;
H
�H�Hc���UOQ6cUOQ2QQkoUOo]o[[1FCD%o[U2Tt-tFDpUUU,2U*aJ	oo[][O]*2FD�oUOVg2oUU2o	UO[[OU	2]2UOV`OU	22UUQ2o
UO[[OU
2[[OU22UOV`OU
22J�	CJ(	P!ttoh)r+r�c�F�,o]	o[OU2FD*vqEoUOQ6XfJUOU2J,	[	2o]o[U2FD/vq�U%cUU	2%cJVpV�*
oVc*oJ1	VpUP*
oU!)�	rv)rrrxr�rz�	enumerate)
r��
keep_frame�frame_starts�frame_opcode_sizer��_r��	newpickle�last_frame_endr�s
&&        r�
remove_frames�?AbstractPickleTests.test_optional_frames.<locals>.remove_frames�s����L� !��"-�"4�"4�W�"=���3��;�;�'�)� �'�'��,�#>�"��I��N�#�L�1����*�Q�-�-���^�8�8�	�!$�!8��	2�

���1�1�I��rc��U]*!r�r$�r�s&rr��:AbstractPickleTests.test_optional_frames.<locals>.<lambda>�s��a�!�err�r#)rrGr}r2rzr"rr�rr�r!rvr�r~)r4r��
frame_size�
num_frames�
bytes_typer�r�r�r��frameless_pickle�some_frames_pickles&          r�test_optional_frames�(AbstractPickleTests.test_optional_frames�s&���?�?�V�#��M�M�9�:�	�&�+�+�
��
�!�)�,�J�<A�*�<M�N�<M�q�j�!��o�
�2�2�<M�C�N��q�&�"9�"9�A�"=�>���*�*�S�0��#0��#9� �� � ��f�l�l�<L�!M�q�Q�� � ��j�j�1A�&B�C�%2�7�O�%L�"�����V�\�\�;M� N� ,�V�\�\�7� C�E�� � ��j�j�1C�&D�E�?�-��Ns�E0c�R�UOQ6cUOQ2QQ2o[][O]*2FCD�o[[Q22Tt,tFD2o[
U2OQ2U]**Q[
U2-1MJ4	ooUOQUO]*]**2U2oUOVR2OU2UO2oUOU2oUOVt2UO[!UO"2]2=[$O&2UOUO2U2[!U2]*
UO*]*oUO)[!UO"2U2UO+[!UO"2]U*]*2UO"T	t,tFDo	[!U	2MJ	o
o	S
Tt,tFDoV�O6�fJUMJ	ooS
Tt,tFD$o]	St96cUO6fJLJ"UMJ&	o
oS
Tt,tFD
p�]	6:fJUMJ	ooSFD'oUO-U]UO*U
2J)	UO+[!U2[!U2[!U
2*]*U
2CJ�	P!ttohtto	httohttohttoh)	r+r�c�4`�\sQsQsnQsQsQsQsUsP!)�YAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.<locals>.ChunkAccumulatori�c��,UmP!r#��chunksr9s&rrW�bAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.<locals>.ChunkAccumulator.__init__s	�� ��rc�>�UOOU2P!r#)r�r�)r4�chunks&&rrV�_AbstractPickleTests.test_framed_write_sizes_with_delayed_writer.<locals>.ChunkAccumulator.writes�����"�"�5�)rc�:�QOUO2!)r)r@r�r9s&r�concatenate_chunks�lAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.<locals>.ChunkAccumulator.concatenate_chunkss���x�x����,�,rr�)	rFrGrHrIrWrVr�rJrKrLs@r�ChunkAccumulatorr��s����
!�
*�
-�
-rr�g��@rr��0123456789abcdefr�)rrGr"rr�r%rrr�r}r?r�r�r�r�r�rr�r�
gc_collectrr{r~)r4r�r�r��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_writer�s����?�?�V�#��M�M�9�:�	-�	-��1�f�5�5��9�:�:�E� %�c�#�h��1� /�1��A��
�
�g�.��B���c�!�f�
�F� /�
�1�
�N�N�-� �2�2�b�8�1�<�>�
?�&�'�F��L�L��'�,�,�W�5�
�/�/�1�G� �J�J�w�/�M����]�4����s�6�=�=�1�1�5����� ����V�6�6�8�'�B��G��q�(�T�-C�-C�C�a�G�H��#�#�C��
�
�$6��A�

� � ��V�]�]�!3�Q��\�A�5E�F�+1�=�=�9�=�a�3�q�6�=�K�9�&1�;�k���#9�#9�9��1�k�K�;�'2�>�{�!��!�<�d�&<�&<�<��<��{�L�>�&1�<�k��!�V�1�1�k�K�<�*�
����
�A��0F�0F�,F� +�-�*�
� � ��[�!1�!$�[�!1�C��4E�!E��!I�!,�
.�g;��1��H:��;��>��<s<�):L�L�3L�L�L�'
L�9L�=L�
L$�L$c�J�UOQ6cUOQ2[[O]*2FD�oUOQ6c
U]6cJ[
O[
OO[
OOO1FDWoUOVQ59^tt^2UOUOV!22oUOV#2PPP2JY	J�	P!)%fhJr9h)r+r�)r�r�r�r�)
rrGr"rr��Nestedr�r�r�r�r�rr�)r4r�r�r�s&   r�test_nested_names�%AbstractPickleTests.test_nested_names>s����?�?�V�#��M�M�9�:��6�2�2�Q�6�7�E�����'�E�A�I�����&�(�(�*�*�f�h�h�j�j�l�l�;���\�\��\�7�7� $�
�
�4�:�:�c�+A� B�I��M�M�#�1�8�7�<�8�8�7�7�s�
2D
�D"�D"c
���QQ2r[O[O*[mQ[m[
[O]*2FDaoUOUQ59^tt^2UOUO[U22oUOU[2PPP2Jc	[;P!)%fhJ~9h)c��\sQsQsQsP!)�	RecursiveiLr$rur$rrr�r�Lr�rr�zRecursive.mod.Recursiver�)
r�r�rCrGr�rHr"rr�r�r�rr��r4r�r�s&  r�test_recursive_nested_names�/AbstractPickleTests.test_recursive_nested_namesJs���	�	����I�$8�$8�9�	�
�!:�	���6�2�2�Q�6�7�E����E��*�*� �J�J�t�z�z�)�U�'C�D�	��
�
�i��3�+�*�8�
�M�+�*�*�s�<C	�C$
�C$
c
��QQ2r[[mQ[m[[O
]*2FDaoUO
UQ59^tt^2UOUO[U22oUOU[2PPP2Jc	[;P!)%fhJ~9h)c��\sQsQsQsP!)r�iXr$rur$rrr�r�Xr�rr�z
Recursive.refr�)
r��refrHr"rr�r�r�rr�r�s&  r�test_recursive_nested_names2�0AbstractPickleTests.test_recursive_nested_names2Vs���	�	�!�	�
�!0�	���6�2�2�Q�6�7�E����E��*�*� �J�J�t�z�z�)�U�'C�D�	��
�
�i��3�+�*�8�
�M�+�*�*�s�$<B4	�4C
�=C
c�"�UOQ6cUOQ2[O[2O1o[[O]*2FDloSFDboUOV#Q59^tt^2UOUOV222oUOU2U22PPP2Jd	Jn	[O[OO[OO[O2O 1o[O[1[OO [O11o[[O]*2FD�oUOQ6c
U]6cJSFDboUOV#Q59^tt^2UOUOV222oUOU2U22PPP2Jd	SFDmvq6U2oUOV#Q59^tt^2UOUOV222oUOUU2UU22PPP2Jo	J�	[O"Q*[O"Q*1o[[O]*2FDQoSFDGo	UOV)Q59^tt^2UO%[&UOV�2PPP2JI	JS	P!)%fhCJ�9h)%fhCJ�9h)%fhCJW9h)%fhJ�9h)r+r��r��method�cheese�wine�r��descrr�r�)rrG�
PyMethodsTestr��biscuitsr"rr�r�r�rr�r�r��ketchup�maple�pier�r�rW)
r4�
py_methodsr�r�r��py_unbound_methodsr�r��descriptorsr�s
&         r�test_py_methods�#AbstractPickleTests.test_py_methodsbs����?�?�V�#��M�M�9�:�����O�$�$�
�
��6�2�2�Q�6�7�E�$���\�\��\�=�=� $�
�
�4�:�:�f�+D� E�I��$�$�V�X�y�{�;�>�=�%�8�
� � �� � �(�(�� � �&�&�� � �"�&�&�	
�
��
#�
#�]�3�
�
!�
!�
%�
%�}�';�';�<�
���6�2�2�Q�6�7�E�����'�E�A�I��$���\�\��\�=�=� $�
�
�4�:�:�f�+D� E�I��$�$�V�X�y�{�;�>�=�%� 2����e���\�\��\�=�=� $�
�
�4�:�:�f�+D� E�I��$�$�V�C�[�)�C�.�A�>�=� 2�8�
�"�"�8�,��"�"�6�*�
���6�2�2�Q�6�7�E�$���\�\��\�;�;��%�%�i����U�J�<�;�%�8�A>�=�=��&>�=�=��
>�=�=��<�;�;�sH�=L>
�=M
�	?M(
�
"M=
�>M�M�M%�M%�(M:�1M:�=N�Nc��UOQ	6cUOQ2QOQ
1[OQ1,QNOQ
1[
O,QN11]].OQ1[O]].]11[OQ1[OQ1[,QN2OQ1[O[,QN2]11[OO[OQ2Q111o[[ O"]*2FDnoSFDdvq4UO%V#Q59^tt^2UO'UO)V222oUO+UUUU2PPP2Jf	Jp	[OQ2OQ11o[[ O"]*2FD�oUOQ6c
U]6cJSFDdvq4UO%V#Q59^tt^2UO'UO)V222oUO+UUUU2PPP2Jf	J�	[O,Q*[O,Q*1o[[ O"]*2FDQoSFDGoUO%V'Q59^tt^2UO/[0UO(Vr2PPP2JI	JS	P!)%fhCJ�9h)%fhCJ99h)%fhJ�9h)r+r��abcd�sweetr�r��	maketransr�r�r�)r�)r�r�r�r$r�))rXr*)r�r*)sabcr�)r*r*r*)r�r�)rrG�indexr�__len__r��__contains__r rwr�rzr��Subclassr�r�r"rr�r�r�rr�r�r�rW)r4�	c_methodsr�r�r5r�r�r�s&       r�test_c_methods�"AbstractPickleTests.test_c_methods�s����?�?�V�#��M�M�9�:��\�\�6�"�
�Y�Y�
�&�
�
�
��#�
�\�\�I�<�(���V�
 �
 �$�'�
�
�
��A���{�+�
�]�]�0�1�
�
 �
 �"2�3�
�g�
�
$�
$�d�+�
�^�^�h�w�/��3�4�
�_�_�
"�
"�X�_�_�W�%=�s�$C�D�)
�	�,�6�2�2�Q�6�7�E� )����\�\��\�=�=� $�
�
�4�:�:�f�+D� E�I��$�$�V�T�]�I�t�4D�E�>�=�!*�8��_�_�W�
%�
+�
+�V�4�
�	��6�2�2�Q�6�7�E�����'�E�A�I�� )����\�\��\�=�=� $�
�
�4�:�:�f�+D� E�I��$�$�V�T�]�I�t�4D�E�>�=�!*�8�
���{�+��M�M�*�%�
���6�2�2�Q�6�7�E�$���\�\��\�;�;��%�%�i����U�J�<�;�%�8�)>�=�=��>�=�=��<�;�;�s6�=L
�(=L0
�'"M
�L-�$L-�0M�9M�M�Mc
�$�UOQ6cUOQ2[]*2o[FCD@oUO	UQ59^tt^2UOUO
UO2U22oUOU2]*2UOUO
UO2U22oUOUU2]*2UOUO
UO2U22oUOU2]+2UOUO
UO2U22oUOU2],2PPP2CJC	P!)%fhCJY9h�r+znot supported in Python < 3.15r�r�)rrG�PrivateMethodsrr�r�r�
get_methodr��get_unbound_method�get_classmethod�get_staticmethod�r4r�r�r�s&   r�test_private_methods�(AbstractPickleTests.test_private_methods�s$���?�?�W�$��M�M�:�;��R� ���Y�E����E��*�*� �J�J�t�z�z�#�.�.�2B�E�'J�K�	�� � ���b�1� �J�J�t�z�z�#�2H�2H�2J�E�'R�S�	�� � ��3���4� �J�J�t�z�z�#�2E�2E�2G��'O�P�	�� � ���b�1� �J�J�t�z�z�#�2F�2F�2H�%�'P�Q�	�� � ���b�1�+�*��*�*�*�s�DE=	�=F
�F
c
���UOQ6cUOQ2[O2oUO	2o[
FD�oUO
UQ59^tt^2UOUOV22oUOVA2UOUOV#22oUOVB2PPP2J�	P!)%fhJ�9hr�)
rrG�PrivateNestedClasses�
get_nested�get_nested2rr�r�rr�)r4�cls1�cls2r�r�s&    r�test_private_nested_classes�/AbstractPickleTests.test_private_nested_classes�s����?�?�W�$��M�M�:�;�#�.�.�0�����!���Y�E����E��*�*� �J�J�t�z�z�$�'>�?�	��
�
�i�.� �J�J�t�z�z�$�'>�?�	��
�
�i�.�	+�*��*�*�*�s�,A#C	�C.
�&C.
c
�@�[2o]Um[FDloUOUQ59^tt^2UO	UOV22oUO
UOUO2PPP2Jn	P!)%fhJ�9hr�)r�rXrr�r�rr�r�s&   r�test_object_with_attrs�*AbstractPickleTests.test_object_with_attrs�sn���h������Y�E����E��*�*� �J�J�t�z�z�#�'=�>�	�� � ����c�e�e�4�+�*��*�*�*�s�AB	�B
�B
c
���[2o]UmUO[UOU]2UO[UOU]2[
Q*FD~oUO
UQ59^tt^2UOUO	V22oUOUOUO2UOUQ2PPP2J�	[2o]Um]UmUO[UOU]2UO[UOU]2[
Q*FD�oUO
UQ59^tt^2UOUO	V22oUOUOUO2UOUOUO2UOUQ2PPP2J�	[2o]Um]UmUO[UOU]2UO[UOU]2[
Q*FD�oUO
UQ59^tt^2UOUO	V22oUOUOUO2UOUOUO2UOUOUO2UOUQ2PPP2J�	P!)%fhCJ�9h)%fhCJ	9h)%fhCJ9h)r*rr�r�)�	WithSlotsrXr�rWrrr�r�r��assertNotHasAttr�WithSlotsSubclassr��WithSlotsAndDictr�r�s&   r�test_object_with_slots�*AbstractPickleTests.test_object_with_slots�sv���k��������)�T�Z�Z��a�8����)�T�Z�Z��a�8��r�]�]�E����E��*�*� �J�J�t�z�z�#�'=�>�	�� � ����c�e�e�4��%�%�i��5�+�*�#� �!�����������)�T�Z�Z��a�8����)�T�Z�Z��a�8��r�]�]�E����E��*�*� �J�J�t�z�z�#�'=�>�	�� � ����c�e�e�4�� � ����c�e�e�4��%�%�i��5�	+�*�#�� �����������)�T�Z�Z��a�8����)�T�Z�Z��a�8��r�]�]�E����E��*�*� �J�J�t�z�z�#�'=�>�	�� � ����c�e�e�4�� � ����c�e�e�4�� � ��!3�!3�S�\�\�B��%�%�i��5�+�*�#�-+�*�*��+�*�*��+�*�*�s9�AL3	�.A?M	�B%M	�3M
�<M
�M
�M
�M/
�&M/
c
���[]2o[FDtoUOUQ59^tt^2UOUO	V22oUOUO
2UO
22PPP2Jv	[]]2o[FD�oUOUQ59^tt^2UOUO	V22oUOUO
2UO
22UOUO2UO22PPP2J�	P!)%fhCJE9h)%fhJ�9hr�)	�WithPrivateAttrsrr�r�rr�rd�WithPrivateAttrsSubclass�get2r�s&   r�test_object_with_private_attrs�2AbstractPickleTests.test_object_with_private_attrss����q�!���Y�E����E��*�*� �J�J�t�z�z�#�'=�>�	�� � �����#�'�'�)�<�+�*��
'�q�!�,���Y�E����E��*�*� �J�J�t�z�z�#�'=�>�	�� � �����#�'�'�)�<�� � ����!1�3�8�8�:�>�+�*��+�*�*��+�*�*�s%�AE	�<A=E	�E
�E
�E-
�%E-
c
��[]2oUO[UOU]2UO[UOU]2[Q*FDtoUOUQ59^tt^2UO
UOV22oUOUO2UO22PPP2Jv	[]]2oUO[UOU]2UO[UOU]2[Q*FD�oUOUQ59^tt^2UO
UOV22oUOUO2UO22UOUO2UO22PPP2J�	P!)%fhCJ�9h)%fhJ�9h)r*rr�)�WithPrivateSlotsr�rWrrr�r�r�rd�WithPrivateSlotsSubclassrr�s&   r�test_object_with_private_slots�2AbstractPickleTests.test_object_with_private_slotssg���q�!�����)�T�Z�Z��a�8����)�T�Z�Z��a�8��r�]�]�E����E��*�*� �J�J�t�z�z�#�'=�>�	�� � �����#�'�'�)�<�+�*�#�
'�q�!�,�����)�T�Z�Z��a�8����)�T�Z�Z��a�8��r�]�]�E����E��*�*� �J�J�t�z�z�#�'=�>�	�� � �����#�'�'�)�<�� � ����!1�3�8�8�:�>�+�*�#�+�*�*��+�*�*�s&�<AG	�A=G2	�G/
�&G/
�2H
�;H
c
��UOQ6cUOQ2[]]2QQ1[[Q2QQ1[
OQQ1[OQQ1[2Q	Q
1[O2QQ1[O2Q
Q
1[O2QQ1,oSFD�vq#o[]2FD�oUO[U2UQ59^tt^2UO!V%2oUO#QU8QU80O%2U2UO'[UO)U22[U22PPP2J�	J�	P!)%fhJ�9h)r+zdoesn't work in Python < 3.4'rP�xrange�123�	itertools�imapr0r2�
exceptionsr'r4�IterableUserDict�UserListr3�defaultdict)rlr�r�rr�)rrGr"rar%r/r0r1r2r'r3r4r!r"r�rlrrrr�r�)r4�tests�valr�rxr�r�s&      r�test_compat_pickle�&AbstractPickleTests.test_compat_pickle+s7���?�?�V�#��M�M�9�:�
�1�a�[�-��2�
��e�_�k�6�2�
�
�
�}�h�7�
�[�[�)�Y�/�
�[�,��4�
�
!�
!�
#�Z�1C�D�
�
!�
!�
#�Z��<�
�
$�
$�
&�
�}�E�	
��$�N�C�d��q����\�\�t�C�y��\�>�>�"�j�j��4�G��M�M��T�#:�"B�"B�"D�g�N��M�M�$�t�z�z�'�':�";�T�#�Y�G�?�>�"�$�>�>�>�s�7A-E6
�6F�?Fc
#�H �Qo[U2w�	[U2w�	[dw[U2o[OUQQ5o][O1FD;o[UQQUQ5w�	[UQQQUQ5w�	[UQQQ	UQ5w�	J=	P!P!3h)
�abcdefgh�little)�	byteorderr�)r�r�r�)r�r�r�r�)r)r,r*r�r�)r�r
r~r�r%�
from_bytesr�r|)r4�
bytestringr�rr�s&    r�buffer_like_objects�'AbstractPickleTests.buffer_like_objectsCs���� �
��J�'�'��
�+�+��"���$�E��N�N�:��N�B�E��[�4�4�5��&�u�S��-2�4�4�'�u�S��/5�U�D�D�'�u�S�-3�V�-2�4�4�6�#�s�'B"�A8B"c
�`�UO2FCD�o[][O]*2FCDkoUO	V2oUO
%cU]6�cUO
QU2UO[[OU2]2U]6�c�SO[[OU2UO%c]L]2SO[[OU2UO%c]L]2QoUO	VUQ5oUOVS2UOU2oUOVa2UO[!U2[!U22UOVa2CJn	CJ�	P!)rr(c��P	!�Tr$�r�s&rr��AAbstractPickleTests.test_in_band_buffers.<locals>.buffer_callbackgs��#rr�)r-r"rr�rr�rr�r!�NEXT_BUFFER�SHORT_BINBYTESr�rr�r�r�rl)r4r�r�r�r��data2r�s&      r�test_in_band_buffers�(AbstractPickleTests.test_in_band_buffersWsI���+�+�-�-�C��q�&�"9�"9�A�"=�>�>���z�z�#�-���#�#�#���
��M�M�+�t�4�� � ��f�.@�.@�$�!G��K��A�:��$�$�\�&�2G�2G��%N�*-�,�,�,�Q�A�?��$�$�\�&�2C�2C�T�%J�*-�,�,�,�Q�A�?�$� �J�J�s�7F�'�H�E��$�$�U�1��j�j��&��� � ��*��
�
�d�3�i��c��3�� � ��*�/?�.rc�`�UO2FCD�o[]]2FDFoUO[29^tt^2UO	V,O
Q5PPP2JH	[][O]*2FCDEo,nU1QkoUO	VUQ5oUOQU2UO[[OU2]2UO[[OU2]2UO[[OU2]2SO[[OU2UO%c]L]2UO %c#UO[#R]*2Q2UO[O$29^tt^2UO'U2PPP2UO'URQ5oUO(%cUO+VQ2L5UO+[-U2[-U22UOVQ2UO'U[/R2Q5oUO(%cUO+VQ2CJUO+[-U2[-U22UOVQ2CJH	CJ�	P!)%fhCJ�9h)%fhCK9h)rr�c�D:�ROUO22!r#)r�r�)r�r�s&�rr��6AbstractPickleTests.test_oob_buffers.<locals>.<lambda>�s���W�^�^�B�F�F�H�-Err(r�)r-r"r�rrr�rr�rr�r!r5rr4�READONLY_BUFFERr�r�r2rcr�r�r�rlru)r4r�r�r�r�r�r�s&     @r�test_oob_buffers�$AbstractPickleTests.test_oob_buffersvs;����+�+�-�-�C��q�!����&�&�z�2�2��J�J�s�/1�y�y��:�3�2�%�
�q�&�"9�"9�A�"=�>�>����"E���z�z�#�2A�"�C��� � ��d�3�� � ��f�.C�.C�T�!J�A�N�� � ��f�.?�.?��!F��J�� � ��f�.@�.@�$�!G��K�� � ��f�.D�.D�d�!K�&)�l�l�l���;��#�#�#��$�$�U�7�1�:�%6��D��&�&�v�'=�'=�>�>��J�J�t�$�?��j�j��w�j�7���,�,�,��M�M�#�+��M�M�$�s�)�T�#�Y�7��$�$�S�.��j�j��t�G�}�j�=���,�,�,��M�M�#�+��M�M�$�s�)�T�#�Y�7��$�$�S�.�A?�
.�3�2�2��$?�>�>�s$�K"
�K7
�"K4�+K4�7L�Lc�`�[Q2o[][O]*2FD{o,oUOoUOVUQ5o[
[U2oUOVSQ5oUO[U2[U22UOVa2J}	P!�r�r�r�)r�r"rr�r�rrarzr�r�rlr�)r4r�r�r�r�r�r�s&      r�%test_oob_buffers_writable_to_readonly�9AbstractPickleTests.test_oob_buffers_writable_to_readonly�s����I�&���1�f�5�5��9�:�E��G�%�n�n�O��:�:�c�/�:�J�D��)�W�-�G��*�*�T�*�3�C��M�M�$�s�)�T�#�Y�/����S�&�;rc	��[OQ2o[][O]*2FD�oUO	V,O
Q5oUO
[29^tt^2UOU[2Q5PPP2UO
[O29^tt^2UOU,Q5PPP2J�	P!)%fhKY9h)%fhJ�9hr@)rr�r"r�rr�r�rWr�r*rc)r4r�r�r�s&   r�test_buffers_error�&AbstractPickleTests.test_buffers_error�s���
�
 �
 ��
+���1�f�5�5��9�:�E��:�:�b����:�C�D��"�"�9�-�-��
�
�4���
�2�.��"�"�6�#9�#9�:�:��
�
�4��
�,�;�:�
;�.�-��;�:�:�s$�7C$	�C7	�$C4
�-C4
�7D
�D
c��[][O]*2FD*oUO]UPQ5oUO	UPQ5oJ,	P!)r-r�r�)r"rr�rr�)r4r��data_pickledr�s&   r�+test_inband_accept_default_buffers_argument�?AbstractPickleTests.test_inband_accept_default_buffers_argument�sD���1�f�5�5��9�:�E��:�:�a���:�E�L��:�:�l�D�:�9�D�;rzTest needs Numpyc�,```�U1QknU1QknUUU1Qko[O]2oUU2UUQ*2[O]2OQ2oUU2UUO2UUQ*2P!)c�:�[OOV2ROUOO
UOO
2P!r#)�np�testing�assert_equalr��ctypesr��r&r�r4s&&�r�
check_no_copy�=AbstractPickleTests.test_buffers_numpy.<locals>.check_no_copy�s5����J�J�#�#�A�)����Q�X�X�]�]�A�H�H�M�M�:rc�:�[OOV2ROUOO
UOO
2P!r#)rLrMrNr|rOr�rPs&&�r�
check_copy�:AbstractPickleTests.test_buffers_numpy.<locals>.check_copy�s5����J�J�#�#�A�)�������
�
�q�x�x�}�}�=rc�:�[][O]*2FD-oROV2oRO	U2oRV2J/	[][O]*2FD2oQoROVUQ5oRO	U2oRV2J4	[][O]*2FD�o,oUO
oROVUQ5oRO	V%Q5oUOO%fUOO%cRV2JxRV2J�	P!)rc��P	!r1r$)r�s&rr��MAbstractPickleTests.test_buffers_numpy.<locals>.check_array.<locals>.<lambda>�s��Drr�r�)	r"rr�rr�r�r�r�r�)	�arrr�r�r�r�r�rTrQr4s	&     ���r�check_array�;AbstractPickleTests.test_buffers_numpy.<locals>.check_array�s����q�&�"9�"9�A�"=�>���z�z�#�-���j�j��&���3�$�?��q�&�"9�"9�A�"=�>��"0���z�z�#�o�z�N���j�j��&���3�$�	?��q�&�"9�"9�A�"=�>����")�.�.���z�z�#�o�z�N���j�j��j�7���9�9�)�)�)�S�Y�Y�-C�-C�-C�!�#�+��s�(�?rr�r�)rL�arange�reshape�T)r4rZrYrTrQsf  @@r�test_buffers_numpy�&AbstractPickleTests.test_buffers_numpy�sm���	;�	>�	)�.�i�i��l���C���C��H���i�i��m�#�#�F�+���C���C�E�E���C��H�rc�0�QoUOU2P!)c�"�Qo[U2U1!)r�saaaaaaaaaaaaaaaa)rz)r�s rr��VAbstractPickleTests.test_concurrent_mutation_in_buffer_with_bytearray.<locals>.factory�s���A��Q�<��?�"r��.do_test_concurrent_mutation_in_buffer_callback�r4r�s& r�1test_concurrent_mutation_in_buffer_with_bytearray�EAbstractPickleTests.test_concurrent_mutation_in_buffer_with_bytearray�s��	#�	
�;�;�G�Drc�0�QoUOU2P!)c�R�[Q2Q*oQ[U2*oV1!)r�:r��Ns aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)r�r)r��subs  rr��WAbstractPickleTests.test_concurrent_mutation_in_buffer_with_memoryview.<locals>.factory�s%���Y�'��.�C���S��/�C��8�Orrdrfs& r�2test_concurrent_mutation_in_buffer_with_memoryview�FAbstractPickleTests.test_concurrent_mutation_in_buffer_with_memoryview�s��	�	
�;�;�G�Drc
�z``�U1QkQ2n[][O]*2FDpoU2vq4[OU2nU1QkoUO	V#UQ59^tt^2UORV%Q5oUO
VF2PPP2Jr	P!)%fhJ�9h)c�0:`�\sQsQsnU1QksQsUsP!)�MAbstractPickleTests.do_test_concurrent_mutation_in_buffer_callback.<locals>.Ri�c�*:�RO2P	!r1)�release)r4rs&�r�__bool__�VAbstractPickleTests.do_test_concurrent_mutation_in_buffer_callback.<locals>.R.__bool__�s������
�rr$)rFrGrHrIrurJrK)rMrs@�r�Rrr�s����
�
rrwc�:�R2!r#r$)r�rws&�rr��TAbstractPickleTests.do_test_concurrent_mutation_in_buffer_callback.<locals>.<lambda>s����r)r�r�rlr�)r"rr�r�r�rr)	r4r�r�r�rlr��resrwrs	&&     @@rre�BAbstractPickleTests.do_test_concurrent_mutation_in_buffer_callback�s����	�	�
�1�f�5�5��9�:�E��y�H�C��%�%�c�*�C�+�O����E���<�<��j�j��e�j�M���
�
�c�'�=�<�;�
=�<�<�s�6%B)	�)B:
�2B:
c��```	�]QHGn	UUU	1QkQ2r[FD�o[	]2FDooP
n[	]2Tt-tFDo[2[2aJ	tonRFDoV3mRUmJ	P	nUORU2oUOU2Jq	J�	P!ttoh[c)oQoSOS[S22Po=J�Po=hh9h)r)�getrandbitsc�D:`�\sQsQsnU1QksQsUU1QksQsUsP!)�Badic�
:�R!r#r$)r4ro�ENABLEDs&&�rrp�
Bad.__eq__
s����rc��]*!)rr$r9s&rr��Bad.__hash__s��rc�P:�R]2]6XcRO2[Q1!)r.r$)r�r)r4r�r}s&��rrt�Bad.__reduce__s%����q�>�Q�&��$�$�&��R�y� rr$)	rFrGrHrIrpr�rtrJrK)rMr�r�r}s@���rrrs����
�
�
!�
!rrr�)�randomr}rrr"rr�rr�r�rr)
r4r�r�rr�r�rr�r�r}s
&      @@@r�test_evil_class_mutating_dict�1AbstractPickleTests.test_evil_class_mutating_dicts����&�	!�	!��Y�E��2�Y����49�"�I�>�I�q�c�e�S�U�l�I�>�
�%�C�!�G�%/�C�N�&���4��:�:�j�%�8�D��J�J�t�$����?��$�4�>�H��M�M�(�C��F�3�3��4�s$�B)�<#B.�.	C!�8C!�9C�C!c	�r�[UQ2%fUOQ2[[]*2Tt,tFD
p1U2MJ	oo[U[O
]*2oSFD�oUO
UQ59^tt^2[O2oUOVvQ5o]Um
UOU2UO]2UOU2O2o	UOV�2PPP2J�	P!ttoh)%fhJ�9h�r?zneed Pickler classr�r�)r�rGr"�FAST_NESTING_LIMITrr�r�r>rQr?r�r�r@r�r�r�)
r4r�rr�r�rr�rr?r6s
&&&       r�fast_save_enter�#AbstractPickleTests.fast_save_enter%s����t�Y�'�'��M�M�.�/�(-�.@�1�.D�(E�F�(E�1��A��(E��F��+�v�'>�'>��'B�C�	��E����E��*�*��j�j�l���,�,�s�,�;�� ������T�"���������s�+�0�0�2��� � ��-�+�*���G�+�*�*�s�D �BD%	�%D6
�.D6
c�,�UOQ2P!)c�
�U1!r#r$r�s&rr��@AbstractPickleTests.test_fast_save_enter_tuple.<locals>.<lambda>:s���tr�r�r9s&r�test_fast_save_enter_tuple�.AbstractPickleTests.test_fast_save_enter_tuple9s�����^�,rc�,�UOQ2P!)c�
�U,!r#r$r�s&rr��?AbstractPickleTests.test_fast_save_enter_list.<locals>.<lambda>=s���srr�r9s&r�test_fast_save_enter_list�-AbstractPickleTests.test_fast_save_enter_list<s�����]�+rc�,�UOQ2P!)c��[U,2!r#�r�r�s&rr��DAbstractPickleTests.test_fast_save_enter_frozenset.<locals>.<lambda>@s
��y�!��~rr�r9s&r�test_fast_save_enter_frozenset�2AbstractPickleTests.test_fast_save_enter_frozenset?s�����5�6rc�,�UOQ2P!)c��[U,2!r#)r r�s&rr��>AbstractPickleTests.test_fast_save_enter_set.<locals>.<lambda>Cs
��s�A�3�xrr�r9s&r�test_fast_save_enter_set�,AbstractPickleTests.test_fast_save_enter_setBs�����/�0rc�t�UOQ6cUOQ2UOQ]Q5P!)r+r�c��[UQ5!)r��r�r�s&rr��EAbstractPickleTests.test_fast_save_enter_frozendict.<locals>.<lambda>Hs	��z�a�'8rr'r�)rrGr�r9s&r�test_fast_save_enter_frozendict�3AbstractPickleTests.test_fast_save_enter_frozendictEs/���?�?�W�$��M�M�+�,����8�a��Hrc�,�UOQ2P!)c��QU-!r�r$r�s&rr��?AbstractPickleTests.test_fast_save_enter_dict.<locals>.<lambda>Ks���q�zrr�r9s&r�test_fast_save_enter_dict�-AbstractPickleTests.test_fast_save_enter_dictJs�����1�2rc	�\�[UQ2%fUOQ2Po[U2FDoUU2oJ
	[U[O]*2oSFD�oUOUQ59^tt^2[O2o	UOV�Q5o
]U
m	U
OU2U	O]2UOU	2O2oU%cUOV�2PPP2J�	P!)%fhJ�9hr�)r�rGr"rr�r�r>rQr?r�r�r@r�r�r�)r4�
create_nestedr�
compare_equal�depthr�r�rr�rr?r6s&&&&&       r�deep_nested_struct�&AbstractPickleTests.deep_nested_structMs���
�t�Y�'�'��M�M�.�/����u��A� ��&�D���+�v�'>�'>��'B�C�	��E����E��*�*��j�j�l���,�,�s�,�;�� ������T�"���������s�+�0�0�2�� ��$�$�U�1�+�*��*�*�*�s�A7D	�;D	�D+
�#D+
c�,�UOQ2P!)c�
�U1!r#r$r�s&rr��CAbstractPickleTests.test_deep_nested_struct_tuple.<locals>.<lambda>gs��d�Wr�r�r9s&r�test_deep_nested_struct_tuple�1AbstractPickleTests.test_deep_nested_struct_tuplefs����� 4�5rc�,�UOQ2P!)c�
�U,!r#r$r�s&rr��BAbstractPickleTests.test_deep_nested_struct_list.<locals>.<lambda>js��d�Vrr�r9s&r�test_deep_nested_struct_list�0AbstractPickleTests.test_deep_nested_struct_listis����� 3�4rc�,�UOQ2P!)c��[]U12!r)r�r�s&rr��GAbstractPickleTests.test_deep_nested_struct_frozenset.<locals>.<lambda>ms
��Y��4�y�-Arr�r9s&r�!test_deep_nested_struct_frozenset�5AbstractPickleTests.test_deep_nested_struct_frozensetls����� A�Brc�H�UOQ[]*P
Q5P!)c��[U2.!r#)rgr�s&rr��AAbstractPickleTests.test_deep_nested_struct_set.<locals>.<lambda>ps
��a��g�Yr)r�r�)r�r�r9s&r�test_deep_nested_struct_set�/AbstractPickleTests.test_deep_nested_struct_setos#����� 6�&8��&:�.3�	 �	5rc�t�UOQ6cUOQ2UOQ]Q5P!)r+r�c��[UQ5!)r%r�r�s&rr��HAbstractPickleTests.test_deep_nested_struct_frozendict.<locals>.<lambda>ws	��Z�$�-?rr'r�)rrGr�r9s&r�"test_deep_nested_struct_frozendict�6AbstractPickleTests.test_deep_nested_struct_frozendictts4���?�?�W�$��M�M�+�,���� ?�,-�	 �	/rc�,�UOQ2P!)c��QU-!r%r$r�s&rr��BAbstractPickleTests.test_deep_nested_struct_dict.<locals>.<lambda>{s��c�4�[rr�r9s&r�test_deep_nested_struct_dict�0AbstractPickleTests.test_deep_nested_struct_dictzs����� 8�9rr$)Nrr]r�)�rFrGrHrIr��version_infor�	optimizedr�r�r�r�r
rrr'rr"r(r0r3r6r:r@rFrIrMrUrYr\r_rdrhrkrnrsrvryr|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�rrrrr!r)r.rr4r;r>rDrHrPrVrZr`rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr"r&r+r0r4r8r<r@rLrUrZr^rerhrmrsrr}r�r�skip_if_pgo_task�requires_resourcer�r�r�r�r�r�r�r�r�r�rrr
rrr%r-r7r=rArDrH�unittest�skipIfrLr_rgrnrer�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rJrKrLs@rr�r�"
s*�����!�!�J��I�%�/�/�I�
�+�9�9�N�*�6/�	,�08�Q�
#�(�9�E�:B�q�&�42�C�O�08�Q�
#�(�9�G�:B�q�&�42�C�Q�4<��6�,�=�K�>F�ST�9�86�G�U�/�0%�+�"#6�JF�G�O�U�
6�<�H�:�Q�8�>�/�J�
=�
	.�L�
?�
&�)�,	+�'�&�
6�E�.L�&6�:4�0.�*�%�.0��h���"�5�:�6�:�3�.�7�,�*�.&�1�(�8�"*0�X8�*I�J�L�L�%?�N?�2&�&�E�(E�0,�R��89�9�
9�
2�,3�.9�2*�,*�:*�6"�2�-�-�.�2��1�,� ,�
+�K�)�
Q�N��N�!��-H�^
������u�%�2�&��2�"!:�F(F�T
���B.��B.�H
2�
�
�,K�\2K�h
2�
/�5�"6�H?�?�$H�04�(+�>(/�T'�	-�:�
�_�_�R�4�Z�!3�4�*�5�*�XE�E�(� 4�<.�(-�,�7�1�I�
3�()��!3�a�!7�2�26�5�C�5�
/�:�:rr�c��`�\sQsQsn\\QP
Q5Q2s\\QP
Q5Q2s\\QP
Q5Q2s	\\]P
Q5Q2s
\\]P
Q5Q	2sQ
sUs
P!)�BigmemPickleTestsi~g������@)r-�memuse�dry_runc�z�]]U**o[FDmoU]6cJUOUQ59^tt^2UO[[129^tt^2UOV#Q5PPP2PPP2Jo	PoP!)%fhK 9h)%fhJ�9hPoh9h)r*r�r�)rr�r�rrdr)r4r-r�r�s&&  r�test_huge_long_32b�$BigmemPickleTests.test_huge_long_32b�s����Q��X���	�"����1�9���\�\��\�.�.��*�*�J�
�+F�G�G��
�
�4�
�8�H�/�.�#��D�H�G��/�.�.���D�sL�B6�B6�$B"	�$B
�7B"	�?B6�B�B�B"	�"B3
�+B3
�-	B6�6B:g@c���QU]**o[FD�oU]6cJUOUQ59^tt^2UOV#Q5o[O[
OQ[U22*oUOU2oUOUVF[U2*
U2PoPPP2J�	PoP!Poh9h)%fhJ�9hPoh9h)�abcdr�r�r;)
rr�rrrwr>r?rr�r��r4r-r�r�r��header�
data_starts&&     r�test_huge_bytes_32b�%BigmemPickleTests.test_huge_bytes_32b�s����$�!�)�$��	�"����1�9���\�\��\�.�.�	'�"&�*�*�T�*�"B��"(�/�/�"(�+�+�d�C��I�">�#?��%,�]�]�4�%8�
��(�(�"�#�s�6�{�$:�:�F�H�#'��/�.�#��D��#'���/�.�.���D�sG�C,�C,�C	�A<C�>C	�C,�C�C	�C)
�!C)
�#	C,�,C0c��QU]**o[FCDoU]6cJ
UOUQ59^tt^2U]6XcJUO[[129^tt^2UOV#Q5PPP2PPP2JxUOV#Q5o[O[OQ[U22*oUOU2oUOUVF[U2*
U2PoPPP2CJ	PoP!)%fhK�9hPoh9h)%fhCJ59hPoh9h)sacbdr�r�r�)
rr�r�rrdrrrxr>r?rr�r�r�s&&     r�test_huge_bytes_64b�%BigmemPickleTests.test_huge_bytes_64b�s���$�!�)�$��	�"����1�9���\�\��\�.�.���z�"�.�.�
�M�/J�K�K� �J�J�t�J�<�L� �
/�.�	'�"&�*�*�T�*�"B��"(�"2�"2�"(�+�+�d�C��I�">�#?��%,�]�]�4�%8�
��(�(�"�#�s�6�{�$:�:�F�H�#'��!/�.�#�*�D�L�K��#'���!/�.�.��$�D�sq�E�E�D=	�	#D=	�,D#
�?	D=	�
E�A<D6�D=	�
E�#D3�,D3�.D=	�6D:�:D=	�=E
�E
�
E�Ec��QU]**o[FCDoU]6XcJ
UOUQ59^tt^2UOV#Q5o[O[
OQ[U22*oUOQ2oUOUVF[U2*
U2UOUOQ2[Q2*UOQ2*
[U22PoPPP2CJ	PoP!Poh9h)%fhCJ"9hPoh9h)r�r�r�r;r�)rr�rrryr>r?rr�r��rindexr�s&&     r�test_huge_str_32b�#BigmemPickleTests.test_huge_str_32b�s������#��	�"����A�:���\�\��\�.�.�'�"&�*�*�T�*�"B��"(�"3�"3�"(�+�+�d�C��I�">�#?��%,�]�]�7�%;�
��(�(�"�#�s�6�{�$:�:�F�H��(�(�'�.�.��*A�C��L�*P�*1�-�-��*@�+A�CF�t�9�N�#'��/�.�#�"�D��#'���/�.�.���D�sG�D?�D?�D*	�CD#�D*	�
D?�#D'�'D*	�*D<
�3D<
�5
D?�?Ec�R�QU]**o[FCDPoU]6XcJ
UOUQ59^tt^2U]6cJUO[[129^tt^2UOV#Q5PPP2PPP2JxUOV#Q5o[O[OQ[U22*oUOQ2oUOUVF[U2*
U2UOUOQ2[Q2*UOQ2*
[U22PoPPP2CJS	PoP!)%fhK�9hPoh9h)%fhCJ�9hPoh9h)r�r�r�r�r�)rr�r�rrdrrrzr>r?rr�r�r�r�s&&     r�test_huge_str_64b�#BigmemPickleTests.test_huge_str_64b�sZ������#��	�"����A�:���\�\��\�.�.��q�y�!�.�.�
�M�/J�K�K� �J�J�t�J�<�L� �	/�.�
'�"&�*�*�T�*�"B��"(�"4�"4�"(�+�+�d�C��I�">�#?��%,�]�]�7�%;�
��(�(�"�#�s�6�{�$:�:�F�H��(�(�'�.�.��*A�C��L�*P�*1�-�-��*@�+A�CF�t�9�N�#'��!/�.�#�*�D�!L�K��#'���!/�.�.��$�D�sq�F"�F"�F
	�	#F
	�,E3
�?	F
	�
F"�CF�F
	�"
F"�3F�<F�>F
	�F
�
F
	�
F
�F
�
F"�"F&r$)rFrGrHrIr
rr�r�r	r�r�r�rJrKrLs@rr�r�~s������S��e�4�
�5�
� �S��e�4��5��(�S��e�4��5��:�S��E�2��3��4�S��E�2��3�rr�c��\sQsQsQsP!)r�i�r$rur$rrr�r��s��rr�c�(`�\sQsQsnQsQsUsP!)�Unpickleableic��[gr#r�r9s&rrt�Unpickleable.__reduce__s���rr$�rFrGrHrIrtrJrKrLs@rr�r�s�����rr�c�(`�\sQsQsnQsQsUsP!)r
ic��P!r#r$r�s&*,r�__call__�UnpickleableCallable.__call__rrr$)rFrGrHrIr�rJrKrLs@rr
r
s����
�
rr
c�(`�\sQsQsnQsQsUsP!)r�ic� �UOP!r#)r�)r4rs&&r�__getattr__�BadGetattr.__getattr__
s	����rr$)rFrGrHrIr�rJrKrLs@rr�r�s�����rr�c�4``�\sQsQsnU1QksQsUsU9s!)r$ic�>:�UQ6Xc[g[RU_	U2!)r�)rK�super�__getattribute__)r4rxr�s&&�rr�NoNew.__getattribute__s!����9�� � ��w�'��-�-rr$)rFrGrHrIrrJrK�
__classcell__)r�rMs@@rr$r$s����.�.rr$c�p`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsUsP!)�AbstractPickleModuleTestsic��[[Q2oUO2UO[UO
]{U2[O[2P![O[2h9h�r��r�r�closer�rr�rr��r4r�s& r�test_dump_closed_file�/AbstractPickleModuleTests.test_dump_closed_file�Q�������	%�
�G�G�I����j�$�)�)�S�!�<����V�$��I���V�$���2A!�!A=c��[[Q2oUO2UO[UO
]{U2[O[2P![O[2h9hr
rr
s& r�test_load_closed_file�/AbstractPickleModuleTests.test_load_closed_file"rrc���[O2o]{-]|,oUOV!2UO]2UO	U2oUOV22P!)�{)r>rQr�r@r�r�)r4�streamr�r�s&   r�test_load_from_and_dump_to_file�9AbstractPickleModuleTests.test_load_from_and_dump_to_file*sK��������R��~���	�	�$�����A���I�I�f�%�	�����)rc�H�UO[O]2P!rX)r�rr�r9s&r�test_highest_protocol�/AbstractPickleModuleTests.test_highest_protocol2s������0�0�!�4rc��[O2oUO]{UP2UO]{UPQ5UO]{P2UO]{PQ5UO	UP2UO	UPQ5P!)r)�filer�r�)r>rQr�r�Picklerr
s& r�test_callapi�&AbstractPickleModuleTests.test_callapi6sk���J�J�L���	�	�#�q�"���	�	�#�A��	�+��
�
�3����
�
�3��
�$����Q������Q���$rc	�<�[[Q2o[FD%oUO[UO
]{V2J'	UO
2[O[2P!SO
2[O[2h9h)�w)	r�rrr�rWr�rrr�)r4r�r�s&  r�test_dump_text_file�-AbstractPickleModuleTests.test_dump_text_file@sk�������	%�"����!�!�)�T�Y�Y��Q�F�#�
�G�G�I����V�$��
�G�G�I����V�$�s�0A/�/,Bc��[OQ2oUO[[O
[O1UOU2P!)sX''.)	r>rQr�r�r>r�rrcr�)r4r�s& r�test_incomplete_input�/AbstractPickleModuleTests.test_incomplete_inputIs8���J�J�w������8�V�\�\�6�3I�3I�J�D�I�I�WX�Yrc��QQUO2oQQUO2oUO[OU2O
]2UO[OU2O2P!)c�(`�\sQsQsnQsQsUsP!)�;AbstractPickleModuleTests.test_bad_init.<locals>.BadPickleriPc��P!r#r$r9s&rrW�DAbstractPickleModuleTests.test_bad_init.<locals>.BadPickler.__init__Q���rr$rYrLs@r�
BadPicklerr+P�����$�$rr/c�(`�\sQsQsnQsQsUsP!)�=AbstractPickleModuleTests.test_bad_init.<locals>.BadUnpickleriSc��P!r#r$r9s&rrW�FAbstractPickleModuleTests.test_bad_init.<locals>.BadUnpickler.__init__Tr.rr$rYrLs@r�BadUnpicklerr2Sr0rr5)rrer�rrr�rcr�)r4r/r5s&  r�
test_bad_init�'AbstractPickleModuleTests.test_bad_initMsb��	%����	%�	%�4�>�>�	%�	
���&�.�.�
��0A�0A�1�E����&�0�0�,�.�2E�2E�Frc�``�Qn[Q2nQQ2oUO[[1UOU22U1QkQ2oUO[[1UOU22U1QkQ2oUO[[1UOU22UU1QkQ2oUO[
UOU22UU1QkQ2oUO[
UOU22U1QkQ2oUO[
UOU22U1Q	kQ2oUO[[
1UOU22UU1Q
kQ2oUO	U22UU1QkQ2oUO	U22P![
cK4h9h[
cP!h9h)c��[gr#)r�r�s&*,r�raises_oserror�IAbstractPickleModuleTests.test_unpickler_bad_file.<locals>.raises_oserror[s���Mrc��[gr#r�r9s&r�bad_property�GAbstractPickleModuleTests.test_unpickler_bad_file.<locals>.bad_property]s���rc��\sQsQsQsP!)�<AbstractPickleModuleTests.test_unpickler_bad_file.<locals>.Fibr$rur$rr�Fr@br�rrAc� :�\sQsQsYsQsP!)r@igr$�rFrGrHrIrUrJ�r:s�rrAr@gs���%�Hrc� :�\sQsQsYsQsP!)r@ilr$�rFrGrHrIrTrJrDs�rrAr@ls���!�Drc�&:�\sQsQsYsYsQsP!)r@iqr$)rFrGrHrIrTrUrJ�r=r:s��rrAr@qs
����D�%�Hrc�&:�\sQsQsYsYsQsP!)r@iwr$)rFrGrHrIrUrTrJrHs��rrAr@ws
���#�H�!�Drc� :�\sQsQsYsQsP!)r@i}r$rC�r=s�rrAr@}s���#�Hrc� :�\sQsQsYsQsP!)r@i�r$rFrKs�rrAr@�s����Drc�,:�\sQsQsYsYsYsQsP!)r@i�r$)rFrGrHrIr6rTrUrJrHs��rrAr@�s����D�!�D�%�Hrc�,:�\sQsQsYsYsYsQsP!)r@i�r$)rFrGrHrI�readintorTrUrJrHs��rrAr@�s���#�H�!�D�%�Hr)r�r�rKrWrer�)r4rAr=r:s& @@r�test_unpickler_bad_file�1AbstractPickleModuleTests.test_unpickler_bad_fileYs����	�	�	�
�	�	�	����>�9�5�t�~�~�q�s�K�	&�	&����>�9�5�t�~�~�q�s�K�	"�	"����>�9�5�t�~�~�q�s�K�	&�	&�	
���+�t�~�~�q�s�;�	"�	"�	
���+�t�~�~�q�s�;�	$�	$����+�t�~�~�q�s�;�	 �	 ����>�;�7������M�	&�	&�	��N�N�1�3��
	&�	&�	��N�N�1�3����	��	���	��	�s0�G�G,�	G)�%G)�(G)�,	G;�6G;�:G;c���QQ2oUO[UOU22QQ2oUO[UOU22P!)c��\sQsQsQsP!)�:AbstractPickleModuleTests.test_pickler_bad_file.<locals>.Fi�r$rur$rrrArT�r�rrAc�2`�\sQsQsn\Q2sQsUsP!)rTi�c��[gr#r�r9s&rrV�@AbstractPickleModuleTests.test_pickler_bad_file.<locals>.F.write�s��!�!rr$)rFrGrHrIr�rVrJrKrLs@rrArT�s����
�
"��
"r)r�rWrr�)r4rAs& r�test_pickler_bad_file�/AbstractPickleModuleTests.test_pickler_bad_file�sH��	�	����)�T�\�\�1�3�7�	"�	"�	
���+�t�|�|�Q�S�9rc
��[Q2o[]]2FD=oUO[29^tt^2UV4,OQ5PPP2J?	[][
O]*2FD�o,oUOoUV4UQ5oUOQU2UO[U]*2Q2UO[
O29^tt^2UU2PPP2UVuQ5oUOV�2J�	P!)%fhCJ9h)%fhKE9h)sfoo)r�r�r�)r�r"r�rr�rr�rr�r2rcr�)	r4rr�r�r�r�r�r�r�s	&&&      r�check_dumps_loads_oob_buffers�7AbstractPickleModuleTests.check_dumps_loads_oob_buffers�s����F�#���1�a�[�E��"�"�:�.�.��c�&(�i�i�1�/�.�!�
�1�f�5�5��9�:�E��G�%�n�n�O���)8�:�D����V�T�*����U�7�1�:�.��7��"�"�6�#9�#9�:�:��d��;���.�C��M�M�#�#�;�/�.�.��;�:�s#�D$	�3	D9	�$D6
�-D6
�9E	
�E	
c�T�UOUOUO2P!r#)r[rr�r9s&r�test_dumps_loads_oob_buffers�6AbstractPickleModuleTests.test_dumps_loads_oob_buffers�s���*�*�4�:�:�t�z�z�Brc�D`�U1QkoU1QkoROV2P!)c�x:�[O2oROV1-U@UO2!r#)r>rQr�rS)r�r�r�r4s&, �rr�CAbstractPickleModuleTests.test_dump_load_oob_buffers.<locals>.dumps�s+����
�
��A��I�I�c�'��'��:�:�<�rc�Z:�[OU2oROU1-U@!r#)r>rQr�)r�r�r�r4s&, �rr��CAbstractPickleModuleTests.test_dump_load_oob_buffers.<locals>.loads�s%����
�
�4� �A��9�9�Q�)�&�)�)r)r[)r4rr�sf  r�test_dump_load_oob_buffers�4AbstractPickleModuleTests.test_dump_load_oob_buffers�s���	 �
	*�	
�*�*�5�8rr$)rFrGrHrIrrrrr r$r'r6rPrXr[r^rerJrKrLs@rrrsO����%�%�*�5�%�%�Z�
G�?�B:�$�0C�9�9rrc�4`�\sQsQsnQsQsQsQsUsP!)�AbstractPersistentPicklerTestsi�c���[U[2%c3U]*]6Xc%U9O]*
tm[U2!UQ6XcU9O]*
tmP!P!)r*�test_false_value)r�r%�id_countr�false_count)r4r*s&&rr��,AbstractPersistentPicklerTests.persistent_id�sQ���f�c�"�"�v��z�Q���M�M�Q��M��v�;��
�)�
)�����!���rc��U%fU9O]*
tmQ!U9O]*
tm[U2oU!)r*rj)�load_false_count�
load_countr%)r4�oidr*s&& r�persistent_load�.AbstractPersistentPicklerTests.persistent_load�s5����!�!�Q�&�!�%��O�O�q� �O���X�F��Mrc
���[[]
22Q,*o[FD�o]Um]Um]Um]UmUOUOUOV22U2UOUO]2UOUO]2UOUO]2UOUO
]2J�	P!)r�rj)
r�r"rrkrlrorpr�r�r)r4�Lr�s&  r�test_persistence�/AbstractPersistentPicklerTests.test_persistence�s�����r��O�1�2�2���Y�E��D�M� �D��$%�D�!��D�O����T�Z�Z��
�
�1�(<�=�q�A����T�]�]�A�.����T�-�-�q�1����T�_�_�a�0����T�2�2�A�6�r)rlrkrpro)	rFrGrHrIr�rrrvrJrKrLs@rrhrh�s������7�7rrhc�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�&AbstractIdentityPersistentPicklerTestsi�c��U!r#r$)r4r�s&&rr��4AbstractIdentityPersistentPicklerTests.persistent_id�����
rc��U!r#r$)r4�pids&&rrr�6AbstractIdentityPersistentPicklerTests.persistent_load�r|rc��UOUOV22oUOU[U22UO	V12P!r#)r�rr�rlr�r�s&&& r�_check_return_correct_type�AAbstractIdentityPersistentPicklerTests._check_return_correct_types;���J�J�t�z�z�#�5�6�	����i��c��3�����(rc��[FDBoU]6XcUOQ]2JQQPQ[1FDoUOV!2J	JD	P!)rr�sabc
zabc
g*\��(��)rr�r)r4r�r�s&  r�test_return_correct_type�?AbstractIdentityPersistentPicklerTests.test_return_correct_typesI���Y�E���z��/�/��q�9�$�g�r�:�s�C�C��3�3�C�?�D�rc�L�QoUO[O29^tt^2oUOU]2PPP2UO	[WO2Q2[OUOQ2*Q*oUO[O29^tt^2oUOU2PPP2UO	[UO2Q2P!)%fhK�9h)%fhKJ9h)u∅z2persistent IDs in protocol 0 must be ASCII stringsr�r)r�rrrr�rrU�PERSIDrrcr�)r4�
non_ascii_strrZr�s&   r�test_protocol0_is_ascii_only�CAbstractIdentityPersistentPicklerTests.test_protocol0_is_ascii_onlys���'�
�
�
�
�v�3�3�
4�
4���J�J�}�a�(�5�����R�\�\�*�M�	O��-�-�-�"6�"6�w�"?�?�&�H��
�
�
�v�5�5�
6�
6�"��J�J�w��7�����R�\�\�*�M�	O�5�
4��
7�
6�s#�D�?D�D	�	D	�D#	�D#	r$)rFrGrHrIr�rrr�r�r�rJrKrLs@rryry�s&������)�
@�
O�
Orryc�t`�\sQsQsnPsPsQsQsQsQs	Qs
QP	-QksQ	sQ
s
QsQsQ
sQsUsP!)�#AbstractPicklerUnpicklerObjectTestsic��P!r#r$r9s&rr��)AbstractPicklerUnpicklerObjectTests.setUp!s�rc�*�,QNo[FCDo[O2oUOV22oUO	U2UO2oUO
]2UO2UO	U2UO2oUO2UO
]2UO2UO	U2UO2oUOVV2UOVW2CJ	P!��abcdefg�r�r��,)rr>rQ�
pickler_classr�rSr@�truncate�
clear_memor|r�)r4r�r�r�r?�
first_pickled�second_pickled�
third_pickleds&       r�test_clear_pickler_memo�;AbstractPicklerUnpicklerObjectTests.test_clear_pickler_memo%s���*���Y�E��
�
��A��(�(��2�G��L�L����J�J�L�M�
�F�F�1�I�
�J�J�L��L�L����Z�Z�\�N�
��� �
�F�F�1�I�
�J�J�L��L�L����J�J�L�M����
�>����]�:�/rc�p�,QNo[O2oUOU2oUOU2UO	2o[O2oUOU2oUO
UmUOU2UO	2oUO
VF2P!r�)r>rQr�r�rS�memor|)r4r�r�r?r��primed�primed_pickleds&      r�test_priming_pickler_memo�=AbstractPicklerUnpicklerObjectTests.test_priming_pickler_memoEs���)���J�J�L���$�$�Q�'�����T���
�
��
��J�J�L���#�#�A�&���l�l������D����������M�:rc���,QNo[O2oUOU2oUOU2UO	2o[O2oUOU2oUO
UmUOU2UO	2oUO
[OU22oUO2oUOV�2UO
[OU22oUO
UmUO2o	UO
O2UOV�2UOV�I2P!r�)r>rQr�r�rSr��unpickler_classr�r�r�r)
r4r�r�r?r�r�r�r��unpickled_data1�unpickled_data2s
&         r�test_priming_unpickler_memo�?AbstractPicklerUnpicklerObjectTests.test_priming_unpickler_memoWs��)���J�J�L���$�$�Q�'�����T���
�
��
��J�J�L���#�#�A�&���l�l������D��������(�(����M�)B�C�	�#�.�.�*������/��%�%�b�j�j��&@�A���n�n��� �+�+�-������������/�����:�;rc���,QNo[O2oUOU2oUOU2UO	2o,QNo[O2oUOU2oUOU2UO	2o[O2oUOU2UO
]2UOU2oUOUO2U2UO
]2UO2UOU2UO
]2UOUO2U2P!)r�r�)r�r�r�)r>rQr�r�rSrVr@r�r�r�r�)r4�data1r�r?�pickled1r6�pickled2r�s&       r�test_reusing_unpickler_objects�BAbstractPicklerUnpicklerObjectTests.test_reusing_unpickler_objectsus���*���J�J�L���$�$�Q�'�����U���:�:�<��#���J�J�L���$�$�Q�'�����U���:�:�<���J�J�L��	�����	���q�	��(�(��+�	�������)�5�1�	���q�	�	�
�
��	�����	���q�	�������)�5�1rr:c
��[FCDZoUOUQ59^tt^2[Q2Tt,tFDpD[U21MJ	toQ[,*oU2oUOVcQ5oUO
U2UO2o]o	UV�*2oUOU2o
[U	2FDuoU%cUO2oUOU
O2U2U%fJEUOUO2W[	U2*2Jw	UO[U
O2PPP2CJ]	P!ttoh)%fhCJx9h)r�i�sabcder�)rr�r"rrr�r�rSr�rDr�r�r�r�)
r4�ioclassr:r�r&r�r�r?r�r�r�r�r�s
&&$          r�_check_multiple_unpicklings�?AbstractPicklerUnpicklerObjectTests._check_multiple_unpicklings�s���Y�E����E��*�*�.3�D�k�:�k��S��V��k�:�h��_�L���I���,�,�Q�,�?�����U�#��*�*�,�����G�K�(�� �0�0��3�	��q��A���f�f�h���$�$�Y�^�^�%5�u�=��x��(�(�����3��W��3E�F�"��!�!�(�I�N�N�;�!+�*���:�+�*�*�s0�
E/	�E*�BE/	�
5E/	�AE/	�*E/	�/F
�8F
c�F�UO[O2P!r#)r�r>rQr9s&r�"test_multiple_unpicklings_seekable�FAbstractPicklerUnpicklerObjectTests.test_multiple_unpicklings_seekable�s���(�(����4rc�6�UO[P
Q5P!�F)r:)r�r0r9s&r�$test_multiple_unpicklings_unseekable�HAbstractPicklerUnpicklerObjectTests.test_multiple_unpicklings_unseekable�s���(�(���(�Frc�6�UO[P
Q5P!r�)r�rOr9s&r�!test_multiple_unpicklings_minimal�EAbstractPicklerUnpicklerObjectTests.test_multiple_unpicklings_minimal�s��	
�(�(��U�(�Crc	��[[]
22o[FD�o[]]2FD�o[O[O
2UQ5oUO
VBQ5oUOU2UO]2UOU2oUOUO2U2J�	J�	P!)r�)�buffer_sizer�)r�r"rr>�BufferedRandomrQr�r�r@r�r�r�)r4r�r��buf_sizer�r?r�s&      r�"test_unpickling_buffering_readline�FAbstractPicklerUnpicklerObjectTests.test_unpickling_buffering_readline�s����E�"�I����Y�E�!�!�R�L���%�%�b�j�j�l��I���,�,�Q�,�?�����T�"����q�	� �0�0��3�	�� � ����!1�4�8�
)�rc�(�[2o[O2oQQUO2oUU2oUO	U2UO2PUmUO[29^tt^2UO	U2PPP2UO2]
UmUO[29^tt^2UO	U2PPP2P!)%fhK`9h)%fhP!9h)c��\sQsQsQsP!)�[AbstractPicklerUnpicklerObjectTests.test_pickle_invalid_reducer_override.<locals>.MyPickleri�r$rur$rr�	MyPicklerr��r�rr�)	r*r>rQr�r�r��reducer_overrider�rW)r4r�r�r�r?s&    r�$test_pickle_invalid_reducer_override�HAbstractPicklerUnpicklerObjectTests.test_pickle_invalid_reducer_override�s����h���J�J�L��	��*�*�	��A�,�����S������#'�� �
�
�
�y�
)�
)��L�L���*�	����#%�� �
�
�
�y�
)�
)��L�L���*�
)�*�
)��
*�
)�
)�s$�C-�D�-C=	�6C=	�D	�	D	r$)rFrGrHrIr�r�r�r�r�r�r�r�r�r�r�r�r�rJrKrLs@rr�r�sU�����M��O�$�;�@;�$<�<2�2<�t�<�(5�G�D�
9��rr��reduce_Ac�(`�\sQsQsnQsQsUsP!)r7i�c��[[11!r#)rr8r9s&rrt�AAA.__reduce__�s���X�K��rr$r�rLs@rr7r7�s���� � rr7c�.`�\sQsQsnQsQsQsUsP!)�BBBi�c��QUmP!)zsome attributertr9s&rrW�BBB.__init__�s��"��rc��QUmP!)�BBB.__setstate__rt)r4ras&&r�__setstate__�BBB.__setstate__�s	��#��rrt)rFrGrHrIrWr�rJrKrLs@rr�r��s����"�
$�$rr�c��QUmP!)�custom state_setterrt)r�ras&&r�setstate_bbbr��s��
"�C�Erc�(`�\sQsQsnQsQsUsP!)�AbstractCustomPicklerClassi�c��[UQP2oUQ6Xc	[Q1!UQ6Xc	[Q1!UQ6XcP
!UQ6Xc[Q2g[!)rFr��MyClass�g�h�The reducer just failedrX)�some str)r�r%rrr�)r4r��obj_names&& rr��+AbstractCustomPicklerClass.reducer_override�s[���3�
�D�1���s�?���:���y� ��
�%�%�
��_��
��_��6�7�7��rr$)rFrGrHrIr�rJrKrLs@rr�r��s�����rr�c�L`�\sQsQsnQs\OQ2sQsUs	P!)�AbstractHookTestsic���QoQoQoQQ2o[][O]*2FCDwoUOUQ59^tt^2[O
2oUO
Ve2oUOV[O,2[OUO22vq�o
UOU]2UOU	Q2UOU
[O2UO[O29^tt^2oUOU2PPP2UO![#WO$2Q2UO'[(Q29^tt^2UOU2PPP2PPP2CJz	P!)%fhK|9h)%fhK29h)%fhCJ�9h)	c��P!r#r$r$rrr��.AbstractHookTests.test_pickler_hook.<locals>.fr�rc��P!r#r$r$rrr��.AbstractHookTests.test_pickler_hook.<locals>.gr�rc��P!r#r$r$rrr��.AbstractHookTests.test_pickler_hook.<locals>.hr�rc��\sQsQsQsP!)�4AbstractHookTests.test_pickler_hook.<locals>.MyClassir$rur$rrr�r�r�rr�r�r�zQ(__reduce__|<bound method .*reducer_override.*>) must return (a )?string or tupler�)r"rr�r�r>rQr�r�r<r=r�rSr�r�r�r�assertRegexrrUr�r)r4r�r�r�r�r��bior
�new_f�some_str�math_logrZs&           r�test_pickler_hook�#AbstractHookTests.test_pickler_hooksd��
	�	�	�	�	��1�f�5�5��9�:�:�E����E��*�*��j�j�l���&�&�s�2������D�H�H�-�.�,2�L�L�����,H�)���� � ���*�� � ��:�6�
�
�
�h����1��&�&�v�';�';�<�<���F�F�1�I�=�� � ��R�\�\�!2�9�:��+�+�"�$=�?�?��F�F�1�I�?�++�*�;� =�<��?�?��++�*�*�sP�CG	�/F5
�AG	�G
�G	�5G�>G�G	�G�G�G	�G-
�$G-
c	���[][O]*2FD�oUOUQ59^tt^2Qo[O
U2o[O2oUOVA2oUOU2[OUO22o==UOU22PPP2J�	P!)%fhJ�9h)rr�c��P!r#r$r$rrr��EAbstractHookTests.test_reducer_override_no_reference_cycle.<locals>.f9s��r)
r"rr�r�r�r�r>rQr�r�r�rSrE)r4r�r��wrr�r
r�s&      r�(test_reducer_override_no_reference_cycle�:AbstractHookTests.test_reducer_override_no_reference_cycle1s����1�f�5�5��9�:�E����E��*�*���[�[��^���j�j�l���&�&�s�2�����q�	����S�\�\�^�4�����!�!�"�$�'�+�*�;�*�*�*�s�B
C	�C-
�%C-
r$)
rFrGrHrIr�rr�r�rJrKrLs@rr�r�s%����)�V
���(��(rr�c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�AbstractDispatchTableTestsiJc��[O2oUOU]2oUO[29^tt^2UO
PPP2UO
UQ2P!)%fhK$9h)r�dispatch_table)r>rQr�r�rKr�r
)r4r�r
s&  r�test_default_dispatch_table�6AbstractDispatchTableTests.test_default_dispatch_tableLsX���J�J�L�����q�!�$��
�
�
�~�
.�
.�
���/����a�!1�2�/�
.�s�
A/�/A?	�8A?	c�```�RO2nU1QkQRO2nQUUU1QkkoROUR2P!)c� :�\sQsQsYsQsP!)�GAbstractDispatchTableTests.test_class_dispatch_table.<locals>.MyPickleriXr$)rFrGrHrIr�rJ)�dts�rr�r	Xs����Nrr�c�:�[O2oRV!2oROUOR2UO	U2UO2!r#)r>rQr�r�r�rS)r�r�r�r
r�r	r4s&&  ���rr�CAbstractDispatchTableTests.test_class_dispatch_table.<locals>.dumps[sE����
�
��A��!�&�A����Q�-�-�r�2�
�F�F�3�K��:�:�<�rr#)�get_dispatch_tabler��_test_dispatch_table)r4rr�r	sf @@r�test_class_dispatch_table�4AbstractDispatchTableTests.test_class_dispatch_tableTs?���
�
$�
$�
&��	 ��*�*�	 �	 �	 �	
�!�!�%��,rc�b``�RO2nQUU1QkkoROUR2P!)Nc��:�[O2oROV!2oRUmRO	UOR2UOU2UO
2!r#)r>rQr�r�r�r�rS)r�r�r�r
r	r4s&&  ��rr�FAbstractDispatchTableTests.test_instance_dispatch_table.<locals>.dumpshsS����
�
��A��"�"�1�/�A�!�A�����Q�-�-�r�2�
�F�F�3�K��:�:�<�rr#)r	r	)r4rr	sf @r�test_instance_dispatch_table�7AbstractDispatchTableTests.test_instance_dispatch_tableds-���
�
$�
$�
&��	 �	 �	
�!�!�%��,rc�"�[2o[O2oUOU2o[	U2P-UmUO
[29^tt^2UOU2PPP2P!)%fhP!9hr#)	r*r>rQr�rlr�r�rWr�)r4r�r�r?s&   r�test_dispatch_table_None_item�8AbstractDispatchTableTests.test_dispatch_table_None_itemrsa���h���J�J�L���$�$�Q�'��"&�s�)�T�!2���
�
�
�y�
)�
)��L�L���*�
)�
)�
)�s�!A=�=B	�B	c�```�U1QkoQoQ	oUOUU2U2UOUU2U2QnU1QkoVb[$UOUU2R2UOUU2U2[2o[2oUOUU2[2UOUU2[2UOUU2[2UOUU2[2Vb[$UOUU2[2UOUU2R2UOUU2[2UOUU2[2QnU1Qko	V�[$U[UOUU2R2UOUU2[2UOUU2[2UOUU2[2UOUU2OQ2Qo
V�[$UOUU2OQ2P!)
c�@:�[ORU]22!r])rr�)r�rs&�r�custom_load_dump�IAbstractDispatchTableTests._test_dispatch_table.<locals>.custom_load_dump|s����<�<��c�1�
�.�.rc�Z�[O[OU]22!r])rr�rr2s&r�default_load_dump�JAbstractDispatchTableTests._test_dispatch_table.<locals>.default_load_dumps���<�<����S�!� 4�5�5r�reduce_1c�:�[R11!r#rE)r��REDUCE_1s&�rr	�AAbstractDispatchTableTests._test_dispatch_table.<locals>.reduce_1��������#�#r�reduce_2c�:�[R11!r#rE)r��REDUCE_2s&�rr	�AAbstractDispatchTableTests._test_dispatch_table.<locals>.reduce_2�r	rr�c�8�[QUOPP[1!)Nr$)r�r�r�r2s&r�
reduce_bbb�CAbstractDispatchTableTests._test_dispatch_table.<locals>.reduce_bbb�s����C�L�L�$��l�B�Brr�y�?@)r��complexr7r�r8r�rX)
r4rr�r	r	r�r	rXr�r	r#	r	r 	s
&f&        @@rr	�/AbstractDispatchTableTests._test_dispatch_table{s���	/�	6�

�����)�!�,�a�0����*�1�-�q�1���	$�"*�w�����)�!�,�h�7����*�1�-�q�1�
�E���E�����)�!�,�h�7����.�q�1�3�7����*�1�-�x�8����/��2�C�8�'�s�����)�!�,�h�7����)�!�,�h�7����*�1�-�x�8����/��2�C�8���	$�&�s���3�����)�!�,�h�7����.�q�1�3�7����*�1�-�x�8����/��2�C�8�	
���*�1�-�/�/�1C�D�	C�)�s��	
���)�!�,�.�.�0E�Frr$)rFrGrHrIr�r	r
	r	r	rJrKrLs@rr�r�Js'����3�-� -��@G�@Grr�r�rzDATA{0} = (z	    {0!r}�)z# Disassembly of DATA{0}zDATA{0}_DIS = """\z"""l)�rQr3r^r1r>r/r>r<rrr�r>r�r�rDr�r�r��textwrapr�http.cookiesrr~r�r�r�test.supportrrrrr	r
�test.support.import_helperr�test.support.os_helperrr
�test.support.warnings_helperrr�test.picklecommonr�numpyrL�
skipUnlessr�r�r"r�rr�rr!r'r.rQr0r*rOr[rlrjrsr|r�rr�rr��	DATA2_DISr��	DATA3_DISr��	DATA4_DISrr!r#rY�ArithmeticError�AssertionErrorrKr�r��BytesWarning�DeprecationWarningr��EnvironmentErrorr'�FloatingPointError�
FutureWarning�
GeneratorExit�IOError�
ImportWarning�IndentationErrorr�KeyError�KeyboardInterrupt�LookupError�MemoryError�	NameErrorr2r�rd�PendingDeprecationWarning�ReferenceErrorr��RuntimeWarning�
StopIteration�SyntaxError�
SyntaxWarning�SystemError�
SystemExit�TabErrorrW�UnboundLocalError�UnicodeError�UnicodeWarning�UserWarningr�Warning�ZeroDivisionErrorr%r&r(r�r�r�r�r�r�r�rr
r�r$rrhryr�r8r7r�r�r�r�r�rFrr&r�rr
r�r�r�jr2r�r$rr�<module>rT	s������
�	��	��
��
�
�
�������%����"���.�)�)�F����
�	&�	(�	(��
)��"�"�3�;�;��#6�#M�O��
�&�)�)�A�-�.�	����
�
��&�2�:�:�&�	%��	%�,:�:�*8��8����H(�H(�^��(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�[.#��`<��,�
�

�*a!�a!�H!W7�W7�tY!:�Y!:�xB|�|�~	�)�	����~��
�<�
�
��
.�.�v9�v9�r%7�%7�P O� O�Fp�p�h�� �&� �$�&�$�	"���0B(�B(�JqG�qG�h�z����
�A�
�6�*�*�1�,�
-���L�L��A���
�m�"�"�1�%�&��q�#�a�&�"�%�A��a��!�B�$�i� �A��+�$�$�Q�'�(�&�	�c�
�
��
�(�/�/��2�3�
�&�-�-�a�0�1��A��
�h��
��.�	��Mm���K���,
)�	(�	(����	
�B��sT�N�N+�.N�3N+�N�
N�N�N(	� N(	�"N+�(N+�+N8�1N8�7N8

Youez - 2016 - github.com/yon3zu
LinuXploit