HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/lib/python3.5/email/__pycache__/_parseaddr.cpython-35.pyc


FaD@sxdZddddgZddlZddlZdZdZd	Zd
ddd
dddddddddddddddddddd gZd!d"d#d$d%d&d'gZd(dd)dd*dd+dd,d-d.d/d0d1d2d-d3d4d5d1d6d7d8d4d9d:d;d7iZ	d<dZ
d=d>Zd?dZd@dZ
dAdZGdBdCdCZGdDdEdEeZdS)FzcEmail address parsing code.

Lifted directly from rfc822.py.  This should eventually be rewritten.
	mktime_tz	parsedateparsedate_tzquoteN z, ZjanZfebZmarZaprZmayZjunZjulZaugsepoctZnovZdecZjanuaryZfebruaryZmarchZaprilZjuneZjulyZaugustZ	septemberZoctoberZnovemberZdecemberZmonZtueZwedZthuZfriZsatZsunZUTZUTCZGMTZZASTiZADTi,ZESTiZEDTZCSTiXZCDTZMSTiZMDTZPSTi ZPDTcCs:t|}|sdS|ddkr0d|d<t|S)zQConvert a date string to a time tuple.

    Accounts for military timezones.
    N	r)
_parsedate_tztuple)dataZresr&/usr/lib/python3.5/email/_parseaddr.pyr-s
cCs|s
dS|j}|djds?|djtkrI|d=n;|djd}|dkr|d|dd|d<t|dkr|djd}t|dkr||dd}t|dkr[|d}|jd}|dkr|jd}|dkrN|d|||dg|dd<n
|jd	t|d
krqdS|dd
}|\}}}}}|j}|tkr||j}}|tkrdStj	|d}|dkr|d8}|ddkr|dd}|jd}|dkrB||}}|ddkrb|dd}|dj
s||}}|ddkr|dd}|jd}t|d
kr|\}	}
d}nt|dkr|\}	}
}nt|dkryd|dkry|djd}t|d
krU|\}	}
d}q}t|dkr}|\}	}
}ndSy@t|}t|}t|	}	t|
}
t|}Wntk
rdSYnX|dkr|dkr|d7}n
|d7}d}|j
}|tkr0t|}nFyt|}Wntk
rTYnX|dkrv|jdrvd}|r|dkrd}
|}nd}
|
|dd|dd}||||	|
|ddd|g
S)aConvert date to extended time tuple.

    The last (additional) element is the time zone offset in seconds, except if
    the timezone was specified as -0000.  In that case the last element is
    None.  This indicates a UTC timestamp that explicitly declaims knowledge of
    the source timezone, as opposed to a +0000 timestamp that indicates the
    source timezone really was UTC.

    Nr,-+r:0.dDilii<r r r r r r r r )splitendswithlower	_daynamesrfindlenfindappend_monthnamesindexisdigitint
ValueErrorupper
_timezones
startswith)riZstuffsZddZmmZyyZtmZtzZthhZtmmZtssZtzoffsetZtzsignrrrr9s
)

-



	"	
	




rcCs1t|}t|tr)|ddS|SdS)z&Convert a time string to a time tuple.Nr)r
isinstancer
)rtrrrrscCsJ|ddkr+tj|dddStj|}||dSdS)zETurn a 10-tuple as returned by parsedate_tz() into a POSIX timestamp.rNrr )r )timeZmktimecalendarZtimegm)rr4rrrrscCs|jddjddS)zPrepare string to be used in a quoted string.

    Turns backslash and double quote characters into quoted pairs.  These
    are the only characters that need to be quoted inside a quoted string.
    Does not add the surrounding double quotes.
    \z\\"z\")replace)strrrrrsc@seZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
dddZddZddZ
ddZdddZddZdS)
AddrlistClassaAddress parser class by Ben Escoto.

    To understand what this class does, it helps to have a copy of RFC 2822 in
    front of you.

    Note: this class interface is deprecated and may be removed in the future.
    Use email.utils.AddressList instead.
    cCsd|_d|_d|_d|_|j|j|_|j|j|j|_|jjdd|_||_g|_	dS)zInitialize a new instance.

        `field' is an unparsed address header field, containing
        one or more addresses.
        z()<>@,:;."[]rz 	z
rrN)
specialsposLWSZCRFWSatomendsr:
phraseendsfieldcommentlist)selfrCrrr__init__s					zAddrlistClass.__init__cCsg}x|jt|jkr|j|j|jdkr}|j|jdkrk|j|j|j|jd7_q	|j|jdkr|jj|jq	Pq	Wtj|S)z&Skip white space and extract comments.z

r()	r>r&rCr?r(rD
getcommentEMPTYSTRINGjoin)rEZwslistrrrgotonextszAddrlistClass.gotonextcCsUg}xH|jt|jkrP|j}|r@||7}q	|jdq	W|S)zVParse all addresses.

        Returns a list containing all of the addresses.
        r)rr)r>r&rC
getaddressr()rEresultZadrrrgetaddrlists
zAddrlistClass.getaddrlistcCsg|_|j|j}|j}|j}|jg}|jt|jkr|rGtj|j|dfg}n|j|jdkr||_||_|j}tj|j|fg}nt|j|jdkr~g}t|j}|jd7_x7|jt|jkrz|j|j|krg|j|jdkrg|jd7_P||j	}qWn|j|jdkr|j
}|jrtj|ddj|jd	|fg}qGtj||fg}nP|rtj|j|dfg}n(|j|j|jkrG|jd7_|j|jt|jkr|j|jd
kr|jd7_|S)zParse the next address.rz.@rr;<z (r)r)rDrKr>
getphraselistr&rCSPACErJgetaddrspecrLgetrouteaddrr=)rEZoldposZoldclplistZ
returnlistZaddrspecZfieldlenZ	routeaddrrrrrLsL	
		
"		
%	3"
.zAddrlistClass.getaddresscCs |j|jdkrdSd}|jd7_|jd}x|jt|jkr|rs|jd}n|j|jdkr|jd7_Pnr|j|jdkr|jd7_d}nD|j|jd	kr|jd7_n|j}|jd7_P|jqBW|S)
zParse a route address (Return-path value).

        This method just skips all the route stuff and returns the addrspec.
        rPNFrr>@Tr)rCr>rKr&	getdomainrT)rEZexpectrouteZadlistrrrrU?s.

		zAddrlistClass.getrouteaddrcCsg}|jx*|jt|jkr<d}|j|jdkr|rh|djrh|j|jd|jd7_d}n|j|jdkr|jdt|jnQ|j|j|j	kr|r|d	jr|jPn|j|j
|j}|r|r|j|qW|jt|jksk|j|jdkrxtj|S|jd|jd7_|j|j
}|stStj||S)
zParse an RFC 2822 addr-spec.TrrFr9z"%s"rXr r )rKr>r&rCstrippopr(rgetquoterAgetatomrIrJrY)rEZaslistZpreserve_wsZwsZdomainrrrrT_s:


	 
.


zAddrlistClass.getaddrspeccCs7g}x!|jt|jkr)|j|j|jkrL|jd7_q	|j|jdkr{|jj|jq	|j|jdkr|j|jq	|j|jdkr|jd7_|jdq	|j|jdkrtS|j|j|j	krPq	|j|j
q	Wtj|S)z-Get the complete domain name from an address.rrG[rrX)r>r&rCr?rDr(rHgetdomainliteralrIrAr]rJ)rEZsdlistrrrrYs"zAddrlistClass.getdomainTcCs-|j|j|krdSdg}d}|jd7_x|jt|jkr|ry|j|j|jd}n|j|j|kr|jd7_Pnk|r|j|jdkr|j|jq;n6|j|jdkrd}n|j|j|j|jd7_q;Wtj|S)aParse a header fragment delimited by special characters.

        `beginchar' is the start character for the fragment.
        If self is not looking at an instance of `beginchar' then
        getdelimited returns the empty string.

        `endchars' is a sequence of allowable end-delimiting characters.
        Parsing stops when one of these is encountered.

        If `allowcomments' is non-zero, embedded RFC 2822 comments are allowed
        within the parsed fragment.
        rFrrGr8T)rCr>r&r(rHrIrJ)rEZ	begincharZendcharsZ
allowcommentsZslistrrrrgetdelimiteds(
			zAddrlistClass.getdelimitedcCs|jdddS)z1Get a quote-delimited fragment from self's field.r9z"
F)r`)rErrrr\szAddrlistClass.getquotecCs|jdddS)z7Get a parenthesis-delimited fragment from self's field.rGz)
T)r`)rErrrrHszAddrlistClass.getcommentcCsd|jdddS)z!Parse an RFC 2822 domain-literal.z[%s]r^z]
F)r`)rErrrr_szAddrlistClass.getdomainliteralNcCsdg}|dkr|j}x\|jt|jkr||j|j|krSPn|j|j|j|jd7_q!Wtj|S)aParse an RFC 2822 atom.

        Optional atomends specifies a different set of end token delimiters
        (the default is to use self.atomends).  This is used e.g. in
        getphraselist() since phrase endings must not include the `.' (which
        is legal in phrases).rNr)rAr>r&rCr(rIrJ)rErAZatomlistrrrr]s		zAddrlistClass.getatomcCsg}x|jt|jkr|j|j|jkrL|jd7_q	|j|jdkrx|j|jq	|j|jdkr|jj|jq	|j|j|jkrPq	|j|j	|jq	W|S)zParse a sequence of RFC 2822 phrases.

        A phrase is a sequence of words, which are in turn either RFC 2822
        atoms or quoted-strings.  Phrases are canonicalized by squeezing all
        runs of continuous whitespace into one space.
        rr9rG)
r>r&rCr@r(r\rDrHrBr])rErVrrrrRszAddrlistClass.getphraselist)__name__
__module____qualname____doc__rFrKrNrLrUrTrYr`r\rHr_r]rRrrrrr<s; &%r<c@sjeZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
dS)AddressListz@An AddressList encapsulates a list of parsed RFC 2822 addresses.cCs5tj|||r(|j|_n	g|_dS)N)r<rFrNaddresslist)rErCrrrrFszAddressList.__init__cCs
t|jS)N)r&rf)rErrr__len__szAddressList.__len__cCsYtd}|jdd|_x0|jD]%}||jkr,|jj|q,W|S)N)rerfr()rEothernewaddrxrrr__add__szAddressList.__add__cCs7x0|jD]%}||jkr
|jj|q
W|S)N)rfr()rErhrjrrr__iadd__
szAddressList.__iadd__cCsCtd}x0|jD]%}||jkr|jj|qW|S)N)rerfr()rErhrirjrrr__sub__s
zAddressList.__sub__cCs7x0|jD]%}||jkr
|jj|q
W|S)N)rfremove)rErhrjrrr__isub__szAddressList.__isub__cCs|j|S)N)rf)rEr*rrr__getitem__#szAddressList.__getitem__N)rarbrcrdrFrgrkrlrmrorprrrrres	re)rd__all__r6r7rSrIZ
COMMASPACEr)r$r/rrrrrr<rerrrr<module>s6	u	

.