a ÕDOg˜ýã@sHdZddlmZddlmZddlmZmZmZddlm Z ddl m Z ddl Z ddl m Z dd lmZmZddlZddlZddlZddlZgd ¢Zzdd lmZe d ¡d ZWneyÈdZYn0eefZdZgd¢ZdZ dZ!Gdd„de"ƒZ#Gdd„de#ƒZ$Gdd„de#ƒZ%Gdd„de"ƒZ&zddl'm(Z(WneyNdZ(Yn0dZ)dZ*dZ+dZ,d Z-d!Z.d"Z/d#Z0d$Z1d%Z2d&Z3d'Z4d(Z5d)Z6d*Z7d+Z8d,Z9d-Z:d.Z;d/Zd2Z?d3Z@d4ZAd5ZBd6ZCd7ZDd8ZEd9ZFd:ZGd;ZHdZKd?ZLd@ZMdAZNdBZOdCZPdDZQdEZRdFZSdGZTdHZUdIZVdJZWdKZXdLZYdMZZdNZ[dOZ\dPZ]dQZ^dRZ_eOeYeZe[gZ`dSZadTZbdUZcdVZddWZedXZfdYZgdZZhd[Zid\Zjd]Zkd^Zld_Zmd`ZndaZoe pdbdc„eqƒDƒ¡Gddde„deƒZrGdfdg„dgƒZsdhdi„Ztdjdk„Zudldm„Zvdndo„ZwGdpdq„dqƒZxGdrds„dsƒZyd‘d ddtœdudv„Zzd’d ddtœdwdx„Z{d dydzdd{œd|d}„Z|d dydzdd{œd~d„Z}z0dd lm#Z#m$Z$m%Z%m~Z~mZm€Z€mZm‚Z‚mƒZƒWn2eyexeyZ~Zeze{e|e}f\Z€ZZ‚ZƒYn0d€d„Z„e…d‚krDddl†Z†e†j‡dƒd„Zˆeˆj‰d…e† Šd†¡d‡dˆd‰eˆj‰dŠd‹dŒddŽeˆj‰ddŒddŽeˆ ‹¡ZŒeŒjr e„ƒn:eŒjŽseˆ ¡n(ddlZeŒjŽD]Z‘e‚e‘ƒZ’e e’¡q*dS)“aŸ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)Úislice)ÚpartialN)Úmaxsize)ÚpackÚunpack) Ú PickleErrorÚ PicklingErrorÚUnpicklingErrorÚPicklerÚ UnpicklerÚdumpÚdumpsÚloadÚloads)Ú PickleBufferrTFú4.0)z1.0z1.1z1.2z1.3z2.0z3.0rz5.0ééc@seZdZdZdS)r z6A common base class for the other pickling exceptions.N©Ú__name__Ú __module__Ú __qualname__Ú__doc__©rrú/usr/lib64/python3.9/pickle.pyr Isr c@seZdZdZdS)r z]This exception is raised when an unpicklable object is passed to the dump() method. Nrrrrrr Msr c@seZdZdZdS)raThis 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. NrrrrrrTsrc@seZdZdd„ZdS)Ú_StopcCs ||_dS©N)Úvalue©Úselfr"rrrÚ__init__bsz_Stop.__init__N)rrrr%rrrrr asr )Ú PyStringMapó(ó.ó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óGsI01 sI00 ó€óó‚óƒó„ó…ó†ó‡óˆó‰óŠó‹óBóCóŒóóŽóóó‘ó’ó“ó”ó•ó–ó—ó˜cCsg|]}t d|¡r|‘qS)z[A-Z][A-Z0-9_]+$)ÚreÚmatch)Ú.0ÚxrrrÚ Åóroc@sFeZdZdZdZdd„Zdd„Zdd„Zdd d „Zd d „Z dd„Z dS)Ú_FramerricCs||_d|_dSr!)Ú file_writeÚ current_frame)r$rrrrrr%Ísz_Framer.__init__cCst ¡|_dSr!)ÚioÚBytesIOrs©r$rrrÚ start_framingÑsz_Framer.start_framingcCs*|jr&|j ¡dkr&|jddd|_dS)NrT©Úforce)rsÚtellÚ commit_framervrrrÚ end_framingÔs z_Framer.end_framingFcCsf|jrb|j}| ¡|jks|rb| ¡}|j}t|ƒ|jkrP|ttdt|ƒƒƒ||ƒt   ¡|_dS)Núz&Can't get local attribute {!r} on {!r}z Can't get attribute {!r} on {!r})ÚsplitÚAttributeErrorÚformatÚgetattr)ÚobjÚnameÚsubpathÚparentrrrÚ _getattributeBsÿ ÿÿ r¤c Cs‚t|ddƒ}|dur|Stj ¡ ¡D]V\}}|dks&|dks&|durHq&z t||ƒd|urf|WSWq&tyzYq&0q&dS)z$Find the module an object belong to.rNÚ__main__Ú __mp_main__r)rŸÚsysÚmodulesÚcopyÚitemsr¤r)r r¡Ú module_nameÚmodulerrrÚ whichmoduleOs  ÿþ r­cCsh|dkr dS| ¡d?d}|j|ddd}|dkrd|dkrd|dd krd|d d @dkrd|d d…}|S) 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' >>> rrpééÚlittleT©Ú byteorderÚsignedr•éÿéþÿÿÿé€N)Ú bit_lengthÚto_bytes)rnÚnbytesÚresultrrrÚ encode_longbs r»cCstj|dddS)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„rrrÚ decode_long€sr¾c@sŽeZdZd;dddœdd„Zdd„Zdd „Zd d „Zd d „Zdd„Zdd7d8„Z-d9d:„Z.e-e e/<e.e e<dS)?Ú_PicklerNT©Ú fix_importsÚbuffer_callbackcCsÔ|dur t}|dkrt}n"d|kr.tks= 5z"file must have a 'write' attributer¯r®)ÚDEFAULT_PROTOCOLÚHIGHEST_PROTOCOLÚ ValueErrorÚ_buffer_callbackr…Ú _file_writerÚ TypeErrorrqÚframerr‰Ú_write_large_bytesÚmemor¼ÚprotoÚbinÚfastrÁ)r$ÚfileÚprotocolrÁrÂrrrr%™s*#        z_Pickler.__init__cCs|j ¡dS)aClears 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ËÚclearrvrrrÚ clear_memoÒsz_Pickler.clear_memocCsrt|dƒstd|jjfƒ‚|jdkr<| ttd|jƒ¡|jdkrP|j  ¡|  |¡| t ¡|j  ¡dS)z7Write a pickled representation of obj to the open file.rÇz2Pickler.__init__() was not called by %s.__init__()éú| |j ur>tdƒ‚|dd…}|| ƒ||ƒ| tƒn||ƒ||ƒ| tƒ|durÂt|ƒ|jvr¸| t| |jt|ƒd ¡ƒn | |¡|durÖ| |¡|durê| |¡|dur@|dur||ƒ| tƒn0||ƒ||ƒ||ƒ| tƒ| tƒ| tƒdS)Nz'args from save_reduce() must be a tuplez(func from save_reduce() must be callablerÚrÓÚ __newobj_ex__Ú__new__z#args[0] from {} args has no __new__z(args[0] from {} args has the wrong classrrÚ __newobj__rz+args[0] from __newobj__ args has no __new__z0args[0] from __newobj__ args has the wrong classr¯)rúrür ÚcallablerØr…rŸrÌrÕržrÖÚ NEWOBJ_EXrr ÚREDUCEÚNEWOBJrÛrËÚPOPrîrÞÚ_batch_appendsÚ_batch_setitemsÚBUILDÚTUPLE2) r$ÚfuncÚargsÚstateÚ listitemsÚ dictitemsÚ state_setterr rØr…Ú func_nameÚclsÚkwargsrrrrýmsz    ÿÿ    ÿÿ   "        z_Pickler.save_reducecCs| t¡dSr!)r…ÚNONErÚrrrÚ save_noneäsz_Pickler.save_nonecCs4|jdkr| |rtnt¡n| |r*tnt¡dS)NrÓ)rÌr…ÚNEWTRUEÚNEWFALSEÚTRUEÚFALSErÚrrrÚ save_boolès z_Pickler.save_boolcCs.|jr~|dkrN|dkr.| ttd|ƒ¡dS|dkrN| ttd|ƒ¡dSd|krbdkr~nn| ttd|ƒ¡dS|jd krÖt|ƒ}t|ƒ}|d krº| t td|ƒ|¡n| t td|ƒ|¡dSd|krìdkrnn| t t |ƒ  d ¡d ¡n| tt |ƒ  d ¡d ¡dS)Nrr´rÔéÿÿúdrárâ)rÍr…ÚBINFLOATr ÚFLOATrçrèrÚrrrÚ save_floatsz_Pickler.save_floatcCsÞ|jdkr@|s |jtd|dn|jtjt|dƒdf|ddSt|ƒ}|dkrj| tt d|ƒ|¡nf|dkr”|jdkr”|  t t d |ƒ|¡n<||j j kr¸|  tt d |ƒ|¡n| tt d |ƒ|¡| |¡dS) Nr®r©r Úlatin1r´rÔìÿÿrr}rà)rÌrýÚbytesÚcodecsrèrûr€r…ÚSHORT_BINBYTESr rÊÚ BINBYTES8rÉr~ÚBINBYTESrÞ©r$r r’rrrÚ save_bytess  ÿ z_Pickler.save_bytescCs‚|jdkr:|s |jtd|dn|jtt|ƒf|ddSt|ƒ}||jjkrf| tt d|ƒ|¡n|  tt d|ƒ|¡dS)Nrrr7r}) rÌrýÚ bytearrayr:r€rÉr~rÊÚ BYTEARRAY8r r…r?rrrÚsave_bytearray)s  z_Pickler.save_bytearraycCs¬|jdkrtdƒ‚| ¡~}|js*tdƒ‚d}|jdurFt| |¡ƒ}|rp|jr`| | ¡¡qŠ|  | ¡¡n|  t ¡|jrŠ|  t ¡Wdƒn1sž0YdS)Nrz0PickleBuffer can only pickled with protocol >= 5zHPickleBuffer can not be pickled when pointing to a non-contiguous bufferT) rÌr ÚrawÚ contiguousrÆÚboolÚreadonlyr@ÚtobytesrCr…Ú NEXT_BUFFERÚREADONLY_BUFFER)r$r ÚmÚin_bandrrrÚsave_picklebuffer8s    z_Pickler.save_picklebuffercCs|jr®| dd¡}t|ƒ}|dkrF|jdkrF| ttd|ƒ|¡nf|dkrp|jdkrp| ttd|ƒ|¡n<||j j kr”| t td|ƒ|¡n| t td|ƒ|¡nT|  d d ¡}|  d d ¡}|  d d¡}|  dd¡}|  dd¡}| t | d¡d¡| |¡dS)Núutf-8Ú surrogatepassr´rrÔr9r}ràú\z\u005cúz\u0000Ú z\u000aú z\u000dúz\u001aúraw-unicode-escaperâ)rÍrèr€rÌr…ÚSHORT_BINUNICODEr rÊÚ BINUNICODE8rÉr~Ú BINUNICODEÚreplaceÚUNICODErÞr0rrrÚsave_strRs&       ÿz_Pickler.save_strcCs:|s(|jr| t¡n| tt¡dSt|ƒ}|j}|j}|dkr²|jdkr²|D] }||ƒqRt |ƒ|vr–|  |t |ƒd¡}| t ||¡n| t |¡|  |¡dS|j}|tƒ|D] }||ƒqÄt |ƒ|vr$|  |t |ƒd¡}|jr |t|ƒn|t |d|ƒdS|tƒ|  |¡dS)Nr®rÓrr¯)rÍr…Ú EMPTY_TUPLEÚMARKÚTUPLEr€rØrËrÌrÛrîrÚ_tuplesize2coderÞÚPOP_MARK)r$r r’rØrËÚelementrîr…rrrÚ save_tupleis:     z_Pickler.save_tuplecCs8|jr| t¡n| tt¡| |¡| |¡dSr!)rÍr…Ú EMPTY_LISTr]ÚLISTrÞrrÚrrrÚ save_listœs   z_Pickler.save_listiècCs¨|j}|j}|js0|D]}||ƒ|tƒqdSt|ƒ}tt||jƒƒ}t|ƒ}|dkr||t ƒ|D] }||ƒqd|t ƒn|r”||dƒ|tƒ||jkr8dSq8dS©Nr¯r) rØr…rÍÚAPPENDÚiterÚlistrÚ _BATCHSIZEr€r]ÚAPPENDS)r$rªrØr…rnÚitÚtmpr’rrrr©s(     z_Pickler._batch_appendscCs<|jr| t¡n| tt¡| |¡| | ¡¡dSr!)rÍr…Ú EMPTY_DICTr]ÚDICTrÞrrªrÚrrrÚ save_dictÄs   z_Pickler.save_dictc CsÐ|j}|j}|js<|D] \}}||ƒ||ƒ|tƒqdSt|ƒ}tt||jƒƒ}t|ƒ}|dkr”|t ƒ|D]\}}||ƒ||ƒqp|t ƒn(|r¼|d\}}||ƒ||ƒ|tƒ||jkrDdSqDdSrf) rØr…rÍÚSETITEMrhrirrjr€r]ÚSETITEMS) r$rªrØr…ÚkÚvrlrmr’rrrrÑs0       z_Pickler._batch_setitemscCs |j}|j}|jdkr0|jtt|ƒf|ddS|tƒ| |¡t|ƒ}tt ||j ƒƒ}t |ƒ}|dkrŒ|t ƒ|D] }||ƒqv|t ƒ||j krJdSqJdS©Nrr7r)rØr…rÌrýÚsetriÚ EMPTY_SETrÞrhrrjr€r]ÚADDITEMS)r$r rØr…rlÚbatchr’ÚitemrrrÚsave_setðs"    z_Pickler.save_setcCs’|j}|j}|jdkr0|jtt|ƒf|ddS|tƒ|D] }||ƒq„Z5e5ee6d<d?d@„Z7e7ee8d<dAdB„Z9e9ee:d<dCdD„Z;e;eed<dGdH„Z?e?ee@d<dIdJ„ZAeAeeBd<dKdL„ZCeCeeDd<dMdN„ZEeEeeFd<dOdP„ZGeGeeHd<dQdR„ZIeIeeJd<dSdT„ZKeKeeLd<dUdV„ZMeMeeNd<dWdX„ZOeOeePd<dYdZ„ZQeQeeRd<d[d\„ZSeSeeTd<d]d^„ZUeUeeVd<d_d`„ZWeWeeXd<dadb„ZYdcdd„ZZeZee[d<dedf„Z\e\ee]d<dgdh„Z^e^ee_d<didj„Z`e`eead<dkdl„Zbebeecd<dmdn„Zdedeeed<dodp„Zfefeegd<dqdr„Zheheeid<dsdt„Zjejeekd<dudv„Zldwdx„Zmdydz„Zneneeod<d{d|„Zpepeeqd<d}d~„Zrereesd<dd€„Zteteeud<dd‚„Zveveewd<dƒd„„Zxexeeyd<d…d†„Zzezee{d<d‡dˆ„Z|e|ee}d<d‰dŠ„Z~e~eed<d‹dŒ„Z€e€eed<ddŽ„Z‚e‚eeƒd<dd„Z„e„ee…d<d‘d’„Z†e†ee‡d<d“d”„Zˆeˆee‰d<d•d–„ZŠeŠee‹d<d—d˜„ZŒeŒeed<d™dš„ZŽeŽeed<d›dœ„Zeee‘d<ddž„Z’e’ee“d<dS)ŸÚ _UnpicklerTÚASCIIÚstrictN©rÁÚencodingÚerrorsÚbufferscCsH|durt|ƒnd|_|j|_|j|_i|_||_||_d|_ ||_ dS)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. Nr) rhÚ_buffersr—Ú_file_readliner“Ú _file_readrËršr›rÌrÁ)r$rÏrÁršr›rœrrrr%rs'z_Unpickler.__init__c CsÖt|dƒstd|jjfƒ‚t|j|jƒ|_|jj|_|jj |_ |jj |_ g|_ g|_ |j j |_ d|_|j}|j}z4|dƒ}|s„t‚t|tƒs’J‚||d|ƒqtWn*tyÐ}z|jWYd}~Sd}~00dS)z‹Read a pickled object representation from the open file. Return the reconstituted object hierarchy specified in the file. rŸz4Unpickler.__init__() was not called by %s.__init__()rr¯N)rÕrrÖrrŠrŸržÚ _unframerr“rr—Ú metastackÚstackÚappendrÌr÷ÚEOFErrorrúÚ bytes_typesr r")r$r“r÷ÚkeyÚstopinstrrrr¢s, ÿ    z_Unpickler.loadcCs |j}|j ¡|_|jj|_|Sr!)r¢r¡Úpopr£©r$rªrrrÚpop_markÁs  z_Unpickler.pop_markcCs tdƒ‚dS)Nz%unsupported persistent id encountered)rrrrrÚpersistent_loadÇsz_Unpickler.persistent_loadcCs:| d¡d}d|kr"tks0ntd|ƒ‚||_dS)Nr¯rzunsupported pickle protocol: %d)r“rÄrÅrÌ)r$rÌrrrÚ load_protoÌs z_Unpickler.load_protorcCs8td| d¡ƒ\}|tjkr(td|ƒ‚|j |¡dS)Nr}ézframe size > sys.maxsize: %d)r r“r§r rÅr ršr˜rrrršÓs  z_Unpickler.load_framecCsJz| ¡dd… d¡}Wnty4tdƒ‚Yn0| | |¡¡dS)Nr•rár)r—ÚdecodeÚUnicodeDecodeErrorrr£r«rrrrÚ load_persidÚs ÿ z_Unpickler.load_persidcCs|j ¡}| | |¡¡dSr!)r¢r¨r£r«rrrrÚload_binpersidãs z_Unpickler.load_binpersidcCs| d¡dSr!©r£rvrrrÚ load_noneèsz_Unpickler.load_nonecCs| d¡dS)NFr²rvrrrÚ load_falseìsz_Unpickler.load_falsecCs| d¡dS)NTr²rvrrrÚ load_trueðsz_Unpickler.load_truecCsL| ¡}|tdd…krd}n |tdd…kr4d}n t|dƒ}| |¡dS)Nr¯FTr)r—r$r#r¼r£)r$r„ÚvalrrrÚload_intôs z_Unpickler.load_intcCs| td| d¡ƒd¡dS)Nr(rr©r£r r“rvrrrÚ load_binintÿsz_Unpickler.load_binintcCs| | d¡d¡dSrf)r£r“rvrrrÚ load_binint1sz_Unpickler.load_binint1cCs| td| d¡ƒd¡dS)Nr'rÓrr¸rvrrrÚ load_binint2sz_Unpickler.load_binint2cCs@| ¡dd…}|r,|ddkr,|dd…}| t|dƒ¡dS)Nr•éLr)r—r£r¼)r$r¶rrrÚ load_long s z_Unpickler.load_longcCs*| d¡d}| |¡}| t|ƒ¡dSrf)r“r£r¾r”rrrÚ load_long1s z_Unpickler.load_long1cCs>td| d¡ƒ\}|dkr"tdƒ‚| |¡}| t|ƒ¡dS)Nr(rrz#LONG pickle has negative byte count)r r“rr£r¾r”rrrÚ load_long4s  z_Unpickler.load_long4cCs| t| ¡dd…ƒ¡dS©Nr•)r£r“r—rvrrrÚ load_float!sz_Unpickler.load_floatcCs| td| d¡ƒd¡dS)Nr3r­rr¸rvrrrÚ load_binfloat%sz_Unpickler.load_binfloatcCs"|jdkr|S| |j|j¡SdS)Nr:)ršr®r›r#rrrÚ_decode_string)s z_Unpickler._decode_stringcCsl| ¡dd…}t|ƒdkrF|d|dkrF|ddvrF|dd…}ntdƒ‚| | t |¡d¡¡dS)Nr•rÓrs"'r¯z)the STRING opcode argument must be quoted)r—r€rr£rÃr;Ú escape_decoder†rrrÚ load_string2s (z_Unpickler.load_stringcCs@td| d¡ƒ\}|dkr"tdƒ‚| |¡}| | |¡¡dS)Nr(rrz(BINSTRING pickle has negative byte count)r r“rr£rér$r€r„rrrÚload_binstring<s  z_Unpickler.load_binstringcCs:td| d¡ƒ\}|tkr&tdtƒ‚| | |¡¡dS)Nràrz2BINBYTES exceeds system's maximum size of %d bytes©r r“r rr£©r$r€rrrÚ load_binbytesEs ÿz_Unpickler.load_binbytescCs | t| ¡dd…dƒ¡dS)Nr•rU)r£rûr—rvrrrÚ load_unicodeMsz_Unpickler.load_unicodecCsBtd| d¡ƒ\}|tkr&tdtƒ‚| t| |¡ddƒ¡dS)Nràrz4BINUNICODE exceeds system's maximum size of %d bytesrNrO©r r“r rr£rûrÉrrrÚload_binunicodeQs ÿz_Unpickler.load_binunicodecCsBtd| d¡ƒ\}|tkr&tdtƒ‚| t| |¡ddƒ¡dS)Nr}r­z5BINUNICODE8 exceeds system's maximum size of %d bytesrNrOrÌrÉrrrÚload_binunicode8Ys ÿz_Unpickler.load_binunicode8cCs:td| d¡ƒ\}|tkr&tdtƒ‚| | |¡¡dS)Nr}r­z3BINBYTES8 exceeds system's maximum size of %d bytesrÈrÉrrrÚload_binbytes8as ÿz_Unpickler.load_binbytes8cCsFtd| d¡ƒ\}|tkr&tdtƒ‚t|ƒ}| |¡| |¡dS)Nr}r­z4BYTEARRAY8 exceeds system's maximum size of %d bytes)r r“r rrArr£)r$r€ÚbrrrÚload_bytearray8isÿ z_Unpickler.load_bytearray8cCsJ|jdurtdƒ‚zt|jƒ}Wnty:tdƒ‚Yn0| |¡dS)NzLpickle stream refers to out-of-band data but no *buffers* argument was givenznot enough out-of-band buffers)rrÚnextÚ StopIterationr£)r$r‘rrrÚload_next_bufferss  z_Unpickler.load_next_buffercCsJ|jd}t|ƒ$}|js(| ¡|jd<Wdƒn1s<0YdSrÀ)r¢Ú memoryviewrGÚ toreadonly)r$r‘rKrrrÚload_readonly_buffer~s  z_Unpickler.load_readonly_buffercCs,| d¡d}| |¡}| | |¡¡dSrf)r“r£rÃrÆrrrÚload_short_binstring…s z_Unpickler.load_short_binstringcCs"| d¡d}| | |¡¡dSrf)r“r£rÉrrrÚload_short_binbytes‹sz_Unpickler.load_short_binbytescCs*| d¡d}| t| |¡ddƒ¡dS)Nr¯rrNrO)r“r£rûrÉrrrÚload_short_binunicodesz _Unpickler.load_short_binunicodecCs| ¡}| t|ƒ¡dSr!)rªr£rür©rrrÚ load_tuple•sz_Unpickler.load_tuplecCs| d¡dS)Nrr²rvrrrÚload_empty_tuplešsz_Unpickler.load_empty_tuplecCs|jdf|jd<dSrÀ©r¢rvrrrÚ load_tuple1žsz_Unpickler.load_tuple1cCs$|jd|jdfg|jdd…<dS)Nrµr•rÝrvrrrÚ load_tuple2¢sz_Unpickler.load_tuple2cCs,|jd|jd|jdfg|jdd…<dS)Néýÿÿÿrµr•rÝrvrrrÚ load_tuple3¦sz_Unpickler.load_tuple3cCs| g¡dSr!r²rvrrrÚload_empty_listªsz_Unpickler.load_empty_listcCs| i¡dSr!r²rvrrrÚload_empty_dictionary®sz _Unpickler.load_empty_dictionarycCs| tƒ¡dSr!)r£rvrvrrrÚload_empty_set²sz_Unpickler.load_empty_setcCs| ¡}| t|ƒ¡dSr!)rªr£r|r©rrrÚload_frozenset¶sz_Unpickler.load_frozensetcCs| ¡}| |¡dSr!)rªr£r©rrrÚ load_list»sz_Unpickler.load_listcs4| ¡‰‡fdd„tdtˆƒdƒDƒ}| |¡dS)Ncsi|]}ˆ|ˆ|d“qS)r¯r)rmrí©rªrrÚ Âsÿz(_Unpickler.load_dict..rrÓ)rªÚranger€r£)r$ÚdrrçrÚ load_dictÀs  ÿz_Unpickler.load_dictc Cs„|st|tƒrt|dƒrlz ||Ž}Wqvtyh}z,td|jt|ƒft ¡dƒ‚WYd}~qvd}~00n | |¡}|  |¡dS)NÚ__getinitargs__zin constructor for %s: %srÓ) rúrörÕrÈrrûr§Úexc_infor r£)r$Úklassrr"ÚerrrrrÚ _instantiateÌsÿ  ÿ ÿ z_Unpickler._instantiatecCsL| ¡dd… d¡}| ¡dd… d¡}| ||¡}| || ¡¡dS)Nr•rá)r—r®Ú find_classrðrª©r$r¬r¡rîrrrÚ load_instØs z_Unpickler.load_instcCs"| ¡}| d¡}| ||¡dS©Nr)rªr¨rð)r$rrrrrÚload_objßs z_Unpickler.load_objcCs4|j ¡}|j ¡}|j|g|¢RŽ}| |¡dSr!©r¢r¨r r£)r$rrr rrrÚ load_newobjæs  z_Unpickler.load_newobjcCsD|j ¡}|j ¡}|j ¡}|j|g|¢Ri|¤Ž}| |¡dSr!rö)r$rrrr rrrÚload_newobj_exís    z_Unpickler.load_newobj_excCsF| ¡dd… d¡}| ¡dd… d¡}| ||¡}| |¡dS)Nr•rN)r—r®rñr£ròrrrÚ load_globalõs z_Unpickler.load_globalcCsJ|j ¡}|j ¡}t|ƒtus,t|ƒtur4tdƒ‚| | ||¡¡dS)NzSTACK_GLOBAL requires str)r¢r¨rörûrr£rñ)r$r¡r¬rrrÚload_stack_globalüs   z_Unpickler.load_stack_globalcCs| d¡d}| |¡dSrf)r“Ú get_extension©r$rŽrrrÚ load_ext1sz_Unpickler.load_ext1cCs td| d¡ƒ\}| |¡dS)Nr'rÓ©r r“rûrürrrÚ load_ext2 sz_Unpickler.load_ext2cCs td| d¡ƒ\}| |¡dS)Nr(rrþrürrrÚ load_ext4sz_Unpickler.load_ext4cCspg}t ||¡}||ur&| |¡dSt |¡}|sP|dkrDtdƒ‚td|ƒ‚|j|Ž}|t|<| |¡dS)NrzEXT specifies code <= 0zunregistered extension code %d)rrîr£rrrÅrñ)r$rŽÚnilr r¦rrrrûs     z_Unpickler.get_extensioncCs’t d||¡|jdkrT|jrT||ftjvr@tj||f\}}n|tjvrTtj|}t|dd|jdkr~ttj ||ƒdSt tj ||ƒSdS)Nzpickle.find_classr®rrr) r§ÚauditrÌrÁrŠÚ NAME_MAPPINGÚIMPORT_MAPPINGrr¤r¨rŸ)r$r¬r¡rrrrñ#s    z_Unpickler.find_classcCs&|j}| ¡}|d}||Ž|d<dSrÀ©r¢r¨)r$r¢rrrrrÚ load_reduce1sz_Unpickler.load_reducecCs|jr|jd=n| ¡dSrÀ)r¢rªrvrrrÚload_pop8s z_Unpickler.load_popcCs | ¡dSr!)rªrvrrrÚ load_pop_mark?sz_Unpickler.load_pop_markcCs| |jd¡dSrÀ)r£r¢rvrrrÚload_dupCsz_Unpickler.load_dupcCsTt| ¡dd…ƒ}z| |j|¡Wn&tyNd|›}t|ƒd‚Yn0dS)Nr•úMemo value not found at index )r¼r—r£rËrƒr)r$ríÚmsgrrrÚload_getGs   z_Unpickler.load_getc Cs`| d¡d}z| |j|¡Wn8tyZ}z d|›}t|ƒd‚WYd}~n d}~00dS)Nr¯rr )r“r£rËrƒr©r$ríÚexcr rrrÚ load_bingetPs  z_Unpickler.load_bingetc Csdtd| d¡ƒ\}z| |j|¡Wn8ty^}z d|›}t|ƒd‚WYd}~n d}~00dS)Nràrr )r r“r£rËrƒrr rrrÚload_long_bingetYs  z_Unpickler.load_long_bingetcCs8t| ¡dd…ƒ}|dkr$tdƒ‚|jd|j|<dS)Nr•rznegative PUT argument)r¼r—rÅr¢rËrìrrrÚload_putbsz_Unpickler.load_putcCs2| d¡d}|dkrtdƒ‚|jd|j|<dS)Nr¯rznegative BINPUT argumentr•)r“rÅr¢rËrìrrrÚ load_binputisz_Unpickler.load_binputcCs6td| d¡ƒ\}|tkr"tdƒ‚|jd|j|<dS)Nràrznegative LONG_BINPUT argumentr•)r r“r rÅr¢rËrìrrrÚload_long_binputpsz_Unpickler.load_long_binputcCs|j}|jd|t|ƒ<dSrÀ)rËr¢r€)r$rËrrrÚ load_memoizewsz_Unpickler.load_memoizecCs$|j}| ¡}|d}| |¡dSrÀ)r¢r¨r£)r$r¢r"rirrrÚ load_append|sz_Unpickler.load_appendcCsX| ¡}|jd}z |j}Wnty.Yn0||ƒdS|j}|D] }||ƒqFdSrÀ)rªr¢Úextendrr£)r$rªÚlist_objrr£rzrrrÚ load_appendsƒs   z_Unpickler.load_appendscCs*|j}| ¡}| ¡}|d}|||<dSrÀr)r$r¢r"r¦r•rrrÚ load_setitem•s z_Unpickler.load_setitemcCs@| ¡}|jd}tdt|ƒdƒD]}||d|||<q"dS)Nr•rrÓr¯)rªr¢rér€)r$rªr•rírrrÚ load_setitemss z_Unpickler.load_setitemscCsD| ¡}|jd}t|tƒr(| |¡n|j}|D] }||ƒq2dSrÀ)rªr¢rúrvÚupdateÚadd)r$rªÚset_objrrzrrrÚ load_additems¤s   z_Unpickler.load_additemsc CsÂ|j}| ¡}|d}t|ddƒ}|dur6||ƒdSd}t|tƒrXt|ƒdkrX|\}}|rœ|j}tj}|  ¡D]*\}} t |ƒt ur’| |||ƒ<qp| ||<qp|r¾|  ¡D]\}} t ||| ƒq¨dS)Nr•Ú __setstate__rÓ) r¢r¨rŸrúrür€Ú__dict__r§ÚinternrªrörûÚsetattr) r$r¢rÚinstÚsetstateÚ slotstateÚ inst_dictr!rsrtrrrÚ load_build¯s(   z_Unpickler.load_buildcCs"|j |j¡g|_|jj|_dSr!)r¡r£r¢rvrrrÚ load_markÇsz_Unpickler.load_markcCs|j ¡}t|ƒ‚dSr!)r¢r¨r r#rrrÚ load_stopÍs z_Unpickler.load_stop)”rrrr%rrªr«r÷r¬r×ršr‚r°rr±rr³rr´r"rµr!r·r.r¹r+rºr)r»r*r½r/r¾r,r¿r-rÁr5rÂr4rÃrÅÚSTRINGrÇÚ BINSTRINGrÊr>rËrZrÍrXrÎrWrÏr=rÑrBrÔrIr×rJrØÚSHORT_BINSTRINGrÙr<rÚrVrÛr^rÜr\rÞÚTUPLE1rßrráÚTUPLE3rârcrãrnrärwrår}rærdrërorðróÚINSTrõÚOBJr÷rrørrùr‰rúrˆrýr„rÿr…rr†rûrñrrrrrr`r ÚDUPr rërrérrêrrærrärrårrãrrgrrkrrqrrrrrxr'rr(r]r)rÙrrrrr–ps&ÿ 0                                                                     r–rÀcCst||||d |¡dS©NrÀ)r¿r)r rÏrÐrÁrÂrrrÚ_dumpÕs ÿÿr3cCs8t ¡}t||||d |¡| ¡}t|tƒs4J‚|Sr2)rtrur¿rÚgetvaluerúr¥)r rÐrÁrÂrƒÚresrrrÚ_dumpsÙsÿÿr6r—r˜r™cCst|||||d ¡S)N©rÁrœršr›)r–r)rÏrÁršr›rœrrrÚ_loadásÿr8cCs2t|tƒrtdƒ‚t |¡}t|||||d ¡S)Nz%Can't load pickle from unicode stringr7)rúrûrÈrtrur–r)ÚsrÁršr›rœrÏrrrÚ_loadsæs   ÿr:cCsddl}| ¡Srô)ÚdoctestÚtestmod)r;rrrÚ_testsr=r¥z$display contents of the pickle files)Ú descriptionÚ pickle_fileÚbrÚ*zthe pickle file)röÚnargsÚhelpz-tz--testÚ store_truezrun self-test suite)ÚactionrCz-vz)run verbosely; only affects self-test run)N)N)“rÚtypesrÚcopyregrrrrÚ itertoolsrÚ functoolsrr§r Ústructr r rkrtr;rŠÚ__all__Ú_picklerr£r”r‚r:rAr¥Úformat_versionÚcompatible_formatsrÄrÃÚ Exceptionr r rr Zorg.python.corer&r]rÙrr`r1r5r.r+r)r/r*rrrrr*r+r,rZrXrgrr‰rornrkrërér/rêrdrcr0rærärårqr^r\rrr4r#r$r×rr„r…r†r-rr.r!r"r,r-r_r>r<rVrWr=rwrxr}rrˆrãr‚rBrIrJrÚdirrqrŠr¤r­r»r¾r¿r–r3r6r8r:rrrrrrr=rÚargparseÚArgumentParserÚparserÚ add_argumentÚFileTypeÚ parse_argsrÚtestr?Ú print_helpZpprintrƒr rrrrÚsB             ?; ^iÿ ÿ 0   ÿ þþþ