+
    lh9                    &   R t ^ RIHt ^ RIHt ^ RIHtHtHt ^ RIH	t	 ^ RI
Ht ^ RIt^ RIHt ^ RIHtHt ^ RIt^ RIt^ RIt. RuOt ^ RIHt ]P/                  R4       Rt]]3tRt. RxOt^t^t  ! R R	]!4      t" ! R R
]"4      t# ! R R]"4      t$ ! R R]!4      t%Rt&Rt'Rt(Rt)Rt*Rt+Rt,Rt-Rt.Rt/R t0R!t1R"t2R#t3R$t4R%t5R&t6R't7R(t8R)t9R*t:R+t;R,t<R-t=R.t>R/t?R0t@R1tAR2tBR3tCR4tDR5tER6tFR7tGR8tHR9tIR:tJR;tKR<tLR=tMR>tNR?tOR@tPRAtQRBtRRCtSRDtTREtURFtVRGtWRHtXRItYRJtZRKt[RLt\]L]V]W]X.t]RMt^RNt_ROt`RPtaRQtbRRtcRStdRTteRUtfRVtgRWthRXtiRYtjRZtkR[tl]P                  R\ ]n! 4        4       4        ! R] R^4      to ! R_ R`4      tpRa tqRb trRc tsRd ttRe tu]v! 4       tw ! Rf Rg4      tx ! Rh Ri4      tyRyRjRRkR/Rl lltzRyRjRRkR/Rm llt{RjRRnRoRpRqRrR/Rs lt|RjRRnRoRpRqRrR/Rt lt} ^ RuIH"t"H#t#H$t$H~t~HtHtHtHtHt RyRv lt]Rw8X  d
   ]! 4        R# R#   ] d    Rt ELi ; i  ] d    ]x]yut~t]z]{]|]}3w  tttt L@i ; i)za  Create portable serialized representations of Python objects.

See module copyreg for a mechanism for registering custom picklers.
See module pickletools source for extensive comments.

Classes:

    Pickler
    Unpickler

Functions:

    dump(object, file)
    dumps(object) -> string
    load(file) -> object
    loads(bytes) -> object

Misc variables:

    __version__
    format_version
    compatible_formats

)FunctionType)dispatch_table)_extension_registry_inverted_registry_extension_cache)batched)partialN)maxsize)packunpackPickleErrorPicklingErrorUnpicklingError)PickleBufferr   TF5.0c                       ] tR t^HtRtRtR# )r   z6A common base class for the other pickling exceptions. N__name__
__module____qualname____firstlineno____doc____static_attributes__r       lib/python3.14/pickle.pyr   r   H   s    @r   c                       ] tR t^LtRtRtR# )r   zUThis exception is raised when an unpicklable object is passed to the
dump() method.

r   Nr   r   r   r   r   r   L   s     	r   c                       ] tR t^StRtRtR# )r   a
  This exception is raised when there is a problem unpickling an object,
such as a security violation.

Note that other exceptions may also be raised during unpickling, including
(but not necessarily limited to) AttributeError, EOFError, ImportError,
and IndexError.

r   Nr   r   r   r   r   r   S   s     	r   c                   &   a  ] tR t^`t o R tRtV tR# )_Stopc                    Wn         R # Nvalueselfr#   s   &&r   __init___Stop.__init__a   s    
r   r"   N)r   r   r   r   r&   r   __classdictcell____classdict__s   @r   r   r   `   s      r   r      (   .   0   1   2   F   I   J   K   L   M   N   P   Q   R   S   T   U   V   X   a   b   c   d   }   e   g   h   i   j   l   ]   o   p   q   r   s   t   )   u   Gs   I01
s   I00
                                       B   C                                       c              #      "   T F7  qP                  4       '       g   K  VP                  R 4      '       d   K3  Vx  K9  	  R# 5i)_N)isupper
startswith).0xs   & r   	<genexpr>ru      s%     I%Q99;qq||C7Hqq%s   AA
Ac                   P   a  ] tR t^t o ^tR	tR tR tR tR
R lt	R t
R tRtV tR# )_Framerc                     Wn         R V n        R # r!   )
file_writecurrent_frame)r%   ry   s   &&r   r&   _Framer.__init__   s    $!r   c                :    \         P                  ! 4       V n        R # r!   )ioBytesIOrz   r%   s   &r   start_framing_Framer.start_framing   s    ZZ\r   c                    V P                   '       d=   V P                   P                  4       ^ 8  d   V P                  RR7       RV n         R# R# R# )    TforceN)rz   tellcommit_framer   s   &r   end_framing_Framer.end_framing   sF    $"4"4"9"9";a"?D)!%D #@r   c           	        V P                   '       d   V P                   pVP                  4       V P                  8  g	   V'       d   VP                  4       pV P                  p\        V4      V P                  8  d'   V! \        \        R \        V4      4      ,           4       V! V4       \        P                  ! 4       V n         R# R# R# )<QN)rz   r   _FRAME_SIZE_TARGET	getbufferry   len_FRAME_SIZE_MINFRAMEr
   r}   r~   )r%   r   fdatawrites   &&   r   r   _Framer.commit_frame   s    ""Avvx4222e{{}t9 4 44
 %$tSY"778
 d &(ZZ\"' 7< r   c                ~    V P                   '       d   V P                   P                  V4      # V P                  V4      # r!   )rz   r   ry   r%   r   s   &&r   r   _Framer.write   s4    %%++D11??4((r   c                    V P                   pV P                  '       d   V P                  R R7       V! V4       V! V4       R# )Tr   N)ry   rz   r   )r%   headerpayloadr   s   &&& r   write_large_bytes_Framer.write_large_bytes   s8    D) 	fgr   )rz   ry   Ni   )F)r   r   r   r   r   r   r&   r   r   r   r   r   r   r(   r)   s   @r   rw   rw      s3     O""*&
20) r   rw   c                   B   a  ] tR tRt o R	R ltR tR tR tR tRt	V t
R# )
	_Unframer   Nc                ,    Wn         W n        R V n        R # r!   )	file_readfile_readlinerz   )r%   r   r   	file_tells   &&&&r   r&   _Unframer.__init__  s    "*!r   c                V   V P                   '       dx   V P                   P                  V4      pV^ 8X  d9   \        V4      ^ 8w  d)   RV n         \        V4      pV P                  V4      VR&   V# V\        V4      8  d   \	        R4      hV# \        V4      pV P                  V4      VR&   V# )r   N:NNN$pickle exhausted before end of frame)rz   readintor   r   r   )r%   bufns   && r   r   _Unframer.readinto  s    ""++C0AAv#c(a-%)"H*A3s8|%:< <HCA^^A&CFHr   c                   V P                   '       d`   V P                   P                  V4      pV'       g    V^ 8w  d   RV n         V P                  V4      # \        V4      V8  d   \	        R4      hV# V P                  V4      # )r   Nr   )rz   readr   r   r   r%   r   r   s   && r   r   _Unframer.read  ss    %%**1-DAF%)"~~a((4y1}%:< <K>>!$$r   c                    V P                   '       dU   V P                   P                  4       pV'       g   R V n         V P                  4       # VR,          ^
8w  d   \        R4      hV# V P                  4       # )Nr   )rz   readliner   r   r   s   & r   r   _Unframer.readline%  sl    %%..0D%)"))++Bx8#%:< <K%%''r   c                    V P                   '       d+   V P                   P                  4       R 8w  d   \        R4      h\        P                  ! V P                  V4      4      V n         R# )r   z4beginning of a new frame before end of current frameN)rz   r   r   r}   r~   r   r%   
frame_sizes   &&r   
load_frame_Unframer.load_frame2  sP    $"4"4"9"9";s"B!FH HZZz(BCr   )rz   r   r   r!   )r   r   r   r   r&   r   r   r   r   r   r(   r)   s   @r   r   r      s%     "
"%(D Dr   r   c                 .    V F  p\        W4      p K  	  V # r!   )getattr)objdotted_pathsubpaths   && r   _getattributer   ;  s    c# Jr   c           	        VP                  R4      p\        V RR4      pRV9   d   \        RV : 24      hVf`   \        P                  P                  4       P                  4        F-  w  r4VR8X  g   VR8X  g   Vf   K   \        WB4      V J d   Vu # K/  	  Rp \        V^ R7       \        P                  V,          p \        YB4      T J d   T#  \        R	T : RT RT 24      h  \         d     K  i ; i  \        \        \        3 d   p\        R	T : R
T: 24      hRp?ii ; i  \         d    \        R	T : RT RT 24      hi ; i)z$Find the module an object belong to..r   Nz<locals>zCan't pickle local object __main____mp_main__levelCan't pickle : z: it's not found as z: it's not the same object as )splitr   r   sysmodulescopyitemsr   AttributeError
__import__ImportError
ValueErrorKeyError)r   namer   module_namemoduleexcs   &&    r   whichmoduler   @  s   **S/K#|T2K[ 8@AA $';;#3#3#5#;#;#=Kz)-/> 5<&& = $> !>;a([)G-4 5 
w<[M4&QS S! "  X. >mC7"SG<==>
  GmC7 311<QtfF G 	GGs6   ?C%$C7 >D( %C43C47D%D  D%(!E	c                    V ^ 8X  d   R# V P                  4       ^,	          ^,           pV P                  VRRR7      pV ^ 8  d0   V^8  d)   VR,          ^8X  d   VR,          ^,          ^ 8w  d   VRR pV# )a  Encode a long to a two's complement little-endian binary string.
Note that 0 is a special case, returning an empty string, to save a
byte in the LONG1 pickling context.

>>> encode_long(0)
b''
>>> encode_long(255)
b'\xff\x00'
>>> encode_long(32767)
b'\xff\x7f'
>>> encode_long(-256)
b'\x00\xff'
>>> encode_long(-32768)
b'\x00\x80'
>>> encode_long(-128)
b'\x80'
>>> encode_long(127)
b'\x7f'
>>>
r   littleT	byteordersignedNr   )
bit_lengthto_bytes)rt   nbytesresults   &  r   encode_longr   d  sp    * 	Avlln!Q&FZZ(4Z@F1u!":6":#4":CR[FMr   c                2    \         P                  V RRR7      # )a   Decode a long from a two's complement little-endian binary string.

>>> decode_long(b'')
0
>>> decode_long(b"\xff\x00")
255
>>> decode_long(b"\xff\x7f")
32767
>>> decode_long(b"\x00\xff")
-256
>>> decode_long(b"\x00\x80")
-32768
>>> decode_long(b"\x80")
-128
>>> decode_long(b"\x7f")
127
r   Tr   )int
from_bytes)r   s   &r   decode_longr     s    $ >>$(4>@@r   c                 x    \        V 4      pVP                  pVR9   d   VP                  # V RVP                   2# )Nr   )Nbuiltinsr   )typer   r   )r   clsr   s   &  r   _Tr     sA    
s)C^^F//XQs''())r   c                     a  ] tR tRt o R'RRRR/R lltR tR tR	 tR
 tR t	R(R lt
R tR tR)RR/R llt/ tR t]]]! R4      &   R t]]]&   R t]]]&   R t]]]&   R tR t]]]&   R tR t]]]&   ]'       d	   R t]]]&   R t ] ]]!&   R t"]"]]#&   R t$]$]]%&   Rt&R t'R t(](]])&   R  t*R! t+]+]],&   R" t-]-]].&   R'R# lt/R$ t0R% t1]/]]2&   ]1]]&   R&t3V t4R# )*_Pickleri  Nfix_importsTbuffer_callbackc               4   Vf   \         pV^ 8  d   \        pM+^ Tu;8:  d   \        8:  g   M \        R\        ,          4      hVe   V^8  d   \        R4      hW@n         VP                  V n        \        T P
                  4      T n	        T P                  P                  T n        T P                  P                  T n        / T n        \        T4      T n        T^8  T n        ^ T n        T;'       d    T^8  T n        R#   \         d    \        R4      hi ; i)aY  This takes a binary file for writing a pickle data stream.

The optional *protocol* argument tells the pickler to use the
given protocol; supported protocols are 0, 1, 2, 3, 4 and 5.
The default protocol is 5. It was introduced in Python 3.8, and
is incompatible with previous versions.

Specifying a negative protocol version selects the highest
protocol version supported.  The higher the protocol used, the
more recent the version of Python needed to read the pickle
produced.

The *file* argument must have a write() method that accepts a
single bytes argument. It can thus be a file object opened for
binary writing, an io.BytesIO instance, or any other custom
object that meets this interface.

If *fix_imports* is True and *protocol* is less than 3, pickle
will try to map the new Python 3 names to the old module names
used in Python 2, so that the pickle data stream is readable
with Python 2.

If *buffer_callback* is None (the default), buffer views are
serialized into *file* as part of the pickle stream.

If *buffer_callback* is not None, then it can be called any number
of times with a buffer view.  If the callback returns a false value
(such as None), the given buffer is out-of-band; otherwise the
buffer is serialized in-band, i.e. inside the pickle stream.

It is an error if *buffer_callback* is not None and *protocol*
is None or smaller than 5.
Nzpickle protocol must be <= %dz#buffer_callback needs protocol >= 5z"file must have a 'write' attribute)DEFAULT_PROTOCOLHIGHEST_PROTOCOLr   _buffer_callbackr   _file_writer   	TypeErrorrw   framerr   _write_large_bytesmemor   protobinfastr   )r%   fileprotocolr   r   s   &&&$$r   r&   _Pickler.__init__  s    F 'Ha<'Hh2"22<?OOPP&8a<BCC /	B#zzD d../[[&&
"&++"?"?	]
q=	&778a<  	B@AA	Bs   !D   Dc                :    V P                   P                  4        R# )zClears the pickler's "memo".

The memo is the data structure that remembers which objects the
pickler has already seen, so that shared or recursive objects
are pickled by reference and not by value.  This method is
useful when re-using picklers.
N)r   clearr   s   &r   
clear_memo_Pickler.clear_memo  s     			r   c                   \        V R4      '       g%   \        RV P                  P                  : R24      hV P                  ^8  d1   V P                  \        \        RV P                  4      ,           4       V P                  ^8  d   V P                  P                  4        V P                  V4       V P                  \        4       V P                  P                  4        R# )z7Write a pickled representation of obj to the open file.r   z%Pickler.__init__() was not called by .__init__()<BN)hasattrr   	__class__r   r   r   PROTOr
   r   r   saveSTOPr   r%   r   s   &&r   dump_Pickler.dump  s     t]++37>>3J3J!M N N::?JJutD$**556::?KK%%'		#

4!r   c                   V P                   '       d   R# \        V4      V P                  9  g   Q h\        V P                  4      pV P	                  V P                  V4      4       W!3V P                  \        V4      &   R# )zStore an object in the memo.N)r   idr   r   r   put)r%   r   idxs   && r   memoize_Pickler.memoize  s[     999#wdii'''$))n

488C=! X		"S'r   c                   V P                   ^8  d   \        # V P                  '       d6   VR8  d   \        \	        RV4      ,           # \
        \	        RV4      ,           # \        \        V4      P                  R4      ,           R,           # )   r   r  <Iascii   
)	r   MEMOIZEr   BINPUTr
   LONG_BINPUTPUTreprencode)r%   r  s   &&r   r  _Pickler.put  sc    ::?NXXXSyT3//"T$_44c))'22U::r   c                    V P                   '       d6   VR 8  d   \        \        RV4      ,           # \        \        RV4      ,           # \        \        V4      P                  R4      ,           R,           # )r   r  r  r  r  )r   BINGETr
   LONG_BINGETGETr  r  r%   is   &&r   get_Pickler.get  sQ    8883wT1--"T$]22T!W^^G,,u44r   c                "   V P                   P                  4        V'       d)   V P                  V4      pVe   V P                  V4       R # V P                  P                  \        V4      4      pVe*   V P                  V P                  V^ ,          4      4       R # \        p\        V R\        4      pV\        Jd	   V! V4      pV\        J d   \        V4      pV P                  P                  V4      pVe   V! W4       R # \        V R\        4      P                  V\        4      pV\        Jd
   V! V4      pM\        V\        4      '       d   V P                  V4       R # \        VR\        4      pV\        Jd   V! V P                   4      pM;\        VR\        4      pV\        Jd	   V! 4       pM\#        R\%        V4       R24      h\'        V\(        4      '       d   V P                  W4       R #  \'        V\*        4      '       g   \#        R\%        V4       24      h\-        V4      p	^T	u;8:  d   ^8:  g   M \#        R4      hV P.                  ! VR	V/  R #   \0         d%   p
T
P3                  R
\%        T4       R24       h R p
?
ii ; i)Nreducer_overrider   __reduce_ex__
__reduce__r   z objectz.__reduce__ must return a string or tuple, not z>tuple returned by __reduce__ must contain 2 through 6 elementsr   when serializing )r   r   persistent_id	save_persr   r#  r  r   NotImplementedr   _NoValuer   dispatchr   
issubclasssave_globalr   r   r   
isinstancestrtupler   save_reduceBaseExceptionadd_note)r%   r   save_persistent_idpidrt   rvreducetr   lr   s   &&&        r   r  _Pickler.save"  s0     " $$S)Cs# IIMM"S'"=JJtxx!~&18<!BS	A!!!$A}$ T#3^DHHHUFX%C[ a&&$$S) !ox@)

+B$S,AFX-#X+mBqE7',JKK b#S%	b%((#&TUWXZU[T\$]^^ BAKaK# %H I I r** 	LL,RWIW=>	s   7A&I J*J		Jc                    R # r!   r   r  s   &&r   r*  _Pickler.persistent_idl  s    r   c                *   V P                   '       d+   V P                  VR R7       V P                  \        4       R#  V P                  \        \        V4      P                  R4      ,           R,           4       R#   \         d    \        R4      hi ; i)F)r7  r  r  2persistent IDs in protocol 0 must be ASCII stringsN)	r   r  r   	BINPERSIDPERSIDr2  r  UnicodeEncodeErrorr   r%   r8  s   &&r   r+  _Pickler.save_persp  ss    888IIceI4JJy!J

6CHOOG$<<uDE% J#HJ JJs   ;A; ;Br   c          	     	   \        V4      '       g   \        R \        V4       24      h\        V\        4      '       g   \        R\        V4       24      hV P
                  pV P                  p	\        VRR4      p
V P                  ^8  d   V
R8X  d   Vw  rp\        VR4      '       g   \        R4      hVe-   WP                  Jd   \        RVP                  : R	V: 24      hV P                  ^8  d(    V! V4        T! T4       T! T4       T	! \        4       M\        VP                  V.VO5/ VB p V! V4       T! R4       T	! \         4       MV P                  ^8  d   V
R8X  d   V^ ,          p\        VR4      '       g   \        R4      hVe-   WP                  Jd   \        RVP                  : R	V: 24      hVR,          p V! V4        T! T4       T	! \"        4       M V! V4        T! T4       T	! \         4       Tep   \%        T4      T P&                  9   dE   T	! \(        T P+                  T P&                  \%        T4      ,          ^ ,          4      ,           4       MT P-                  T4       Te   T P/                  YG4       Te   T P1                  YW4       Te\   Tf    T! T4       T	! \2        4       R#  T! T4       T! T4        T! T4       T	! \4        4       T	! \         4       T	! \(        4       R# R#   \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i  \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i  \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i  \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i  \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i  \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i  \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i  \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i  \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i  \         d%   pTP                  R
\        T4       R24       h Rp?ii ; i)zEfirst item of the tuple returned by __reduce__ must be callable, not zEsecond item of the tuple returned by __reduce__ must be a tuple, not r    __newobj_ex____new__z0first argument to __newobj_ex__() has no __new__Nz*first argument to __newobj_ex__() must be z, not r)  z classz __new__ argumentsz reconstructor
__newobj__z-first argument to __newobj__() has no __new__z'first argument to __newobj__() must be    NNz reconstructor argumentsz statez state setterr   )callabler   r   r1  r3  r  r   r   r   r  r  r5  r6  	NEWOBJ_EXr   rJ  REDUCENEWOBJr  r   POPr#  r  _batch_appends_batch_setitemsBUILDTUPLE2)r%   funcargsstate	listitems	dictitemsstate_setterr   r  r   	func_namer   kwargsr   s   &&&&&&&$      r   r4  _Pickler.save_reduce|  s    ~~ #99;D
!D E E$&& #88:4z!C D D yy

D*b1	::?yO; $Cv3	**#$VWW3mm#;# '//2}}.?vcW%N O OzzQIJL i s{{CA$A&AJ RfZZ1_l!:6 q'C3	**#$STT3mm#;# '//2}}.?vcW%N O O8DS	T
 &MT
T
 &M? #w$))#cDHHTYYr#w%7%:;;<S!  	/   0#K e& S	K ff
 c
? C % LL#4RWIV!DE % LL#4RWI=O!PQ % LL#4RWI^!LMR ! 0C	@A
 ! 0C	9KLM ! 0C	HI
 ! 0C	9QRS: % LL#4RWIV!DE % LL#4RWI]!KL % LL#4RWIV!DEs   7L  L9 8M+ N O ,P 5P3 /Q% R S	 L6L11L69M(M##M(+N6NNO(OOO>O99O>P0P++P03Q">QQ"%R0RRS"SS	S8S33S8c                0    V P                  \        4       R # r!   )r   NONEr  s   &&r   	save_none_Pickler.save_none  s    

4r   c                    V P                   ^8  d&   T P                  V'       d   \        M\        4       R# T P                  V'       d   \        M\
        4       R# )   N)r   r   NEWTRUENEWFALSETRUEFALSEr  s   &&r   	save_bool_Pickler.save_bool  s-    ::?JJ#w84JJst.r   c                   V P                   '       d   V^ 8  d_   V^8:  d)   V P                  \        \        RV4      ,           4       R# VR8:  d)   V P                  \        \        RV4      ,           4       R# RTu;8:  d   R8:  d,   M M(V P                  \
        \        RV4      ,           4       R# V P                  ^8  d|   \        V4      p\        V4      pVR8  d0   V P                  \        \        RV4      ,           V,           4       R# V P                  \        \        RV4      ,           V,           4       R# RTu;8:  d   R8:  dA   M M=V P                  \        \        V4      P                  R4      ,           R	,           4       R# V P                  \        \        V4      P                  R4      ,           R
,           4       R# )r   r  N  <Hi<ir   r  r  s   L
i   )r   r   BININT1r
   BININT2BININTr   r   r   LONG1LONG4INTr  r  LONG)r%   r   encodedr   s   &&  r   	save_long_Pickler.save_long&  s;   888
 ax$;JJwdC89&=JJwdC89c/Z/

6DsO34::?!#&GGA3w

54a=07:;  

54a=07:;#++JJsT#Y--g66>?JJtd3i..w77&@Ar   c                    V P                   '       d)   V P                  \        \        R V4      ,           4       R# V P                  \        \        V4      P                  R4      ,           R,           4       R# )>dr  r  N)r   r   BINFLOATr
   FLOATr  r  r  s   &&r   
save_float_Pickler.save_floatE  sG    888JJx$tS/12JJutCy//885@Ar   c                   V P                   ^8  g   Q h\        V4      pV^8:  d0   V P                  \        \	        RV4      ,           V,           4       R# VR8  d;   V P                   ^8  d*   V P                  \        \	        RV4      ,           V4       R# W P                  P                  8  d*   V P                  \        \	        RV4      ,           V4       R# V P                  \        \	        RV4      ,           V,           4       R# )   r      r   r  N)
r   r   r   SHORT_BINBYTESr
   r   	BINBYTES8r   r   BINBYTESr%   r   r   s   && r   _save_bytes_no_memo_Pickler._save_bytes_no_memoL  s     zzQH9JJ~T15;<^

a##IT1$=sC++000##HtD!}$<cBJJx$tQ-/#56r   c                   V P                   ^8  dS   V'       g   V P                  \        RVR7       R# V P                  \        P                  \        VR4      R3VR7       R# V P                  V4       V P                  V4       R# )r  r   latin1Nr   )r   r4  bytescodecsr  r2  r  r  r  s   &&r   
save_bytes_Pickler.save_bytesZ  st    ::>   4    "%c8"4h!?S ! J  %Sr   c                "   V P                   ^8  g   Q h\        V4      pW P                  P                  8  d*   V P	                  \
        \        RV4      ,           V4       R# V P                  \
        \        RV4      ,           V,           4       R# )   r   N)r   r   r   r   r   
BYTEARRAY8r
   r   r  s   && r   _save_bytearray_no_memo _Pickler._save_bytearray_no_memof  sd     zzQH...##JdA$>DJJzDqM1C78r   c                    V P                   ^8  dG   V'       g   V P                  \        RVR7       R# V P                  \        \        V4      3VR7       R# V P	                  V4       V P                  V4       R# )r  r  Nr   )r   r4  	bytearrayr  r  r  r  s   &&r   save_bytearray_Pickler.save_bytearrayp  sd    ::>  BC 8    U3ZMs C$$S)Sr   c                   V P                   ^8  d   \        R4      hVP                  4       ;_uu_ 4       pVP                  '       g   \        R4      hRpV P                  e   \        V P	                  V4      4      pV'       d   VP                  4       p\        V4      V P                  9   pVP                  '       d-   V'       d   V P                  V4       MzV P                  V4       MhV'       d   V P                  V4       MNV P                  V4       M<V P                  \        4       VP                  '       d   V P                  \         4       RRR4       R#   + '       g   i     R# ; i)r  z3PickleBuffer can only be pickled with protocol >= 5zHPickleBuffer can not be pickled when pointing to a non-contiguous bufferTN)r   r   raw
contiguousr   booltobytesr  r   readonlyr  r  r  r  r   NEXT_BUFFERREADONLY_BUFFER)r%   r   min_bandr   in_memos   &&    r   save_picklebuffer_Pickler.save_picklebuffer|  s   zzA~# %4 5 5a|||' )N O O((4"4#8#8#=>G ))+C g2Gzzz" 44S9 OOC0" 88= //4 JJ{+zzz

?35 s&   AEAE+E3A
E>EE.	c                   V P                   '       Ed   VP                  R R4      p\        V4      pV^8:  dA   V P                  ^8  d0   V P	                  \
        \        RV4      ,           V,           4       EM<VR8  d:   V P                  ^8  d)   V P                  \        \        RV4      ,           V4       MW0P                  P                  8  d)   V P                  \        \        RV4      ,           V4       MV P	                  \        \        RV4      ,           V,           4       MVP                  RR4      pVP                  RR	4      pVP                  R
R4      pVP                  RR4      pVP                  RR4      pV P	                  \        VP                  R4      ,           R,           4       V P                  V4       R# )utf-8surrogatepassr  r  r   r  \z\u005c z\u0000
z\u000az\u000dz\u001araw-unicode-escaper  N)r   r  r   r   r   SHORT_BINUNICODEr
   r   BINUNICODE8r   r   
BINUNICODEreplaceUNICODEr  )r%   r   rw  r   tmps   &&   r   save_str_Pickler.save_str  sC   888jj/:GGADyTZZ1_

+d4m;gEFZDJJ!O''d4m(CWMkk444''
T$](BGL

:T15?@ ++dI.C++dI.C++dI.C++dI.C++fi0CJJw,@!AAEIJSr   c                   V'       gL   V P                   '       d   V P                  \        4       R # V P                  \        \        ,           4       R # \        V4      pV P                  pV P                  pV^8:  d   V P                  ^8  d   \        V4       F  w  rV V! V4       K  	  \        V4      V9   dN   V P                  V\        V4      ,          ^ ,          4      pV P                  \        V,          V,           4       R # V P                  \         V,          4       V P#                  V4       R # V P                  p	V	! \        4       \        V4       F  w  rV V! V4       K  	  \        V4      V9   ds   V P                  V\        V4      ,          ^ ,          4      pV P                   '       d   V	! \$        V,           4       R # V	! \        V^,           ,          V,           4       R # V	! \        4       V P#                  V4       R #   \         d'   pTP                  R\        T4       RT 24       h R p?ii ; i  \         d'   pTP                  R\        T4       RT 24       h R p?ii ; i)Nr)   item )r   r   EMPTY_TUPLEMARKTUPLEr   r  r   r   	enumerater5  r6  r   r  r#  rR  _tuplesize2coder  POP_MARK)
r%   r   r   r  r   r"  elementr   r#  r   s
   &&        r   
save_tuple_Pickler.save_tuple  s   xxx

;'  

4%<(Hyyyy6djjAo'n
M - #w$hhtBsG}Q/0

37S=)  

?1-.S! 

d#C.JAW ) c7d? ((43=+,Cxxxhn%  cQqSkC'( 	eSQ % LL#4RWIVA3!GH& ! 0C	sCDs0    H!IH?!H::H?I3!I..I3c                    V P                   '       d   V P                  \        4       M V P                  \        \        ,           4       V P                  V4       V P                  W4       R # r!   )r   r   
EMPTY_LISTr  LISTr  rS  r  s   &&r   	save_list_Pickler.save_list  sA    888JJz"JJtd{#SC%r   i  c           	        V P                   pV P                  pV P                  '       g,   \        V4       F  w  rV V! V4       T! \        4       K  	  R# ^ p\        WP                  4       Fo  p	\        V	4      p
V
^8w  d7   V! \        4       \        W4       F  w  rV V! V4       K  	  V! \        4       M V! V	^ ,          4       T! \        4       W,          pKq  	  R#   \         d'   pTP                  R \        T4       RT 24       h Rp?ii ; i  \         d'   pTP                  R \        T4       RT 24       h Rp?ii ; i  \         d'   pTP                  R \        T4       RT 24       h Rp?ii ; ir)  r  N)r  r   r   r  r5  r6  r   APPENDr   
_BATCHSIZEr   r  APPENDS)r%   r   r   r  r   r"  rt   r   startbatch	batch_lens   &&&        r   rS  _Pickler._batch_appends  sU   yy

xxx!%(G f ) UOO4EE
IA~d%e3DAQ 4 gqN fE% 5 % LL#4RWIVA3!GH ) '8C	s%KL % LL#4RWIVE7!KLsG   C"D9E
"D-!DDE!!EE
E;!E66E;c                    V P                   '       d   V P                  \        4       M V P                  \        \        ,           4       V P                  V4       V P                  VP                  4       V4       R # r!   )r   r   
EMPTY_DICTr  DICTr  rT  r   r  s   &&r   	save_dict_Pickler.save_dict!  sI    888JJz"JJtd{#SSYY[#.r   c           	         V P                   pV P                  pV P                  '       g+   V F"  w  rVV! V4        V! V4       T! \        4       K$  	  R# \        WP                  4       Fq  p\        V4      ^8w  d7   V! \        4       V F  w  rVV! V4        V! V4       K  	  V! \        4       KI  V^ ,          w  rVV! V4        V! V4       T! \        4       Ks  	  R#   \         d(   pTP	                  R \        T4       RT: 24       h Rp?ii ; i  \         d(   pTP	                  R \        T4       RT: 24       h Rp?ii ; i  \         d(   pTP	                  R \        T4       RT: 24       h Rp?ii ; ir  )r  r   r   r5  r6  r   SETITEMr   r  r   r  SETITEMS)	r%   r   r   r  r   kvr   r  s	   &&&      r   rT  _Pickler._batch_setitems,  sU   yy

xxxQG g  UOO4E5zQd!DAGQ " hQxQG g' 5 % LL#4RWIVA5!IJ ) '8C	u%MN % LL#4RWIVA5!IJsG   C!DE!D,"DDE!"EEE="E88E=c                   V P                   pV P                  pV P                  ^8  d%   V P                  \        \        V4      3VR7       R# V! \        4       V P                  V4       \        WP                  4       F-  pV! \        4        V F  pV! V4       K  	  T! \        4       K/  	  R#   \         d%   pTP                  R\        T4       R24       h Rp?ii ; ir  r  Nr)  z element)r  r   r   r4  setlist	EMPTY_SETr  r   r  r  r5  r6  r   ADDITEMS)r%   r   r  r   r  itemr   s   &&     r   save_set_Pickler.save_setQ  s    yy

::>S49,C8iSS//2E$K!DJ "
 (O 3
 ! 0C	BCs   B33C">CC"c           	     8   V P                   pV P                  pV P                  ^8  d%   V P                  \        \        V4      3VR7       R# V! \        4        V F  pV! V4       K  	  \        T4      T P                  9   dF   T! \        T P                  T P                  \        T4      ,          ^ ,          4      ,           4       R# T! \        4       T P                  T4       R#   \         d%   pTP                  R\        T4       R24       h Rp?ii ; ir  )r  r   r   r4  	frozensetr  r  r5  r6  r   r  r   r  r#  	FROZENSETr  )r%   r   r  r   r  r   s   &&    r   save_frozenset_Pickler.save_frozensetg  s    yy

::>Yc#>d	T
  c7dii (TXXdii3&8&;<<=iS  	LL,RWIX>?	s   C* *D5DDc                B   V P                   pV P                  pVf   \        VRR 4      pVf   VP                  p\	        W4      pV P
                  ^8  d   \        P                  ! WR3\        4      pV\        Jd   V^8:  d4   \        RV4      pVR8X  d   \        R4      hV! \        V,           4       R # VR8:  d    V! \        \        RV4      ,           4       R # V! \        \        RV4      ,           4       R # V P
                  ^8  d0   V P                  V4       V P                  V4       V! \        4       MRV9   d   VP!                  R4      pVP#                  ^ 4      pV P                  p	V F.  p
V	! \        4       V P
                  ^8  g   K"  V! \$        4       K0  	  V P'                  WR4       V FA  p
V	! V
4       V P
                  ^8  d   V! \(        4       MV! \*        4       V! \,        4       KC  	  MV P'                  WR4       V P/                  V4       R # )	Nr   r      z extension code 0 is out of rangerm  rn  ro  r   )r   r   r   r   r   r   r   r#  r-  r
   RuntimeErrorEXT1EXT2EXT4r  STACK_GLOBALr   popr  _save_toplevel_by_namer  rV  rP  r  )r%   r   r   r   r   r   coder   r   r  attrnames   &&&        r   r0  _Pickler.save_global  s   

yy<35D|||!#,::?&**K+>ID8#4<d+Du} ++MNN$+&
 	 V^$dD!112  $dD!112::?IIk"IIdO,D[ **S/K??1%D99D'W::>$K ( '':'X::>%L&Mf ( '':Sr   c                &   V P                   ^8  d   RpMWV P                  '       dD   \        P                  p\        P                  pW3V9   d   WAV3,          w  rMW9   d	   WQ,          pRp V P                  \        \        W4      ,           R,           4        T P                  \        Y#4      R,           4       R#   \         d    \        RT: RT P                    24      hi ; i  \         d    \        RT: RT P                    24      hi ; i)r  r  r  r  zcan't pickle module identifier z using pickle protocol zcan't pickle global identifier N)
r   r   _compat_pickleREVERSE_NAME_MAPPINGREVERSE_IMPORT_MAPPINGr   GLOBALr  rD  r   )r%   r   r   encodingr_name_mappingr_import_mappings   &&&   r   r  _Pickler._save_toplevel_by_name  s   ::?H!/!D!D#1#H#H &.8(6T7J(K%K 4"2"?KH	1JJvk <<uDE
	1JJuT,u45 " 	11+ A##'::,01 1	1 " 	11$ :##'::,01 1	1s   -,B= !C( =(C%((Dc                    V\        R 4      J d   V P                  \         RVR7      # V\        \        4      J d   V P                  \         \        3VR7      # V\        R4      J d   V P                  \         RVR7      # V P                  V4      # )Nr  .r!   ).)r   r4  r,  r0  r  s   &&r   	save_type_Pickler.save_type  s    $t*##D's#;;D((##D>*;#EEDI##D&c#::$$r   )
r   r   r   r   r   r   r   r   r   r   r!   )T)NNNN)5r   r   r   r   r&   r   r	  r  r  r#  r  r*  r+  r4  r.  rb  r   rj  r  rx  r   r~  floatr  r  r  r  r  r  _HAVE_PICKLE_BUFFERr  r   r  r2  r  r3  r  r  r  rS  r  dictrT  r  r  r  r  r0  r  r  r   r   r(   r)   s   @r   r   r     sy    784 78!%78r"&.	;5HT
JY>BYz H$HT$Z/
 HTNB: HSMB
 !HUO7	 !HUO9 )HY	4@ "3* HSM7r !HUO& HTNJ"H/ HTN#J( HSM2 )HY5n14% )H\HTNr   r   c                   `  a  ] tR tRt o RRRRRRRR	/R
 ltR tR tR t/ tR t	]	]]
^ ,          &   R t]]]^ ,          &   R t]]]^ ,          &   R t]]]^ ,          &   R t]]]^ ,          &   R t]]]^ ,          &   R t]]]^ ,          &   R t]]]^ ,          &   R t]]]^ ,          &   R t]]]^ ,          &   R t]]]^ ,          &   R t]]] ^ ,          &   R t!]!]]"^ ,          &   R t#]#]]$^ ,          &   R t%]%]]&^ ,          &   R t']']](^ ,          &   R t)R t*]*]]+^ ,          &   R  t,],]]-^ ,          &   R! t.].]]/^ ,          &   R" t0]0]]1^ ,          &   R# t2]2]]3^ ,          &   R$ t4]4]]5^ ,          &   R% t6]6]]7^ ,          &   R& t8]8]]9^ ,          &   R' t:]:]];^ ,          &   R( t<]<]]=^ ,          &   R) t>]>]]?^ ,          &   R* t@]@]]A^ ,          &   R+ tB]B]]C^ ,          &   R, tD]D]]E^ ,          &   R- tF]F]]G^ ,          &   R. tH]H]]I^ ,          &   R/ tJ]J]]K^ ,          &   R0 tL]L]]M^ ,          &   R1 tN]N]]O^ ,          &   R2 tP]P]]Q^ ,          &   R3 tR]R]]S^ ,          &   R4 tT]T]]U^ ,          &   R5 tV]V]]W^ ,          &   R6 tX]X]]Y^ ,          &   R7 tZR8 t[][]]\^ ,          &   R9 t]]]]]^^ ,          &   R: t_]_]]`^ ,          &   R; ta]a]]b^ ,          &   R< tc]c]]d^ ,          &   R= te]e]]f^ ,          &   R> tg]g]]h^ ,          &   R? ti]i]]j^ ,          &   R@ tk]k]]l^ ,          &   RA tmRB tnRC to]o]]p^ ,          &   RD tq]q]]r^ ,          &   RE ts]s]]t^ ,          &   RF tu]u]]v^ ,          &   RG tw]w]]x^ ,          &   RH ty]y]]z^ ,          &   RI t{]{]]|^ ,          &   RJ t}]}]]~^ ,          &   RK t]]]^ ,          &   RL t]]]^ ,          &   RM t]]]^ ,          &   RN t]]]^ ,          &   RO t]]]^ ,          &   RP t]]]^ ,          &   RQ t]]]^ ,          &   RR t]]]^ ,          &   RS t]]]^ ,          &   RT t]]]^ ,          &   RU t]]]^ ,          &   RVtV tR	# )W
_Unpickleri  r   Tr  ASCIIerrorsstrictbuffersNc                   Ve   \        V4      MRV n        VP                  V n        VP                  V n        / V n        W0n        W@n        ^ V n	        W n
        R# )a  This takes a binary file for reading a pickle data stream.

The protocol version of the pickle is detected automatically, so
no proto argument is needed.

The argument *file* must have two methods, a read() method that
takes an integer argument, and a readline() method that requires
no arguments.  Both methods should return bytes.  Thus *file*
can be a binary file object opened for reading, an io.BytesIO
object, or any other custom object that meets this interface.

The file-like object must have two methods, a read() method
that takes an integer argument, and a readline() method that
requires no arguments.  Both methods should return bytes.
Thus file-like object can be a binary file object opened for
reading, a BytesIO object, or any other custom object that
meets this interface.

If *buffers* is not None, it should be an iterable of buffer-enabled
objects that is consumed each time the pickle stream references
an out-of-band buffer view.  Such buffers have been given in order
to the *buffer_callback* of a Pickler object.

If *buffers* is None (the default), then the buffers are taken
from the pickle stream, assuming they are serialized there.
It is an error for *buffers* to be None if the pickle stream
was produced with a non-None *buffer_callback*.

Other optional arguments are *fix_imports*, *encoding* and
*errors*, which are used to control compatibility support for
pickle stream generated by Python 2.  If *fix_imports* is True,
pickle will try to map the old Python 2 names to the new names
used in Python 3.  The *encoding* and *errors* tell pickle how
to decode 8-bit string instances pickled by Python 2; these
default to 'ASCII' and 'strict', respectively. *encoding* can be
'bytes' to read these 8-bit string instances as bytes objects.
N)iter_buffersr   _file_readliner   
_file_readr   r  r  r   r   )r%   r   r   r  r  r	  s   &&$$$$r   r&   _Unpickler.__init__  sL    N *1)<W$"mm))	 
&r   c                   \        V R4      '       g%   \        RV P                  P                  : R24      h\	        V P
                  V P                  4      V n        V P                  P                  V n        V P                  P                  V n	        V P                  P                  V n
        . V n        . V n        V P                  P                  V n        ^ V n        V P                  pV P                  p  V! ^4      pV'       g   \         h\#        V\$        4      '       g   Q hW#^ ,          ,          ! V 4       KF    \&         d   pTP(                  u Rp?# Rp?ii ; i)z{Read a pickled object representation from the open file.

Return the reconstituted object hierarchy specified in the file.
r  z'Unpickler.__init__() was not called by r  N)r  r   r  r   r   r  r  	_unframerr   r   r   	metastackstackappendr   r.  EOFErrorr1  bytes_typesr   r#   )r%   r   r.  keystopinsts   &    r   load_Unpickler.load  s    t\**!59^^5L5L#O P P"4??D4G4GHNN''	////
jj''
yy==	"1g"N!#{3333Q & 	">>!	"s$   6D< 5D< <EEEEc                    V P                   pV P                  P                  4       V n         V P                   P                  V n        V# r!   )r  r  r  r  r%   r   s   & r   pop_mark_Unpickler.pop_mark3  s5    

^^'')
jj''r   c                    \        R 4      h)z%unsupported persistent id encountered)r   rE  s   &&r   persistent_load_Unpickler.persistent_load9  s    EFFr   c                    V P                  ^4      ^ ,          p^ Tu;8:  d   \        8:  g   M \        RV,          4      hWn        R# )rM  zunsupported pickle protocol: %dN)r   r   r   r   )r%   r   s   & r   
load_proto_Unpickler.load_proto>  s7    		!QE--->FGG
r   c                    \        R V P                  ^4      4      w  pV\        P                  8  d   \	        RV,          4      hV P
                  P                  V4       R# )r   zframe size > sys.maxsize: %dN)r   r   r   r	   r   r  r   r   s   & r   r   _Unpickler.load_frameE  sG    T499Q<0
#;jHII!!*-r   c                     V P                  4       R R P                  R4      pT P	                  T P                  T4      4       R #   \         d    \        R4      hi ; i)Nr  rA  r   )r   decodeUnicodeDecodeErrorr   r  r   rE  s   & r   load_persid_Unpickler.load_persidL  sc    	F--/#2&--g6C 	D((-. " 	F!DF F	Fs   "A Ac                z    V P                   P                  4       pV P                  V P                  V4      4       R # r!   )r  r  r  r   rE  s   & r   load_binpersid_Unpickler.load_binpersidU  s)    jjnnD((-.r   c                (    V P                  R 4       R # r!   r  r   s   &r   	load_none_Unpickler.load_noneZ      Dr   c                (    V P                  R 4       R# )FNr0  r   s   &r   
load_false_Unpickler.load_false^  s    Er   c                (    V P                  R 4       R# )TNr0  r   s   &r   	load_true_Unpickler.load_trueb  r3  r   c                    V P                  4       pV\        R ,          8X  d   RpM V\        R ,          8X  d   RpM\        V4      pV P	                  V4       R# )rL  FTN)r   ri  rh  r   r  )r%   r   vals   &  r   load_int_Unpickler.load_intf  sD    }}59CT"XCd)CCr   c                h    V P                  \        R V P                  ^4      4      ^ ,          4       R# ro  Nr  r   r   r   s   &r   load_binint_Unpickler.load_binintq  "    F41.q12r   c                T    V P                  V P                  ^4      ^ ,          4       R# rM  N)r  r   r   s   &r   load_binint1_Unpickler.load_binint1u  s    DIIaLO$r   c                h    V P                  \        R V P                  ^4      4      ^ ,          4       R# rn  Nr@  r   s   &r   load_binint2_Unpickler.load_binint2y  rC  r   c                    V P                  4       R R pV'       d   VR,          ^L8X  d   VR R pV P                  \        V4      4       R # Nr   )r   r  r   )r%   r;  s   & r   	load_long_Unpickler.load_long}  s=    mmocr"3r7g%cr(CCHr   c                    V P                  ^4      ^ ,          pV P                  V4      pV P                  \        V4      4       R# rE  )r   r  r   r   s   &  r   
load_long1_Unpickler.load_long1  s1    IIaLOyy|K%&r   c                    \        R V P                  ^4      4      w  pV^ 8  d   \        R4      hV P                  V4      pV P                  \	        V4      4       R# )ro  z#LONG pickle has negative byte countN)r   r   r   r  r   r   s   &  r   
load_long4_Unpickler.load_long4  sI    D$))A,'q5!"GHHyy|K%&r   c                \    V P                  \        V P                  4       R R 4      4       R # rM  )r  r  r   r   s   &r   
load_float_Unpickler.load_float  s     E$--/#2./0r   c                h    V P                  \        R V P                  ^4      4      ^ ,          4       R# )r{  Nr@  r   s   &r   load_binfloat_Unpickler.load_binfloat  rC  r   c                t    V P                   R 8X  d   V# VP                  V P                   V P                  4      # )r  )r  r(  r  r$   s   &&r   _decode_string_Unpickler._decode_string  s.     ==G#L<<t{{;;r   c                *   V P                  4       R R p\        V4      ^8  d*   V^ ,          VR,          8X  d   V^ ,          R9   d   V^R pM\        R4      hV P                  V P	                  \
        P                  ! V4      ^ ,          4      4       R # )Ns   "'z)the STRING opcode argument must be quotedr   )r   r   r   r  r]  r  escape_decoder   s   & r   load_string_Unpickler.load_string  sw    }}s#t9>d1gb1d1g6G":D!"MNND''(<(<T(B1(EFGr   c                    \        R V P                  ^4      4      w  pV^ 8  d   \        R4      hV P                  V4      pV P                  V P	                  V4      4       R# )ro  z(BINSTRING pickle has negative byte countN)r   r   r   r  r]  r%   r   r   s   &  r   load_binstring_Unpickler.load_binstring  sO    dDIIaL)7!"LMMyy~D''-.r   c                    \        R V P                  ^4      4      w  pV\        8  d   \        R\        ,          4      hV P	                  V P                  V4      4       R# )r  z2BINBYTES exceeds system's maximum size of %d bytesNr   r   r	   r   r  r%   r   s   & r   load_binbytes_Unpickler.load_binbytes  M    dDIIaL)=! #029#: ; ;DIIcN#r   c                ^    V P                  \        V P                  4       R R R4      4       R # )Nr  r   )r  r2  r   r   s   &r   load_unicode_Unpickler.load_unicode  s#    C,.BCDr   c                    \        R V P                  ^4      4      w  pV\        8  d   \        R\        ,          4      hV P	                  \        V P                  V4      RR4      4       R# )r  z4BINUNICODE exceeds system's maximum size of %d bytesr  r  Nr   r   r	   r   r  r2  ri  s   & r   load_binunicode_Unpickler.load_binunicode  V    dDIIaL)=! #029#: ; ;C		#ABr   c                    \        R V P                  ^4      4      w  pV\        8  d   \        R\        ,          4      hV P	                  \        V P                  V4      RR4      4       R# )r   z5BINUNICODE8 exceeds system's maximum size of %d bytesr  r  Nrq  ri  s   & r   load_binunicode8_Unpickler.load_binunicode8  rt  r   c                    \        R V P                  ^4      4      w  pV\        8  d   \        R\        ,          4      hV P	                  V P                  V4      4       R# )r   z3BINBYTES8 exceeds system's maximum size of %d bytesNrh  ri  s   & r   load_binbytes8_Unpickler.load_binbytes8  rl  r   c                    \        R V P                  ^4      4      w  pV\        8  d   \        R\        ,          4      h\	        V4      pV P                  V4       V P                  V4       R# )r   z4BYTEARRAY8 exceeds system's maximum size of %d bytesN)r   r   r	   r   r  r   r  )r%   r   bs   &  r   load_bytearray8_Unpickler.load_bytearray8  sY    dDIIaL)=! #029#: ; ;cNaAr   c                    V P                   f   \        R4      h \        V P                   4      pT P	                  T4       R #   \         d    \        R4      hi ; i)NzLpickle stream refers to out-of-band data but no *buffers* argument was givenznot enough out-of-band buffers)r  r   nextStopIterationr  )r%   r   s   & r   load_next_buffer_Unpickler.load_next_buffer  sb    == ! #H I I	Dt}}%C 	C  	D!"BCC	Ds   A Ac                    V P                   R,          p\        V4      ;_uu_ 4       pVP                  '       g   VP                  4       V P                   R&   RRR4       R#   + '       g   i     R# ; irM  Nr   )r  
memoryviewr  
toreadonly)r%   r   r  s   &  r   load_readonly_buffer_Unpickler.load_readonly_buffer  sB    jjn__:::!"

2 ___s   0A!!A2	c                    V P                  ^4      ^ ,          pV P                  V4      pV P                  V P                  V4      4       R# rE  )r   r  r]  rd  s   &  r   load_short_binstring_Unpickler.load_short_binstring  s7    iil1oyy~D''-.r   c                v    V P                  ^4      ^ ,          pV P                  V P                  V4      4       R# rE  )r   r  ri  s   & r   load_short_binbytes_Unpickler.load_short_binbytes  s'    iil1oDIIcN#r   c                    V P                  ^4      ^ ,          pV P                  \        V P                  V4      RR4      4       R# )rM  r  r  N)r   r  r2  ri  s   & r   load_short_binunicode _Unpickler.load_short_binunicode  s0    iil1oC		#ABr   c                Z    V P                  4       pV P                  \        V4      4       R # r!   )r  r  r3  r  s   & r   
load_tuple_Unpickler.load_tuple  s    E%L!r   c                (    V P                  R4       R # )Nr   r0  r   s   &r   load_empty_tuple_Unpickler.load_empty_tuple      Br   c                H    V P                   R,          3V P                   R&   R# r  r  r   s   &r   load_tuple1_Unpickler.load_tuple1  s    **R.*

2r   c                n    V P                   R,          V P                   R,          3.V P                   RR% R# )re  Nr   r   r  r   s   &r   load_tuple2_Unpickler.load_tuple2  s)     JJrNDJJrN;<

23r   c                    V P                   R,          V P                   R,          V P                   R,          3.V P                   RR% R# )r  Nr   r   r  r   s   &r   load_tuple3_Unpickler.load_tuple3  s3     JJrNDJJrNDJJrNKL

23r   c                (    V P                  . 4       R # r!   r0  r   s   &r   load_empty_list_Unpickler.load_empty_list  r  r   c                (    V P                  / 4       R # r!   r0  r   s   &r   load_empty_dictionary _Unpickler.load_empty_dictionary   r  r   c                8    V P                  \        4       4       R # r!   )r  r  r   s   &r   load_empty_set_Unpickler.load_empty_set$  s    CEr   c                Z    V P                  4       pV P                  \        V4      4       R # r!   )r  r  r  r  s   & r   load_frozenset_Unpickler.load_frozenset(  s    Ie$%r   c                H    V P                  4       pV P                  V4       R # r!   )r  r  r  s   & r   	load_list_Unpickler.load_list-  s    Er   c                    V P                  4       p\        ^ \        V4      ^4       Uu/ uF  pW,          W^,           ,          bK  	  ppV P                  V4       R# u upi r   N)r  ranger   r  )r%   r   r"  ds   &   r   	load_dict_Unpickler.load_dict2  sW    As5z1-/- XuqSz!- 	
 /A/s   Ac           	     B   V'       g)   \        V\        4      '       d   \        VR 4      '       d	    V! V!  pMVP                  V4      pV P                  V4       R#   \         d7   p\        RTP                  : R\        T4      : 2TP                  4      hRp?ii ; i)__getinitargs__zin constructor for r   N)	r1  r   r  r   r   r2  __traceback__rJ  r  )r%   klassrX  r#   errs   &&&  r   _instantiate_Unpickler._instantiate>  s    
5$//E,--Ot
 MM%(EE  O!&S!;<?<M<MO OOs   A B(1BBc                    V P                  4       R R P                  R4      pV P                  4       R R P                  R4      pV P                  W4      pV P                  W0P	                  4       4       R # )Nr  r   )r   r(  
find_classr  r  r%   r   r   r  s   &   r   	load_inst_Unpickler.load_instJ  s^    "%,,W5}}s#**73-%1r   c                j    V P                  4       pVP                  ^ 4      pV P                  W!4       R# r  )r  r  r  )r%   rX  r   s   &  r   load_obj_Unpickler.load_objQ  s(    }}hhqk#$r   c                    V P                   P                  4       pV P                   P                  4       pVP                  ! V.VO5!  pV P                  V4       R # r!   r  r  rJ  r  )r%   rX  r   r   s   &   r   load_newobj_Unpickler.load_newobjX  sA    zz~~jjnnkk#%%Cr   c                    V P                   P                  4       pV P                   P                  4       pV P                   P                  4       pVP                  ! V.VO5/ VB pV P                  V4       R # r!   r  )r%   r^  rX  r   r   s   &    r   load_newobj_ex_Unpickler.load_newobj_ex_  sV    !zz~~jjnnkk#///Cr   c                    V P                  4       R R P                  R4      pV P                  4       R R P                  R4      pV P                  W4      pV P                  V4       R # )Nr  r   )r   r(  r  r  r  s   &   r   load_global_Unpickler.load_globalg  sV    "%,,W5}}s#**73-Er   c                   V P                   P                  4       pV P                   P                  4       p\        V4      \        Jg   \        V4      \        Jd   \	        R 4      hV P                  V P                  W!4      4       R# )zSTACK_GLOBAL requires strN)r  r  r   r2  r   r  r  )r%   r   r   s   &  r   load_stack_global_Unpickler.load_stack_globaln  sZ    zz~~!:S DL$;!"=>>DOOF12r   c                X    V P                  ^4      ^ ,          pV P                  V4       R# rE  )r   get_extensionr%   r  s   & r   	load_ext1_Unpickler.load_ext1v  s!    yy|A4 r   c                b    \        R V P                  ^4      4      w  pV P                  V4       R# rI  r   r   r  r  s   & r   	load_ext2_Unpickler.load_ext2{  &    tTYYq\*4 r   c                b    \        R V P                  ^4      4      w  pV P                  V4       R# r?  r  r  s   & r   	load_ext4_Unpickler.load_ext4  r  r   c                N   \         P                  ! V\        4      pV\        Jd   V P                  V4       R # \        P                  ! V4      pV'       g%   V^ 8:  d   \        R4      h\        RV,          4      hV P                  ! V!  pV\         V&   V P                  V4       R # )NzEXT specifies code <= 0zunregistered extension code %d)r   r#  r-  r  r   r   r   r  )r%   r  r   r  s   &&  r   r  _Unpickler.get_extension  s    ""42hKK $$T*qy%&?@@=DEEoos#!$Cr   c                f   \         P                  ! R W4       V P                  ^8  dp   V P                  '       d^   W3\        P
                  9   d   \        P
                  W3,          w  rM,V\        P                  9   d   \        P                  V,          p\        V^ R7       V P                  ^8  d;   RV9   d4   VP                  R4      p \        \         P                  V,          V4      # \        \         P                  V,          V4      #   \         d    \        RT: RT: 24      hi ; i)zpickle.find_classr   r   zCan't resolve path z on module )r   auditr   r   r  NAME_MAPPINGIMPORT_MAPPINGr   r   r   r   r   r   )r%   r   r   r   s   &&& r   r  _Unpickler.find_class  s    		%v4::>d...~!<!<<-::F>J>888'66v>6#::?sd{**S/KI$S[[%8+FF
 3;;v.55	 " I$)$VJGI IIs    D D0c                b    V P                   pVP                  4       pVR,          pV! V!  VR&   R# r  r  r  )r%   r  rX  rW  s   &   r   load_reduce_Unpickler.load_reduce  s,    

yy{Ry$Kb	r   c                h    V P                   '       d   V P                   R R# V P                  4        R# r  )r  r  r   s   &r   load_pop_Unpickler.load_pop  s    :::

2MMOr   c                &    V P                  4        R # r!   )r  r   s   &r   load_pop_mark_Unpickler.load_pop_mark  s    r   c                J    V P                  V P                  R,          4       R# r  )r  r  r   s   &r   load_dup_Unpickler.load_dup  s    DJJrN#r   c                    \        V P                  4       R R 4      p V P                  V P                  V,          4       R #   \         d    RT 2p\        T4      R hi ; i)NMemo value not found at index r   )r   r   r  r   r   r   )r%   r"  msgs   &  r   load_get_Unpickler.load_get  sZ    $%	1KK		!% 	121#6C!#&D0	1s   "A Ac                    V P                  ^4      ^ ,          p V P                  V P                  V,          4       R#   \         d   pRT 2p\	        T4      RhRp?ii ; i)rM  r  N)r   r  r   r   r   r%   r"  r   r  s   &   r   load_binget_Unpickler.load_binget  sU    IIaLO	1KK		!% 	121#6C!#&D0	1s   "> A	AAc                    \        R V P                  ^4      4      w  p V P                  V P                  V,          4       R#   \         d   pRT 2p\        T4      RhRp?ii ; i)r  r  N)r   r   r  r   r   r   r  s   &   r   load_long_binget_Unpickler.load_long_binget  sZ    D$))A,'	1KK		!% 	121#6C!#&D0	1s   "A A$AA$c                    \        V P                  4       R R 4      pV^ 8  d   \        R4      hV P                  R,          V P                  V&   R # )Nznegative PUT argumentr   )r   r   r   r  r   r!  s   & r   load_put_Unpickler.load_put  sA    $%q5455zz"~		!r   c                    V P                  ^4      ^ ,          pV^ 8  d   \        R4      hV P                  R,          V P                  V&   R# )rM  znegative BINPUT argumentNr   )r   r   r  r   r!  s   & r   load_binput_Unpickler.load_binput  s;    IIaLOq5788zz"~		!r   c                    \        R V P                  ^4      4      w  pV\        8  d   \        R4      hV P                  R,          V P
                  V&   R# )r  znegative LONG_BINPUT argumentNr   )r   r   r	   r   r  r   r!  s   & r   load_long_binput_Unpickler.load_long_binput  s@    D$))A,'w;<==zz"~		!r   c                \    V P                   pV P                  R,          V\        V4      &   R# r  )r   r  r   )r%   r   s   & r   load_memoize_Unpickler.load_memoize  s     yy**R.SYr   c                r    V P                   pVP                  4       pVR,          pVP                  V4       R# r  )r  r  r  )r%   r  r#   r  s   &   r   load_append_Unpickler.load_append  s+    

		RyEr   c                    V P                  4       pV P                  R,          p VP                  pV! V4       R#   \         d     Mi ; iTP                  pT F  pT! T4       K  	  R# r  )r  r  extendr   r  )r%   r   list_objr  r  r  s   &     r   load_appends_Unpickler.load_appends  sd    ::b>	__F 5M	  		 D4L s   ; A	A	c                x    V P                   pVP                  4       pVP                  4       pVR,          pW$V&   R# r  r  )r%   r  r#   r  r  s   &    r   load_setitem_Unpickler.load_setitem  s1    

		iikRyS	r   c                    V P                  4       pV P                  R,          p\        ^ \        V4      ^4       F  pW^,           ,          W!V,          &   K  	  R# r  )r  r  r  r   )r%   r   r  r"  s   &   r   load_setitems_Unpickler.load_setitems  sB    zz"~q#e*a(A"q5\DqN )r   c                    V P                  4       pV P                  R,          p\        V\        4      '       d   VP	                  V4       R# VP
                  pV F  pV! V4       K  	  R# r  )r  r  r1  r  updateadd)r%   r   set_objr  r  s   &    r   load_additems_Unpickler.load_additems  sM    **R.gs##NN5!++CD	 r   c                   V P                   pVP                  4       pVR,          p\        VR\        4      pV\        Jd   V! V4       R# Rp\	        V\
        4      '       d   \        V4      ^8X  d   Vw  r%V'       dY   VP                  p\        P                  pVP                  4        F(  w  r\        V4      \        J d   WV! V4      &   K$  WV&   K*  	  V'       d(   VP                  4        F  w  r\        W8V	4       K  	  R# R# )rM  __setstate__Nr   )r  r  r   r-  r1  r3  r   __dict__r   internr   r   r2  setattr)
r%   r  rY  instsetstate	slotstate	inst_dictr&  r  r  s
   &         r   
load_build_Unpickler.load_build%  s    

		Ry4:8#UO	eU##E
a$EIZZF7c>+,fQi(#$aL	 &
 !)# * r   c                    V P                   P                  V P                  4       . V n        V P                  P                  V n        R # r!   )r  r  r  r   s   &r   	load_mark_Unpickler.load_mark=  s0    djj)
jj''r   c                L    V P                   P                  4       p\        V4      hr!   )r  r  r   r$   s   & r   	load_stop_Unpickler.load_stopC  s    

 Elr   )r  r  r  r  r  r  r  r   r   r  r   r   r   r   r  )r   r   r   r   r&   r  r  r   r.  r#  r  r   r   r*  rC  r-  rB  r1  ra  r5  rg  r8  rf  r<  ru  rA  rr  rF  rp  rJ  rq  rN  rv  rQ  rs  rT  rt  rW  r}  rZ  r|  r]  ra  STRINGre  	BINSTRINGrj  r  rn  r  rr  r  rv  r  ry  r  r}  r  r  r  r  r  r  SHORT_BINSTRINGr  r  r  r  r  r  r  r  r  TUPLE1r  rV  r  TUPLE3r  r  r  r  r  r  r  r  r  r  r  r  r  r  INSTr  OBJr  rQ  r  rO  r  r  r  r  r  r  r  r  r  r  r  r  r  rP  r  rR  r  r  r  DUPr  r   r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r!  r  r,  rU  r/  r  r2  r  r   r(   r)   s   @r   r  r    s    .'D .'!.'*2.'<@.'`">G H
 $HU1X.
 $HU1X/ &HVAY/ ,HYq\!HT!W&HXa[$HWQZ  HSV3%HVAY%'HWQZ3'HWQZ
 "HT!W' $HU1X' $HU1X1#HU1X3)HXa[<H &HVAY/ ,HYq\$ *HXa[E'HWQZC .HZ]C  0H[^$ ,HYq\ .HZ]  0H[^0
 $8H_Q / $8H_Q $ #6H^AC %:Ha !" $HU1X/H[^+%HVAY=%HVAYM%HVAY-HZ]3HZ]+HYq\& ,HYq\ "HT!W
 "HT!W
2
 "HT!W%
  HSV
 &HVAY ,HYq\
 &HVAY3 !2H\!_! "HT!W! "HT!W! "HT!W6& 
 &HVAY
  HSV)HXa[$HSV1  HSV1 &HVAY1  0H[^&
  HSV&
 &HVAY&
  0H[^) (HWQZ
 &HVAY  (HWQZ (HWQZ*
 *HXa[ *HXa[$, $HU1X( "HT!W "HT!Wr   r  r   r   c                @    \        WVVR 7      P                  V 4       R# )r   r   N)r   r	  )r   r   r   r   r   s   &&&$$r   _dumpr>  K  s    T,..2d3ir   c                    \         P                  ! 4       p\        WAVVR 7      P                  V 4       VP	                  4       p\        V\        4      '       g   Q hV# )r=  )r}   r~   r   r	  getvaluer1  r  )r   r   r   r   r   ress   &&$$  r   _dumpsrB  O  sH    


AQk,..2d3i
**,Cc;''''Jr   r  r  r  r  r	  c                :    \        WVW#R 7      P                  4       # )r   r	  r  r  )r  r  )r   r   r  r  r	  s   &$$$$r   _loadrE  W  s    dW&77;tv>r   c                   \        V \        4      '       d   \        R 4      h\        P                  ! V 4      p\        WQVW#R7      P                  4       # )z%Can't load pickle from unicode stringrD  )r1  r2  r   r}   r~   r  r  )sr   r  r  r	  r   s   "$$$$ r   _loadsrH  \  sC    !S?@@::a=DdW'88<?r   )	r   r   r   Pickler	Unpicklerr	  dumpsr  loadsc                    ^ RI p^ RIpVP                  RRR7      pVP                  RRRR7       VP	                  V 4      p V P
                   Fg  pVR	8X  d%   \        \        P                  P                  4      pM(\        VR
4      ;_uu_ 4       p\        V4      pRRR4       VP                  X4       Ki  	  R#   + '       g   i     L'; i)r   Nz$display contents of the pickle filesT)descriptioncolorpickle_file+zthe pickle file)nargshelp-rb)argparsepprintArgumentParseradd_argument
parse_argsrP  r  r   stdinbufferopen)rX  rV  rW  parserfnr   r   s   &      r   _mainr`  v  s    $$: % F )  + T"D9syy''(Cb$11g  c   s   B::C
r   )z1.0z1.1z1.2z1.3z2.0z3.0z4.0r   r!   )r   typesr   copyregr   r   r   r   	itertoolsr   	functoolsr   r   r	   structr
   r   r}   r  r  __all___pickler   r  r  r   r  r  r  format_versioncompatible_formatsr   r   	Exceptionr   r   r   r   r  r  rR  r  r;  r}  ru  rr  rp  rv  rq  ra  rC  rB  rP  r4  r5  r6  r  r  r  rU  r  r  r  r  r   r  r9  r  r  r  r:  r  r  r  r  r  r  r  r|  rh  ri  r  rQ  r  r  r  r7  rV  r8  rf  rg  rs  rt  r  r  r  r  r  r  r  r  r  rO  r  r  r   r  r  r  r  dirrw   r   r   r   r   r   r   objectr-  r   r  r>  rB  rE  rH  rI  rJ  r	  rK  r  rL  r`  r   r   r   r   <module>rm     sq  2  " M M   
   	  : $NN>" i     
  	) 		K 			k 		I  		


 7   				 
 I#%I I< <~6D 6Dv
"SH<A(* 8{ {@d	" d	"R84 8 8d D >t >g >h >>
? ?w ?x ??<
 
 
 ( z	G {:    H:  <!:GY$feV;D%u<s$   G& 9G6 &	G32G36HH