
    hid                      d Z ddlmZ g dZdZddlZddlmZ ddlmZ	 eZ
ddlZddlZdad	aej        d
k     Zej        dk     Zej        dk     Zej        dk     ZddlZddlmZmZ ddlmZmZ ddlmZ ddlmZ  	 ddlm!Z" n# e#$ r dZ"Y nw xY w	 ddlm$Z% n# e#$ r dZ%Y nw xY wddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. e/Z0e1Z2 e1e3          Z4 e1e5          Z6e7Z8e1Z9e:Z;ddl&m<Z=m>Z> ddlm?Z?m@Z@mAZAmBZBmCZC ddlDZEddlFZFddlGZGddlHZHddlIZIddlJmKZKmLZLmMZM ddlNmOZO ddlPmQZQmRZR ddlSmTZT ddlUmVZVmWZW d	ZXddlYZZ e[eZj\        j]                  Z]	 ddl^Z^dZ_ e`e^d           Zan# e#$ r d	Z_d	ZaY nw xY wdabdacdad	 eZj\        e                                f                    d          s e#d          dabdacdadn# e#$ r Y nw xY wd  Zgt          r
d! Zhd" Zid# Zjn	d$ Zhd% Zid& Zjdd'l&mkZkmlZlmmZmmnZnmoZompZp  e1 d( d          jq        d                   Zr e1 eTesd)*                    Zt e1 euev ew                                Zx e1 eVd                    Zy e1 eWd+                    Zz	 dd,lSm{Z| n# e#$ r dZ|Y nw xY w e}e|e1          sdZ|d- Z~ej        d.k    Z e~d/d0          Z e~d1d20          Zerdn e~d3d20          Z e~d/d20          Z e~d4d20          Z	 dd5lmZ  e~d1d2e6          Zerdn e~d3d2e6          Z e~d/d2e6          Z e~d4d2e6          Zn# e#$ r dxZxZxZZY nw xY wdd7lmZ dxZZdd8lmZ dd9lmZ 	 eZdZd:Zn(# e$ r  d	Z e1e          Zn# e$ r dZY nw xY wd;ZY nw xY wddlZddlZ G d< d=e          Zdd>lmZ dd?lmZmZ dZdZd)Zd@ ZddAZddBZddCZddDZ G dE dFe          Z G dG dHeeA          Z G dI dJeeB          Z G dK dLeeC          Z G dM dNe          Z G dO dPe          Z	 ej                                        ZdQ ZdR ZdS ZddTZdU Z e e                      Ze                    etexeyezdV           ej        dWk     re                    dXeri            eO            ZeeeeeeeeedY	Ze                     e1i                                            e1i                                            e1i                                            e1e                                           e1e                                           e1e                                          dZ           ereed[<   er
eed\<   eed]<   	 ej        d^k    r+eas)dd_l&mZ  e1 e eeesf                              ed`<   	 	 ddlZej        eda<   n# e#$ r Y nw xY we                    e            ee                                          Z[ edb e                                D                       Zdc Zdd Zde Z	 	 ddfZ G dg dh          Zg diZeD ]*\  ZZZ e`e'eЦ          reZeѠ                                Z n+ eeԦ                              g dj          Zdk Zdl Zdm Ze%rdn Zdo Zdp Zdq Zdr Zds Z G dt due          Z G dv dwe          Z G dx dye          Z e            Zi Z	 e e=e          ez  u Zn# ev$ r d	ZY nw xY w[dZ edz          Zdd{Zd| Zdd}Zd~ ZddZd ZddZd Zd Zd ZddZd ZddZd Zdej        dfdZ ee'          d             Zd Z ee          d             Zeserd Znd ZeeOfD ]QZ e            Z ee          D ]9\  ZZ e1  e ee                                Zeej        vreej        e<   :R[[[[[ ee2          d             Z eej                  d             Ze%r ee%          d             Z ee          d             Z ee           d             Zd Zd Z	 ee           ee           ee           ee          d                                                 Z
er ee          d             Z
erN ee           ee           ee          d                                     Z
er ee          d             Z
er* ee          d             Z ee          d             Ze|ddlSmZ  ee|          d             Z eex          d             Zear ee)          d             Zn ee)          d             ZeasZ eeo           eek           een           eem           eel          d                                                             Zn& eeo           eek          d                         Z eer          d             Zer ee=          d             Zn ee=          d             Z ee8          d             Z ee;           ee4           ee6          d                                     Zd ZddZ eeK          d             Z eeL           eeM          d                         Zd Zd Z ee-          d             Zd Zd Z ee9          dd            Z ee            eeHj!                  d                         Z" ee#           ee$           eeHj%                   eeHj&                  d                                                 Z' ee(          d             Z(e_rU e`e^d          rHe^j)        j*        Z+e^j,        e^j-        e^j,        fe+_.        e^j/        e+_0        e^j)        j1        Z2e^j/        e^j-        fe2_.        e^j,        e2_0        e^j)        j3        Z4e^j/        fe4_.        e^j,        e4_0        e^j)        j5        Z6e^j/        fe6_.        e^j,        e6_0        e^j)        j7        Z8e^j/        fe8_.        e^j-        e8_0        e^j)        j9        Z:e^j/        e^j-        fe:_.        e^j;        e:_0        e^j)        j<        Z=e^j/        e^j,        fe=_.        e^j)        j>        Z?e^j/        e^j,        fe?_.        e^j)        j@        ZAe^j/        e^j-        feA_.        e^j)        jB        ZCe^j/        e^j,        feC_.        dZD e+ e^jE        e+e^j,                   e^j-        eD          d          ZF e1eF          ZG eeG          d             ZHeGed<   eGed<   eǐI                    eG           ndZF e`eId          r eeIjJ                  d             ZK e`eId          r$ e e1eIjL                            d             ZM e`eId          r$ e e1eIjN                            d             ZO e`eId          r eeIjP                  d             ZQddZRd ZSddZTdÄ ZUbb[dS )aK  
dill: a utility for serialization of python objects

The primary functions in `dill` are :func:`dump` and
:func:`dumps` for serialization ("pickling") to a
file or to a string, respectively, and :func:`load`
and :func:`loads` for deserialization ("unpickling"),
similarly, from a file or from a string. Other notable
functions are :func:`~dill.dump_module` and
:func:`~dill.load_module`, which are used to save and
restore module objects, including an intepreter session.

Based on code written by Oren Tirosh and Armin Ronacher.
Extended to a (near) full set of the builtin types (in types module),
and coded to the pickle interface, by <mmckerns@caltech.edu>.
Initial port to python3 by Jonathan Dobson, continued by mmckerns.
Tested against "all" python types (Std. Lib. CH 1-15 @ 2.7) by mmckerns.
Tested against CH16+ Std. Lib. ... TBD.
    )annotations)dumpdumpsloadloadscopyPickler	UnpicklerregisterpicklepicklescheckDEFAULT_PROTOCOLHIGHEST_PROTOCOLHANDLE_FMODECONTENTS_FMODE
FILE_FMODEPickleErrorPickleWarningPicklingErrorPicklingWarningUnpicklingErrorUnpicklingWarningdillN   )adapter)traceFi  i  	i  
i )_Picklerr
   )GLOBALPOP)LockType)RLock)_ExceptHookArgs)_ThreadHandle)CodeTypeFunctionType
MethodTypeGeneratorTypeTracebackType	FrameType
ModuleTypeBuiltinMethodType)MappingProxyType	new_class)r   r   r   r   r   )ReferenceType	ProxyTypeCallableProxyType)OrderedDict)EnumEnumMeta)partial)
itemgetter
attrgetterT	pythonapinumpyzNo module named 'numpy'c                 *    ddl ma ddl ma ddl ma dS )Nr   )ufunc)ndarray)dtypeT)r9   r;   NumpyUfuncTyper<   NumpyArrayTyper=   
NumpyDType     b/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/dill/_dill.py__hook__rD   q   s=    ------//////))))))4rB   c                    t          d | j        D                       rdS t                       | j        t          j        us| j        t          j        urdS dS )Nc              3  :   K   | ]}|j         |j        fd k    V  dS ))r9   r<   N
__module____name__.0cs     rC   	<genexpr>z*ndarraysubclassinstance.<locals>.<genexpr>y   s1      \\aaj)-AA\\\\\\rB   FT)all__mro__rD   __reduce_ex__r?   
__reduce__obj_types    rC   ndarraysubclassinstancerT   x   s^    \\8K[\\\\\ 	5


!)EEE&n.GGG5trB   c                >    t          d | j        D                       S )Nc              3  :   K   | ]}|j         |j        fd k    V  dS ))r9   r;   NrG   rJ   s     rC   rM   znumpyufunc.<locals>.<genexpr>   s1      ^^AL!*-1CC^^^^^^rB   )anyrO   rR   s    rC   
numpyufuncrX      s"    ^^XM]^^^^^^rB   c                    t          d | j        D                       rdS t                       | t          t                    u S )Nc              3  :   K   | ]}|j         |j        fd k    V  dS ))r9   r=   NrG   rJ   s     rC   rM   znumpydtype.<locals>.<genexpr>   s1      ZZAaj)-??ZZZZZZrB   F)rN   rO   rD   typer@   rR   s    rC   
numpydtyper\      sE    ZZIYZZZZZ 	5


4
++++rB   c                    dS NFrA   objs    rC   rT   rT      s    UUrB   c                    dS r^   rA   r_   s    rC   rX   rX          rB   c                    dS r^   rA   r_   s    rC   r\   r\      rb   rB   )GetSetDescriptorTypeClassMethodDescriptorTypeWrapperDescriptorTypeMethodDescriptorTypeMemberDescriptorTypeMethodWrapperTypec                      fdS )Nc                    S NrA   )yxs    rC   <lambda>z<lambda>.<locals>.<lambda>   s    Q rB   rA   rn   s   `rC   ro   ro      s    ;;;; rB      base__repr__)_lru_cache_wrapperc                     |                     dt          j                  } |t          j        g| R i |}t          |          }|                                 |S )Nopen)pop__builtin__rw   osdevnullr[   close)argskwargsrw   fts        rC   get_file_typer      sV    ::fk.//DRZ)$)))&))AQAGGIIIHrB   
emscriptenrb)	bufferingrzr+bwb)rw   )r   rw   )BytesIO)socket)_reduce_socket)exitquitget_ipythonrA   c                  8    e Zd ZdZd	dZd Zd Zd Zd Zd Z	dS )
SentinelzH
    Create a unique sentinel object that is pickled as a constant.
    Nc                z    || _         |*t          j                    j        j        d         | _        d S || _        d S )NrI   )nameinspectcurrentframef_back	f_globalsrH   )selfr   module_names      rC   __init__zSentinel.__init__   s9    	%244;EjQDOOO)DOOOrB   c                &    | j         dz   | j        z   S )N.)rH   r   r   s    rC   rt   zSentinel.__repr__   s    $ty00rB   c                    | S rl   rA   r   s    rC   __copy__zSentinel.__copy__       rB   c                    | S rl   rA   )r   memos     rC   __deepcopy__zSentinel.__deepcopy__   r   rB   c                    | j         S rl   r   r   s    rC   rQ   zSentinel.__reduce__   
    yrB   c                    | j         S rl   r   )r   protocols     rC   rP   zSentinel.__reduce_ex__   r   rB   rl   )
rI   rH   __qualname____doc__r   rt   r   r   rQ   rP   rA   rB   rC   r   r      s}         * * * *1 1 1          rB   r   )_shims)ReduceGetattrc                    |                     dt          j        d                   }t          t	          | g|R i ||          S )z
    Use pickling to 'copy' an object (i.e. `loads(dumps(obj))`).

    See :func:`dumps` and :func:`loads` for keyword arguments.
    ignore)r   )rx   r
   settingsr   r   )r`   r}   kwdsr   s       rC   r   r      sJ     XXh	 28 <==Fs*T***T**6::::rB   c                    ddl m } ||d         nt          |          }|                                }|                    t	          |||                     t          ||fi |                    |            dS )zS
    Pickle an object to a file.

    See :func:`dumps` for keyword arguments.
    r   r   Nr   )byreffmoderecurse)r   intr   updatedictr	   r   )	r`   filer   r   r   r   r   r   _kwdss	            rC   r   r      s     #"""""'/'7x
##S]]HIIKKE	LLE@@@AAAD($$e$$))#...
FrB   c                j    t                      }t          | |||||fi | |                                S )a  
    Pickle an object to a string.

    *protocol* is the pickler protocol, as defined for Python *pickle*.

    If *byref=True*, then dill behaves a lot more like pickle as certain
    objects (like modules) are pickled by reference as opposed to attempting
    to pickle the object itself.

    If *recurse=True*, then objects referred to in the global dictionary
    are recursively traced and pickled, instead of the default behavior
    of attempting to store the entire global dictionary. This is needed for
    functions defined via *exec()*.

    *fmode* (:const:`HANDLE_FMODE`, :const:`CONTENTS_FMODE`,
    or :const:`FILE_FMODE`) indicates how file handles will be pickled.
    For example, when pickling a data file handle for transfer to a remote
    compute service, *FILE_FMODE* will include the file contents in the
    pickle and cursor position so that a remote method can operate
    transparently on an object with an open file handle.

    Default values for keyword arguments can be set in :mod:`dill.settings`.
    )StringIOr   getvalue)r`   r   r   r   r   r   r   s          rC   r   r     s;    0 ::DdHeUG<<t<<<==??rB   c                D    t          | fd|i|                                S )zW
    Unpickle an object from a file.

    See :func:`loads` for keyword arguments.
    r   )r
   r   )r   r   r   s      rC   r   r   #  s+     T11&1D1166888rB   c                <    t          |           }t          ||fi |S )ah  
    Unpickle an object from a string.

    If *ignore=False* then objects whose class is defined in the module
    *__main__* are updated to reference the existing class in *__main__*,
    otherwise they are left to refer to the reconstructed type, which may
    be different.

    Default values for keyword arguments can be set in :mod:`dill.settings`.
    )r   r   )strr   r   r   s       rC   r   r   +  s'     C==Df%%%%%rB   c                      e Zd ZddZd ZdS )MetaCatchingDictNc                8    	 | |         S # t           $ r |cY S w xY wrl   )KeyError)r   keydefaults      rC   getzMetaCatchingDict.getD  s5    	9 	 	 	NNN	s   
 c                V    t          |t                    rt          S t                      rl   )
issubclassr[   	save_typer   )r   r   s     rC   __missing__zMetaCatchingDict.__missing__J  s$    c4   	**rB   rl   )rI   rH   r   r   r   rA   rB   rC   r   r   C  s7               rB   r   c                      e Zd ZdS )r   NrI   rH   r   rA   rB   rC   r   r   P          DrB   r   c                      e Zd ZdS )r   Nr   rA   rB   rC   r   r   S  r   rB   r   c                      e Zd ZdS )r   Nr   rA   rB   rC   r   r   V  r   rB   r   c                      e Zd ZU dZ eej                                                  Zded<   	 dZ	ddl
m
Z
 d Zdd	Zej        j        e_        d
 Zej        j        e_        dS )r	   z1python's Pickler extended to interpreter sessionsz?typing.Dict[type, typing.Callable[[Pickler, typing.Any], None]]dispatchFr   r   c                   t           j        }|                    dd           }|                    dd           }|                    dd           }t          j        | |g|R i | t
          | _        i | _        ||d         n|| _        d| _	        ||d         n|| _
        ||d         n|| _        t                      | _        || _        d S )Nr   r   r   F)r	   r   rx   StockPicklerr   _main_module_main_diff_cache_byref	_strictio_fmode_recurser2   	_postproc_file)r   r   r}   r   r   r   r   r   s           rC   r   zPickler.__init__g  s    #'4(('4((88It,,dD848884888!
+1>hw''v+1>hw''v/7/?++X$


rB   Tc                   t          |          }t          r|t           u s|t          j        v sut	          |          rt          |          d             }t          |          rt          |          d             }t          |          rt          |          d             }t          r"|t          u rdt          z  }t          |          t          j        | ||           d S )Nc           	         t          j        | d|           t          |dt          |dd                     }t          j        | ||           t          j        | d           d S )NzNu: %sr   rI   r   # Nu)loggerr   getattrr   save_globalpicklerr`   r   s      rC   save_numpy_ufuncz&Pickler.save.<locals>.save_numpy_ufunc~  sc    L(C888"3ZQU8V8VWWD ,WcEEEEL&111FrB   c                    t          j        | d|           |                     t          |j        f|           t          j        | d           d S )NzDt: %sr_   z# Dt)r   r   save_reduce_create_dtypemetar[   r   r`   s     rC   save_numpy_dtypez&Pickler.save.<locals>.save_numpy_dtype  sM    L(C888''(9CH;C'PPPL&111FrB   c                   t          j        | d|j        |j                   t	          |dd           }|                                \  }}}|                     t          ||||f|           t          j        | d           d S )NzNu: (%s, %s)__dict__r_   r   )r   r   shaper=   r   rQ   r   _create_array)r   r`   npdictr   r}   states         rC   save_numpy_arrayz&Pickler.save.<locals>.save_numpy_array  s~    L.#)SYOOO$S*d;;F%(^^%5%5NAtU''$uV7LRU'VVVL&111FrB   z;Can't pickle %s: attribute lookup builtins.generator failed)r[   r?   r	   r   rX   r   r\   rT   GENERATOR_FAILr(   r   r   save)r   r`   save_persistent_idrS   r   r   r   msgs           rC   r   zPickler.savew  s   99 &	8t#3#3x7CS7S7S (## (##  $# (## (##  $# 'x00 (##  $#  	%h-77OR__C$$$$%788888rB   c                X    t          j        |            t          j        | |           d S rl   )r   trace_setupr   r   r   r`   s     rC   r   zPickler.dump  s,    4   $$$$$$rB   NT)rI   rH   r   r   r   r   r   r   __annotations___sessionr   r   r   r   rA   rB   rC   r	   r	   Z  s         ;;|499;;<<  = = = = H""""""   /9 /9 /9 /9b  $,DL% % %  $,DLLLrB   r	   c                  V    e Zd ZdZddlmZ dZd Zd Zd Ze	j        j        e_        dS )	r
   zBpython's Unpickler extended to interpreter sessions and more typesr   r   Fc                    ||fdk    r| j         j        S ||fdk    rt          d           S |dk    rd}t          j        | ||          S )N)ry   __main__)ry   NoneTypez	dill.dill
dill._dill)r   r   r[   StockUnpickler
find_class)r   moduler   s      rC   r  zUnpickler.find_class  s]    D>888:&&d^:::::[  <&(vt<<<rB   c                    t           j        }|                    dd           }t          j        | g|R i | t
          | _        ||d         n|| _        d S )Nr   )r	   r   rx   r  r   r   r   _ignore)r   r}   r   r   r  s        rC   r   zUnpickler.__init__  s^    #((8T**4t444t444!
-4_x))'rB   c                   t          j        |           }t          |          j        t	          t
          dd          k    rK| j        sDt	          | j        t          |          j                  |_	        n# t          t          f$ r Y nw xY w|S )NrI   r   )r  r   r[   rH   r   r   r  r   rI   	__class__AttributeError	TypeErrorr   s     rC   r   zUnpickler.load  s{    !$''997<Z#P#PPP< 8%,TZc9K%L%LS]]&y1777447
s   ,A5 5B	B	N)
rI   rH   r   r   r   r   r  r   r   r  rA   rB   rC   r
   r
     sk        LL""""""H= = =J J J   "&.DLDrB   r
   c                $    |t           j        | <   dS )zBexpose :attr:`~Pickler.dispatch` table for user-created extensionsNr	   r   r   funcs     rC   r   r     s    GQ
FrB   c                      fd}|S )zHdecorator to register types to Pickler's :attr:`~Pickler.dispatch` tablec                &    | t           j        <   | S rl   r  )r  r   s    rC   proxyzregister.<locals>.proxy  s    "rB   rA   )r   r  s   ` rC   r   r     s#         LrB   c                     t          t          j                                                  D ]E\  } }|j        t
          k    r0t          j        | = | t          v rt          |          t          j        | <   FdS )z7drop dill-registered types from pickle's dispatch tableN)listr   r   itemsrH   rI   pickle_dispatch_copy)r[   r  s     rC   _revert_extensionr    sq    <0668899 I I
d?h&&%d++++.B4.H%d+	I IrB   c                j    | a t           r't          "	 ddlm} n# t          $ r ddl}Y nw xY w|adS dS dS )a  
    Reduces size of pickles by only including object which have changed.

    Decreases pickle size but increases CPU time needed.
    Also helps avoid some unpickleable objects.
    MUST be called at start of script, otherwise changes will not be recorded.
    Nr   )diffr   )	_use_diffr   ImportError)onds     rC   use_diffr    ss     I T\	####### 	 	 		 \\s    **c               #  f  K   dd l } t          t          t          j                                                  t          | j                                                  z                                             }|D ]6\  }}t          |dd           dk    rt          |          t          u r||fV  7d S )Nr   rH   builtins)typesr   r  ry   r   r  r   r[   )r   r  r   values       rC   _create_typemapr"    s      LLLT+&,,..//%.&&(())* 	+ 	++0577   
U5,--;;KK4''u*
FrB   )PartialType	SuperTypeItemGetterTypeAttrGetterTypei CellType)	FileTypeBufferedRandomTypeBufferedReaderTypeBufferedWriterTypeTextWrapperTypePyBufferedRandomTypePyBufferedReaderTypePyBufferedWriterTypePyTextWrapperType)DictKeysTypeDictValuesTypeDictItemsTypeOdictKeysTypeOdictValuesTypeOdictItemsTypeExitType	InputType
OutputTypei )GenericAliasGenericAliasIteratorTypeHKEYTypec              #  $   K   | ]\  }}||fV  d S rl   rA   )rK   kvs      rC   rM   rM   P  s*      <<41aA<<<<<<rB   c                *    t          j        |           S rl   )marshalr   )strings    rC   
_unmarshalrC  R  s    =   rB   c                    t           |          S rl   )_reverse_typemapr   s    rC   
_load_typerF  U  s    D!!rB   c                     | | S rl   rA   )typeobjr}   s     rC   _create_typerI  X  s    7D>rB   c                    t          | |pt                      |||          }||j                            |           |||_        d|j        vrt                      d         |j        d<   |S )N__builtins__)r&   r   r   r   __kwdefaults____globals__globals)fcodefglobalsfname	fdefaultsfclosurefdictfkwdefaultsr  s           rC   _create_functionrV  [  sw     x14665)XNNDU###) T---+299^+D(KrB   c                  F    e Zd ZdZd Zd Zd Zd Zed             Z	d Z
dS )	matchaI  
    Make avaialable a limited structural pattern matching-like syntax for Python < 3.10

    Patterns can be only tuples (without types) currently.
    Inspired by the package pattern-matching-PEP634.

    Usage:
    >>> with match(args) as m:
    >>>     if   m.case(('x', 'y')):
    >>>         # use m.x and m.y
    >>>     elif m.case(('x', 'y', 'z')):
    >>>         # use m.x, m.y and m.z

    Equivalent native code for Python >= 3.10:
    >>> match args:
    >>>     case (x, y):
    >>>         # use x and y
    >>>     case (x, y, z):
    >>>         # use x, y and z
    c                "    || _         d | _        d S rl   )r!  _fields)r   r!  s     rC   r   zmatch.__init__  s    
rB   c                    | S rl   rA   r   s    rC   	__enter__zmatch.__enter__  r   rB   c                    dS r^   rA   )r   exc_infos     rC   __exit__zmatch.__exit__  s    urB   c                b    t          | j                  t          |          k    rdS || _        dS )zjust handles tuple patternsFT)lenr!  r}   )r   r}   s     rC   casez
match.case  s.    tz??c$ii''5 	trB   c                v    | j         ,t          t          | j        | j                            | _         | j         S rl   )rZ  r   zipr}   r!  r   s    rC   fieldszmatch.fields  s1     <DItz : :;;DL|rB   c                    | j         |         S rl   )re  r   items     rC   __getattr__zmatch.__getattr__  s    {4  rB   N)rI   rH   r   r   r   r\  r_  rb  propertyre  ri  rA   rB   rC   rX  rX  k  s         (           X
! ! ! ! !rB   rX  ))      aco_endlinetablezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable endlinetable columntable exceptiontable freevars cellvars)rl  rm  co_exceptiontablezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable                          exceptiontable freevars cellvars)rl  rm  pco_qualnamezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable                                         freevars cellvars)rl  
   co_linetablezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name          firstlineno linetable                                         freevars cellvars)rl     co_posonlyargcountzargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name          firstlineno lnotab                                            freevars cellvars)rl     co_kwonlyargcountzargcount                 kwonlyargcount nlocals stacksize flags code consts names varnames filename name          firstlineno lnotab                                            freevars cellvars)codelnotab	linetableendlinetablecolumntableexceptiontablec                 
   t          | d         t                    s| ^}} nd}t          |           5 }|                    d          rt          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         t          | d         d          r| d                                         n| d         t          | d	         d          r| d	                                         n| d	         | d
         | d         R  cd d d            S |j        ne|                    d          rt          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         t          | d         d          r| d                                         n| d         | d	         | d
         R  cd d d            S |j        n|                    d          rt          dk    st          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         t          | d         d          r| d                                         n| d         | d         | d	         R  cd d d            S |j        t          dk    r|j	        d<   n|r|n|j	        d<   n|                    d          rt          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         t          | d         d          r| d                                         n| d         | d         | d         R  cd d d            S |j        n|                    d          rt          dk    rt          g | d d         t          | d         d          r| d                                         n| d         | dd         d | dd         D             | d         | d         R  cd d d            S |j        nt          d          d d d            n# 1 swxY w Y                       dd                               d|                               dd                               dd                                         d!d                               d"d                                d#d            fd$t          D             } t          |  S )%Nr   rB   )argcountposonlyargcountkwonlyargcountnlocals	stacksizeflagsr~  constsnamesvarnamesfilenamer   qualnamefirstlinenor  r  freevarscellvarsrp     encoder|              )r  r  r  r  r  r  r~  r  r  r  r  r   r  r  r  r  r  rr  )r  r  r  r  r  r  r~  r  r  r  r  r   r  LNOTAB_OR_LINETABLEr  r  ru  rx     r  r  )r  r  r  r  r  r~  r  r  r  r  r   r  r  r  r  r{        )r  r  r  r  r  r  r~  r  r  r  r  r   r  r  r  r  r  r  r  r  rk  c              3  b   K   | ]*}t          |d           r|                                n|V  +dS r  N)hasattrr  )rK   rn  s     rC   rM   z_create_code.<locals>.<genexpr>   s=      UUAGAx$8$8?ahhjjjaUUUUUUrB         z$pattern match for code object failedr  r  r   r  r  r  c              3     K   | ]E}|t           v r0t          |         d           r|                                         n|         V  FdS r  )ENCODE_PARAMSr  r  )rK   r>  re  s     rC   rM   z_create_code.<locals>.<genexpr>  sp       " " #$}"4"4H9U9U"4F1I[abc[d " " " " " "rB   )
isinstancer   rX  rb  CODE_VERSIONr%   r  r  re  r  r   
setdefaultCODE_PARAMS)r}   LNOTABmre  s      @rC   _create_coder    s   d1gs## 	t WJ66 
   U	J
 v%% "1"X(/Q(B(BODGNN$$$Q !B$Z *1b8)D)DRDHOO%%%$r(	
 *1b8)D)DRDHOO%%%$r( H H  WJ WJ WJ WJ WJ WJ WJ WJ" XFFVV 
   D	J
 z)) "1"X(/Q(B(BODGNN$$$Q !B$Z *1b8)D)DRDHOO%%%$r(	
 H H  3WJ WJ WJ WJ WJ WJ WJ WJB XFFVV 
   4	J
 v%%)>)> "1"X(/Q(B(BODGNN$$$Q !B$Z *1b8)D)DRDHOO%%%$r(	
 H H  SWJ WJ WJ WJ WJ WJ WJ WJb XFv%%&'&;{##-3#N669Nx  VV 
    	J
 u$$ "1"X(/Q(B(BODGNN$$$Q !B$Z *1b8)D)DRDHOO%%%$r(	
 H H  {WJ WJ WJ WJ WJ WJ WJ WJJ XFFVV 
   	J
 z)) "1"X(/Q(B(BODGNN$$$Q !B$Z VUbQSeUUU	
 H H  [WJ WJ WJ WJ WJ WJ WJ WJj XFF!"HIIIoWJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJ WJt '+++
h'''
k3'''
j&.111
&,,,
nd+++
mT***" " " " " " "DT?s4   C6R06CR0	CR0'C+R0B!R0R00R47R4c                *    |i }|d} | |g|R i |S )NrA   rA   )ftypeobjr  r}   r   s       rC   _create_ftyper    s6    ||8D(4(((4(((rB   c                    | s%t           j        d                             d          S | dk    rt           j        d         S t           j        |          S )NrA   rA   )typingTuple	copy_with)argzr}   s     rC   _create_typing_tupler    sH     .|B))"---u}}|B<rB   c                T    ddl m}  ||           }|r|                                 |S )Nr   )_make_thread_handle)	threadingr  	_set_done)identdoner}   r  handles        rC   _create_thread_handler  $  sC    111111$$U++ 	rB   c                r    ddl m}  |            }| r$|                    d          st          d          |S )Nr   )LockFCannot acquire lock)r  r  acquirer   )lockedr}   r  locks       rC   _create_lockr  +  sO    466D 9||E"" 	9!"7888KrB   c                    t                      }||                    | |f           |r#|                                st          d          |S )Nr  )	RLockType_acquire_restore	_is_ownedr   )countownerr}   r  s       rC   _create_rlockr  3  sV    ;;Duen--- 5T^^%% 53444KrB   c                   t           j        t           j        t           j        d}| t	          |                                          v r
||          }	n?| dk    rt          j                    }	n$| dk    rdd l}
|
	                    |          }	n	 t          j
                            |           }n# t          $ r d}Y nw xY w|s(|rt          d| z            d|v r|t          k    rd} d}nt          j
                            |           }||k    r|rt!          d          |t"          k    r|}	 |t          k    rL || d	|v r|nd	          }	|	                    |           d	|vr |	                                  || |          }	n| dk    rdd l}
|
	                    |          }	n|t"          k    rd	|v sd
|v rt          j        }d|v r|t          j        z  }n|t          j        z  }t          j        t          j        | |          |          }	t3          |	d|	          }t3          |d|          }| |_        |	j        | k    sJ n || |          }	n=# t6          t          f$ r) t          j                    d         }t;          |          w xY w|r|	                                 n&|dk    r |t<          k    r|	                    |           |	S )N)z<stdin>z<stdout>z<stderr>z	<tmpfile>z<fdopen>r   Fz)[Errno 2] No such file or directory: '%s'r   zinvalid buffer sizewrn   +bufferrawr   ) sys	__stdin__
__stdout__
__stderr__r  keysrz   tmpfiletempfileTemporaryFilepathexists	ExceptionFileNotFoundErrorr   getsize
ValueErrorr   writer|   O_CREATO_RDWRO_WRONLYfdopenrw   r   r   IOErrorr^  r   r   seek)r   modepositionclosedrw   strictior   fdatar  r   r  r  current_sizer  r   errs                   rC   _create_filehandler  <  s
    }( (EtEJJLL!!!!$K			JLL			""4((	W^^D))FF 	 	 	FFF	 	1 "'(SVZ(Z[[[*!4!4!LL7??400Ll"" ( !6777.(('	'
""Dsd{{tt<<d??GGIIIT4((A##**400.((4KK3$;;
$;;RY&EER[(EIbgdE22D99Ax++Aua((v~~~~~Dt$$*+ 	' 	' 	',..#C!#&&&	'  						Q5L00	xHs   B/ /B>=B>/D$I :Jc                |    t          |           }|r|                                 n|                    |           |S rl   )r   r|   r  r!  r  r  r   s       rC   _create_stringir    s:    A qwwyyyy
&&


HrB   c                    t                      }|r|                                 n*|                    |            |                    |           |S rl   )r   r|   r  r  r  s       rC   _create_stringor    sG    

A qwwyyyywwu~~~vvhHrB   c                      e Zd Zd Zd ZdS )_itemgetter_helperc                    g | _         d S rl   r  r   s    rC   r   z_itemgetter_helper.__init__  s    


rB   c                :    | j                             |           d S rl   )r  appendrg  s     rC   __getitem__z_itemgetter_helper.__getitem__  s    
$rB   N)rI   rH   r   r   r  rA   rB   rC   r  r    s2              rB   r  c                      e Zd ZddZd ZdS )_attrgetter_helperNc                "    || _         || _        d S rl   )attrsindex)r   r  r  s      rC   r   z_attrgetter_helper.__init__  s    



rB   c                .   t                               | d          }t                               | d          }|%t          |          }|                    |           n d                    ||         |g          ||<    t          |           ||          S )Nr  r  r   )object__getattribute__ra  r  joinr[   )r   attrr  r  s       rC   r   z#_attrgetter_helper.__getattribute__  s    ''g66''g66=JJELL88U5\4$899E%LtDzz%'''rB   rl   )rI   rH   r   r   r   rA   rB   rC   r  r    s7           ( ( ( ( (rB   r  c                      e Zd Zd ZdS )_dictproxy_helperc                    |S rl   rA   )r   rn  s     rC   __ror__z_dictproxy_helper.__ror__  s    rB   N)rI   rH   r   r  rA   rB   rC   r  r    s#            rB   r  _CELL_EMPTYc                :    | t           ur| fdj        d         S )Nc                      S rl   rA   )r!  s   rC   ro   z_create_cell.<locals>.<lambda>  s    E rB   r   )r  __closure__)contentsr!  s    @rC   _create_cellr    s'    {""MMM&q))rB   c                R    ddl m} | ddlm}  | |            g|R  S  || g|R  S )Nr   )refUserDict)weakrefr  collectionsr  )r`   r}   r  r  s       rC   _create_weakrefr    s]    
{((((((s88::%%%%%3s?T???rB   c                j    ddl m} | #|r
 |d g|R  S ddlm}  | |            g|R  S  || g|R  S )Nr   )r  c                    | S rl   rA   rp   s    rC   ro   z#_create_weakproxy.<locals>.<lambda>  s    1 rB   r  )r  r  r  r  )r`   callabler}   r  r  s        rC   _create_weakproxyr    s    
{4EE**4t4444((((((uXXZZ'$''''5trB   c                     t          |           S rl   )eval)repr_strs    rC   
_eval_reprr    s    >>rB   c                r     | | }|                     |           ||j                            |           |S rl   )__setstate__r   r   )r   r}   r   r   arrays        rC   r   r     sB    AtHE	uf%%%LrB   c                z    t           du rt                       | t           S t          t          |                     S )NT)r@   rD   r[   )scalar_types    rC   r   r     s7    T8:::
;''(((rB   c                v    t          |dz   | z   d          }||S dd l}|                    | |||          }|S )Nr   Tsafer   )defaultsr  )_import_moduler  
namedtuple)r   
fieldnames
modulenamer$  class_r  r   s          rC   _create_namedtupler*    sV    J,t3$???FtZ(:VVAHrB   c                   d}	 |                     d          }t          d|                    d          dz             D ]b}|                    d|          }	 t	          |d                   }n# t
          $ r Y nw xY w|}	|dd          D ]}
t          |	|
          }	|	}d} n# t          $ r Y nw xY w|r4t          ||          r|S t          t          |          d|d          t          | ||          }t          ||           |S )	NFutf8r   r   r   Tz object exists at z% but a PyCapsule object was expected.)decoderanger  rsplit
__import__r  r   r  _PyCapsule_IsValidr   r[   _PyCapsule_New_PyCapsule_SetContext)pointerr   context
destructor
attr_foundunameir  r  r`   r  capsules               rC   _create_capsuler;    s`   JF##q%++c**1,-- 	 	ALLa((E#E!H--   Cabb	 ) )c4((GJ     gt,, 	N_cdk_l_l_l_lnrnrnrsttt !$
;;gw///s6   AB# A.-B# .
A;8B# :A;;'B# #
B0/B0c                L   	 |                     d          d         }t          |dz   |z   dz             S # t          $ rd 	 | j        }t	          |          t
          u r	||         }nt          | |          }n'# t          t          f$ r t          | |          }Y nw xY w|cY S w xY w)N'rl  z.__dict__["z"])	splitr  r  r   r[   DictProxyTyper   r  r   )objclassr   r  r  s       rC   _getattrrA  	  s    ~~c""1%D&t+D0111 	 	 		*$DDzz]**Dzx--) 	* 	* 	*8D))DDD	*	s3   25 
B# 6A76B#7!BB#BB#"B#c                N    t          | |d           pt          t          |          S rl   )r   ry   )r   r   s     rC   	_get_attrrC    s#    4t$$BT(B(BBrB   c                   	 |                      d          rt          j        |          S d| v r|                     d          }d                    |d d                   }|d         }t          t          |d d |g          |          }t          |t          t          f          r|S t          | d d |g          S t          |           S # t          t          t          f$ r |rY d S  w xY w)Nz__runtime__.r   r   )
startswithr  modulesr>  r  r   r0  r  r+   r[   r  r  r   )import_namer#  r  r  r`   	submodules         rC   r%  r%    s    !!.11 	+;{++K%%c**EXXeCRCj))F)C
64u E EsKKI)j$%788 !  k4u===k***2    	44s#   &C A<C &C 9C C&$C&c                   |                     d          D ]o}|dk    r#t          d                    ||                     	 | }t          | |          } ?# t          $ r$ t          d                    ||                     w xY w| |fS )Nr   z<locals>z&Can't get local attribute {!r} on {!r}z Can't get attribute {!r} on {!r})r>  r  formatr   )r`   r   subpathparents       rC   _getattributerM  1  s    ::c?? 	5 	5j   !I"(&s"3"35 5 5	5F#w''CC 	5 	5 	5 !C"(&s"3"35 5 5	5 ;s   A.Bc                b   t          | dd           }|dv s*|r*t          |d          r|j        r||j        j        k    rdS t          | d          r?t          |d          }	 t          || j                  \  }}|| u S # t          $ r Y dS w xY wt          |dz   | j        z   d          }|| u S )	NrH   )r   NFchildr   Tr"  r   )
r   is_dillr   r   rI   r  r%  rM  r   r  )r`   r   r   r  found_s         rC   _locate_functionrT  >  s    #|T22K((( )u555 ):A:J )OZ^e^k^tOtOtusN## 	$777	$VS-=>>HE1C< 	 	 	55	 {S03<?dKKK|s   $B   
BBc                D    |                                 D ]
\  }}|| |<   d S rl   r  )destsourcer>  r?  s       rC   	_setitemsrX  O  s2      1Q rB   c           	     B   |t           j        u rt          |          }|t          | d          }|r|g }t	          |          | j        v rkt          |d          r!|j        dt          |d|j	                  dnd}t          j        d|d	|d
t                     |                     |           d S || j        t	          |          <    | j        |d|i |r>| j                            t	          |                    }t!          |          D ]}|d         t"          u r|d         \  }}|r|                     |                     | j        t	          |                   d                              t*          j        dk     r5|                     t1          |                                                     nB|                     t1          |                                          |           n | j        |  |                     t4                     d S d S )NTrO  rH   r   r    r  Cannot pickle : z<has recursive self-references that trigger a RecursionError.r`   r   r   i r_   )r   
NO_DEFAULTr   rQ  idr   r  rH   r   rI   warningswarnr   r   r   rx   reversedrX  r  r   r   r  
hexversion_batch_setitemsiterr  r    )	r   	reductionis_pickler_dillr`   postproc_listr   postprocrV  rW  s	            rC   _save_with_postprocri  T  sN   
g   Y!'666 3
  M c77g'''^efikw^x^x  As~~~wsNCL/Y/Y/Y/YZZ  ADMMpspspsuyuyuyz  }L  M  M  M$$$F%2"S''" G,,,,  $((C11!(++ 	 	I|y((  )|f MM'++gl2d88.DQ.G"H"HIII~	11//V\\^^0D0DEEEE//V\\^^0D0D#/NNNN ##Y//MM#- 
	 	rB   c                   t          j        | d|           t          |d          r|j        |j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}nt          |d          rt1          j                    5  t4          st1          j        dt8                     |j        |j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}d d d            n# 1 swxY w Y   nt          |d          rp|j        |j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}nHt          |d          ri|j        |j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}nt          |d          rc|j        |j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}n\|j        |j        |j        |j        |j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        f}|                     t<          ||	           t          j        | d
           d S )NzCo: %sro  rq  r   )categoryrt  rw  rz  r_   z# Co)r   r   r  	co_lnotabco_argcountrz  r}  
co_nlocalsco_stacksizeco_flagsco_code	co_constsco_namesco_varnamesco_filenameco_namert  co_firstlinenorw  ro  co_columntablerq  co_freevarsco_cellvarsr_  catch_warningsOLD312a7filterwarningsDeprecationWarningr   r  r   r`   r}   s      rC   	save_coder    sV   
L(C(((s%&& ;
MOS3!3>33CL#+s}clOS_ck3? 0#2E 5sO	
 
)	*	* 0
$&& 	 	 O';MNNNN!7%s~s7Gck3=#,#+s"C$4c6KD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
m	$	$ #
M3?C,B!3>33CL#+s}clOS_ck3? 0#/O
 
n	%	% 
MOS3!3>33CL#+s}clOS_ck 0#/O
 
*	+	+ 
OS3!3>33CL#+s}clOS_cksO
 OS2CNclCKL#/3?K+S]OS_
 d444
L&!!!
Fs   BE//E36E3c                N    dt          |           j        t          |           fz  S )z3Make a short string representation of a dictionary.z<%s object at %#012x>)r[   rI   r^  r_   s    rC   
_repr_dictr    s!    "d3ii&8"S''%BBBrB   c                j   t          | d          r{|| j        j        k    rk| j        r| j        s]t          j        | dt          |                     |                     t          dd                     t          j        | d           nt          | d          sm|t          j        k    r]t          j        | dt          |                     |                     t          dd                     t          j        | d	           n(d
|v r|t          j        k    rt          |d
                   t          u r|t          t          |d
         d          dd           u ret          j        | dt          |                     |                     t          d|d
         z  d                     t          j        | d           nlt          j        | dt          |                     t          | d          r| j        rd| _        t          j        | |           t          j        | d           d S )NFrO  zD1: %szc__builtin__
__main__
zUTF-8z# D1zD3: %szc__main__
__dict__
z# D3rI   Tr   zD4: %szc%s
__dict__
z# D4zD2: %sz# D2)rQ  r   r   r   _first_passr   r   r  r  bytesr   r[   r   r   r%  r   	save_dictr   s     rC   save_module_dictr    s   we$$$ &0F)F)F! *G&-&9 *GWh
3888e6@@AAAWf%%%%gU+++ &#9N2N2NWh
3888e3W==>>>Wf%%%%	s		sl&;;;S_%%,,w~c*odCCZQUVVVVWh
3888e-J?IIJJJWf%%%%Wh
38887%((( 	(W-= 	("'Gw,,,Wf%%%
FrB   c                *     d  fddD             S )Nc                      fd}|S )Nc                    t          j        | d|           |j        t          z  }|                     |f|           t          j        | d           d S )Nz
Dkvi: <%s>r_   z# Dkvi)r   r   mapping_dictproxy_helper_instancer   )r   r`   r  r  s      rC   _save_dict_viewzLsave_dict_view.<locals>.save_dict_view_for_function.<locals>._save_dict_view  sY    WlC888+(BB##D7*##>>>Wh/////rB   rA   )r  r  s   ` rC   save_dict_view_for_functionz3save_dict_view.<locals>.save_dict_view_for_function  s$    0 0 0 0 0
 #"rB   c           	     F    g | ]}| t          |                    fS rA   )r   )rK   funcnamedicttyper  s     rC   
<listcomp>z"save_dict_view.<locals>.<listcomp>  sD     
 
 
 2278X3N3NOOP
 
 
rB   )r  valuesr  rA   )r  r  s   `@rC   save_dict_viewr    sC    	# 	# 	#
 
 
 
 
7
 
 
 	
rB   c                8      fd} fd} fd}d|fd|fd|ffS )Nc                    t          j        | d|           t          j        j        t          |          f          }|                     j        |f|           t          j        | d           d S )NzDk: <%s>r_   z# Dk)r   r   r   r   fromkeysr  r   r  r   r`   dict_constructorr  s      rC   save_dict_keysz&save_dict_view.<locals>.save_dict_keys  sm    L*c222%}X->cMM0@/BLLLL&)))))rB   c                    t          j        | d|           t          j        t	          |          f          }|                     j        |f|           t          j        | d           d S )NzDv: <%s>r_   z# Dv)r   r   r   r   	enumerater   r  r  s      rC   save_dict_valuesz(save_dict_view.<locals>.save_dict_values  sk    L*c222%}X	#7HII2B1D#NNNL&)))))rB   c                    t          j        | d|           |                     j         |          f|           t          j        | d           d S )NzDi: <%s>r_   z# Di)r   r   r   r  )r   r`   r  s     rC   save_dict_itemsz'save_dict_view.<locals>.save_dict_items  sW    L*c222#0@cJJJL&)))))rB   r  r  r  rA   )r  r  r  r  s   `   rC   r  r    ss    	* 	* 	* 	* 	*	* 	* 	* 	* 	*	* 	* 	* 	* 	* ^$'(o&
 	
rB   c           	        t          ||           s[t          j        | d|           |                     t          |j        |j        |j        f|           t          j        | d           nbt          j        | d|           t          |dt          |dd                     }t          j
        | ||           t          j        | d           d S )	NzC1: %sr_   z# C1zC2: %sr   rI   r   z# C2)rT  r   r   r   	ClassTyperI   	__bases__r   r   r   r   r   s      rC   save_classobjr  *  s    C)) 
&Wh,,,Icm(+(6;> 	 	@ 	@ 	@ 	Wf%%%%Wh,,,sNGCT,J,JKK #D9999Wf%%%
FrB   c                r   |j         }t          |                                          t          u rUt	          j        | d|           t          j        | ||                                           t	          j        | d           n|j        t          u rR|r|dk    rJt	          j        | d|           | 
                    t          |f|           t	          j        | d           nRt	          j        | d|           t          j
        | g|                                R d	|i t	          j        | d
           d S )NzGa0: %sr   z# Ga0r  zGa1: %sr_   z# Ga1zGa2: %sr`   z# Ga2)__args__r[   rQ   r   r   r   r   r   
__origin__tupler   r  r  s      rC   save_generic_aliasr  9  s(   <DCNN$$Wi--- #CNN4D4DEEEEWg&&&&	5	 	 $	 $%--Wi---04'sCCCWg&&&&Wi--- E3>>+;+;EEEEEEWg&&&
FrB   c                    t          j        | d|           |                     t          |j        |                                f|           t          j        | d           d S )NzTh: %sr_   z# Th)r   r   r   r  r  is_doner   s     rC   save_thread_handler  K  sY    Wh,,,1CIs{{}}3MSVWWWWf%%%rB   c                    t          j        | d|           |                     t          |                                f|           t          j        | d           d S )NzLo: %sr_   z# Lo)r   r   r   r  r  r   s     rC   	save_lockr  R  sR    
L(C(((szz||o3???
L&!!!
FrB   c                   t          j        | d|           |                                }t          |                    d          d                                         d                             d                    }t          |                    d          d                                         d                   }|                     t          ||f|           t          j        | d           d S )	NzRL: %szcount=r   r   >zowner=r_   z# RL)r   r   rt   r   r>  rstripr   r  )r   r`   r   r  r  s        rC   
save_rlockr  Y  s    
L(C(((A!!!$**,,Q/66s;;<<E!!!$**,,Q/00Ee~3???
L&!!!
FrB   c                    t          j        | d|            | j        t          |            t          j        | d           d S )NzSo: %sz# So)r   r   r   reduce_socketr   s     rC   save_socketr  d  sE    
L(C(((Gs++,,
L&!!!
FrB   c                $   |j         rd}nP|                                 |t          j        t          j        t          j        fv rd}n|                                }t          | d          rJ| j        t          k    r: ||j
        d          }|                                }|                                 nd}t          | d          r| j        }| j        }nd}d}|                     t          |j
        |j        ||j         ||||f|           d S )	Nr   r   TrO  r   r  Fr_   )r  flushr  r  r  r  tellrQ  r   r   r   readr|   r   r   r  r  )r   r`   open_r  r   r  r  r   s           rC   
_save_filer  j  s   
z "		3>3>3=AAAHHxxzzHwd### *(D(DE#(C  					wd### $*SXsx-0Z-2E-;@C  E E E FrB   c                    t          j        | d|           t          | |t                    }t          j        | d           |S NzFi: %sz# Fir   r   r  rw   r   r`   r   s      rC   	save_filer    s@    
 L(C(((7C&&A
L&!!!HrB   c                    t          j        | d|           t          | |t                    }t          j        | d           |S r  r  r  s      rC   r  r    s>    Wh,,,wT**Wf%%%rB   c                    t          j        | d|           t          | |t                    }t          j        | d           |S r  r   r   r  _openr  s      rC   r  r    s@     	Wh,,,wU++Wf%%%rB   c                    t          j        | d|           t          | |t                    }t          j        | d           |S r  r  r  s      rC   r  r    s>    L(C0007C//AL&)))HrB   c                   t          j        | d|           |j        rd}d}n(|                                }|                                }|                     t          |||j        f|           t          j        | d           d S NzIo: %sr  r   r_   z# Io)r   r   r  r   r  r   r  r   r`   r!  r  s       rC   save_stringir        Wh,,,: 	:E1LLNNEsxxzzHOeX.1j.:?B 	 	D 	D 	DWf%%%rB   c                   t          j        | d|           |j        rd}d}n(|                                }|                                }|                     t          |||j        f|           t          j        | d           d S r  )r   r   r  r   r  r   r  r  s       rC   save_stringor    r  rB   )	lru_cachec                   t          j        | d|           t          r|                                }|j        f}n$|                                }|d         |d         f}|t          j        k    rt          t          |d          }nt          }| 	                    ||j
        f|           t          j        | d           d S )NzLRU: %smaxsizetypedT)is_callabler_   z# LRU)r   r   OLD39
cache_infor  cache_parametersr  __defaults__r   r   __wrapped__)r   r`   r~   r}   wrappers        rC   save_lru_cacher    s    Wi--- 	8^^%%FN$DD))++F9%vg7D9)))Y$???GGGGco%7SAAAWg&&&rB   c                    t          j        | d|           |                     t          |j        |j        f|           t          j        | d           d S )NzSu: %sr_   z# Su)r   r   r   super__thisclass____self__r   s     rC   
save_superr    sR    
L(C((( 13<@cJJJ
L&!!!
FrB   c                   t          |j        dd           }|t          |          t          urtt          |j        |j                  |k    rVt          j        | d|           |                     t           |j        |j        f|           t          j        | d           d S t          j        | d|           |                     t          |j        |j        f|           t          j        | d           d S )N__code__zMe2: %sr_   z# Me2Me1: %s# Me1)
r   __func__r[   r%   r  rI   r   r   r   r'   )r   r`   r~  s      rC   save_instancemethod0r    s    s|Z66T

( : :#,55<<L)S111#,)E3OOOL'***FWi---Js|(D#NNNWg&&&rB   c                    t          j        | d|           |                     t          |j        |j        f|           t          j        | d           d S )Nr  r_   r  )r   r   r   r'   r  r  r   s     rC   r  r    sQ    Wi---Js|(D#NNNWg&&&rB   c                    t          j        | d|           |                     t          |j        |j        |                                f|           t          j        | d           d S NzWr: %sr_   z# Wrr   r   r   rA  __objclass__rI   rt   r   s     rC   save_wrapper_descriptorr    sm     	Wh,,,Hs'7'*||~~'7<? 	 	A 	A 	AWf%%%rB   c                    t          j        | d|           |                     t          |j        |j        |                                f|           t          j        | d           d S r  r  r   s     rC   r  r    sm     	Wh,,,Hs'7'*||~~'7<? 	 	A 	A 	AWf%%%rB   c                   	 |j         }n# t          $ r t          j        | d|           |                     t
          t          j        f|           |                     t          j        |df           | 	                    t                     t          j        | d           Y d S w xY wt          | d          rt          |          | j        v r| j        t          |                   }n4t          t          | j                                                  d           }|tt          j        | d|           |                     t
          t"          f|           |                    t          j        |d|ff           t          j        | d           d S t          j        | d	|           |                     t
          |f|           t          j        | d
           d S )NzCe3: %sr_   cell_contentsz# Ce3TrO  zCe2: %sz# Ce2zCe1: %sz# Ce1)r  r  r   r   r   r  r   r  _delattrr  r    rQ  r^  r   nextrd  r  	_CELL_REFr  _setattr)r   r`   r   rh  s       rC   	save_cellr    s      Wi--- 	L6+=*?SIII 	FOc?-CDDDcWg&&&%& wd### a55G%%%(A/HH D!2!9!9!;!;<<dCCHL)S111 ylDDDOOV_sOQ.GHIIIL'***F
L)S)))qd444
L'"""
Fs   
 BB'&B'c                    t          j        | dt          |                     |t          z  }|                     t
          |f|           t          j        | d           d S NzMp: %sr_   z# Mp)r   r   r  r  r   r?  )r   r`   r  s      rC   save_dictproxyr  >  s[    Wh
388822MG:3???Wf%%%rB   c                    t          j        | dt          |                     |                     t          |                                f|           t          j        | d           d S r  )r   r   r  r   r?  r   r   s     rC   r  r  F  sX    Wh
3888MCHHJJ=cBBBWf%%%rB   c                    t          j        | d|           |                     t          |j        |j        |j        f|           t          j        | d           d S )NzSl: %sr_   z# Sl)r   r   r   slicestartstopstepr   s     rC   
save_slicer  M  sU    
L(C(((	38SX>CHHH
L&!!!
FrB   c                    t          j        | d|           |                     t          |                                f|           t          j        | d           d S )NzSi: %sr_   z# Si)r   r   r   r  rt   r   s     rC   save_singletonr  T  sU     L(C(((
S\\^^$53???
L&!!!
FrB   c                   t          |           }t          |           }n# t          $ r t          d          cY S w xY w||k    rt          |           S 	 t	          |                    d                              d          d         d          }n# t          $ r t          s>t	          |                    d                              d          d         d          }nlt          t          j                              }|D ](}t          |          |k    rt          |          c cY S )dt          |           z  }t          |          Y nw xY w|S )z.get memory address of proxy's reference objectNr  z at r   r  rr   z)Cannot reference object for proxy at '%s')reprr   ReferenceErrorr^  r   r  r>  r  IS_PYPYrd  gcget_objects)r`   _repr_straddressobjects_objr   s          rC   _proxy_helperr  ]  s[   IIEC   $xxu}}RWWn&dkk#&&,,V44R8rBBB 	& 	& 	& 	&%,,s++11&99"=BGGGGG2>++,,G 7 7::%%bhh%=3GC %%% G	& Ns%     <<=B BE,"EEc                   g d}|D ]}| t          |          k    r|c S |r't          |j                                                  }n t          t	          j                              }|D ]}| t          |          k    r|c S t          |           } n-# t          $ r  t          dt          |           z            w xY wt          d| z            )zCget object located at the given memory address (inverse of id(obj)))NTFz"'%s' is not a valid memory addresszCannot reference object at '%s')
r^  rd  r   r  r  r  hexr	  r   r  )r  r  specialr`   r  s        rC   _locate_objectr  r  s    !!!G * *bggczzz +v--//00))**' * *bggczzzw<< M M M<s7||KLLLM
:WD
E
EEs   B *C c                     |            }t          j        | d|           |                     t          |f|           t          j        | d           d S )NzR1: %sr_   z# R1)r   r   r   r  r   r`   refobjs      rC   save_weakrefr    sU    SUUF
L(C(((&<<<
L&!!!
FrB   c                    t          j        | d|z             t          t          |                    }|                     t
          |t          |          f|           t          j        | d           d S )NzR2: %rr_   z# R2)r   r   r  r  r   r  r  r  s      rC   save_weakproxyr    sm     L(S.)))M#..//F)FHSMM+BLLL
L&!!!
FrB   c                     t           d          sdS  j        dS g d}t          j        j        t           fd|D                       p' j                            t                    pd j        v S )N__file__TF)base_prefixbase_exec_prefixexec_prefixprefixreal_prefixc           	   3    K   | ]}t          t          |          j                            t	          t          |                    p> j                                       t	          t          |                              V  d S rl   )r  r  r  rE  r   )rK   r   r  rps     rC   rM   z%_is_builtin_module.<locals>.<genexpr>  s       
 
 sD!!	
O&&wsD'9'9:: Fr&/""--bbd1C1C.D.DEE
 
 
 
 
 
rB   zsite-packages)r  r  rz   r  realpathrW   endswithEXTENSION_SUFFIXES)r  r  r  s   ` @rC   _is_builtin_moduler    s    6:&&3ttuu XWWE		B 	 
 
 
 
 
 
 
 
 	
 	
 	. ?##$677	. fo-	rB   c                h    t          | dd           d up| t          j                                        v S )N
__loader__)r   r  rF  r  )r  s    rC   _is_imported_moduler"    s1    6<..d:\fHZHZH\H\>\\rB   c                r   	 t          |          }t          | d          o|| j        u }|j         dvr|r|rt          j        | d|           t          |          r|j         n	d|j         z  }|j                                        }dD ]}|                    |d            t&          D ]<}t)          |                    |          dd                              d          r||= =| 	                    t          |f||	           t          j        | d           n|j         dk    rCt          j        | d|           |                     |d           t          j        | d
           nNt          j        | d|           | 	                    t          |j         f|           t          j        | d
           d S )NFr   r   r   r   )seenzM2: %s with diffzDiff: %s)r`   r   z# M2zM1: %sr_   z# M1TrO  )r  r   r   z__runtime__.%s)rK  r!  rH   r  IPythonr   zM2: %s_dillr   )rI   r>  r  whats_changedr   r   r   infor  r   r%  RuntimeErrorr  rQ  r   r"  r   r   rx   IPYTHON_SINGLETONSr   r   rE  r   )r   r`   changedbuiltin_modis_session_mainmod_name	main_dictrh  s           rC   save_moduler0    s   )*$ )--!'666O3'-;OL BBB;B" CL(C000':3'?'?ds||EUX[XdEdH))++I6 * *dD))))* ( (9==..bAALLYWW (!$IVVVL&))))\\))L(C000'222L&))))L(C000SIIIL&)))
FrB   c                j   t          | j                  dk    r| j        d         j        }n3i }t          | j                  D ]}|                    |j                   g }t
                              |          D ]G\  }}	 ||         }	||	u r%t          |d          r|                    |           8# t          $ r Y Dw xY w|D ]}t
          
                    ||           t          t          |           t                    r,|
                    dd           |
                    dd           ||fS )zDRetrieve a copy of the dict of a class without the inherited methodsr   r   r   r   N__weakref__)ra  r  r   ra  r   r   r  r  r  r   rx   r   r[   )
clsclsdictr  rg  inherited_dictrs   	to_remover   r!  
base_values
             rC   _get_typedict_typer8    sQ   
3=Qq)2S]++ 	1 	1D!!$-0000Izz'**  e	'-J
""wun'E'E"  &&& 	 	 	D	    $$s))T"" )J%%%M4(((E>s   1B33
C ?C c                   t          t          d          rBt          j        |           \  }}}}| j        |                    fd|D                        nPt          | d          r0| j        }| j        |                    fd|D                        nt          d|           d|v rC|                    dd            |                    dd            |                    dd            n|                    dd            ||fS )	N	_get_dumpc              3  2   K   | ]} |            ffV  d S rl   rA   rK   regr   s     rC   rM   z$_get_typedict_abc.<locals>.<genexpr>  s0      FFch1FFFFFFrB   _abc_registryc              3  "   K   | ]	}|ffV  
d S rl   rA   r<  s     rC   rM   z$_get_typedict_abc.<locals>.<genexpr>  s*      DDCh/DDDDDDrB   zCannot find registry of ABC %s
_abc_cache_abc_negative_cache	_abc_impl)r  abcr:  r   extendr>  r   rx   )r`   _dictr  rg  registryrS  r   s         @rC   _get_typedict_abcrG    s+   sK   	C!mC001a<FFFFXFFFFFFF	o	&	& C$<DDDD8DDDDDDD<cBBB%		/4(((		,%%%		'.... 			+t$$$%<rB   c           	     n   t           v rVt          j        | d           |                     t          t                    f           t          j        | d           nԉj        t          fk    r
t          fddD                       rt          j        | d           t          dt          dd                     }j	        |k    r#|g }|
                    t          d|ff           j        s-t          | t          j	        j        j        ff|	           n@fd
j        D             }t          | t          j	        j        j        |ff|	           t          j        | d           d S t#          d           u rJt          j        | d           |                     t&          dz              t          j        | d           n]t(          u rPt          j        | d           |                     t"          t*          f           t          j        | d           nt,          u rPt          j        | d           |                     t"          t.          f           t          j        | d           nt0          u rJt          j        | d           |                     t&          dz              t          j        | d           nXt2          u rJt          j        | d           |                     t&          dz              t          j        | d           nt          | dd           }t5                    t          | dd          v }t7          |            }|s|s|r	|g }t          j        | d           t9          j                                        d |          \  }}	|                    dd          }
t#          |
          t@          k    r|
f}
|
D ]}|!                    |d            tE          tF          j$                  r@t          j        | d           tK          ||	|          \  }}	t          j        | d           t          dd           }|	9|	&                                D ]$\  }}|
                    t          ||ff           %||
                    t          d|ff           tO          d          s6t          | tP          t#                    j	        j        |ff|	           nTdt#                    i}|rtS          tT          |          }nd }t          | tV          j	        j,        ||ff|	           t          j        | d           nt          dt          dd                     }t          j        | d           |r t[          j.        ddt^          d            |r+t[          j.        d!d"j        d|d#t^          d            ta          j1        | |$           t          j        | d%           d S )&NzT1: %sr_   z# T1c                0    g | ]}t          |          S rA   )r  )rK   r  r`   s     rC   r  zsave_type.<locals>.<listcomp>  s#    +t+t+t4GC,>,>+t+t+trB   )rZ  _asdict_make_replacezT6: %sr   rI   r`   rg  c                <    g | ]}|j         v j         |         S rA   )_field_defaults)rK   fieldr`   s     rC   r  zsave_type.<locals>.<listcomp>   s/    llluuX[XkOkOk+E2OkOkOkrB   z# T6zT7: %ss   __builtin__
NoneType
z# T7s   enum
EnumMeta
s   threading
ExceptHookArgs
r   r   rA   zT2: %s	__slots__zABC: %sz# ABC__orig_bases__	metaclass)rW  z# T2zT4: %szCannot locate reference to r   rl  )
stacklevelr[  r\  z= has recursive self-references that trigger a RecursionError.r   z# T4)2_typemapr   r   r   rF  r  r  rN   r   rI   r  setattrrO  ri  r*  rZ  rH   r[   r  r   NotImplementedTypeNotImplementedEllipsisTypeEllipsisr4   ExceptHookArgsTyper^  rT  r8  r   r   r   r   rx   r  rC  ABCMetarG  r  r  rI  r#  rX  r.   rR  r_  r`  r   r   r   )r   r`   rg  obj_namer$  r   obj_recursiveincorrectly_namedrE  r  slotsr   r  r>  r?  	_metadict_dict_updates    `               rC   r   r     s   
hWh,,, 	J#(8cBBBWf%%%%	5(	"	"s+t+t+t+tKs+t+t+t'u'u	"Wh,,,3Z0N0NOO<8##$ "  'C+J!KLLL" 	\*<s|S[Z]Zh>i)jps  DQ  R  R  R  R  RlllllllH*<s|S[Z]Zhjr>s)tz}  N[  \  \  \  \Wf%%% 
T

		Wh,,,f99:::Wf%%%%	"	"	"Wh,,,D>"3===Wf%%%%			Wh,,,D8+3777Wf%%%%	Wh,,,f22333Wf%%%%	"	"	"Wh,,,f==>>>Wf%%%% (D11377K#D#DD 0g > >> G	*m G	*0A G	*$ " L(C000-c3<3D3D3F3Fm\\LE5
 IIk2..EE{{c!! & &		$%%%%#s{++ /Wi5550eUMRRuWg...sND99H !KKMM A ADAq!(('CA;)?@@@@#$$g^X/N%OPPP3 011 :#GlIIs|S]E= .=: : : : :  c	  (#.y#G#G#GLL#'L#GiL#"4i: .=: : : : L&))))sNGCT4R4RSSHL(C000  8;=#    
  3633R# 	    $WcAAAAL&)))
FrB   c                    t          j        | d|           |                     t          |          |j        |j        |j        |j        f|           t          j        | d           d S )NzPr: %sr_   z# Pr)r   r   r   r[   fgetfsetfdelr   r   s     rC   save_propertyrg    sk     L(C(((S		CHch#+#N  ! ! !
L&!!!!!rB   c                    t          j        | d|           |j        }|                     t	          |          |f|           t          j        | d           d S )NzCm: %sr_   z# Cm)r   r   r  r   r[   )r   r`   	orig_funcs      rC   save_classmethodrj    s\    
 L(C(((I S		I<S999
L&!!!!!rB   c           	        t          ||           st          |j                  t          urt	          |dd           }|t
          j        }t          |d          }d}	 t          ||j	                  \  }}t	          |dd           |u rd}n# t          $ r Y nw xY w|rLt          j        | d|           |                     t          |df|           t          j        | d           d S t          j        | d	|           t	          | d
d           }t	          | dd           }t	          | dd           }	t	          | dt
                    }
g }|rddlm}  ||dd          }d|j        i}nf|j        }|	r"||
j        u rt	          | d|
          j        }|}n;|0|j        )t	          t          |j        d          dd           |u r|}n	d|j        i}|o||urkd |                                D             }|D ],}||v r&||                             t*          ||ff            n-|                    t*          ||ff           |j        }i }dD ]}t	          ||d           }||||<   |j	        |j        k    r
|j	        |d<   d|vs|j        |d         k    r
|j        |d<   |j        }t          |          t.          ur||d<   d }|r||f}t1          | t2          |j        ||j        |j        |f|f||           |rt7          t9          |                                          d           }|r^|r\|D ]Y}t:          |d|ff}	 |                    |           n# t>          $ r Y 1w xY w | j        |  |                      tB                     Zt          j        | d           nbt          j        | d|           t	          |dt	          |dd                     }tE          j#        | ||           t          j        | d           d S )NrH   Tr"  Fr  zF3: %sr_   z# F3zF1: %sr   r   _main_modified_original_mainr   )
globalvars)r   builtinrI   r   r   c                ,    h | ]}t          |          S rA   )r^  )rK   gs     rC   	<setcomp>z save_function.<locals>.<setcomp>  s    ;;;!1;;;rB   )r   rL  r   r   rM  r  z# F1zF2: %sr   z# F2)$rT  r[   r  r%   r   ry   rI   r%  rM  r   r  r   r   r   detectrn  rH   rM  r   r  r  rX  r
  r   ri  rV  r  r  rd  rV  remover  r  r    r   r   )r   r`   r   r  _pypy_builtinrR  rS  r   r   rl  rm  rg  rn  
globs_copyglobsglob_idsstack_elementclosure
state_dict	fattrnamefattrr   topmost_postproccellpossible_postprocr   s                             rC   save_functionr    s   C)) m&X-- "#|T::K")2#Kd;;;F!M(1ABBq5*d33s::$(M!     Wh444##GeZ-@c#JJJWf---Wh,,,7J55G[$77	 *:DAA *:KHH 	5******#CtDDDJ  0EEJ  5*0G"G"G$Wg~FFO
"'CN,FN3>4@@*dSSWaaa"#S^4!e:&=&= <;z'8'8':':;;;H!* G G H,,m,33Y
@S4TUUUE - $$i%1D%EFFF/
I 	. 	.ICD11E (-
9%s|++),)9J~&U""cnj8I&I&I'*~J|$;;d""%*Jz"E 	&:%EG&6eS\33C9
 & -	9 	9 	9 	9  	'#D)9)9););$<$<dCC '+ '# 
' 
'D)04#2N(O%!(//0ABBBB% ! ! ! ! (G'):;;MM#&&&&Wf%%%%Wh,,,sNGCT,J,JKK #D9999Wf%%%
Fs$    -B 
BBM
M%$M%s   dill._dill._testcapsulec                   t          j        | d|           t          |          }t          ||          }t	          |          }t          |          }|                     t          ||||f|           t          j        | d           d S )NzCap: %sr_   z# Cap)r   r   _PyCapsule_GetName_PyCapsule_GetPointer_PyCapsule_GetContext_PyCapsule_GetDestructorr   r;  )r   r`   r   r4  r5  r6  s         rC   save_capsuler  :  s    Wi---!#&&'T22',,-c22
OgtWj-QWZ[[[Wg&&&&&rB   PyCapsuleType_HAS_DEFAULT_FACTORY_CLASSc                    t          j        | d|           |                     t          dz              t          j        | d           d S )Nz	DcHDF: %ss!   dataclasses
_HAS_DEFAULT_FACTORY
z# DcHDFr   r   r  r   r   s     rC   *save_dataclasses_HAS_DEFAULT_FACTORY_CLASSr  P  sF    Wk3///fEEFFFWi(((((rB   MISSINGc                    t          j        | d|           |                     t          dz              t          j        | d           d S )NzDcM: %ss   dataclasses
MISSING
z# DcMr  r   s     rC   save_dataclasses_MISSING_TYPEr  W  sF    Wi---f88999Wg&&&&&rB   KW_ONLYc                    t          j        | d|           |                     t          dz              t          j        | d           d S )Nz	DcKWO: %ss   dataclasses
KW_ONLY
z# DcKWOr  r   s     rC   save_dataclasses_KW_ONLY_TYPEr  ^  sF    Wk3///f88999Wi(((((rB   _FIELD_BASEc                    t          j        | d|           |                     t          dz   |j                                        z   dz              t          j        | d           d S )NzDcFB: %ss   dataclasses
   
z# DcFB)r   r   r  r   r   r  r   s     rC   save_dataclasses_FIELD_BASEr  e  s\    Wj#...f//#(//2C2CCeKLLLWh'''''rB   c                   |r	t           f}n t          t          t          t          t
          f}	 t          | fi |}	 t          |                                |                                 k              }nJ# t          t          f$ r6 t          j        d           || k    }t          j        rt          j        d= Y nw xY wt          |d          r&|                                                                }|rdS |s^t          |          t          |           k    }|r|S t!          t          |                    t!          t          |                     k    S dS # |$ r Y dS w xY w)a  
    Quick check if object pickles with dill.

    If *exact=True* then an equality test is done to check if the reconstructed
    object matches the original object.

    If *safe=True* then any exception will raised in copy signal that the
    object is not picklable, otherwise only pickling errors will be trapped.

    Additional keyword arguments are as :func:`dumps` and :func:`loads`.
    r   r   toarrayTF)r  r	  AssertionErrorNotImplementedErrorr   r   r   boolrN   r  r_  r}  filtersr  r  r[   r  )r`   exactr#  r   
exceptionspikresults          rC   r   r   n  sd     f9,ZZ1DmUde
3$	9#''))swwyy011FF	* 	9 	9 	9#H---CZF8X%5a%8	9 69%% 	,^^%%))++F$$ 	6#YY$s))+F$f}S		??d499oo55u   uusA   E 7A3 2E 3AB:7E 9B::;E 7%E 9E E"!E"c                   |                     dd          }|                     dd          }|ddl}|j        }t          |t                     ddl}d}	 t          | g|R i |}d}|r|rt          d           n# |r|rt          d           w w w xY w|dt          |          d	}	|	                    |	
                    dd
                    sdnd}	|rt          |	           dS )a$  
    Check pickling of an object across another process.

    *python* is the path to the python interpreter (defaults to sys.executable)

    Set *verbose=True* to print the unpickled object in the other process.

    Additional keyword arguments are as :func:`dumps` and :func:`loads`.
    verboseFpythonNr   TzDUMP FAILEDz" -c import dill; print(dill.loads(z))rq   SUCCESSzLOAD FAILED)rx   r  
executabler  r   
subprocessr   printr  callr>  )
r`   r}   r   r  r  r  r  failr  r   s
             rC   r   r     s/    hhy%((GXXh%%F~


vsD!S(4(((4(( 	!G 	!-     	!G 	!-    	! 	! 9?T




KC%??399T!+<+<==
P))=C c



Fs   A< <Bc                    |du st          | j        d          s	d| j        v S t          | j                                        v S )z#check the dill-ness of your picklerFmror   )r  r  rH   r	   r  )r   rP  s     rC   rQ  rQ    sD    ~~WW%6>>~+++g'++----rB   c                     t           j                                        D ]@\  } }	 |t          j        | <   # t          $ r t          j        t          d|            Y =w xY wdS )z1extend pickle with all of dill's registered typeszskip: %sN)r	   r   r  r   r  r   r   r   r  s     rC   _extendr    su     "((** 1 1$	1'+L!!$$ 	1 	1 	1L*a00000	1
Fs   5%AA)NNNNrl   r   )NNNNN)F)FF(V  r   
__future__r   __all__rH   r_  r   r   r   _tracelogrz   r  r  r  rb  OLD38r  OLD310r|  r  ry   r   r   r   r
   r  r   r    _threadr!   r"   r  r#   r[  r  r$   ThreadHandleTyper   r%   r&   r'   r(   r)   r*   r+   r,   
memoryview
BufferTyper[   r  rZ  rY  rX  rW  r  	SliceTypeTypeTyper.  
XRangeTyper-   r?  r.   r   r   r   r   r   r   r   rA  r  rC  dataclassesr  r/   r0   r1   r  r2   enumr3   r4   	functoolsr5   operatorr6   r7   r   importlib.machinery	importlibr  	machineryr  ctypes
HAS_CTYPESr  r   r>   r@   r?   
PathFinder	find_specrD   rT   rX   r\   rd   re   rf   rg   rh   ri   r
  r'  r   r#  r  r  r	  r$  r%  r&  ru   LRUCacheTyper  r   platform
IS_PYODIDEr(  r,  r)  r*  r+  _pyiorw   r  r0  r-  r.  r/  ior   r   r8  r9  r   
SocketTypemultiprocessing.reductionr   r  __IPYTHON__
IS_IPYTHONr7  r*  	NameErrorr   r   r  r  r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   Warningr   r   r   r	   r   r  r   r  r  r"  rE  r   rn   _incedental_reverse_typemapr  r  r  r:  rd  r  winregr<  set_incedental_typesrU  rC  rF  rI  rV  rX  ALL_CODE_PARAMSversionnew_attrparamsr  r>  r  intersectionr  r  r  r  r  r  r  r  r  r  r  r  r  r  __dMAPPING_PROXY_TRICKr  r  r  r  r  r  r   r   r*  r;  rA  rC  r%  rM  rT  rX  r]  ri  r  r  r  r  
__dicttype__obj
__funcname
__savefuncr   __tviewr  _GenericAliasr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r0  r8  rG  r   rj  abstractpropertyrg  staticmethodclassmethodabstractstaticmethodabstractclassmethodrj  r  r8   PyCapsule_Newr2  c_void_pc_char_pargtypes	py_objectrestypePyCapsule_GetPointerr  PyCapsule_GetDestructorr  PyCapsule_GetContextr  PyCapsule_GetNamer  PyCapsule_IsValidr1  c_boolPyCapsule_SetContextr3  PyCapsule_SetDestructor_PyCapsule_SetDestructorPyCapsule_SetName_PyCapsule_SetNamePyCapsule_SetPointer_PyCapsule_SetPointer_testcapsule_namecast_testcapsuler  r  addr  r  r  r  r  r  r  r  r   r   rQ  r  rA   rB   rC   <module>r     s   ( # " " " " "   
  % % % % % % # # # # # # 				 



		)	#	)	#
.9
$NY&     H H H H H H H H               & & & & & &=======   9999999   < < < < < < < < < < < < < < < < < < < <
	tH~~T.)) 	
 > > > > > > > > b b b b b b b b b b b b b b      				 



     ? ? ? ? ? ? ? ? ? ? # # # # # #               + + + + + + + +    U9.ABB MMMJ'&+...GG   JGGG 
	))++55g>> 5k3444NJNN 	 	 	D	    &	 	 	_ _ _, , , , 322%%%%%%               
 4&&&**6q9::d773Q'''((Dy))++..//	jjmm$$jj,,--<<<<<<<   LLL z,%% L   \\)
=+++-r222'OTT]]5B-O-O-O "]42666 "]42666 b######%cReDDD#-a44==RT[`3a3a3a(=%HHH(=%HHH b b b]aaa,a/CFZFZFZb " " " " " " 	J ' ' ' ' ' ' E E E E E EJH8   JDJJ%%%hhh%	      v   ,       # # # # # # # #
  
; ; ;      89 9 9 9& & & &0    t   	 	 	 	 	G[ 	 	 		 	 	 	 	m] 	 	 		 	 	 	 	 	 	 	S- S- S- S- S-l S- S- S-j	 	 	 	 	 	 	 	@ $,1133   
  I I I   "   4))**    $$	     >IH    +--,,,&000*
 
   " "DOOd299;;''T"((**%%T!&&((^^tAHHJJ''d17799oo$ $     7.6
+ ;/8,0:-	 >Yw"""""">Bd44UY\_[aHbHbCcCc>d>d :;	MMM.4o
++ 	 	 	D	   3 4 4 4C3::<<== 4<<#3#9#9#;#;<<<<<! ! !" " "   =A<@    +! +! +! +! +! +! +! +!Z   "1  GXvwx"" llnn K  --XXXZ Zj j jX) ) )          E E EN           ( ( ( ( ( ( ( (        /.00  
 --"4"47Q"QR        	h}%%* * * *
          ) ) )     <   C C C   (     "  
 =AgFXhl / / / /x 
(A A AFC C C 
$  4  )
% )

 
 
 
$
 
 
2  3 3J JLLE"0."<"< 3 3
J$1wwuj113344'***(2GW%3 z7J 
)   
&
      X    
(   
)      6 
(	
	
	/       X !!  "!  X"##X"##X    !  $# $#  	&	'	'	 	 
(	'	  Xi	 	 	 Xj	 	 	 ######Xl    
)    Xj     Xj    X"##X"##X"##X#$$X'((  )( %$ $# $# $#
  X"##X"##  $# $# 
(* * *X  Xm    Xm   
)   
*	,	
      *F F F F  
-   
)	
     &] ] ] 
*+ + +b  2  * 
(| | | || 
(	#
" "   " 
,	+	#
"##	#
!""" " #" $#  " 
,o o ob  1''&+.. 1%3N%QN#-N",A&,&6%H"$*O!%/G)/)9(;%'-$",A&,&6%8"$*O!);#)#3"5!');#)#3V_"E!'",A&,&6%H"%/G)/)96?(K%);#)#3V_"E",A&,&6%H"2!>NFO44)** L
 D&&MXm' ' ' 4A0(5_%-((((L 7;455 )Xk455) ) 65)
 7;	"" 'Xdd;&''((' ' )('
 7;	"" )Xdd;&''(() ) )()
 7;&& (Xk%&&( ( '&(# # # #J' ' 'T. . . .   	)XXXs   :B B
BB B B E 	E#"E#-=F+ +F32F3I& &I0/I0AL L('L(M	 	M.MM.M&#M.%M&&M.-M.V, ,V43V4[# #[-,[-