grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛfÓûã @shdZddlmZddlmZddlmZmZmZddlm Z ddl m Z ddl Z ddl m Z dd lmZmZddlZddlZddlZddlZd d d d dddddg ZzddlmZe d¡dZWnek rØdZYnXeefZdZddddddddgZdZ d Z!Gd!d „d e"ƒZ#Gd"d „d e#ƒZ$Gd#d „d e#ƒZ%Gd$d%„d%e"ƒZ&zdd&l'm(Z(Wnek �rldZ(YnXd'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Zd=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZdYZ[dZZ\d[Z]d\Z^d]Z_eOeYeZe[gZ`d^Zad_Zbd`ZcdaZddbZedcZfddZgdeZhdfZidgZjdhZkdiZldjZmdkZndlZoe pdmdn„eqƒDƒ¡Gdodp„dpƒZrGdqdr„drƒZsdsdt„Ztdudv„Zudwdx„Zvdydz„ZwGd{d|„d|ƒZxGd}d~„d~ƒZyd�dddœd€d�„Zzdždddœd‚dƒ„Z{dd„d…dd†œd‡dˆ„Z|dd„d…dd†œd‰dŠ„Z}z0dd‹lm#Z#m$Z$m%Z%m~Z~mZm€Z€m�Z�m‚Z‚mƒZƒWn4ek �r°exeyZ~Zeze{e|e}f\Z€Z�Z‚ZƒYnXdŒd�„Z„e…dŽk�rdddl†Z†e†j‡d�d��Zˆeˆj‰d‘e† Šd’¡d“d”d•�eˆj‰d–d—d˜d™dš�eˆj‰d›d˜dœdš�eˆ ‹¡ZŒeŒj��r*e„ƒn:eŒjŽ�s string load(file) -> object loads(string) -> 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)Ú PickleBufferrTFz4.0z1.0z1.1z1.2z1.3z2.0z3.0z5.0ééc@seZdZdZdS)r z6A common base class for the other pickling exceptions.N©Ú__name__Ú __module__Ú __qualname__Ú__doc__©rrú+/opt/alt/python38/lib64/python3.8/pickle.pyr Isc@seZdZdZdS)r z]This exception is raised when an unpicklable object is passed to the dump() method. Nrrrrrr Msc@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. NrrrrrrTsc@seZdZdd„ZdS)Ú_StopcCs ||_dS©N)Úvalue©Úselfr!rrrÚ__init__bsz_Stop.__init__N)rrrr$rrrrrasr)Ú 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Ú Ås rnc@sFeZdZdZdZdd„Zdd„Zdd„Zdd d „Zd d „Z dd„Z dS)Ú_FramerricCs||_d|_dSr )Ú file_writeÚ current_frame)r#rprrrr$Ísz_Framer.__init__cCst ¡|_dSr )ÚioÚBytesIOrq©r#rrrÚ start_framingÑsz_Framer.start_framingcCs*|jr&|j ¡dkr&|jdd�d|_dS)NrT©Úforce)rqÚtellÚ commit_framertrrrÚ 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ÚnameZsubpathÚparentrrrÚ _getattributeBs"ÿÿÿ rŸc Cs„t|ddƒ}|dk r|Stj ¡ ¡D]X\}}|dks&|dks&|dkrHq&z t||ƒd|krf|WSWq&tk r|Yq&Xq&dS)z$Find the module an object belong to.rNÚ__main__Z __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' >>> rr”ééÚlittleT©Ú byteorderZsignedr‘éÿéþÿÿÿé€N)Ú bit_lengthÚto_bytes)rmÚnbytesÚresultrrrÚ encode_longbs r´cCstj|ddd�S)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Ö|dkr t}|dkrt}n"d|kr.tks= 5z"file must have a 'write' attributer©r¨)ÚDEFAULT_PROTOCOLÚHIGHEST_PROTOCOLÚ ValueErrorÚ_buffer_callbackrƒÚ _file_writer™Ú TypeErrorroÚ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ÄÚclearrtrrrÚ 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__()éúz | tt|ƒ d¡d¡Wntk r\tdƒ‚YnXdS)NF)r÷rÛrÜú2persistent IDs in protocol 0 must be ASCII strings) rÆrÑrƒÚ BINPERSIDÚPERSIDrôrâÚUnicodeEncodeErrorr ©r#rørrrrías  ÿz_Pickler.save_persc Cs>t|tƒstdƒ‚t|ƒs"tdƒ‚|j}|j} t|ddƒ} |jdkrè| dkrè|\} }} t| dƒsntd  | ¡ƒ‚|dk rŽ| |j k rŽtd   | ¡ƒ‚|jd krº|| ƒ||ƒ|| ƒ| t ƒn,t | j | f|ž| Ž}||ƒ|d ƒ| tƒnŽ|jdk�r^| d k�r^|d } t| dƒ�stdƒ‚|dk �r8| |j k �r8tdƒ‚|dd…}|| ƒ||ƒ| tƒn||ƒ||ƒ| tƒ|dk �r¼t|ƒ|jk�r²| t| |jt|ƒd ¡ƒn | |¡|dk �rÐ| |¡|dk �rä| |¡|dk �r:|dk�r ||ƒ| 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ÚstateZ listitemsZ dictitemsZ state_setterrœrÑrƒZ 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ìdk�rnn| 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|d�n|jtjt|dƒdf|d�dSt|ƒ}|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|d�n|jtt|ƒf|d�dSt|ƒ}||jjkrf| tt d|ƒ|¡n|  tt d|ƒ|¡dS)Nrrr+r{) rÅröÚ bytearrayr.r~rÂr|rÃÚ BYTEARRAY8r rƒr3rrrÚsave_bytearray)s  z_Pickler.save_bytearrayc Cs˜|jdkrtdƒ‚| ¡�t}|js*tdƒ‚d}|jdk rFt| |¡ƒ}|rp|jr`| | ¡¡qŠ|  | ¡¡n|  t ¡|jrŠ|  t ¡W5QRXdS)Nrz0PickleBuffer can only pickled with protocol >= 5zHPickleBuffer can not be pickled when pointing to a non-contiguous bufferT) rÅr ÚrawÚ contiguousr¿ÚboolÚreadonlyr4Útobytesr7rƒÚ NEXT_BUFFERÚREADONLY_BUFFER)r#rœÚmZin_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Ír-r{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Ør%rrrÚsave_strRs&       ÿz_Pickler.save_strcCs:|s(|jr| t¡n| tt¡dSt|ƒ}|j}|j}|dkr²|jdkr²|D] }||ƒqRt |ƒ|kr–|  |t |ƒd¡}| t ||¡n| t |¡|  |¡dS|j}|tƒ|D] }||ƒqÄt |ƒ|k�r$|  |t |ƒd¡}|j�r |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ÄZelementrèrƒrrrÚ save_tupleis:     z_Pickler.save_tuplecCs8|jr| t¡n| tt¡| |¡| |¡dSr )rÆrƒÚ EMPTY_LISTrPÚLISTrØr rÓ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~rPÚAPPENDS)r#r¤rÑrƒrmÚitÚtmprŽrrrr ©s(     z_Pickler._batch_appendscCs<|jr| t¡n| tt¡| |¡| | ¡¡dSr )rÆrƒÚ EMPTY_DICTrPÚDICTrØr r¤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ƒ||jkrDdSqDdSrX) rÑrƒrÆÚSETITEMrZr[rr\r~rPÚSETITEMS) r#r¤rÑrƒÚkÚvr^r_rŽrrrr Ñs0       z_Pickler._batch_setitemscCs |j}|j}|jdkr0|jtt|ƒf|d�dS|tƒ| |¡t|ƒ}tt ||j ƒƒ}t |ƒ}|dkrŒ|t ƒ|D] }||ƒqv|t ƒ||j krJdSqJdS©Nrr+r)rÑrƒrÅröÚsetr[Ú EMPTY_SETrØrZrr\r~rPÚADDITEMS)r#rœrÑrƒr^ZbatchrŽÚitemrrrÚsave_setðs"    z_Pickler.save_setcCs’|j}|j}|jdkr0|jtt|ƒf|d�dS|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<d�d‚„Zveveewd<dƒd„„Zxexeeyd<d…d†„Zzezee{d<d‡dˆ„Z|e|ee}d<d‰dŠ„Z~e~eed<d‹dŒ„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ˆee‰d<d•d–„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’ee“d<dS)ŸÚ _UnpicklerTÚASCIIÚstrictN©rºÚencodingÚerrorsÚbufferscCsH|dk rt|ƒ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 theses 8-bit string instances as bytes objects. Nr) rZÚ_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’t‚||d|ƒqtWn,tk rÒ}z|jWY¢Sd}~XYnXdS)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�rŒr“Ú metastackÚstackÚappendrÅrðÚEOFErrorróÚ bytes_typesrÕrr!)r#r�rðÚkeyZstopinstrrrr¢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_framecCsLz| ¡dd… d¡}Wntk r6tdƒ‚YnX| | |¡¡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ŽrtrrrÚ load_noneèsz_Unpickler.load_nonecCs| d¡dS)NFrœrtrrrÚ load_falseìsz_Unpickler.load_falsecCs| d¡dS)NTrœrtrrrÚ load_trueðsz_Unpickler.load_truecCsL| ¡}|tdd…krd}n |tdd…kr4d}n t|dƒ}| |¡dS)Nr©FTr)r“rrrµrŽ)r#r‚ÚvalrrrÚload_intôs z_Unpickler.load_intcCs| td| d¡ƒd¡dS)Nrrr©rŽr r�rtrrrÚ load_binintÿsz_Unpickler.load_binintcCs| | d¡d¡dSrX)rŽr�rtrrrÚ load_binint1sz_Unpickler.load_binint1cCs| td| d¡ƒd¡dS)NrrÌrr¢rtrrrÚ 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|ƒ¡dSrX)r�rŽr·r�rrrÚ load_long1s z_Unpickler.load_long1cCs>td| d¡ƒ\}|dkr"tdƒ‚| |¡}| t|ƒ¡dS)Nrrrz#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“rtrrrÚ load_float!sz_Unpickler.load_floatcCs| td| d¡ƒd¡dS)Nr'r—rr¢rtrrrÚ 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|ddkrF|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)Nrrrz(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‘rH)rŽrôr“rtrrrÚ load_unicodeMsz_Unpickler.load_unicodecCsBtd| d¡ƒ\}|tkr&tdtƒ‚| t| |¡ddƒ¡dS)NrÚrz4BINUNICODE exceeds system's maximum size of %d bytesrArB©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 bytesrArBr¶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 rr5rŒrŽ)r#r~ÚbrrrÚload_bytearray8isÿ z_Unpickler.load_bytearray8cCsL|jdkrtdƒ‚zt|jƒ}Wntk r<tdƒ‚YnX| |¡dS)NzLpickle stream refers to out-of-band data but no *buffers* argument was givenznot enough out-of-band buffers)rˆrÚnextÚ StopIterationrŽ)r#r�rrrÚload_next_bufferss z_Unpickler.load_next_bufferc Cs6|jd}t|ƒ�}|js(| ¡|jd<W5QRXdSrª)r�Ú memoryviewr;Ú toreadonly)r#r�r?rrrÚload_readonly_buffer~s  z_Unpickler.load_readonly_buffercCs,| d¡d}| |¡}| | |¡¡dSrX)r�rŽr­r°rrrÚload_short_binstring…s z_Unpickler.load_short_binstringcCs"| d¡d}| | |¡¡dSrX)r�rŽr³rrrÚload_short_binbytes‹sz_Unpickler.load_short_binbytescCs*| d¡d}| t| |¡ddƒ¡dS)Nr©rrArB)r�rŽrôr³rrrÚload_short_binunicode�sz _Unpickler.load_short_binunicodecCs| ¡}| t|ƒ¡dSr )r”rŽrõr“rrrÚ load_tuple•sz_Unpickler.load_tuplecCs| d¡dS)NrrœrtrrrÚload_empty_tuplešsz_Unpickler.load_empty_tuplecCs|jdf|jd<dSrª©r�rtrrrÚ load_tuple1žsz_Unpickler.load_tuple1cCs$|jd|jdfg|jdd…<dS)Nr®r‘rÇrtrrrÚ load_tuple2¢sz_Unpickler.load_tuple2cCs,|jd|jd|jdfg|jdd…<dS)Néýÿÿÿr®r‘rÇrtrrrÚ load_tuple3¦sz_Unpickler.load_tuple3cCs| g¡dSr rœrtrrrÚload_empty_listªsz_Unpickler.load_empty_listcCs| i¡dSr rœrtrrrÚload_empty_dictionary®sz _Unpickler.load_empty_dictionarycCs| tƒ¡dSr )rŽrhrtrrrÚload_empty_set²sz_Unpickler.load_empty_setcCs| ¡}| t|ƒ¡dSr )r”rŽrmr“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)rlrç©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ƒrjz ||Ž}Wqttk rf}z$td|jt|ƒft ¡dƒ‚W5d}~XYqtXn | |¡}|  |¡dS)NZ__getinitargs__zin constructor for %s: %srÌ) rórïrÎrÁrrôr¡Úexc_inforrŽ)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_objcCs2|j ¡}|j ¡}|j|f|žŽ}| |¡dSr ©r�r’rrŽ)r#rrrœrrrÚ load_newobjæs  z_Unpickler.load_newobjcCs>|j ¡}|j ¡}|j ¡}|j|f|ž|Ž}| |¡dSr rß)r#rrrrœrrrÚload_newobj_exís    z_Unpickler.load_newobj_excCsF| ¡dd… d¡}| ¡dd… d¡}| ||¡}| |¡dS)Nr‘rA)r“r˜rÚrŽrÛrrrÚ load_globalõs z_Unpickler.load_globalcCsJ|j ¡}|j ¡}t|ƒtk s,t|ƒtk r4tdƒ‚| | ||¡¡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}| |¡dSrX)r�Ú get_extension©r#r|rrrÚ load_ext1sz_Unpickler.load_ext1cCs td| d¡ƒ\}| |¡dS)NrrÌ©r r�rärårrrÚ load_ext2 sz_Unpickler.load_ext2cCs td| d¡ƒ\}| |¡dS)NrrrçrårrrÚ load_ext4sz_Unpickler.load_ext4cCspg}t ||¡}||k r&| |¡dSt |¡}|sP|dkrDtdƒ‚td|ƒ‚|j|Ž}|t|<| |¡dS)NrzEXT specifies code <= 0zunregistered extension code %d)rrèrŽrrr¾rÚ)r#r|Znilrœr‘rrrräs     z_Unpickler.get_extensioncCs’t d||¡|jdkrT|jrT||ftjkr@tj||f\}}n|tjkrTtj|}t|dd�|jdkr~ttj ||ƒdSt tj ||ƒSdS)Nzpickle.find_classr¨rrpr) r¡ÚauditrÅrºr{Z NAME_MAPPINGZIMPORT_MAPPINGrrrŸ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”rtrrrÚload_pop8s z_Unpickler.load_popcCs | ¡dSr )r”rtrrrÚ load_pop_mark?sz_Unpickler.load_pop_markcCs| |jd¡dSrª)rŽr�rtrrrÚload_dupCsz_Unpickler.load_dupcCs(t| ¡dd…ƒ}| |j|¡dSrª)rµr“rŽrÄrærrrÚload_getGsz_Unpickler.load_getcCs"| d¡d}| |j|¡dSrX)r�rŽrÄrærrrÚ load_bingetLsz_Unpickler.load_bingetcCs&td| d¡ƒ\}| |j|¡dS)NrÚr)r r�rŽrÄrærrrÚload_long_bingetQsz_Unpickler.load_long_bingetcCs8t| ¡dd…ƒ}|dkr$tdƒ‚|jd|j|<dS)Nr‘rznegative PUT argument)rµr“r¾r�rÄrærrrÚload_putVsz_Unpickler.load_putcCs2| d¡d}|dkrtdƒ‚|jd|j|<dS)Nr©rznegative BINPUT argumentr‘)r�r¾r�rÄrærrrÚ load_binput]sz_Unpickler.load_binputcCs6td| d¡ƒ\}|tkr"tdƒ‚|jd|j|<dS)NrÚrznegative LONG_BINPUT argumentr‘)r r�r r¾r�rÄrærrrÚload_long_binputdsz_Unpickler.load_long_binputcCs|j}|jd|t|ƒ<dSrª)rÄr�r~)r#rÄrrrÚ load_memoizeksz_Unpickler.load_memoizecCs$|j}| ¡}|d}| |¡dSrª)r�r’rŽ)r#r�r!r[rrrÚ load_appendpsz_Unpickler.load_appendcCsZ| ¡}|jd}z |j}Wntk r0YnX||ƒdS|j}|D] }||ƒqHdSrª)r”r�Úextendr™rŽ)r#r¤Zlist_objrørŽrkrrrÚ load_appendsws  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_setitems‘s z_Unpickler.load_setitemscCsD| ¡}|jd}t|tƒr(| |¡n|j}|D] }||ƒq2dSrª)r”r�rórhÚupdateÚadd)r#r¤Zset_objrýrkrrrÚ load_additems˜s   z_Unpickler.load_additemsc CsÂ|j}| ¡}|d}t|ddƒ}|dk r6||ƒdSd}t|tƒrXt|ƒdkrX|\}}|rœ|j}tj}|  ¡D]*\}} t |ƒt kr’| |||ƒ<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ÚsetstateZ slotstateZ inst_dictrrerfrrrÚ load_build£s(   z_Unpickler.load_buildcCs"|j |j¡g|_|jj|_dSr )rŒrŽr�rtrrrÚ load_mark»sz_Unpickler.load_markcCs|j ¡}t|ƒ‚dSr )r�r’rr"rrrÚ load_stopÁs z_Unpickler.load_stop)”rrrr$rr”r•rðr–rÐr–r€ršrÿr›rþr�rržrrŸrr¡r#r£r r¤rr¥rr§r$r¨r!r©r"r«r)r¬r(r­r¯ÚSTRINGr±Ú BINSTRINGr´r2rµrMr·rKr¸rJr¹r1r»r6r¾r=rÁr>rÂÚSHORT_BINSTRINGrÃr0rÄrIrÅrQrÆrOrÈÚTUPLE1rÉrrËÚTUPLE3rÌrUrÍr`rÎrirÏrnrÐrVrÕrarÙrÜÚINSTrÞÚOBJràr rárrârzrãryrærurèrvrérwrärÚrìrrír rîrSrïÚDUPrðrårñrãròräróràrôrÞrõrßrörÝr÷rYrùr]rúrcrûrdrþrjrr rrPrrÒrrrrr�ps*ÿ 0                                                                     r�r¹cCst||||d� |¡dS©Nr¹)r¸r)rœrÈrÉrºr»rrrÚ_dumpÉs ÿÿrcCs8t ¡}t||||d� |¡| ¡}t|tƒs4t‚|Sr)rrrsr¸rÚgetvaluerór�rÕ)rœrÉrºr»r�ÚresrrrÚ_dumpsÍsÿÿrr‚rƒr„cCst|||||d� ¡S)N©rºr‡r…r†)r�r)rÈrºr…r†r‡rrrÚ_loadÕsÿrcCs2t|tƒrtdƒ‚t |¡}t|||||d� ¡S)Nz%Can't load pickle from unicode stringr)rórôrÁrrrsr�r)Úsrºr…r†r‡rÈrrrÚ_loadsÚs  ÿr) r r rrrrrrrcCsddl}| ¡SrÝ)ÚdoctestZtestmod)rrrrÚ_testôsrr z$display contents of the pickle files)Z descriptionÚ pickle_fileÚbrÚ*zthe pickle file)rïÚnargsÚhelpz-tz--testÚ store_truezrun self-test suite)Úactionrz-vz)run verbosely; only affects self-test run)N)N)“rÚtypesrÚcopyregrrrrÚ itertoolsrÚ functoolsrr¡r Zstructr r rjrrr/r{Ú__all__Ú_picklerrŽrrsr.r5r�Zformat_versionZcompatible_formatsr½r¼Ú Exceptionr r rrZorg.python.corer%rPrÒr rSrr)r#r rr$rrrÿrþrrr r rMrKrYr rzrar`r]rårãr rärVrUrràrÞrßrcrQrOrdr(rrrÐr rurvrwr rr rrr!r"rRr2r0rIrJr1rirjrnrryrÝr€r6r=r>røÚdirror‡rŸr§r´r·r¸r�rrrrrrrrrrrrÚargparseÚArgumentParserÚparserÚ add_argumentZFileTypeÚ parse_argsrZtestrZ print_helpZpprintr�rœrrrrÚsh     ÿ   ù    ?; ^]ÿ ÿ 0   ÿþþþ