PK!<۞_bootlocale.pyc3 Β_ @ddZddlZddlZejjdr,d ddZn4y ejWnek rTd ddZYn Xd ddZdS) A minimal subset of the locale module used at interpreter startup (imported by the _io module), in order to reduce startup time. Don't import directly from third-party code; use the `locale` module instead! NwinTcC tjdS)N)_locale_getdefaultlocale) do_setlocaler _bootlocale.pygetpreferredencoding r cCddl}|j|S)Nr)localer )r rr r r r cC.| s ttjtj}| r*tjdkr*d}|S)NdarwinUTF-8)AssertionErrorr nl_langinfoCODESETsysplatform)r resultr r r r    TTT)__doc__rrr startswithr rAttributeErrorr r r r    PK!Kjpjp_collections_abc.pyc3 Β_g@rdZddlmZmZddlZdddddd d d d d dddddddddddddddgZdZeedZ eee Z eeij Z eeijZeeijZeegZeeegZeeedZeeedd >ZeeeZeed!ZeefZeeeZeij ZeijZeijZ eej!Z"ed"d#Z#d$d%Z$e$Z$ee$Z%e$j&[$d&d'Z'e'Z'ee'Z(['d(d)Z)Gd*d d ed+Z*Gd,dded+Z+Gd-dde+Z,e,j-e%Gd.dded+Z.Gd/dde.Z/Gd0dde/Z0e0j-e(Gd1d d ed+Z1Gd2d d e1Z2e2j-e e2j-e e2j-e e2j-ee2j-ee2j-ee2j-ee2j-ee2j-ee2j-ee2j-ee2j-ee2j-eGd3d d e1Z3Gd4d d e2Z4e4j-e#Gd5dded+Z5Gd6dded+Z6Gd7dde5e1e6Z7Gd8dded+Z8Gd9dde7Z9e9j-e:Gd:dde9Z;e;j-eGd;dde7Ze>j-eGd>dde=e9Z?e?j-e Gd?dde=Z@e@j-eGd@dde<ZAeAj-eBGdAdde3e7ZCeCj-eDeCj-eEeCj-eeCj-eFGdBddeCZGeGj-eHeGj-e GdCddeCZIeIj-eJeIj-e dS)DjAbstract Base Classes (ABCs) for collections, according to PEP 3119. Unit tests are in test_collections. ABCMetaabstractmethodN Awaitable Coroutine AsyncIterable AsyncIteratorAsyncGeneratorHashableIterableIterator Generator ReversibleSized ContainerCallable CollectionSet MutableSetMappingMutableMapping MappingViewKeysView ItemsView ValuesViewSequenceMutableSequence ByteStringcollections.abcccdVS)Nr&r&r&_collections_abc.py8r(cdS)Nr&r&r&r&r'_coro:r+cC dVdS)Nr&r&r&r&r'_ag@r.cGH|j}x<|D]4}x.|D]"}||jkr|j|dkr6tSPqWtSq WdS)NT)__mro____dict__NotImplemented)CmethodsmromethodBr&r&r'_check_methodsH   r9c@(eZdZfZeddZeddZdS)r cCdS)Nrr&)selfr&r&r'__hash__XHashable.__hash__cC|tkrt|dStS)Nr>)r r9r3)clsr4r&r&r'__subclasshook__\ Hashable.__subclasshook__N)__name__ __module__ __qualname__ __slots__rr> classmethodrCr&r&r&r'r T  metaclassc@(eZdZfZeddZeddZdS)rcc dVdS)Nr&)r=r&r&r' __await__gAwaitable.__await__cC|tkrt|dStS)NrP)rr9r3)rBr4r&r&r'rCk Awaitable.__subclasshook__N)rFrGrHrIrrPrJrCr&r&r&r'rc c@>eZdZfZeddZed ddZddZedd Z dS) rcCtdS)cSend a value into the coroutine. Return next yielded value or raise StopIteration. N) StopIteration)r=valuer&r&r'sendvCoroutine.sendNcC4|dkr|dkr||}|dk r,|j|}|dS)gRaise an exception in the coroutine. Return next yielded value or raise StopIteration. N)with_traceback)r=typvaltbr&r&r'throw} Coroutine.throwc C4y|jtWnttfk r&Yn XtddS).Raise GeneratorExit inside coroutine. coroutine ignored GeneratorExitN)re GeneratorExitrZ RuntimeError)r=r&r&r'close Coroutine.closecC|tkrt|ddddStS)NrPr\rerm)rr9r3)rBr4r&r&r'rCCoroutine.__subclasshook__NN) rFrGrHrIrr\rermrJrCr&r&r&r'rr    c@(eZdZfZeddZeddZdS)r cCtS)N)r )r=r&r&r' __aiter__AsyncIterable.__aiter__cC|tkrt|dStS)Nrw)r r9r3)rBr4r&r&r'rC AsyncIterable.__subclasshook__N)rFrGrHrIrrwrJrCr&r&r&r'r  c@0eZdZfZeddZddZeddZdS)r ctdS)@Return the next item or raise StopAsyncIteration when exhausted.N)StopAsyncIteration)r=r&r&r' __anext__AsyncIterator.__anext__cC|S)Nr&)r=r&r&r'rwAsyncIterator.__aiter__cC|tkrt|ddStS)Nrrw)r r9r3)rBr4r&r&r'rC AsyncIterator.__subclasshook__N) rFrGrHrIrrrwrJrCr&r&r&r'r  c@FeZdZfZddZeddZed ddZdd Ze d d Z dS) r c|jdIdHS)pReturn the next item from the asynchronous generator. When exhausted, raise StopAsyncIteration. N)asend)r=r&r&r'rAsyncGenerator.__anext__ctdS)uSend a value into the asynchronous generator. Return next yielded value or raise StopAsyncIteration. N)r)r=r[r&r&r'rAsyncGenerator.asendNc4|dkr|dkr||}|dk r,|j|}|dS)yRaise an exception in the asynchronous generator. Return next yielded value or raise StopAsyncIteration. N)ra)r=rbrcrdr&r&r'athrow AsyncGenerator.athrowc :y|jtIdHWnttfk r,Yn XtddS).Raise GeneratorExit inside coroutine. N,asynchronous generator ignored GeneratorExit)rrkrrl)r=r&r&r'aclose AsyncGenerator.aclosecC|tkrt|dddddStS)Nrwrrrr)r r9r3)rBr4r&r&r'rC AsyncGenerator.__subclasshook__NN) rFrGrHrIrrrrrrJrCr&r&r&r'r    c@(eZdZfZeddZeddZdS)r ccdS)Nr&)r=r&r&r'__iter__Iterable.__iter__cC|tkrt|dStS)Nr)r r9r3)rBr4r&r&r'rC Iterable.__subclasshook__N)rFrGrHrIrrrJrCr&r&r&r'r  c@0eZdZfZeddZddZeddZdS)rcCtdS)KReturn the next item from the iterator. When exhausted, raise StopIterationN)rZ)r=r&r&r'__next__Iterator.__next__cC|S)Nr&)r=r&r&r'r Iterator.__iter__cC|tkrt|ddStS)Nrr)rr9r3)rBr4r&r&r'rC Iterator.__subclasshook__N) rFrGrHrIrrrrJrCr&r&r&r'r c@(eZdZfZeddZeddZdS)rccdS)Nr&)r=r&r&r' __reversed__)Reversible.__reversed__cC|tkrt|ddStS)Nrr)rr9r3)rBr4r&r&r'rC. Reversible.__subclasshook__N)rFrGrHrIrrrJrCr&r&r&r'r% c@FeZdZfZddZeddZed ddZdd Ze d d Z dS) rcC |jdS)^Return the next item from the generator. When exhausted, raise StopIteration. N)r\)r=r&r&r'r9Generator.__next__cCtdS)cSend a value into the generator. Return next yielded value or raise StopIteration. N)rZ)r=r[r&r&r'r\?Generator.sendNcC4|dkr|dkr||}|dk r,|j|}|dS)gRaise an exception in the generator. Return next yielded value or raise StopIteration. N)ra)r=rbrcrdr&r&r'reF Generator.throwc C4y|jtWnttfk r&Yn XtddS).Raise GeneratorExit inside generator. generator ignored GeneratorExitN)rerkrZrl)r=r&r&r'rmS Generator.closecC|tkrt|dddddStS)Nrrr\rerm)rr9r3)rBr4r&r&r'rC] Generator.__subclasshook__NN) rFrGrHrIrrr\rermrJrCr&r&r&r'r5   c@(eZdZfZeddZeddZdS)rcCdS)Nrr&)r=r&r&r'__len__k Sized.__len__cC|tkrt|dStS)Nr)rr9r3)rBr4r&r&r'rCo Sized.__subclasshook__N)rFrGrHrIrrrJrCr&r&r&r'rg c@(eZdZfZeddZeddZdS)rcCdS)NFr&)r=xr&r&r' __contains__zContainer.__contains__cC|tkrt|dStS)Nr)rr9r3)rBr4r&r&r'rC~ Container.__subclasshook__N)rFrGrHrIrrrJrCr&r&r&r'rv c@eZdZfZeddZdS)rcC|tkrt|dddStS)Nrrr)rr9r3)rBr4r&r&r'rCCollection.__subclasshook__N)rFrGrHrIrJrCr&r&r&r'rc@(eZdZfZeddZeddZdS)rcOdS)NFr&)r=argskwdsr&r&r'__call__Callable.__call__cC|tkrt|dStS)Nr)rr9r3)rBr4r&r&r'rC Callable.__subclasshook__N)rFrGrHrIrrrJrCr&r&r&r'r c@eZdZdZfZddZddZddZdd Zd d Z e d d Z ddZ e Z ddZddZeZddZddZddZeZddZdS)rZA set is a finite, iterable container. This class provides concrete generic implementations of all methods except for __contains__, __iter__ and __len__. To override the comparisons (presumably for speed, as the semantics are fixed), redefine __le__ and __ge__, then the other operations will automatically follow suit. cC@t|tstSt|t|kr"dSx|D]}||kr(dSq(WdS)NFT) isinstancerr3len)r=otherelemr&r&r'__le__   Set.__le__cC(t|tstSt|t|ko&|j|S)N)rrr3rr)r=rr&r&r'__lt__  Set.__lt__cC(t|tstSt|t|ko&|j|S)N)rrr3r__ge__)r=rr&r&r'__gt__  Set.__gt__cC@t|tstSt|t|kr"dSx|D]}||kr(dSq(WdS)NFT)rrr3r)r=rrr&r&r'r   Set.__ge__cC(t|tstSt|t|ko&|j|S)N)rrr3rr)r=rr&r&r'__eq__  Set.__eq__cC||S)Construct an instance of the class from any iterable input. Must override this method if the class constructor signature does not accept an iterable for an input. r&)rBitr&r&r'_from_iterableSet._from_iterablec&t|tstSjfdd|DS)Nc3|]}|kr|VqdS)Nr&).0r[)r=r&r' Set.__and__..)rr r3r)r=rr&)r=r'__and__  Set.__and__cCx|D]}||krdSqWdS)1Return True if two sets have a null intersection.FTr&)r=rr[r&r&r' isdisjoint Set.isdisjointcC*t|tstSdd||fD}|j|S)Ncs|]}|D] }|Vq qdS)Nr&)r!ser&r&r'r"Set.__or__..)rr r3r)r=rchainr&r&r'__or__  Set.__or__c:tts"ttstS|j|jfdd|DS)Nc3|]}|kr|VqdS)Nr&)r!r[)rr&r'r"Set.__sub__..)rrr r3r)r=rr&)rr'__sub__     Set.__sub__c:t|ts"t|tstSj|}jfdd|DS)Nc3|]}|kr|VqdS)Nr&)r!r[)r=r&r'r"Set.__rsub__..)rrr r3r)r=rr&)r=r'__rsub__     Set.__rsub__cC2t|ts"t|tstS|j|}||||BS)N)rrr r3r)r=rr&r&r'__xor__     Set.__xor__cCtj}d|d}t|}d|d}||M}x4|D],}t|}|||d>AdAdN}||M}q4W|dd}||M}||kr||d8}|d krd }|S) +Compute the hash value of a set. Note that we don't define __hash__: not all sets are hashable. But if you define a hashable set type, its __hash__ should call this function. This must be compatible __eq__. All sets ought to compare equal if they contain the same elements, regardless of how they are implemented, and regardless of the order of the elements; so there's not much freedom for __eq__ or __hash__. We match the algorithm used by the built-in frozenset type. r"MrM[4~2 68#)sysmaxsizerhash)r=MAXMASKnhrhxr&r&r'_hash         Set._hashN)rFrGrH__doc__rIrr rrrrJrr%__rand__r*r4__ror__r;rBrF__rxor__r\r&r&r&r'r$    c@deZdZdZfZeddZeddZddZdd Z d d Z d d Z ddZ ddZ ddZdS)rA mutable set is a finite, iterable container. This class provides concrete generic implementations of all methods except for __contains__, __iter__, __len__, add(), and discard(). To override the comparisons (presumably for speed, as the semantics are fixed), all you have to do is redefine __le__ and then the other operations will automatically follow suit. cCtdS)Add an element.N)NotImplementedError)r=r[r&r&r'add:MutableSet.addcCtdS)8Remove an element. Do not raise an exception if absent.N)rh)r=r[r&r&r'discard?MutableSet.discardcC||krt||j|dS)5Remove an element. If not a member, raise a KeyError.N)KeyErrorrn)r=r[r&r&r'removeDMutableSet.removec C<t|}y t|}Wntk r,tYnX|j||S)2Return the popped value. Raise KeyError if empty.)iternextrZrsrn)r=rr[r&r&r'popJ   MutableSet.popc C,yx |jqWWntk r&YnXdS)6This is slow (creates N new iterators!) but effective.N)r{rs)r=r&r&r'clearT MutableSet.clearcCx|D]}|j|qW|S)N)ri)r=rr[r&r&r'__ior__\ MutableSet.__ior__cC x||D]}|j|q W|S)N)rn)r=rr[r&r&r'__iand__aMutableSet.__iand__cCV||kr|jn@t|ts&|j|}x*|D]"}||krD|j|q,|j|q,W|S)N)rrrrrnri)r=rr[r&r&r'__ixor__f     MutableSet.__ixor__cC.||kr|jnx|D]}|j|qW|S)N)rrn)r=rr[r&r&r'__isub__s   MutableSet.__isub__N)rFrGrHr_rIrrirnrtr{rrrrrr&r&r&r'r,     c@ReZdZfZeddZdddZddZdd Zd d Z d d Z ddZ dZ dS)rcCtdS)N)rs)r=keyr&r&r' __getitem__Mapping.__getitem__Nc C"y||Stk r|SXdS) D[k] if k in D, else d. d defaults to None.N)rs)r=rdefaultr&r&r'get Mapping.getc C*y ||Wntk r dSXdSdS)NFT)rs)r=rr&r&r'r  Mapping.__contains__cCt|S):D.keys() -> a set-like object providing a view on D's keys)r)r=r&r&r'keys Mapping.keyscCt|S) a set-like object providing a view on D's items)r)r=r&r&r'items Mapping.itemscCt|S)6D.values() -> an object providing a view on D's values)r)r=r&r&r'valuesMapping.valuescC&t|tstSt|jt|jkS)N)rrr3dictr)r=rr&r&r'r Mapping.__eq__N) rFrGrHrIrrrrrrrrrr&r&r&r'r  c@(eZdZd ZddZddZddZdS) r_mappingcC ||_dS)N)r)r=mappingr&r&r'__init__MappingView.__init__cC t|jS)N)rr)r=r&r&r'rMappingView.__len__cC dj|S)N&{0.__class__.__name__}({0._mapping!r}))format)r=r&r&r'__repr__MappingView.__repr__Nr)rFrGrHrIrrrr&r&r&r'rc@,eZdZfZeddZddZddZdS)rcCt|S)N)set)r=rr&r&r'rKeysView._from_iterablecC ||jkS)N)r)r=rr&r&r'rKeysView.__contains__cc|jEdHdS)N)r)r=r&r&r'rKeysView.__iter__N)rFrGrHrIrJrrrr&r&r&r'r c@,eZdZfZeddZddZddZdS)rcCt|S)N)r)r=rr&r&r'rItemsView._from_iterablec C@|\}}y|j|}Wntk r*dSX||kp:||kSdS)NF)rrs)r=itemrr[vr&r&r'r ItemsView.__contains__cc$x|jD]}||j|fVqWdS)N)r)r=rr&r&r'r ItemsView.__iter__N)rFrGrHrIrJrrrr&r&r&r'r  c@ eZdZfZddZddZdS)rcC2x,|jD]"}|j|}||ks&||krdSqWdS)NTF)r)r=r[rrr&r&r'r   ValuesView.__contains__cc x|jD]}|j|VqWdS)N)r)r=rr&r&r'r ValuesView.__iter__N)rFrGrHrIrrr&r&r&r'rc@\eZdZfZeddZeddZeZefddZ ddZ d d Z d d Z dddZ d S)rcCtdS)N)rs)r=rr[r&r&r' __setitem__ MutableMapping.__setitem__cCtdS)N)rs)r=rr&r&r' __delitem__MutableMapping.__delitem__c C<y ||}Wn tk r,||jkr(|SX||=|SdS)D.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. N)rs_MutableMapping__marker)r=rrr[r&r&r'r{  MutableMapping.popc C@ytt|}Wntk r(tYnX||}||=||fS)D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty. )rzryrZrs)r=rr[r&r&r'popitem$ MutableMapping.popitemc C,yx |jqWWntk r&YnXdS),D.clear() -> None. Remove all items from D.N)rrs)r=r&r&r'r0 MutableMapping.clearcO|s td|^}}t|dkr0tdt||r|d}t|trbx^|D]}||||<qLWnDt|drx8|jD]}||||<qvWnx|D]\}}|||<qWx|jD]\}}|||<qWdS)K D.update([E, ]**F) -> None. Update D from mapping/iterable E and F. If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v @descriptor 'update' of 'MutableMapping' object needs an argumentr"+update expected at most 1 arguments, got %drrN) TypeErrorrrrhasattrrr)rrr=rrr[r&r&r'update8$      MutableMapping.updateNc C*y||Stk r$|||<YnX|S)@D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D)rs)r=rrr&r&r' setdefaultS MutableMapping.setdefaultN)rFrGrHrIrrrobjectrr{rrrr r&r&r&r'r    c@JeZdZdZfZeddZddZddZdd Z dd d Z ddZ d S)rAll the operations on a read-only sequence. Concrete subclasses must override __new__ or __init__, __getitem__, and __len__. cCtdS)N) IndexError)r=indexr&r&r'rkSequence.__getitem__c c>d}y x||}|V|d7}qWWntk r8dSXdS)Nrr")r)r=irr&r&r'roSequence.__iter__cC&x |D]}||ks||krdSqWdS)NTFr&)r=r[rr&r&r'ry Sequence.__contains__cc(x"ttt|D]}||VqWdS)N)reversedranger)r=rr&r&r'rSequence.__reversed__rNc C|dk r"|dkr"tt||d}|dk r>|dkr>|t|7}|}xT|dksT||kry ||}||ksn||krr|SWntk rPYnX|d7}qDWtdS)S.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present. Supporting start and stop arguments is optional, but recommended. Nrr")maxrr ValueError)r=r[startstoprrr&r&r'r  Sequence.indexctfdd|DS)BS.count(value) -> integer -- return number of occurrences of valuec3"|]}|ks|krdVqdS)r"Nr&)r!r)r[r&r'r"!Sequence.count..)sum)r=r[r&)r[r'countSequence.countrN) rFrGrHr_rIrrrrrrr4r&r&r&r'ra   c@eZdZdZfZdS)rMThis unifies bytes and bytearray. XXX Should add all their methods. N)rFrGrHr_rIr&r&r&r'rc@neZdZfZeddZeddZeddZddZd d Z d d Z d dZ dddZ ddZ ddZdS)rcCtdS)N)r)r=rr[r&r&r'rMutableSequence.__setitem__cCtdS)N)r)r=rr&r&r'rMutableSequence.__delitem__cCtdS)3S.insert(index, value) -- insert value before indexN)r)r=rr[r&r&r'insertMutableSequence.insertcC|jt||dS):S.append(value) -- append value to the end of the sequenceN)rEr)r=r[r&r&r'appendMutableSequence.appendc C,yx |jqWWntk r&YnXdS),S.clear() -> None -- remove all items from SN)r{r)r=r&r&r'r MutableSequence.clearcCLt|}x>t|dD].}|||d||||<|||d<qWdS)!S.reverse() -- reverse *IN PLACE*rKr"N)rr#)r=rYrr&r&r'reverseMutableSequence.reversecCx|D]}|j|qWdS)MS.extend(iterable) -- extend sequence by appending elements from the iterableN)rJ)r=rrr&r&r'extend MutableSequence.extendr"cC||}||=|S)S.pop([index]) -> item -- remove and return item at index (default last). Raise IndexError if list is empty or index is out of range. r&)r=rrr&r&r'r{MutableSequence.popcC||j|=dS)vS.remove(value) -- remove first occurrence of value. Raise ValueError if the value is not present. N)r)r=r[r&r&r'rtMutableSequence.removecC|j||S)N)rX)r=rr&r&r'__iadd__ MutableSequence.__iadd__NrSrS)rFrGrHrIrrrrErJrrSrXr{rtrdr&r&r&r'r    )Kr_abcrrrT__all__rFtyperybytes_iterator bytearraybytearray_iteratorrdict_keyiteratorrdict_valueiteratorrdict_itemiterator list_iteratorr"list_reverseiteratorr#range_iteratorlongrange_iteratorr set_iterator str_iteratortuple_iteratorzip zip_iterator dict_keys dict_values dict_itemsr2 mappingproxy generatorr+ coroutinermr.async_generatorr9r rrregisterr r r r rrrrrrrr frozensetrrrrrrrrrtuplestr memoryviewrbytesrlistr&r&r&r'          ) 0              /   O 2    \ =      A PK!8fځ_weakrefset.pyc3 Β_I@2ddlmZdgZGdddZGdddZdS)refWeakSetc@$eZdZddZddZddZdS)_IterationGuardcCt||_dS)N)r weakcontainer)selfr r _weakrefset.py__init___IterationGuard.__init__cC |j}|dk r|jj||S)N)r _iteratingadd)r wr r r __enter__ _IterationGuard.__enter__cC0|j}|dk r,|j}|j||s,|jdS)N)r rremove_commit_removals)r etbrsr r r __exit__  _IterationGuard.__exit__N)__name__ __module__ __qualname__r rrr r r r r rc@eZdZd>ddZddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZeZd d!Zd"d#Zd$d%ZeZd&d'Zd(d)Zd*d+ZeZd,d-Zd.d/ZeZd0d1Zd2d3Zd4d5Z e Z!d6d7Z"d8d9Z#d:d;Z$e$Z%d|j|dS)NcS2|}|dk r.|jr"|jj|n |jj|dS)N)r_pending_removalsappenddatadiscard)itemselfrefr r r r _remove& !WeakSet.__init__.._remove)setr*rr.r(rupdate)r r*r.r r r r $WeakSet.__init__cC(|j}|jj}x|r"||jqWdS)N)r(r*r+pop)r lr+r r r r4WeakSet._commit_removalsc c<t|*x"|jD]}|}|dk r|VqWWdQRXdS)N)rr*)r itemrefr,r r r __iter__:   WeakSet.__iter__cCt|jt|jS)N)lenr*r()r r r r __len__CWeakSet.__len__c C,y t|}Wntk r dSX||jkS)NF)r TypeErrorr*)r r,wrr r r __contains__F  WeakSet.__contains__cC|jt|ft|ddfS)N__dict__) __class__listgetattr)r r r r __reduce__M WeakSet.__reduce__cC&|jr|j|jjt||jdS)N)r(rr*rrr.)r r,r r r rQ WeakSet.addcC|jr|j|jjdS)N)r(rr*clear)r r r r rVV WeakSet.clearcC |j|S)N)rL)r r r r copy[ WeakSet.copyc CV|jr|jxBy|jj}Wntk r:tdYnX|}|dk r|SqWdS)Npop from empty WeakSet)r(rr*r6KeyError)r r;r,r r r r6^ WeakSet.popcC"|jr|j|jjt|dS)N)r(rr*rr)r r,r r r rjWeakSet.removecC"|jr|j|jjt|dS)N)r(rr*r+r)r r,r r r r+oWeakSet.discardcC*|jr|jx|D]}|j|qWdS)N)r(rr)r otherelementr r r r2t WeakSet.updatecC|j||S)N)r2)r rir r r __ior__z WeakSet.__ior__cC|j}|j||S)N)rZdifference_update)r rinewsetr r r difference~ WeakSet.differencecC|j|dS)N)__isub__)r rir r r rrWeakSet.difference_updatecC<|jr|j||kr"|jjn|jjdd|D|S)Ncs|]}t|VqdS)N)r).0r,r r r #WeakSet.__isub__..)r(rr*rVrr)r rir r r rx  WeakSet.__isub__cjfdd|DS)Nc3|]}|kr|VqdS)Nr )r}r,)r r r r~'WeakSet.intersection..)rL)r rir )r r intersectionWeakSet.intersectioncC|j|dS)N)__iand__)r rir r r intersection_updateWeakSet.intersection_updatecC(|jr|j|jjdd|D|S)Ncs|]}t|VqdS)N)r)r}r,r r r r~#WeakSet.__iand__..)r(rr*r)r rir r r rWeakSet.__iand__cC|jjdd|DS)Ncs|]}t|VqdS)N)r)r}r,r r r r~#WeakSet.issubset..)r*issubset)r rir r r rWeakSet.issubsetcC|jtdd|DkS)Ncs|]}t|VqdS)N)r)r}r,r r r r~!WeakSet.__lt__..)r*r1)r rir r r __lt__WeakSet.__lt__cC|jjdd|DS)Ncs|]}t|VqdS)N)r)r}r,r r r r~%WeakSet.issuperset..)r* issuperset)r rir r r rWeakSet.issupersetcC|jtdd|DkS)Ncs|]}t|VqdS)N)r)r}r,r r r r~!WeakSet.__gt__..)r*r1)r rir r r __gt__WeakSet.__gt__cC(t||jstS|jtdd|DkS)Ncs|]}t|VqdS)N)r)r}r,r r r r~!WeakSet.__eq__..) isinstancerLNotImplementedr*r1)r rir r r __eq__ WeakSet.__eq__cC|j}|j||S)N)rZsymmetric_difference_update)r rirsr r r symmetric_difference WeakSet.symmetric_differencecC|j|dS)N)__ixor__)r rir r r r#WeakSet.symmetric_difference_updatec@jrj|kr"jjnjjfdd|DS)Nc3|]}t|jVqdS)N)rr.)r}r,)r r r r~#WeakSet.__ixor__..)r(rr*rVr)r rir )r r r  WeakSet.__ixor__cC|jdd||fDS)Ncs|]}|D] }|Vq qdS)Nr )r}rrr r r r~ WeakSet.union..)rL)r rir r r union WeakSet.unioncCt|j|dkS)Nr)r@r)r rir r r isdisjointWeakSet.isdisjointN)'r!r"r#r rr<rArGrOrrVrZr6rr+r2rnrt__sub__rrrxr__and__rrr__le__rr__ge__rrr__xor__rrr__or__rr r r r r#H     N)_weakrefr__all__rrr r r r  PK!R CyHHabc.pyc3 Β_"@vdZddlmZddZGdddeZGdddeZGd d d eZ Gd d d e Z Gd dde dZ ddZ dS)3Abstract Base Classes (ABCs) according to PEP 3119.WeakSetcC d|_|S)A decorator indicating abstract methods. Requires that the metaclass is ABCMeta or derived from it. A class that has a metaclass derived from ABCMeta cannot be instantiated unless all of its abstract methods are overridden. The abstract methods can be called using any of the normal 'super' call mechanisms. Usage: class C(metaclass=ABCMeta): @abstractmethod def my_abstract_method(self, ...): ... T)__isabstractmethod__)funcobjr abc.pyabstractmethod r c$eZdZdZdZfddZZS)abstractclassmethodO A decorator indicating abstract classmethods. Similar to abstractmethod. Usage: class C(metaclass=ABCMeta): @abstractclassmethod def my_abstract_classmethod(cls, ...): ... 'abstractclassmethod' is deprecated. Use 'classmethod' with 'abstractmethod' instead. Tcd|_tj|dS)NT)rsuper__init__)selfcallable) __class__r r r0abstractclassmethod.__init__)__name__ __module__ __qualname____doc__rr __classcell__r r )rr rrc$eZdZdZdZfddZZS)abstractstaticmethodO A decorator indicating abstract staticmethods. Similar to abstractmethod. Usage: class C(metaclass=ABCMeta): @abstractstaticmethod def my_abstract_staticmethod(...): ... 'abstractstaticmethod' is deprecated. Use 'staticmethod' with 'abstractmethod' instead. Tcd|_tj|dS)NT)rrr)rr)rr r rHabstractstaticmethod.__init__)rrrrrrrr r )rr r 5r c@eZdZdZdZdS)abstractpropertyk A decorator indicating abstract properties. Requires that the metaclass is ABCMeta or derived from it. A class that has a metaclass derived from ABCMeta cannot be instantiated unless all of its abstract properties are overridden. The abstract properties can be called using any of the normal 'super' call mechanisms. Usage: class C(metaclass=ABCMeta): @abstractproperty def my_abstract_property(self): ... This defines a read-only property; you can also define a read-write abstract property using the 'long' form of property declaration: class C(metaclass=ABCMeta): def getx(self): ... def setx(self, value): ... x = abstractproperty(getx, setx) 'abstractproperty' is deprecated. Use 'property' with 'abstractmethod' instead. TN)rrrrrr r r r r'Mr'cFeZdZdZdZfddZddZddd Zd d Zd d Z Z S)ABCMetaiMetaclass for defining Abstract Base Classes (ABCs). Use this metaclass to create an ABC. An ABC can be subclassed directly, and then acts as a mix-in class. You can also register unrelated concrete classes (even built-in classes) and unrelated ABCs as 'virtual subclasses' -- these and their descendants will be considered subclasses of the registering ABC by the built-in issubclass() function, but the registering ABC won't show up in their MRO (Method Resolution Order) nor will method implementations defined by the registering ABC be callable (not even via super()). rc  tj||||f|}dd|jD}xF|D]>}x8t|dtD]&}t||d}t|ddrB|j|qBWq.Wt||_t|_ t|_ t|_ t j |_|S)NcS h|]\}}t|ddr|qS)rF)getattr).0namevaluer r r "ABCMeta.__new__..__abstractmethods__rF)r__new__itemsr/setadd frozensetr6r _abc_registry _abc_cache_abc_negative_cacher+_abc_invalidation_counter_abc_negative_cache_version) mclsr1bases namespacekwargscls abstractsbaser2)rr r r7     ABCMeta.__new__cCPt|tstdt||r |St||r2td|jj|tjd7_|S)sRegister a virtual subclass of an ABC. Returns the subclass, to allow usage as a class decorator. Can only register classes'Refusing to create an inheritance cycle) isinstancetype TypeError issubclass RuntimeErrorr<r:r+r?)rEsubclassr r r register    ABCMeta.registerNcC|td|j|jf|dtdtj|dxLt|jD]>}|jdr6t||}t |t r`t |}td||f|dq6WdS)'Debug helper to print the ABC registry. Class: %s.%sfileInv.counter: %s_abc_%s: %rN) printrrr+r?sorted__dict__ startswithr/rOrr9)rEr\r1r2r r r _dump_registry   ABCMeta._dump_registrycb|j}|jkrdSt|}||krHjtjkr>|jkr>dSj|Stfdd||hDS)'Override for isinstance(instance, cls).TFc3|]}j|VqdS)N)__subclasscheck__)r0c)rEr r ,ABCMeta.__instancecheck__..) rr=rPr@r+r?r>rjany)rEinstancerTsubtyper )rEr __instancecheck__   ABCMeta.__instancecheck__cC||jkrdS|jtjkr,t|_tj|_n||jkr:dS|j|}|tk r|t|t sZt |rl|jj |n |jj ||S|t |dfkr|jj |dSx(|j D]}t||r|jj |dSqWx*|jD]}t||r|jj |dSqW|jj |dS)'Override for issubclass(subclass, cls).TF__mro__)r=r@r+r?rr>__subclasshook__NotImplementedrOboolAssertionErrorr:r/r<rR__subclasses__)rErTokrclssclsr r r rj6             ABCMeta.__subclasscheck__N) rrrrr?r7rUrdrrrjrr r )rr r+m  r+c@eZdZdZdS)ABCVHelper class that provides a standard way to create an ABC using inheritance. N)rrrrr r r r rr metaclasscCtjS)Returns the current ABC cache token. The token is an opaque object (supporting equality testing) identifying the current version of the ABC cache for virtual subclasses. The token changes with every call to ``register()`` on any ABC. )r+r?r r r r get_cache_tokenrN)r _weakrefsetrr classmethodr staticmethodr propertyr'rPr+rrr r r r   PK!b{VV codecs.pyc3 Β_:@dZddlZddlZy ddlTWn.ek rNZzedeWYddZ[XnXddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0g,Zd1Zd2Z Z d3Z Z d4Z d5Zejd6kre ZZe Zn e ZZeZe Ze Ze ZeZGd7ddeZGd8ddZGd9ddeZGd:d;d;eZGdd>eZGd?ddeZGd@ddeZ GdAddZ!GdBddZ"d\dFdZ#d]dGdZ$dHdZ%dId Z&dJd!Z'dKd"Z(dLd#Z)dMd$Z*d^dNd'Z+d_dOd(Z,dPdQZ-dRdSZ.y4e/dDZ0e/dTZ1e/dUZ2e/dVZ3e/dWZ4e/dXZ5Wn.e6k r`dZ0dZ1dZ2dZ3dZ4dZ5YnXdZ7e7rtddl8Z8e9dYkre$ej:dZd[e_:e$ej;d[dZe_;dS)` codecs -- Python Codec Registry, API and helpers. Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. N*%Failed to load the builtin codecs: %sregisterlookupopen EncodedFileBOMBOM_BEBOM_LEBOM32_BEBOM32_LEBOM64_BEBOM64_LEBOM_UTF8 BOM_UTF16 BOM_UTF16_LE BOM_UTF16_BE BOM_UTF32 BOM_UTF32_LE BOM_UTF32_BE CodecInfoCodecIncrementalEncoderIncrementalDecoder StreamReader StreamWriterStreamReaderWriter StreamRecoder getencoder getdecodergetincrementalencodergetincrementaldecoder getreader getwriterencodedecode iterencode iterdecode strict_errors ignore_errorsreplace_errorsxmlcharrefreplace_errorsbackslashreplace_errorsnamereplace_errorsregister_error lookup_errorlittlec@,eZdZdZdZd ddddZddZdS) r0Codec details when looking up the codec registryTN_is_text_encodingc CPtj|||||f} || _|| _|| _|| _|| _|| _|| _|dk rL|| _ | S)N) tuple__new__namer'r(incrementalencoderincrementaldecoder streamwriter streamreaderr<) clsr'r(rDrCrArBr@r<selfrG codecs.pyr?]CodecInfo.__new__cCd|jj|jj|jt|fS)N%<%s.%s object for encoding %s at %#x>) __class__ __module__ __qualname__r@id)rFrGrGrH__repr__l CodecInfo.__repr__NNNNN)__name__rNrO__doc__r<r?rQrGrGrGrHrR  c@$eZdZdZdddZd ddZdS) r9 Defines the interface for stateless encoders/decoders. The .encode()/.decode() methods may use different error handling schemes by providing the errors argument. These string values are predefined: 'strict' - raise a ValueError error (or a subclass) 'ignore' - ignore the character and continue with the next 'replace' - replace with a suitable replacement character; Python will use the official U+FFFD REPLACEMENT CHARACTER for the builtin Unicode codecs on decoding and '?' on encoding. 'surrogateescape' - replace with private code points U+DCnn. 'xmlcharrefreplace' - Replace with the appropriate XML character reference (only for encoding). 'backslashreplace' - Replace with backslashed escape sequences. 'namereplace' - Replace with \N{...} escape sequences (only for encoding). The set of allowed values can be extended via register_error. strictcCtdS)# Encodes the object input and returns a tuple (output object, length consumed). errors defines the error handling to apply. It defaults to 'strict' handling. The method may not store state in the Codec instance. Use StreamWriter for codecs which have to keep state in order to make encoding efficient. The encoder must be able to handle zero length input and return an empty object of the output object type in this situation. N)NotImplementedError)rFinputerrorsrGrGrHr' Codec.encodecCtdS) Decodes the object input and returns a tuple (output object, length consumed). input must be an object which provides the bf_getreadbuf buffer slot. Python strings, buffer objects and memory mapped files are examples of objects providing this slot. errors defines the error handling to apply. It defaults to 'strict' handling. The method may not store state in the Codec instance. Use StreamReader for codecs which have to keep state in order to make decoding efficient. The decoder must be able to handle zero length input and return an empty object of the output object type in this situation. N)r])rFr^r_rGrGrHr( Codec.decodeNrZrZ)rUrNrOrVr'r(rGrGrGrHrq c@<eZdZdZdddZdddZdd Zd d Zd d ZdS)r An IncrementalEncoder encodes an input in multiple steps. The input can be passed piece by piece to the encode() method. The IncrementalEncoder remembers the state of the encoding process between calls to encode(). rZcC||_d|_dS) Creates an IncrementalEncoder instance. The IncrementalEncoder may use different error handling schemes by providing the errors keyword argument. See the module docstring for a list of possible values. N)r_buffer)rFr_rGrGrH__init__IncrementalEncoder.__init__FcCtdS)A Encodes input and returns the resulting object. N)r])rFr^finalrGrGrHr'IncrementalEncoder.encodecCdS): Resets the encoder to the initial state. NrG)rFrGrGrHresetIncrementalEncoder.resetcCdS): Return the current state of the encoder. rrG)rFrGrGrHgetstateIncrementalEncoder.getstatecCdS)l Set the current state of the encoder. state must have been returned by getstate(). NrG)rFstaterGrGrHsetstateIncrementalEncoder.setstateNrZF) rUrNrOrVror'ryr~rrGrGrGrHr  c@DeZdZdZdddZddZddd Zd d Zd d ZddZ dS)BufferedIncrementalEncoder This subclass of IncrementalEncoder can be used as the baseclass for an incremental encoder if the encoder must keep some of the output in a buffer between calls to encode(). rZcCtj||d|_dS)Nrm)rrorn)rFr_rGrGrHro #BufferedIncrementalEncoder.__init__cCtdS)N)r])rFr^r_rtrGrGrH_buffer_encode)BufferedIncrementalEncoder._buffer_encodeFcC0|j|}|j||j|\}}||d|_|S)N)rnrr_)rFr^rtdataresultconsumedrGrGrHr' !BufferedIncrementalEncoder.encodecCtj|d|_dS)Nrm)rryrn)rFrGrGrHry  BufferedIncrementalEncoder.resetcC |jpdS)Nr)rn)rFrGrGrHr~#BufferedIncrementalEncoder.getstatecC|pd|_dS)Nrm)rn)rFrrGrGrHr#BufferedIncrementalEncoder.setstateNrZF) rUrNrOrVrorr'ryr~rrGrGrGrHr  rc@<eZdZdZdddZdddZdd Zd d Zd d ZdS)r An IncrementalDecoder decodes an input in multiple steps. The input can be passed piece by piece to the decode() method. The IncrementalDecoder remembers the state of the decoding process between calls to decode(). rZcC ||_dS) Create an IncrementalDecoder instance. The IncrementalDecoder may use different error handling schemes by providing the errors keyword argument. See the module docstring for a list of possible values. N)r_)rFr_rGrGrHroIncrementalDecoder.__init__FcCtdS)@ Decode input and returns the resulting object. N)r])rFr^rtrGrGrHr( IncrementalDecoder.decodecCdS)9 Reset the decoder to the initial state. NrG)rFrGrGrHryIncrementalDecoder.resetcCdS)  Return the current state of the decoder. This must be a (buffered_input, additional_state_info) tuple. buffered_input must be a bytes object containing bytes that were passed to decode() that have not yet been converted. additional_state_info must be a non-negative integer representing the state of the decoder WITHOUT yet having processed the contents of buffered_input. In the initial state and after reset(), getstate() must return (b"", 0). rrrrG)rFrGrGrHr~ IncrementalDecoder.getstatecCdS) Set the current state of the decoder. state must have been returned by getstate(). The effect of setstate((b"", 0)) must be equivalent to reset(). NrG)rFrrGrGrHr&IncrementalDecoder.setstateNrZF) rUrNrOrVror(ryr~rrGrGrGrHr  c@DeZdZdZdddZddZddd Zd d Zd d ZddZ dS)BufferedIncrementalDecoder This subclass of IncrementalDecoder can be used as the baseclass for an incremental decoder if the decoder must be able to handle incomplete byte sequences. rZcCtj||d|_dS)Nr)rrorn)rFr_rGrGrHro4 #BufferedIncrementalDecoder.__init__cCtdS)N)r])rFr^r_rtrGrGrH_buffer_decode9)BufferedIncrementalDecoder._buffer_decodeFcC0|j|}|j||j|\}}||d|_|S)N)rnrr_)rFr^rtrrrrGrGrHr(> !BufferedIncrementalDecoder.decodecCtj|d|_dS)Nr)rryrn)rFrGrGrHryF  BufferedIncrementalDecoder.resetcC |jdfS)Nr)rn)rFrGrGrHr~J#BufferedIncrementalDecoder.getstatecC|d|_dS)Nr)rn)rFrrGrGrHrN#BufferedIncrementalDecoder.setstateNrZF) rUrNrOrVrorr(ryr~rrGrGrGrHr.  rc@TeZdZdddZddZddZdd Zdd d Zefd dZ ddZ ddZ dS)rrZcC||_||_dS)w Creates a StreamWriter instance. stream must be a file-like object open for writing. The StreamWriter may use different error handling schemes by providing the errors keyword argument. These parameters are predefined: 'strict' - raise a ValueError (or a subclass) 'ignore' - ignore the character and continue with the next 'replace'- replace with a suitable replacement character 'xmlcharrefreplace' - Replace with the appropriate XML character reference. 'backslashreplace' - Replace with backslashed escape sequences. 'namereplace' - Replace with \N{...} escape sequences. The set of allowed parameter values can be extended via register_error. N)streamr_)rFrr_rGrGrHro[StreamWriter.__init__cC"|j||j\}}|jj|dS)> Writes the object's contents encoded to self.stream. N)r'r_rwrite)rFobjectrrrGrGrHrtStreamWriter.writecC|jdj|dS)[ Writes the concatenated list of strings to the stream using .write(). rmN)rjoin)rFlistrGrGrH writelines{StreamWriter.writelinescCdS)5 Flushes and resets the codec buffers used for keeping state. Calling this method should ensure that the data on the output is put into a clean state, that allows appending of new fresh data without having to rescan the whole stream to recover state. NrG)rFrGrGrHry StreamWriter.resetrcC*|jj|||dkr&|dkr&|jdS)Nr)rseekry)rFoffsetwhencerGrGrHrStreamWriter.seekcC ||j|S)? Inherit all other methods from the underlying stream. )r)rFr@getattrrGrGrH __getattr__StreamWriter.__getattr__cC|S)NrG)rFrGrGrH __enter__StreamWriter.__enter__cC|jjdS)N)rclose)rFtypevaluetbrGrGrH__exit__StreamWriter.__exit__NrZr) rUrNrOrorrryrrrrrrGrGrGrHrY   c@eZdZeZdddZd ddZd#dd Zd$d d Zd%ddZ ddZ d&ddZ ddZ ddZ efddZddZddZd S)'rrZcC.||_||_d|_|j|_|j|_d|_dS) Creates a StreamReader instance. stream must be a file-like object open for reading. The StreamReader may use different error handling schemes by providing the errors keyword argument. These parameters are predefined: 'strict' - raise a ValueError (or a subclass) 'ignore' - ignore the character and continue with the next 'replace'- replace with a suitable replacement character 'backslashreplace' - Replace with backslashed escape sequences; The set of allowed parameter values can be extended via register_error. rN)rr_ bytebuffercharbuffertype_empty_charbuffer charbuffer linebuffer)rFrr_rGrGrHro  StreamReader.__init__cCtdS)N)r])rFr^r_rGrGrHr(StreamReader.decodeFc CL|jr|jj|j|_d|_|dkr(|}x|dkrBt|j|krBP|dkrV|jj}n |jj|}|j|}|srPy|j||j \}}Wn`t k r}zD|r|j|d|j |j \}}|j dd} t| dkr؂nWYdd}~XnX||d|_|j|7_|s*Pq*W|dkr*|j} |j|_n|jd|} |j|d|_| S) Decodes data from the stream self.stream and returns the resulting object. chars indicates the number of decoded code points or bytes to return. read() will never return more data than requested, but it might return less, if there is not enough available. size indicates the approximate maximum number of decoded bytes or code points to read for decoding. The decoder can modify this setting as appropriate. The default value -1 indicates to read and decode as much as possible. size is intended to prevent having to decode huge files in one step. If firstline is true, and a UnicodeDecodeError happens after the first line terminator in the input only the first line will be returned, the rest of the input will be kept until the next call to read(). The method should use a greedy read strategy, meaning that it should read as much data as is allowed within the definition of the encoding and the given size, e.g. if optional encoding endings or state markers are available on the stream, these should be read too. NrTkeependsr) rrrrlenrreadrr(r_UnicodeDecodeErrorstart splitlines) rFsizechars firstlinenewdatarnewchars decodedbytesexclinesrrGrGrHrD       StreamReader.readNTc C|jrP|jd}|jd=t|jdkr8|jd|_d|_|sL|jddd}|S|pVd}|j}xr|j|dd}|rt|tr|jd st|t r|jd r||jddd 7}||7}|jdd}|rt|dkr:|d}|d=t|dkr|d|j7<||_d|_n|d|j|_|s8|jddd}P|d}|djddd}||kr|jj |dd|j|_|r|}n|}P| s|dk r|r| r|jddd}P|d krb|d 9}qbW|S) Read one line from the input stream and return the decoded data. size, if given, is passed as size argument to the read() method. rrNFrHTr%  r#r$@) rrrr"rr isinstancestrendswithbytesr) rFr#rlinereadsizerr* line0withendline0withoutendrGrGrHreadline^       StreamReader.readlinecC|j}|j|S)S Read all lines available on the input stream and return them as a list. Line breaks are implemented using the codec's decoder method and are included in the list entries. sizehint, if given, is ignored since there is no efficient way to finding the true end-of-line. )rr")rFsizehintrrrGrGrH readlines] StreamReader.readlinescCd|_|j|_d|_dS) Resets the codec buffers used for keeping state. Note that no stream repositioning should take place. This method is primarily intended to be able to recover from decoding errors. rN)rrrr)rFrGrGrHryl StreamReader.resetrcC|jj|||jdS)p Set the input stream's current position. Resets the codec buffers used for keeping state. N)rrry)rFrrrGrGrHryStreamReader.seekcC|j}|r|StdS)4 Return the next decoded line from the input stream.N)r@ StopIteration)rFr<rGrGrH__next__StreamReader.__next__cC|S)NrG)rFrGrGrH__iter__StreamReader.__iter__cC ||j|S)? Inherit all other methods from the underlying stream. )r)rFr@rrGrGrHrStreamReader.__getattr__cC|S)NrG)rFrGrGrHrStreamReader.__enter__cC|jjdS)N)rr)rFrrrrGrGrHrStreamReader.__exit__rZrZr7r7r7r7FNTNTr)rUrNrOr9rror(rr@rFryrrTrXrrrrrGrGrGrHr   P K   c@eZdZdZdZd!ddZd#ddZd$d d Zd%d d ZddZ ddZ ddZ ddZ ddZ d&ddZefddZddZdd Zd S)'r StreamReaderWriter instances allow wrapping streams which work in both read and write modes. The design is such that one can use the factory functions returned by the codec.lookup() function to construct the instance. unknownrZcC(||_||||_||||_||_dS)R Creates a StreamReaderWriter instance. stream must be a Stream-like object. Reader, Writer must be factory functions or classes providing the StreamReader, StreamWriter interface resp. Error handling is done in the same way as defined for the StreamWriter/Readers. N)rreaderwriterr_)rFrReaderWriterr_rGrGrHro   StreamReaderWriter.__init__rcC |jj|S)N)rqr)rFr#rGrGrHrStreamReaderWriter.readNcC |jj|S)N)rqr@)rFr#rGrGrHr@StreamReaderWriter.readlinecC |jj|S)N)rqrF)rFrErGrGrHrFStreamReaderWriter.readlinescC t|jS)4 Return the next decoded line from the input stream.)nextrq)rFrGrGrHrTStreamReaderWriter.__next__cC|S)NrG)rFrGrGrHrXStreamReaderWriter.__iter__cC |jj|S)N)rrr)rFrrGrGrHrStreamReaderWriter.writecC |jj|S)N)rrr)rFrrGrGrHrStreamReaderWriter.writelinescC|jj|jjdS)N)rqryrr)rFrGrGrHry StreamReaderWriter.resetrcC6|jj|||jj|dkr2|dkr2|jjdS)Nr)rrrqryrr)rFrrrGrGrHr StreamReaderWriter.seekcC ||j|S)? Inherit all other methods from the underlying stream. )r)rFr@rrGrGrHrStreamReaderWriter.__getattr__cC|S)NrG)rFrGrGrHrStreamReaderWriter.__enter__cC|jjdS)N)rr)rFrrrrGrGrHrStreamReaderWriter.__exit__rZr7r7NNr)rUrNrOrVencodingrorr@rFrTrXrrryrrrrrrGrGrGrHr       c@eZdZdZdZdZdddZd ddZd!d d Zd"d d Z ddZ ddZ ddZ ddZ ddZefddZddZddZd S)#r B StreamRecoder instances translate data from one encoding to another. They use the complete set of APIs returned by the codecs.lookup() function to implement their task. Data written to the StreamRecoder is first decoded into an intermediate format (depending on the "decode" codec) and then written to the underlying stream using an instance of the provided Writer class. In the other direction, data is read from the underlying stream using a Reader instance and then encoded and returned to the caller. rnrZcC4||_||_||_||||_||||_||_dS) Creates a StreamRecoder instance which implements a two-way conversion: encode and decode work on the frontend (the data visible to .read() and .write()) while Reader and Writer work on the backend (the data in stream). You can use these objects to do transparent transcodings from e.g. latin-1 to utf-8 and back. stream must be a file-like object. encode and decode must adhere to the Codec interface; Reader and Writer must be factory functions or classes providing the StreamReader and StreamWriter interfaces resp. Error handling is done in the same way as defined for the StreamWriter/Readers. N)rr'r(rqrrr_)rFrr'r(rsrtr_rGrGrHro   StreamRecoder.__init__rcC"|jj|}|j||j\}}|S)N)rqrr'r_)rFr#r bytesencodedrGrGrHr" StreamRecoder.readNcC6|dkr|jj}n |jj|}|j||j\}}|S)N)rqr@r'r_)rFr#rrrGrGrHr@(   StreamRecoder.readlinecC(|jj}|j||j\}}|jddS)NTr)rqrr'r_r")rFrErrrGrGrHrF1 StreamRecoder.readlinescC t|j}|j||j\}}|S)4 Return the next decoded line from the input stream.)rrqr'r_)rFrrrGrGrHrT7 StreamRecoder.__next__cC|S)NrG)rFrGrGrHrX>StreamRecoder.__iter__cC|j||j\}}|jj|S)N)r(r_rrr)rFr bytesdecodedrGrGrHrAStreamRecoder.writecC(dj|}|j||j\}}|jj|S)Nrm)rr(r_rrr)rFrrrrGrGrHrF StreamRecoder.writelinescC|jj|jjdS)N)rqryrr)rFrGrGrHryL StreamRecoder.resetcC ||j|S)? Inherit all other methods from the underlying stream. )r)rFr@rrGrGrHrQStreamRecoder.__getattr__cC|S)NrG)rFrGrGrHrXStreamRecoder.__enter__cC|jjdS)N)rr)rFrrrrGrGrHr[StreamRecoder.__exit__rZr7r7NN)rUrNrOrV data_encoding file_encodingrorr@rFrTrXrrryrrrrrGrGrGrHr     rrZrcCV|dk rd|kr|d}tj|||}|dkr2|St|}t||j|j|}||_|S)> Open an encoded file using the given mode and return a wrapped version providing transparent encoding/decoding. Note: The wrapped version will only accept the object format defined by the codecs, i.e. Unicode objects for most builtin codecs. Output is also codec dependent and will usually be Unicode as well. Underlying encoded files are always opened in binary mode. The default file mode is 'r', meaning to open the file in read mode. encoding specifies the encoding which is to be used for the file. errors may be given to define the error handling. It defaults to 'strict' which causes ValueErrors to be raised in case an encoding error occurs. buffering has the same meaning as for the builtin open() API. It defaults to line buffered. The returned wrapped file object provides an extra attribute .encoding which allows querying the used encoding. This attribute is only available if an encoding was specified as parameter. Nb)builtinsr rrrDrCr)filenamemoderr_ bufferingfileinfosrwrGrGrHr `cCF|dkr |}t|}t|}t||j|j|j|j|}||_||_|S) Return a wrapped version of file which provides transparent encoding translation. Data written to the wrapped file is decoded according to the given data_encoding and then encoded to the underlying file using file_encoding. The intermediate data type will usually be Unicode but depends on the specified codecs. Bytes read from the file are decoded using file_encoding and then passed back to the caller encoded using data_encoding. If file_encoding is not given, it defaults to data_encoding. errors may be given to define the error handling. It defaults to 'strict' which causes ValueErrors to be raised in case an encoding error occurs. The returned wrapped file object provides two extra attributes .data_encoding and .file_encoding which reflect the given parameters of the same name. The attributes can be used for introspection by Python programs. N)rr r'r(rDrCrr)rrrr_ data_info file_infosrrGrGrHr  cC t|jS) Lookup up the codec for the given encoding and return its encoder function. Raises a LookupError in case the encoding cannot be found. )rr')rrGrGrHr!cC t|jS) Lookup up the codec for the given encoding and return its decoder function. Raises a LookupError in case the encoding cannot be found. )rr()rrGrGrHr"cCt|j}|dkrt||S) Lookup up the codec for the given encoding and return its IncrementalEncoder class or factory function. Raises a LookupError in case the encoding cannot be found or the codecs doesn't provide an incremental encoder. N)rrA LookupError)rencoderrGrGrHr# cCt|j}|dkrt||S) Lookup up the codec for the given encoding and return its IncrementalDecoder class or factory function. Raises a LookupError in case the encoding cannot be found or the codecs doesn't provide an incremental decoder. N)rrBr)rdecoderrGrGrHr$ cC t|jS) Lookup up the codec for the given encoding and return its StreamReader class or factory function. Raises a LookupError in case the encoding cannot be found. )rrD)rrGrGrHr%cC t|jS) Lookup up the codec for the given encoding and return its StreamWriter class or factory function. Raises a LookupError in case the encoding cannot be found. )rrC)rrGrGrHr&ckLt||f|}x |D]}|j|}|r|VqW|jdd}|rH|VdS) Encoding iterator. Encodes the input strings from the iterator using an IncrementalEncoder. errors and kwargs are passed through to the IncrementalEncoder constructor. rmTN)r#r')iteratorrr_kwargsrr^outputrGrGrHr)     ckLt||f|}x |D]}|j|}|r|VqW|jdd}|rH|VdS) Decoding iterator. Decodes the input strings from the iterator using an IncrementalDecoder. errors and kwargs are passed through to the IncrementalDecoder constructor. rTN)r$r()rrr_rrr^rrGrGrHr*     cCdd|DS) make_identity_dict(rng) -> dict Return a dictionary where elements of the rng sequence are mapped to themselves. cSi|] }||qS)rG).0irGrGrH "&make_identity_dict..rG)rngrGrGrHmake_identity_dictrcC8i}x.|jD]"\}}||kr(|||<qd||<qW|S) Creates an encoding map from a decoding map. If a target mapping in the decoding map occurs multiple times, then that target is mapped to None (undefined mapping), causing an exception when encountered by the charmap codec during translation. One example where this happens is cp875.py which decodes multiple character to \u001a. N)items) decoding_mapmkvrGrGrHmake_encoding_map$   rignorereplacexmlcharrefreplacebackslashreplace namereplace__main__latin-1utf-8rNrZrNrZrZrZ)rrrrrrrrrrr r r r!r"r#r$r%r&r)r*rrr2r+r,r-r.r/r0r_false encodingsrUstdoutstdinrGrGrGrH     B("1+IzWn * &         PK!;"collections/__init__.pyc3 Β_$@dZddddddddd g Zd d lTd d lZeej7Zd d lmZmZd dlm Z d d l Z d d l Zd dlmZd dlmZmZmZd dlmZyd dlmZWnek rYn Xej eyd dlm!Z!Wnek rYnXGddde"Z#Gddde$Z%Gddde&Z'Gddde(Z)Gddde*Z+yd dlm+Z+Wnek rXYnXdZ,dZ-d Z.d!d!d d"d#dZ/d$d%Z0yd d&lm0Z0Wnek rYnXGd'dde*Z1Gd(d d e2Z3Gd)dde2Z4Gd*ddeZ5Gd+dde6Z7d S),?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 deque defaultdict namedtupleUserDictUserList UserStringCounter OrderedDictChainMap*N itemgettereq iskeywordproxyrepeatchainstarmaprecursive_reprrrc@eZdZddZdS)_OrderedDictKeysViewcct|jEdHdS)N)reversed_mapping)selfr$collections/__init__.py __reversed__5!_OrderedDictKeysView.__reversed__N)__name__ __module__ __qualname__r&r$r$r$r%r3rc@eZdZddZdS)_OrderedDictItemsViewcc(x"t|jD]}||j|fVq WdS)N)r!r")r#keyr$r$r%r&:"_OrderedDictItemsView.__reversed__N)r)r*r+r&r$r$r$r%r.8r.c@eZdZddZdS)_OrderedDictValuesViewcc$xt|jD]}|j|Vq WdS)N)r!r")r#r0r$r$r%r&@#_OrderedDictValuesView.__reversed__N)r)r*r+r&r$r$r$r%r5>r5c@eZdZdZdS)_Linkprevnextr0 __weakref__Nr<r=r0r>)r)r*r+ __slots__r$r$r$r%r;Dr;c@eZdZdZddZejeefddZej fddZ dd Z d d Z d d Z d*ddZ d+ddZddZejZZddZddZddZejZeZefddZd,ddZed d!Zd"d#Zd$d%Zed-d&d'Z d(d)Z!dS).r )Dictionary that remembers insertion orderc O|s td|^}}t|dkr0tdt|y |jWn>tk rxt|_t|j|_}||_|_i|_ YnX|j ||dS)Initialize an ordered dictionary. The signature is the same as regular dictionaries. Keyword argument order is preserved. ?descriptor '__init__' of 'OrderedDict' object needs an argument$expected at most 1 arguments, got %dN) TypeErrorlen_OrderedDict__rootAttributeErrorr;_OrderedDict__hardroot_proxyr<r=_OrderedDict__map_OrderedDict__update)argskwdsr#rootr$r$r%__init__V    OrderedDict.__init__c CZ||krJ||j|<}|j}|j}||||_|_|_||_|||_||||dS)!od.__setitem__(i, y) <==> od[i]=yN)rOrKr<r=r0) r#r0value dict_setitemrLinklinkrSlastr$r$r% __setitem__i OrderedDict.__setitem__cC>||||jj|}|j}|j}||_||_d|_d|_dS) od.__delitem__(y) <==> del od[y]N)rOpopr<r=)r#r0 dict_delitemr\ link_prev link_nextr$r$r% __delitem__w  OrderedDict.__delitem__cc,|j}|j}x||k r&|jV|j}qWdS)od.__iter__() <==> iter(od)N)rKr=r0)r#rScurrr$r$r%__iter__  OrderedDict.__iter__cc,|j}|j}x||k r&|jV|j}qWdS)#od.__reversed__() <==> reversed(od)N)rKr<r0)r#rSrlr$r$r%r&  OrderedDict.__reversed__cC*|j}||_|_|jjtj|dS).od.clear() -> None. Remove all items from od.N)rKr<r=rOcleardict)r#rSr$r$r%rv  OrderedDict.clearTcCj|s td|j}|r0|j}|j}||_||_n|j}|j}||_||_|j}|j|=tj||}||fS)Remove and return a (key, value) pair from the dictionary. Pairs are returned in LIFO order if last is true or FIFO order if false. dictionary is empty)KeyErrorrKr<r=r0rOrwrc)r#r]rSr\rerfr0rYr$r$r%popitem  OrderedDict.popitemc Ct|j|}|j}|j}|j}||_||_|j}|rR|j}||_||_||_||_n|j}||_||_||_||_dS)Move an existing element to the end (or beginning if last==False). Raises KeyError if the element does not exist. When last=True, acts like a fast version of self[key]=self.pop(key). N)rOr<r=rK) r#r0r]r\rerf soft_linkrSfirstr$r$r% move_to_end$ OrderedDict.move_to_endcCVtj}t|d}||j}|||jd7}|||j|7}|||j|7}|S)NrG)_sys getsizeofrJ__dict__rOrMrK)r#sizeofnsizer$r$r% __sizeof__  OrderedDict.__sizeof__cCt|S):D.keys() -> a set-like object providing a view on D's keys)r)r#r$r$r%keysOrderedDict.keyscCt|S) a set-like object providing a view on D's items)r.)r#r$r$r%itemsOrderedDict.itemscCt|S)6D.values() -> an object providing a view on D's values)r5)r#r$r$r%valuesOrderedDict.valuescC0||kr||}||=|S||jkr,t||S)od.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__markerr})r#r0defaultresultr$r$r%rc OrderedDict.popNcC||kr||S|||<|S)Dod.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in odr$)r#r0rr$r$r% setdefaultOrderedDict.setdefaultcC*|sd|jjfSd|jjt|jfS)od.__repr__() <==> repr(od)%s()%s(%r)) __class__r)listr)r#r$r$r%__repr__OrderedDict.__repr__cCHt|j}xttD]}|j|dqW|jf|p8ddt|jfS)%Return state information for picklingN)varscopyr rcriterr)r# inst_dictkr$r$r% __reduce__ OrderedDict.__reduce__cC |j|S)!od.copy() -> a shallow copy of od)r)r#r$r$r%r OrderedDict.copycC |}x|D] }|||<q W|S)OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S. If not specified, the value defaults to None. r$)clsiterablerYr#r0r$r$r%fromkeys  OrderedDict.fromkeyscC2t|tr&tj||o$ttt||Stj||S)od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive while comparison to a regular mapping is order-insensitive. ) isinstancer rw__eq__allmap_eq)r#otherr$r$r%r OrderedDict.__eq__TTNN)"r)r*r+__doc__rTrwr^rNr;rgrmr&rvr~rrMutableMappingupdaterPrrr__ne__objectrrcr_recursive_reprrrr classmethodrrr$r$r$r%r G0          r from builtins import property as _property, tuple as _tuple from operator import itemgetter as _itemgetter from collections import OrderedDict class {typename}(tuple): '{typename}({arg_list})' __slots__ = () _fields = {field_names!r} def __new__(_cls, {arg_list}): 'Create new instance of {typename}({arg_list})' return _tuple.__new__(_cls, ({arg_list})) @classmethod def _make(cls, iterable, new=tuple.__new__, len=len): 'Make a new {typename} object from a sequence or iterable' result = new(cls, iterable) if len(result) != {num_fields:d}: raise TypeError('Expected {num_fields:d} arguments, got %d' % len(result)) return result def _replace(_self, **kwds): 'Return a new {typename} object replacing specified fields with new values' result = _self._make(map(kwds.pop, {field_names!r}, _self)) if kwds: raise ValueError('Got unexpected field names: %r' % list(kwds)) return result def __repr__(self): 'Return a nicely formatted representation string' return self.__class__.__name__ + '({repr_fmt})' % self def _asdict(self): 'Return a new OrderedDict which maps field names to their values.' return OrderedDict(zip(self._fields, self)) def __getnewargs__(self): 'Return self as a plain tuple. Used by copy and pickle.' return tuple(self) {field_defs} {name}=%rW {name} = _property(_itemgetter({index:d}), doc='Alias for field number {index:d}') Fverboserenamemodulec Ct|tr|jddj}ttt|}t|}|rt}xNt|D]B\}}|j spt |sp|j dsp||kr|d|||<|j |qDWxN|g|D]@}t |tk rt d|jstd|t |rtd|qWt}xJ|D]B}|j do| rtd|||krtd ||j |qWtj|t|t|tt|jd d d dd jdd|Ddjddt|Dd}td|d} t|| | |} || _|rt| j|dkrytjd jjdd}Wnttfk rYnX|dk r || _| S)CReturns 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) , __%d*Type names and field names must be strings8Type names and field names must be valid identifiers: %r2Type names and field names cannot be a keyword: %r/Field names cannot start with an underscore: %r$Encountered duplicate field name: %r'rG, cs|]}tj|dVqdS)nameN)_repr_templateformat).0rr$r$r% namedtuple.. cs |]\}}tj||dVqdS)indexrN)_field_templater)rrrr$r$r%rtypename field_names num_fieldsarg_listrepr_fmt field_defs namedtuple_%sr)Nr)__main__)rstrreplacesplitrrset enumerate isidentifier _iskeyword startswithaddtyperI ValueError_class_templatertuplerJreprjoinrwexec_sourceprintr _getframe f_globalsgetrLr*) rr rrrseenrrclass_definition namespacerr$r$r%rej               cC*|j}x|D]}||dd||<q WdS)!Tally elements from the iterable.r rGN)r&)mappingr mapping_getelemr$r$r%_count_elements r0r0ceZdZdZfddZddZd/ddZd d Zed0d d Z fd dZ ddZ ddZ ddZ fddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.ZZS)1r Dict 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)] cN|s td|^}}t|dkr0tdt|tt|j|j||dS) 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 ;descriptor '__init__' of 'Counter' object needs an argumentrG$expected at most 1 arguments, got %dN)rIrJsuperr rTr)rQrRr#)rr$r%rT  Counter.__init__cCdS)1The count of elements not in the Counter is zero.r r$)r#r0r$r$r% __missing__Counter.__missing__NcC6|dkrt|jtdddStj||jtddS)List 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('abcdeabcdabcaba').most_common(3) [('a', 5), ('b', 4), ('c', 3)] NrGTr0reverser0)sortedr _itemgetter_heapqnlargest)r#rr$r$r% most_common Counter.most_commoncCtjtt|jS)Iterator 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_repeatr)r#r$r$r%elements+Counter.elementscC tddS)N@Counter.fromkeys() is undefined. Use Counter(iterable) instead.)NotImplementedError)rrvr$r$r%rCCounter.fromkeysc|s td|^}}t|dkr0tdt||r<|dnd}|dk rt|tr|r|j}x8|jD]\}}|||d||<qfWqtt|j|n t |||r|j|dS)Like 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 9descriptor 'update' of 'Counter' object needs an argumentrG$expected at most 1 arguments, got %dr N) rIrJrMappingr&rr9r rr0)rQrRr#rself_getr/count)rr$r%rJ    Counter.updatecO|s td|^}}t|dkr0tdt||r<|dnd}|dk r|j}t|trxH|jD]\}}||d|||<qbWn x|D]}||dd||<qW|r|j|dS)Like 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 ;descriptor 'subtract' of 'Counter' object needs an argumentrG$expected at most 1 arguments, got %dr N)rIrJr&rr`rsubtract)rQrRr#rrar/rbr$r$r%rir   Counter.subtractcC |j|S)Return a shallow copy.)r)r#r$r$r%r Counter.copycC|jt|ffS)N)rrw)r#r$r$r%rCounter.__reduce__c||krtj|dS)GLike dict.__delitem__() but does not raise KeyError for missing values.N)r9rg)r#r/)rr$r%rgCounter.__delitem__c C`|sd|jjSy&djtdj|j}d|jj|fStk rZdj|jjt|SXdS)N%s(), %r: %r%s({%s}) {0}({1!r})) rr)r r__mod__rJrIrrw)r#rr$r$r%r Counter.__repr__cCxt|tstSt}x0|jD]$\}}|||}|dkr|||<qWx,|jD] \}}||krP|dkrP|||<qPW|S)Add counts from two counters. >>> Counter('abbb') + Counter('bcc') Counter({'b': 4, 'c': 2, 'a': 1}) r )rr NotImplementedr)r#rrr/rbnewcountr$r$r%__add__    Counter.__add__cC|t|tstSt}x0|jD]$\}}|||}|dkr|||<qWx0|jD]$\}}||krP|dkrPd|||<qPW|S) Subtract count, but keep only results with positive counts. >>> Counter('abbbc') - Counter('bccd') Counter({'b': 2, 'a': 1}) r )rr rr)r#rrr/rbrr$r$r%__sub__   Counter.__sub__cCt|tstSt}x<|jD]0\}}||}||kr:|n|}|dkr|||<qWx,|jD] \}}||kr\|dkr\|||<q\W|S)Union is the maximum of value in either of the input counters. >>> Counter('abbb') | Counter('bcc') Counter({'b': 3, 'c': 2, 'a': 1}) r )rr rr)r#rrr/rb other_countrr$r$r%__or__   Counter.__or__cCVt|tstSt}x<|jD]0\}}||}||kr:|n|}|dkr|||<qW|S) Intersection is the minimum of corresponding counts. >>> Counter('abbb') & Counter('bcc') Counter({'b': 1}) r )rr rr)r#rrr/rbrrr$r$r%__and__  Counter.__and__cC0t}x$|jD]\}}|dkr|||<qW|S)EAdds an empty counter, effectively stripping negative and zero countsr )r r)r#rr/rbr$r$r%__pos__  Counter.__pos__cC4t}x(|jD]\}}|dkrd|||<qW|S){Subtracts from an empty counter. Strips positive and zero counts, and flips the sign on negative counts. r )r r)r#rr/rbr$r$r%__neg__ Counter.__neg__cC*dd|jD}x|D] }||=qW|S)?Internal method to strip elements with a negative or zero countcSg|]\}}|dks|qS)r r$)rr/rbr$r$r% *Counter._keep_positive..)r)r# nonpositiver/r$r$r%_keep_positive  Counter._keep_positivecC.x$|jD]\}}|||7<q W|jS)Inplace add from another counter, keeping only positive counts. >>> c = Counter('abbb') >>> c += Counter('bcc') >>> c Counter({'b': 4, 'c': 2, 'a': 1}) )rr)r#rr/rbr$r$r%__iadd__ Counter.__iadd__cC.x$|jD]\}}|||8<q W|jS)Inplace subtract counter, but keep only results with positive counts. >>> c = Counter('abbbc') >>> c -= Counter('bccd') >>> c Counter({'b': 2, 'a': 1}) )rr)r#rr/rbr$r$r%__isub__% Counter.__isub__cC6x,|jD] \}}||}||kr |||<q W|jS)Inplace union is the maximum of value from either counter. >>> c = Counter('abbb') >>> c |= Counter('bcc') >>> c Counter({'b': 3, 'c': 2, 'a': 1}) )rr)r#rr/rrbr$r$r%__ior__2  Counter.__ior__cC6x,|jD] \}}||}||kr |||<q W|jS)Inplace intersection is the minimum of corresponding counts. >>> c = Counter('abbb') >>> c &= Counter('bcc') >>> c Counter({'b': 1}) )rr)r#rr/rbrr$r$r%__iand__A  Counter.__iand__NN)r)r*r+rrTr>rJrSrrrrirrrgrrrrrrrrrrrr __classcell__r$r$)rr%r 0+    ("    c@eZdZdZddZddZddZd'd d Zd d Zd dZ ddZ ddZ e ddZ eddZddZeZd(ddZeddZddZdd Zd!d"Zd#d$Zd%d&ZdS))r  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. cGt|p ig|_dS)Initialize a ChainMap by setting *maps* to the given mappings. If no mappings are provided, a single empty dictionary is used. N)rmaps)r#rr$r$r%rTcChainMap.__init__cC t|dS)N)r})r#r0r$r$r%r>jChainMap.__missing__c C8x,|jD]"}y||Stk r(YqXqW|j|S)N)rr}r>)r#r0r-r$r$r% __getitem__m   ChainMap.__getitem__NcC||kr||S|S)Nr$)r#r0rr$r$r%r&u ChainMap.getcCttj|jS)N)rJrunionr)r#r$r$r%__len__xChainMap.__len__cCttj|jS)N)rrrr)r#r$r$r%rm{ChainMap.__iter__ctfdd|jDS)Nc3|]}|kVqdS)Nr$)rm)r0r$r%r(ChainMap.__contains__..)anyr)r#r0r$)r0r% __contains__~ChainMap.__contains__cC t|jS)N)rr)r#r$r$r%__bool__ChainMap.__bool__cCdj|djtt|jS)N{0.__class__.__name__}({1}), )rr rrr)r#r$r$r%rChainMap.__repr__cG|tj|f|S)?Create a ChainMap with a single dict created from the iterable.)rwr)rrrQr$r$r%rChainMap.fromkeyscC$|j|jdjf|jddS)HNew ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]r rGN)rrr)r#r$r$r%r ChainMap.copycC|dkr i}|j|f|jS)yNew ChainMap with a new map followed by all previous maps. If no map is provided, an empty dict is used. N)rr)r#rr$r$r% new_childChainMap.new_childcC|j|jddS)New ChainMap from maps[1:].rGN)rr)r#r$r$r%parentsChainMap.parentscC||jd|<dS)Nr )r)r#r0rYr$r$r%r^ChainMap.__setitem__c C8y|jd|=Wn"tk r2tdj|YnXdS)Nr (Key not found in the first mapping: {!r})rr}r)r#r0r$r$r%rgChainMap.__delitem__c C0y|jdjStk r*tdYnXdS)PRemove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.r #No keys found in the first mapping.N)rr~r})r#r$r$r%r~ChainMap.popitemc G>y|jdj|f|Stk r8tdj|YnXdS)WRemove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].r (Key not found in the first mapping: {!r}N)rrcr}r)r#r0rQr$r$r%rc ChainMap.popcC|jdjdS)'Clear maps[0], leaving maps[1:] intact.r N)rrv)r#r$r$r%rvChainMap.clearNN)r)r*r+rrTr>rr&rrmrrrrrrr__copy__rpropertyrr^rgr~rcrvr$r$r$r%r U(     c@beZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ e dddZ dS)rcO|s td|^}}t|dkr0tdt||r>|d}n0d|krj|jd}ddl}|jdtddnd}i|_|dk r|j|t|r|j|dS) N)r$hasattrrr>r})r#r0r$r$r%r    UserDict.__getitem__cC||j|<dS)N)r$)r#r0itemr$r$r%r^UserDict.__setitem__cC |j|=dS)N)r$)r#r0r$r$r%rgUserDict.__delitem__cC t|jS)N)rr$)r#r$r$r%rmUserDict.__iter__cC ||jkS)N)r$)r#r0r$r$r%rUserDict.__contains__cC t|jS)N)rr$)r#r$r$r%rUserDict.__repr__c CR|jtkrt|jjSddl}|j}zi|_|j|}Wd||_X|j||S)Nr )rrr$rr)r#rr$cr$r$r%r   UserDict.copyNcC |}x|D] }|||<q W|S)Nr$)rrrYdr0r$r$r%r  UserDict.fromkeysN)r)r*r+rTrrr^rgrmrrrrrr$r$r$r%r c@eZdZdZd>ddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$ZeZd%d&Zd'd(Zd)d*Zd@d,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zd:d;Z dUserList.indexcC|jjdS)N)r$rD)r#r$r$r%rD?UserList.reversecO|jj||dS)N)r$sort)r#rQrRr$r$r%r@ UserList.sortcC*t|tr|jj|jn |jj|dS)N)rrr$extend)r#rr$r$r%rA UserList.extendNrr)"r)r*r+rrTrrTrXrr_rcrSrrrr^rgrr~rr__rmul__rrrrcrrvrrbrrDrrr$r$r$r%r>  c@`eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&ZeZd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1ejfd2d3Zdd5d6Zd1ejfd7d8Z dd:d;Z!d1ejfdd?Z#d@dAZ$d1ejfdBdCZ%dDdEZ&dFdGZ'dHdIZ(dJdKZ)dLdMZ*dNdOZ+dPdQZ,dRdSZ-dTdUZ.dVdWZ/dXdYZ0dZd[Z1d\d]Z2d^d_Z3dd`daZ4e5j6Z6dbdcZ7ddedfZ8d1ejfdgdhZ9d1ejfdidjZ:dkdlZ;dmdnZddsdtZ?ddvdwZ@d1ejfdxdyZAddzd{ZBd|d}ZCd~dZDddZEddZFddZGd4S)rcC<t|tr||_n&t|tr.|jdd|_n t||_dS)N)rrr$r)r#seqr$r$r%rTN   UserString.__init__cC t|jS)N)rr$)r#r$r$r%__str__UUserString.__str__cC t|jS)N)rr$)r#r$r$r%rVUserString.__repr__cC t|jS)N)intr$)r#r$r$r%__int__WUserString.__int__cC t|jS)N)floatr$)r#r$r$r% __float__XUserString.__float__cC t|jS)N)complexr$)r#r$r$r% __complex__YUserString.__complex__cC t|jS)N)hashr$)r#r$r$r%__hash__ZUserString.__hash__cC|jddfS)N)r$)r#r$r$r%__getnewargs__[UserString.__getnewargs__cC t|tr|j|jkS|j|kS)N)rrr$)r#stringr$r$r%r^  UserString.__eq__cC t|tr|j|jkS|j|kS)N)rrr$)r#rr$r$r%rTb  UserString.__lt__cC t|tr|j|jkS|j|kS)N)rrr$)r#rr$r$r%rXf  UserString.__le__cC t|tr|j|jkS|j|kS)N)rrr$)r#rr$r$r%r_j  UserString.__gt__cC t|tr|j|jkS|j|kS)N)rrr$)r#rr$r$r%rcn  UserString.__ge__cCt|tr|j}||jkS)N)rrr$)r#charr$r$r%rs UserString.__contains__cC t|jS)N)rJr$)r#r$r$r%rxUserString.__len__cC|j|j|S)N)rr$)r#rr$r$r%ryUserString.__getitem__cCJt|tr|j|j|jSt|tr6|j|j|S|j|jt|S)N)rrrr$r)r#rr$r$r%rz   UserString.__add__cC.t|tr|j||jS|jt||jS)N)rrrr$)r#rr$r$r%r~ UserString.__radd__cC|j|j|S)N)rr$)r#rr$r$r%rUserString.__mul__cC|j|j|S)N)rr$)r#rQr$r$r%r}UserString.__mod__cC|j|tS)N)rrQ)r#rr$r$r%__rmod__UserString.__rmod__cC|j|jjS)N)rr$ capitalize)r#r$r$r%rUserString.capitalizecC|j|jjS)N)rr$casefold)r#r$r$r%r UserString.casefoldcG|j|jj|f|S)N)rr$center)r#widthrQr$r$r%r UserString.centerr cC t|tr|j}|jj|||S)N)rrr$rb)r#substartendr$r$r%rb UserString.countNcC>|r.|r|j|jj||S|j|jj|S|j|jjS)N)rr$encode)r#encodingerrorsr$r$r%r UserString.encodecC|jj|||S)N)r$endswith)r#suffixrrr$r$r%rUserString.endswithcC|j|jj|S)N)rr$ expandtabs)r#tabsizer$r$r%r$UserString.expandtabscC t|tr|j}|jj|||S)N)rrr$find)r#rrrr$r$r%r) UserString.findcO|jj||S)N)r$r)r#rQrRr$r$r%rUserString.formatcC |jj|S)N)r$ format_map)r#r-r$r$r%r0UserString.format_mapcC|jj|||S)N)r$r)r#rrrr$r$r%rUserString.indexcC |jjS)N)r$isalpha)r#r$r$r%r7UserString.isalphacC |jjS)N)r$isalnum)r#r$r$r%r;UserString.isalnumcC |jjS)N)r$ isdecimal)r#r$r$r%r?UserString.isdecimalcC |jjS)N)r$isdigit)r#r$r$r%rCUserString.isdigitcC |jjS)N)r$r)r#r$r$r%rUserString.isidentifiercC |jjS)N)r$islower)r#r$r$r%rJUserString.islowercC |jjS)N)r$ isnumeric)r#r$r$r%rNUserString.isnumericcC |jjS)N)r$ isprintable)r#r$r$r%rRUserString.isprintablecC |jjS)N)r$isspace)r#r$r$r%rVUserString.isspacecC |jjS)N)r$istitle)r#r$r$r%rZUserString.istitlecC |jjS)N)r$isupper)r#r$r$r%r^UserString.isuppercC |jj|S)N)r$r )r#rr$r$r%r UserString.joincG|j|jj|f|S)N)rr$ljust)r#rrQr$r$r%reUserString.ljustcC|j|jjS)N)rr$lower)r#r$r$r%riUserString.lowercC|j|jj|S)N)rr$lstrip)r#charsr$r$r%rmUserString.lstripcC |jj|S)N)r$ partition)r#sepr$r$r%rrUserString.partitionrGcC6t|tr|j}t|tr |j}|j|jj|||S)N)rrr$rr)r#oldnewmaxsplitr$r$r%r   UserString.replacecC t|tr|j}|jj|||S)N)rrr$rfind)r#rrrr$r$r%r} UserString.rfindcC|jj|||S)N)r$rindex)r#rrrr$r$r%rUserString.rindexcG|j|jj|f|S)N)rr$rjust)r#rrQr$r$r%rUserString.rjustcC |jj|S)N)r$ rpartition)r#rsr$r$r%rUserString.rpartitioncC|j|jj|S)N)rr$rstrip)r#rnr$r$r%rUserString.rstripcC|jj||S)N)r$r)r#rsryr$r$r%rUserString.splitcC|jj||S)N)r$rsplit)r#rsryr$r$r%rUserString.rsplitFcC |jj|S)N)r$ splitlines)r#keependsr$r$r%rUserString.splitlinescC|jj|||S)N)r$r)r#prefixrrr$r$r%rUserString.startswithcC|j|jj|S)N)rr$strip)r#rnr$r$r%rUserString.stripcC|j|jjS)N)rr$swapcase)r#r$r$r%rUserString.swapcasecC|j|jjS)N)rr$title)r#r$r$r%rUserString.titlecG|j|jj|S)N)rr$ translate)r#rQr$r$r%rUserString.translatecC|j|jjS)N)rr$upper)r#r$r$r%rUserString.uppercC|j|jj|S)N)rr$zfill)r#rr$r$r%rUserString.zfillNNr"NrrNrNrrNrFN)Hr)r*r+rTrrrrrrrrrTrXr_rcrrrrr~rrr}rrr r rmaxsizerbrrr$r)rr0rr7r;r?rCrrJrNrRrVrZr^r rerirmr maketransrrrr}rrrrrrrrrrrrrrr$r$r$r%rM         )8r__all___collections_abcoperatorrrGrrkeywordrrsysrheapqrH_weakrefrrN itertoolsrrRrrOrrQreprlibrr _collectionsr ImportErrorMutableSequenceregisterrKeysViewr ItemsViewr. ValuesViewr5rr;rwr rrrrr0r rr rrSequencerr$r$r$r%`       `3blCIPK!ZBcollections/abc.pyc3 Β_D@ddlTddlmZdS)*__all__N)_collections_abcrrrzcollections/abc.pyPK!7X copyreg.pyc3 Β__ @dZdddddgZiZdddZddZyeWnek rDYnXd d Zeeeed d ZdZ ddZ ddZ ddZ ddZ iZiZiZddZddZddZdS)Helper to provide extensibility for pickle. This is only useful to add pickle support for extension types defined in C, not for instances of user-defined classes. pickle constructor add_extensionremove_extensionclear_extension_cacheNcC,t|std|t|<|dk r(t|dS)N$reduction functions must be callable)callable TypeErrordispatch_tabler)ob_typepickle_functionconstructor_obr copyreg.pyr cCt|stddS)Nconstructors must be callable)r r )objectrrrrcCt|j|jffS)N)complexrealimag)crrrpickle_complex"rcC<|tkrtj|}n$|j||}|jtjkr8|j|||S)N)r__new____init__)clsbasestateobjrrr_reconstructor)     r% cC|dks tx,|jjD]}t|dr|jt@ rPqWt}|tkrHd}n ||jkr`td|j||}|j||f}y |j }WnLt k rt |ddrtdy |j }Wnt k rd}YnXYnX|}|rt ||fSt |fSdS)N __flags__can't pickle %s objects __slots__Na class that defines __slots__ without defining __getstate__ cannot be pickled)AssertionError __class____mro__hasattrr+ _HEAPTYPErr __name__ __getstate__AttributeErrorgetattr__dict__r%)selfprotor"r#argsgetstatedictrrr _reduce_ex60       r>cG|j|f|S)N)r)r!r;rrr __newobj__WrAcC|j|f||S)Used by pickle protocol 4, instead of __newobj__ to allow classes with keyword-only arguments to be pickled correctly. )r)r!r;kwargsrrr __newobj_ex__ZrFc C|jjd}|dk r|Sg}t|ds(nx|jD]}d|jkr0|jd}t|trX|f}xh|D]`}|d krnq^q^|jdr|jd r|jj d}|r|j d||fq|j |q^|j |q^Wq0Wy ||_ Wn YnX|S) Return a list of slot names for a given class. This needs to find slots defined by the class and its bases, so we can't simply return the __slots__ attribute. We must walk down the Method Resolution Order and concatenate the __slots__ of each class found there. (This assumes classes don't modify their __slots__ attribute to misrepresent their slots after the class is defined.) __slotnames__Nr-r8 __weakref______%s%sr8rK) r8getr2r1 isinstancestr startswithendswithr4lstripappendrJ)r!namesrslotsnamestrippedrrr _slotnames`2          r[cCt|}d|kodkns(td||f}tj||krPtj||krPdS|tkrltd|t|f|tkrtd|t|f|t|<|t|<dS)Register an extension code.r'code out of rangeN)key %s is already registered with code %s$code %s is already in use for key %s)int ValueError_extension_registryrP_inverted_registry)modulerYcodekeyrrrrcCR||f}tj||ks$tj||kr4td||ft|=t|=|tkrNt|=dS)0Unregister an extension code. For testing only.%key %s is not registered with code %sN)rerPrfrd_extension_cache)rgrYrhrirrrr cC tjdS)N)rnclearrrrrrN)__doc____all__r rrr NameErrorrr%r3r>rArFr[rerfrnrrrrrrr.    !< PK!K5GGencodings/__init__.pyc3 Β_ @dZddlZddlZddlmZiZdZdgZejZGddde e Z d d Z d d Z eje ejd kr|ddZejedS)3 Standard "encodings" Package Standard Python encoding modules are stored in this package directory. Codec modules must have names corresponding to normalized encoding names as defined in the normalize_encoding() function below, e.g. 'utf-8' must be implemented by the module 'utf_8.py'. Each codec module must export the following interface: * getregentry() -> codecs.CodecInfo object The getregentry() API must return a CodecInfo object with encoder, decoder, incrementalencoder, incrementaldecoder, streamwriter and streamreader atttributes which adhere to the Python Codec Interface Standard. In addition, a module may optionally also define the following APIs which are then used by the package's codec search function: * getaliases() -> sequence of encoding name strings to use as aliases Alias names returned by getaliases() must be normalized encoding names as defined by normalize_encoding(). Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Naliases --unknown--*c@ eZdZdS)CodecRegistryErrorN)__name__ __module__ __qualname__rrencodings/__init__.pyr (r cCjt|trt|d}g}d}xB|D]:}|js6|dkrX|rH|rH|jd|j|d}q"d}q"Wdj|S) Normalize an encoding name. Normalization works as follows: all non-alphanumeric characters except the dot used for Python package names are collapsed and replaced with a single underscore, e.g. ' -;#' becomes '_'. Leading and trailing underscores are removed. Note that encoding names should be ASCII only; if they do use non-ASCII characters, these must be Latin-1 compatible. asciiF._T) isinstancebytesstrisalnumappendjoin)encodingcharspunctcrrrnormalize_encoding+     r!c Ctj|t}|tk r|St|}tj|p:tj|jdd}|dk rN||g}n|g}xN|D]B}| sZd|krnqZytd|tdd}Wntk rYqZXPqZWd}y |j }Wnt k rd}YnX|dkrdt|<dS|}t |t j s:dt|kodkns$td|j|jft|d st|d  s|d dk rbt|d  s|d dk rt|d  st|dkr|ddk rt|d st|d kr|d dk rt|d  rtd |j|jft|dks|ddkr0|ddt||jjdd d f7}t j |}|t|<y |j}Wnt k rdYn$Xx |D]} | tkrl|t| <qlW|S)Nrr encodings.rfromlistlevel#module "%s" (%s) failed to registerr'incompatible codecs in module "%s" (%s)N)_cacheget_unknownr!_aliasesreplace __import__ _import_tail ImportError getregentryAttributeErrorrcodecs CodecInfolenr r __file__callablesplit getaliases) rentry norm_encodingaliased_encodingmodnamesmodnamemodr9 codecaliasesaliasrrrsearch_functionGf          ,,(    rJwin32c CFy,ddl}||jdkr*ddl}|jjSWntk r@YnXdS)NrF) _bootlocalegetpreferredencodingencodings.mbcsmbcsr9r8)rrN encodingsrrr _alias_mbcsrS)__doc__r;sysrrr1r3r7r4 LookupError SystemErrorr r!rJregisterplatformrSrrrr U   PK!Z4 ooencodings/aliases.pyc3 Β_<D@dZddddddddddddddddddddddddddddddddddd d d d d d d d d d dddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d!d!d!d"d"d"d#d#d#d$d$d$d$d%d%d%d%d&d&d&d'd'd(d(d(d)d*d*d*d+d+d+d+d+d+d+d,d-d-d-d-d-d-d-d-d.d.d.d/d0d0d0d1d1d1d2d2d2d3d3d4d4d5d5d6d6d7d7d8d8d8d9d9d9d9d9d9d:d:d:d;d;d;dd>d>d>d>d?d?d?d?d?d?d@d@d@d@d@d@dAdAdAdAdAdAdBdBdBdBdBdCdCdCdCdCdCdCdDdDdDdDdDdDdDdDdEdEdEdEdEdFdFdFdFdFdFdGdGdHdIdIdIdJdJdJdJdJdJdJdJdJdJdJdJdKdLdMdNdNdOdOdPdQdQdRdRdRdRdSdSdSdTdUdUdUdUdVdVdVdWdWdWdXdYdYdYdYdYdZdZd[d[d\d\d]d]d^d_d`d`d`dadadadadadbdcdcdUd+d-dddCZdeS)f< Encoding Aliases Support This module is used by the encodings package search function to map encodings names to module names. Note that the search function normalizes the encoding names before doing the lookup, so the mapping will have to map normalized encoding names to module names. Contents: The following aliases dictionary contains mappings of all IANA character set names for which the Python core library provides codecs. In addition to these, a few Python specific codec aliases have also been added. ascii base64_codecbig5 big5hkscs bz2_codeccp037cp1026cp1125cp1140cp1250cp1251cp1252cp1253cp1254cp1255cp1256cp1257cp1258cp273cp424cp437cp500cp775cp850cp852cp855cp857cp858cp860cp861cp862cp863cp864cp865cp866cp869cp932cp949cp950 euc_jis_2004 euc_jisx0213euc_jpeuc_krgb18030gb2312gbk hex_codec hp_roman8hz iso2022_jp iso2022_jp_1 iso2022_jp_2iso2022_jp_2004 iso2022_jp_3iso2022_jp_ext iso2022_kr iso8859_10 iso8859_11 iso8859_13 iso8859_14 iso8859_15 iso8859_16 iso8859_2 iso8859_3 iso8859_4 iso8859_5 iso8859_6 iso8859_7 iso8859_8 iso8859_9johabkoi8_rkz1048latin_1 mac_cyrillic mac_greek mac_iceland mac_latin2 mac_roman mac_turkishmbcsptcp154 quopri_codecrot_13 shift_jisshift_jis_2004shift_jisx0213tactistis_620utf_16 utf_16_be utf_16_leutf_32 utf_32_be utf_32_leutf_7utf_8uu_codec zlib_codecC646zansi_x3.4_1968ansi_x3_4_1968zansi_x3.4_1986cp367csasciiibm367 iso646_usziso_646.irv_1991iso_ir_6usus_asciibase64base_64big5_twcsbig5 big5_hkscshkscsbz2037csibm037 ebcdic_cp_ca ebcdic_cp_nl ebcdic_cp_us ebcdic_cp_wtibm037ibm0391026 csibm1026ibm10261125ibm1125cp866uruscii1140ibm11401250 windows_12501251 windows_12511252 windows_12521253 windows_12531254 windows_12541255 windows_12551256 windows_12561257 windows_12571258 windows_1258273ibm273csibm273424csibm424 ebcdic_cp_heibm424437cspc8codepage437ibm437500csibm500 ebcdic_cp_be ebcdic_cp_chibm500775 cspc775balticibm775850cspc850multilingualibm850852cspcp852ibm852855csibm855ibm855857csibm857ibm857858csibm858ibm858860csibm860ibm860861cp_iscsibm861ibm861862cspc862latinhebrewibm862863csibm863ibm863864csibm864ibm864865csibm865ibm865866csibm866ibm866869cp_grcsibm869ibm869932ms932mskanjims_kanji949ms949uhc950ms950jisx0213 eucjis2004 euc_jis2004 eucjisx0213eucjpujisu_jiseuckrkoreanksc5601 ks_c_5601ks_c_5601_1987ksx1001 ks_x_1001 gb18030_2000chinesecsiso58gb231280euc_cneuccn eucgb2312_cn gb2312_1980 gb2312_80 iso_ir_58936cp936ms936hexroman8r8 csHPRoman8hzgbhz_gb hz_gb_2312 csiso2022jp iso2022jp iso_2022_jp iso2022jp_1 iso_2022_jp_1 iso2022jp_2 iso_2022_jp_2iso_2022_jp_2004iso2022jp_2004 iso2022jp_3 iso_2022_jp_3 iso2022jp_extiso_2022_jp_ext csiso2022kr iso2022kr iso_2022_kr csisolatin6 iso_8859_10iso_8859_10_1992 iso_ir_157l6latin6thai iso_8859_11iso_8859_11_2001 iso_8859_13l7latin7 iso_8859_14iso_8859_14_1998 iso_celtic iso_ir_199l8latin8 iso_8859_15l9latin9 iso_8859_16iso_8859_16_2001 iso_ir_226l10latin10 csisolatin2 iso_8859_2iso_8859_2_1987 iso_ir_101l2latin2 csisolatin3 iso_8859_3iso_8859_3_1988 iso_ir_109l3latin3 csisolatin4 iso_8859_4iso_8859_4_1988 iso_ir_110l4latin4csisolatincyrilliccyrillic iso_8859_5iso_8859_5_1988 iso_ir_144arabicasmo_708csisolatinarabicecma_114 iso_8859_6iso_8859_6_1987 iso_ir_127csisolatingreekecma_118elot_928greekgreek8 iso_8859_7iso_8859_7_1987 iso_ir_126csisolatinhebrewhebrew iso_8859_8iso_8859_8_1988 iso_ir_138 csisolatin5 iso_8859_9iso_8859_9_1989 iso_ir_148l5latin5cp1361ms1361cskoi8rkz_1048rk1048 strk1048_20028859cp819 csisolatin1ibm819iso8859 iso8859_1 iso_8859_1iso_8859_1_1987 iso_ir_100l1latinlatin1 maccyrillicmacgreek macicelandmaccentraleurope maclatin2 macintoshmacroman macturkishansidbcs csptcp154pt154cp154cyrillic_asianquopriquoted_printablequotedprintablerot13 csshiftjisshiftjissjiss_jis shiftjis2004 sjis_2004 s_jis_2004 shiftjisx0213 sjisx0213 s_jisx0213tis260tis620 tis_620_0tis_620_2529_0tis_620_2529_1 iso_ir_166u16utf16unicodebigunmarkedutf_16beunicodelittleunmarkedutf_16leu32utf32utf_32beutf_32leu7utf7unicode_1_1_utf_7u8utfutf8 utf8_ucs2 utf8_ucs4uuzipzlibx_mac_japanese x_mac_koreanx_mac_simp_chinesex_mac_trad_chineseN)__doc__aliasesrrzencodings/aliases.py PK!ȽZ33encodings/ascii.pyc3 Β_@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZGd ddeeZddZdS) Python 'ascii' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecs ascii_encodeencode ascii_decodedecoderrencodings/ascii.pyr rc@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)r r errors)selfinputfinalrrrr IncrementalEncoder.encodeNF)rrrr rrrrrrc@eZdZdddZdS)IncrementalDecoderFcCtj||jdS)Nr)r r r)rrrrrrr IncrementalDecoder.decodeNF)rrrr rrrrrrc@ eZdZdS) StreamWriterN)rrrrrrrr$r$c@ eZdZdS) StreamReaderN)rrrrrrrr'r'c@eZdZejZejZdS)StreamConverterN)rrrr r r r r rrrrr*"r*c CtjdtjtjttttdS)Nasciinamer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrr$r'rrrr getregentry)r5) __doc__r rrrr$r'r*r5rrrrPK!N N encodings/base64_codec.pyc3 Β_@dZddlZddlZdddZdddZGdd d ejZGd d d ejZGd d d ejZGdddeejZGdddeej Z ddZ dS)Python 'base64_codec' Codec - base64 content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcC|dks ttj|t|fS)Nr)AssertionErrorbase64 encodebyteslen)inputerrorsr encodings/base64_codec.py base64_encode  rcC|dks ttj|t|fS)Nr)rr decodebytesr )r r r r r base64_decode rc@ eZdZdddZdddZdS) CodecrcC t||S)N)r)selfr r r r r encode Codec.encodecC t||S)N)r)rr r r r r decode Codec.decodeNrr)__name__ __module__ __qualname__rrr r r r r rc@eZdZdddZdS)IncrementalEncoderFcC|jdksttj|S)Nr)r rrr)rr finalr r r rIncrementalEncoder.encodeNF)r!r"r#rr r r r r&r&c@eZdZdddZdS)IncrementalDecoderFcC|jdksttj|S)Nr)r rrr)rr r(r r r r!IncrementalDecoder.decodeNF)r!r"r#rr r r r r. r.c@eZdZeZdS) StreamWriterN)r!r"r#bytescharbuffertyper r r r r5%r5c@eZdZeZdS) StreamReaderN)r!r"r#r6r7r r r r r:(r:c CtjdttttttddS)NrFnamerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInforrr&r.r5r:r r r r getregentry-rFrr) __doc__rDrrrrr&r.r5r:rFr r r r   PK!6{{encodings/big5.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Nbig5c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/big5.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_twr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!;oencodings/big5hkscs.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)N big5hkscsc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/big5hkscs.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_hkr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!?ɥ, encodings/bz2_codec.pyc3 Β_@dZddlZddlZdddZdddZGdd d ejZGd d d ejZGd d d ejZGdddeejZGdddeej Z ddZ dS)Python 'bz2_codec' Codec - bz2 compression encoding. This codec de/encodes from bytes to bytes and is therefore usable with bytes.transform() and bytes.untransform(). Adapted by Raymond Hettinger from zlib_codec.py which was written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcC|dks ttj|t|fS)Nr)AssertionErrorbz2compresslen)inputerrorsr encodings/bz2_codec.py bz2_encode rcC|dks ttj|t|fS)Nr)rr decompressr )r r r r r bz2_decode rc@ eZdZdddZdddZdS) CodecrcC t||S)N)r)selfr r r r r encode Codec.encodecC t||S)N)r)rr r r r r decode Codec.decodeNrr)__name__ __module__ __qualname__rrr r r r r rc@(eZdZd ddZd ddZddZd S) IncrementalEncoderrcC |dks t||_tj|_dS)Nr)rr r BZ2Compressor compressobj)rr r r r __init__ IncrementalEncoder.__init__FcC.|r|jj|}||jjS|jj|SdS)N)r)rflush)rr finalcr r r r# IncrementalEncoder.encodecCtj|_dS)N)rr(r))rr r r reset*IncrementalEncoder.resetNrF)r!r"r#r*rr4r r r r r&  r&c@(eZdZd ddZd ddZddZd S) IncrementalDecoderrcC |dks t||_tj|_dS)Nr)rr rBZ2Decompressor decompressobj)rr r r r r*. IncrementalDecoder.__init__Fc C&y |jj|Stk r dSXdS)N)r>rEOFError)rr r/r r r r3 IncrementalDecoder.decodecCtj|_dS)N)rr=r>)rr r r r49IncrementalDecoder.resetNrF)r!r"r#r*rr4r r r r r;-  r;c@eZdZeZdS) StreamWriterN)r!r"r#bytescharbuffertyper r r r rM<rMc@eZdZeZdS) StreamReaderN)r!r"r#rNrOr r r r rR?rRc CtjdttttttddS)NrFnamerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInforrr&r;rMrRr r r r getregentryDr^rr) __doc__r\rrrrr&r;rMrRr^r r r r   PK!E&P P encodings/charmap.pyc3 Β_$@vdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdS) Generic Python Character Mapping Codec. Use this codec directly rather than through the automatic conversion mechanisms supplied by unicode() and .encode(). Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecscharmap_encodeencodecharmap_decodedecoderrencodings/charmap.pyrrc@ eZdZdddZd ddZdS) IncrementalEncoderstrictNcCtjj||||_dS)N)r r__init__mapping)selferrorsrrrrrIncrementalEncoder.__init__FcCtj||j|jdS)Nr)r r rr)rinputfinalrrrr IncrementalEncoder.encoderNF)rrrrr rrrrr rc@ eZdZdddZd ddZdS) IncrementalDecoderrNcCtjj||||_dS)N)r r$rr)rrrrrrr!IncrementalDecoder.__init__FcCtj||j|jdS)Nr)r r rr)rrrrrrr %IncrementalDecoder.decoderNF)rrrrr rrrrr$  r$c@ eZdZdddZdddZdS) StreamWriterrNcCtjj|||||_dS)N)r r/rr)rstreamrrrrrr*StreamWriter.__init__cCtj|||jS)N)rr r)rrrrrrr .StreamWriter.encoderNr)rrrrr rrrrr/( r/c@ eZdZdddZdddZdS) StreamReaderrNcCtjj|||||_dS)N)r r;rr)rr1rrrrrr3StreamReader.__init__cCtj|||jS)N)rr r)rrrrrrr 7StreamReader.decoderNr)rrrrr rrrrr;1 r;c CtjdtjtjttttdS)Ncharmapnamer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rr$r/r;rrrr getregentry<rN)__doc__r rrr$r/r;rNrrrr   PK!j/T T encodings/cp037.pyc3 Β_A3@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)s Python Character Mapping Codec cp037 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp037.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp037namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=œ †—Ž …‡’€‚ƒ„ ˆ‰Š‹Œ‘“”•–˜™š›ž  âäàáãåçñ¢.<(+|&éêëèíîïìß!$*);¬-/ÂÄÀÁÃÅÇѦ,%_>?øÉÊËÈÍÎÏÌ`:#@'="Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ¤µ~stuvwxyz¡¿ÐÝÞ®^£¥·©§¶¼½¾[]¯¨´×{ABCDEFGHI­ôöòóõ}JKLMNOPQR¹ûüùúÿ\÷STUVWXYZ²ÔÖÒÓÕ0123456789³ÛÜÙڟ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!al encodings/cp1006.pyc3 Β_5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)l Python Character Mapping Codec cp1006 generated from 'MAPPINGS/VENDORS/MISC/CP1006.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1006.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1006namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ۰۱۲۳۴۵۶۷۸۹،؛­؟ﺁﺍﺎﺎﺏﺑﭖﭘﺓﺕﺗﭦﭨﺙﺛﺝﺟﭺﭼﺡﺣﺥﺧﺩﮄﺫﺭﮌﺯﮊﺱﺳﺵﺷﺹﺻﺽﺿﻁﻅﻉﻊﻋﻌﻍﻎﻏﻐﻑﻓﻕﻗﻙﻛﮒﮔﻝﻟﻠﻡﻣﮞﻥﻧﺅﻭﮦﮨﮩﮪﺀﺉﺊﺋﻱﻲﻳﮰﮮﹼﹽ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!&tX X encodings/cp1026.pyc3 Β_93@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)u Python Character Mapping Codec cp1026 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1026.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1026namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=œ †—Ž …‡’€‚ƒ„ ˆ‰Š‹Œ‘“”•–˜™š›ž  âäàáãå{ñÇ.<(+!&éêëèíîïìßĞİ*);^-/ÂÄÀÁÃÅ[Ñş,%_>?øÉÊËÈÍÎÏÌı:ÖŞ'=ÜØabcdefghi«»}`¦±°jklmnopqrªºæ¸Æ¤µöstuvwxyz¡¿]$@®¢£¥·©§¶¼½¾¬|¯¨´×çABCDEFGHI­ô~òóõğJKLMNOPQR¹û\ùúÿü÷STUVWXYZ²Ô#ÒÓÕ0123456789³Û"Ùڟ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK![encodings/cp1125.pyc3 Β_%@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7dd8d9d:dd;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdnddodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddZ dS(, Python Character Mapping Codec for CP1125 Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp1125.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1125namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r= !"#$%&'()*+,-./0123456789:;<=>?%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%@ABCDEFGHIJKLMNOQTVW"!%rrr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r=r;r8r.r2r4r6rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r/r3r5r7r0r1r:r9rrrrrrrrrrrr rrrrrrrrrrrrrrr rrrrrr r rrrrr rrrrrrrrr<rr?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiiiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;i<i=i>i?i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiQiTiViWiii!i"i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iR%iS%iT%iU%iV%iW%iX%iY%iZ%i[%i\%i]%i^%i_%i`%ia%ib%ic%id%ie%if%ig%ih%ii%ij%ik%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!/`#J J encodings/cp1140.pyc3 Β_13@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)f Python Character Mapping Codec cp1140 generated from 'python-mappings/CP1140.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1140.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1140namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=œ †—Ž …‡’€‚ƒ„ ˆ‰Š‹Œ‘“”•–˜™š›ž  âäàáãåçñ¢.<(+|&éêëèíîïìß!$*);¬-/ÂÄÀÁÃÅÇѦ,%_>?øÉÊËÈÍÎÏÌ`:#@'="Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ€µ~stuvwxyz¡¿ÐÝÞ®^£¥·©§¶¼½¾[]¯¨´×{ABCDEFGHI­ôöòóõ}JKLMNOPQR¹ûüùúÿ\÷STUVWXYZ²ÔÖÒÓÕ0123456789³ÛÜÙڟ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!"o o encodings/cp1250.pyc3 Β_v5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)v Python Character Mapping Codec cp1250 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1250.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1250namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€￾‚￾„…†‡￾‰Š‹ŚŤŽŹ￾‘’“”•–—￾™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!5l l encodings/cp1251.pyc3 Β_14@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)v Python Character Mapping Codec cp1251 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1251.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1251namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—￾™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!Vo o encodings/cp1252.pyc3 Β_4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)v Python Character Mapping Codec cp1252 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1252.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1252namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€￾‚ƒ„…†‡ˆ‰Š‹Œ￾Ž￾￾‘’“”•–—˜™š›œ￾žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!"| | encodings/cp1253.pyc3 Β_&3@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)v Python Character Mapping Codec cp1253 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1253.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1253namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€￾‚ƒ„…†‡￾‰￾‹￾￾￾￾￾‘’“”•–—￾™￾›￾￾￾￾ ΅Ά£¤¥¦§¨©￾«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ￾ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ￾) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!|$q q encodings/cp1254.pyc3 Β_4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)v Python Character Mapping Codec cp1254 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1254.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1254namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€￾‚ƒ„…†‡ˆ‰Š‹Œ￾￾￾￾‘’“”•–—˜™š›œ￾￾Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!tK encodings/cp1255.pyc3 Β_0@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)v Python Character Mapping Codec cp1255 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1255.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1255namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€￾‚ƒ„…†‡ˆ‰￾‹￾￾￾￾￾‘’“”•–—˜™￾›￾￾￾￾ ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ￾ֻּֽ־ֿ׀ׁׂ׃װױײ׳״￾￾￾￾￾￾￾אבגדהוזחטיךכלםמןנסעףפץצקרשת￾￾‎‏￾) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!wan n encodings/cp1256.pyc3 Β_2@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)v Python Character Mapping Codec cp1256 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1256.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1256namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!iv v encodings/cp1257.pyc3 Β_>4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)v Python Character Mapping Codec cp1257 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1257.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1257namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€￾‚￾„…†‡￾‰￾‹￾¨ˇ¸￾‘’“”•–—￾™￾›￾¯˛￾ ￾¢£¤￾¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!H_t t encodings/cp1258.pyc3 Β_44@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)v Python Character Mapping Codec cp1258 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp1258.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp1258namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€￾‚ƒ„…†‡ˆ‰￾‹Œ￾￾￾￾‘’“”•–—˜™￾›œ￾￾Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!F F encodings/cp273.pyc3 Β_47@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)d Python Character Mapping Codec cp273 generated from 'python-mappings/CP273.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp273.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp273namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=œ †—Ž …‡’€‚ƒ„ ˆ‰Š‹Œ‘“”•–˜™š›ž  â{àáãåçñÄ.<(+!&éêëèíîïì~Ü$*);^-/Â[ÀÁÃÅÇÑö,%_>?øÉÊËÈÍÎÏÌ`:#§'="Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ¤µßstuvwxyz¡¿ÐÝÞ®¢£¥·©@¶¼½¾¬|‾¨´×äABCDEFGHI­ô¦òóõüJKLMNOPQR¹û}ùúÿÖ÷STUVWXYZ²Ô\ÒÓÕ0123456789³Û]Ùڟ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!2r r encodings/cp424.pyc3 Β_/@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec cp424 generated from 'MAPPINGS/VENDORS/MISC/CP424.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp424.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp424namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=œ †—Ž …‡’€‚ƒ„ ˆ‰Š‹Œ‘“”•–˜™š›ž אבגדהוזחט¢.<(+|&יךכלםמןנס!$*);¬-/עףפץצקרש¦,%_>?￾ת￾￾ ￾￾￾‗`:#@'="￾abcdefghi«»￾￾￾±°jklmnopqr￾￾￾¸￾¤µ~stuvwxyz￾￾￾￾￾®^£¥·©§¶¼½¾[]¯¨´×{ABCDEFGHI­￾￾￾￾￾}JKLMNOPQR¹￾￾￾￾￾\÷STUVWXYZ²￾￾￾￾￾0123456789³￾￾￾￾Ÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!>>czzencodings/cp437.pyc3 Β_@VdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d dddd(ddddddd6dd4dd!d3ddd:d>dddddd d-d!d"d0d#dd$d%d&d'd(d)d*d+d,d-d=d.d/d0d1d+d2d3d$d4d,d5d6d7d8ddddddddd9ddd1dd:d'd&dddd;d2d%dd?d8d@dAdBdCdDdEddFd7dGd)d dHdd?dIdJdKdLd;d?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrr r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rr rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrmr[r\r]rfrnrjrrrrrrgrorlrkrhrNrOrRr@rPrerYrZrrEr`rCrDrFrQrGrJrBrHrIrMrarLrKrdrUrbrSrTrrWrcrVrArXiiiiiiiiiiiiii i i"i"i"i)"iH"ia"id"ie"i#i #i!#i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iR%iS%iT%iU%iV%iW%iX%iY%iZ%i[%i\%i]%i^%i_%i`%ia%ib%ic%id%ie%if%ig%ih%ii%ij%ik%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!eT T encodings/cp500.pyc3 Β_A3@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)s Python Character Mapping Codec cp500 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp500.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp500namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=œ †—Ž …‡’€‚ƒ„ ˆ‰Š‹Œ‘“”•–˜™š›ž  âäàáãåçñ[.<(+!&éêëèíîïìß]$*);^-/ÂÄÀÁÃÅÇѦ,%_>?øÉÊËÈÍÎÏÌ`:#@'="Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ¤µ~stuvwxyz¡¿ÐÝÞ®¢£¥·©§¶¼½¾¬|¯¨´×{ABCDEFGHI­ôöòóõ}JKLMNOPQR¹ûüùúÿ\÷STUVWXYZ²ÔÖÒÓÕ0123456789³ÛÜÙڟ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK![G3Hjjencodings/cp65001.pyc3 Β_R@dZddlZddlZeeds&edejejdZejejdZ dddZ Gd d d ej Z Gd d d ej Z Gd ddejZGdddejZddZdS)+ Code page 65001: Windows UTF-8 (CP_UTF8). Ncode_page_encode-cp65001 encoding is only available on WindowsstrictcCtjd||dS)NT)codecscode_page_decode)inputerrorsrencodings/cp65001.pydecoderc@eZdZdddZdS)IncrementalEncoderFcCt||jdS)Nr)encoder )selfr finalrrrrIncrementalEncoder.encodeNF)__name__ __module__ __qualname__rrrrrrrc@eZdZeZdS)IncrementalDecoderN)rrr_decode_buffer_decoderrrrr r c@eZdZeZdS) StreamWriterN)rrrrrrrrr%r%c@eZdZeZdS) StreamReaderN)rrrr!rrrrrr(r(c CtjdttttttdS)Ncp65001namerrincrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforrrr r(r%rrrr getregentry"r3r)__doc__r functoolshasattr LookupErrorpartialrrr r!rrBufferedIncrementalDecoderr r%r(r3rrrr  PK! encodings/cp720.pyc3 Β_v5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)Python Character Mapping Codec cp720 generated on Windows: Vista 6.0.6002 SP2 Multiprocessor Free with the command: python Tools/unicode/genwincodec.py 720 Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp720.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp720namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry#r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€éâ„à†çêëèïّْô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡ًٌٍَُِ≈°∙·√ⁿ²■ ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!W!Dencodings/cp737.pyc3 Β_y@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCddDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[dd\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdnddodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddZ dS(f Python Character Mapping Codec cp737 generated from 'VENDORS/MICSFT/PC/CP737.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp737.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp737namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%e"d"H""" %rrrrrr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r:r3r-r8r5r2r&r'r(r)r*r+r,rrrrrrrrrrrrrrrrrrrrrrrrr0r1rrrr!rrrrrrrrrrrrrrrrrrrrrrrrr r$r"r#r%r7r4r6r/r.rrrrrrrrrrrr rrrrrrrrrrrrrrrrrrr rrr r rrrr rrrrrr9rr<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii i"i"iH"id"ie"i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iR%iS%iT%iU%iV%iW%iX%iY%iZ%i[%i\%i]%i^%i_%i`%ia%ib%ic%id%ie%if%ig%ih%ii%ij%ik%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!Aencodings/cp775.pyc3 Β_@fdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/dd0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddZ dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddsdd8ddd7d+dddd!ddddd9d=d1dddd d!dd"d#d$d%d&d'd(d)d*d&dd+d$d,d-dd.dud/d0d1dd2d3d4d5dodd6d7d8d9d:d:d;ddd?d@dAdBdCdDdEdFdGdHdIddtdJd.d"d)dKdLd,d/dMd-dNdOd6ddPdddQdRdSdTdUdVdWdXddYdZd d>d[d;d\dd]d^d_dpd*d`dadbddddcddZ dS(ef Python Character Mapping Codec cp775 generated from 'VENDORS/MICSFT/PC/CP775.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp775.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp775namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=#BVW+yM"Z[*{|z A%%%%$% c%Q%W%]%.`%%4%,%%%<%rjZ%T%i%f%`%P%l%} /ask~% %%%%%%LCD67;<FE   "%rrVr\r_rfrrgrmrirrhrrrrrrrrrnrkrjrrNrOrRrPrrrYr^r]rZrrDrFrQrBrarrTrr[rA  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrr r rr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrVr\r_rfrrgrmrirrhrrrrrrrrrnrkrjrrNrOrRrPrrrYr^r]rZrrDrFrQrBrarrTrr[rAr?iiiiii i iiiiiii"i#i*i+i.i/i6i7i;i<iAiBiCiDiEiFiLiMiViWiZi[i`iaijikirisiyizi{i|i}i~i i i i i"i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iT%iW%iZ%i]%i`%ic%if%ii%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!E''encodings/cp850.pyc3 Β_9@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d dddd(dd;ddhdd}dtd'ddmd9d6d`dHdd+d4d|ddd!d#d3dd&dd~d:d>d2dddvdddddddrddsdpdxd)d.d-d5dNdVddddddddddd1dd0dddd"dddd d!d"d#d$d%d=d&d'dad_d(dMd)dd*d$d+d,d,d-d.ddd/dud0d%dddyd8dGd{dWddFdEddfd7d d?ddd?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rrmr}r\rr~rrrrxrfrnrjrrirrrrrrrrrrrrgrorlrkrrhrwrurvrrNrOrRr@rrPrrrrrrrrerrrrrYr^r]rrrrZrrrrEr`rCrrDrFrQrGrJrBrHrIrMrarLrKrrdrUrbrSrrTrr[rWrcrVrArrrXi1ii i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iT%iW%iZ%i]%i`%ic%if%ii%il%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!Fencodings/cp852.pyc3 Β_@ldZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddddddddddddddpd)d.d dd!d"dd#d1d0dd$d%d&d'd(d)d*d+d,d-d$d.d/d0d1dd_d2d3d4d:d5d6drd7d8dd9d:d;d<d=d>d?d@dAdBddCdDdEdFdGdHdd|dIdJdddKdd}ddLdMdNdOddPdQd>dRdSdTdd2d#d3dUdVddWdydXdYdZd[ddFdEd\dfd]d d?d^d_d`dadcdbdgdqd*dcddddedfdgZ dS(h` Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP852.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp852.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp852namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=oBPQy9:=>Z[deA }~z _%%%%$%^c%Q%W%]%{|%%4%,%%%<%Z%T%i%f%`%P%l%G% %%%bn%CDH`aTUpcqXY%rrrrrnrjrrrrrorurvrNr@rPrrrrrrYr^rrZrrr`rCrDrGrBrIrarLrbrSrTrrcrAr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrr r rrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrnrjrrrrrorurvrNr@rPrrrrrrYr^rrZrrr`rCrDrGrBrIrarLrbrSrTrrcrAriiiiiii i iiiiiiiii9i:i=i>iAiBiCiDiGiHiPiQiTiUiXiYiZi[i^i_i`iaibicidieinioipiqiyizi{i|i}i~iiiiii%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iT%iW%iZ%i]%i`%ic%if%ii%il%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!e㗝encodings/cp855.pyc3 Β_:@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'ddd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d>d7d8d9d:d;d<d=d>d?d@dAddBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVd_dWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d?d}d~dddddddddddddZ dS(` Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP855.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp855.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp855namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=RSQTUVWXY Z [ \ ^_N.J*01F&45D$3%%%%$%E%8c%Q%W%]%9%%4%,%%%<%:Z%T%i%f%`%P%l%;<=>?% %%%O%/@ A!B"C#62L,!K+7H(M-I)G'%rrrrnrro  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r:r r8rr+rrrrrrrrrrrrrrrrrr'rr%r/rrrr rrrrrrr!r#rrr7r1r5rr-r)r3rrrr&rrrr$r.rrrr r rrrrrr r"rrr6r0r4rr,r(r2rrrrrrrrrrrrrrrrr*rrrrrrrrrrrrrrrrrrrrr rrrrrrr9rr<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrnrroiiiiiiiii i i i iiiiiiiiiiiiiiiiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;i<i=i>i?i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiQiRiSiTiUiViWiXiYiZi[i\i^i_i!i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iT%iW%iZ%i]%i`%ic%if%ii%il%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!Ē encodings/cp856.pyc3 Β_0@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec cp856 generated from 'MAPPINGS/VENDORS/MISC/CP856.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp856.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp856namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~אבגדהוזחטיךכלםמןנסעףפץצקרשת￾£￾×￾￾￾￾￾￾￾￾￾￾®¬½¼￾«»░▒▓│┤￾￾￾©╣║╗╝¢¥┐└┴┬├─┼￾￾╚╔╩╦╠═╬¤￾￾￾￾￾￾￾￾￾┘┌█▄¦￾▀￾￾￾￾￾￾µ￾￾￾￾￾￾￾¯´­±‗¾¶§÷¸°¨·¹³²■ ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!?6encodings/cp857.pyc3 Β_t@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddddedfdgdhdidjdkdldmdndodpdqdrdsdtduddvdwdxdydzd{d|d}d~ddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d dzd}d;d dgdddsd'dd5d9daddHdd+d4dddd!d#d3dd&dd{d:d>d2dddudddddddqddrdodd)dvd-dNdVddddddddddd0dddd"dddd d!d"d#d$d%d=d&d'd_d(dMd)dd*d$d+d,d,d-d.d1dldd/d0d1d2dddwd8dGdydWd|dFdEdded`d d?ddd?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ￾ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ￾×ÚÛÙìÿ¯´­±￾¾¶§÷¸°¨·¹³²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrrmr}r\rr~rrrrxrrnrjrrirrrrrrrrrrrrrorlrkrrhrwrurvrrNrOrRr@rrPrrrrrrrerrrrrYrr]rrrrZrrEr`rCrrDrFrQrGrJrBrHrIrcrarLrKrdrUrbrSrrTrr[rWrcrVrAriii0i1i^i_i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iT%iW%iZ%i]%i`%ic%if%ii%il%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!K  encodings/cp858.pyc3 Β_߄@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d dddd(dd;ddhdd}dtd'ddmd9d6d`dHdd+d4d|ddd!d#d3dd&dd~d:d>d2dddvdddddddrddsdpdxd)d.d-d5dNdVddddddddddd1dd0dddd"dddd d!d"d#d$d%d=d&d'dad_d(dMd)dd*d$d+d,d,d-d.ddd/dud0d%dddyd8dGd{dWddFdEddfd7d d?ddd?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rrmr}r\rr~rrrrxrfrnrjrrirrrrrrrrrrrrgrorlrkrrhrwrurvrrNrOrRr@rrPrrrrrrrrerrrrrYr^r]rrrrZrrrrEr`rCrrDrFrQrGrJrBrHrIrMrarLrKrrdrUrbrSrrTrr[rWrcrVrArrrXi ii i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iT%iW%iZ%i]%i`%ic%if%ii%il%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!F1[eeencodings/cp860.pyc3 Β_y@RdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d dddddddddd6dd4ddd3ddd:d>ddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d0d/dd0d1d2d3d4d5d6d=d7d8d+d9d:d;ddddd?d@ddAdd1ddBd'dCddDddEd2d%d#d$dFdGd&d8d!d-ddHdddIdd7d)dJd dKdd?dd/d"dLd;d<dMdd(dvdNdOd5d9dPdQdRddSdTdUdqd*dVdWdXddddYdZZ dS([` Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP860.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp860.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp860namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r= %%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %rrmr[r\rfrnrjrrrrrrgrorlrkrhrQrFrOrNr@rRrPrIrXrKrerir_rLrYr]rVrZrrEr`rCrDrGrJrBrHrMrardrUrbrSrTrrWrcrA  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñѪº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrmr[r\rfrnrjrrrrrrgrorlrkrhrQrFrOrNr@rRrPrIrXrKrerir_rLrYr]rVrZrrEr`rCrDrGrJrBrHrMrardrUrbrSrTrrWrcrAiiiiiiiiiiiii i i"i"i"i)"iH"ia"id"ie"i #i!#i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iR%iS%iT%iU%iV%iW%iX%iY%iZ%i[%i\%i]%i^%i_%i`%ia%ib%ic%id%ie%if%ig%ih%ii%ij%ik%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!d'ttencodings/cp861.pyc3 Β_I@VdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddd+dd(d!d3dd:d>ddddddddd d!d"d#d$d%d&d'd0d(dd)d*d+d,d-d.d/d0d1d=d2d3d4d5d$d6d,d7d8d9d:d;dddddddd<d=ddd1dd>d?d&d@dAddd2dBdCd#dDddEd7d8dFdGdHdIdJd4dd5dKdLd)d dMdd?dNd6dOdPd;d?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrr rrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrmr\rnrjrrrrrrorlrkrhrdrNrOrRr@rPrerKrfrYr]rgrZrWrMrrEr`rCrDrFrQrGrJrBrHrIrarLrbrSrTrr[rcrVrArXrUiiiiiiiiiiiiii i i"i"i"i)"iH"ia"id"ie"i#i #i!#i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iR%iS%iT%iU%iV%iW%iX%iY%iZ%i[%i\%i]%i^%i_%i`%ia%ib%ic%id%ie%if%ig%ih%ii%ij%ik%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!r{11encodings/cp862.pyc3 Β_Z@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddddd6dd4ddd3ddd:d>dd-d0dd=dd+dd,d d!d"d#d$d%d&d'd(d)d*d+d1d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLddMd2dNdOdPdQdRdSdTd8dUdVdWdXdYdZd[d\d7d]d^d_d`dd?dadbdcddd;d<dedfdgdvdhdid5djdkdldmdndodpdqdqdrdsdtduddddvdwZ dS(x` Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP862.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp862.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp862namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r= #%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %rrmr[r\r]rfrnrjrrrrrrgrorlrkrhrerr`rardrbrrc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r&rrrrrrr r$rrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr#rr!r"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r%rr(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmr[r\r]rfrnrjrrrrrrgrorlrkrhrerr`rardrbrrciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii i i"i"i"i)"iH"ia"id"ie"i#i #i!#i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iR%iS%iT%iU%iV%iW%iX%iY%iZ%i[%i\%i]%i^%i_%i`%ia%ib%ic%id%ie%if%ig%ih%ii%ij%ik%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!RCttencodings/cp863.pyc3 Β_̅@VdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d dddddddddd(ddddddd0dddd3dd7d:d>dd d!d"d#d$d%d&d4d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d+d6d7d8d,d9d:d;ddddd?d@dd'd&dAdddBd2dCdDd#dEdFd6dGdHdd-dId1ddJdKdLdMdNdOd d5dd?d)dPd!d=d;d<dQddRdvddSdTdUd$d%dVd"dWdXd8dqd*d.dYdZdddd[d\Z dS(]` Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP863.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp863.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp863namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r= #%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %rr[r\rXr`rOrdrnrjrgrrrrfrarrFrrerorlrkrmrNrDr@rQrPrRrTrhrUrYr]r^rZrrErCrGrJrBrHrIrLrKrbrSrrWrcrVrA  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r rrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rr rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrr[r\rXr`rOrdrnrjrgrrrrfrarrFrrerorlrkrmrNrDr@rQrPrRrTrhrUrYr]r^rZrrErCrGrJrBrHrIrLrKrbrSrrWrcrVrAiiiiiiiiiiiiii i i"i"i"i)"iH"ia"id"ie"i#i #i!#i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iR%iS%iT%iU%iV%iW%iX%iY%iZ%i[%i\%i]%i^%i_%i`%ia%ib%ic%id%ie%if%ig%ih%ii%ij%ik%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!ƕIdencodings/cp864.pyc3 Β_@zdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+ddd,d-dd.d/d0ddd1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddd~dZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddddddded)ddddd$dddd d!dd"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8dId9d:d;d<d=d>d?d@dAdBdCd(dDd.dEdFdGdHdIdJdKdLdMd&dNd%dOdPdQdRdSdgdTdUdVdWdXdYdZd[dfd\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwZ dS(x` Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP864.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp864.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp864namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=j""%%%<%$%,%%4%% %%%"H" `abcdefghi@}Q%~%ryrrXrr^rArTrBrYrVrUrr  !"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ￾￾ﻻﻼ￾ ­ﺂ£¤ﺄ￾￾ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■￾  !"#$&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrrrrrrrr rrrrr rrrrrrrrrrrrrrrrrrrrrrrrrr(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrr r"r r&rr%rrrrrrrrrrr r'r!rr#r$rrrrrr+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrryrrrrXrr^rArTrBrYrVrUrriii iii@iQi`iaibicidieifigihiiiji"i"i"iH"i%i%i %i%i%i%i%i$%i,%i4%i<%i%i%i}iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!#ttencodings/cp865.pyc3 Β_:@VdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d dddd(dddddd6d+d4dd!d3dd:d>ddddddddd d!d0d"dd#d$d%d&d'd(d)d*d+d,d=d-d.d?d/d0d1d2d$d3d4d,d5d6d7d8ddddddddd9ddd1dd:d'd&dddd;d2d%dd?d8d@dAdBdCdDdEddFd7dGd)d dHddIdJdKdLdMd;d?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rr rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrmr\rorfrnrjrrrrrrgrlrkrhrNrOrRr@rPrerYr]rZrrEr`rCrDrFrQrGrJrBrHrIrMrarLrKrdrUrbrSrTrr[rWrcrVrArXiiiiiiiiiiiiii i i"i"i"i)"iH"ia"id"ie"i#i #i!#i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iR%iS%iT%iU%iV%iW%iX%iY%iZ%i[%i\%i]%i^%i_%i`%ia%ib%ic%id%ie%if%ig%ih%ii%ij%ik%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!ln[encodings/cp866.pyc3 Β_\@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8dd9d:d;dd<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdnddodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddZ dS(` Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP866.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp866.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp866namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r= !"#$%&'()*+,-./0123456789:;<=>?%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%@ABCDEFGHIJKLMNOQTW^""!%rrrr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r<r:r5r7r-r/r1r3rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r.r0r2r4r9r6r8rrrrrrrrrrrr rrrrrrrrrrrrrrr rrrrrrr r rrrr rrrrrrrr;rr>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiiiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;i<i=i>i?i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiQiTiWi^i!i"i"i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iR%iS%iT%iU%iV%iW%iX%iY%iZ%i[%i\%i]%i^%i_%i`%ia%ib%ic%id%ie%if%ig%ih%ii%ij%ik%il%i%i%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!6Aencodings/cp869.pyc3 Β_ŀ@hdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j dddddddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddZ dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d dddddddddd5dddddddddd d!d"dd|ddd#ddwd$d%dd&d2d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPddQdRd#dSdTdUdVdWd!dXdYdZd[d\d]d^d_d`dadbdcd6dddedfdgdhdidjdkdldmddxd dndoZ dS(p` Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP869.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/cp869.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp869namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=   %%%%$%c%Q%W%]%%%4%,%%%<%Z%T%i%f%`%P%l%% %%%%%rrSrCrrrNrerBrrrrPrQrArfrb  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~￾￾￾￾￾￾Ά￾·¬¦‘’Έ―ΉΊΪΌ￾￾ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r'rrrr!rrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr$rrrrrrr r r r r rrrrrrrrrrrrrr"r#rr%rrrrrrrrrrrrrrrrrrrrrrrrrrr&rr)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrSrCrrrNrerBrrrrPrQrArfrbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii i i i%i%i %i%i%i%i%i$%i,%i4%i<%iP%iQ%iT%iW%iZ%i]%i`%ic%if%ii%il%i%i%i%i%i%i%i%)__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!|L encodings/cp874.pyc3 Β_31@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)t Python Character Mapping Codec cp874 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp874.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp874namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€￾￾￾￾…￾￾￾￾￾￾￾￾￾￾￾‘’“”•–—￾￾￾￾￾￾￾￾ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู￾￾￾￾฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛￾￾￾￾) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!&Q Q encodings/cp875.pyc3 Β_62@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)s Python Character Mapping Codec cp875 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/cp875.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ncp875namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=}œ †—Ž …‡’€‚ƒ„ ˆ‰Š‹Œ‘“”•–˜™š›ž ΑΒΓΔΕΖΗΘΙ[.<(+!&ΚΛΜΝΞΟΠΡΣ]$*);^-/ΤΥΦΧΨΩΪΫ|,%_>?¨ΆΈΉ ΊΌΎΏ`:#@'="΅abcdefghiαβγδεζ°jklmnopqrηθικλμ´~stuvwxyzνξοπρσ£άέήϊίόύϋώςτυφχψ{ABCDEFGHI­ωΐΰ‘―}JKLMNOPQR±½·’¦\STUVWXYZ²§«¬0123456789³©»Ÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!~"2}}encodings/cp932.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Ncp932c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/cp932.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_jpr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!L}}}}encodings/cp949.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Ncp949c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/cp949.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_krr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!y0v}}encodings/cp950.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Ncp950c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/cp950.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_twr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!;encodings/euc_jis_2004.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)N euc_jis_2004c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/euc_jis_2004.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_jpr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!RJ5encodings/euc_jisx0213.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)N euc_jisx0213c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/euc_jisx0213.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_jpr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!encodings/euc_jp.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Neuc_jpc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/euc_jp.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_jpr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!N3Vencodings/euc_kr.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Neuc_krc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/euc_kr.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_krr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!encodings/gb18030.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Ngb18030c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/gb18030.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_cnr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!~encodings/gb2312.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Ngb2312c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/gb2312.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_cnr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!j90yyencodings/gbk.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Ngbkc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/gbk.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_cnr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!OA A encodings/hex_codec.pyc3 Β_@dZddlZddlZdddZdddZGdd d ejZGd d d ejZGd d d ejZGdddeejZGdddeej Z ddZ dS)Python 'hex_codec' Codec - 2-digit hex content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcC|dks ttj|t|fS)Nr)AssertionErrorbinasciib2a_hexlen)inputerrorsr encodings/hex_codec.py hex_encode  rcC|dks ttj|t|fS)Nr)rra2b_hexr )r r r r r hex_decode rc@ eZdZdddZdddZdS) CodecrcC t||S)N)r)selfr r r r r encode Codec.encodecC t||S)N)r)rr r r r r decode Codec.decodeNrr)__name__ __module__ __qualname__rrr r r r r rc@eZdZdddZdS)IncrementalEncoderFcC|jdksttj|S)Nr)r rrr)rr finalr r r rIncrementalEncoder.encodeNF)r!r"r#rr r r r r&r&c@eZdZdddZdS)IncrementalDecoderFcC|jdksttj|S)Nr)r rrr)rr r(r r r r!IncrementalDecoder.decodeNF)r!r"r#rr r r r r. r.c@eZdZeZdS) StreamWriterN)r!r"r#bytescharbuffertyper r r r r5%r5c@eZdZeZdS) StreamReaderN)r!r"r#r6r7r r r r r:(r:c CtjdttttttddS)NhexFnamerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInforrr&r.r5r:r r r r getregentry-rGrr) __doc__rErrrrr&r.r5r:rGr r r r   PK!)  encodings/hp_roman8.pyc3 Β_4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)- Python Character Mapping Codec generated from 'hp_roman8.txt' with gencodec.py. Based on data from ftp://dkuug.dk/i18n/charmaps/HP-ROMAN8 (Keld Simonsen) Original source: LaserJet IIP Printer User's Manual HP part no 33471-90901, Hewlet-Packard, June 1989. (Used with permission) Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/hp_roman8.pyencode Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/ r/c@ eZdZdS) StreamReaderN)rrrrrrrr2#r2c C tjdtjtjttttdS)N hp-roman8namerrincrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforrrr r(r/r2rrrr getregentry(r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±￾) __doc__rrr r(r/r2r=r charmap_buildr rrrr PK!L6wwencodings/hz.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Nhzc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/hz.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_cnr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!5Q\ooencodings/idna.pyc3 Β_#@ddlZddlZddlZddlmZejdZdZdZddZ dd Z d d Z Gd d d ej Z Gdddej ZGdddejZGddde ejZGddde ejZddZdS)N ucd_3_2_0 [.。.。]xn--xn--cCg}x(|D] }tj|rq |jtj|q Wdj|}tjd|}xr|D]j}tj|stj|stj |stj |stj |stj |stj |stj|stj|rJtd|qJWdd|D}xH|D]@}|rtdd|Drtd|d  s|d  rtd qW|S) NNFKCInvalid character %rcSg|]}tj|qS)) stringprep in_table_d1).0xrencodings/idna.py )nameprep..cs|]}tj|VqdS)N)r in_table_d2)rrrrr 2nameprep..Violation of BIDI requirement 2rViolation of BIDI requirement 3)r in_table_b1append map_table_b2join unicodedata normalize in_table_c12 in_table_c22 in_table_c3 in_table_c4 in_table_c5 in_table_c6 in_table_c7 in_table_c8 in_table_c9 UnicodeErrorany)labelnewlabelcRandALrrrnameprep4                r4cCy|jd}Wntk r"Yn*Xdt|ko:dknrD|Stdt|}y|jd}Wntk rvYn*Xdt|kodknr|Std|jtrtd|jd}t|}dt|kodknr|StddS)Nasciir@label empty or too longLabel starts with ACE prefixpunycode)encoder.lenr4 startswith sace_prefix ace_prefix)r0rrrToASCII>,  rAcCt|trd}n,y|jd}d}Wntk r:d}YnX|stt|}y|jd}Wntk rrtdYnX|jtst|dS|ttd}|j d}t |}t|dj t|dkrtd|||S)NTr7FInvalid character in IDN labelr;IDNA does not round-trip) isinstancebytesr<r.r4r>r@strr=decoderAlower)r0 pure_asciilabel1resultlabel2rrr ToUnicodei*       rOc@ eZdZdddZdddZdS) Codecstrictc C|dkrtd||sd Sy|jd}Wntk r>YnjX|jd}x8|dd D](}dt|kordknsXtd qXWt|d dkrtd |t|fSt}tj|}|r|d rd}|d=nd}x(|D] }|r|jd|jt|qWt ||t|fS)NrSunsupported error handling rr7.rr8label empty or too longlabel too longrVrrrrr) r.r<UnicodeEncodeErrorsplitr= bytearraydotsextendrArG)selfinputerrorsrMlabelsr0 trailing_dotrrrr<4        Codec.encodec C|dkrtd||sd St|ts.t|}t|kr^y|jdt|fStk r\YnX|jd}|rt|d dkrd}|d =nd}g}x|D]}|jt |qWdj ||t|fS) NrSUnsupported error handling r rr7rWr.r rrr) r.rFrGr@rIr=UnicodeDecodeErrorr\r rOr")r`rarbrcrdrMr0rrrrI(     Codec.decodeNrSrS)__name__ __module__ __qualname__r<rIrrrrrR %rRc@eZdZddZdS)IncrementalEncoderc C|dkrtd||sdStj|}d}|rT|dsBd}|d =n|sT|d =|rTd}t}d}x<|D]4}|r~|jd|d7}|jt||t|7}qdW||7}|t|7}t||fS) NrSunsupported error handling rVrrrWrVrrrr)r.r^r\r]r_rAr=rG) r`rarbfinalrcrdrMsizer0rrr_buffer_encode2     !IncrementalEncoder._buffer_encodeN)rprqrrr{rrrrruruc@eZdZddZdS)IncrementalDecoderc C|dkrtd||sdSt|tr2tj|}nt|d}|jd}d}|rt|d sbd}|d =n|st|d =|rtd}g}d}x2|D]*}|jt||r|d7}|t|7}qWdj||}|t|7}||fS) NrSUnsupported error handling r rr7rirr rrrr) r.rFrHr^r\r rOr=r") r`rarbryrcrdrMrzr0rrr_buffer_decode6       !IncrementalDecoder._buffer_decodeN)rprqrrrrrrrrrc@ eZdZdS) StreamWriterN)rprqrrrrrrr$rc@ eZdZdS) StreamReaderN)rprqrrrrrrr'rc C tjdtjtjttttdS)Nidnanamer<rIincrementalencoderincrementaldecoder streamwriter streamreader) codecs CodecInforRr<rIrurrrrrrr getregentry,r)r rerr#rcompiler^r@r?r4rArOrRBufferedIncrementalEncoderruBufferedIncrementalDecoderrrrrrrrr  0+)H#'PK! TEencodings/iso2022_jp.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)N iso2022_jpc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/iso2022_jp.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$)_codecs_iso2022r"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!`encodings/iso2022_jp_1.pyc3 Β_%@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)N iso2022_jp_1c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/iso2022_jp_1.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$)_codecs_iso2022r"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!encodings/iso2022_jp_2.pyc3 Β_%@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)N iso2022_jp_2c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/iso2022_jp_2.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$)_codecs_iso2022r"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!yencodings/iso2022_jp_2004.pyc3 Β_1@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Niso2022_jp_2004c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/iso2022_jp_2004.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$)_codecs_iso2022r"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK![̐encodings/iso2022_jp_3.pyc3 Β_%@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)N iso2022_jp_3c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/iso2022_jp_3.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$)_codecs_iso2022r"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!tKencodings/iso2022_jp_ext.pyc3 Β_-@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Niso2022_jp_extc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/iso2022_jp_ext.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$)_codecs_iso2022r"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!y1nRencodings/iso2022_kr.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)N iso2022_krc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/iso2022_kr.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$)_codecs_iso2022r"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!\lX X encodings/iso8859_10.pyc3 Β_5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)l Python Character Mapping Codec iso8859_10 generated from 'MAPPINGS/ISO8859/8859-10.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_10.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-10namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢĪĨͧĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!4ۣ encodings/iso8859_11.pyc3 Β_/0@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)l Python Character Mapping Codec iso8859_11 generated from 'MAPPINGS/ISO8859/8859-11.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_11.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-11namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู￾￾￾￾฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛￾￾￾￾) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!0q[ [ encodings/iso8859_13.pyc3 Β_3@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)l Python Character Mapping Codec iso8859_13 generated from 'MAPPINGS/ISO8859/8859-13.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_13.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-13namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!xYm m encodings/iso8859_14.pyc3 Β_T5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)l Python Character Mapping Codec iso8859_14 generated from 'MAPPINGS/ISO8859/8859-14.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_14.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-14namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!lђX X encodings/iso8859_15.pyc3 Β_3@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)l Python Character Mapping Codec iso8859_15 generated from 'MAPPINGS/ISO8859/8859-15.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_15.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-15namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!c Z Z encodings/iso8859_16.pyc3 Β_4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)l Python Character Mapping Codec iso8859_16 generated from 'MAPPINGS/ISO8859/8859-16.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_16.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-16namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Чš©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!ޱS S encodings/iso8859_2.pyc3 Β_\4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec iso8859_2 generated from 'MAPPINGS/ISO8859/8859-2.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_2.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-2namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!ʕuZ Z encodings/iso8859_3.pyc3 Β_!3@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec iso8859_3 generated from 'MAPPINGS/ISO8859/8859-3.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_3.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-3namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ħ˘£¤￾Ĥ§¨İŞĞĴ­￾ݰħ²³´µĥ·¸ışğĵ½￾żÀÁÂ￾ÄĊĈÇÈÉÊËÌÍÎÏ￾ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ￾äċĉçèéêëìíîï￾ñòóôġö÷ĝùúûüŭŝ˙) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!mS S encodings/iso8859_4.pyc3 Β_@4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec iso8859_4 generated from 'MAPPINGS/ISO8859/8859-4.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_4.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-4namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤Ĩϧ¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩšēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖרŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!m'yT T encodings/iso8859_5.pyc3 Β_2@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec iso8859_5 generated from 'MAPPINGS/ISO8859/8859-5.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_5.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-5namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!m encodings/iso8859_6.pyc3 Β_Q*@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec iso8859_6 generated from 'MAPPINGS/ISO8859/8859-6.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_6.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-6namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ￾￾￾¤￾￾￾￾￾￾￾،­￾￾￾￾￾￾￾￾￾￾￾￾￾؛￾￾￾؟￾ءآأؤإئابةتثجحخدذرزسشصضطظعغ￾￾￾￾￾ـفقكلمنهوىيًٌٍَُِّْ￾￾￾￾￾￾￾￾￾￾￾￾￾) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!K[ [ encodings/iso8859_7.pyc3 Β_,2@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec iso8859_7 generated from 'MAPPINGS/ISO8859/8859-7.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_7.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-7namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ‘’£€₯¦§¨©ͺ«¬­￾―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ￾ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ￾) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!DIz z encodings/iso8859_8.pyc3 Β_+@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec iso8859_8 generated from 'MAPPINGS/ISO8859/8859-8.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_8.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-8namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ￾¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾￾‗אבגדהוזחטיךכלםמןנסעףפץצקרשת￾￾‎‏￾) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!0q-S S encodings/iso8859_9.pyc3 Β_d3@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)j Python Character Mapping Codec iso8859_9 generated from 'MAPPINGS/ISO8859/8859-9.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/iso8859_9.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N iso8859-9namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!ء}}encodings/johab.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Njohabc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/johab.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_krr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!:/ encodings/koi8_r.pyc3 Β_5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)l Python Character Mapping Codec koi8_r generated from 'MAPPINGS/VENDORS/MISC/KOI8-R.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/koi8_r.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Nkoi8-rnamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!O. . encodings/koi8_t.pyc3 Β_3@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)' Python Character Mapping Codec koi8_t Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/koi8_t.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Nkoi8-tnamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry"r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~қғ‚Ғ„…†‡￾‰ҳ‹ҲҷҶ￾Қ‘’“”•–—￾™￾›￾￾￾￾￾ӯӮё¤ӣ¦§￾￾￾«¬­®￾°±²Ё￾Ӣ¶·￾№￾»￾￾￾©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!r|y y encodings/koi8_u.pyc3 Β_5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)f Python Character Mapping Codec koi8_u generated from 'python-mappings/KOI8-U.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/koi8_u.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Nkoi8-unamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!u;b b encodings/kz1048.pyc3 Β_5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)l Python Character Mapping Codec kz1048 generated from 'MAPPINGS/VENDORS/MISC/KZ1048.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/kz1048.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Nkz1048namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—￾™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!-]@??encodings/latin_1.pyc3 Β_@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZGd ddeeZddZdS) Python 'latin-1' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecslatin_1_encodeencodelatin_1_decodedecoderrencodings/latin_1.pyr rc@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)r r errors)selfinputfinalrrrr IncrementalEncoder.encodeNF)rrrr rrrrrrc@eZdZdddZdS)IncrementalDecoderFcCtj||jdS)Nr)r r r)rrrrrrr IncrementalDecoder.decodeNF)rrrr rrrrrrc@ eZdZdS) StreamWriterN)rrrrrrrr$r$c@ eZdZdS) StreamReaderN)rrrrrrrr'r'c@eZdZejZejZdS)StreamConverterN)rrrr r r r r rrrrr*"r*c CtjdtjtjttttdS)N iso8859-1namer r incrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforr r rrr'r$rrrr getregentry)r5) __doc__r rrrr$r'r*r5rrrrPK!encodings/mac_arabic.pyc3 Β_s@PdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddZ ddddddddddddddddddddddddddddddddd0dd1dd2dd3dd4ddd6dd7dd8dd9dd:dd;ddd=dd>dd?ddddddddddddJdddLddMddNddddddddddddddddddddddddddddddkddlddmddnddodddddddddddddddddddddddddddddd.dd/dd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d(d+d,d-d.dd/d0dd1dd2d3d4d5d6d7d8dd9d:d;dd?d@ddddAddBdCdddd d!dDd"d$d%dEd&dFdGdHdIdJdKdLdMdNdOdPdQd)d'dRd-d,dSd+dTdUdVd*dWdXdYZ dS(Z] Python Character Mapping Codec generated from 'VENDORS/APPLE/ARABIC.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encode encoding_map)selfinputerrorsrencodings/mac_arabic.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-arabicnamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=& !"#$j&'()*+ -./`abcdefghi:<=>J'!"#$%&'()*+,-./0123456789:[\]^_@ABCDEFGHIJKLMNOPQR~y{|}rArLrXr@rBrCrDrErFrHrGrIrJrMrOrNrPrQrRrTrUrVrWrYrZr[r]r\r^r_h  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ä ÇÉÑÖÜáàâäں«çéèêëí…îïñó»ôö÷úùûü !"#$٪&'()*+،-./٠١٢٣٤٥٦٧٨٩:؛<=>؟❊ءآأؤإئابةتثجحخدذرزسشصضطظعغ[\]^_ـفقكلمنهوىيًٌٍَُِّْپٹچەڤگڈڑ{|}ژے rrrr%rrrrr,rrr0123456789r;rrr?@ABCDEFGHIJKLMNOPQRSTUVWXYZrrrr`abcdefghijklmnopqrstuvwxyzr ~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrrrrrrrr!rrr"rrrr$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBr`r`rararbrbrcrcrdrdrCrfrfrgrgrhrhririrjrjrkrkrDrmrmrnrnrororErFrGrHrIrJrKrLrMrNrzrzrOr|r|r}r}r~r~rPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrrrrrrrrrrrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrArLrXr@rBrCrDrErFrHrGrIrJrMrOrNrPrQrRrTrUrVrWrYrZr[r]r\r^r_i iii!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRi`iaibicidieifigihiiijiyi~iiiiiiiiii& iJ')__doc__rrr r(r/r2r=make_identity_dictrange decoding_mapupdaterr rrrr  PK!bz z encodings/mac_centeuro.pyc3 Β_7@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)u Python Character Mapping Codec mac_centeuro generated from 'MAPPINGS/VENDORS/APPLE/CENTEURO.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_centeuro.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-centeuronamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!9 encodings/mac_croatian.pyc3 Β_A5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)u Python Character Mapping Codec mac_croatian generated from 'MAPPINGS/VENDORS/APPLE/CROATIAN.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_croatian.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-croatiannamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!8,x x encodings/mac_cyrillic.pyc3 Β_4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)u Python Character Mapping Codec mac_cyrillic generated from 'MAPPINGS/VENDORS/APPLE/CYRILLIC.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_cyrillic.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-cyrillicnamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю€) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!d@ @ encodings/mac_farsi.pyc3 Β_B;@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)o Python Character Mapping Codec mac_farsi generated from 'MAPPINGS/VENDORS/APPLE/FARSI.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_farsi.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-farsinamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=h  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ä ÇÉÑÖÜáàâäں«çéèêëí…îïñó»ôö÷úùûü !"#$٪&'()*+،-./۰۱۲۳۴۵۶۷۸۹:؛<=>؟❊ءآأؤإئابةتثجحخدذرزسشصضطظعغ[\]^_ـفقكلمنهوىيًٌٍَُِّْپٹچەڤگڈڑ{|}ژے) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!%Sh h encodings/mac_greek.pyc3 Β_5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)o Python Character Mapping Codec mac_greek generated from 'MAPPINGS/VENDORS/APPLE/GREEK.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_greek.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-greeknamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!Mӯb{ { encodings/mac_iceland.pyc3 Β_4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)s Python Character Mapping Codec mac_iceland generated from 'MAPPINGS/VENDORS/APPLE/ICELAND.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_iceland.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-icelandnamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK! .f  encodings/mac_latin2.pyc3 Β_&7@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS) Python Character Mapping Codec mac_latin2 generated from 'MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT' with gencodec.py. Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. (c) Copyright 2000 Guido van Rossum. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_latin2.pyencode Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2!r2c C tjdtjtjttttdS)N mac-latin2namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry&r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!u®;y y encodings/mac_roman.pyc3 Β_4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)o Python Character Mapping Codec mac_roman generated from 'MAPPINGS/VENDORS/APPLE/ROMAN.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_roman.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-romannamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!4rʎ encodings/mac_romanian.pyc3 Β_]5@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)u Python Character Mapping Codec mac_romanian generated from 'MAPPINGS/VENDORS/APPLE/ROMANIAN.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_romanian.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-romaniannamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!8| | encodings/mac_turkish.pyc3 Β_4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)s Python Character Mapping Codec mac_turkish generated from 'MAPPINGS/VENDORS/APPLE/TURKISH.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/mac_turkish.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)N mac-turkishnamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK! }Qvvencodings/mbcs.pyc3 Β_@~dZddlmZmZddlZeZdddZGdddejZGd d d ejZGd d d ej Z Gd ddej Z ddZ dS) Python 'mbcs' Codec for Windows Cloned by Mark Hammond (mhammond@skippinet.com.au) from ascii.py, which was written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.  mbcs_encode mbcs_decodeNstrictcC t||dS)NT)r)inputerrorsr encodings/mbcs.pydecoder c@eZdZdddZdS)IncrementalEncoderFcCt||jdS)Nr)rr )selfr finalr r r encodeIncrementalEncoder.encodeNF)__name__ __module__ __qualname__rr r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr_buffer_decoder r r r rrc@eZdZeZdS) StreamWriterN)rrrrrr r r r r!r!c@eZdZeZdS) StreamReaderN)rrrrr r r r r r$!r$c CtjdttttttdS)Nmbcsnamerr incrementalencoderincrementaldecoder streamreader streamwriter)codecs CodecInforr rrr$r!r r r r getregentry&r0r) __doc__r.rrrr rBufferedIncrementalDecoderrr!r$r0r r r r   PK!encodings/oem.pyc3 Β_@~dZddlmZmZddlZeZdddZGdddejZGd d d ejZGd d d ej Z Gd ddej Z ddZ dS)! Python 'oem' Codec for Windows  oem_encode oem_decodeNstrictcC t||dS)NT)r)inputerrorsr encodings/oem.pydecoder c@eZdZdddZdS)IncrementalEncoderFcCt||jdS)Nr)rr )selfr finalr r r encodeIncrementalEncoder.encodeNF)__name__ __module__ __qualname__rr r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr_buffer_decoder r r r rrc@eZdZeZdS) StreamWriterN)rrrrrr r r r r!r!c@eZdZeZdS) StreamReaderN)rrrrr r r r r r$r$c CtjdttttttdS)Noemnamerr incrementalencoderincrementaldecoder streamreader streamwriter)codecs CodecInforr rrr$r!r r r r getregentry r0r) __doc__r.rrrr rBufferedIncrementalDecoderrr!r$r0r r r r  PK!'o o encodings/palmos.pyc3 Β_4@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)x Python Character Mapping Codec for PalmOS 3.5. Written by Sjoerd Mullender (sjoerd@acm.org); based on iso8859_15.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/palmos.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Npalmosnamerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry"r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ♦♣♥♠‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!;m encodings/ptcp154.pyc3 Β_6@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS) Python Character Mapping Codec generated from 'PTCP154.txt' with gencodec.py. Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. (c) Copyright 2000 Guido van Rossum. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/ptcp154.pyencode Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2!r2c C tjdtjtjttttdS)Nptcp154namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry&r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!ELencodings/punycode.pyc3 Β_@dZddlZddZddZddZd d Zd d Zd ZddZddZ ddZ ddZ ddZ ddZ ddZGdddejZGdddejZGd d!d!ejZGd"d#d#eejZGd$d%d%eejZd&d'ZdS)(Y Codec for the Punicode encoding, as specified in RFC 3492 Written by Martin v. Löwis. NcCTt}t}x2|D]*}t|dkr2|jt|q|j|qWt|}t||fS) 3.1 Basic code point segregation) bytearraysetordappendaddsortedbytes)strbaseextendedcrencodings/punycode.py segregate   rcC*d}x |D]}t||kr |d7}q W|S)@Return the length of str, considering only characters below max.r)r )rmaxresrrrr selective_len    rcCRt|}xD|d7}||krdS||}||kr:|d|fS||kr |d7}q WdS)Return a pair (index, pos), indicating the next occurrence of char in str. index is the position of the character considering only ordinals up to and including char, and pos is the position in the full string. index/pos is the starting position in the full string.rNrrr)len)rcharindexposlrrrrselective_find r&c Cd}g}d}x~|D]v}d}}t|}t||} | d||} xBt||||\}}|dkr^P| ||7} |j| d|}d} qBW|}qW|S)3.2 Insertion unsort codingrrrrrr)r rr&r ) rroldcharresultoldindexrr#r$r"curlendeltarrrinsertion_unsort0$   r/cC,d|d|}|dkrdS|dkr(dS|S)N$rr)jbiasrrrrTF r6$abcdefghijklmnopqrstuvwxyz0123456789cCrt}d}xbt||}||kr4|jt|t|S|jt|||d|||d|}|d7}q WdS)(3.3 Generalized variable-length integersrr2rN)rr6r digitsr )Nr5r+r4trrrgenerate_generalized_integerN r>cC\|r|d}n|d}|||7}d}x|dkrB|d}|d7}q(W|d||d}|S)Nr#r2&r)r.firstnumchars divisionsr5rrradapt[    rIcCTt}d}x@t|D]4\}}t||}|j|t||dk||d}qWt|S)3.4 Bias adaptationHrr)r enumerater>extendrIr )baselendeltasr+r5pointsr.srrrgenerate_integersj  rTcC8t|\}}t||}tt||}|r4|d|S|S)N-)rr/rTr!)textrrrQrrrpunycode_encodeu    rYc Cd}d}d}xyt||}Wn,tk rJ|dkr>td|ddfSX|d7}d|kofdknrv|d}nDd|kod knr|d }n"|dkrtd ||n|dfSt||} |||7}|| kr||fS|d | }|d7}qWdS) (3.3 Generalized variable-length integersrrstrictincomplete punicode stringNAZ09 Invalid extended code point '%s'r2)r IndexError UnicodeErrorr6) rextposr5errorsr+wr4r"digitr=rrrdecode_generalized_number2     rkc Cd}d }d}d}x|t|krt||||\}}|dkr<|S||d7}||t|d7}|dkr|dkrxtd|td }|t|d}|d|t|||d}t||dkt|}|}qW|S) 3.2 Insertion unsort codingrrrMrNr]Invalid character U+%x?r)r!rkrfr chrrI) rrrhr"r$r5rgnewposr.rrrinsertion_sort(    rtcCt|tr|jd}t|tr&t|}|jd}|dkrLd}t|dj}n.t|d|d|}t||dddj}t|||S)NasciirWrr) isinstancerencode memoryviewr rfindupperrt)rXrhr$rrrrrpunycode_decode    r~c@ eZdZdddZdddZdS) Codecr]cCt|}|t|fS)N)rYr!)selfinputrhrrrrrz Codec.encodecC*|dkrtd|t||}|t|fS)Nr]replaceignoreUnsupported error handling r]rr)rfr~r!)rrrhrrrrdecode   Codec.decodeNr]r])__name__ __module__ __qualname__rzrrrrrr rc@eZdZdddZdS)IncrementalEncoderFcCt|S)N)rY)rrfinalrrrrzIncrementalEncoder.encodeNF)rrrrzrrrrrrc@eZdZdddZdS)IncrementalDecoderFcC$|jdkrtd|jt||jS)Nr]rrUnsupported error handling r]rr)rhrfr~)rrrrrrr IncrementalDecoder.decodeNF)rrrrrrrrrrc@ eZdZdS) StreamWriterN)rrrrrrrrrc@ eZdZdS) StreamReaderN)rrrrrrrrrc C tjdtjtjttttdS)Npunycodenamerzrincrementalencoderincrementaldecoder streamwriter streamreader) codecs CodecInforrzrrrrrrrrr getregentryr)__doc__rrrr&r/r6r;r>rIrTrYrkrtr~rrrrrrrrrr(     PK!H3b b encodings/quopri_codec.pyc3 Β_@dZddlZddlZddlmZdddZdddZGd d d ejZGd d d ejZGd ddej Z Gdddeej Z Gdddeej Z ddZ dS)QCodec for quoted-printable encoding. This codec de/encodes from bytes to bytes. NBytesIOstrictcC:|dks tt|}t}tj||dd|jt|fS)NrT quotetabs)AssertionErrorrquopriencodegetvaluelen)inputerrorsfgrencodings/quopri_codec.py quopri_encode  rcC6|dks tt|}t}tj|||jt|fS)Nr)r rr decoder r)rrrrrrr quopri_decode   rc@ eZdZdddZdddZdS) CodecrcC t||S)N)r)selfrrrrrr  Codec.encodecC t||S)N)r)rrrrrrr Codec.decodeNrr)__name__ __module__ __qualname__r rrrrrr rc@eZdZdddZdS)IncrementalEncoderFcCt||jdS)Nr)rr)rrfinalrrrr IncrementalEncoder.encodeNF)r&r'r(r rrrrr+r+c@eZdZdddZdS)IncrementalDecoderFcCt||jdS)Nr)rr)rrr-rrrr#IncrementalDecoder.decodeNF)r&r'r(rrrrrr3"r3c@eZdZeZdS) StreamWriterN)r&r'r(bytescharbuffertyperrrrr:&r:c@eZdZeZdS) StreamReaderN)r&r'r(r;r<rrrrr?)r?c CtjdttttttddS)Nr Fnamer rincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInforrr+r3r:r?rrrr getregentry.rKrr) __doc__rIr iorrrrr+r3r:r?rKrrrr   PK!!3 encodings/raw_unicode_escape.pyc3 Β_@vdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdS) Python 'raw-unicode-escape' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecsraw_unicode_escape_encodeencoderaw_unicode_escape_decodedecoderrencodings/raw_unicode_escape.pyr rc@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)r r errors)selfinputfinalrrrr IncrementalEncoder.encodeNF)rrrr rrrrrrc@eZdZdddZdS)IncrementalDecoderFcCtj||jdS)Nr)r r r)rrrrrrr IncrementalDecoder.decodeNF)rrrr rrrrrrc@ eZdZdS) StreamWriterN)rrrrrrrr$r$c@ eZdZdS) StreamReaderN)rrrrrrrr'r'c CtjdtjtjttttdS)Nraw-unicode-escapenamer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrr$r'rrrr getregentry$r2)__doc__r rrrr$r'r2rrrrPK!ߝ encodings/rot_13.pyc3 Β_ 6@ dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZeje dZ e j ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdD4dEdFZ e dGkrddlZe ejejdS)H Python Character Mapping Codec for ROT13. This codec de/encodes from str to str. Written by Marc-Andre Lemburg (mal@lemburg.com). Nc@ eZdZdddZdddZdS) CodecstrictcC|jtt|fS)N) translate rot13_maplen)selfinputerrorsrencodings/rot_13.pyencode Codec.encodecC|jtt|fS)N)rr r )r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcC |jtS)N)rr )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrrrc@eZdZdddZdS)IncrementalDecoderFcC |jtS)N)rr )r r r rrrrIncrementalDecoder.decodeNF)rrrrrrrrr&r&c@ eZdZdS) StreamWriterN)rrrrrrrr-r-c@ eZdZdS) StreamReaderN)rrrrrrrr0r0c C"tjdtjtjttttddS)Nrot-13Fnamerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding) codecs CodecInforrrrr&r-r0rrrr getregentry$r=NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm4rMrNrOrPrQrRrSrTrUrVrWrXrYr@rArBrCrDrErFrGrHrIrJrKrLrgrhrirjrkrlrmrnrorprqrrrsrZr[r\r]r^r_r`rarbrcrdrerfcC|jtj|jddS)Nrot-13)writer;rread)infileoutfilerrrrot13lr{__main__)__doc__r;rrr&r-r0r=make_identity_dictranger updater{rsysstdinstdoutrrrr  PK!Ȭencodings/shift_jis.pyc3 Β_@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)N shift_jisc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/shift_jis.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_jpr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!Ïencodings/shift_jis_2004.pyc3 Β_#@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Nshift_jis_2004c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/shift_jis_2004.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_jpr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!~encodings/shift_jisx0213.pyc3 Β_#@ddlZddlZddlZejdZGdddejZGdddejejZGdddej ej Z Gd d d eej ej Z Gd d d eej ejZd dZdS)Nshift_jisx0213c@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecencodedecoder r encodings/shift_jisx0213.pyr rc@eZdZeZdS)IncrementalEncoderN)rrrr r r r r rrc@eZdZeZdS)IncrementalDecoderN)rrrr r r r r rrc@eZdZeZdS) StreamReaderN)rrrr r r r r rrc@eZdZeZdS) StreamWriterN)rrrr r r r r rrc C tjdtjtjttttdS)Nrnamer r incrementalencoderincrementaldecoder streamreader streamwriter) codecs CodecInforr r rrrrr r r r getregentryr$) _codecs_jpr"_multibytecodecmbcgetcodecr rMultibyteIncrementalEncoderrMultibyteIncrementalDecoderrMultibyteStreamReaderrMultibyteStreamWriterrr$r r r r  PK!\ encodings/tis_620.pyc3 Β_ 0@dZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdZej eZ dS)h Python Character Mapping Codec tis_620 generated from 'python-mappings/TIS-620.TXT' with gencodec.py. Nc@ eZdZdddZdddZdS) CodecstrictcCtj||tS)N)codecscharmap_encodeencoding_table)selfinputerrorsrencodings/tis_620.pyencode  Codec.encodecCtj||tS)N)rcharmap_decodedecoding_table)r r r rrrdecode Codec.decodeNrr)__name__ __module__ __qualname__rrrrrrr  rc@eZdZdddZdS)IncrementalEncoderFcCtj||jtdS)Nr)rr r r )r r finalrrrrIncrementalEncoder.encodeNF)rrrrrrrrr r c@eZdZdddZdS)IncrementalDecoderFcCtj||jtdS)Nr)rrr r)r r r"rrrrIncrementalDecoder.decodeNF)rrrrrrrrr(r(c@ eZdZdS) StreamWriterN)rrrrrrrr/r/c@ eZdZdS) StreamReaderN)rrrrrrrr2r2c C tjdtjtjttttdS)Ntis-620namerrincrementalencoderincrementaldecoder streamreader streamwriter) r CodecInforrrr r(r2r/rrrr getregentry!r=  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ￾กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู￾￾￾￾฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛￾￾￾￾) __doc__rrr r(r/r2r=r charmap_buildr rrrrPK!:JJencodings/undefined.pyc3 Β_@vdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdS)5 Python 'undefined' Codec This codec will always raise a ValueError exception when being used. It is intended for use by the site.py file to switch off automatic string to Unicode coercion. Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc@ eZdZdddZdddZdS) CodecstrictcC tddS)Nundefined encoding) UnicodeError)selfinputerrorsr encodings/undefined.pyencode Codec.encodecC tddS)Nundefined encoding)r )r r r r r rdecode Codec.decodeNrr)__name__ __module__ __qualname__rrr r r rr rc@eZdZdddZdS)IncrementalEncoderFcC tddS)Nundefined encoding)r )r r finalr r rrIncrementalEncoder.encodeNF)rrrrr r r rrrc@eZdZdddZdS)IncrementalDecoderFcC tddS)Nundefined encoding)r )r r r!r r rrIncrementalDecoder.decodeNF)rrrrr r r rr'r'c@ eZdZdS) StreamWriterN)rrrr r r rr/ r/c@ eZdZdS) StreamReaderN)rrrr r r rr2#r2c C tjdtjtjttttdS)N undefinednamerrincrementalencoderincrementaldecoder streamwriter streamreader) codecs CodecInforrrrr'r/r2r r r r getregentry(r>)__doc__r<rrr'r/r2r>r r r r PK!nencodings/unicode_escape.pyc3 Β_@vdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdS) Python 'unicode-escape' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecsunicode_escape_encodeencodeunicode_escape_decodedecoderrencodings/unicode_escape.pyr rc@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)r r errors)selfinputfinalrrrr IncrementalEncoder.encodeNF)rrrr rrrrrrc@eZdZdddZdS)IncrementalDecoderFcCtj||jdS)Nr)r r r)rrrrrrr IncrementalDecoder.decodeNF)rrrr rrrrrrc@ eZdZdS) StreamWriterN)rrrrrrrr$r$c@ eZdZdS) StreamReaderN)rrrrrrrr'r'c CtjdtjtjttttdS)Nunicode-escapenamer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrr$r'rrrr getregentry$r2)__doc__r rrrr$r'r2rrrrPK!GeUencodings/unicode_internal.pyc3 Β_@vdZddlZGdddejZGdddejZGdddejZGd d d eejZGd d d eejZd dZdS) Python 'unicode-internal' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. Nc@eZdZejZejZdS)CodecN)__name__ __module__ __qualname__codecsunicode_internal_encodeencodeunicode_internal_decodedecoderrencodings/unicode_internal.pyr rc@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)r r errors)selfinputfinalrrrr IncrementalEncoder.encodeNF)rrrr rrrrrrc@eZdZdddZdS)IncrementalDecoderFcCtj||jdS)Nr)r r r)rrrrrrr IncrementalDecoder.decodeNF)rrrr rrrrrrc@ eZdZdS) StreamWriterN)rrrrrrrr$r$c@ eZdZdS) StreamReaderN)rrrrrrrr'r'c CtjdtjtjttttdS)Nunicode-internalnamer r incrementalencoderincrementaldecoder streamwriter streamreader) r CodecInforr r rrr$r'rrrr getregentry$r2)__doc__r rrrr$r'r2rrrrPK!S7encodings/utf_16.pyc3 Β_t@xdZddlZddlZejZdddZGdddejZGdd d ejZGd d d ej Z Gd d d ej Z ddZ dS) Python 'utf-16' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. NstrictcCtj||dS)NT)codecs utf_16_decode)inputerrorsr encodings/utf_16.pydecoder c@8eZdZdddZdddZddZd d Zd d Zd S)IncrementalEncoderrcCtjj||d|_dS)N)rr__init__encoder)selfr r r r rIncrementalEncoder.__init__FcCN|jdkrrrN)rr9r-rrrCrBr:)rr,r r r r-Y  IncrementalDecoder.setstateNr)r2r3r4rrGr#r(r-r r r r r75   r7c@(eZdZd ddZddZd ddZdS) StreamWriterrcCtjj|||d|_dS)N)rrYrr)rstreamr r r r riStreamWriter.__init__cCtjj|d|_dS)N)rrYr#r)rr r r r#m StreamWriter.resetcCF|jdkr6tj||}tjdkr*tj|_ntj|_|S|j||SdS)Nr)rrrrrrr)rrr rr r r rq    StreamWriter.encodeNrr)r2r3r4rr#rr r r r rYh rYc@eZdZddZdddZdS) StreamReaderc C.tjj|y|`Wntk r(YnXdS)N)rrhr#r AttributeError)rr r r r#~  StreamReader.resetrcCRtj||dd\}}}|dkr(tj|_n"|dkr:tj|_n|dkrJtd||fS)NrFr>r'%UTF-16 stream does not start with BOMr@)rrArBr rCrD)rrr objectrFrr r r r   StreamReader.decodeNr)r2r3r4r#r r r r r rh|rhc CtjdttttttdS)Nutf-16namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr rr7rhrYr r r r getregentryr}r) __doc__rrrrr rr9r7rYrhr}r r r r  #3PK!T 99encodings/utf_16_be.pyc3 Β_ @pdZddlZejZdddZGdddejZGdd d ejZGd d d ejZGd d d ej Z ddZ dS) Python 'utf-16-be' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. NstrictcCtj||dS)NT)codecsutf_16_be_decode)inputerrorsr encodings/utf_16_be.pydecoder c@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)rutf_16_be_encoder )selfrfinalr r r encodeIncrementalEncoder.encodeNF)__name__ __module__ __qualname__rr r r r rrc@eZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoder r r r rrc@eZdZejZdS) StreamWriterN)rrrrrrr r r r r!r!c@eZdZejZdS) StreamReaderN)rrrrrr r r r r r$r$c CtjdttttttdS)N utf-16-benamerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr rrr$r!r r r r getregentry!r/r) __doc__rrrr rBufferedIncrementalDecoderrr!r$r/r r r r  PK!99encodings/utf_16_le.pyc3 Β_ @pdZddlZejZdddZGdddejZGdd d ejZGd d d ejZGd d d ej Z ddZ dS) Python 'utf-16-le' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. NstrictcCtj||dS)NT)codecsutf_16_le_decode)inputerrorsr encodings/utf_16_le.pydecoder c@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)rutf_16_le_encoder )selfrfinalr r r encodeIncrementalEncoder.encodeNF)__name__ __module__ __qualname__rr r r r rrc@eZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoder r r r rrc@eZdZejZdS) StreamWriterN)rrrrrrr r r r r!r!c@eZdZejZdS) StreamReaderN)rrrrrr r r r r r$r$c CtjdttttttdS)N utf-16-lenamerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr rrr$r!r r r r getregentry!r/r) __doc__rrrr rBufferedIncrementalDecoderrr!r$r/r r r r  PK!HMMencodings/utf_32.pyc3 Β_ @xdZddlZddlZejZdddZGdddejZGdd d ejZGd d d ej Z Gd d d ej Z ddZ dS) Python 'utf-32' Codec NstrictcCtj||dS)NT)codecs utf_32_decode)inputerrorsr encodings/utf_32.pydecode r c@8eZdZdddZdddZddZd d Zd d Zd S)IncrementalEncoderrcCtjj||d|_dS)N)rr__init__encoder)selfr r r r rIncrementalEncoder.__init__FcCN|jdkrrrO)rr9r-rrrDrCr:)rr,r r r r-T  IncrementalDecoder.setstateNr)r2r3r4rrHr#r(r-r r r r r70   r7c@(eZdZd ddZddZd ddZdS) StreamWriterrcCd|_tjj|||dS)N)rrrZr)rstreamr r r r rdStreamWriter.__init__cCtjj|d|_dS)N)rrZr#r)rr r r r#h StreamWriter.resetcCF|jdkr6tj||}tjdkr*tj|_ntj|_|S|j||SdS)Nr)rrrrrrr)rrr rr r r rl    StreamWriter.encodeNrr)r2r3r4rr#rr r r r rZc rZc@eZdZddZdddZdS) StreamReaderc C.tjj|y|`Wntk r(YnXdS)N)rrir#r AttributeError)rr r r r#y  StreamReader.resetrcCRtj||dd\}}}|dkr(tj|_n"|dkr:tj|_n|dkrJtd||fS)NrFr>r?%UTF-32 stream does not start with BOMrA)rrBrCr rDrE)rrr objectrGrr r r r   StreamReader.decodeNr)r2r3r4r#r r r r r riwric CtjdttttttdS)Nutf-32namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr rr7rirZr r r r getregentryr~r) __doc__rrrrr rr9r7rZrir~r r r r  #3PK!.R [encodings/utf_32_be.pyc3 Β_@pdZddlZejZdddZGdddejZGdd d ejZGd d d ejZGd d d ej Z ddZ dS) Python 'utf-32-be' Codec NstrictcCtj||dS)NT)codecsutf_32_be_decode)inputerrorsr encodings/utf_32_be.pydecode r c@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)rutf_32_be_encoder )selfrfinalr r r encodeIncrementalEncoder.encodeNF)__name__ __module__ __qualname__rr r r r r rc@eZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoder r r r rrc@eZdZejZdS) StreamWriterN)rrrrrrr r r r r!r!c@eZdZejZdS) StreamReaderN)rrrrrr r r r r r$r$c CtjdttttttdS)N utf-32-benamerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr rrr$r!r r r r getregentryr/r) __doc__rrrr rBufferedIncrementalDecoderrr!r$r/r r r r  PK!!encodings/utf_32_le.pyc3 Β_@pdZddlZejZdddZGdddejZGdd d ejZGd d d ejZGd d d ej Z ddZ dS) Python 'utf-32-le' Codec NstrictcCtj||dS)NT)codecsutf_32_le_decode)inputerrorsr encodings/utf_32_le.pydecode r c@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)rutf_32_le_encoder )selfrfinalr r r encodeIncrementalEncoder.encodeNF)__name__ __module__ __qualname__rr r r r r rc@eZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoder r r r rrc@eZdZejZdS) StreamWriterN)rrrrrrr r r r r!r!c@eZdZejZdS) StreamReaderN)rrrrrr r r r r r$r$c CtjdttttttdS)N utf-32-lenamerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr rrr$r!r r r r getregentryr/r) __doc__rrrr rBufferedIncrementalDecoderrr!r$r/r r r r  PK!$encodings/utf_7.pyc3 Β_@pdZddlZejZdddZGdddejZGdd d ejZGd d d ejZGd d d ej Z ddZ dS)F Python 'utf-7' Codec Written by Brian Quinlan (brian@sweetapp.com). NstrictcCtj||dS)NT)codecs utf_7_decode)inputerrorsr encodings/utf_7.pydecode r c@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)r utf_7_encoder )selfrfinalr r r encodeIncrementalEncoder.encodeNF)__name__ __module__ __qualname__rr r r r rrc@eZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoder r r r rrc@eZdZejZdS) StreamWriterN)rrrrrrr r r r r!r!c@eZdZejZdS) StreamReaderN)rrrrrr r r r r r$r$c CtjdttttttdS)Nutf-7namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr rrr$r!r r r r getregentryr/r) __doc__rrrr rBufferedIncrementalDecoderrr!r$r/r r r r  PK!lS%%encodings/utf_8.pyc3 Β_@pdZddlZejZdddZGdddejZGdd d ejZGd d d ejZGd d d ej Z ddZ dS) Python 'utf-8' Codec Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. NstrictcCtj||dS)NT)codecs utf_8_decode)inputerrorsr encodings/utf_8.pydecoder c@eZdZdddZdS)IncrementalEncoderFcCtj||jdS)Nr)r utf_8_encoder )selfrfinalr r r encodeIncrementalEncoder.encodeNF)__name__ __module__ __qualname__rr r r r rrc@eZdZejZdS)IncrementalDecoderN)rrrrr_buffer_decoder r r r rrc@eZdZejZdS) StreamWriterN)rrrrrrr r r r r!r!c@eZdZejZdS) StreamReaderN)rrrrrr r r r r r$r$c CtjdttttttdS)Nutf-8namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr rrr$r!r r r r getregentry!r/r) __doc__rrrr rBufferedIncrementalDecoderrr!r$r/r r r r  PK!FΊencodings/utf_8_sig.pyc3 Β_%@tdZddlZdddZdddZGdd d ejZGd d d ejZGd d d ejZGdddejZddZ dS) Python 'utf-8-sig' Codec This work similar to UTF-8 with the following changes: * On encoding/writing a UTF-8 encoded BOM will be prepended/written as the first three bytes. * On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these bytes will be skipped. NstrictcCtjtj||dt|fS)Nr)codecsBOM_UTF8 utf_8_encodelen)inputerrorsr encodings/utf_8_sig.pyencodercCDd}|ddtjkr&|dd}d}tj||d\}}|||fS)NrT)rr utf_8_decode)r r prefixoutputconsumedr r r decode  rc@8eZdZdddZdddZddZd d Zd d Zd S)IncrementalEncoderrcCtjj||d|_dS)N)rr__init__first)selfr r r r rIncrementalEncoder.__init__FcC:|jr$d|_tjtj||jdStj||jdSdS)Nr)rrrrr )rr finalr r r r IncrementalEncoder.encodecCtjj|d|_dS)Nr)rrresetr)rr r r r&' IncrementalEncoder.resetcC|jS)N)r)rr r r getstate+IncrementalEncoder.getstatecC ||_dS)N)r)rstater r r setstate.IncrementalEncoder.setstateNrF)__name__ __module__ __qualname__rrr&r*r/r r r r r   rc@6eZdZd ddZddZddZdd Zd d Zd S)IncrementalDecoderrcCtjj||d|_dS)Nr)rBufferedIncrementalDecoderrr)rr r r r r2IncrementalDecoder.__init__cCv|jrht|dkr*tjj|r"dSd|_n>d|_|ddtjkrhtj|dd||\}}||dfStj|||S)Nrrr?r)rr rr startswithr)rr r r"rrr r r _buffer_decode6   !IncrementalDecoder._buffer_decodecCtjj|d|_dS)Nr)rr;r&r)rr r r r&G IncrementalDecoder.resetcCtjj|}|d|jfS)Nr)rr;r*r)rr.r r r r*K IncrementalDecoder.getstatecCtjj|||d|_dS)Nr)rr;r/r)rr.r r r r/PIncrementalDecoder.setstateNr)r4r5r6rrBr&r*r/r r r r r91  r9c@eZdZddZdddZdS) StreamWriterc C.tjj|y|`Wntk r(YnXdS)N)rrQr&rAttributeError)rr r r r&V  StreamWriter.resetrcCtj|_t||S)N)rrr)rr r r r r r]StreamWriter.encodeNr)r4r5r6r&rr r r r rQUrQc@eZdZddZdddZdS) StreamReaderc C.tjj|y|`Wntk r(YnXdS)N)rr\r&rrS)rr r r r&b  StreamReader.resetrcCpt|dkrtjj|r\dSn>|ddtjkr\tj|_tj|dd|\}}||dfStj|_tj||S)Nrr?rr?r)r rrrArr)rr r rrr r r ri   StreamReader.decodeNr)r4r5r6r&rr r r r r\ar\c CtjdttttttdS)N utf-8-signamerrincrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforrrr9r\rQr r r r getregentryyrorr) __doc__rrrrr;r9rQr\ror r r r    $ PK!f encodings/uu_codec.pyc3 Β_# @dZddlZddlZddlmZdddZdd d ZGd d d ejZGd ddejZGdddej Z Gdddeej Z Gdddeej Z ddZ dS)Python 'uu_codec' Codec - UU content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). Some details were adapted from uu.py which was written by Lance Ellinghouse and modified by Jack Jansen and Fredrik Lundh. NBytesIOstrictc C|dks tt|}t}|j}|j}|jdd}|jdd}|d|d@|fjd|d }x|r~|tj||d }qbW|d |jt |fS) Nr \n \r begin %o %s ascii- end ) AssertionErrorrreadwritereplaceencodebinasciib2a_uugetvaluelen) inputerrorsfilenamemodeinfileoutfilerrchunkr#encodings/uu_codec.py uu_encode    r%c C|dks tt|}t}|j}|j}x(|}|s:td|dddkr(Pq(Wx|}| sf|dkrhPytj|}WnRtjk r}z4|ddd@d dd } tj|d| }WYdd}~XnX||qRW|std |jt |fS) Nr"Missing "begin" line in input databeginend r ?Truncated input data) rrreadliner ValueErrorra2b_uuErrorrr) rrr r!r1rsdatavnbytesr#r#r$ uu_decode%0 $ r9c@ eZdZdddZdddZdS) CodecrcC t||S)N)r%)selfrrr#r#r$rG Codec.encodecC t||S)N)r9)r>rrr#r#r$decodeJ Codec.decodeNrr)__name__ __module__ __qualname__rrBr#r#r#r$r<F r<c@eZdZdddZdS)IncrementalEncoderFcCt||jdS)Nr)r%r)r>rfinalr#r#r$rNIncrementalEncoder.encodeNF)rGrHrIrr#r#r#r$rLMrLc@eZdZdddZdS)IncrementalDecoderFcCt||jdS)Nr)r9r)r>rrNr#r#r$rBRIncrementalDecoder.decodeNF)rGrHrIrBr#r#r#r$rTQrTc@eZdZeZdS) StreamWriterN)rGrHrIbytescharbuffertyper#r#r#r$r[Ur[c@eZdZeZdS) StreamReaderN)rGrHrIr\r]r#r#r#r$r`Xr`c CtjdttttttddS)NuuFnamerrBincrementalencoderincrementaldecoder streamreader streamwriter_is_text_encoding)codecs CodecInfor%r9rLrTr`r[r#r#r#r$ getregentry]rmrrrr) __doc__rkriorr%r9r<rLrTr[r`rmr#r#r#r$   !PK!W encodings/zlib_codec.pyc3 Β_@dZddlZddlZdddZdddZGdd d ejZGd d d ejZGd d d ejZGdddeejZGdddeej Z ddZ dS)Python 'zlib_codec' Codec - zlib compression encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcC|dks ttj|t|fS)Nr)AssertionErrorzlibcompresslen)inputerrorsr encodings/zlib_codec.py zlib_encode  rcC|dks ttj|t|fS)Nr)rr decompressr )r r r r r zlib_decode rc@ eZdZdddZdddZdS) CodecrcC t||S)N)r)selfr r r r r encode Codec.encodecC t||S)N)r)rr r r r r decode Codec.decodeNrr)__name__ __module__ __qualname__rrr r r r r rc@(eZdZd ddZd ddZddZd S) IncrementalEncoderrcC |dks t||_tj|_dS)Nr)rr r compressobj)rr r r r __init__ IncrementalEncoder.__init__FcC.|r|jj|}||jjS|jj|SdS)N)r(rflush)rr finalcr r r r! IncrementalEncoder.encodecCtj|_dS)N)rr()rr r r reset(IncrementalEncoder.resetNrF)r!r"r#r)rr3r r r r r&  r&c@(eZdZd ddZd ddZddZd S) IncrementalDecoderrcC |dks t||_tj|_dS)Nr)rr r decompressobj)rr r r r r), IncrementalDecoder.__init__FcC.|r|jj|}||jjS|jj|SdS)N)r<rr-)rr r.r/r r r r1 IncrementalDecoder.decodecCtj|_dS)N)rr<)rr r r r38IncrementalDecoder.resetNrF)r!r"r#r)rr3r r r r r:+  r:c@eZdZeZdS) StreamWriterN)r!r"r#bytescharbuffertyper r r r rI;rIc@eZdZeZdS) StreamReaderN)r!r"r#rJrKr r r r rN>rNc CtjdttttttddS)NrFnamerrincrementalencoderincrementaldecoder streamreader streamwriter_is_text_encoding)codecs CodecInforrr&r:rNrIr r r r getregentryCrZrr) __doc__rXrrrrr&r:rIrNrZr r r r   PK!"߻x[x[enum.pyc3 Β_F@>ddlZddlmZmZddlmZddlmZyddl m Z Wn e k r`ddl m Z YnXdddd d d d gZ d dZddZddZddZeZGdd d ZGdddeZdZGdddeZGdddedZGdddeeZddZGdd d eZGdd d eeZd d!Zd"d Z d#d$Z!d%d&Z"dS)'NMappingProxyTypeDynamicClassAttributereduceor_ OrderedDictEnumMetaEnumIntEnumFlagIntFlagautouniquecCt|dpt|dpt|dS)5Returns True if obj is a descriptor, False otherwise.__get____set__ __delete__)hasattr)objrenum.py_is_descriptor  rcCT|dd|ddko"dknoR|dddkoR|dd dkoRt|dkS) 3Returns True if a __dunder__ name, False otherwise.N___r%)len)namerrr _is_dunder(r)cCL|d|dkodknoJ|dddkoJ|dddkoJt|dkS)1Returns True if a _sunder_ name, False otherwise.rr#r r%r.)r')r(rrr _is_sunder$ r/cCdd}||_d|_dS)"Make the given class un-picklable.cStd|dS)N%r cannot be pickled) TypeError)selfprotorrr_break_on_call_reduce-6_make_class_unpicklable.._break_on_call_reduce N) __reduce_ex__ __module__)clsr8rrr_make_class_unpicklable+r?c@eZdZdZeZdS)rP Instances are replaced with an appropriate value in Enum class suites. N)__name__r= __qualname____doc__ _auto_nullvaluerrrrr3c,eZdZdZfddZfddZZS) _EnumDictTrack enum member order and ensure member names are not reused. EnumMeta will use the names found in self._member_names as the enumeration member names. ctjg|_g|_dS)N)super__init__ _member_names _last_values)r6) __class__rrrNA _EnumDict.__init__ct|r.|d krtd|dkrt|d|nt|rD|dkrd}n||jkr\td|nxt|s||krtd |||ft|tr|j t kr|j |d t |j|j d d |_ |j }|jj||j j|tj||d S) Changes anything not dundered or not a descriptor. If an enum member name is used twice, an error is raised; duplicate values are not checked for. Single underscore (sunder) names are reserved. _order__create_pseudo_member__generate_next_value_ _missing_(_names_ are reserved for future Enum use_generate_next_value __order__Attempted to reuse key: %r%r already defined as: %rr-NrVrWrXrY)r/ ValueErrorsetattrr)rOr5r isinstancerrGrFr[r'rPappendrM __setitem__)r6keyrG)rQrrrdF,    "  _EnumDict.__setitem__)rCr=rDrErNrd __classcell__rr)rQrrJ: rJceZdZdZeddZfddZddZd)dddd d d d Zd dZ fddZ ddZ ddZ ddZ ddZddZeddZddZdd Zfd!d"Zdddd d d#d$Zed%d&Zed'd(ZZS)*r Metaclass for EnumcC0t}|j|\}}|dk r,t|dd|d<|S)NrX)rJ _get_mixins_getattr)metaclsr>bases enum_dict member_type first_enumrrr __prepare__r EnumMeta.__prepare__c |j|\}|j|\}}}fddjD}xjD] } | =q>Wjdd} t|dh@} | r~tdjdj| dkrdd<tj |||} g| _ t | _ | _ d d | jD} i| _d krtk rd}tfdd|Dst| x6jD]*}||}t|ts0|f}n|}tkrD|f}|sf|| }t|ds||_n6|| f|}t|dstkr||_n ||_|j}||_| |_|j|x8| j jD]\} }|j|jkr|}PqW| j j||| krt| |||| j |<y|| j|<Wntk r6YnXqWxPdD]H} t| | }t| d}t|| d}|dk rD||krDt| | |qDWtdk r|r|| _ tj | _ | dk rt| t!r| j"ddj#} | | j krtd| S)Nci|]}||qS)r).0k) classdictrr $EnumMeta.__new__..rVmroInvalid enum member name: {0},rEAn enumeration.cS.h|]&}|jjD]\}}t|tr|qqS))__dict__itemsrbr)rycrzvrrr #EnumMeta.__new__..r<__getnewargs_ex____getnewargs__ __reduce__c3|]}|jkVqdS)N)r)rym)rrrr #EnumMeta.__new__.._value___repr____str__ __format__ #member order does not match _order_rrr<rrrrr<)$rm _find_new_rOpopsetr`formatjoinrM__new___member_names_r _member_map_ _member_type_r_value2member_map_objectanyr?rbtuplerr_name_ __objclass__rNrrcrar5rnr __new_member__strreplacesplit)ror>rpr{rsrsave_newuse_args enum_membersr(rV invalid_names enum_classdynamic_attributesmethods member_namerGargs enum_membercanonical_member class_method obj_method enum_method)rQ)r{rrrr|                          EnumMeta.__new__cCdS)6 classes/types should always be True. Tr)r6rrr__bool__EnumMeta.__bool__Nr-modulequalnametypestartcC*|dkr|j||S|j||||||dS)Either returns an existing member, or creates a new enum class. This method is used both when an enum class is given a value to match to an enumeration member (i.e. Color(3)) and for the functional API (i.e. Color = Enum('Color', names='RED GREEN BLUE')). When used for the functional API: `value` will be the name of the new class. `names` should be either a string of white-space/comma delimited names (values will start at `start`), or an iterator/mapping of name, value pairs. `module` should be set to the module this class is being created in; if it is not set, an attempt to find that module will be made, but if it fails the class will not be picklable. `qualname` should be set to the actual location this class can be found at in its module; by default it is set to the global scope. If this is not correct, unpickling will fail in some circumstances. `type`, if set, will be mixed in as the first base class. Nrrrr)r_create_)r>rGnamesrrrrrrr__call__  EnumMeta.__call__cCt||o|j|jkS)N)rbrr)r>memberrrr __contains__)EnumMeta.__contains__c(||jkrtd|jtj|dS)N%s: cannot delete Enum member.)rAttributeErrorrCrM __delattr__)r>attr)rQrrr,  EnumMeta.__delattr__cCddddg|jS)NrQrE __members__r=)r)r6rrr__dir__4 EnumMeta.__dir__c C>t|rt|y |j|Stk r8t|dYnXdS)5Return the enum member matching `name` We use __getattr__ instead of descriptors or inserting into the enum class' __dict__ in order to support `name` and `value` being both properties for enum members (which live in the class' __dict__) and enum members themselves. N)r)rrKeyError)r>r(rrr __getattr__8  EnumMeta.__getattr__cC |j|S)N)r)r>r(rrr __getitem__HEnumMeta.__getitem__cfddjDS)Nc3|]}j|VqdS)N)r)ryr()r>rrrL$EnumMeta.__iter__..)r)r>r)r>r__iter__KEnumMeta.__iter__cC t|jS)N)r'r)r>rrr__len__NEnumMeta.__len__cC t|jS)Returns a mapping of member name->value. This mapping lists all enum members, including aliases. Note that this is a read-only view of the internal mapping. )rr)r>rrrrQEnumMeta.__members__cC d|jS)N )rC)r>rrrr[EnumMeta.__repr__cfddtjDS)Nc3|]}j|VqdS)N)r)ryr()r>rrr_(EnumMeta.__reversed__..)reversedr)r>r)r>r __reversed__^EnumMeta.__reversed__c0|jjdi}||krtdtj||dS)Block attempts to reassign Enum members. A simple assignment to the class namespace only changes one of the several possible ways to get an Enum member from the Enum class, resulting in an inconsistent Enumeration. rCannot reassign members.N)rgetrrM __setattr__)r>r(rG member_map)rQrrr aEnumMeta.__setattr__cC|j}|dkr|fn||f}|j|\} } |j||} t|trP|jddj}t|ttfr|rt|dtr|g} }g} xDt | D]8\}}| j |||| dd}| j ||j ||fqWx6|D].}t|tr|||}}n|\}}|| |<qW|j |||| }|dkrTyt jdjd}Wn(ttfk rR}zWYdd}~XnX|dkrht|n||_|dk r~||_|S)Convenience method to create a new Enum class. `names` can be: * A string containing member names, separated either with spaces or commas. Values are incremented by 1 from `start`. * An iterable of member names. Values are incremented by 1 from `start`. * An iterable of (member name, value) pairs. * A mapping of member name -> value pairs. Nrrrr rC)rQrmrtrbrrrrlist enumeraterXrcrsys _getframe f_globalsrr`r?r=rD)r> class_namerrrrrrorpr#rsr{original_names last_valuescountr(rGitemr member_valuerexcrrrrn<             EnumMeta._create_cC|s ttfSd}}x,|D]$}|tk rt|tr|jrtdqWt|tsTtdt|dtst|d}|d}n8x6|djD](}t|tr|dkr|}q|dkr|}qW||fS)Returns the type for creating enum members, and the first inherited enum class. bases: the tuple of bases that was given to __new__ NCannot extend enumerationsHnew enumerations must be created as `ClassName([mixin_type,] enum_type)`rr-r.)rr issubclassrr5__mro__)rprrrsbaserrrrm(      EnumMeta._get_mixins_c C|jdd}|dk }|dkrtxVdD]H}x8||fD],}t||d}|ddjtjtjhkr0|}Pq0W|dk r"Pq"Wtj}|tjkrd}nd}|||fS) Returns the __new__ to be used for creating the enum members. classdict: the class dictionary given to __new__ member_type: the data type whose __new__ will be used by default first_enum: enumeration to check for an overriding __new__ rNrFTrr)r rnrrr ) r{rrrsrrmethodpossibletargetrrrrr(     EnumMeta._find_new_N)rCr=rDrE classmethodrtrrrrrrrrrrpropertyrrrr r staticmethodrmrrhrr)rQrr p(     5 -c@eZdZdZddZddZeddZdd Zd d Z d d Z ddZ ddZ ddZ eddZeddZedddZdS)r RGeneric enumeration. Derive from this class to define new enumerations. c Cjt||kr|Sy||jkr&|j|SWn6tk r^x |jjD]}|j|krD|SqDWYnX|j|S)N)rrr5rvaluesrrY)r>rGrrrrr    Enum.__new__c C8x2t|D]"}y|dStk r*Yq Xq W|SdS)Nr-)rr5)r(rrr last_valuerrrrX  Enum._generate_next_value_cCtd||jfdS)N%r is not a valid %s)r`rC)r>rGrrrrY"Enum._missing_cCd|jj|j|jfS)N <%s.%s: %r>)rQrCrr)r6rrrr& Enum.__repr__cCd|jj|jfS)N%s.%s)rQrCr)r6rrrr* Enum.__str__c&fddjjD}dddg|S)Nc2g|]*}|jD]}|ddkr|jkr|qqS)rr#)rr)ryr>r)r6rr /  Enum.__dir__..rQrEr=)rQr)r6added_behaviorr)r6rr-  Enum.__dir__cC0|jtkrt}t|}n |j}|j}|j||S)N)rrrrr)r6 format_specr>valrrrr6   Enum.__format__cC t|jS)N)hashr)r6rrr__hash__E Enum.__hash__cC|j|jffS)N)rQr)r6r7rrrr<HEnum.__reduce_ex__cC|jS)The name of the Enum member.)r)r6rrrr(R Enum.namecC|jS)The value of the Enum member.)r)r6rrrrGW Enum.valueNc ttj|}rtn|fddjD}y|jdddWn$tk rp|jdddYnX||||d}t|_|j|j |||<|S)[ Create a new Enum subclass that replaces a collection of global constants c g|]}|r||fqS)r)ryr()filtersourcerrrLq!Enum._convert..cS|d|dfS)Nr-rr)trrrvEnum._convert..recS|dS)Nrr)rorrrrpyr) varsrmoduleskeyssortr5_reduce_ex_by_namer<updater)r>r(rrjrkmodule_globalsmembersr)rjrkr_convert\      Enum._convertN)rCr=rDrErrXr0rYrrrrrYr<rr(rGrrrrrr      metaclassc@eZdZdZdS)r.Enum where members are also (and must be) intsN)rCr=rDrErrrrrcC|jS)N)r()r6r7rrrr{r{c@peZdZdZddZeddZeddZdd Zd d Z d d Z ddZ ddZ ddZ ddZddZdS)rSupport for flagsc Cd|s|dk r|SdSxBt|D]6}yt|}PWqtk rRtd|dYqXqWd|dS) Generate the next value when not given. name: the name of the member start: the initital start value or None count: the number of existing members last_value: the last value assigned or None Nr-Invalid Flag value: %rr )r _high_bit Exceptionr5)r(rrrr;high_bitrrrrX Flag._generate_next_value_cC.|}|dkr|}|j|}|dkr*|}|S)Nr)rW)r>rGoriginal_valuepossible_memberrrrrY Flag._missing_cCb|jj|d}|dkr^t||\}}|r:td||jftj|}d|_||_|jj ||}|S)L Create a composite member iff value contains only members. N%r is not a valid %s) rr  _decomposer`rCrrrr setdefault)r>rG pseudo_memberr# extra_flagsrrrrW Flag._create_pseudo_member_cC"t||jstS|j|j@|jkS)N)rbrQNotImplementedr)r6otherrrrr Flag.__contains__cCV|j}|jdk r$d|j|j|jfSt||j\}}d|jdjdd|D|jfS)N <%s.%s: %r>|cSg|]}t|jp|jqS))rrr)ryrrrrrL!Flag.__repr__..)rQrrCrrr)r6r>r~ uncoveredrrrr  Flag.__repr__cC|j}|jdk r d|j|jfSt||j\}}t|dkr^|djdkr^d|j|djfSd|jdjdd|DfSdS)N%s.%sr-r%s.%rrcSg|]}t|jp|jqS))rrr)ryrrrrrL Flag.__str__..)rQrrCrrr'r)r6r>r~rrrrr  Flag.__str__cC t|jS)N)boolr)r6rrrr Flag.__bool__cC"t||jstS|j|j|jBS)N)rbrQrr)r6rrrr__or__  Flag.__or__cC"t||jstS|j|j|j@S)N)rbrQrr)r6rrrr__and__  Flag.__and__cC"t||jstS|j|j|jAS)N)rbrQrr)r6rrrr__xor__  Flag.__xor__cDtjj\}fddjD}tt|jd}j|S)Nc&g|]}|kr|jj@ r|qS))r)ryr)r~r6rrrL#Flag.__invert__..r)rrQrr_or_)r6rinverted_membersinvertedr)r~r6r __invert__Flag.__invert__N)rCr=rDrErXr0rYrWrrrrrrrrrrrrr   c@TeZdZdZeddZeddZddZdd Zd d Z eZ eZ e Z d d Z dS)rSupport for integer-based FlagscC*t|tstd||jf|j|}|S)N%r is not a valid %s)rbintr`rCrW)r>rG new_memberrrrrY  IntFlag._missing_cC|jj|d}|dkr|g}t||\}}xL|rvt|}d|}||jkr\||kr\|j||| krld}q,||N}q,Wx6t|D]*}tj||}d|_||_ |jj ||}qW|S)Nr r) rr rrrcrrrrrr)r>rGrneed_to_creater#rbit flag_valuerrrrW&     IntFlag._create_pseudo_member_cC0t||jtfstS|j|j|j|jB}|S)N)rbrQrrr)r6rresultrrrrIntFlag.__or__cC,t||jtfstS|j|j|j|j@S)N)rbrQrrr)r6rrrrr#IntFlag.__and__cC,t||jtfstS|j|j|j|jAS)N)rbrQrrr)r6rrrrr(IntFlag.__xor__cC|j|j}|S)N)rQr)r6rrrrr1IntFlag.__invert__N)rCr=rDrEr0rYrWrrr__ror____rand____rxor__rrrrrr  cC |jdS)@returns index of highest bit, or -1 if value is zero or negativer-) bit_length)rGrrrr6rcCbg}x0|jjD]"\}}||jkr|j||jfqW|r^djdd|D}td||f|S)?Class decorator for enumerations ensuring unique member values., cSg|]\}}d||fqS)%s -> %sr)ryaliasr(rrrrLBunique.. duplicate values found in %r: %s)rrr(rcrr`) enumeration duplicatesr(r alias_detailsrrrr:  cC|}|dk}|r*ddt|jjD}nddt|jjD}g}x4|D],\}}|rL||@|krL|j|||M}qLW| r||jkr|j|j||jddddt|d kr|dj|kr|jd||fS) #Extract all members from the value.rcS"g|]\}}|jdk r||fqS)N)r()ryrrrrrrLR_decompose..cS*g|]"\}}|jdk st|r||fqS)N)r( _power_of_two)ryrrrrrrLYcS|jS)N)r)rrrrrpd_decompose..Trereverser-)rrrrcrzr'rGr)flagrG not_coverednegativeflags_to_checkr~rrrrrrG$  rcC|dkr dS|dt|kS)Nr-Fr )r)rGrrrr jr )#rtypesrr functoolsroperatorr r _collectionsr ImportError collections__all__rr)r/r?rrFrdictrJr rr rrr{rrrrrr rrrr@  3mA #PK!b]] functools.pyc3 Β_rz+@dZddddddddd d d g Zyd d lmZWnek rBYnXd dlmZd dlmZd dl m Z d dl m Z d dl mZyd dlmZWn"ek rGdddZYnXdZZd[ZeefddZeefddZefddZefd d!Zefd"d#Zefd$d%Zefd&d'Zefd(d)Zefd*d+Zefd,d-Zefd.d/Zefd0d1Zefd2d3Z efd4d5Z!d6efd7efd8efgd8efd9efd6efgd9efd8efd7efgd7efd6e fd9e!fgd:Z"d;dZ#dd d Z%yd d?lm%Z%Wnek r*YnXGd@d d e&Z'edAdBdCdDdEgZ(GdFdGdGe)Z*e&fe+e,e-e.dHhe/e.e0fdIdJZ1d\dMdZ2dNdOZ3yd dPlm3Z3Wnek rYnXdQdRZ4d]dSdTZ5dUdVZ6dWdXZ7dYd Z8dHS)^Efunctools.py - Tools for working with functions and callable objects update_wrapperwrapsWRAPPER_ASSIGNMENTSWRAPPER_UPDATEStotal_ordering cmp_to_key lru_cachereducepartial partialmethodsingledispatchr get_cache_token namedtupleMappingProxyTypeWeakKeyDictionaryrecursive_reprRLockc@ eZdZdZddZddZdS)r/Dummy reentrant lock for builds without threadscCdS)N)selfrr functools.py __enter__RLock.__enter__cCdS)Nr)r exctypeexcinstexctbrrr!__exit__RLock.__exit__N)__name__ __module__ __qualname____doc__r"r)rrrr!rrr-r,r.r/__annotations____dict__c Cnx<|D]4}yt||}Wntk r,YqXt|||qWx$|D]}t||jt||iqDW||_|S)Update a wrapper function to look like the wrapped function wrapper is the function to be updated wrapped is the original function assigned is a tuple naming the attributes assigned directly from the wrapped function to the wrapper function (defaults to functools.WRAPPER_ASSIGNMENTS) updated is a tuple naming the attributes of the wrapper that are updated with the corresponding attribute from the wrapped function (defaults to functools.WRAPPER_UPDATES) )getattrAttributeErrorsetattrupdate __wrapped__)wrapperwrappedassignedupdatedattrvaluerrr!r,  cCtt|||dS)Decorator factory to apply update_wrapper() to a wrapper function Returns a decorator that invokes update_wrapper() with the decorated function as the wrapper argument and the arguments to wraps() as the remaining arguments. Default arguments are as for update_wrapper(). This is a convenience function to simplify applying partial() to update_wrapper(). r;r<r=)r r)r;r<r=rrr!rJ cC$|j|}||kr|S| o"||kS)IReturn a > b. Computed by @total_ordering from (not a < b) and (a != b).)__lt__)r otherNotImplemented op_resultrrr! _gt_from_ltb rKcC|j|}|p||kS)EReturn a <= b. Computed by @total_ordering from (a < b) or (a == b).)rG)r rHrIrJrrr! _le_from_lti rOcC|j|}||kr|S| S)=Return a >= b. Computed by @total_ordering from (not a < b).)rG)r rHrIrJrrr! _ge_from_ltn rScC$|j|}||kr|S| p"||kS)JReturn a >= b. Computed by @total_ordering from (not a <= b) or (a == b).)__le__)r rHrIrJrrr! _ge_from_leu rXcC"|j|}||kr|S|o ||kS)FReturn a < b. Computed by @total_ordering from (a <= b) and (a != b).)rW)r rHrIrJrrr! _lt_from_le| r\cC|j|}||kr|S| S)=Return a > b. Computed by @total_ordering from (not a <= b).)rW)r rHrIrJrrr! _gt_from_le r`cC$|j|}||kr|S| o"||kS)IReturn a < b. Computed by @total_ordering from (not a > b) and (a != b).)__gt__)r rHrIrJrrr! _lt_from_gt recC|j|}|p||kS)EReturn a >= b. Computed by @total_ordering from (a > b) or (a == b).)rd)r rHrIrJrrr! _ge_from_gt ricC|j|}||kr|S| S)=Return a <= b. Computed by @total_ordering from (not a > b).)rd)r rHrIrJrrr! _le_from_gt rmcC$|j|}||kr|S| p"||kS)JReturn a <= b. Computed by @total_ordering from (not a >= b) or (a == b).)__ge__)r rHrIrJrrr! _le_from_ge rrcC"|j|}||kr|S|o ||kS)FReturn a > b. Computed by @total_ordering from (a >= b) and (a != b).)rq)r rHrIrJrrr! _gt_from_ge rvcC|j|}||kr|S| S)=Return a < b. Computed by @total_ordering from (not a >= b).)rq)r rHrIrJrrr! _lt_from_ge rzrdrWrqrGrGrWrdrqcZfddtD}|stdt|}x.t|D]"\}}||kr0||_t||q0WS)6Class decorator that fills in missing ordering methodsc(g|] }t|dtt|dk r|qS)N)r5object).0op)clsrr! "total_ordering..6must define at least one ordering operation: < > <= >=)_convert ValueErrormaxr,r7)rrootsrootopnameopfuncr)rr!rcGfdddt}|S),Convert a cmp= function into a key= functioncZeZdZdgZddZfddZfddZfdd Zfd d Zfd d Z dZ dS)cmp_to_key..KobjcS ||_dS)N)r)r rrrr!__init__cmp_to_key..K.__init__c|j|jdkS)Nr)r)r rH)mycmprr!rGcmp_to_key..K.__lt__c|j|jdkS)Nr)r)r rH)rrr!rdcmp_to_key..K.__gt__c|j|jdkS)Nr)r)r rH)rrr!__eq__cmp_to_key..K.__eq__c|j|jdkS)Nr)r)r rH)rrr!rWcmp_to_key..K.__le__c|j|jdkS)Nr)r)r rH)rrr!rqcmp_to_key..K.__ge__N) r,r-r. __slots__rrGrdrrWrq__hash__r)rrr!K     r)r)rrr)rr!rrcJeZdZdZdZfddZd d Zed d Zd dZ ddZ Z S)r SNew function with partial application of the given arguments and keywords. funcargskeywordsr2 __weakref__c|s tdt|dkr td|^}}}t|s:tdt|}t|drv|j|}|jj}|j||}~|j }t t |j |}||_ ||_||_|S)N1descriptor '__new__' of partial needs an argument*type 'partial' takes at least one argument#the first argument must be callabler) TypeErrorlencallabletuplehasattrrrcopyr8rsuperr __new__)rrrrtmpkwr ) __class__rr!r(      partial.__new__cO:|s td|^}}|jj}|j||j|j||S)N2descriptor '__call__' of partial needs an argument)rrrr8rr)rrr newkeywordsrrr!__call__   partial.__call__cCt|j}t|jg}|jdd|jD|jdd|jjDt|jdkrld|ddj |dS|ddj |dS) Ncs|]}t|VqdS)N)repr)rxrrr! #partial.__repr__..cs |]\}}|d|VqdS)=Nr)rkvrrr!r functools functools.(, )) typer.rrextendrritemsr-join)r qualnamerrrr!__repr__  partial.__repr__cC*t||jf|j|j|jpd|jp$dffS)N)rrrrr2)r rrr! __reduce__#partial.__reduce__cCt|tstdt|dkr0tdt||\}}}}t| szt|t sz|dk rft|t sz|dk rt|t rtdt|}|dkri}nt|tk rt|}|dkri}||_||_||_ ||_ dS)N(argument to __setstate__ must be a tupleexpected 4 items in state, got invalid partial state) isinstancerrrrdictrr2rrr)r staterrkwds namespacerrr! __setstate__'(    partial.__setstate__rrrr2r) r,r-r.r/rrrrrrr __classcell__rr)rr!r   r c@<eZdZdZddZddZddZdd Zed d Z d S) r Method descriptor with partial application of the given arguments and keywords. Supports wrapping existing descriptors and handles non-descriptor callables as instance methods. cOrt| r$t|d r$tdj|t|tr\|j|_|j||_|jj |_|jj |n||_||_||_dS)N__get__${!r} is not callable or a descriptor) rrrformatrr rrrrr8)r rrrrrr!rM   partialmethod.__init__cCNdjtt|j}djdd|jjD}d}|j|jj|jj |j ||dS)N, cs|]\}}dj||VqdS){}={!r}N)r)rrrrrr!rc)partialmethod.__repr__..*{module}.{cls}({func}, {args}, {keywords})modulerrrr) rmaprrrrrrr-r.r)r rr format_stringrrr!ra  partialmethod.__repr__cfdd}j|_|_|S)Nc<jj}|j||^}}|fjt|}j||S)N)rrr8rrr)rr call_keywords cls_or_selfrest call_args)r rr!_methodm   3partialmethod._make_unbound_method.._method)__isabstractmethod___partialmethod)r rr)r r!_make_unbound_methodl "partialmethod._make_unbound_methodc Ct|jdd}d}|dk rd|||}||jk rdt|f|j|j}y |j|_Wntk rbYnX|dkr||jj||}|S)Nr) r5rr rr__self__r6rr)r rrgetresultnew_funcrrr!rw   partialmethod.__get__cCt|jddS)NrF)r5r)r rrr!r"partialmethod.__isabstractmethod__N) r,r-r.r/rrrrpropertyrrrrr!r E    CacheInfohitsmissesmaxsizecurrsizec@(eZdZdZdZefddZddZdS) _HashedSeq This class guarantees that hash() will be called no more than once per element. This is important because the lru_cache() will hash the key multiple times on a cache miss. hashvaluecC||dd<|||_dS)N)r2)r tuphashrrr!r _HashedSeq.__init__cC|jS)N)r2)r rrr!r_HashedSeq.__hash__N)r,r-r.r/rr5rrrrrr!r0 r0Nc |}|r*||7}x|jD] } || 7}qW|rl||fdd|D7}|r||fdd|jD7}n$||dkr|d|kr|dSt|S)Make a cache key from optionally typed positional and keyword arguments The key is constructed in a way that is flat as possible rather than as a nested structure that would take more memory. If there is only a single argument and its data type is known to cache its hash value, then that argument is returned without a wrapper. This saves space and improves lookup speed. c3|]}|VqdS)Nr)rr)rrr!r_make_key..c3|]}|VqdS)Nr)rr)rrr!rr)rvaluesr0) rrtypedkwd_mark fasttypesrrrkeyitemr)rr! _make_key  rJFc.dk rtt rtdfdd}|S)Least-recently-used cache decorator. If *maxsize* is set to None, the LRU features are disabled and the cache can grow without bound. If *typed* is True, arguments of different types will be cached separately. For example, f(3.0) and f(3) will be treated as distinct calls with distinct results. Arguments to the cached function must be hashable. View the cache statistics named tuple (hits, misses, maxsize, currsize) with f.cache_info(). Clear the cache and statistics with f.cache_clear(). Access the underlying function with f.__wrapped__. See: http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used N)Expected maxsize to be an integer or Nonect|t}t||S)N)_lru_cache_wrapper _CacheInfor) user_functionr:)r-rErr!decorating_function&lru_cache..decorating_function)rintr)r-rErTr)r-rEr!r ctt d\id djjt gddgdd< dkrh fdd}nN dkr fdd}n* fd d} fd d } fd d }||_||_|S)NrrCrFc||}d7|S)NrCr)rrr!)r,rSrr!r: #_lru_cache_wrapper..wrappercH||}|}|k r*d7|S||}||<d7|S)NrCr)rrrHr!)cache cache_getr+make_keyr,sentinelrErSrr!r:   c 2 ||} f|}|dk rr|\}}}}||<||< }||< <||< |<d7|SWdQRX||} |krnr } || <|| <|  } } d < <| =| |<n6 }| ||g}||< <|< k d7 WdQRX|S)NrCr) rrrHlink link_prev link_next_keyr!lastoldrootoldkey oldresult)KEYNEXTPREVRESULTr_r` cache_lenfullr+lockrar-r,rrErSrr!r:B      c  SQRXdS)Report cache statisticsNrr)rRrqr+rsr-r,rr! cache_infoG&_lru_cache_wrapper..cache_infoc <.jddgdd<ddWdQRXdS)$Clear the cache and cache statisticsNrF)clearr)r_rrr+rsr,rrr! cache_clearL '_lru_cache_wrapper..cache_clearrrCrrZ)rrJr __len__rrwr})rSr-rErRr:rwr}r)rmrnrorprRr_r`rqrrr+rsrar-r,rrbrErSr!rQ* *9 rQrQcCg}xdd|D}|s|Sx:|D]2}|d}x$|D]}||ddkr4d}Pq4WPq"W|dkrhtd|j|x|D]}|d|krx|d=qxWqWdS)Merges MROs in *sequences* to a single MRO using the C3 algorithm. Adapted from http://www.python.org/download/releases/2.3/mro/. cSg|] }|r|qS)r)rsrrr!rk_c3_merge..rrCNInconsistent hierarchy) RuntimeErrorappend) sequencesr!s1 candidates2seqrrr! _c3_mergec$     rc &x8tt|jD]"\}tdrt|j|}PqWd}rFtngt|jd|}g}t|j|d}x:D]2t|rxtfdd|jD rx|jqxWx|D]j qWfdd|D}fdd|D}fd d|D} t |gg||| |g|g|gS) Computes the method resolution order using extended C3 linearization. If no *abcs* are given, the algorithm works exactly like the built-in C3 linearization used for method resolution. If given, *abcs* is a list of abstract base classes that should be inserted into the resulting MRO. Unrelated ABCs are ignored and don't end up in the result. The algorithm inserts ABCs where their functionality is introduced, i.e. issubclass(cls, abc) returns True for the class itself but returns False for all its direct base classes. Implicit ABCs for a given class (either registered or inferred from the presence of a special method like __len__) are inserted directly after the last ABC explicitly listed in the MRO of said class. If two implicit ABCs end up next to each other in the resulting MRO, their ordering depends on the order of types in *abcs*. __abstractmethods__rNc3|]}t|VqdS)N) issubclass)rb)baserr!r_c3_mro..cg|]}t|dqS)abcs)_c3_mro)rr)rrr!r_c3_mro..cg|]}t|dqS)r)r)rr)rrr!rcg|]}t|dqS)r)r)rr)rrr!r) enumeratereversed __bases__rrlistranyrremover) rriboundaryexplicit_basesabstract_bases other_basesexplicit_c3_mrosabstract_c3_mros other_c3_mrosr)rrr!r~(    rctjfddfddDfddfddDtg}xD]}g}x<|jD]0}|krlt|rl|jfdd|jDqlW|s|j|qZ|jtd d x,|D]$}x|D]}||kr|j|qWqWqZWt|d S) Calculates the method resolution order for a given class *cls*. Includes relevant abstract base classes (with their respective bases) from the *types* iterable. Uses a modified C3 linearization algorithm. c|kot|dot|S)N__mro__)rr)typ)basesrrr! is_related _compose_mro..is_relatedcg|]}|r|qS)r)rn)rrr!r _compose_mro..c(x"D]}||kr||jkrdSqWdS)NTF)r)rrH)typesrr!is_strict_base $_compose_mro..is_strict_basecg|]}|s|qS)r)rr)rrr!rcg|]}|kr|qS)r)rr)type_setrr!rTrHreverser)setr__subclasses__rrsortrr)rrmrorfoundsubsubclsr)rrrrrrr! _compose_mro*      rcCxt||j}d}xZ|D]R}|dk r^||kr\||jkr\||jkr\t|| r\tdj||P||kr|}qW|j|S)^Returns the best matching implementation from *registry* for type *cls*. Where there is no registered implementation for a specific type, its method resolution order is used to find a more generic implementation. Note: if *registry* does not contain an implementation for the base *object* type, this function may return None. NAmbiguous dispatch: {} or {})rkeysrrrrr )rregistryrmatchtrrr! _find_impl     rcitdfddd fdd fdd}t|dd |t<|_|_t|_j|_t |||S) lSingle-dispatch generic function decorator. Transforms a function into a generic function, which can have different behaviours depending upon the type of its first argument. The decorated function acts as the default implementation, and additional implementations can be registered using the register() attribute of the generic function. Nc|dk r"t}|kr"j|y |}WnHtk rvy |}Wntk rht|}YnX||<YnX|S)generic_func.dispatch(cls) -> Runs the dispatch algorithm to return the best available implementation for the given *cls* registered on *generic_func*. N)rr|KeyErrorr)r current_tokenimpl) cache_tokendispatch_cacherrr!dispatch   singledispatch..dispatchcB|dkrfddS|<dkr6tdr6tj|S)generic_func.register(cls, func) -> func Registers a new implementation for the given *cls* on a *generic_func*. Nc |S)Nr)f)rregisterrr!2singledispatch..register..r)rrr|)rr)rrrr)rr!r singledispatch..registerc&|std|dj||S)N( requires at least 1 positional argumentr)rr)rkw)rfuncnamerr!r:"singledispatch..wrapperr,singledispatch functionN) rr5rrrrrr| _clear_cacher)rr:r)rrrrrrr!r     r-r,r.r/r1r2rLFN)9r/__all__ _functoolsr ImportErrorabcr collectionsrrrweakrefrreprlibr_threadrrrrrrIrKrOrSrXr\r`rerirmrrrvrzrrrr rr rRrr0rWstr frozensetrrrrJr rQrrrrr rrrr!                      NN %t -)PK!077 heapq.pyc3 Β_Y#@ZdZdZdddddddd gZd dZd dZd dZd d ZddZddZddZ ddZ ddZ ddZ ddZ ddZdddd dZd)d!dZd*d"dZy d#d$lTWnek rYnXyd#d%lm Z Wnek rYnXyd#d&lm Z Wnek rYnXyd#d'lmZWnek r6YnXed(krVd#dlZeejdS)+Heap queue algorithm (a.k.a. priority queue). Heaps are arrays for which a[k] <= a[2*k+1] and a[k] <= a[2*k+2] for all k, counting elements from 0. For the sake of comparison, non-existing elements are considered to be infinite. The interesting property of a heap is that a[0] is always its smallest element. Usage: heap = [] # creates an empty heap heappush(heap, item) # pushes a new item on the heap item = heappop(heap) # pops the smallest item from the heap item = heap[0] # smallest item on the heap without popping it heapify(x) # transforms list into a heap, in-place, in linear time item = heapreplace(heap, item) # pops and returns smallest item, and adds # new item; the heap size is unchanged Our API differs from textbook heap algorithms as follows: - We use 0-based indexing. This makes the relationship between the index for a node and the indexes for its children slightly less obvious, but is more suitable since Python uses 0-based indexing. - Our heappop() method returns the smallest item, not the largest. These two make it possible to view the heap as a regular Python list without surprises: heap[0] is the smallest item, and heap.sort() maintains the heap invariant! oHeap queues [explanation by François Pinard] Heaps are arrays for which a[k] <= a[2*k+1] and a[k] <= a[2*k+2] for all k, counting elements from 0. For the sake of comparison, non-existing elements are considered to be infinite. The interesting property of a heap is that a[0] is always its smallest element. The strange invariant above is meant to be an efficient memory representation for a tournament. The numbers below are `k', not a[k]: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 In the tree above, each cell `k' is topping `2*k+1' and `2*k+2'. In a usual binary tournament we see in sports, each cell is the winner over the two cells it tops, and we can trace the winner down the tree to see all opponents s/he had. However, in many computer applications of such tournaments, we do not need to trace the history of a winner. To be more memory efficient, when a winner is promoted, we try to replace it by something else at a lower level, and the rule becomes that a cell and the two cells it tops contain three different items, but the top cell "wins" over the two topped cells. If this heap invariant is protected at all time, index 0 is clearly the overall winner. The simplest algorithmic way to remove it and find the "next" winner is to move some loser (let's say cell 30 in the diagram above) into the 0 position, and then percolate this new 0 down the tree, exchanging values, until the invariant is re-established. This is clearly logarithmic on the total number of items in the tree. By iterating over all items, you get an O(n ln n) sort. A nice feature of this sort is that you can efficiently insert new items while the sort is going on, provided that the inserted items are not "better" than the last 0'th element you extracted. This is especially useful in simulation contexts, where the tree holds all incoming events, and the "win" condition means the smallest scheduled time. When an event schedule other events for execution, they are scheduled into the future, so they can easily go into the heap. So, a heap is a good structure for implementing schedulers (this is what I used for my MIDI sequencer :-). Various structures for implementing schedulers have been extensively studied, and heaps are good for this, as they are reasonably speedy, the speed is almost constant, and the worst case is not much different than the average case. However, there are other representations which are more efficient overall, yet the worst cases might be terrible. Heaps are also very useful in big disk sorts. You most probably all know that a big sort implies producing "runs" (which are pre-sorted sequences, which size is usually related to the amount of CPU memory), followed by a merging passes for these runs, which merging is often very cleverly organised[1]. It is very important that the initial sort produces the longest runs possible. Tournaments are a good way to that. If, using all the memory available to hold a tournament, you replace and percolate items that happen to fit the current run, you'll produce runs which are twice the size of the memory for random input, and much better for input fuzzily ordered. Moreover, if you output the 0'th item on disk and get an input which may not fit in the current tournament (because the value "wins" over the last output value), it cannot fit in the heap, so the size of the heap decreases. The freed memory could be cleverly reused immediately for progressively building a second heap, which grows at exactly the same rate the first heap is melting. When the first heap completely vanishes, you switch heaps and start a new run. Clever and quite effective! In a word, heaps are useful memory structures to know. I use them in a few applications, and I think it is good to keep a `heap' module around. :-) -------------------- [1] The disk balancing algorithms which are current, nowadays, are more annoying than clever, and this is a consequence of the seeking capabilities of the disks. On devices which cannot seek, like big tape drives, the story was quite different, and one had to be very clever to ensure (far in advance) that each tape movement will be the most effective possible (that is, will best participate at "progressing" the merge). Some tapes were even able to read backwards, and this was also used to avoid the rewinding time. Believe me, real good tape sorts were quite spectacular to watch! From all times, sorting has always been a Great Art! :-) heappushheappopheapify heapreplacemergenlargest nsmallest heappushpopcC"|j|t|dt|ddS)4Push item onto heap, maintaining the heap invariant.N)append _siftdownlen)heapitemrheapq.pyr cC.|j}|r*|d}||d<t|d|S|S)CPop the smallest item off the heap, maintaining the heap invariant.r)pop_siftup)rlastelt returnitemrrrr cC|d}||d<t|d|S)Pop and return the current smallest value, and add the new item. This is more efficient than heappop() followed by heappush(), and can be more appropriate when using a fixed-size heap. Note that the value returned may be larger than item! That constrains reasonable uses of this routine unless written as part of a conditional replacement: if item > heap[0]: item = heapreplace(heap, item) r)r)rrrrrrr  cC0|r,|d|kr,|d|}|d<t|d|S)1Fast version of a heappush followed by a heappop.r)r)rrrrrr  cC0t|}x"tt|dD]}t||qWdS)8Transform list into a heap, in-place, in O(len(x)) time.N)rreversedranger)xnirrrrcC.|j}|r*|d}||d<t|d|S|S)Maxheap version of a heappop.r)r _siftup_max)rrrrrr _heappop_max r1cC|d}||d<t|d|S)4Maxheap version of a heappop followed by a heappush.r)r0)rrrrrr_heapreplace_max r5cC0t|}x"tt|dD]}t||qWdS);Transform list into a maxheap, in-place, in O(len(x)) time.r'N)rr(r)r0)r*r+r,rrr _heapify_maxr9cCN||}x8||kr@|dd?}||}||kr<|||<|}q Pq W|||<dS)Nrr)rstartposposnewitem parentposparentrrrr  rcCt|}|}||}d|d}xN||krn|d}||krP||||k rP|}||||<|}d|d}q"W|||<t|||dS)Nr'r)rr)rr=endposr<r>childposrightposrrrr   rcCN||}x8||kr@|dd?}||}||kr<|||<|}q Pq W|||<dS)Maxheap variant of _siftdownrNr)rr<r=r>r?r@rrr _siftdown_max  rIcCt|}|}||}d|d}xN||krn|d}||krP||||k rP|}||||<|}d|d}q"W|||<t|||dS)Maxheap variant of _siftupr'rN)rrI)rr=rCr<r>rDrErrrr0%   r0NFkeyreversec g4g}|j}|r t}t}t}d}nt}t}t}d}|dkr"xNttt |D]<\} } y| j } || | || gWqJt k rYqJXqJW||xdt |dkry6x0|d\} } } } | V| | d<||| qWWqt k r||YqXqW|r|d\} } } | V| j EdHdSx\ttt |D]J\} } y(| j } | } ||| | || | gWnt k rxYnXq2W||x~t |dkryJxD|d\}} } } } | V| } || | d<| | d<||| qWWnt k r||YnXqW|r0|d\}} } } | V| j EdHdS)kMerge multiple sorted inputs into a single sorted output. Similar to sorted(itertools.chain(*iterables)) but returns a generator, does not pull the data into memory all at once, and assumes that each of the input streams is already sorted (smallest to largest). >>> list(merge([1,3,5,7], [0,2,4,8], [5,10,15,20], [], [25])) [0, 1, 2, 3, 4, 5, 5, 7, 8, 10, 15, 20, 25] If *key* is not None, applies a key function to each element to determine its sort order. >>> list(merge(['dog', 'horse'], ['cat', 'fish', 'kangaroo'], key=len)) ['dog', 'cat', 'fish', 'horse', 'kangaroo'] rNrr')rr9r1r5rrr enumeratemapiter__next__ StopIterationr__self__)rOrP iterableshh_append_heapify_heappop _heapreplace directionorderitnextvalues key_valuerrrr:p      c |dkrLt|}t}dkr,t||d}nt||d}||krFgS|gSy t|}Wnttfk rpYnX||krt|dd|Sdkr*t|}ddtt||D}|s|St ||dd}|}t } x6|D].} | |kr| || |f|dd}|d7}qW|j d d|DSt|}fd dtt||D}|sX|St ||dd}|}t } xD|D]<} | } | |krz| || || f|dd}|d7}qzW|j d d|DS) bFind the n smallest elements in a dataset. Equivalent to: sorted(iterable, key=key)[:n] rNdefaultrkrOrOcSg|]\}}||fqS)r).0r,elemrrr nsmallest..rcSg|] }|dqS)rr)rorrrrrqcg|]\}}|||fqS)r)ror,rp)rOrrrqcSg|] }|dqS)r'r)rorurrrrq ) rVobjectminr TypeErrorAttributeErrorsortedzipr)r9r5sort) r+iterablerOrbsentinelresultsizetoprar_rpkr)rOrr Z          c |dkrLt|}t}dkr,t||d}nt||d}||krFgS|gSy t|}Wnttfk rpYn X||krt|ddd|Sdkr8t|}ddttd | d|D}|s|St ||d d }| }t } x6|D].} || kr| || |f|d d }|d8}qW|j dd d d|DSt|}fd dttd | d|D}|sl|St ||d d }| }t } xD|D]<} | } || kr| || || f|d d }|d8}qW|j dd d d|DS)oFind the n largest elements in a dataset. Equivalent to: sorted(iterable, key=key, reverse=True)[:n] rNrkrkrOTrOrPcSg|]\}}||fqS)r)ror,rprrrrq(nlargest..rrPcSg|] }|dqS)rr)rorurrrrq5cg|]\}}|||fqS)r)ror,rp)rOrrrq9cSg|] }|dqS)r'r)rorurrrrqGrSrS) rVr{maxrr}r~rrr)rrr) r+rrOrbrrrrrar_rprr)rOrr Z       "     r*r5r9r1__main__NN)__doc__ __about____all__rrrr rr1r5r9rrrIr0rr r _heapq ImportError__name__doctestprinttestmodrrrrL`      5 ? >  PK!wt( ( io.pyc3 Β_ @ldZdZdddddddd d d d d ddddddgZddlZddlZddlmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZejZde_dZdZdZGdddejejdZGdddejeZGdd d ejeZGdddejeZej e x"e e e eefD]Z!ej e!qWxe efD]Z!ej e!q W[!yddlm"Z"Wne#k r\Yn Xej e"dS) The io module provides the Python interfaces to stream handling. The builtin open function is defined in this module. At the top of the I/O hierarchy is the abstract base class IOBase. It defines the basic interface to a stream. Note, however, that there is no separation between reading and writing to streams; implementations are allowed to raise an OSError if they do not support a given operation. Extending IOBase is RawIOBase which deals simply with the reading and writing of raw bytes to a stream. FileIO subclasses RawIOBase to provide an interface to OS files. BufferedIOBase deals with buffering on a raw byte stream (RawIOBase). Its subclasses, BufferedWriter, BufferedReader, and BufferedRWPair buffer streams that are readable, writable, and both respectively. BufferedRandom provides a buffered interface to random access streams. BytesIO is a simple stream of in-memory bytes. Another IOBase subclass, TextIOBase, deals with the encoding and decoding of streams into text. TextIOWrapper, which extends it, is a buffered text interface to a buffered raw stream (`BufferedIOBase`). Finally, StringIO is an in-memory stream for text. Argument names are not part of the specification, and only the arguments of open() are intended to be used as keyword arguments. data: DEFAULT_BUFFER_SIZE An int containing the default buffer size used by the module's buffered I/O classes. open() uses the file's blksize (as obtained by os.stat) if possible. Guido van Rossum , Mike Verdone , Mark Russell , Antoine Pitrou , Amaury Forgeot d'Arc , Benjamin Peterson BlockingIOErroropenIOBase RawIOBaseFileIOBytesIOStringIOBufferedIOBaseBufferedReaderBufferedWriterBufferedRWPairBufferedRandom TextIOBase TextIOWrapperUnsupportedOperationSEEK_SETSEEK_CURSEEK_ENDN DEFAULT_BUFFER_SIZErrrrr r r r rrIncrementalNewlineDecoderrioc@eZdZejjZdS)rN)__name__ __module__ __qualname___io_IOBase__doc__r$r$io.pyrH metaclassc@eZdZejjZdS)rN)rrr r! _RawIOBaser#r$r$r$r%rKc@eZdZejjZdS)r N)rrr r!_BufferedIOBaser#r$r$r$r%r Nc@eZdZejjZdS)rN)rrr r! _TextIOBaser#r$r$r$r%rQ_WindowsConsoleIO)$r# __author____all__r!abcrrrrrr r r r rrrr OpenWrapperrrrrr"ABCMetarr*rr-r r0rregisterklassr3 ImportErrorr$r$r$r%"<  <   PK! keyword.pyc3 Β_!@vdZddgZddddddd d d d d ddddddddddddddddddd d!d"d#g!ZeejZd$d%Zed&krred'S)(Keywords (from "graminit.c") This file is automatically generated; please don't muck it up! To update the symbols in this file, 'cd' to the top directory of the python source tree after building the interpreter and run: ./python Lib/keyword.py iskeywordkwlistFalseNoneTrueandasassertbreakclasscontinuedefdelelifelseexceptfinallyforfromglobalifimportinislambdanonlocalnotorpassraisereturntrywhilewithyieldcC|ddl}ddl}|jdd}|r*|dp,d}t|dkrD|d}nd}t|dd}|j}WdQRX|r|dt|djdnd}t|T}|jd}g} x>|D]6} d | kr|j| } | r| j d | j dd |qWWdQRX| j y0|j d |d} |j d |} | || | <Wn,t k rR|jjd|jdYnXt|ddd}|j|WdQRXdS)NPython/graminit.cLib/keyword.pynewline "([^"]+)"{1, " '',#--start keywords--#--end keywords--'target does not contain format markers w)sysreargvlenopen readlinesstripcompilesearchappendgroupsortindex ValueErrorstderrwriteexit writelines)r7r8argsiptfileoptfilefpformatnlstrproglineslinematchstartendrU keyword.pymain76 $    * rW__main__N)__doc____all__r frozenset __contains__rrW__name__rUrUrUrV L &PK! linecache.pyc3 Β_@ndZddlZddlZddlZddlZdddgZdddZiaddZddd Z dd dZ dd d Z d dZ dS)Cache lines from Python source files. This is intended to read lines from modules imported -- hence if a filename is not found, it will look down the module search path for a file by that name. Ngetline clearcache checkcachecC:t||}d|ko t|knr2||dSdSdS)N)getlineslen)filenamelinenomodule_globalslinesr linecache.pyr  cCiadS)Clear the cache entirely.N)cacherrrrrc CR|tkr(t|}t|dkr(t|dSy t||Stk rLtgSXdS)Get the lines for a Python source file from the cache. Update the cache if it doesn't contain an entry for this file already.rN)rr updatecache MemoryErrorr)r rentryrrrr %   r c C|dkrttj}n|tkr&|g}ndSx~|D]v}t|}t|dkrJq0|\}}}}|dkr`q0ytj|}Wntk rt|=w0YnX||jks||jkr0t|=q0WdS)UDiscard cache entries that are out of date. (This is not checked upon each call!)Nr) listrkeysr osstatOSErrorst_sizest_mtime)r filenamesrsizemtimerfullnamer#rrrr5&   c "C|tkrtt|dkrt|=| s8|jdr<|jdrrNcSg|] }|dqS) r).0linerrr qupdatecache..rr1r7)rr startswithendswithr"r#r$ lazycache ImportError splitlinespathisabssysjoin TypeErrorAttributeErrortokenizeopen readlinesr%r&) r rr*r#basenamedatadirnamefprr(r)rrrrRV        rcC|tkr tt|dkrdSdS| s:|jdr>|jdr>dS|rd|kr|jd}|d}t|dd }|r|rtj||}|ft|<dSdS) Seed the cache for filename with module_globals. The module loader will be asked for the source only when getlines is called, not immediately. If there is an entry in the cache already, it is not altered. :return: True if a lazy load is registered in the cache, otherwise False. To register such a load a module loader with a get_source method must be found, the filename must be a cachable filename, and the filename must not be already cached. rTFr.r/ __loader____name__ get_sourceN)rr r8r9getgetattr functoolspartial)r rnameloaderrO get_linesrrrr:      r:NNNN) __doc__rRr?r"rC__all__rrrr rrr:rrrr     APK!eW locale.pyc3 Β_-]@dZddlZddlZddlZddlZddlZddlmZddl Z dddddd d d d d dddddddddddddgZ ddZ ddZ y ddl TWnLek rd Zd!Zd"ZdZd#Zd$Zd%Zd&ZeZd'd Zdd(dZYnXd ekre Zd ekre ZeZiZe j ed)d Zd*d+Z!dd-d.Z"d/d0Z#ej$d1Z%dd2dZ&dd3d4Z'dd5dZ(dd7dZ)d8d Zd9d:Z*e+fd;dZ,dZ.eZ/d?d@Z0dAdBZ1dCdZ2dDdEZ3dFdGZ4ddJdZ5efdKdZ6ddLdZefdMd Z7ej8j9dNr ddOdZ:n8ye;Wn"ee=j?D]"\Z@ZAe@jBdqdrZ@e=jCe@eAqWdsdsdsdtdudvdwdwdxdydzdzd{d|d}d~d~dddddddddddddddddddd~ddddddddddddddddddddddddddddddddddddRddRdRd{ddRdRddddddddd{ddddddddddddddddddddddddddddddddddddddddddd{ddddddddddddddddddd{dddddddd{dd{dRd{dddddddddddddddddddddddddddd̐dddddddddddddd d d d dd d d d d d d d dddddddddddddddddd͐dddddddddddddddddddd d d d!d"d#d$d%d&d&d'd(d&d&d%d%d{dd{dd{dd)d*d)d)d+d+d+ddd,d-d-d-d.d.d-d-d-d-d-d/d/d/d0d/d1d2d3d3d4d5d5d6d6d6d7d6d6d8d8d9d:d;d;d<d<d=d>d?d@dAdBdCdDdDdEdEdDdBdBdFdFdGdHdIdIdJdKdLdMdNdNdOdPdQdQdRdRdSdTdUdUdVdVdWdWdXdYdddZd[d\d]d^d_dǐd`ddǐdadadbdcdbdbdbdbdddddededcdcdadfdfdgdhdididjdkdkdldmdndodpdqdpdrdrdsdsdsdtdudRdRdvdvdwdtdudtdxdydzdzdzd{d{d|dzd}d~d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddÐdÐdĐdĐdŐdƐdǐdȐdȐdɐdɐdʐdːddd͐dddϐdϐdАdѐddddҐdҐdӐLZDdԐdՐd֐dאdؐdِdڐdېdܐdݐdސdߐdddddddddddddddddddddddddddddddddddddddddddd d d d d dddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdedfdgdhdidjdkdldmdldndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddZEddZFyeWne int. Compares two strings according to the locale. )abrr locale.py_strcoll!r"cC|S)\ strxfrm(string) -> string. Returns a string that behaves for cmp locale-aware. r)srrr!_strxfrm'r'*cC,dgddddgdddddddddddddS)d localeconv() -> dict. Returns numeric and monetary locale-specific parameters. r+.groupingcurrency_symbol n_sign_posn p_cs_precedes n_cs_precedes mon_groupingn_sep_by_space decimal_point negative_sign positive_signp_sep_by_spaceint_curr_symbol p_sign_posn thousands_sepmon_thousands_sep frac_digitsmon_decimal_pointint_frac_digitsrrrrr!r ?$cC|dkrtddS)d setlocale(integer,string=None) -> string. Activates/queries locale processing. Nr4C*_locale emulation only supports "C" localeNr4rL)r )categoryvaluerrr!r WcCt}tr|jt|S)N) _localeconv_override_localeconvupdate)drrr!r l ccPd}xF|D]>}|tkrdS|dkr>|dkr2tdx |Vq4W|V|}q WdS)Nrinvalid grouping)r ValueError)r7 last_intervalintervalrrr!_grouping_intervalsz  r]Fc Ct}||rdpd}||r dp"d}|s2|dfS|d dkr\|j}|t|d}|}nd}d}g}xNt|D]B} | s|d d kr|}d}P|j|| d|d| }qrW|r|j||j||j||t|t|dfS) NrErDr<r7rr0 r4 0123456789rb)r rstriplenr]appendreversejoin) r&monetaryconvrDr7stripped right_spaces left_spacesgroupsr\rrr!_group0  rncCld}x$|r(||dkr(|d7}|d8}qWt|d}x$|rZ||dkrZ|d8}|d8}q8W|||dS)Nrr`r0)rd)r&amountlposrposrrr!_strip_padding   rtG%(?:\((?P.*?)\))?(?P[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]cGHtj|}| s$t|jt|kr4tdt|t||||f|S)Returns the locale-aware substitution of a %? specifier (percent). additional is for format strings which contain one or more '*' modifiers.Hformat() must be given exactly one %%char format specifier, %s not valid) _percent_rematchrdgrouprZrepr_format)percentrPr7rh additionalr{rrr!r   c G|r||f|}n||}|d dkr~d}|jd}|rRt|d|d\|d<}t|r^dp`d}|j|}|rt||}n2|d dkrd}|rt||d\}}|rt||}|S) Nr0eEfFgGrr5rhrGr>diurbrb)splitrnr rgrt) rrPr7rhr formattedsepspartsr>rrr!r~(       r~c Cttj|}tjd|}t|tjrlg}x|D]6}|jddkrP|jdq0|jt |j||q0Wnt|t s||f}g}d}xz|D]r}|jd dkr|jdq|jdj d}|jt |j|||df||d|d||d|7}qWt |}||S) Formats a string in the same way that the % formatting would use, but takes the current locale into account. Grouping is applied if the third parameter is true.%sr0%r modifiersr*Frbrb) listrzfinditersub isinstance collectionsMappingr|rertuplecountr~) fvalr7percentsnew_fnew_valperci starcountrrr!r0        Tc Cft}||rdpd}|dkr&tdtd|t||dd}d|d }|r||rXd pZd }||d krld pnd}||d krdpd} |r|| rdpd|}n|| rdpd|}||d krdpd} ||d krdpd} | d krd|d}n`| dkr| |}nL| dkr|| }n8| dkr2|jd| }n | dkrJ|jd | }n| |}|jddjd dS)IFormats val according to the currency settings in the current locale.rHrFr+9Currency formatting is not possible using the 'C' locale.%%.%ifTrh<>rBr8rr;r:r=rAr`r4r9rCr?r@()r0r1r-r/)r rZrabsreplace) rsymbolr7 internationalridigitsr&smbprecedes separatedsign_possignrrr!r6       cC td|S)8Convert float to string, taking the locale into account.%.12g)r)rrrr!r+cC:t}|d}|r|j|d}|d}|r6|j|d}|S)HParses a string as a normalized number according to the locale settings.rDr4r>r5)r r)stringritsddrrr! delocalize/  rcC |t|S)i>iLi:iiziNi|iPiPiaiiiiHici)iiiiFikikik iiii;$i;i;i;i;i; i; i;i;iOi iiii[ili2ii$i i i i i i i i i $i (i ,i 0i 4i 8i <i @i Di Hi Li Pi TiAiiiZi(i_iIiDiJiiQiQiiBii"i.i i iCiCi*iRii4iixiji5c Ci}|fdd}||d=tdtddt\}}td|pDdtd |pRdttd tddxL|jD]@\}}t|d t|\}}td |pdtd |pdtqzWttdtddtxP|jD]D\}}t|d t|\}}td |pdtd |p"dtqWyttdWn$tdtdtdYnpXttdtddxR|jD]F\}}t|d t|\}}td |pdtd |pdtqWdS) Test function. cS4x.tjD] \}}|dddkr |||<q WdS)Nr-LC_)globalsitems) categorieskvrrr!_init_categories'_print_locale.._init_categoriesr4Locale defaults as determined by getdefaultlocale():rH Language: (undefined) Encoding: Locale settings on startup:... Language: Encoding: ,Locale settings after calling resetlocale():r4NOTE:9setlocale(LC_ALL, "") does not support the default locale&given in the OS environment variables.4Locale settings after calling setlocale(LC_ALL, ""):N)rrrrr r r)rrlangencnamerOrrr! _print_locale{V              r LC_MESSAGES__main__Locale aliasing:Number formatting:NFFFFFFTFFrrrrrNTTT)J__doc__rrencodings.aliasesrerbuiltinsrr  functools__all__r"r'r r rrrrrrrrrZr r r rrr rSrTwrapsr]rnrtcompilerzrr~rrrfloatrrrrrrrrrrrr r startswithrCODESET NameErrorrsortedrrrr setdefaultrrrre__name__rrrrr! 4            " -  S 5    " }  :    PK!/F6F6 operator.pyc3 Β_o*6@(dZddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6g6Zd7d8lmZd9d&Zd:d#Zd;d Zdd Z d?d-Z d@d5Z dAdZ dBdZdCdZdDdZdEdZdFd ZdGdZdHdZeZdId%ZdJd)ZdKd*ZdLd'ZdMd,ZdNd.ZdOd/ZdPd0ZdQd1ZdRd3ZdSd4ZdTd6Z dUdZ!dVdZ"dWdZ#dXdZ$dYd Z%dZdZ&d[d2Z'dqd\d$Z(Gd]ddZ)Gd^d d Z*Gd_d(d(Z+d`dZ,dadZ-dbdZ.dcdZ/dddZ0dedZ1dfdZ2dgdZ3dhdZ4didZ5djdZ6dkdZ7dld!Z8dmd"Z9y d7dnl:TWne;k rbYnXd7dol:mZeZeZ?e Z@e ZAe ZBeZCeZDeZEeZFeZGeZHeZIeZJeZKeZLeZMeZNeZOeZPeZQeZReZSeZTe ZUe!ZVe"ZWe$ZXe%ZYe'ZZe,Z[e-Z\e.Z]e/Z^e0Z_e1Z`e2Zae3Zbe4Zce5Zde6Zee7Zfe8Zge9ZhdpS)rs Operator Interface This module exports a set of functions corresponding to the intrinsic operators of Python. For example, operator.add(x, y) is equivalent to the expression x+y. The function names are those used for special methods; variants without leading and trailing '__' are also provided for convenience. This is the pure Python implementation of the module. absaddand_ attrgetterconcatcontainscountOfdelitemeqfloordivgegetitemgtiaddiandiconcat ifloordivilshiftimatmulimodimulindexindexOfinvinvertioripowirshiftis_is_notisub itemgetteritruedivixorle length_hintlshiftltmatmul methodcallermodmulnenegnot_or_pospowrshiftsetitemsubtruedivtruthxorrcC||kS)Same as a < b.)abr=r= operator.pyr(cC||kS)Same as a <= b.r=)r>r?r=r=r@r%cC||kS)Same as a == b.r=)r>r?r=r=r@r #cC||kS)Same as a != b.r=)r>r?r=r=r@r-'cC||kS)Same as a >= b.r=)r>r?r=r=r@r +cC||kS)Same as a > b.r=)r>r?r=r=r@r/cC| S)Same as not a.r=)r>r=r=r@r/5cC |rdSdS)*Return True if a is true, False otherwise.TFr=)r>r=r=r@r79cC||kS)Same as a is b.r=)r>r?r=r=r@r=cC||k S)Same as a is not b.r=)r>r?r=r=r@r AcCt|S)Same as abs(a).)_abs)r>r=r=r@rGcC||S)Same as a + b.r=)r>r?r=r=r@rKcC||@S)Same as a & b.r=)r>r?r=r=r@rOcC||S)Same as a // b.r=)r>r?r=r=r@r ScC|jS)Same as a.__index__().) __index__)r>r=r=r@rWcC|S) Same as ~a.r=)r>r=r=r@r[cC||>S)Same as a << b.r=)r>r?r=r=r@r'`cC||S)Same as a % b.r=)r>r?r=r=r@r+dcC||S)Same as a * b.r=)r>r?r=r=r@r,hcC||S)Same as a @ b.r=)r>r?r=r=r@r)lcC| S) Same as -a.r=)r>r=r=r@r.pcC||BS)Same as a | b.r=)r>r?r=r=r@r0tcC| S) Same as +a.r=)r>r=r=r@r1xcC||S)Same as a ** b.r=)r>r?r=r=r@r2|cC||?S)Same as a >> b.r=)r>r?r=r=r@r3cC||S)Same as a - b.r=)r>r?r=r=r@r5cC||S)Same as a / b.r=)r>r?r=r=r@r6cC||AS)Same as a ^ b.r=)r>r?r=r=r@r8cC(t|ds dt|j}t|||S)%Same as a + b, for a and b sequences. __getitem__!'%s' object can't be concatenated)hasattrtype__name__ TypeError)r>r?msgr=r=r@r cC||kS)(Same as b in a (note reversed operands).r=)r>r?r=r=r@rcC&d}x|D]}||kr |d7}q W|S))Return the number of times b occurs in a.r9r=)r>r?countir=r=r@r   cC ||=dS)Same as del a[b].Nr=)r>r?r=r=r@r cC||S) Same as a[b].r=)r>r?r=r=r@rcC.x(t|D]\}}||kr |Sq WtddS)!Return the first index of b in a.$sequence.index(x): x not in sequenceN) enumerate ValueError)r>r?rjr=r=r@rcC |||<dS)Same as a[b] = c.Nr=)r>r?cr=r=r@r4cCt|ts dt|j}t|yt|Stk r<YnXyt|j}Wntk r`|SXy ||}Wntk r|SX|tkr|St|tsdt|j}t||dkrd}t ||S)2 Return an estimate of the number of items in obj. This is useful for presizing containers when building from an iterable. If the object supports len(), the result will be exact. Otherwise, it may over- or under-estimate by an arbitrary amount. The result will be an integer >= 0. /'%s' object cannot be interpreted as an integer'__length_hint__ must be integer, not %sr9$__length_hint__() should return >= 0) isinstanceintrrrlen__length_hint__AttributeErrorNotImplementedr)objdefaultrhintvalr=r=r@r&4     c@4eZdZdZd ZddZddZdd Zd d Zd S)rV Return a callable object that fetches the given attribute(s) from its operand. After f = attrgetter('name'), the call f(r) returns r.name. After g = attrgetter('name', 'date'), the call g(r) returns (r.name, r.date). After h = attrgetter('name.first', 'name.last'), the call h(r) returns (r.name.first, r.name.last). _attrs_callcn|s.funcctfddDS)Nc3|]}|VqdS)Nr=).0getter)rr=r@ 4attrgetter.__init__..func..)tuple)r)getters)rr@r) rstrrrsplitrrmapr)selfattrattrsrr=)rrr@__init__     attrgetter.__init__cC |j|S)N)r)rrr=r=r@__call__attrgetter.__call__cC$d|jj|jjdjtt|jfS)N %s.%s(%s), ) __class__ __module__ __qualname__joinrreprr)rr=r=r@__repr__attrgetter.__repr__cC |j|jfS)N)rr)rr=r=r@ __reduce__attrgetter.__reduce__Nrr) rrr__doc__ __slots__rrrrr=r=r=r@r c@4eZdZdZd ZddZddZdd Zd d Zd S)r" Return a callable object that fetches the given item(s) from its operand. After f = itemgetter(2), the call f(r) returns r[2]. After g = itemgetter(2, 5, 3), the call g(r) returns (r[2], r[5], r[3]) _itemsrcFs f|_fdd}||_n"f|_fdd}||_dS)Nc|S)Nr=)r)itemr=r@r!itemgetter.__init__..funcctfddDS)Nc3|]}|VqdS)Nr=)rr)rr=r@r4itemgetter.__init__..func..)r)r)items)rr@r)rr)rrr rr=)rr r@r  itemgetter.__init__cC |j|S)N)r)rrr=r=r@ritemgetter.__call__cC$d|jj|jjdjtt|jfS)N %s.%s(%s), )rrrrrrr)rr=r=r@r itemgetter.__repr__cC |j|jfS)N)rr)rr=r=r@r%itemgetter.__reduce__Nrr) rrrrrrrrrr=r=r=r@r"   c@4eZdZdZdZddZddZd d Zd d Zd S)r* Return a callable object that calls the given method on its operand. After f = methodcaller('name'), the call f(r) returns r.name(). After g = methodcaller('name', 'date', foo=1), the call g(r) returns r.name('date', foo=1). _name_args_kwargscOVt|dkrd}t||d}|d|_t|jts>td|dd|_||_dS)N9methodcaller needs at least one argument, the method namer9rmethod name must be a string)rrr rrr!r")argskwargsrrr=r=r@r1   methodcaller.__init__cCt||j|j|jS)N)rr r!r")rrr=r=r@r<methodcaller.__call__cCTt|jg}|jtt|j|jdd|jjDd|jj|jj dj |fS)Ncs|]\}}d||fVqdS)%s=%rNr=)rkvr=r=r@rB(methodcaller.__repr__.. %s.%s(%s), ) rr extendrr!r"r rrrr)rr'r=r=r@r?  methodcaller.__repr__cCD|js|j|jf|jfSddlm}||j|jf|j|jfSdS)Nr9partial)r"rr r! functoolsr<)rr<r=r=r@rG methodcaller.__reduce__Nr r!r") rrrrrrrrrr=r=r=r@r*(  cC ||7}|S)Same as a += b.r=)r>r?r=r=r@rQcC ||M}|S)Same as a &= b.r=)r>r?r=r=r@rVcC,t|ds dt|j}t|||7}|S)&Same as a += b, for a and b sequences.r!'%s' object can't be concatenated)rrrr)r>r?rr=r=r@r[  cC ||}|S)Same as a //= b.r=)r>r?r=r=r@rccC ||K}|S)Same as a <<= b.r=)r>r?r=r=r@rhcC ||;}|S)Same as a %= b.r=)r>r?r=r=r@rmcC ||9}|S)Same as a *= b.r=)r>r?r=r=r@rrcC ||}|S)Same as a @= b.r=)r>r?r=r=r@rwcC ||O}|S)Same as a |= b.r=)r>r?r=r=r@r|cC ||C}|S)Same as a **= b.r=)r>r?r=r=r@rcC ||L}|S)Same as a >>= b.r=)r>r?r=r=r@rcC ||8}|S)Same as a -= b.r=)r>r?r=r=r@r!cC ||}|S)Same as a /= b.r=)r>r?r=r=r@r#cC ||N}|S)Same as a ^= b.r=)r>r?r=r=r@r$*rNr9)ir__all__builtinsrr_r(r%r r-r rr/r7rr rrr rrrr'r+r,r)r.r0r1r2r3r5r6r8rrr r rrr4r&rr"r*rrrrrrrrrrrr!r#r$ _operator ImportError__lt____le____eq____ne____ge____gt____not____abs____add____and__ __floordiv__rl__inv__ __invert__ __lshift____mod____mul__ __matmul____neg____or____pos____pow__ __rshift____sub__ __truediv____xor__ __concat__ __contains__ __delitem__r __setitem____iadd____iand__ __iconcat__ __ifloordiv__ __ilshift____imod____imul__ __imatmul____ior____ipow__ __irshift____isub__ __itruediv____ixor__r=r=r=r@     )')  PK!166re.pyc3 Β_<#@dZddlZddlZddlZddlZy ddlZWnek rHdZYnXddddddd d d d d ddddddddddddddddgZdZGdd d ej Z e j e j ejZd=d!dZd>d"dZd?d#dZd@d$dZdAd%dZdBd&dZdCd'd ZdDd(d ZdEd)d Zd*d ZdFd+d Zed,Zed-Zd.dZiZeejd/dZ d0Z!d1d2Z"ej#e!d3d4Z$d5d6Z%d7d8Z&ddl'Z'd9d:Z(e'j)e e(e"Gd;d<d<Z*dS)G`Support for regular expressions (RE). This module provides regular expression matching operations similar to those found in Perl. It supports both 8-bit and Unicode strings; both the pattern and the strings being processed can contain null bytes and characters outside the US ASCII range. Regular expressions can contain both special and ordinary characters. Most ordinary characters, like "A", "a", or "0", are the simplest regular expressions; they simply match themselves. You can concatenate ordinary characters, so last matches the string 'last'. The special characters are: "." Matches any character except a newline. "^" Matches the start of the string. "$" Matches the end of the string or just before the newline at the end of the string. "*" Matches 0 or more (greedy) repetitions of the preceding RE. Greedy means that it will match as many repetitions as possible. "+" Matches 1 or more (greedy) repetitions of the preceding RE. "?" Matches 0 or 1 (greedy) of the preceding RE. *?,+?,?? Non-greedy versions of the previous three special characters. {m,n} Matches from m to n repetitions of the preceding RE. {m,n}? Non-greedy version of the above. "\\" Either escapes special characters or signals a special sequence. [] Indicates a set of characters. A "^" as the first character indicates a complementing set. "|" A|B, creates an RE that will match either A or B. (...) Matches the RE inside the parentheses. The contents can be retrieved or matched later in the string. (?aiLmsux) Set the A, I, L, M, S, U, or X flag for the RE (see below). (?:...) Non-grouping version of regular parentheses. (?P...) The substring matched by the group is accessible by name. (?P=name) Matches the text matched earlier by the group named name. (?#...) A comment; ignored. (?=...) Matches if ... matches next, but doesn't consume the string. (?!...) Matches if ... doesn't match next. (?<=...) Matches if preceded by ... (must be fixed length). (?.filter)r[r)r8rrr2r2r3_subxD    rcCt|j|jffS)N)r7r8r:)rr2r2r3_pickleRrc@eZdZdddZddZdS)Scannerrc Cddlm}m}||_g}tj}||_xP|D]H\}}|j} |jtj ||| ddtj ||ffg|j | |dq.Wtj ||d|ffg}t j ||_dS)NrBRANCH SUBPATTERNr) sre_constantsrrlexiconrPatternr: opengrouprs SubPatternparse closegroupr%r scanner) selfrr:rrrrwphraseactiongidr2r2r3__init__[ Scanner.__init__c Cg}|j}|jj|j}d}xf|}|s*P|j}||krxX             PK! reprlib.pyc3 Β_ @dZdddgZddlZddlmZyddlmZWn ek rRddlmZYnXd d dZ Gd ddZ d d Z e Z e j Z dS)GRedo the builtin repr() (representation) but with limits on most sizes.Reprreprrecursive_reprNislice get_ident...cfdd}|S)GDecorator to make a repr function return fillvalue for a recursive callcXtfdd}td|_td|_td|_td|_tdi|_|S)Nc Bt|tf}|krSj|z |}Wdj|X|S)N)idr adddiscard)selfkeyresult) fillvalue repr_running user_function reprlib.pywrapper   .decorating_function..wrapper __module____doc____name__ __qualname____annotations__)setgetattrrrr r!r")rr)r)rrrdecorating_function    +recursive_repr..decorating_functionr)rr%r)rrr  c@~eZdZddZddZddZddd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZdS) rcCFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)N() maxlevelmaxtuplemaxlistmaxarraymaxdictmaxset maxfrozensetmaxdeque maxstringmaxlongmaxother)rrrr__init__) Repr.__init__cC|j||jS)N)repr1r0)rxrrrr6 Repr.reprcCVt|j}d|kr$|j}dj|}t|d|rFt|d|||S|j||SdS)N _repr_)typer splitjoinhasattrr$ repr_instance)rr@leveltypenamepartsrrrr?9   Repr.repr1c t|}|dkr|rd}nX|d|jfddt||D} ||krT| jddj| }|dkrr|rr||}d|||fS)Nr...cg|]}|qS)r).0elem)newlevelr?rr J'Repr._repr_iterable.., %s%s%s)lenr?rappendrI) rr@rLleftrightmaxitertrailnspiecesr)rXr?r_repr_iterableC    Repr._repr_iterablecC|j||dd|jdS)N(),)rgr1)rr@rLrrr repr_tuplePRepr.repr_tuplecC|j||dd|jS)N[])rgr2)rr@rLrrr repr_listSRepr.repr_listcC,|sd|jSd|j}|j|||d|jS)N array('%s') array('%s', []))typecodergr3)rr@rLheaderrrr repr_arrayV  Repr.repr_arraycC$|sdSt|}|j||dd|jS)Nset(){})_possibly_sortedrgr5)rr@rLrrrrepr_set\ Repr.repr_setcC$|sdSt|}|j||dd|jS)N frozenset() frozenset({}))rrgr6)rr@rLrrrrepr_frozensetb  Repr.repr_frozensetcC|j||dd|jS)Ndeque([]))rgr7)rr@rLrrr repr_dequeiRepr.repr_dequec Ct|}|dkrdS|dkr dS|d}|j}g}xBtt||jD].}|||}||||} |jd|| fqDW||jkr|jddj|} d| fS) Nr{}{...}rT%s: %s..., {%s})r^r?rrr4r_rI) rr@rLrdrXr?rfrkeyreprvalreprrerrr repr_dictl    Repr.repr_dictcCtj|d|j}t||jkrtd|jdd}td|jd|}tj|d||t||d}|d|d|t||d}|S)Nr...)builtinsrr8r^max)rr@rLreijrrrrepr_str{&$ Repr.repr_strcChtj|}t||jkrdtd|jdd}td|jd|}|d|d|t||d}|S)Nrrr...)rrr^r9r)rr@rLrerrrrrrepr_int  $ Repr.repr_intc Cytj|}Wn$tk r2d|jjt|fSXt||jkrtd|jdd}td|jd|}|d|d|t||d}|S)N<%s instance at %#x>rrr...) rr Exception __class__r rr^r:r)rr@rLrerrrrrrK$Repr.repr_instanceNrQ)r rr!r;rr?rgrnrtr}rrrrrrrKrrrrr'   c C&yt|Stk r t|SXdS)N)sortedrlist)r@rrrrrr )r__all__r itertoolsr_threadr ImportError _dummy_threadrrraReprrrrrr   s PK!t#o((sre_compile.pyc3 Β_K@dZddlZddlZddlTejeks.tdeehZe e e hZ e ehZeehZdWZd&d'eDZd(d)ZdXd*d+Zd,d-Zejd.Zd/e>d/Zd0d1d2Zeefd3d4Zd5d6Zd7d8Zd9d:Z d;d<Z!d=d>Z"d?d@Z#dAdBZ$dCdDZ%dYdEdFZ&dS)ZInternal support module for sreN*SRE module mismatchi1sEac.i|]&}|D]tfdd|Dq qS)c3|]}|kr|VqdS)N).0j)ir*sre_compile.py =.)tuple)r+tr*)r-r. =r4cCr|j}t}t}t}t}t}|t@rD|t@ rD|t@rD|t @ rDt } nd} x"|D]\} } | |kr|t@rt j | |} | r| | kr|t ||} |d| tkr|tx&| f| | D]}|t||qW|t||| || <n|t| || n|| || qP| tkr|t@rF|t| |fdd}n || d}||} |dt| |||| ||| || <qP| tkr|t@r|tn|tqP| |kr|t@rtd| fnt| rR| tk rR| tkr|tn|t||} |d|| d|| dt|| d||t ||| || <nl|t||} |d|| d|| dt|| d|||| || <| tkr|t!n|t"qP| t#kr.| \}}}}|r|t$||ddt||||B|@|rj|t$||dddqP| |krB|| qP| |kr|| ||} |d| ddkr||dn*| dj%\} }| |krtd|| t|| d||t ||| || <qP| t&kr|| ||} |dt|| ||t ||| || <qP| t'kr|| |t(@r@t)j*| | } |t@rXt+j*| | } n"|t@rz|t @ rzt,j*| | } || qP| t-kr&|| g}|j}xZ| dD]N} ||} |dt|| ||t.||||d||| || <qW|tx|D]}|||||<q WqP| t/krt|| |t@rLt0| } n|t@rj|t @ rjt1| } || qP| t2kr|t@r|t| n|| || dqP| t3kr\|| || dd||}|dt|| d|| drF|t.||}|d|||d||<t|| d||||||<n|||d||<qPtd| fqPWdS) NrcS tj||S)N)_sregetlower)literalflagsr*r*r.fixupf_compile..fixup*internal: unsupported template operator %r(look-behind requires fixed-width pattern%internal: unsupported operand type %r)4appendlen_LITERAL_CODES_REPEATING_CODES_SUCCESS_CODES _ASSERT_CODESSRE_FLAG_IGNORECASESRE_FLAG_LOCALESRE_FLAG_UNICODESRE_FLAG_ASCII_ignorecase_fixesr8r9 IN_IGNORE NOT_LITERALNEGATELITERALFAILURE OP_IGNOREIN_compile_charsetANYSRE_FLAG_DOTALLANY_ALLSRE_FLAG_TEMPLATEerror_simpleREPEAT MAX_REPEAT REPEAT_ONEMIN_REPEAT_ONE_compileSUCCESS MAX_UNTIL MIN_UNTIL SUBPATTERNMARKgetwidthCALLATSRE_FLAG_MULTILINE AT_MULTILINEget AT_LOCALE AT_UNICODEBRANCHJUMPCATEGORY CH_LOCALE CH_UNICODEGROUPREFGROUPREF_EXISTS)codepatternr;emit_len LITERAL_CODESREPEATING_CODES SUCCESS_CODES ASSERT_CODESfixesopavloskipkr<group add_flags del_flagsphitail tailappendskipyesskipnor*r*r.ra@.                                                       racC|j}xt|||D]\}}|||tkr.q|tkr@||q|tksP|tkrj||d||dq|tkr~|j|q|tkr|j|q|t kr|t @r|t |q|t @r|t @ r|t|q||qtd|fqW|tdS)Nrr@%internal: unsupported set operator %r)rD_optimize_charsetrQrRRANGE RANGE_IGNORECHARSETextend BIGCHARSETrqrKrrrLrMrsr[rS)charsetr;rvr<r~rxrrr*r*r.rV,     rVc Cdg}g}td}xt|D]j\}}x^y|tkrx|rn||}d||<|rv||krvx"||D] } d|| <q\Wnd||<n|tkrt|d|dd} |rt|| } |r|rxN| D].} d|| <| |krx|| D] } d|| <qWqWnx>| D] } d|| <qWn(|tkr|j||fn|j||fWnTtk r|t|dkrV|dd7}w&|rj|tkrjt }|j||fYnXPq&WqWg} d} xj|j d| }|dkrPt| dkrd} P|j d|} | dkr| j|t|fP| j|| fqW| dk rvxF| D]>\}} | |dkr2|jt|fn|jt|| dffq W||7}|snt|t|krr|S|St|dkrt |}|jt |f||7}|St |}i}td}d}t}xftdddD]V} || | d}||kr|||| d<n$||| d<||<|d7}||7}qWt |}|gt||dd<|jt|f||7}|S)Nr@rrA) bytearrayrRrrangemaprQrD IndexErrorrErfind _mk_bitmaprbytes_bytes_to_codesr)rr<r~outrcharmaprrrrrr-runsqrdatacompsmappingblockchunkr*r*r.r              rr@01c8|jtdddfddttd DS)Nr@c"g|]}||dqS)rAr*)r+r-) _CODEBITS_intsr*r. z_mk_bitmap..r) translate _BITS_TRANSrrE)bitsrrr*)rrrr.rxrcC@t|jd}|jtjkstt||jt|ks8t|jS)NI) memoryviewcastitemsizer8CODESIZEAssertionErrorrEtolist)bar*r*r.r}rcC<|dj\}}||ko"dkno:|dddtkS)NrAr@r)rgre)rrrr*r*r.r\r\cCvdgt|}xbtdt|D]P}||d}x>||||kr`|dkrRd||<P||d}q0W|d||<qW|S)j Generate an overlap table for the following prefix. An overlap table is a table of the same size as the prefix which informs about the potential self-overlap for each index in the prefix: - if overlap[i] == 0, prefix[i:] can't overlap prefix[0:...] - if overlap[i] == k with 0 < k <= i, prefix[i-k+1:i+1] overlaps with prefix[0:k] rr@)rEr)prefixtabler-idxr*r*r._generate_overlap_table  rc Cg}|j}d}x|jD]\}}|tkr0||q|tkr|\}}}} |t@rNPt| \} } } |dkr|dk rvt|}n| dk rt|| }|j| | sPqPqW||dfS||dfS)NTF)rDrrRrerJ_get_literal_prefixrEr) rwr prefixappend prefix_skiprrrrrrprefix1 prefix_skip1got_allr*r*r.r,      rc C"g}|j}|jr|jd\}}|tkr|\}}}}|r|t@ r|d\}}|tkrd|||fnR|tkrg} | j} x|dD].}|sP|d\}}|tkr| ||fqPqW| }nf|tkrg} | j} xP|dD]0}|sP|d\}}|tkr| ||fqPqW| }n|tkr|}|S)Nrr@)rDrrerJrRrorU) rwr charsetappendrrrrrrccappendr*r*r._get_charset_prefixF       rc CZ|j\}}|tkrt}|dkr8|jtdd||gdSg}d}g}|t@sft|\}}}|sft|}|j} | tt|} | dd} |rt } |dkr|r| t B} n |r| t B} | | |tkr| |n| t|dt}| t |t|r4| t||dkrt|}| ||j||jt |n|rFt|||t|| || <dS)Nr)rgMAXCODErINFOrJrrrDrESRE_INFO_PREFIXSRE_INFO_LITERALSRE_INFO_CHARSETminrrV) rvrwr;rrrrrrrxrmaskr*r*r. _compile_infoP         rcCt|ttfS)N) isinstancestrr)objr*r*r.isstringrcC8|jj|B}g}t|||t||j||jt|S)N)rwr;rrarrDrb)rr;rvr*r*r._code    rcCt|r|}tj||}nd}t||}|jj}dg|jj}x|jD]\}}|||<qHWtj |||jj B||jjd||S)Nr@) r sre_parseparserrw groupdictgroupsitemsr8compiler;)rr;rwrv groupindex indexgrouprr-r*r*r.r-   rrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'rrrrrrrrr r r r r rrrNNr)'__doc__r8r sre_constantsMAGICrrRrPrFr] MIN_REPEATr^rGrbrSrHASSERT ASSERT_NOTrI _equivalencesrNrarVrrrrrintrrr\rrrrrrrr*r*r*r. V  {   )9PK!\,;;sre_constants.pyc3 Β_@8dZdZddlmZmZGdddeZGdddeZeedZd d Z e d Z e d.d =e dZ e dZ e eeeeeeeeeiZeeeeiZeeee iZ!ee"ee#iZ$e%e%e&e&e'e'e(e(e)e*e+e,e-e-e.e.iZ/e%e0e&e1e'e2e(e3e)e4e+e5e-e6e.e7iZ8dZ9d Z:dZ;dZdZ?dZ@dZAdZBd ZCdZDeEdkr4ddZFeGddZHeHjIdeHjIdeeFeHe deFeHe d eFeHe d eHjId!e9eHjId"e:eHjId#e;eHjId$e<eHjId%e=eHjId&e>eHjId'e?eHjId(e@eHjId)eAeHjId*eBeHjId+eCeHjId,eDWd QRXeJd-d S)/Internal support module for sreuS3 MAXREPEAT MAXGROUPSc"eZdZdZdfdd ZZS)erroriException raised for invalid regular expressions. Attributes: msg: The unformatted error message pattern: The regular expression pattern pos: The index in the pattern where compilation failed (may be None) lineno: The line corresponding to pos (may be None) colno: The column corresponding to pos (may be None) Nc||_||_||_|dk r|dk rd||f}t|tr>d}nd}|j|d|d|_||j|d||_||krd||j|jf}n d|_|_t j |dS)N%s at position %d  r%s (line %d, column %d)) msgpatternpos isinstancestrcountlinenorfindcolnosuper__init__)selfrrrnewline) __class__sre_constants.pyr#   error.__init__NN)__name__ __module__ __qualname____doc__r __classcell__rr)rr r  r c(eZdZfddZddZeZZS)_NamedIntConstantctt|j||}||_|S)N)rr+__new__name)clsvaluer.r)rrr r-7_NamedIntConstant.__new__cC|jS)N)r.)rrrr __str__<_NamedIntConstant.__str__)r$r%r&r-r4__repr__r(rr)rr r+6 r+rcC8|jj}ddt|D}tjdd|D|S)NcSg|]\}}t||qS))r+).0ir.rrr E_makecodes..cSi|] }||jqS))r.)r;itemrrr F_makecodes..)stripsplit enumerateglobalsupdate)namesitemsrrr _makecodesC rL FAILURE SUCCESS ANY ANY_ALL ASSERT ASSERT_NOT AT BRANCH CALL CATEGORY CHARSET BIGCHARSET GROUPREF GROUPREF_EXISTS GROUPREF_IGNORE IN IN_IGNORE INFO JUMP LITERAL LITERAL_IGNORE MARK MAX_UNTIL MIN_UNTIL NOT_LITERAL NOT_LITERAL_IGNORE NEGATE RANGE REPEAT REPEAT_ONE SUBPATTERN MIN_REPEAT_ONE RANGE_IGNORE MIN_REPEAT MAX_REPEAT N AT_BEGINNING AT_BEGINNING_LINE AT_BEGINNING_STRING AT_BOUNDARY AT_NON_BOUNDARY AT_END AT_END_LINE AT_END_STRING AT_LOC_BOUNDARY AT_LOC_NON_BOUNDARY AT_UNI_BOUNDARY AT_UNI_NON_BOUNDARY  CATEGORY_DIGIT CATEGORY_NOT_DIGIT CATEGORY_SPACE CATEGORY_NOT_SPACE CATEGORY_WORD CATEGORY_NOT_WORD CATEGORY_LINEBREAK CATEGORY_NOT_LINEBREAK CATEGORY_LOC_WORD CATEGORY_LOC_NOT_WORD CATEGORY_UNI_DIGIT CATEGORY_UNI_NOT_DIGIT CATEGORY_UNI_SPACE CATEGORY_UNI_NOT_SPACE CATEGORY_UNI_WORD CATEGORY_UNI_NOT_WORD CATEGORY_UNI_LINEBREAK CATEGORY_UNI_NOT_LINEBREAK r @__main__cC.t|}x |D]}|jd|||fqWdS)N#define %s_%s %d )sortedwrite)fdprefixrKrArrr dump rasre_constants.hwo/* * Secret Labs' Regular Expression Engine * * regular expression matching engine * * NOTE: This file is generated by sre_constants.py. If you need * to change anything in here, edit sre_constants.py and run it. * * Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved. * * See the _sre.c file for information on usage and redistribution. */ #define SRE_MAGIC %d SRE_OPSRE#define SRE_FLAG_TEMPLATE %d #define SRE_FLAG_IGNORECASE %d #define SRE_FLAG_LOCALE %d #define SRE_FLAG_MULTILINE %d #define SRE_FLAG_DOTALL %d #define SRE_FLAG_UNICODE %d #define SRE_FLAG_VERBOSE %d #define SRE_FLAG_DEBUG %d #define SRE_FLAG_ASCII %d #define SRE_INFO_PREFIX %d #define SRE_INFO_LITERAL %d #define SRE_INFO_CHARSET %d done)Kr'MAGIC_srerr Exceptionr intr+rLOPCODESATCODESCHCODESGROUPREFGROUPREF_IGNOREIN IN_IGNORELITERALLITERAL_IGNORE NOT_LITERALNOT_LITERAL_IGNORERANGE RANGE_IGNORE OP_IGNORE AT_BEGINNINGAT_BEGINNING_LINEAT_END AT_END_LINE AT_MULTILINE AT_BOUNDARYAT_LOC_BOUNDARYAT_NON_BOUNDARYAT_LOC_NON_BOUNDARY AT_LOCALEAT_UNI_BOUNDARYAT_UNI_NON_BOUNDARY AT_UNICODECATEGORY_DIGITCATEGORY_NOT_DIGITCATEGORY_SPACECATEGORY_NOT_SPACE CATEGORY_WORDCATEGORY_LOC_WORDCATEGORY_NOT_WORDCATEGORY_LOC_NOT_WORDCATEGORY_LINEBREAKCATEGORY_NOT_LINEBREAK CH_LOCALECATEGORY_UNI_DIGITCATEGORY_UNI_NOT_DIGITCATEGORY_UNI_SPACECATEGORY_UNI_NOT_SPACECATEGORY_UNI_WORDCATEGORY_UNI_NOT_WORDCATEGORY_UNI_LINEBREAKCATEGORY_UNI_NOT_LINEBREAK CH_UNICODESRE_FLAG_TEMPLATESRE_FLAG_IGNORECASESRE_FLAG_LOCALESRE_FLAG_MULTILINESRE_FLAG_DOTALLSRE_FLAG_UNICODESRE_FLAG_VERBOSESRE_FLAG_DEBUGSRE_FLAG_ASCIISRE_INFO_PREFIXSRE_INFO_LITERALSRE_INFO_CHARSETr$raopenr^r]printrrrr          PK! sOsO sre_parse.pyc3 Β_ @dZddlTdZdZedZedZedZedZed Z ee e hZ ee eeeeehZeed feed feed feed feedfeedfeedfeedfdZeefeefeefeeefgfeeefgfeeefgfeeefgfeeefgfeeefgfee fd Z!e"e#e$e%e&e'e(e)dZ*e'e#Be)Be+Be(BZ,Gddde-Z.GdddZ/GdddZ0GdddZ1ddZ2dd Z3d!d"Z4d#d$Z5d3d&d'Z6d(d)Z7d*d+Z8d4d-d.Z9d/d0Z:d1d2Z;d,S)5Internal support module for sre* .\[{()*+?^$|*+?{ 0123456789012345670123456789abcdefABCDEF4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ      \z\az\bz\fz\nz\rz\tz\vz\\ z\Az\bz\Bz\dz\Dz\sz\Sz\wz\Wz\ZiLmsxatuc@ eZdZdS)VerboseN)__name__ __module__ __qualname__r%r% sre_parse.pyr!Gr!c@BeZdZddZeddZdddZdd Zd d Zd d Z dS)PatterncCd|_i|_dg|_d|_dS)Nr)flags groupdict groupwidthslookbehindgroups)selfr%r%r&__init__LPattern.__init__cC t|jS)N)lenr-)r/r%r%r&groupsQPattern.groupsNcCb|j}|jjd|jtkr$td|dk r^|jj|d}|dk rTtd|||f||j|<|S)Ntoo many groups7redefinition of group name %r as group %d; was group %d)r5r-append MAXGROUPSerrorr,get)r/namegidogidr%r%r& opengroupT   Pattern.opengroupcC|j|j|<dS)N)getwidthr-)r/r@pr%r%r& closegroup`Pattern.closegroupcC||jko|j|dk S)N)r5r-)r/r@r%r%r& checkgroupbPattern.checkgroupcC6|jdk r2|j|s|jd||jkr2|jddS)Ncannot refer to an open group?cannot refer to group defined in the same lookbehind subpattern)r.rLr=)r/r@sourcer%r%r&checklookbehindgroupe     Pattern.checklookbehindgroupN) r"r#r$r0propertyr5rBrHrLrSr%r%r%r&r)J   r)c@`eZdZdddZdddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ dS) SubPatternNcC"||_|dkrg}||_d|_dS)N)patterndatawidth)r/r\r]r%r%r&r0o SubPattern.__init__rc Cd}ttf}x|jD]\}}t|dt|dd|tkrttx*|D]"\}}t|ddt||qLWq|tkrtx:t|dD]*\}}|rt|dd|j|dqWq|t kr|\}} } td|| j|d| rt|dd| j|dqt ||rd}x\|D]T}t |t rX|sDt|j|dd}n"|sjtd ddt|ddd}q(W|stqtd|qWdS) NT endORELSEF ) tuplelistr]printstrINBRANCH enumeratedumpGROUPREF_EXISTS isinstancerZ) r/levelnlseqtypesopavrr condgroupitem_yesitem_nor%r%r&rquH          SubPattern.dumpcC t|jS)N)reprr])r/r%r%r&__repr__SubPattern.__repr__cC t|jS)N)r4r])r/r%r%r&__len__SubPattern.__len__cC |j|=dS)N)r])r/indexr%r%r& __delitem__SubPattern.__delitem__cC&t|trt|j|j|S|j|S)N)rsslicerZr\r])r/rr%r%r& __getitem__ SubPattern.__getitem__cC||j|<dS)N)r])r/rcoder%r%r& __setitem__SubPattern.__setitem__cC|jj||dS)N)r]insert)r/rrr%r%r&rSubPattern.insertcC|jj|dS)N)r]r;)r/rr%r%r&r;SubPattern.appendc C|jdk r|jSd}}x|jD]\}}|tkrtd}d}x0|dD]$}|j\}}t||}t||}qJW||}||}q"|tkr|j\}}||}||}q"|tkr|dj\}}||}||}q"|t kr|dj\}}|||d}|||d}q"|t kr,|d}|d}q"|t krX|j j |\}}||}||}q"|tkr|dj\}}|ddk r|dj\}}t||}t||}nd}||}||}q"|tkr"Pq"Wt|tdt|tf|_|jS)Nrrf)r^r]ro MAXREPEATrFminmaxCALL SUBPATTERN _REPEATCODES _UNITCODESGROUPREFr\r-rrSUCCESS) r/lohirwrxrjlhr%r%r&rFZ                SubPattern.getwidthNr) r"r#r$r0rqrrrrrrr;rFr%r%r%r&rZm  (rZc@beZdZddZddZddZddZd d Zd d Ze d dZ ddZ ddZ dddZ dS) TokenizercC@t|t|_||_|js"t|d}||_d|_d|_|jdS)Nlatin1r)rsrmistextstringdecoded_stringrnext_Tokenizer__next)r/rr%r%r&r0  Tokenizer.__init__cC|j}y|j|}Wntk r.d|_dSX|dkr|d7}y||j|7}Wn.tk rtd|jt|jddYnX|d|_||_dS)Nrrfbad escape (end of pattern))rr IndexErrorrr=rr4)r/rcharr%r%r&__next Tokenizer.__nextcC||jkr|jdSdS)NTF)rr)r/rr%r%r&match Tokenizer.matchcC|j}|j|S)N)rr)r/thisr%r%r&r> Tokenizer.getcC:d}x0t|D]$}|j}||kr"P||7}|jqW|S)Nrc)rangerr)r/ncharsetresult_cr%r%r&getwhile Tokenizer.getwhilecChd}x^|j}|j|dkr>|s*|jd|jd|t|||krX|sV|jddP||7}qW|S)Nrcmissing group namemissing %s, unterminated namerf)rrr=r4)r/ terminatorrrr%r%r&getuntil      Tokenizer.getuntilcC|jt|jpdS)Nrc)rr4r)r/r%r%r&pos Tokenizer.poscC|jt|jpdS)Nrc)rr4r)r/r%r%r&tellTokenizer.tellcC||_|jdS)N)rr)r/rr%r%r&seekTokenizer.seekrcCt||j|j|S)N)r=rr)r/msgoffsetr%r%r&r=#Tokenizer.errorNr)r"r#r$r0rrr>rrrWrrrr=r%r%r%r&r   rc Ctj|}|r|Stj|}|r0|dtkr0|Sy|dd}|dkr||jdt7}t|dkrx|jd|t|tt |dddfS|dkr|j r||jdt7}t|d kr|jd|t|tt |dddfS|d ko|j rF||jd t7}t|d kr$|jd|t|t |ddd}t |t|fS|t kr||jdt 7}t |ddd }|d kr|jd|t|t|fS|t krtt|dkr|tkr|jd|t|tt|dfSWntk rYnX|jd|t|dS)Nrrfrrincomplete escape %srU .octal escape value %s outside of range 0-0o377 bad escape %s)ESCAPESr> CATEGORIESrnr HEXDIGITSr4r=LITERALintrchr OCTDIGITSDIGITS ValueError ASCIILETTERSord)rRescaperrr%r%r& _class_escape&R         rc Ctj|}|r|Stj|}|r$|Syt|dd}|dkr||jdt7}t|dkrl|jd|t|tt|dddfS|dkr|j r||jdt7}t|dkr|jd|t|tt|dddfS|d ko|j r:||jd t7}t|d kr|jd|t|t|ddd}t |t|fS|d krj||jdt 7}tt|ddd fS|t kr\|j t kr||j7}|dt kr|dt kr|j t kr||j7}t|ddd }|d kr|jd|t|t|fSt|dd}||jkrD|j|s0|jdt||j||t|fS|jd|t|dt|dkr|tkr|jd|t|tt|dfSWntk rYnX|jd|t|dS)Nrfrrrincomplete escape %srrrrrr0r.octal escape value %s outside of range 0-0o377cannot refer to an open groupinvalid group reference %d bad escape %s)rr>rrrr4r=rrrrrrrr5rLrSrrrr)rRrstaterrgroupr%r%r&_escapeVn                  rc C$g}|j}|j}|j}x.|t||||d| o4| |dsPqWt|dkr\|dSt|}|j} x\d} xP|D]*} | sP| dkr| d} qv| d| krvPqvWx|D] } | d=qW| | qlPqlWxD|D]"} t| dks| ddtk rPqW| tdd|Df|S|jtd|ff|S)Nrf|rcSg|] }|dqS)rr%).0itemr%r%r& _parse_sub..) r;rr_parser4rZrrnro) rRrverbosenesteditems itemsappend sourcematchstart subpatternsubpatternappendprefixrr%r%r& _parse_subD       r'cCht||||d}|jdrDt||||d}|jdkrH|jdnd}t|}|jt|||ff|S)Nrfr/conditional backref with more than two branches)rrrr=rZr;rr)rRrryrrrzr{r$r%r%r&_parse_sub_cond   r+Fc)C t|}|j}|j}|j}t} t} x|j} | dkr6P| dkr@P||r|| tkrTq&| dkr|x|} | dkst| dkr^Pq^Wq&| ddkrt|| |} || q&| t kr|t | | fq&| dkr4|j d} g}|j}|dr|t df|dd}x|} | dkr |j d |j | | d kr8||kr8Pn&| ddkrRt|| }n t | | f}|d r|}|dkr|j d |j | |d kr|dtkr|dd}|||t | d fP|ddkrt||}n t | |f}|dt ks |dt kr4d | |f}|j |t| dt||d}|d}||krvd | |f}|j |t| dt||t||ffn"|dtkr|dd}||qW| |dkr|ddt kr||dnT| |d kr&|ddt kr&|ddt kr&|t|ddfn |t|fq&| tkrb|j } | dkr\d7\}}nJ| dkrtdt}}n2| dkrdt}}n| dkr|jdkr|t | | fq&dt}}d}}x|jtkr||7}qW|drx"|jtkr ||7}qWn|}|ds8|t | | f|j| q&|rXt|}|tkrXtd|rt|}|tkrxtd||kr|j d|j | ntd|f|r|d8d}nd}| s| |dkr|ddtkr|j d|j | t| |ddtkr0|j d|j | t| |drNt|||ff|d9<nt|||ff|d:<q&| dkrz|tdfq&| dk r|j d}d}d}d}d}d}|d r|}|dkr|j d|dkr|dr|jd }|jsd!|}|j |t|dn|d"r|jd#}|jsHd!|}|j |t|d|j j|} | dkrzd$|}|j |t|d|j!| s|j d%t|d|j"| ||t#| fq&n2|}|dkr|j d|j d&|t|d n|d'krd}n|dkrDx4|jdkr*|j d(|j ||d#kr Pq Wq&n|d)kr0d}!|dkr|}|dkrv|j d|d*kr|j d+|t|d d;}!|j$}"|"dkr|j%|_$t&||||d}#|!dkr|"dkrd|_$|d#s|j d,|j ||d"kr|t'|!|#ffq&|t(|!|#ffq&n|dk r$|jd#}$d}|$jr|j j|$}|dk rd$|$}|j |t|$dnyt|$}|dkrt)Wn4t)k rd!|$}|j |t|$ddYnX|s|j d-t|$d|t*k rd.|}|j |t|$d|j"||n|t+k s8|d k rt,|||}%|%dk r| s\| rddl-}&|&j.d/|j/dd0t|j/d0k rd1ndft0|d2d3|j1t2@r&| r&t3q&|%\}}d}n|j d4|t|d|dk r0y|j4|}Wn<t k r.}'z|j |'j5t|ddWYdd}'~'XnX| rLt6|||||d}#n,| s\|t2@ od|t2@ }(t&|||(|d}#|jd# s|j d,|j ||dk r|j7||#|t8||||#ffq&| dk r|tt9fq&| d5k r|jtt:fq&td6|fq&W|S)bad character in group name %r=)unknown group name %rcannot refer to an open groupunknown extension ?P:missing ), unterminated comment=!<=!unknown extension ?<"missing ), unterminated subpatternbad group numberinvalid group reference %d-Flags not at the start of the expression %r%s (truncated)r stacklevelunknown extension ?$ unsupported special character %rrrfrrrr);rZr;r>rr4rr WHITESPACEr SPECIAL_CHARSrrNEGATEr=rrnRANGE NOT_LITERAL REPEAT_CHARSrrrr OverflowErrorAssertionErrorATr MIN_REPEAT MAX_REPEATANYr isidentifierr,rLrSrr.r5r'ASSERT ASSERT_NOTrr<FLAGS _parse_flagswarningswarnrDeprecationWarningr+SRE_FLAG_VERBOSEr!rBrr+rHr AT_BEGINNINGAT_END))rRrrrfirstr$r% sourcegetr"_len_ordrrhereset setappendr#code1thatcode2rrrrrrrrr?ry add_flags del_flagsr@dirr.rGcondnamer+rnerr sub_verboser%r%r&r                     2              (                                                 *      rcC|j}d}d}|dkrrxZ|t|O}|}|dkr<|jd|dkrFP|tkr|jrZdnd}|j|t|qW|dkr|j|O_dS|t@r|jdd|dkrL|}|dkr|jd |tkr|jrdnd }|j|t|x`|t|O}|}|dkr|jd |d krP|tkr|jr4dnd }|j|t|qW|d ksZt|t@rp|jd d||@r|jd d||fS)Nrr4missing -, : or ))-: unknown flagrH,bad inline flags: cannot turn on global flagrf missing flag missing :rL-bad inline flags: cannot turn off global flag(bad inline flags: flag turned on and off)r>rlr=isalphar4r+ GLOBAL_FLAGSrd)rRrrrur~rrr%r%r&rmT             rmcCjt|tr>|t@rtd|t@s,|tO}qf|t@rftdn(|t@rNtd|t@rf|t@rftd|S)N)cannot use LOCALE flag with a str pattern(ASCII and UNICODE flags are incompatible,cannot use UNICODE flag with a bytes pattern'ASCII and LOCALE flags are incompatible)rsrmSRE_FLAG_LOCALErSRE_FLAG_ASCIISRE_FLAG_UNICODE)srcr+r%r%r& fix_flags<   rNc Ct|}|dkrt}||_||_yt|||t@d}WnBtk rzt}|tB|_||_|jdt||dd}YnXt||j j|j _|j dk r|j dkst |j d|t @r|j|S)NrTrHunbalanced parenthesis)rr)r+rmr'rqr!rrr\rrdr=SRE_FLAG_DEBUGrq)rmr+r\rRrGr%r%r&parseL(    rc t|j}gggj}fdd}j}x|}|dkrNP|ddkr|d}|dkrJd}jdsjd jd }|jry ||} Wn tk rt d |YnXnlyt |} | dkrt Wn0t k rjd |t |ddYnX| t kr4jd | t |d|| t |dq|dkrjtkr||7}jtkr||7}|tt |dddd@q|tkrZd} jtkr4||7}|tkr4|dtkr4jtkr4||7}d} t |ddd}|dkr(jd|t ||t|| s|t |ddt |dnZytt|d}Wn<tk r|tkrddl} | jd|tddYnX||q>||q>Wr؈jdjt|tsddDfS)NcX|jkrjd||r8jdjdd=jt|fjddS)Ninvalid group reference %drc)r5r=r;joinr4)rr)r5literalliteralsr\rr%r&addgroupu   parse_template..addgrouprrrfgrcrD missing .)rr>r; groupindexrr=rriKeyErrorrrrr4r<rrrrrrrnrorprrsrm) rRr\sgetlappendrrrrr?risoctalrnr%)r5rrr\rr&parse_templatel             "             rc Cz|j}|jdd}|\}}|dd}y&x |D]\}}||pB|||<q0WWn tk rntd|YnX|j|S)Nrinvalid group reference %d)rrrr=r)templaterremptyr5rrrr%r%r&expand_template rFrN)<__doc__ sre_constantsr^rb frozensetrrrrr]rfrgrrhr`rnrraCATEGORYrrrreAT_BEGINNING_STRING AT_BOUNDARYAT_NON_BOUNDARYCATEGORY_DIGITCATEGORY_NOT_DIGITCATEGORY_SPACECATEGORY_NOT_SPACE CATEGORY_WORDCATEGORY_NOT_WORD AT_END_STRINGrSRE_FLAG_IGNORECASErSRE_FLAG_MULTILINESRE_FLAG_DOTALLrqrSRE_FLAG_TEMPLATErrlrr Exceptionr!r)rZrrrr'r+rrmrrrrr%r%r%r& j               #qH0A3 <, WPK!Tt~AHH tokenize.pyc3 Β_8s-@dZdZdZddlmZddlmZmZddl Z ddl m Z ddl m Z ddl ZddlZddlZdd lTejd ejZejd ejZddlZejd d dddddgZ[eZd ee<edZdee<edZdee<ed7Zeeeee e!e"e#e$e%e&e'e(e)e*e+e,e-e.e/e0e1e2e3e4e5e6e7e8e9e:e;ee?e@eAeBeCeDeEeFeGd,ZHGddde jIddZJddZKddZLddZMdZNd ZOeNeLd!eNeMeOZPd"ZQd#ZRd$ZSd%ZTd&ZUeKeReSeTeUZVd'ZWeKd(d)eMeWZXd*eWZYeKeXeYZZeKd+eZd,Z[eKe[eZeVZ\d-d.Z]d/d0Z^eKe]Z_d1Z`d2Zad3Zbd4ZceKe_d5e_d6ZdeKe_d7e_d8ZeeKd9d:d;dd?d@ZfdAZgeKdBdCdDZheKefegehZieKe\eieeeQZjePejZkeKe_dEeKdFd!e_dGeKdHd!ZleKdIeOedZmeNeKeme\eieleQZniZox@e]D]6Zpe`eoepdF<eaeoepdH<ebeoepd5<eceoepd6<qWeqZreqZsx\e]D]RZtx$etdHetdFfD]Zuerjveuq8Wx$etd6etd5fD]Zuesjveuq^Wq"WdJZwGdKdLdLexZyGdMdNdNexZzGdOdPdPZ{dQdZ|dRdSZ}dTdZ~dUdVZdWd ZdXdYZdZd[Zd\d]Zed^kredS)_oTokenization help for Python programs. tokenize(readline) is a generator that breaks a stream of bytes into Python tokens. It decodes the bytes according to PEP-0263 for determining source file encoding. It accepts a readline-like method which is called repeatedly to get the next line of input (or b"" for EOF). It generates 5-tuples with these members: the token type (see token.py) the token (a string) the starting (row, column) indices of the token (a 2-tuple of ints) the ending (row, column) indices of the token (a 2-tuple of ints) the original line (string) It is designed to match the working of the Python tokenizer exactly, except that it produces COMMENT tokens for comments and gives type OP for all operators. Additionally, all token lists start with an ENCODING token which tells you which encoding was used to decode the bytes stream. Ka-Ping Yee pGvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, Skip Montanaro, Raymond Hettinger, Trent Nelson, Michael FoordopenlookupBOM_UTF8N TextIOWrapperchain*&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)^[ \t\f]*(?:[#\r\n]|$)COMMENTtokenizedetect_encodingNL untokenizeENCODING TokenInfo,()[]:,;+-r/|&<>=.%{}z==z!=z<=z>=~^z<>z**z+=z-=z*=z/=z%=z&=z|=z^=z<<=z>>=z**=z//z//=@z@=c@ eZdZddZeddZdS)rcC$d|jt|jf}d|j|dS)N%d (%s)8TokenInfo(type=%s, string=%r, start=%r, end=%r, line=%r)type)r9tok_name_replace)selfannotated_typer> tokenize.py__repr__dTokenInfo.__repr__cC(|jtkr|jtkrt|jS|jSdS)N)r9OPstringEXACT_TOKEN_TYPES)r<r>r>r? exact_typei TokenInfo.exact_typeN)__name__ __module__ __qualname__r@propertyrGr>r>r>r?rctype string start end linecGddj|dS)Nrr(r)join)choicesr>r>r?groupprScG t|dS)Nr)rS)rRr>r>r?anyqrVcG t|dS)N?)rS)rRr>r>r?mayberrZ[ \f\t]* #[^\r\n]*\\\r?\n\w+0[xX](?:_?[0-9a-fA-F])+0[bB](?:_?[01])+0[oO](?:_?[0-7])+(?:0(?:_?0)*|[1-9](?:_?[0-9])*)[eE][-+]?[0-9](?:_?[0-9])*)[0-9](?:_?[0-9])*\.(?:[0-9](?:_?[0-9])*)?\.[0-9](?:_?[0-9])*[0-9](?:_?[0-9])*[0-9](?:_?[0-9])*[jJ][jJ]cCnddddddg}tdg}xN|D]F}x@tj|D]2}x,tjdd |DD]}|jdj|qJWq0Wq W|S) NbrufbrfrcSg|]}||jfqS))upper).0cr>r>r? (_all_string_prefixes..)set _itertools permutationsproductaddrQ)_valid_string_prefixesresultprefixtrmr>r>r?_all_string_prefixes  rcCtj|tjS)N)recompileUNICODE)exprr>r>r?_compiler[^'\\]*(?:\\.[^'\\]*)*'[^"\\]*(?:\\.[^"\\]*)*"%[^'\\]*(?:(?:\\.|'(?!''))[^'\\]*)*'''%[^"\\]*(?:(?:\\.|"(?!""))[^"\\]*)*"""'''"""'[^\n'\\]*(?:\\.[^\n'\\]*)*'"[^\n"\\]*(?:\\.[^\n"\\]*)*"\*\*=?>>=?<<=?!=//=?->[+\-*/%&@|^=<>]=?r1[][(){}]\r?\n\.\.\.[:;.,@]'[^\n'\\]*(?:\\.[^\n'\\]*)*'"[^\n"\\]*(?:\\.[^\n"\\]*)*" \\\r?\n|\Zc@ eZdZdS) TokenErrorN)rJrKrLr>r>r>r?rrc@ eZdZdS)StopTokenizingN)rJrKrLr>r>r>r?rrc@,eZdZddZddZddZddZd S) UntokenizercCg|_d|_d|_d|_dS)Nrr)tokensprev_rowprev_colencoding)r<r>r>r?__init__Untokenizer.__init__cC|\}}||jks&||jkr>||jkr>tdj|||j|j||j}|rb|jjd|d|_||j}|r|jjd|dS)N+start ({},{}) precedes previous end ({},{})\ r )rr ValueErrorformatrappend)r<startrowcol row_offset col_offsetr>r>r?add_whitespace  Untokenizer.add_whitespacec C4t|}g}d}x|D] }t|dkr8|j||P|\}}}} } |tkrV||_q|tkr`P|tkrv|j|qnl|tkr|j | \|_ |_ qnL|t t fkrd}n:|r|r|d} |dt| kr|jj| t| |_ d}|j||jj|| \|_ |_ |t t fkr|j d7_ d|_ qWdj|jS)NFrTrrrq)iterlencompatrr ENDMARKERINDENTrDEDENTpoprrNEWLINErrrrQ) r<iterableitindents startlinertok_typetokenrendlineindentr>r>r?rF            Untokenizer.untokenizec Cg}|jj}|dttfk}d}xt|g|D]}|dd\}} |tkrR| |_q.|ttt t fkrj| d7} |t kr|r~d| } d}nd}|t kr|j| q.n>|t kr|jq.n*|ttfkrd}n|r|r||dd}|| q.WdS)NrFrrTrr)rrrrrrrNAMENUMBERASYNCAWAITSTRINGrrr) r<rrr toks_appendr prevstringtoktoknumtokvalr>r>r?r8   Untokenizer.compatN)rJrKrLrrrrr>r>r>r?r %rcC*t}|j|}|jdk r&|j|j}|S)Transform tokens back into Python source code. It returns a bytes object, encoded using the ENCODING token, which is the first token sequence output by tokenize. Each element returned by the iterable must be a token sequence with at least two elements, a token number and token value. If only two tokens are passed, the resulting output is poor. Round-trip invariant for full input: Untokenized source will match input source exactly Round-trip invariant for limited input: # Output bytes will tokenize back to the input t1 = [tok[:2] for tok in tokenize(f.readline)] newcode = untokenize(t1) readline = BytesIO(newcode).readline t2 = [tok[:2] for tok in tokenize(readline)] assert t1 == t2 N)rrrencode)rutoutr>r>r?r=    cCH|ddjjdd}|dks*|jdr.dS|d ks@|jdrDdS|S)(Imitates get_normal_name in tokenizer.c.N _r&utf-8utf-8-latin-1 iso-8859-1 iso-latin-1latin-1- iso-8859-1- iso-latin-1-rrrrrr)lowerreplace startswith)orig_encencr>r>r?_get_normal_nameX rc y jjWntk r$dYnXdd}d}fdd}fdd}|}|jtrpd|d d}d }|s||gfS||}|r||gfStj|s||gfS|}|s||gfS||}|r|||gfS|||gfS)  The detect_encoding() function is used to detect the encoding that should be used to decode a Python source file. It requires one argument, readline, in the same way as the tokenize() generator. It will call readline a maximum of twice, and return the encoding used (as a string) and a list of any lines (left as bytes) it has read in. It detects the encoding from the presence of a utf-8 bom or an encoding cookie as specified in pep-0263. If both a bom and a cookie are present, but disagree, a SyntaxError will be raised. If the encoding cookie is an invalid charset, raise a SyntaxError. Note that if a utf-8 bom is found, 'utf-8-sig' is returned. If no encoding is specified, then the default of 'utf-8' will be returned. NFutf-8c  yStk rdSXdS)N) StopIterationr>)readliner>r? read_or_stop{%detect_encoding..read_or_stopcy|jd}Wn4tk rBd}dk r6dj|}t|YnXtj|}|sVdSt|jd}y t|}Wn:t k rdkrd|}n dj|}t|YnXr|dkr؈dkrd}n dj}t||d 7}|S) Nutf-8'invalid or missing encoding declaration {} for {!r}runknown encoding: unknown encoding for {!r}: {}encoding problem: utf-8 encoding problem for {!r}: utf-8-sig) decodeUnicodeDecodeErrorr SyntaxError cookie_rematchrrSr LookupError)r line_stringmsgrrcodec) bom_foundfilenamer>r? find_cookie6     $detect_encoding..find_cookieTr utf-8-sig)__self__nameAttributeErrorrr blank_rer)rrdefaultrrfirstsecondr>)rrrr?rc8   &       c CVt|d}y0t|j\}}|jdt||dd}d|_|S|jYnXdS)XOpen a file in read only mode using the encoding detected by detect_encoding(). rbrTline_bufferingrlN) _builtin_openrrseekr modeclose)rbufferrlinestextr>r>r?r  rcCBddlm}m}t|\}}t|d}|d}t||||j|S) The tokenize() generator requires one argument, readline, which must be a callable object which provides the same interface as the readline() method of built-in file objects. Each call to the function should return one line of input as bytes. Alternatively, readline can be a callable function terminating with StopIteration: readline = open(myfile, 'rb').__next__ # Example of alternate readline The generator produces 5-tuples with these members: the token type; the token string; a 2-tuple (srow, scol) of ints specifying the row and column where the token begins in the source; a 2-tuple (erow, ecol) of ints specifying the row and column where the token ends in the source; and the line on which the token was found. The line passed is the logical line; continuation lines are included. The first token sequence will always be an ENCODING token which tells you which encoding was used to decode the bytes stream. rrrepeatr) itertoolsrr;rr _tokenize__next__)rrr;rconsumedrl_genemptyr>r>r?r   c!c"d}}}d}d!\}}d}dg} d} d} d} d} |dk rX|dkrFd}tt|d"d#dVd}d}xy|}|}Wntk rd}YnX|dk r|j|}|d7}dt|}}|r|std ||j|}|r|jd}}tt||d||||f||Vd$\}}d}nf|rn|d%dd krn|d&dd krntt ||||t|f|Vd}d}qdn||}||}qdn@|dkr| r|sPd}xf||kr||dkr|d7}n6||dkr|t dt }n||dkrd}nP|d7}qW||krP||dkr||dkr||dj d}|t|}tt |||f||t|f|Vtt ||d||f|t|f|Vqdtt t f||dk||d||f|t|f|Vqd|| d'kr | j|tt|d||df||f|Vxv|| d(kr|| kr8tdd|||f| dd)} | rd| | d*krdd} d} d} ttd||f||f|VqW| r| r| | d+krd} d} d} n|std|dfd}x||krzttj||}|rL|jd\}}||f||f|}}}||krq|||||}}||ksZ|dkrp|dkrp|dkrptt||||Vqv|dkr| r| Vd} |dkrtt ||||Vntt||||V| rJd} qv|dkr |jd st| r| Vd} tt ||||Vqv|tkr~tt|}|j||}|r`|jd}|||}tt||||f|Vn||f}||d}|}Pqv|tks|dd tks|dd tkr |d,dkr ||f}ttj|ptj|dptj|d }||dd}}|}Pntt||||Vqv|jr|d-kr^| r^t|dkrJtnt||||Vqtt ||||}|dkr| r|} q|dkr| r| j!t kr| j"dkrd} | d.} tt| j"| j#| j| j$Vd} | r| Vd} |VnX|dkrd}nH|dkr|d7}n|d kr(|d8}| r8| Vd} tt%||||Vn*tt ||||f||df|V|d7}qWqdW| r| Vd} |r|d/dkrttd|dt|f|dt|dfdVx0| ddD] } ttd|df|dfdVqWtt&d|df|dfdVdS)0Nr 0123456789rqF utf-8-sigutf-8rrEOF in multi-line stringr\ r\ r  # # 3unindent does not match any outer indentation level EOF in multi-line statementr-...T asyncawaitdef\([{)]}rqrrrrrrqrrrrrrrrTrUrr)'rrrrrrrrr ERRORTOKENtabsizerstriprrrrIndentationErrorrr PseudoTokenspanrrendswithAssertionError triple_quotedendpats single_quotedget isidentifierrrrr9rErrrDr)!rrlnumparenlev continuednumcharscontstrneedcontcontlinerstashed async_defasync_def_indent async_def_nl last_linerposmaxstrstartendprogendmatchrcolumn comment_tokennl_pos pseudomatchrsposeposrinitialrrr>r>r?r=t      *      "                          . r=cC t|dS)N)r=)rr>r>r?generate_tokensrc (ddl}dddfdd }|jdd}|jdd d d d |jd ddddd|j}y|jr|j}t|d}tt|j}WdQRXnd}t t j jd}xF|D]>}|j }|j r|j}d|j|j} td| t||jfqWWn8tk r:} z2| jddd\} } || jd|| | fWYdd} ~ Xntk r} z*| jd\} } || jd|| | fWYdd} ~ Xntk r} z|| |WYdd} ~ Xnxtk r} z|| WYdd} ~ XnNtk rtdYn2tk r"} zd| WYdd} ~ XnXdS)NrcSt|tjddS)Nfile)printsysstderr)messager>r>r?perrormain..perrorcR|r"|f||f}d|n"|r8d||fn d|tjddS)N%s:%d:%d: error: %s %s: error: %s error: %sr)rexit)rrlocationargs)rr>r?error main..errorpython -m tokenizeprogrrY filename.py'the file to tokenize; defaults to stdindestnargsmetavarhelp-e--exactexact store_true(display token names using the exact typeractionrr- %d,%d-%d,%d:%-20s%-15s%-15rrr interrupted unexpected error: %sNN)argparseArgumentParser add_argument parse_argsrr0listrrr=rstdinr9rrGrrrr:rErdrrrOSErrorKeyboardInterrupt Exception) rrparserrrrnrr token_type token_rangeerrrrr>)rr?mainN    &&  r__main__)__doc__ __author__ __credits__builtinsrr0codecsr r collectionsior r<rrzrrrrASCIIrr&__all__N_TOKENSrr:rrLPARRPARLSQBRSQBCOLONCOMMASEMIPLUSMINUSSTARSLASHVBARAMPERLESSGREATEREQUALDOTPERCENTLBRACERBRACEEQEQUALNOTEQUAL LESSEQUAL GREATEREQUALTILDE CIRCUMFLEX LEFTSHIFT RIGHTSHIFT DOUBLESTAR PLUSEQUALMINEQUAL STAREQUAL SLASHEQUAL PERCENTEQUAL AMPEREQUAL VBAREQUALCIRCUMFLEXEQUALLEFTSHIFTEQUALRIGHTSHIFTEQUALDOUBLESTAREQUAL DOUBLESLASHDOUBLESLASHEQUALATATEQUALrF namedtuplerrSrVrZ WhitespaceCommentIgnoreName Hexnumber Binnumber Octnumber Decnumber IntnumberExponent PointfloatExpfloat Floatnumber ImagnumberNumberrr StringPrefixSingleDoubleSingle3Double3TripleStringOperatorBracketSpecialFunny PlainTokenTokenContStr PseudoExtrasrerj_prefixryrkrirrmr}rbrrrrrrrrr=rrrJr>r>r>r?                   _ ]x< PK!ӫLL traceback.pyc3 Β_[@:dZddlZddlZddlZddlZddddddd d d d d ddddddddgZd3ddZddZd4ddZd5dd Z d6ddZ dZ dZ d7dd Z d8d dZd!dZd"d#Zd$d%Zd9d&d Zd:d'd Zd;d(d Zdd+dZd,dZGd-ddZd.dZd/dZd0ZGd1ddeZGd2ddZdS)?@Extract, format and print information about Python stack traces.N extract_stack extract_tbformat_exceptionformat_exception_only format_list format_stack format_tb print_exc format_excprint_exception print_last print_stackprint_tb clear_frames FrameSummary StackSummaryTracebackException walk_stackwalk_tbcC8|dkrtj}x$tj|jD]}t||ddqWdS)yPrint the list of tuples as returned by extract_tb() or extract_stack() as a formatted stack trace to the given file.Nfileend)sysstderrr from_listformatprint)extracted_listritemr$ traceback.py print_listr&cCtj|jS)Format a list of tuples or FrameSummary objects for printing. Given a list of tuples or FrameSummary objects as returned by extract_tb() or extract_stack(), return a list of strings ready for printing. Each string in the resulting list corresponds to the item with the same index in the argument list. Each string ends in a newline; the strings may contain internal newlines as well, for those items whose source text line is not None. )rrr )r"r$r$r%r cCtt||d|ddS)Print up to 'limit' stack trace entries from the traceback 'tb'. If 'limit' is omitted or None, all entries are printed. If 'file' is omitted or None, the output goes to sys.stderr; otherwise 'file' should be an open file or file-like object with a write() method. limitrN)r&r)tbr.rr$r$r%r-cCt||djS)5A shorthand for 'format_list(extract_tb(tb, limit))'.r.)rr )r0r.r$r$r%r 7cCtjt||dS)# Return a StackSummary object representing a list of pre-processed entries from traceback. This is useful for alternate formatting of stack traces. If 'limit' is omitted or None, all entries are extracted. A pre-processed stack trace entry is a FrameSummary object containing attributes filename, lineno, name, and line representing the information that is usually printed for a stack trace. The line is a string with leading and trailing whitespace stripped; if the source is not available it is None. r.)rextractr)r0r.r$r$r%r; G The above exception was the direct cause of the following exception: F During handling of the above exception, another exception occurred: TcCF|dkrtj}x2tt||||dj|dD]}t||ddq,WdS)Print exception up to 'limit' stack trace entries from 'tb' to 'file'. This differs from print_tb() in the following ways: (1) if traceback is not None, it prints a header "Traceback (most recent call last):"; (2) it prints the exception type and value after the stack trace; (3) if type is SyntaxError and value has the appropriate format, it prints the line where the syntax error occurred with a caret on the next line indicating the approximate position of the error. Nr.chainrrr)rrrtyper r!)etypevaluer0r.rrAliner$r$r%r W cC ttt||||dj|dS)zFormat a stack trace and the exception information. The arguments have the same meaning as the corresponding arguments to print_exception(). The return value is a list of strings, each ending in a newline and some containing internal newlines. When these lines are concatenated and printed, exactly the same text is printed as does print_exception(). r.rA)listrrCr )rDrEr0r.rAr$r$r%rl cCtt||djS)Format the exception part of a traceback. The arguments are the exception type and value such as given by sys.last_type and sys.last_value. The return value is a list of strings, each ending in a newline. Normally, the list contains a single string; however, for SyntaxError exceptions, it contains several lines that (when printed) display detailed information about where the syntax error occurred. The message indicating which exception occurred is always the last string in the list. N)rLrr)rDrEr$r$r%r|cC0t|}|dks| r d|}n d||f}|S)N%s %s: %s ) _some_str)rDrEvaluestrrFr$r$r%_format_final_exc_line   rVc C"yt|Sdt|jSdS)N)strrC__name__)rEr$r$r%rTrTcCttj|||ddS)>Shorthand for 'print_exception(*sys.exc_info(), limit, file)'.r.rrAN)r rexc_info)r.rrAr$r$r%r cCdjttj||dS)%Like print_exc() but return a string.rr.rA)joinrrr`)r.rAr$r$r%r cC.ttdstdttjtjtj|||dS)nThis is a shorthand for 'print_exception(sys.last_type, sys.last_value, sys.last_traceback, limit, file)'. last_typeno last exceptionN)hasattrr ValueErrorr ri last_valuelast_traceback)r.rrAr$r$r%r cC*|dkrtjj}tt||d|ddS)Print a stack trace from its invocation point. The optional 'f' argument can be used to specify an alternate stack frame at which to start. The optional 'limit' and 'file' arguments have the same meaning as for print_exception(). Nr.r)r _getframef_backr&r)fr.rr$r$r%r cC"|dkrtjj}tt||dS)5Shorthand for 'format_list(extract_stack(f, limit))'.Nr.)rrtrurr)rvr.r$r$r%r  cC0|dkrtjj}tjt||d}|j|S)sExtract the raw traceback from the current stack frame. The return value has the same format as for extract_tb(). The optional 'f' and 'limit' arguments have the same meaning as for print_stack(). Each item in the list is a quadruple (filename, line number, function name, text), and the entries are in order from oldest to newest stack frame. Nr.)rrtrurr9rreverse)rvr.stackr$r$r%r  c C<x6|dk r6y|jjWntk r,YnX|j}qWdS)EClear all references to local variables in the frames of a traceback.N)tb_frameclear RuntimeErrortb_next)r0r$r$r%r  c@ReZdZdZdZdddd d d Zd d ZddZddZddZ e ddZ dS)r,A single frame from a traceback. - :attr:`filename` The filename for the frame. - :attr:`lineno` The line within filename for the frame that was active when the frame was captured. - :attr:`name` The name of the function or method that was executing when the frame was captured. - :attr:`line` The text from the linecache module for the of code that was running when the frame was captured. - :attr:`locals` Either None if locals were not supplied, or a dict mapping the name to the repr() of the variable. filenamelinenoname_linelocalsTN lookup_linerrFcCF||_||_||_||_|r"|j|r(FrameSummary.__init__..N)rrrrrFdictitemsr)selfrrrrrrFr$r$r%__init__ FrameSummary.__init__cC`t|tr:|j|jko8|j|jko8|j|jko8|j|jkSt|tr\|j|j|j|jf|kStS)N) isinstancerrrrrtuplerFNotImplemented)rotherr$r$r%__eq__      FrameSummary.__eq__cC|j|j|j|jf|S)N)rrrrF)rposr$r$r% __getitem__FrameSummary.__getitem__cCt|j|j|j|jgS)N)iterrrrrF)rr$r$r%__iter__FrameSummary.__iter__cCdj|j|j|jdS)N7rrr)r rrr)rr$r$r%__repr__FrameSummary.__repr__cC&|jdkr tj|j|jj|_|jS)N)r linecachegetlinerrstrip)rr$r$r%rF FrameSummary.linerrrrr) r[ __module__ __qualname____doc__ __slots__rrrrrpropertyrFr$r$r$r%r  cc8|dkrtjjj}x|dk r2||jfV|j}qWdS)Walk a stack yielding the frame and line number for each frame. This will follow f.f_back from the given frame. If no frame is given, the current stack is used. Usually used with StackSummary.extract. N)rrtruf_lineno)rvr$r$r%r"    cc&x |dk r |j|jfV|j}qWdS)Walk a traceback yielding the frame and line number for each frame. This will follow tb.tb_next (and thus is in the opposite order to walk_stack). Usually used with StackSummary.extract. N)r tb_linenor)r0r$r$r%r/ c@:eZdZdZeddddddZedd Zd d ZdS) rA stack of frames.NTFr. lookup_linescapture_localsc C|dkr(ttdd}|dk r(|dkr(d}|dk rV|dkrFtj||}ntj|| d}|}t}xb|D]Z\}}|j} | j} | j } |j | t j | |j |r|j} nd} |jt| || d| dqhWx|D]} t j| qW|rx|D] }|jqW|S)?Create a StackSummary from a traceback or stack object. :param frame_gen: A generator that yields (frame, lineno) tuples to include in the stack. :param limit: None to include all frames or the number of frames to include. :param lookup_lines: If True, lookup lines for each frame immediately, otherwise lookup is deferred until the frame is rendered. :param capture_locals: If True, the local variables from each frame will be captured as object representations into the FrameSummary. NtracebacklimitrmaxlenFrr)getattrr itertoolsislice collectionsdequesetf_code co_filenameco_nameaddr lazycache f_globalsf_localsappendr checkcacherF) klass frame_genr.rrresultfnamesrvrcorrrr$r$r%r9?6     StackSummary.extractcCPt}xD|D]<}t|tr&|j|q |\}}}}|jt||||dq W|S) Create a StackSummary object from a supplied list of FrameSummary objects or old-style list of tuples. rF)rrrr)ra_listrframerrrrFr$r$r%ro     StackSummary.from_listc Cxg}d}d}d}d}x$|D]}|dksX||jksX|dksX||jksX|dksX||jkr|tkr|t8}|jd|d|dkrdndd|j}|j}|j}d}|d7}|tkrqg}|jd j|j|j|j|jr|jd j|jj|jr(x0t |jj D]\}} |jd j|| d qW|jdj |qW|tkrt|t8}|jd|d|dkrhdndd|S) Format the stack ready for printing. Returns a list of strings ready for printing. Each string in the resulting list corresponds to a single frame from the stack. Each string ends in a newline; the strings may contain internal newlines as well, for those items with source text lines. For long sequences of the same frame and line, the first few repetitions are shown, followed by a summary line stating the exact number of further repetitions. Nr [Previous line repeated more timesr]  File "{}", line {}, in {}  {}  {name} = {value} rrE) rrr_RECURSIVE_CUTOFFrr rFrrsortedrre) rr last_file last_line last_namecountrrowrrEr$r$r%r D   "StackSummary.format)r[rrr classmethodr9rr r$r$r$r%r< . c@^eZdZdZdddddddZedd Zd d Zd d ZddZ ddZ ddddZ dS)rAn exception ready for rendering. The traceback module captures enough attributes from the original exception to this intermediary form to ensure that no references are held, while still being able to fully print or format it. Use `from_exception` to create TracebackException instances from exception objects, or the constructor to create TracebackException instances from individual components. - :attr:`__cause__` A TracebackException of the original *__cause__*. - :attr:`__context__` A TracebackException of the original *__context__*. - :attr:`__suppress_context__` The *__suppress_context__* value from the original exception. - :attr:`stack` A `StackSummary` representing the traceback. - :attr:`exc_type` The class of the original traceback. - :attr:`filename` For syntax errors - the filename where the error occurred. - :attr:`lineno` For syntax errors - the linenumber where the error occurred. - :attr:`text` For syntax errors - the text where the error occurred. - :attr:`offset` For syntax errors - the offset into the text where the error occurred. - :attr:`msg` For syntax errors - the compiler error message. NTFr.rr_seenc C<|dkrt}|jt||r\|jdk r\t|j|kr\tt|j|j|jj|d||d}nd}|r|jdk rt|j|krtt|j|j|jj|d||d} nd} ||_||_| |_|r|j nd|_ t j t ||||d|_ ||_t||_|ot|tr*|j|_t|j|_|j|_|j|_|j|_|r8|jdS)NFr.rrrr.rr)rrid __cause__rrC __traceback__ __context__ exc_traceback__suppress_context__rr9rrexc_typerT_str issubclass SyntaxErrorrrZrtextoffsetmsg _load_lines) rr exc_valuerr.rrrcausecontextr$r$r%rT      TracebackException.__init__cO|t|||jf||S).Create a TracebackException from an exception.)rCr)clsexcargskwargsr$r$r%from_exception !TracebackException.from_exceptioncC:x|jD] }|jqW|jr&|jj|jr6|jjdS)7Private API. force all lines in the stack to be loaded.N)rrFrr"r)rrr$r$r%r"    TracebackException._load_linescC |j|jkS)N)__dict__)rrr$r$r%rTracebackException.__eq__cC|jS)N)r)rr$r$r%__str__TracebackException.__str__c c|jdkrtd|jVdS|jj}|jj}|dkr@|d|}t|jts^t||jVdS|jpfd}t|j ptd}dj ||V|j }|j }|dk rdj |j V|dk r|jd }tt||d }|d|j}d d |D}d j dj|V|jp d}dj ||VdS)Format the exception part of the traceback. The return value is a generator of strings, each ending in a newline. Normally, the generator emits a single string; however, for SyntaxError exceptions, it emites several lines that (when printed) display detailed information about where the syntax error occurred. The message indicating which exception occurred is always the last string in the output. N__main__builtins.? File "{}", line {}  {}  rcs|]}|jr|pdVqdS) N)isspace)rcr$r$r%rH;TracebackException.format_exception_only.. {}^ r{}: {} r?r@)rrVrrrrrrrZrr rr rrstripminlenlstriprer!) rstypesmodrrbadliner  caretspacer!r$r$r%r 2        (TracebackException.format_exception_onlyrAcc|rV|jdk r*|jj|dEdHtVn,|jdk rV|j rV|jj|dEdHtV|jdk rfdV|jjEdH|jEdHdS)Format the exception. If chain is not *True*, *__cause__* and *__context__* will not be formatted. The return value is a generator of strings, each ending in a newline and some containing internal newlines. `print_exception` is a wrapper around this method which just prints the lines to a file. The message indicating which exception occurred is always the last string in the output. NrA#Traceback (most recent call last): ) rr _cause_messagerr_context_messagerrr)rrAr$r$r%r M    TracebackException.format) r[rrrrr r.r"rr:rr r$r$r$r%r9  -NNNNNNNTNTNNTNTNNTNNNNNNN) rrrrr__all__r&rrr rr`rar rrrVrTr r rrr rrrrrrrLrrr$r$r$r%F          ?  zPK!O types.pyc3 Β_" @dZddlZddZeeZeddZeejZeejZ eej Z ddZ ee Z d d ZeZeeZejd d ZeZeeZGd ddZeejZeeZegjZeeZyeWn:ek rejdZeeZeejZ dZ[YnXeejZ!eej"Z#[[[ [[fddfddZ$fdfddZ%ddZ&GdddZ'ddl(Z)ddl*j+Z,GdddZ-ddZ.dde/DZ0dS)O Define names for built-in types that aren't directly accessible as a builtin. NcCdS)Nrrrtypes.py_f rcCdS)Nrrrrr r cc dVdS)Nrrrrr_grcdS)Nrrrrr_crcC dVdS)Nrrrrr_agrc@eZdZddZdS)_CcCdS)Nr)selfrrr_m!_C._mN)__name__ __module__ __qualname__rrrrrr rcC2t|||\}}}|dk r"||||||f|S)BCreate a class object dynamically using the appropriate metaclass.N) prepare_class)namebaseskwds exec_bodymetansrrr new_class9r+cC~|dkri}nt|}d|kr*|jd}n|r||_||_||_|p|j|_|dk|_tt|dd|_dS)N__isabstractmethod__F)fgetfsetfdel__doc__ overwrite_docboolgetattrrE)rrFrGrHdocrrr__init__}   DynamicClassAttribute.__init__cC6|dkr|jr|Stn|jdkr,td|j|S)Nunreadable attribute)rEAttributeErrorrF)rinstance ownerclassrrr__get__ DynamicClassAttribute.__get__cC"|jdkrtd|j||dS)Ncan't set attribute)rGrS)rrTvaluerrr__set__ DynamicClassAttribute.__set__cC |jdkrtd|j|dS)Ncan't delete attribute)rHrS)rrTrrr __delete__  DynamicClassAttribute.__delete__cC8|jr |jnd}t|||j|j|p(|j}|j|_|S)N)rJrIr3rGrH)rrFfdocresultrrrgetterDynamicClassAttribute.gettercC$t||j||j|j}|j|_|S)N)r3rFrHrIrJ)rrGrfrrrsetterDynamicClassAttribute.settercC$t||j|j||j}|j|_|S)N)r3rFrGrIrJ)rrHrfrrrdeleterDynamicClassAttribute.deleterNNNNN) rrrrIrNrVr\rargrkrorrrrrBq  rBc@eZdZddZddZddZddZed d Zed d Z ed dZ eddZ eZ e Z e Ze ZddZddZeZdS)_GeneratorWrappercC2||_|jtk|_t|dd|_t|dd|_dS)Nrr)_GeneratorWrapper__wrapped __class__ GeneratorType_GeneratorWrapper__isgenrLrr)rgenrrrrN _GeneratorWrapper.__init__cC |jj|S)N)rxsend)rvalrrrr_GeneratorWrapper.sendcG|jj|f|S)N)rxthrow)rtprestrrrr_GeneratorWrapper.throwcC |jjS)N)rxclose)rrrrr_GeneratorWrapper.closecC|jjS)N)rxgi_code)rrrrr_GeneratorWrapper.gi_codecC|jjS)N)rxgi_frame)rrrrr_GeneratorWrapper.gi_framecC|jjS)N)rx gi_running)rrrrr_GeneratorWrapper.gi_runningcC|jjS)N)rx gi_yieldfrom)rrrrr_GeneratorWrapper.gi_yieldfromcC t|jS)N)nextrx)rrrr__next___GeneratorWrapper.__next__cC|jr |jS|S)N)r{rx)rrrr__iter___GeneratorWrapper.__iter__N)rrrrNrrrpropertyrrrrcr_codecr_frame cr_runningcr_awaitrr __await__rrrrrv    rvctstdjtkrtddjtkrjj}|d@r@S|d@rj}t|j|j |j |j |jdB|j |j |j|j|j|j|j|j|j|j_Stjfdd}|S) 2Convert regular generator function to a coroutine.$types.coroutine() expects a callable__code__N cT||}|jtks*|jtkr.|jjd@r.|St|tjrPt|tj rPt |S|S)Nr) ry CoroutineTyperzrco_flagsr4_collections_abc Generator Coroutinerv)argskwargscoro)funcrrwrapped   coroutine..wrapped)callabler<ry FunctionTyperLCodeTyperr co_argcountco_kwonlyargcount co_nlocals co_stacksizeco_code co_constsco_names co_varnames co_filenameco_nameco_firstlineno co_lnotab co_freevars co_cellvars _functoolswraps)rrcorr)rr coroutine(   rcC g|]}|dddkr|qS)Nr _r).0nrrr r)1rIsysrr3r LambdaTyperr__dict__MappingProxyTypeimplementationSimpleNamespacerrzrrrrAsyncGeneratorTyperr MethodTypelenBuiltinFunctionTypeappendBuiltinMethodType ModuleTyper<exc_infotb TracebackTypetb_frame FrameTypeGetSetDescriptorType __globals__MemberDescriptorTyper+r$r5rB functoolsrcollections.abcabcrrvrglobals__all__rrrrR             : %7PK!S33 warnings.pyc3 Β_8H @dZddlZddddddd d gZd;d dZdd,dZGd-d.d.eZGd/d d eZdZy0dd0lmZm Z m!Z!mZmZm"Z"e Z#e!Z$d1ZWn.e%k rfgZd2Z#iZ$d*a&d3d4Z"YnXeej'ese(e)gZ*e*j+e,xe*D]Z-e d5e-d6qWej.j/Z/e/d*krd7Z0ne/rd2Z0nd5Z0e e0e1d*d8e2ed9rd:Z3nd5Z3e e3e4d*d8[dS)?&Python part of the warnings subsystem.Nwarn warn_explicit showwarning formatwarningfilterwarnings simplefilter resetwarningscatch_warningscCt||||||}t|dS)7Hook to write a warning to a file; replace if you like.N)WarningMessage_showwarnmsg_impl)messagecategoryfilenamelinenofilelinemsgr warnings.pyr cCt||||d|}t|S).Function to format a warning the standard way.N)r_formatwarnmsg_impl)rrrrrrrrrrc CP|j}|dkr tj}|dkr dSt|}y|j|Wntk rJYnXdS)N)rsysstderr_formatwarnmsgwriteOSError)rrtextrrrrrcCLd|j|j|jj|jf}|jdkr`yddl}|j|j|j}Wqftk r\d}d}YqfXn|j}|r~|j }|d|7}|j dk rHyddl }|j |j }Wntk rd}YnX|dk rH|d7}xx|D]p}|d|j|jf7}y$|dk r |j|j|j}nd}Wntk r*d}YnX|r|j }|d|7}qW|S)N%s:%s: %s: %s r %s .Object allocated at (most recent call first):  File "%s", lineno %s  %s ) rrr__name__rr linecachegetline Exceptionstripsource tracemallocget_object_traceback)rsr-rr2tbframerrrr#F          rcCdyt}Wntk rYn= 0appendrKrLrMrNrOrP) reAssertionError isinstancestrtype issubclassWarningint _add_filtercompileI)actionrrrOrrXrZrrrrw cCH|d kstd|ft|tr(|dks0td t|d |d ||d d S) Insert a simple entry into the list of warnings filters (at the front). A simple filter matches all modules and messages. 'action' -- one of "error", "ignore", "always", "default", "module", or "once" 'category' -- a class that the warning must be a subclass of 'lineno' -- an integer line number, 0 matches all warnings 'append' -- if true, append to the list of filters rKrLrMrNrOrPinvalid action: %rrlineno must be an int >= 0NrXrKrLrMrNrOrP)r[r\rarb)rerrrXrrrr c GR|s6ytj|Wntk r&YnXtjd|n|tkrHtj|tdS)Nr)filtersremove ValueErrorinsertrX_filters_mutated)rXitemrrrrb rbcCgtdd<tdS)AClear the list of warning filters, so that no filters are active.N)rorsrrrrr  c@eZdZdZdS) _OptionError,Exception used by option processing helpers.N)r, __module__ __qualname____doc__rrrrrzrzcCRxL|D]D}y t|Wqtk rH}ztd|tjdWYdd}~XqXqWdS)NInvalid -W option ignored:r) _setoptionrzprintrr )argsargrrrr_processoptions   rcCddl}|jd}t|dkr,td|fxt|dkrF|jdq.Wdd|D\}}}}}t|}|j|}t|}|j|}|r|d}|ryt|}|dkrt Wqt t fk rtd |fYqXnd}t |||||dS) Nr:too many fields (max 5): %rrHcSg|] }|jqS))r0).0r4rrr _setoption..$invalid lineno %r) rZsplitlenrzrX _getactionescape _getcategoryrarq OverflowErrorr)rrZpartsrerrrOrrrrr.    rcCB|sdS|dkrdSxd D]}|j|r|SqWtd|fdS) NrNallrMrLrOrPrKinvalid action: %rrNrMrLrOrPrK) startswithrz)rearrrr  rcCddl}|stS|jd|rNy t|}Wqtk rJtd|fYqXn|jd}|d|}||dd}yt|dd|g}Wn"tk rtd|fYnXyt ||}Wn"t k rtd|fYnXt |tstd|f|S)Nr^[a-zA-Z0-9_]+$unknown warning category: %r.invalid module name: %rinvalid warning category: %r) rZr`matchevalr;rzrfind __import__ ImportErrorgetattrAttributeErrorr_)rrZcatirOklassmrrrr,     rcC|jj}d|kod|kS)FSignal whether the frame is an internal CPython implementation detail. importlib _bootstrap)f_code co_filename)r6rrrr_is_internal_framercC&|j}x|dk r t|r |j}qW|S);Find the next frame that doesn't involve CPython internals.N)f_backr)r6rrr_next_external_frame rrc Cvt|tr|j}|dkrt}t|to.t|tsDtdjt|jyZ|dks\t t j drht j |}n4t j d}x(t |dD]}t |}|dkrtqWWntk rt j}d}YnX|j}|j}d|kr|d}nd}|jd} | r| j} | jdrP| dd } n>|dkrFyt jd } Wntk rDd} YnX| sP|} |jd i} t||| ||| ||dS) :Issue a warning, or maybe ignore it or raise an exception.N/category must be a Warning subclass, not '{:s}'rr,__file__.pyc__main__r__warningregistry__)r\r` __class__ UserWarningr^r_r>formatr,rr _getframerangerrq__dict__ f_globalsf_linenogetlowerendswithargvr setdefaultr) rr stacklevelr1r6xglobalsrrOrfnlregistryrrrr L           cCt|}|dkr8|pd}|ddjdkr8|dd}|dkrDi}|jddtkrd|jt|d<t|tr~t|}|j}n |}||}|||f} |j| rdSx^t D]R} | \} } } }}| dks| j |rt || r|dks|j |r|dks||krPqWt } | dkrd|| <dSddl }|j||| dkr:|| d krnd|| <||f}tj|rddSdt|<nf| d krznZ| d krd|| <||df}|j|rdSd||<n$| d krd|| <ntd | | ft|||||} t| dS)N .pyversionrrLrrKrPrMrOrN1Unrecognized action (%r) in warnings.filters: %sr)rarr_filters_versionclearr\r`r]rrorr_ defaultactionr-getlines onceregistry RuntimeErrorrr@)rrrrrOrmodule_globalsr1r$keyrtrerrmodlnr-oncekeyaltkeyrrrrAl                    c@"eZdZd Zdd d Zd d ZdS)rrrrrrrr1Nc C:t}x|jD]} t|| || qW|r0|jnd|_dS)N)locals_WARNING_DETAILSsetattrr,_category_name) selfrrrrrrr1 local_valuesattrrrr__init__ WarningMessage.__init__cCd|j|j|j|j|jfS)ND{message : %r, category : %r, filename : %r, lineno : %s, line : %r})rrrrr)rrrr__str__WarningMessage.__str__rrrrrrr1NNN)r,r|r}rrrrrrrr  rc@8eZdZdZdddddZddZd d Zd d ZdS) r A context manager that copies and restores the warnings filter upon exiting the context. The 'record' argument specifies whether warnings should be captured by a custom implementation of warnings.showwarning() and be appended to a list returned by the context manager. Otherwise None is returned by the context manager. The objects appended to the list are arguments whose attributes mirror the arguments to showwarning(). The 'module' argument is to specify an alternative module to the module named 'warnings' and imported under that name. This argument is only useful when testing the warnings module itself. FNrecordrOcC(||_|dkrtjdn||_d|_dS)Specify whether to record warnings and if an alternative module should be used other than sys.modules['warnings']. For compatibility with Python 3.0, please consider all arguments to be keyword-only. NwarningsF)_recordrmodules_module_entered)rr rOrrrrcatch_warnings.__init__cCPg}|jr|jd|jtjdk r4|jd|jt|j}d|dj|fS)N record=Truer  module=%r%s(%s), )rrXrrrr^r,join)rrnamerrr__repr__  catch_warnings.__repr__cC~|jrtd|d|_|jj|_|jdd|j_|jj|jj|_|jj|_|j rvg}|j |j_|jj |j_|SdSdS)NCannot enter %r twiceT) rrrro_filtersrsr _showwarningrrrXr<)rlogrrr __enter__       catch_warnings.__enter__cG>|jstd||j|j_|jj|j|j_|j|j_dS)N%Cannot exit %r without entering first) rrr rrorsr!rr)rexc_inforrr__exit__     catch_warnings.__exit__)r,r|r}r~rrr#r)rrrrr    ro_defaultaction _onceregistryrrrsTrNcC td7adS)Nr)rrrrrrsrsrLrrKrrXgettotalrefcountrMNNNNrNNNNN)5r~r__all__rrrrr<r@rEr!r`rr rbr r/rzrrrrrrrrobjectrr _warnings_defaults _warningsror.r/rsrrrr warnoptions ImportWarningPendingDeprecationWarningsilencerXDeprecationWarningclsflags bytes_warning bytes_action BytesWarninghasattrresource_actionResourceWarningrrrrv  0    5 FJ      PK!'VJJ weakref.pyc3 Β_O @dZddlmZmZmZmZmZmZmZm Z ddl m Z m Z ddl Z ddlZddlZeefZddddd d d d d ddddg ZGdddeZGddde jZGdddeZGdd d e jZGdddZdS){Weak reference support for Python. This module is an implementation of PEP 205: http://www.python.org/dev/peps/pep-0205/ getweakrefcount getweakrefsrefproxyCallableProxyType ProxyType ReferenceType_remove_dead_weakrefWeakSet_IterationGuardNrrrrWeakKeyDictionaryr r r ProxyTypesWeakValueDictionaryr WeakMethodfinalizecDeZdZdZdZdddZfd d Zd d Zd dZe j Z Z S)r A custom `weakref.ref` subclass which simulates a weak reference to a bound method, working around the lifetime problem of bound methods. _func_ref _meth_type_alive __weakref__Nc ~y|j}|j}Wn(tk r8tdjt|dYnXfdd}tj|||}t|||_t||_ d|_ t||S)N)argument should be a bound method, not {}c&}|jr"d|_dk r"|dS)NF)r)argself)callbackself_wr weakref.py_cb3 WeakMethod.__new__.._cbT) __self____func__AttributeError TypeErrorformattyper__new__rrr)clsmethr objfuncr$rr")r r!r#r-,   WeakMethod.__new__c2tj}|j}|dks"|dkr&dS|j||S)N)super__call__rr)rr0r1) __class__r"r#r6B  WeakMethod.__call__cC>t|tr:|j s|j r"||kStj||o8|j|jkSdS)NF) isinstancerrr__eq__r)rotherr"r"r#r<I  WeakMethod.__eq__cC>t|tr:|j s|j r"||k Stj||p8|j|jkSdS)NT)r;rrr__ne__r)rr=r"r"r#rAP  WeakMethod.__ne__rrrrN) __name__ __module__ __qualname____doc__ __slots__r-r6r<rAr__hash__ __classcell__r"r")r7r#r$  c@eZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ e Z ddZd+ddZddZddZeZddZdd Zd!d"Zd#d$Zd,d%d&Zd'd(Zd)d*ZdS)-rMapping class that references values weakly. Entries in the dictionary will be discarded when no strong reference to the value exists anymore ct|s td|^}}t|dkr0tdt|t|tffdd }||_g|_t|_i|_|j ||dS)NGdescriptor '__init__' of 'WeakValueDictionary' object needs an argument$expected at most 1 arguments, got %dc4|}|dk r0|jr$|jj|jn ||jdS)N) _iterating_pending_removalsappendkey)wrselfref_atomic_removalr)dr"r#removem ,WeakValueDictionary.__init__..remove) r*lenrr _removerVsetrUdataupdate)argskwrr]r")r\r#__init__f   WeakValueDictionary.__init__cC,|j}|j}x|r&|j}t||qWdS)N)rVrcpopr )rlr\rXr"r"r#_commit_removals} $WeakValueDictionary._commit_removalscC4|jr|j|j|}|dkr,t|n|SdS)N)rVrmrcKeyError)rrXor"r"r# __getitem__   WeakValueDictionary.__getitem__cC|jr|j|j|=dS)N)rVrmrc)rrXr"r"r# __delitem__WeakValueDictionary.__delitem__cC|jr|jt|jS)N)rVrmr`rc)rr"r"r#__len__WeakValueDictionary.__len__c C<|jr|jy|j|}Wntk r2dSX|dk S)NF)rVrmrcrq)rrXrrr"r"r# __contains__ WeakValueDictionary.__contains__cCd|jjt|fS)N <%s at %#x>)r7rFid)rr"r"r#__repr__WeakValueDictionary.__repr__cC&|jr|jt||j||j|<dS)N)rVrmKeyedRefrarc)rrXvaluer"r"r# __setitem__WeakValueDictionary.__setitem__cCF|jr|jt}x,|jjD]\}}|}|dk r |||<q W|S)N)rVrmrrcitems)rnewrXrYrrr"r"r#copy WeakValueDictionary.copycCZddlm}|jr|j|j}x2|jjD]$\}}|}|dk r.|||||<q.W|S)Nrdeepcopy)rrrVrmr7rcr)rmemorrrXrYrrr"r"r# __deepcopy__  WeakValueDictionary.__deepcopy__Nc CL|jr|jy|j|}Wntk r0|SX|}|dkrD|S|SdS)N)rVrmrcrq)rrXdefaultrYrrr"r"r#getWeakValueDictionary.getc cV|jr|jt|6x.|jjD] \}}|}|dk r$||fVq$WWdQRXdS)N)rVrmrrcr)rkrYvr"r"r#r WeakValueDictionary.itemsc cN|jr|jt|.x&|jjD]\}}|dk r$|Vq$WWdQRXdS)N)rVrmrrcr)rrrYr"r"r#keys   WeakValueDictionary.keysc c6|jr|jt||jjEdHWdQRXdS)Return an iterator that yields the weak references to the values. The references are not guaranteed to be 'live' at the time they are used, so the result of calling the references needs to be checked before being used. This can be used to avoid creating references that will cause the garbage collector to keep the values around longer than needed. N)rVrmrrcvalues)rr"r"r# itervaluerefs  !WeakValueDictionary.itervaluerefsc cN|jr|jt|.x&|jjD]}|}|dk r$|Vq$WWdQRXdS)N)rVrmrrcr)rrYr0r"r"r#r WeakValueDictionary.valuescC<|jr|jx(|jj\}}|}|dk r||fSqWdS)N)rVrmrcpopitem)rrXrYrrr"r"r#rWeakValueDictionary.popitemc G`|jr|jy|jj|}Wntk r8d}YnX|dkrX|rN|dSt|n|SdS)Nr)rVrmrcrkrq)rrXrerrr"r"r#rk  WeakValueDictionary.popc C`y|j|}Wntk r(d}YnX|dkrX|jr@|jt||j||j|<|S|SdS)N)rcrqrVrmrra)rrXrrrr"r"r# setdefault WeakValueDictionary.setdefaultcO|s td|^}}t|dkr0tdt||r<|dnd}|jrN|j|j}|dk rt|dsrti|}x&|jD]\}}t||j |||<q|Wt|r|j |dS)NEdescriptor 'update' of 'WeakValueDictionary' object needs an argumentrR$expected at most 1 arguments, got %drr) r*r`rVrmrchasattrr,rrrard)rekwargsrdictr\rXrrr"r"r#rd     WeakValueDictionary.updatecC|jr|jt|jjS)~Return a list of weak references to the values. The references are not guaranteed to be 'live' at the time they are used, so the result of calling the references needs to be checked before being used. This can be used to avoid creating references that will cause the garbage collector to keep the values around longer than needed. )rVrmlistrcr)rr"r"r# valuerefs3 WeakValueDictionary.valuerefsNN)rFrGrHrIrgrmrsrwr{rrrr__copy__rrrr__iter__rrrrkrrdrr"r"r"r#rZ.         c,eZdZdZdZddZfddZZS)r[Specialized reference that includes a key corresponding to the value. This is used in the WeakValueDictionary to avoid having to create a function object for each key stored in the mapping. A shared callback object can use the 'key' attribute of a KeyedRef instead of getting a reference to the key from an enclosing scope. rXcCtj|||}||_|S)N)rr-rX)r,obr rXrr"r"r#r-NKeyedRef.__new__ctj||dS)N)r5rg)rrr rX)r7r"r#rgSKeyedRef.__init__rX)rFrGrHrIrJr-rgrLr"r")r7r#rBrc@eZdZdZd+ddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ e Z ddZd,ddZddZddZddZeZdd Zd!d"Zd#d$Zd%d&Zd-d'd(Zd.d)d*ZdS)/r Mapping class that references keys weakly. Entries in the dictionary will be discarded when there is no longer a strong reference to the key. This can be used to associate additional data with an object owned by other parts of an application without adding attributes to those objects. This can be especially useful with objects that override attribute accesses. NcCFi|_t|fdd}||_g|_t|_d|_|dk rB|j|dS)NcS.|}|dk r*|jr"|jj|n|j|=dS)N)rUrVrWrc)rrZrr"r"r#r]d *WeakKeyDictionary.__init__..removeF)rcrrarVrbrU _dirty_lenrd)rrr]r"r"r#rgbWeakKeyDictionary.__init__c C>|j}|j}x,|r8y||j=Wqtk r4YqXqWdS)N)rVrcrkrq)rrlr\r"r"r#rms"WeakKeyDictionary._commit_removalsc&|jfdd|jD|_d|_dS)Ncg|]}|kr|qS)r").0r)r\r"r# 5WeakKeyDictionary._scrub_removals..F)rcrVr)rr")r\r#_scrub_removals!WeakKeyDictionary._scrub_removalscCd|_|jt|=dS)NT)rrcr)rrXr"r"r#rwWeakKeyDictionary.__delitem__cC|jt|S)N)rcr)rrXr"r"r#rsWeakKeyDictionary.__getitem__cC(|jr|jr|jt|jt|jS)N)rrVrr`rc)rr"r"r#r{ WeakKeyDictionary.__len__cCd|jjt|fS)N <%s at %#x>)r7rFr)rr"r"r#rWeakKeyDictionary.__repr__cC||jt||j<dS)N)rcrra)rrXrr"r"r#rWeakKeyDictionary.__setitem__cC8t}x,|jjD]\}}|}|dk r|||<qW|S)N)rrcr)rrrXrrrr"r"r#r  WeakKeyDictionary.copycCLddlm}|j}x2|jjD]$\}}|}|dk r |||||<q W|S)Nrr)rrr7rcr)rrrrrXrrrr"r"r#r WeakKeyDictionary.__deepcopy__cC|jjt||S)N)rcrr)rrXrr"r"r#rWeakKeyDictionary.getc C,y t|}Wntk r dSX||jkS)NF)rr*rc)rrXrYr"r"r#r  WeakKeyDictionary.__contains__c cHt|6x.|jjD] \}}|}|dk r||fVqWWdQRXdS)N)rrcr)rrYrrXr"r"r#r  WeakKeyDictionary.itemsc c<t|*x"|jD]}|}|dk r|VqWWdQRXdS)N)rrc)rrYr0r"r"r#r   WeakKeyDictionary.keysc c@t|.x&|jjD]\}}|dk r|VqWWdQRXdS)N)rrcr)rrYrr"r"r#r  WeakKeyDictionary.valuescC t|jS)zReturn a list of weak references to the keys. The references are not guaranteed to be 'live' at the time they are used, so the result of calling the references needs to be checked before being used. This can be used to avoid creating references that will cause the garbage collector to keep the keys around longer than needed. )rrc)rr"r"r#keyrefs WeakKeyDictionary.keyrefscC4d|_x(|jj\}}|}|dk r||fSqWdS)NT)rrcr)rrXrrrr"r"r#r WeakKeyDictionary.popitemcGd|_|jjt|f|S)NT)rrcrkr)rrXrer"r"r#rkWeakKeyDictionary.popcC|jjt||j|S)N)rcrrra)rrXrr"r"r#rWeakKeyDictionary.setdefaultcK`|j}|dk rJt|ds$ti|}x$|jD]\}}||t||j<q.Wt|r\|j|dS)Nr)rcrr,rrrar`rd)rrrr\rXrr"r"r#rd  WeakKeyDictionary.updateNNNN)rFrGrHrIrgrmrrwrsr{rrrrrrrrrrrrrrkrrdr"r"r"r#rW.      c@eZdZdZfZiZdZejZ dZ dZ GdddZ ddZ ddd Zd d Zd d ZeddZeddZejddZddZeddZeddZdS)rClass for finalization of weakrefable objects finalize(obj, func, *args, **kwargs) returns a callable finalizer object which will be called when obj is garbage collected. The first time the finalizer is called it evaluates func(*arg, **kwargs) and returns the result. After this the finalizer is dead, and calling it just returns None. When the program exits any remaining finalizers for which the atexit attribute is true will be run in reverse order of creation. By default atexit is true. Fc@eZdZdZdS) finalize._Infoweakrefr1reratexitindexNr0r1rerr1r2)rFrGrHrJr"r"r"r#_Info r4cOp|js ddl}|j|jdt_|j}t|||_||_||_ |pFd|_ d|_t |j |_ ||j|<dt_dS)NrT)_registered_with_atexitr1register _exitfuncrr4rr0r1rernext _index_iterr2 _registry_dirty)rr0r1rerr1infor"r"r#rg     finalize.__init__NcC2|jj|d}|r.|j r.|j|j|jp*iSdS)ZIf alive then mark as dead and return func(*args, **kwargs); otherwise return NoneN)r<rk _shutdownr1rer)r_r>r"r"r#r6 finalize.__call__cCH|jj|}|o|j}|dk rD|jj|drD||j|j|jp@ifSdS)^If alive then mark as dead and return (obj, func, args, kwargs); otherwise return NoneN)r<rr0rkr1rer)rr>r0r"r"r#detach&  finalize.detachcC:|jj|}|o|j}|dk r6||j|j|jp2ifSdS)MIf alive then return (obj, func, args, kwargs); otherwise return NoneN)r<rr0r1rer)rr>r0r"r"r#peek.   finalize.peekcC ||jkS)Whether finalizer is alive)r<)rr"r"r#alive6finalize.alivecC|jj|}t|o|jS)*Whether finalizer should be called at exit)r<rboolr1)rr>r"r"r#r1; finalize.atexitcC|jj|}|rt||_dS)N)r<rrXr1)rrr>r"r"r#r1A cC^|jj|}|o|j}|dkr6dt|jt|fSdt|jt|t|jt|fSdS)N<%s object at %#x; dead>!<%s object at %#x; for %r at %#x>)r<rr0r,rFr)rr>r0r"r"r#rG   finalize.__repr__cC2dd|jjD}|jddddd|DS)NcSg|]\}}|jr||fqS))r1)rfir"r"r#rS-finalize._select_for_exit..cS |djS)NrR)r2)itemr"r"r#T+finalize._select_for_exit..rXcSg|] \}}|qS)r")rrdrer"r"r#rU)r<rsort)r.Lr"r"r#_select_for_exitPfinalize._select_for_exitcCd}z|jrddl}|jr(d}|jd}xj|dks"(  6iPK!<۞_bootlocale.pycPK!Kjpjp_collections_abc.pycPK!8fځt_weakrefset.pycPK!R CyHH8abc.pycPK!b{VV codecs.pycPK!;"#5collections/__init__.pycPK!ZB>collections/abc.pycPK!7X copyreg.pycPK!K5GGencodings/__init__.pycPK!Z4 oo8 encodings/aliases.pycPK!ȽZ33!encodings/ascii.pycPK!N N >)encodings/base64_codec.pycPK!6{{2encodings/big5.pycPK!;oo8encodings/big5hkscs.pycPK!?ɥ, )>encodings/bz2_codec.pycPK!E&P P  Kencodings/charmap.pycPK!j/T T Vencodings/cp037.pycPK!al `encodings/cp1006.pycPK!&tX X iencodings/cp1026.pycPK![nsencodings/cp1125.pycPK!/`#J J 5encodings/cp1140.pycPK!"o o encodings/cp1250.pycPK!5l l Rencodings/cp1251.pycPK!Vo o encodings/cp1252.pycPK!"| | encodings/cp1253.pycPK!|$q q ?encodings/cp1254.pycPK!tK encodings/cp1255.pycPK!wan n encodings/cp1256.pycPK!iv v 8encodings/cp1257.pycPK!H_t t encodings/cp1258.pycPK!F F encodings/cp273.pycPK!2r r encodings/cp424.pycPK!>>czzencodings/cp437.pycPK!eT T K%encodings/cp500.pycPK![G3Hjj.encodings/cp65001.pycPK! m5encodings/cp720.pycPK!W!DS?encodings/cp737.pycPK!A@_encodings/cp775.pycPK!E'' ~encodings/cp850.pycPK!Faencodings/cp852.pycPK!e㗝2encodings/cp855.pycPK!Ē encodings/cp856.pycPK!?6encodings/cp857.pycPK!K   encodings/cp858.pycPK!F1[eeCencodings/cp860.pycPK!d'tt<encodings/cp861.pycPK!r{11~[encodings/cp862.pycPK!RCttzencodings/cp863.pycPK!ƕIdencodings/cp864.pycPK!#ttencodings/cp865.pycPK!ln[aencodings/cp866.pycPK!6ASencodings/cp869.pycPK!|L encodings/cp874.pycPK!&Q Q  encodings/cp875.pycPK!~"2}})encodings/cp932.pycPK!L}}}}G/encodings/cp949.pycPK!y0v}}4encodings/cp950.pycPK!;:encodings/euc_jis_2004.pycPK!RJ5f@encodings/euc_jisx0213.pycPK!)Fencodings/euc_jp.pycPK!N3VKencodings/euc_kr.pycPK!Qencodings/gb18030.pycPK!~?Wencodings/gb2312.pycPK!j90yy\encodings/gbk.pycPK!OA A bencodings/hex_codec.pycPK!)  lencodings/hp_roman8.pycPK!L6ww`vencodings/hz.pycPK!5Q\oo|encodings/idna.pycPK! TEencodings/iso2022_jp.pycPK!`fencodings/iso2022_jp_1.pycPK!.encodings/iso2022_jp_2.pycPK!yencodings/iso2022_jp_2004.pycPK![̐ǩencodings/iso2022_jp_3.pycPK!tKencodings/iso2022_jp_ext.pycPK!y1nR]encodings/iso2022_kr.pycPK!