KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache
System : Linux server112.speedpacket.com 3.10.0-962.3.2.lve1.5.36.el7.x86_64 #1 SMP Mon May 18 02:16:06 EDT 2020 x86_64
User : equistyl ( 1341)
PHP Version : 8.1.30
Disable Function : NONE
Directory :  /lib64/python2.7/site-packages/matplotlib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib64/python2.7/site-packages/matplotlib/cbook.pyo
�
r`]c@sdZddlmZddlZddlZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZmZddlZddljZejddkr!ddlZnddlZejddkrLd�Zn	d	�Zd
d~d��YZdefd
��YZdefd��YZ defd��YZ!defd��YZ"defd��YZ#de$fd��YZ%ddd��YZ&dej'fd��YZ(de(fd��YZ)de(fd��YZ*d e+fd!��YZ,d"�Z-d#d�d$��YZ.d%�Z/d&�Z0d'�Z1d(�Z2d)�Z3d*�Z4d+�Z5d,e6d-�Z7d.�Z8e9d/�Z:e8d0�Z;d1d�d2��YZ<d3e=fd4��YZ>d5d6�Z?d7d�d8��YZ@d9d:�ZAd;d�d<��YZBeB�ZCd=�ZDd>d�d?��YZEd@�ZFdA�ZGejHdB�ZIiZJdC�ZKdDdEddF�ZLdG�ZMdHdI�ZNddJ�ZPdK�ZQdL�ZRdM�ZSdN�ZTdOe=fdP��YZUdQe$fdR��YZVdS�ZWe6dT�ZXdU�ZYdV�ZZddW�Z[dXZ\dY�Z]dZ�Z^d[�Z_d\d�d]��YZ`ejae6d^�Zbd_e$fd`��YZcda�Zddb�Zedc�Zfe9dd�Zgd�d�d�d�gZhe=eh�ZieijjgehD]ZkekdEekdf^q�e6dm�Zldnddo�Zmdp�Zndq�Zodr�Zpds�Zqdt�Zrdu�Zsdve$fdw��YZtdxe$fdy��YZuyejvWnewk
r�ejxZyn
Xdz�Zyd{�Zze{e
d|�r�e
j|Z|nezZ|e}d}kr
ndS(�su
A collection of utility functions and classes.  Many (but not all)
from the Python Cookbook -- hence the name cbook
i����(tprint_functionN(treduce(treftWeakKeyDictionaryiicCs�ddl}y/tj|jd�j�}|s:d}nWn tttfk
r]d}nXt	|t
�r�|dkr�t|�St||�Sn|S(Ni����saxes.formatter.use_locale(t
matplotlibtlocaletgetpreferredencodingtrcParamststriptNonet
ValueErrortImportErrortAttributeErrort
isinstancetbytestunicode(tsRtpreferredencoding((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytunicode_safe,s


cCs�ddl}y/tj|jd�j�}|s:d}nWn tttfk
r]d}nX|dkrtt	|�St	||�SdS(Ni����saxes.formatter.use_locale(
RRRRRR	R
RRR(RRR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR@s


t	convertercBs/eZdZddd�Zd�Zd�ZRS(s[
    Base class for handling string -> python type with support for
    missing values
    tNullcCs||_||_dS(N(tmissingt
missingval(tselfRR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__init__Vs	cCs||jkr|jS|S(N(RR(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__call__ZscCs|j�p||jkS(N(RR(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
is_missing_sN(t__name__t
__module__t__doc__R	RRR(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRQs	ttostrcBseZdZddd�ZRS(sconvert to string or NoneRtcCstj|d|d|�dS(NRR(RR(RRR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRes(RRRR(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRcst
todatetimecBs)eZdZdddd�Zd�ZRS(sconvert to a datetime or Nones%Y-%m-%dRcCs tj|||�||_dS(s8use a :func:`time.strptime` format string for conversionN(RRtfmt(RR!RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRkscCs<|j|�r|jStj||j�}tj|d �S(Ni(RRttimetstrptimeR!tdatetime(RRttup((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRpsN(RRRR	RR(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR isttodatecBs)eZdZdddd�Zd�ZRS(sconvert to a date or Nones%Y-%m-%dRcCs tj|||�||_dS(s8use a :func:`time.strptime` format string for conversionN(RRR!(RR!RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRyscCs<|j|�r|jStj||j�}tj|d �S(Ni(RRR"R#R!R$tdate(RRR%((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR~sN(RRRR	RR(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR&wsttofloatcBs&eZdZddd�Zd�ZRS(sconvert to a float or NoneRcCstj||�||_dS(N(RRR(RRR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�scCs |j|�r|jSt|�S(N(RRtfloat(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�sN(RRRR	RR(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR(�sttointcBs&eZdZddd�Zd�ZRS(sconvert to an int or NoneRcCstj||�dS(N(RR(RRR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�scCs |j|�r|jSt|�S(N(RRtint(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�sN(RRRR	RR(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR*�st_BoundMethodProxycBsDeZdZd�Zd�Zd�Zd�Zd�Zd�ZRS(s�
    Our own proxy object which enables weak references to bound and unbound
    methods and arbitrary callables. Pulls information about the function,
    class, and instance out of a bound method. Stores a weak reference to the
    instance to support garbage collection.

    @organization: IBM Corporation
    @copyright: Copyright (c) 2005, 2006 IBM Corporation
    @license: The BSD License

    Minor bugfixes by Michael Droettboom
    cCs�yOyt|j�|_Wntk
r5d|_nX|j|_|j|_Wn,t	k
r}d|_||_d|_nXdS(N(
Rtim_selftinstt	TypeErrorR	tim_functfunctim_classtklassR(Rtcb((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s


		cCs9|jj�}|d}|dk	r5|�|d<n|S(NR.(t__dict__tcopyR	(RtdR.((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__getstate__�s

cCs5||_|d}|dk	r1t|�|_ndS(NR.(R5R	RR.(Rt	statedictR.((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__setstate__�s	
cOs�|jdk	r*|j�dkr*t�nm|jdk	r�tjddkrjtj|j|j��}q�tj	|j|j�|j
�}n	|j}|||�S(s�
        Proxy for a call to the weak referenced object. Take
        arbitrary params to pass to the callable.

        Raises `ReferenceError`: When the weak reference refers to
        a dead object
        iiN(R.R	tReferenceErrortsystversion_infottypest
MethodTypeR1tnewtinstancemethodR3(Rtargstkwargstmtd((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s!	$	cCssyZ|jdkr1|j|jko0|jdkS|j|jkoX|j�|j�kSWntk
rntSXdS(sa
        Compare the held function and instance with that held by
        another proxy.
        N(R.R	R1t	ExceptiontFalse(Rtother((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__eq__�s,
cCs|j|�S(s$
        Inverse of __eq__.
        (RH(RRG((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__ne__�s(	RRRRR8R:RRHRI(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR,�s	
				
tCallbackRegistrycBsDeZdZd�Zd�Zd�Zd�Zd�Zd�ZRS(s&
    Handle registering and disconnecting for a set of signals and
    callbacks:

        >>> def oneat(x):
        ...    print 'eat', x
        >>> def ondrink(x):
        ...    print 'drink', x

        >>> from matplotlib.cbook import CallbackRegistry
        >>> callbacks = CallbackRegistry()

        >>> id_eat = callbacks.connect('eat', oneat)
        >>> id_drink = callbacks.connect('drink', ondrink)

        >>> callbacks.process('drink', 123)
        drink 123
        >>> callbacks.process('eat', 456)
        eat 456
        >>> callbacks.process('be merry', 456) # nothing will be called
        >>> callbacks.disconnect(id_eat)
        >>> callbacks.process('eat', 456)      # nothing will be called

    In practice, one should always disconnect all callbacks when they
    are no longer needed to avoid dangling references (and thus memory
    leaks).  However, real code in matplotlib rarely does so, and due
    to its design, it is rather difficult to place this kind of code.
    To get around this, and prevent this class of memory leaks, we
    instead store weak references to bound methods only, so when the
    destination object needs to die, the CallbackRegistry won't keep
    it alive.  The Python stdlib weakref module can not create weak
    references to bound methods directly, so we need to create a proxy
    object to handle weak references to bound methods (or regular free
    functions).  This technique was shared by Peter Parente on his
    `"Mindtrove" blog
    <http://mindtrove.info/articles/python-weak-references/>`_.
    cGsAt|�rtjdt�nt�|_d|_i|_dS(NsPCallbackRegistry no longer requires a list of callback types. Ignoring argumentsi(tlentwarningstwarntDeprecationWarningtdictt	callbackst_cidt
_func_cid_map(RRB((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRs
	cCsiS(N((R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR8 scCs|j�dS(N(R(Rtstate((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR:%scCs�|jj|t��||j|kr8|j||S|jd7_|j}||j||<|jj|t��t|�}||j||<|S(si
        register *func* to be called when a signal *s* is generated
        func will be called
        i(RRt
setdefaultRRQRPROR,(RRR1tcidtproxy((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytconnect)s	cCs�x||jj�D]k\}}y||=Wntk
r=qqXx6|jj�D]%\}}||krN|j|=qNqNWdSqWdS(sK
        disconnect the callback registered with callback id *cid*
        N(RPtitemstKeyErrorRR(RRUt	eventnamet	callbackdtkeytvalue((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
disconnect:s
cOsy||jkruxc|j|j�D]K\}}|jdk	ra|j�dkra|j||=q#|||�q#WndS(s�
        process signal *s*.  All of the functions registered to receive
        callbacks on *s* will be called with *\*args* and *\*\*kwargs*
        N(RPRXR.R	(RRRBRCRURV((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytprocessIs
 !(	RRRRR8R:RWR^R_(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRJ�s%	
				t	SchedulercBs2eZdZej�ZdZd�Zd�ZRS(s4
    Base class for timeout and idle scheduling
    icCsGtjj|�tj|_t|_tjd7_tj�|_dS(Ni(	t	threadingtThreadRR`tidRFt_stoppedtEventt
_stopevent(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR^s
	cCs1|jr
dS|jj�|j�t|_dS(N(RdRftsettjointTrue(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytstopes
	

(	RRRRatLocktidlelockRcRRj(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR`Ws
	tTimeoutcBs eZdZd�Zd�ZRS(s?
    Schedule recurring events with a wait time in seconds
    cCs#tj|�||_||_dS(N(R`RtwaitR1(RRnR1((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRqs
	cCs`xY|jj�s[|jj|j�tjj�|j|�}tjj�|sPqqWdS(N(RftisSetRnR`RltacquireR1trelease(Rtb((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytrunvs

(RRRRRs(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRmms	tIdlecBs&eZdZdZd�Zd�ZRS(s3
    Schedule callbacks when scheduler is idle
    g�������?cCstj|�||_dS(N(R`RR1(RR1((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s
cCs`xY|jj�s[|jjtj�tjj�|j|�}tjj	�|sPqqWdS(N(
RfRoRnRttwaittimeR`RlRpR1Rq(RRr((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRs�s

(RRRRuRRs(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRt�s	tsilent_listcBs>eZdZdd�Zd�Zd�Zd�Zd�ZRS(s�
    override repr when returning a list of matplotlib artists to
    prevent long, meaningless output.  This is meant to be used for a
    homogeneous list of a given type
    cCs)||_|dk	r%|j|�ndS(N(ttypeR	textend(RRwtseq((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s	cCsdt|�|jfS(Ns<a list of %d %s objects>(RKRw(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__repr__�scCs
t|�S(N(trepr(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__str__�scCsi|jd6|d6S(NRwRy(Rw(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR8�scCs"|d|_|j|d�dS(NRwRy(RwRx(RRS((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR:�s
N(	RRRR	RRzR|R8R:(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRv�s			cCs:d}|d	d
!}x |D]}|j|d�}qW|S(
s%remove latex formatting from mathtexts\mathdefaults\rms\cals\tts\its\t{t}ii����R(s\mathdefaults\rms\cals\tts\its\R}R~(treplace(Rtremovetr((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
strip_math�s


tBunchcBs eZdZd�Zd�ZRS(s�
    Often we want to just collect a bunch of stuff together, naming each
    item of the bunch; a dictionary's OK for that, but a small do- nothing
    class is even handier, and prettier to use.  Whenever you want to
    group a few variables::

      >>> point = Bunch(datum=2, squared=4, coord=12)
      >>> point.datum

      By: Alex Martelli
      From: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52308
    cKs|jj|�dS(N(R5tupdate(Rtkwds((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�scCsD|jj�}ddjg|D]}d||j|f^q�S(Ns	Bunch(%s)s, s%s=%s(R5titerkeysRh(Rtkeystk((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRz�s(RRRRRz(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR��s	cCs)tg|D]}|df^q
�j�S(s'Return a list of unique elements of *x*i(ROR�(txtval((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytunique�scCs'yt|�Wntk
r"tSXtS(s return true if *obj* is iterable(titerR/RFRi(tobj((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytiterable�s

cCsot|ttf�rtStj|�rT|jdkrM|jjdkrMtSt	Sny|dWnt	SXtS(s(Return True if *obj* looks like a stringitSUR(
R
tstrRRitmat
isMaskedArraytndimtdtypetkindRF(R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytis_string_like�s!cCsEt|�stSt|�r tSx|D]}t|�s'tSq'WtS(s@
    Returns true if *obj* is iterable and contains strings
    (R�RFR�Ri(R�to((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytis_sequence_of_strings�s
cCst|d�ot|j�S(sCreturn true if *obj* looks like a file object with a *write* methodtwrite(thasattrtcallableR�(R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytis_writable_file_likescCst|�ot|�S(s;return true if *obj* is not string like and is not iterable(R�R�(R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt	is_scalarscCsy|dWntSXtSdS(s(return true if *obj* looks like a numberiN(RFRi(R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
is_numlike
s
trUcCs�t|�r�|jd�rNddl}|jdd�}|j||�}nQ|jd�r�|jdd�}ddl}|j||�}nt||�}t}n*t|d�r�|}t	}nt
d��|r�||fS|S(	s�
    *fname* can be a filename or a file handle.  Support for gzipped
    files is automatic, if the filename ends in .gz.  *flag* is a
    read/write flag for :func:`file`
    s.gzi����NtURs.bz2tseeks%fname must be a string or file handle(R�tendswithtgzipRtopentbz2tBZ2FileRiR�RFR
(tfnametflagt
return_openedR�tfhR�topened((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
to_filehandles$		
cCst|�pt|�S(s;Return whether the given object is a scalar or string like.(R�R�(R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytis_scalar_or_string2scCs�tjjtjjt�dd�}tjj||�}|r�tjj|�dj�dkrjd}nd}tjj|�\}}|d	kr�tj||�St||�Sn|Sd
S(s
    Return a sample data file.  *fname* is a path relative to the
    `mpl-data/sample_data` directory.  If *asfileobj* is `True`
    return a file object, otherwise just a file path.

    If the filename ends in .gz, the file is implicitly ungzipped.
    smpl-datatsample_datai����s.csvs.xrcs.txtR�trbs.gzN(s.csvs.xrcs.txt(	tostpathRhtdirnamet__file__tsplitexttlowerR�R�(R�t	asfileobjtrootR�tmodetbasetext((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytget_sample_data7s$		ccsHxA|D]9}||�r!|Vqxt||�D]}|Vq1WqWdS(s�
    Returns a generator of flattened nested containers

    For example:

        >>> from matplotlib.cbook import flatten
        >>> l = (('John', ['Hunter']), (1, 23), [[([42, (5, 23)], )]])
        >>> print list(flatten(l))
        ['John', 'Hunter', 1, 23, 42, 5, 23]

    By: Composite of Holger Krekel and Luther Blissett
    From: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/121294
    and Recipe 1.12 in cookbook
    N(tflatten(Rytscalarptitemtsubitem((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�Rs

tSortercBs>eZdZd�Zddd�Zdd�ZeZeZRS(se
    Sort by attribute or item

    Example usage::

      sort = Sorter()

      list = [(1, 2), (4, 8), (0, 3)]
      dict = [{'a': 3, 'b': 4}, {'a': 5, 'b': 2}, {'a': 0, 'b': 0},
              {'a': 9, 'b': 9}]


      sort(list)       # default sort
      sort(list, 1)    # sort by index 1
      sort(dict, 'a')  # sort a list of dicts by key 'a'

    cCsA|j�g|D]\}}||^q}|r=||(n|S(N(tsort(Rtdatatauxtinplacetjunktitresult((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt_helper|s

#
icCs�|dkr:|r%|j�|}n|}|j�|Sgtt|��D]}||||f^qM}|j|||�SdS(N(R	R�trangeRKR�(RR�t	itemindexR�R�R�R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytbyItem�s
	
3cCsKgtt|��D]}t|||�|f^q}|j|||�S(N(R�RKtgetattrR�(RR�t
attributenameR�R�R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytbyAttribute�s8N(	RRRR�R	R�R�R�R(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�is	
tXlatorcBs)eZdZd�Zd�Zd�ZRS(sm
    All-in-one multiple-string-substitution class

    Example usage::

      text = "Larry Wall is the creator of Perl"
      adict = {
      "Larry Wall" : "Guido van Rossum",
      "creator" : "Benevolent Dictator for Life",
      "Perl" : "Python",
      }

      print multiple_replace(adict, text)

      xlat = Xlator(adict)
      print xlat.xlat(text)
    cCs(tjdjttj|j����S(s= Build re object based on the keys of the current dictionary t|(tretcompileRhtmaptescapeR�(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt_make_regex�scCs||jd�S(s( Handler invoked for each regex *match* i(tgroup(Rtmatch((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�scCs|j�j||�S(s. Translate *text*, returns the modified text. (R�tsub(Rttext((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytxlat�s(RRRR�RR�(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR��s		icCs�d}d}d}xp|j�D]b}|j�r|s@|}n|t|�td�}|sq||dkr�||7}q�qqW||d}|jdd�}||d| S(s6 soundex module conforming to Odell-Russell algorithm t01230120022455012623010202RtAi����it0(tuppertisalphatordR(tnameRKtsoundex_digitstsndxtfctcR7((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytsoundex�s	RcBsVeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
RS(	s0 Null objects always and reliably "do nothing." cOsdS(N((RRBRC((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�scOs|S(N((RRBRC((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�scCsdS(NsNull()((R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR|�scCsdS(NsNull()((R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRz�scCsdS(Ni((R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__nonzero__�scCs|S(N((RR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__getattr__�scCs|S(N((RR�R]((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__setattr__�scCs|S(N((RR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__delattr__�s(RRRRRR|RzR�R�R�R�(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s							i�cCs�y�tjj|�s�tjj|�}x_tdt|�d�D]A}tjj|| �}tjj|�sAtj||�qAqAWnWn>tk
r�}|j	t	j
ks�tjj|�r��q�nXdS(s�
    make directory *newdir* recursively, and set *mode*.  Equivalent to ::

        > mkdir -p NEWDIR
        > chmod MODE NEWDIR
    iN(R�R�texiststsplitR�RKRhtmakedirstOSErrorterrnotEEXISTtisdir(tnewdirR�tpartsR�tthispartterr((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytmkdirs�s %tGetRealpathAndStatcBseZd�Zd�ZRS(cCs
i|_dS(N(t_cache(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRscCs�|jj|�}|dkr�tjj|�}tjdkrH|}n!tj|�}|j	|j
f}||f}||j|<n|S(Ntwin32(R�tgetR	R�R�trealpathR<tplatformtstattst_inotst_dev(RR�R�R�tstat_keyR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR
s	(RRRR(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s	cCs4x-|D]%}y||=Wqtk
r+qXqWdS(s3delete all of the *keys* from the :class:`dict` *d*N(RY(R7R�R\((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytdict_delalls


t
RingBuffercBsEeZdZd�Zddd��YZd�Zd�Zd�ZRS(s- class that implements a not-yet-full buffer cCs||_g|_dS(N(tmaxR�(Rtsize_max((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR$s	t__FullcBs eZdZd�Zd�ZRS(s% class that implements a full buffer cCs+||j|j<|jd|j|_dS(s/ Append an element overwriting the oldest one. iN(R�tcurR(RR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytappend*scCs|j|j|j|j S(s* return list of elements in correct order (R�R(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�/s(RRRRR�(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR(s	cCsA|jj|�t|j�|jkr=d|_t|_ndS(s*append an element at the end of the bufferiN(R�RRKRRt_RingBuffer__Fullt	__class__(RR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR3s	cCs|jS(s: Return a list of elements from the oldest to the newest. (R�(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�;scCs|j|t|j�S(N(R�RK(RR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__get_item__?s((RRRRRRR�R
(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR"s			cCs`d}xMt|tt|���D]0\}}|t|�d7}||kr"|Sq"Wt|�S(su
    *seq* is a list of words.  Return the index into seq such that::

        len(' '.join(seq[:ind])<=N

    .
    ii(tziptxrangeRK(RytNtsLentwordtind((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
get_split_indCs	(cCs�dt|j��}|t|�}|jd�}t|�}d}g}xA||kr�|}	|t|||�7}|j||	|!�qPW|dj|d�d}
x-|dD]!}|
|dj|�d7}
q�W|
S(s*wrap *text* with *prefix* at length *cols*t is
i(RKt
expandtabsR�RRRh(tprefixR�tcolstpadt	availableRytNseqRtlinestlastIndtrettline((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytwrapUss(?:(?:

?)|^)( *)\ScCs�|s
dStj|�}|dkr)|S|jd�|jd�}|dkrU|Stj|d�}|dkr�tjd|�}|t|<n|j	d|�j
�}|S(s�
    Remove excess indentation from docstring *s*.

    Discards any leading blank lines, then removes up to n whitespace
    characters from each line, where n is the number of leading
    whitespace characters in the first line. It differs from
    textwrap.dedent in its deletion of leading blank lines and its use
    of the first non-blank line to determine the indentation.

    It is also faster in most cases.
    Riis


? {0,%d}s
N(t_find_dedent_regexR�R	tendtstartt
_dedent_regexR�R�R�R�R(RR�tnshifttunindentR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytdedentqs
t*icCs�ddl}ddl}|jd�}g}x�|j|�D]�\}}	}
x~|
D]v}|jj|jj||��}|s�|jj|�rSx4|D])}
|j||
�r�|j|�Pq�q�WqSqSW|s=Pq=q=W|S(sU
    Recursively list files

    from Parmar and Martelli in the Python Cookbook
    i����Nt;(	tos.pathtfnmatchR�twalkR�tnormpathRhtisfileR(R�tpatternstrecursetreturn_foldersR�R(tpattern_listtresultsR�tdirstfilesR�tfullnametpattern((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt	listFiles�s
!

cCs�g}xm|D]e}tjj|�r8|j|�q
ntjj|�r
t|dddd�}|j|�q
q
Wg|D]}tjj|�s}|^q}S(sx
    Recurse all the files and dirs in *args* ignoring symbolic links
    and return the files as a list of strings
    R-iR.(R�R�R+RR�R5Rxtislink(RBR2targtnewfilestf((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytget_recursive_filelist�s

iccs@d}x3||||!}t|�s*Pn|V||7}q	dS(s$Break up the *seq* into *num* tuplesiN(RK(RytnumR R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytpieces�scCsEtj�}|dk	r+t|d|�ntjd|�|j�S(Ntfile(tiotStringIOR	tprintt	tracebackt	print_exctgetvalue(Rtsh((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytexception_to_str�s
cCs^t|�dkrtS|d}x7tdt|��D] }||}||kr6tSq6WtS(sm
    Return *True* if all elements of *seq* compare equal.  If *seq* is
    0 or 1 length, return *True*
    iii(RKRiRRF(RyR�R�tthisval((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytallequal�s

cCs/t|�stSx|D]}|stSqWtS(sl
    Return *True* if all elements of *seq* evaluate to *True*.  If
    *seq* is empty, return *False*.
    (RKRFRi(RyR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytalltrue�s
cCs/t|�stSx|D]}|rtSqWtS(sb
    Return *True* if one element of *seq* is *True*.  It *seq* is
    empty, return *False*.
    (RKRFRi(RyR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytonetrue�s
cCs>gt|�D]-\}}||dD]}||f^q%q
S(s
    return all possible pairs in sequence *x*

    Condensed by Alex Martelli from this thread_ on c.l.python

    .. _thread: http://groups.google.com/groups?q=all+pairs+group:*python*&hl=en&lr=&ie=UTF-8&selm=mailman.4028.1096403649.5135.python-list%40python.org&rnum=1
    i(t	enumerate(R�R�R9R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytallpairsstmaxdictcBs eZdZd�Zd�ZRS(s�
    A dictionary with a maximum size; this doesn't override all the
    relevant methods to contrain size, just setitem, so use with
    caution
    cCs#tj|�||_g|_dS(N(RORtmaxsizet	_killkeys(RRM((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRs
	cCsf||krOt|�|jkr<||jd=|jd=n|jj|�ntj|||�dS(Ni(RKRMRNRROt__setitem__(RR�tv((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyROs
(RRRRRO(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRLs	tStackcBs}eZdZd
d�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�ZRS(s�
    Implement a stack where elements can be pushed on and you can move
    back and forth.  But no pop.  Should mimic home / back / forward
    in a browser
    cCs|j�||_dS(N(tcleart_default(Rtdefault((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR*s
cCs(t|j�s|jS|j|jSdS(s#return the current element, or NoneN(RKt	_elementsRSt_pos(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR.scCs
|jj�S(N(RUt__len__(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRW5scCs|jj|�S(N(RUt__getitem__(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRX8scCs;t|j�}|j|dkr4|jd7_n|�S(s8move the position forward and return the current elementi(RKRURV(RR
((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytforward;scCs(|jdkr!|jd8_n|�S(s5move the position back and return the current elementii(RV(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytbackBscCsD|j|jd |_|jj|�t|j�d|_|�S(s�
        push object onto stack at current position - all elements
        occurring later than the current position are discarded
        i(RURVRRK(RR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytpushHscCs.t|j�sdS|j|jd�|�S(s0push the first element onto the top of the stackNi(RKRUR[(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pythomeRscCst|j�dkS(Ni(RKRU(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytemptyYscCsd|_g|_dS(sempty the stacki����N(RVRU(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRR\s	cCs�||jkrtd��n|j}|j�g}x7|D]/}||kra|j|�q?|j|�q?Wx|D]}|j|�qyW|S(se
        raise *o* to the top of the stack and return *o*.  *o* must be
        in the stack
        sUnknown element o(RUR
RRRR[(RR�toldtbubblestthiso((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytbubbleas



cCsf||jkrtd��n|j}|j�x-|D]%}||krQq9q9|j|�q9WdS(s!remove element *o* from the stacksUnknown element oN(RUR
RRR[(RR�R^R`((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�us


N(RRRR	RRRWRXRYRZR[R\R]RRRaR�(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRQ#s						
				cCs+x$tt|��D]}|j�qWdS(sempty a listN(RRKtpop(RyR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytpopall�scCs�|r:gt|�D]}t|�r||f^q}nCgt|�D]$}t|�rG|j�|f^qG}|j�}g|D]'\}}|j|�dkr�|^q�S(su
    return all attributes of *o* which match string in match.  if case
    is True require an exact case match.
    i(tdirR�R�tfind(R�R�tcaseR�tnamestorig((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytfinddir�s4$cCs/tg|j�D]\}}||f^q�S(sAreverse the dictionary -- may lose data if values are not unique!(ROt	iteritems(R7R�RP((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytreverse_dict�scCs;tg|j�D]$\}}||kr||f^q�S(sn
    Return a dictionary that contains those keys that appear in both
    d and keys, with values from d.
    (RORj(R7R�R�RP((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
restrict_dict�scCs�ddlm}m}tj�}tjdkro|d|dtd|�jj	�}t
|dj��}nGtjjd�r�|d|dtd|�jj	�}t
|d	j
�d	�}n�tjjd
�r|d|dtd|�jj	�}t
|d	j
�d�}n�tjjd
�r�y/|dddd|gd|�jj�}Wntk
rwtd��nXt
|j�j
�djdd��}ntdtj��|S(s%return the memory consumed by processi����(tPopentPIPEtsunos5sps -p %d -o osztshelltstdouttlinuxsps -p %d -o rss,szitdarwinsps -p %d -o rss,vszitwinttasklists/nhs/fis	pid eq %dsFreport_memory works on Windows only if the 'tasklist' program is foundi����t,Rs%We don't have a memory monitor for %s(t
subprocessRmRnR�tgetpidR<R�RiRqt	readlinesR+Rt
startswithR�treadR�tNotImplementedErrorR(R�RmRntpidta2tmem((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
report_memory�s2

+s0In safezip, len(args[0])=%d but len(args[%d])=%dcGsst|d�}xVt|d�D]D\}}t|�|kr!tt||dt|�f��q!q!Wt|�S(s-make sure *args* are equal len before zippingii(RKRJR
t_safezip_msgR(RBtNxR�R7((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytsafezip�s
*cCs*yt||�SWntk
r%tSXdS(s;return issubclass(x, klass) and return False on a TypeErrorN(t
issubclassR/RF(R�R3((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytissubclass_safe�s
cCsNtj|�}y&tjj|dt�}|j�Wntk
rI|SX|S(NR6(tnpt
asanyarrayR�tmasked_invalidRFtshrink_maskR/(R�txm((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytsafe_masked_invalid�s
t
MemoryMonitorcBsSeZdd�Zd�Zd�Zdd�Zddd�Zddd
d	�ZRS(i NcCs5||_tj|jftj�|_|j�dS(N(t_nmaxR�tzerostint32t_memRR(Rtnmax((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s	cCsd|_t|_dS(Ni(t_nRFt	_overflow(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRR�s	cCsJt�}|j|jkr=||j|j<|jd7_n	t|_|S(Ni(R�R�R�R�RiR�(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s		ic	Cs&|j}t||�}t||�}td||�}|d|d<t�td�td|jd�x�tdt|��D]�}||||d}|dkr�q�n|j|||j||d}td|||j||||t|�f�q�W|jr"td�ndS(Niii����s(memory report: i, mem, dmem, dmem/nloopss%5d %5d %3d %8.3fs:Warning: array size was too small for the number of calls.(	R�tminR+R�R@R�RKR)R�(RtsegmentstntdntiiR�tditdm((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytreport�s"	
$	iicCs5tj||j|�}||j||j|�fS(N(R�tarangeR�R�(Rti0tisubR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytxyscCsg|dkr.ddlm}m}|�}n|jd�}|j|j||��|jj�dS(Ni����(tfiguretshowio(	R	tpylabR�R�tadd_subplottplotR�tcanvastdraw(RR�R�tfigR�R�tax((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�
sN(	RRRRRRR�R�R	R�(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR��s			cs�ddl�ddlm��fd���������fd��x5�D]-}�jd|f��||ig�qSWdS(sY
    *objects*
        A list of objects to find cycles in.  It is often useful to
        pass in gc.garbage to find the cycles that are preventing some
        objects from being garbage collected.

    *outstream*
        The stream for output.

    *show_progress*
        If True, print the number of objects reached as they are found.
    i����N(t	FrameTypecsKx7t|�D])\}}||dt|�}�jdtt|���t|t�r�x�|j�D]Z\}}||kr��jdt|��Pn||krj�jdt|��PqjqjWn^t|t	�r��jd|j
|��n2t|t�r�jd�n�jt|���jd�q
W�jd�dS(	Nis	   %s -- s[%s]s
[key] = %ss[%d]s	( tuple )s ->
s
(RJRKR�R�RwR
RORjR{tlisttindexttuple(R�R�tsteptnextR\R�(t	outstream(s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
print_path$s$cs��r �jdt|��nd|t|�<�j|�}xw|D]o}||kre�|�qF|�ksFt|��r�qFqFt|�|krF�|||||g�qFqFWdS(Ns%d
(R�RKR	Rct
get_referentsR
(R�R talltcurrent_patht	referentstreferent(R�tgctobjectsR�R�R-t
show_progress(s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR-;s

sExamining: %r
(R�R>R�R�(R�R�R�R�((R�R�R�R�R�R-R�s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytprint_cycless
!
tGroupercBsPeZdZgd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(s
    This class provides a lightweight way to group arbitrary objects
    together into disjoint sets when a full-blown graph data structure
    would be overkill.

    Objects can be joined using :meth:`join`, tested for connectedness
    using :meth:`joined`, and all disjoint sets can be retreived by
    using the object as an iterator.

    The objects being joined must be hashable and weak-referenceable.

    For example:

        >>> from matplotlib.cbook import Grouper
        >>> class Foo(object):
        ...     def __init__(self, s):
        ...         self.s = s
        ...     def __repr__(self):
        ...         return self.s
        ...
        >>> a, b, c, d, e, f = [Foo(x) for x in 'abcdef']
        >>> grp = Grouper()
        >>> grp.join(a, b)
        >>> grp.join(b, c)
        >>> grp.join(d, e)
        >>> sorted(map(tuple, grp))
        [(d, e), (a, b, c)]
        >>> grp.joined(a, b)
        True
        >>> grp.joined(a, c)
        True
        >>> grp.joined(a, d)
        False

    cCs;i}|_x'|D]}t|�g|t|�<qWdS(N(t_mappingR(RtinittmappingR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR{s

cCst|�|jkS(N(RR�(RR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__contains__�scCsb|j}g|D]}|�dkr|^q}x*|D]"}|j|�}|j|�q8WdS(s@
        Clean dead weak references from the dictionary
        N(R�R	RbR�(RR�R\tto_dropR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytclean�s
	(
cGs�|j}|jt|�t|�g�}x�|D]�}|jt|��}|dkr~|jt|��||t|�<q1||k	r1t|�t|�kr�||}}n|j|�x|D]}|||<q�Wq1q1W|j�dS(sa
        Join given arguments into the same set.  Accepts one or more
        arguments.
        N(	R�RTRR�R	RRKRxR�(RtaRBR�tset_aR7tset_btelem((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRh�s	!


cCsN|j�|j}y"|t|�|t|�kSWntk
rItSXdS(sJ
        Returns True if *a* and *b* are members of the same set.
        N(R�R�RRYRF(RR�RrR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytjoined�s
	"
ccs�|j�ddd��Y}|�}xR|jj�D]A}|d|k	r6g|D]}|�^qSV|j|�q6q6Wx1|jj�D] }|d|kr�|d=q�q�WdS(s�
        Iterate over each of the disjoint sets as a list.

        The iterator is invalid if interleaved with calls to join().
        tTokencBseZRS((RR(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR��si����N((R�R�t
itervaluesR(RR�ttokenR�R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt__iter__�s
	cCsH|j�|jjt|�t|�g�}g|D]}|�^q5S(sM
        Returns all of the items joined with *a*, including itself.
        (R�R�R�R(RR�tsiblingsR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytget_siblings�s
$(
RRRRR�R�RhR�R�R�(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�Ws#		
			c	Cs�|dkr|Stj|�}t|�d|d}t|j�}||d<tj||j�}|d|d<|dd!}|d}|||}x8tdt|��D]!}|||||d|�<q�W|||d|�<|S(Niii����(	R�tfloorRKR�tshapeR�R�R�R+(	R�tstepst
new_lengtht	new_shapeR�ta0ta1tdeltaR�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytsimple_linear_interpolation�s


cCs�tjj|�r�x�tjtjj|d��tjtjj|d��D]?}tjj|�rt|�tj|�qMtj|�qMWn
tj|�dS(NR%s.*(R�R�R�tglobRhtrecursive_removet
removedirsR�(R�R�((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR��s#
c
Gs�t|�sdSt|d�s1t|d�r@td��nt|d�}g}tgt|�}x�t|�D]�\}}t|�r�t|�r�t|�|kr�t||<tj|�r�|j	dkr�td��q�q�t
j|�}n|j|�qvWg}x�t|�D]�\}}||r|j	dkrHqntj|�rz|jtj
|��|j}n|}y5t
j|�}t|t
j�r�|j|�nWq�q�XqqWt|�rOtt
j|�}|j�d}	t|	�|krOxCt|�D]2\}}||r|j|	dd�||<qqWqOnxFt|�D]8\}}||r\tj|�r\|j�||<q\q\W|S(sn
    Find all masked and/or non-finite points in a set of arguments,
    and return the arguments with only the unmasked points remaining.

    Arguments can be in any of 5 categories:

    1) 1-D masked arrays
    2) 1-D ndarrays
    3) ndarrays with more than one dimension
    4) other non-string iterables
    5) anything else

    The first argument must be in one of the first four categories;
    any argument with a length differing from that of the first
    argument (and hence anything in category 5) then will be
    passed through unchanged.

    Masks are obtained from all arguments of the correct length
    in categories 1, 2, and 4; a point is bad if masked in a masked
    array or if it is a nan or inf.  No attempt is made to
    extract a mask from categories 2, 3, and 4 if :meth:`np.isfinite`
    does not yield a Boolean array.

    All input arguments that are not passed unchanged are returned
    as ndarrays after removing the points or rows corresponding to
    masks in any of the arguments.

    A vastly simpler version of this function was originally
    written as a helper for Axes.scatter().

    is!First argument must be a sequenceisMasked arrays must be 1-Dtaxis((RKR�R�R
RFRJRiR�tisMAR�R�tasarrayRtgetmaskarrayR�tisfiniteR
tndarrayRtlogical_andtnonzerottaketfilled(
RBtnrecstmargstseqlistR�R�tmaskstxdtmasktigood((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytdelete_masked_points�sR !+


&cCsW|j|j�}tjd|df�}tjt|�d�}|d|d }tj|dk|�}tj|dk|�}t|�dkr�dS|s�tj|dd�tjf|dd�tjffdd�S||}tj	|�}tjd|d f�}	|}
tj|	dd�tjf|
dd�tjffdd�S(	s
    Find index ranges where *mask* is *False*.

    *mask* will be flattened if it is not already 1-D.

    Returns Nx2 :class:`numpy.ndarray` with each row the start and stop
    indices for slices of the compressed :class:`numpy.ndarray`
    corresponding to each of *N* uninterrupted runs of unmasked
    values.  If optional argument *compressed* is *False*, it returns
    the start and stop indices into the original :class:`numpy.ndarray`,
    not the compressed :class:`numpy.ndarray`.  Returns *None* if there
    are no unmasked values.

    Example::

      y = ma.array(np.arange(5), mask = [0,0,1,0,0])
      ii = unmasked_index_ranges(ma.getmaskarray(y))
      # returns array [[0,2,] [2,4,]]

      y.compressed()[ii[1,0]:ii[1,1]]
      # returns array [3,4,]

      ii = unmasked_index_ranges(ma.getmaskarray(y), compressed=False)
      # returns array [[0, 2], [3, 5]]

      y.filled()[ii[1,0]:ii[1,1]]
      # returns array [3,4,]

    Prior to the transforms refactoring, this was used to support
    masked arrays in Line2D.

    ii����iNR�(i(i(i(
treshapetsizeR�tconcatenateR�RKtcompressR	tnewaxistcumsum(R�t
compressedtmtindicestmdifR�ti1t
seglengthstbreakpointstic0tic1((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytunmasked_index_rangesBs!?
t-tsolids--tdasheds-.tdashdott:tdottedcCs8tjdt�ddlj}|j|||d|�S(s\
    This function has been moved to matplotlib.mlab -- please import
    it from there
    saless_simple_linear_interpolation has been moved to matplotlib.mlab -- please import it from therei����Ntextrap(RLRMRNtmatplotlib.mlabtmlabt less_simple_linear_interpolation(R�tytxiRR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR~s	g@cCs8tjdt�ddlj}|j|ddd|�S(s\
    This function has been moved to matplotlib.mlab -- please import
    it from there
    sOvector_lengths has been moved to matplotlib.mlab -- please import it from therei����NtPg@R�(RLRMRNRRtvector_lengths(tXRR�R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s	cCs,tjdt�ddlj}|j|�S(s\
    This function has been moved to matplotlib.mlab -- please import
    it from there
    sVdistances_along_curve has been moved to matplotlib.mlab -- please import it from therei����N(RLRMRNRRtdistances_along_curve(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR	�s	cCs,tjdt�ddlj}|j|�S(s\
    This function has been moved to matplotlib.mlab -- please import
    it from there
    sLpath_length has been moved to matplotlib.mlab -- please import it from therei����N(RLRMRNRRtpath_length(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR
�s	cCs,tjdt�ddlj}|j|�S(s\
    This function has been moved to matplotlib.mlab -- please import
    it from there
    sRis_closed_polygon has been moved to matplotlib.mlab -- please import it from therei����N(RLRMRNRRtis_closed_polygon(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s	cCs;tjdt�ddlj}|j||||||�S(s\
    This function has been moved to matplotlib.mlab -- please import
    it from there
    sKquad2cubic has been moved to matplotlib.mlab -- please import it from therei����N(RLRMRNRRt
quad2cubic(tq0xtq0ytq1xtq1ytq2xtq2yR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s	c's�dd�fd��Y}g|D]}||�^q }t}}xrgg|D]}|j^qOD]}|rb|^qb}|r�t|�}|g|D]}||�^q�fVqEPqEdS(s�
    This generator takes a bunch of iterables that are ordered by func
    It sends out ordered tuples::

       (func(row), [rows from all iterators matching func(row)])

    It is used by :func:`matplotlib.mlab.recs_join` to join record arrays
    tmyitercs)eZd�Z�fd�Zd�ZRS(cSs'||_d|_|_|j�dS(N(titR	R\R]titernext(RR((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s	csPy(t|j�|_�|j�|_Wn!tk
rKd|_|_nXdS(N(R�RR]R\t
StopIterationR	(R(R1(s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s

cSsVd}||jkr+|j}|j�n'|jrR||jkrRtd��n|S(NsIterator has been left behind(R	R\R]RR
(RR\tretval((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s	
(RRRRR((R1(s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR�s	N((RiR\R�(R1t	iterablesRRtiterstminvalstminkeyt_f((R1s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytalign_iterators�s	
5'cCslyt|�}Wntk
r/td��nX|jd�|jd�}|dkoe|ddk}|S(NsNmatplotlib display text must have all code points < 128 or use Unicode stringst$s\$ii(RtUnicodeDecodeErrorR
tcount(Rtdollar_countteven_dollars((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytis_math_text�s

t_NestedClassGettercBseZdZd�ZRS(s�
    When called with the containing class as the first argument,
    and the name of the nested class as the second argument,
    returns an instance of the nested class.
    cCs%t||�}t�}||_|S(N(R�R$R	(Rtcontaining_classt
class_nametnested_classtnested_instance((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR
s		(RRRR(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR$st_InstanceMethodPicklercBs eZdZd�Zd�ZRS(sm
    Pickle cannot handle instancemethod saving. _InstanceMethodPickler
    provides a solution to this.
    cCs|j|_|jj|_dS(s-Takes an instancemethod as its only argument.N(R-t
parent_objR0Rtinstancemethod_name(RRA((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyRscCst|j|j�S(N(R�R*R+(R((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pytget_instancemethod!s(RRRRR,(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyR)s	cCstj||d|�S(Ntwhere(R�tcopyto(R�R�tvalues((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt_putmask3scOs�d|krtd��ntjdtj||�}|j�\}}|j�}|r�|jd�}|dkr�|d}ntj||d|��n|S(sRun command with arguments and return its output as a byte
    string.

    If the exit code was non-zero it raises a CalledProcessError.  The
    CalledProcessError object will have the return code in the
    returncode
    attribute and output in the output attribute.

    The arguments are the same as for the Popen constructor.  Example::

    >>> check_output(["ls", "-l", "/dev/null"])
    'crw-rw-rw- 1 root root 1, 3 Oct 18  2007 /dev/null\n'

    The stdout argument is not allowed as it is used internally.
    To capture standard error in the result, use stderr=STDOUT.::

    >>> check_output(["/bin/sh", "-c",
    ...               "ls -l non_existent_file ; exit 0"],
    ...              stderr=STDOUT)
    'ls: non_existent_file: No such file or directory\n'
    Rqs3stdout argument not allowed, it will be overridden.RBitoutputN(	R
RwRmRntcommunicatetpollR�R	tCalledProcessError(t	popenargsRCR_R1t
unused_errtretcodetcmd((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt
_check_output7s
tcheck_outputt__main__(((((((((R�R�(s--R�(s-.R�(R�R�(~Rt
__future__RR$R�t	functoolsRR�R�R>RR�R�RwR<RaR"RARLtweakrefRRtnumpyR�tnumpy.maR�R=R>R@RRRR R&R(R*tobjectR,RJRbR`RmRtR�RvR�R�R�R�R�R�R�R�R�RFR�R�RiR�R�R�ROR�R�RR�R�tget_realpath_and_statRRRRR�RR!R$R5R:R<R	RERGRHRIRKRLRQRcRiRkRlR�R�R�R�R�R�RqR�R�R�R�R�R�t_linestylest	ls_mapperR�tlsRRR	R
RRRR#R$R)R.RtputmaskR0R9R�R:R(((s6/usr/lib64/python2.7/site-packages/matplotlib/cbook.pyt<module>s�	Tg										
	0 			!			(				
	
	_								
4Cz			M3	.
					,	

		$

Anon7 - 2021