File "__init__.cpython-38.opt-1.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/usr/lib64/python3.8/collections/__pycache__/__init__.cpython-38.opt-1.pyc
File size: 45.35 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

U

e5dC	@s&dZddddddddd	g	Zd
dlZd
dlmZmZd
d
lm	Z
d
dlZd
dl
Zd
dlmZd
dlmZmZmZd
dlmZzd
dlmZWnek
rYnXej ezd
dlm!Z!Wnek
rYnXddZ"Gdddej#Z$Gdddej%Z&Gdddej'Z(Gddde)Z*Gddde+Z,zd
dlm,Z,Wnek
rVYnXzd
dlm-Z-Wnek
rd d!Z-YnXd"ddd#d$dZ.d%d&Z/zd
d'lm/Z/Wnek
rYnXGd(dde+Z0Gd)d	d	ej1Z2Gd*ddej1Z3Gd+ddejZ4Gd,ddej5Z6dS)-a?This module implements specialized container datatypes providing
alternatives to Python's general purpose built-in containers, dict,
list, set, and tuple.

* namedtuple   factory function for creating tuple subclasses with named fields
* deque        list-like container with fast appends and pops on either end
* ChainMap     dict-like class for creating a single view of multiple mappings
* Counter      dict subclass for counting hashable objects
* OrderedDict  dict subclass that remembers the order entries were added
* defaultdict  dict subclass that calls a factory function to supply missing values
* UserDict     wrapper around dictionary objects for easier dict subclassing
* UserList     wrapper around list objects for easier list subclassing
* UserString   wrapper around string objects for easier string subclassing

dequedefaultdict
namedtupleUserDictUserList
UserStringCounterOrderedDictChainMapN)
itemgettereq)	iskeyword)proxy)repeatchainstarmap)recursive_repr)r)rcCsR|tjkr:tt|}ddl}|jdtdd|t|<|Stdtd|dS)Nr
zUsing or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
stacklevelzmodule z has no attribute )	_collections_abc__all__getattrwarningswarnDeprecationWarningglobalsAttributeError__name__)nameobjrr!,/usr/lib64/python3.8/collections/__init__.py__getattr__*s


r#c@seZdZddZdS)_OrderedDictKeysViewccst|jEdHdSNreversed_mappingselfr!r!r"__reversed__?sz!_OrderedDictKeysView.__reversed__Nr
__module____qualname__r+r!r!r!r"r$=sr$c@seZdZddZdS)_OrderedDictItemsViewccs$t|jD]}||j|fVq
dSr%r&r*keyr!r!r"r+Dsz"_OrderedDictItemsView.__reversed__Nr,r!r!r!r"r/Bsr/c@seZdZddZdS)_OrderedDictValuesViewccs t|jD]}|j|Vq
dSr%r&r0r!r!r"r+Jsz#_OrderedDictValuesView.__reversed__Nr,r!r!r!r"r2Hsr2c@seZdZdZdS)_Link)prevnextr1__weakref__N)rr-r.	__slots__r!r!r!r"r3Nsr3c@seZdZdZd+ddZejeefddZej	fddZ	d	d
Z
ddZd
dZd,ddZ
d-ddZddZejjZZddZddZddZejjZeZefddZd.dd Zed!d"Zd#d$Zd%d&Ze d/d'd(Z!d)d*Z"dS)0rz)Dictionary that remembers insertion orderr!cKs\z
|jWn>tk
rHt|_t|j|_}||_|_i|_YnX|j|f|dS)zInitialize an ordered dictionary.  The signature is the same as
        regular dictionaries.  Keyword argument order is preserved.
        N)	_OrderedDict__rootrr3_OrderedDict__hardroot_proxyr4r5_OrderedDict__map_OrderedDict__update)r*otherkwdsrootr!r!r"__init__`s
zOrderedDict.__init__c	CsZ||krJ||j|<}|j}|j}||||_|_|_||_|||_||||dS)z!od.__setitem__(i, y) <==> od[i]=yN)r;r8r4r5r1)	r*r1valueZdict_setitemrZLinklinkr?lastr!r!r"__setitem__ms
zOrderedDict.__setitem__cCs>||||j|}|j}|j}||_||_d|_d|_dS)z od.__delitem__(y) <==> del od[y]N)r;popr4r5)r*r1Zdict_delitemrB	link_prev	link_nextr!r!r"__delitem__{s
zOrderedDict.__delitem__ccs(|j}|j}||k	r$|jV|j}qdS)zod.__iter__() <==> iter(od)N)r8r5r1r*r?Zcurrr!r!r"__iter__s
zOrderedDict.__iter__ccs(|j}|j}||k	r$|jV|j}qdS)z#od.__reversed__() <==> reversed(od)N)r8r4r1rIr!r!r"r+s
zOrderedDict.__reversed__cCs*|j}||_|_|jt|dS)z.od.clear() -> None.  Remove all items from od.N)r8r4r5r;cleardict)r*r?r!r!r"rKs
zOrderedDict.clearTcCsj|std|j}|r0|j}|j}||_||_n|j}|j}||_||_|j}|j|=t||}||fS)zRemove and return a (key, value) pair from the dictionary.

        Pairs are returned in LIFO order if last is true or FIFO order if false.
        zdictionary is empty)KeyErrorr8r4r5r1r;rLrE)r*rCr?rBrFrGr1rAr!r!r"popitems zOrderedDict.popitemc	Cst|j|}|j}|j}|j}||_||_|j}|rR|j}||_||_||_||_n|j}||_||_||_||_dS)zMove an existing element to the end (or beginning if last is false).

        Raise KeyError if the element does not exist.
        N)r;r4r5r8)	r*r1rCrBrFrGZ	soft_linkr?firstr!r!r"move_to_ends$
zOrderedDict.move_to_endcCsVtj}t|d}||j}|||jd7}|||j|7}|||j|7}|S)Nr)_sys	getsizeoflen__dict__r;r9r8)r*Zsizeofnsizer!r!r"
__sizeof__s
zOrderedDict.__sizeof__cCst|S)z:D.keys() -> a set-like object providing a view on D's keys)r$r)r!r!r"keysszOrderedDict.keyscCst|S)z<D.items() -> a set-like object providing a view on D's items)r/r)r!r!r"itemsszOrderedDict.itemscCst|S)z6D.values() -> an object providing a view on D's values)r2r)r!r!r"valuesszOrderedDict.valuescCs0||kr||}||=|S||jkr,t||S)zod.pop(k[,d]) -> v, remove specified key and return the corresponding
        value.  If key is not found, d is returned if given, otherwise KeyError
        is raised.

        )_OrderedDict__markerrM)r*r1defaultresultr!r!r"rEs
zOrderedDict.popNcCs||kr||S|||<|S)zInsert key with a value of default if key is not in the dictionary.

        Return the value for key if key is in the dictionary, else default.
        r!r*r1r]r!r!r"
setdefaultszOrderedDict.setdefaultcCs*|sd|jjfSd|jjt|fS)zod.__repr__() <==> repr(od)%s()z%s(%r))	__class__rlistrZr)r!r!r"__repr__szOrderedDict.__repr__cCsDt|}ttD]}||dq|jd|p4ddt|fS)z%Return state information for picklingNr!)varscopyrrErbiterrZ)r*Z	inst_dictkr!r!r"
__reduce__szOrderedDict.__reduce__cCs
||S)z!od.copy() -> a shallow copy of odrbr)r!r!r"rfszOrderedDict.copycCs|}|D]}|||<q
|S)zYCreate a new ordered dictionary with keys from iterable and values set to value.
        r!)clsiterablerAr*r1r!r!r"fromkeyss
zOrderedDict.fromkeyscCs2t|tr&t||o$ttt||St||S)zod.__eq__(y) <==> od==y.  Comparison to another OD is order-sensitive
        while comparison to a regular mapping is order-insensitive.

        )
isinstancerrL__eq__allmap_eqr*r=r!r!r"ros
zOrderedDict.__eq__)r!)T)T)N)N)#rr-r.__doc__r@rLrDr:r3rHrJr+rKrNrPrXrMutableMappingupdater<rYrZr[__ne__objectr\rEr`_recursive_reprrdrirfclassmethodrmror!r!r!r"rQs8


		

	


)r)_tuplegettercCstt||dS)N)doc)property_itemgetter)indexr|r!r!r"<lambda>7rF)renamedefaultsmodulecsttrddttttt|}|rt}t	D]B\}}|
rrt|sr|dsr||krd||<|
|qH|gD]D}t|tk	rtd|
std|t|rtd|qt}D]F}|dr
|s
td|||kr"td||
|qi}|d	k	r|t|}t|tkr^td
tttttt|}tttjttddd
d}	ddddDdtjtttttf\d|	d|	d}
d|d}t|
||d}d|d|	d|_|d	k	r>||_tfdd}
d|d|
j_fdd }d!|d"|_fd#d$}fd%d&}fd'd(}||
j||||fD]}|d)|j|_q|d|	dd*||||
||||d+}t	D](\}}td,|}t ||||<qt|tf|}|d	krvzt!d
j"#d-d.}Wnt$tfk
rtYnX|d	k	r||_%|S)/aCReturns a new subclass of tuple with named fields.

    >>> Point = namedtuple('Point', ['x', 'y'])
    >>> Point.__doc__                   # docstring for the new class
    'Point(x, y)'
    >>> p = Point(11, y=22)             # instantiate with positional args or keywords
    >>> p[0] + p[1]                     # indexable like a plain tuple
    33
    >>> x, y = p                        # unpack like a regular tuple
    >>> x, y
    (11, 22)
    >>> p.x + p.y                       # fields also accessible by name
    33
    >>> d = p._asdict()                 # convert to a dictionary
    >>> d['x']
    11
    >>> Point(**d)                      # convert from a dictionary
    Point(x=11, y=22)
    >>> p._replace(x=100)               # _replace() is like str.replace() but targets named fields
    Point(x=100, y=22)

    , _z*Type names and field names must be stringsz6Type names and field names must be valid identifiers: z0Type names and field names cannot be a keyword: z-Field names cannot start with an underscore: z"Encountered duplicate field name: Nz(Got more default values than field names'rQ(, css|]}|dVqdS)z=%rNr!).0rr!r!r"	<genexpr>sznamedtuple.<locals>.<genexpr>)zdef __new__(_cls, z): return _tuple_new(_cls, (z))namedtuple_)
_tuple_newr__new__zCreate new instance of cs2||}|kr.tddt||S)Nz	Expected z arguments, got )	TypeErrorrT)rkrlr^)_len
num_fields	tuple_newr!r"_makes
znamedtuple.<locals>._makezMake a new z# object from a sequence or iterablecs.||j|}|r*tdt||S)NzGot unexpected field names: )rrE
ValueErrorrc)r*r>r^)_mapfield_namesr!r"_replacesznamedtuple.<locals>._replacez
Return a new z2 object replacing specified fields with new valuescs|jj|S)z/Return a nicely formatted representation string)rbrr))repr_fmtr!r"rdsznamedtuple.<locals>.__repr__cs|j|S)z9Return a new dict which maps field names to their values.)_fieldsr))_dict_zipr!r"_asdictsznamedtuple.<locals>._asdictcs|S)z7Return self as a plain tuple.  Used by copy and pickle.r!r))_tupler!r"__getnewargs__sz"namedtuple.<locals>.__getnewargs__.r!)rtr7r_field_defaults_fields_defaultsrrrrdrrzAlias for field number r__main__)&rnstrreplacesplitrcrqrRinternset	enumerateisidentifier
_iskeyword
startswithaddtyperrtuplerTrLr'zipreprjoinrexecrt__defaults__rz__func__rr.r{	_getframe	f_globalsgetrr-)typenamerrrrseenrrfield_defaultsarg_lists	namespacerrrrdrrmethodclass_namespacer|r^r!)	rrrrrrrrrr"r9s







cCs&|j}|D]}||dd||<q
dS)z!Tally elements from the iterable.r
rQN)r)mappingrlZmapping_getelemr!r!r"_count_elementssr)rcseZdZdZd/fdd	ZddZd0ddZd	d
Zed1ddZ	d2fd
d	Z
d3ddZddZddZ
fddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.ZZS)4raDict subclass for counting hashable items.  Sometimes called a bag
    or multiset.  Elements are stored as dictionary keys and their counts
    are stored as dictionary values.

    >>> c = Counter('abcdeabcdabcaba')  # count elements from a string

    >>> c.most_common(3)                # three most common elements
    [('a', 5), ('b', 4), ('c', 3)]
    >>> sorted(c)                       # list all unique elements
    ['a', 'b', 'c', 'd', 'e']
    >>> ''.join(sorted(c.elements()))   # list elements with repetitions
    'aaaaabbbbcccdde'
    >>> sum(c.values())                 # total of all counts
    15

    >>> c['a']                          # count of letter 'a'
    5
    >>> for elem in 'shazam':           # update counts from an iterable
    ...     c[elem] += 1                # by adding 1 to each element's count
    >>> c['a']                          # now there are seven 'a'
    7
    >>> del c['b']                      # remove all 'b'
    >>> c['b']                          # now there are zero 'b'
    0

    >>> d = Counter('simsalabim')       # make another counter
    >>> c.update(d)                     # add in the second counter
    >>> c['a']                          # now there are nine 'a'
    9

    >>> c.clear()                       # empty the counter
    >>> c
    Counter()

    Note:  If a count is set to zero or reduced to zero, it will remain
    in the counter until the entry is deleted or the counter is cleared:

    >>> c = Counter('aaabbc')
    >>> c['b'] -= 2                     # reduce the count of 'b' by two
    >>> c.most_common()                 # 'b' is still in, but its count is zero
    [('a', 3), ('c', 1), ('b', 0)]

    Ncs tt||j|f|dS)a	Create a new, empty Counter object.  And if given, count elements
        from an input iterable.  Or, initialize the count from another mapping
        of elements to their counts.

        >>> c = Counter()                           # a new, empty counter
        >>> c = Counter('gallahad')                 # a new counter from an iterable
        >>> c = Counter({'a': 4, 'b': 2})           # a new counter from a mapping
        >>> c = Counter(a=4, b=2)                   # a new counter from keyword args

        N)superrr@rv)r*rlr>rjr!r"r@szCounter.__init__cCsdS)z1The count of elements not in the Counter is zero.r
r!r0r!r!r"__missing__*szCounter.__missing__cCs6|dkrt|tdddStj||tddS)zList the n most common elements and their counts from the most
        common to the least.  If n is None, then list all element counts.

        >>> Counter('abracadabra').most_common(3)
        [('a', 5), ('b', 2), ('r', 2)]

        NrQT)r1reverser1)sortedrZr~_heapqnlargestr*rVr!r!r"most_common/s	zCounter.most_commoncCsttt|S)aIterator over elements repeating each as many times as its count.

        >>> c = Counter('ABCABC')
        >>> sorted(c.elements())
        ['A', 'A', 'B', 'B', 'C', 'C']

        # Knuth's example for prime factors of 1836:  2**2 * 3**3 * 17**1
        >>> prime_factors = Counter({2: 2, 3: 3, 17: 1})
        >>> product = 1
        >>> for factor in prime_factors.elements():     # loop over factors
        ...     product *= factor                       # and multiply them
        >>> product
        1836

        Note, if an element's count has been set to zero or is a negative
        number, elements() will ignore it.

        )_chain
from_iterable_starmap_repeatrZr)r!r!r"elements<szCounter.elementscCstddS)Nz@Counter.fromkeys() is undefined.  Use Counter(iterable) instead.)NotImplementedError)rkrlvr!r!r"rmTs	zCounter.fromkeyscsr|dk	r`t|tjrV|rD|j}|D]\}}|||d||<q&q`tt||n
t|||rn||dS)aLike dict.update() but add counts instead of replacing them.

        Source can be an iterable, a dictionary, or another Counter instance.

        >>> c = Counter('which')
        >>> c.update('witch')           # add elements from another iterable
        >>> d = Counter('watch')
        >>> c.update(d)                 # add elements from another counter
        >>> c['h']                      # four 'h' in which, witch, and watch
        4

        Nr
)	rnrMappingrrZrrrvrr*rlr>self_getrcountrjr!r"rv`s
zCounter.updatecKsn|dk	r\|j}t|tjr@|D]\}}||d|||<q"n|D]}||dd||<qD|rj||dS)aLike dict.update() but subtracts counts instead of replacing them.
        Counts can be reduced below zero.  Both the inputs and outputs are
        allowed to contain zero and negative counts.

        Source can be an iterable, a dictionary, or another Counter instance.

        >>> c = Counter('which')
        >>> c.subtract('witch')             # subtract elements from another iterable
        >>> c.subtract(Counter('watch'))    # subtract elements from another counter
        >>> c['h']                          # 2 in which, minus 1 in witch, minus 1 in watch
        0
        >>> c['w']                          # 1 in which, minus 1 in witch, minus 1 in watch
        -1

        Nr
rQ)rrnrrrZsubtractrr!r!r"rszCounter.subtractcCs
||S)zReturn a shallow copy.rjr)r!r!r"rfszCounter.copycCs|jt|ffSr%)rbrLr)r!r!r"riszCounter.__reduce__cs||krt|dS)zGLike dict.__delitem__() but does not raise KeyError for missing values.N)rrH)r*rrjr!r"rHszCounter.__delitem__cCsf|sd|jjSz(dtdj|}d|jj|fWStk
r`d|jjt|YSXdS)Nrarz%r: %rz%s({%s})z
{0}({1!r}))	rbrrrq__mod__rrformatrL)r*rZr!r!r"rdszCounter.__repr__cCspt|tstSt}|D]$\}}|||}|dkr|||<q|D] \}}||krJ|dkrJ|||<qJ|S)zAdd counts from two counters.

        >>> Counter('abbb') + Counter('bcc')
        Counter({'b': 4, 'c': 2, 'a': 1})

        r
rnrNotImplementedrZr*r=r^rrnewcountr!r!r"__add__s


zCounter.__add__cCstt|tstSt}|D]$\}}|||}|dkr|||<q|D]$\}}||krJ|dkrJd|||<qJ|S)z Subtract count, but keep only results with positive counts.

        >>> Counter('abbbc') - Counter('bccd')
        Counter({'b': 2, 'a': 1})

        r
rrr!r!r"__sub__s

zCounter.__sub__cCs|t|tstSt}|D]0\}}||}||kr8|n|}|dkr|||<q|D] \}}||krV|dkrV|||<qV|S)zUnion is the maximum of value in either of the input counters.

        >>> Counter('abbb') | Counter('bcc')
        Counter({'b': 3, 'c': 2, 'a': 1})

        r
rr*r=r^rrother_countrr!r!r"__or__s


zCounter.__or__cCsRt|tstSt}|D]0\}}||}||kr8|n|}|dkr|||<q|S)z Intersection is the minimum of corresponding counts.

        >>> Counter('abbb') & Counter('bcc')
        Counter({'b': 1})

        r
rrr!r!r"__and__s

zCounter.__and__cCs,t}|D]\}}|dkr|||<q|S)zEAdds an empty counter, effectively stripping negative and zero countsr
rrZr*r^rrr!r!r"__pos__
s

zCounter.__pos__cCs0t}|D]\}}|dkrd|||<q|S)z{Subtracts from an empty counter.  Strips positive and zero counts,
        and flips the sign on negative counts.

        r
rrr!r!r"__neg__s
zCounter.__neg__cCs&dd|D}|D]
}||=q|S)z?Internal method to strip elements with a negative or zero countcSsg|]\}}|dks|qS)r
r!)rrrr!r!r"
<listcomp>"sz*Counter._keep_positive.<locals>.<listcomp>)rZ)r*nonpositiverr!r!r"_keep_positive szCounter._keep_positivecCs*|D]\}}|||7<q|S)zInplace add from another counter, keeping only positive counts.

        >>> c = Counter('abbb')
        >>> c += Counter('bcc')
        >>> c
        Counter({'b': 4, 'c': 2, 'a': 1})

        rZrr*r=rrr!r!r"__iadd__'s	zCounter.__iadd__cCs*|D]\}}|||8<q|S)zInplace subtract counter, but keep only results with positive counts.

        >>> c = Counter('abbbc')
        >>> c -= Counter('bccd')
        >>> c
        Counter({'b': 2, 'a': 1})

        rrr!r!r"__isub__4s	zCounter.__isub__cCs2|D] \}}||}||kr|||<q|S)zInplace union is the maximum of value from either counter.

        >>> c = Counter('abbb')
        >>> c |= Counter('bcc')
        >>> c
        Counter({'b': 3, 'c': 2, 'a': 1})

        r)r*r=rrrr!r!r"__ior__As
	
zCounter.__ior__cCs2|D] \}}||}||kr|||<q|S)zInplace intersection is the minimum of corresponding counts.

        >>> c = Counter('abbb')
        >>> c &= Counter('bcc')
        >>> c
        Counter({'b': 1})

        r)r*r=rrrr!r!r"__iand__Ps
	
zCounter.__iand__)N)N)N)N)N)rr-r.rtr@rrrrzrmrvrrfrirHrdrrrrrrrrrrr
__classcell__r!r!rjr"rs02

!


c@seZdZdZddZddZddZd'd	d
ZddZd
dZ	ddZ
ddZeddZ
eddZddZeZd(ddZeddZddZdd Zd!d"Zd#d$Zd%d&ZdS))r	a A ChainMap groups multiple dicts (or other mappings) together
    to create a single, updateable view.

    The underlying mappings are stored in a list.  That list is public and can
    be accessed or updated using the *maps* attribute.  There is no other
    state.

    Lookups search the underlying mappings successively until a key is found.
    In contrast, writes, updates, and deletions only operate on the first
    mapping.

    cGst|pig|_dS)zInitialize a ChainMap by setting *maps* to the given mappings.
        If no mappings are provided, a single empty dictionary is used.

        N)rcmaps)r*rr!r!r"r@rszChainMap.__init__cCst|dSr%)rMr0r!r!r"ryszChainMap.__missing__c	Cs:|jD](}z||WStk
r,YqXq||Sr%)rrMr)r*r1rr!r!r"__getitem__|s
zChainMap.__getitem__NcCs||kr||S|Sr%r!r_r!r!r"rszChainMap.getcCsttj|jSr%)rTrunionrr)r!r!r"__len__szChainMap.__len__cCs&i}t|jD]}||qt|Sr%)r'rrvrg)r*drr!r!r"rJszChainMap.__iter__cstfdd|jDS)Nc3s|]}|kVqdSr%r!)rmrr!r"rsz(ChainMap.__contains__.<locals>.<genexpr>anyrr0r!rr"__contains__szChainMap.__contains__cCs
t|jSr%rr)r!r!r"__bool__szChainMap.__bool__cCs"|jjddtt|jdS)Nrrr)rbrrrqrrr)r!r!r"rdszChainMap.__repr__cGs|tj|f|S)z?Create a ChainMap with a single dict created from the iterable.)rLrm)rkrlargsr!r!r"rmszChainMap.fromkeyscCs$|j|jdf|jddS)zHNew ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]r
rQN)rbrrfr)r!r!r"rfsz
ChainMap.copycCs|dkri}|j|f|jS)zyNew ChainMap with a new map followed by all previous maps.
        If no map is provided, an empty dict is used.
        Nrbr)r*rr!r!r"	new_childszChainMap.new_childcCs|j|jddS)zNew ChainMap from maps[1:].rQNrr)r!r!r"parentsszChainMap.parentscCs||jd|<dSNr
)r)r*r1rAr!r!r"rDszChainMap.__setitem__cCs8z|jd|=Wn"tk
r2td|YnXdS)Nr
(Key not found in the first mapping: {!r})rrMrr0r!r!r"rHszChainMap.__delitem__cCs2z|jdWStk
r,tdYnXdS)zPRemove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.r
z#No keys found in the first mapping.N)rrNrMr)r!r!r"rNszChainMap.popitemcGs@z|jdj|f|WStk
r:td|YnXdS)zWRemove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].r
rN)rrErMr)r*r1rr!r!r"rEszChainMap.popcCs|jddS)z'Clear maps[0], leaving maps[1:] intact.r
N)rrKr)r!r!r"rKszChainMap.clear)N)N)rr-r.rtr@rrrrrJrrryrdrzrmrf__copy__rr}rrDrHrNrErKr!r!r!r"r	ds.





c@speZdZddZde_ddZddZdd	Zd
dZdd
Z	ddZ
ddZddZddZ
edddZdS)rcOs|std|^}}t|dkr0tdt||r>|d}n0d|krj|d}ddl}|jdtddnd}i|_|dk	r|||r||dS)	Nz<descriptor '__init__' of 'UserDict' object needs an argumentrQz$expected at most 1 arguments, got %dr
rLz0Passing 'dict' as keyword argument is deprecatedrr)rrTrErrrdatarv)rkwargsr*rLrr!r!r"r@s(


zUserDict.__init__z($self, dict=None, /, **kwargs)cCs
t|jSr%rTrr)r!r!r"rrzUserDict.__len__cCs:||jkr|j|St|jdr.|j||St|dS)Nr)rhasattrrbrrMr0r!r!r"rs


zUserDict.__getitem__cCs||j|<dSr%r)r*r1itemr!r!r"rDrzUserDict.__setitem__cCs|j|=dSr%rr0r!r!r"rHrzUserDict.__delitem__cCs
t|jSr%)rgrr)r!r!r"rJszUserDict.__iter__cCs
||jkSr%rr0r!r!r"rszUserDict.__contains__cCs
t|jSr%rrr)r!r!r"rdrzUserDict.__repr__cCs4|j|j}|j|j|jd|jd<|SNr)rbrrUrvrfr*instr!r!r"rszUserDict.__copy__cCsR|jtkrt|jSddl}|j}zi|_||}W5||_X|||Sr)rbrrrfrv)r*rfrcr!r!r"rfs

z
UserDict.copyNcCs|}|D]}|||<q
|Sr%r!)rkrlrArr1r!r!r"rms
zUserDict.fromkeys)N)rr-r.r@__text_signature__rrrDrHrJrrdrrfrzrmr!r!r!r"rs
c@seZdZdZd@ddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$ZeZd%d&Zd'd(Zd)d*Zd+d,ZdAd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zd:d;Z d<d=Z!d>d?Z"dS)BrzAA more or less complete user-defined wrapper around list objects.NcCsbg|_|dk	r^t|t|jkr0||jdd<n.t|trT|jdd|jdd<n
t||_dSr%)rrrnrrc)r*initlistr!r!r"r@!s
zUserList.__init__cCs
t|jSr%r
r)r!r!r"rd+rzUserList.__repr__cCs|j||kSr%r_UserList__castrsr!r!r"__lt__,rzUserList.__lt__cCs|j||kSr%rrsr!r!r"__le__-rzUserList.__le__cCs|j||kSr%rrsr!r!r"ro.rzUserList.__eq__cCs|j||kSr%rrsr!r!r"__gt__/rzUserList.__gt__cCs|j||kSr%rrsr!r!r"__ge__0rzUserList.__ge__cCst|tr|jS|Sr%)rnrrrsr!r!r"__cast1szUserList.__castcCs
||jkSr%rr*rr!r!r"r3rzUserList.__contains__cCs
t|jSr%r	r)r!r!r"r4rzUserList.__len__cCs(t|tr||j|S|j|SdSr%)rnslicerbrr*ir!r!r"r5s
zUserList.__getitem__cCs||j|<dSr%rr*rrr!r!r"rD:rzUserList.__setitem__cCs|j|=dSr%rrr!r!r"rH;rzUserList.__delitem__cCsPt|tr||j|jSt|t|jr<||j|S||jt|Sr%rnrrbrrrcrsr!r!r"r<s

zUserList.__add__cCsPt|tr||j|jSt|t|jr<|||jS|t||jSr%r rsr!r!r"__radd__Bs

zUserList.__radd__cCsRt|tr|j|j7_n2t|t|jr<|j|7_n|jt|7_|Sr%)rnrrrrcrsr!r!r"rHs
zUserList.__iadd__cCs||j|Sr%rbrrr!r!r"__mul__PszUserList.__mul__cCs|j|9_|Sr%rrr!r!r"__imul__SszUserList.__imul__cCs8|j|j}|j|j|jddd|jd<|Sr)rbrrUrvrr!r!r"rVszUserList.__copy__cCs|j|dSr%)rappendrr!r!r"r%\rzUserList.appendcCs|j||dSr%)rinsertrr!r!r"r&]rzUserList.insertrcCs|j|Sr%)rrErr!r!r"rE^rzUserList.popcCs|j|dSr%)rremoverr!r!r"r'_rzUserList.removecCs|jdSr%)rrKr)r!r!r"rK`rzUserList.clearcCs
||Sr%rjr)r!r!r"rfarz
UserList.copycCs|j|Sr%)rrrr!r!r"rbrzUserList.countcGs|jj|f|Sr%rr)r*rrr!r!r"rcrzUserList.indexcCs|jdSr%)rrr)r!r!r"rdrzUserList.reversecOs|jj||dSr%)rsortr*rr>r!r!r"r)erz
UserList.sortcCs*t|tr|j|jn|j|dSr%)rnrrextendrsr!r!r"r+fs
zUserList.extend)N)r)#rr-r.rtr@rdrrrorrrrrrrDrHrr!rr#__rmul__r$rr%r&rEr'rKrfrrrr)r+r!r!r!r"rs@


c@sheZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$Zd%d&ZeZd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1ejfd2d3Zdd6d7Zd1ejfd8d9Z dd;d<Z!d1ejfd=d>Z"d?d@Z#dAdBZ$d1ejfdCdDZ%dEdFZ&dGdHZ'dIdJZ(dKdLZ)dMdNZ*dOdPZ+dQdRZ,dSdTZ-dUdVZ.dWdXZ/dYdZZ0d[d\Z1d]d^Z2d_d`Z3dadbZ4ddddeZ5e6j7Z7dfdgZ8ddidjZ9d1ejfdkdlZ:d1ejfdmdnZ;dodpZ<dqdrZ=ddsdtZ>ddudvZ?ddwdxZ@ddzd{ZAd1ejfd|d}ZBdd~dZCddZDddZEddZFddZGddZHdcS)rcCs<t|tr||_n&t|tr.|jdd|_n
t||_dSr%)rnrrrr*seqr!r!r"r@ss


zUserString.__init__cCs
t|jSr%)rrr)r!r!r"__str__zrzUserString.__str__cCs
t|jSr%r
r)r!r!r"rd{rzUserString.__repr__cCs
t|jSr%)intrr)r!r!r"__int__|rzUserString.__int__cCs
t|jSr%)floatrr)r!r!r"	__float__}rzUserString.__float__cCs
t|jSr%)complexrr)r!r!r"__complex__~rzUserString.__complex__cCs
t|jSr%)hashrr)r!r!r"__hash__rzUserString.__hash__cCs|jddfSr%rr)r!r!r"rszUserString.__getnewargs__cCs t|tr|j|jkS|j|kSr%rnrrr*stringr!r!r"ros
zUserString.__eq__cCs t|tr|j|jkS|j|kSr%r8r9r!r!r"rs
zUserString.__lt__cCs t|tr|j|jkS|j|kSr%r8r9r!r!r"rs
zUserString.__le__cCs t|tr|j|jkS|j|kSr%r8r9r!r!r"rs
zUserString.__gt__cCs t|tr|j|jkS|j|kSr%r8r9r!r!r"rs
zUserString.__ge__cCst|tr|j}||jkSr%r8)r*charr!r!r"rs
zUserString.__contains__cCs
t|jSr%r	r)r!r!r"rrzUserString.__len__cCs||j|Sr%r")r*rr!r!r"rrzUserString.__getitem__cCsJt|tr||j|jSt|tr6||j|S||jt|Sr%)rnrrbrrrsr!r!r"rs


zUserString.__add__cCs.t|tr|||jS|t||jSr%)rnrrbrrsr!r!r"r!s
zUserString.__radd__cCs||j|Sr%r"rr!r!r"r#szUserString.__mul__cCs||j|Sr%r"r*rr!r!r"rszUserString.__mod__cCs|t||Sr%)rbr)r*templater!r!r"__rmod__szUserString.__rmod__cCs||jSr%)rbr
capitalizer)r!r!r"r?rzUserString.capitalizecCs||jSr%)rbrcasefoldr)r!r!r"r@szUserString.casefoldcGs||jj|f|Sr%)rbrcenterr*widthrr!r!r"rAszUserString.centerr
cCs t|tr|j}|j|||Sr%)rnrrrr*substartendr!r!r"rs
zUserString.countutf-8strictcCs.|dkrdn|}|dkrdn|}|j||S)NrHrI)rencode)r*encodingerrorsr!r!r"rJszUserString.encodecCs|j|||Sr%)rendswith)r*suffixrFrGr!r!r"rMszUserString.endswithcCs||j|Sr%)rbr
expandtabs)r*tabsizer!r!r"rPszUserString.expandtabscCs t|tr|j}|j|||Sr%)rnrrfindrDr!r!r"rRs
zUserString.findcOs|jj||Sr%)rrr*r!r!r"rszUserString.formatcCs|j|Sr%)r
format_map)r*rr!r!r"rSszUserString.format_mapcCs|j|||Sr%r(rDr!r!r"rszUserString.indexcCs
|jSr%)risalphar)r!r!r"rTrzUserString.isalphacCs
|jSr%)risalnumr)r!r!r"rUrzUserString.isalnumcCs
|jSr%)risasciir)r!r!r"rVrzUserString.isasciicCs
|jSr%)r	isdecimalr)r!r!r"rWrzUserString.isdecimalcCs
|jSr%)risdigitr)r!r!r"rXrzUserString.isdigitcCs
|jSr%)rrr)r!r!r"rrzUserString.isidentifiercCs
|jSr%)rislowerr)r!r!r"rYrzUserString.islowercCs
|jSr%)r	isnumericr)r!r!r"rZrzUserString.isnumericcCs
|jSr%)risprintabler)r!r!r"r[rzUserString.isprintablecCs
|jSr%)risspacer)r!r!r"r\rzUserString.isspacecCs
|jSr%)ristitler)r!r!r"r]rzUserString.istitlecCs
|jSr%)risupperr)r!r!r"r^rzUserString.isuppercCs|j|Sr%)rrr-r!r!r"rrzUserString.joincGs||jj|f|Sr%)rbrljustrBr!r!r"r_szUserString.ljustcCs||jSr%)rbrlowerr)r!r!r"r`rzUserString.lowerNcCs||j|Sr%)rbrlstripr*charsr!r!r"rarzUserString.lstripcCs|j|Sr%)r	partitionr*sepr!r!r"rdszUserString.partitionrcCs6t|tr|j}t|tr |j}||j|||Sr%)rnrrrbr)r*oldnewmaxsplitr!r!r"rs


zUserString.replacecCs t|tr|j}|j|||Sr%)rnrrrfindrDr!r!r"rjs
zUserString.rfindcCs|j|||Sr%)rrindexrDr!r!r"rkszUserString.rindexcGs||jj|f|Sr%)rbrrjustrBr!r!r"rlszUserString.rjustcCs|j|Sr%)r
rpartitionrer!r!r"rmszUserString.rpartitioncCs||j|Sr%)rbrrstriprbr!r!r"rnszUserString.rstripcCs|j||Sr%)rrr*rfrir!r!r"rszUserString.splitcCs|j||Sr%)rrsplitror!r!r"rpszUserString.rsplitFcCs|j|Sr%)r
splitlines)r*keependsr!r!r"rqrzUserString.splitlinescCs|j|||Sr%)rr)r*prefixrFrGr!r!r"rszUserString.startswithcCs||j|Sr%)rbrstriprbr!r!r"rtrzUserString.stripcCs||jSr%)rbrswapcaser)r!r!r"rurzUserString.swapcasecCs||jSr%)rbrtitler)r!r!r"rvrzUserString.titlecGs||jj|Sr%)rbr	translater<r!r!r"rwszUserString.translatecCs||jSr%)rbrupperr)r!r!r"rxrzUserString.uppercCs||j|Sr%)rbrzfill)r*rCr!r!r"ryrzUserString.zfill)rHrI)rO)N)r)N)Nr)Nr)F)N)Irr-r.r@r/rdr1r3r5r7rrorrrrrrrrr!r#r,rr>r?r@rArRmaxsizerrJrMrPrRrrSrrTrUrVrWrXrrYrZr[r\r]r^rr_r`rar	maketransrdrrjrkrlrmrnrrprqrrtrurvrwrxryr!r!r!r"rrs








)7rtrroperatorrr~rrrkeywordr
rsysrRheapqr_weakrefrr:	itertoolsrrrrrrreprlibrry_collectionsrImportErrorMutableSequenceregisterrr#KeysViewr$	ItemsViewr/
ValuesViewr2rxr3rLrr{rrrrur	rrSequencerr!r!r!r"<module>sh
Y&}nMS