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/python2.7/dist-packages/mercurial/match.pyc
ó
ÛXc@@sNddlmZddlZddlZddlZddlmZddlmZm	Z	m
Z
e
jZd„Zd„Z
d„Zd	„Zd
efd„ƒYZdd„Zd
„Zd„Zdefd„ƒYZdefd„ƒYZdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zda e!d„Z"dS(i(tabsolute_importNi(t_(terrortpathutiltutilcC@s9tjj|ƒ}y|jSWntk
r4|jSXdS(sZcompile the regexp with the best available regexp engine and return a
    matcher functionN(Rtretcompilet
test_matchtAttributeErrortmatch(tregextm((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt
_rematchers

c	@sçtƒ}g}xË|D]Ã\}}}|dkrÃ|sOtjtdƒƒ‚n|j|ƒ}|j|ƒ|rxI|jD];‰|jˆƒj|ƒ}|j‡fd†|Dƒƒq{Wqqn|j|||fƒqW||fS(s;Returns the kindpats list with the 'set' patterns expanded.tsets"fileset expression with no contextc3@s|]}ˆd|VqdS(t/N((t.0tf(tsubpath(s3/usr/lib/python2.7/dist-packages/mercurial/match.pys	<genexpr>0s(	R
RtAbortRt
getfilesettupdatetsubstatetsubtappend(	tkindpatstctxtlistsubrepostfsettothertkindtpattsourcets((Rs3/usr/lib/python2.7/dist-packages/mercurial/match.pyt_expandsets!s	
$cC@sôg}g}xÛ|D]Ó\}}}|dkrÐtjtj|ƒƒ}tj|ƒ}tj||ƒ}tj|ƒ}	t|	dgd|gƒ}
tj|||	ƒ}|rº|d7}n|j||
fƒq|j|||fƒqW||fS(s[Returns the list of subinclude matchers and the kindpats without the
    subincludes in it.t
subincludets
include:%sR(	RtdirnameRtnormpathtpconverttjoinR	t	canonpathR(RtroottrelmatchersRRRRt
sourceroottpathtnewroott
relmatchertprefix((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt_expandsubinclude6s
cC@s:x3|D]+\}}}|dks.|dkrtSqWtS(sR"Checks whether the kindspats match everything, as e.g.
    'relpath:.' does.
    R#trelpathtglob(R1R2(tFalsetTrue(RRRR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt_kindpatsalwaysmatchNsR	c
B@sÎeZggdeddeddd„	Zd„Zd„Zd„ZdZdZ	d„Z
d„Zd„Zd„Z
ed	„ƒZd
„Zd„Zd„Zd
„Zd„Zd„Zd„Zd„ZRS(R2c
@sÜ||_||_g|_t|p'|ƒ|_t|_t|pK|pK|ƒ|_||_t	ƒ|_
t	dgƒ|_t	ƒ|_|d	k	rŸ||_ng‰|r)|j|d|||ƒ}
t|	|
d|
|ƒ\|_}|j
jt|
ƒƒ|jjtj|j
ƒƒˆj|ƒn|r©|j|d|||ƒ}
t|	|
d|
|ƒ\|_‰t|
ƒs|jjt|
ƒƒnˆj‡fd†ƒn|rìt|tƒrÊ||_nt|ƒ|_ˆj|jƒnˆ|rt|j|||||ƒ}
t|
ƒstt|
ƒ|_|jp:t|
ƒ|_t|	|
d|
|ƒ\|_}ˆj|ƒqtnˆstj}t|_n.tˆƒdkr®ˆd}n‡fd†}||_ t	|jƒ|_!d	S(
sMbuild an object to match a set of file patterns

        arguments:
        root - the canonical root of the tree you're matching against
        cwd - the current working directory, if relevant
        patterns - patterns to find
        include - patterns to include (unless they are excluded)
        exclude - patterns to exclude (even if they are included)
        default - if a pattern in patterns has no explicit type, assume this one
        exact - patterns are actually filenames (include/exclude still apply)
        warn - optional function used for printing warnings
        badfn - optional bad() callback for this matcher instead of the default

        a pattern is one of:
        'glob:<glob>' - a glob relative to cwd
        're:<regexp>' - a regular expression
        'path:<path>' - a path relative to repository root
        'relglob:<glob>' - an unrooted glob (*.c matches C files in all dirs)
        'relpath:<path>' - a path relative to cwd
        'relre:<regexp>' - a regexp that needn't match the start of a name
        'set:<fileset>' - a fileset expression
        'include:<path>' - a file of patterns to read and include
        'subinclude:<path>' - a file of patterns to match against files under
                              the same directory
        '<something>' - a pattern of the specified default type
        t.R2s(?:/|$)c@sˆ|ƒS(N((R(tem(s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt<lambda>’st$iic@s%xˆD]}||ƒstSqWtS(N(R3R4(Rtmatchfn(tmatchfns(s3/usr/lib/python2.7/dist-packages/mercurial/match.pyR¨s
N("t_roott_cwdt_filestboolt_anypatsR3t_alwayst_pathrestrictedt_warnR
t
_includerootst_includedirst
_excluderootstNonetbadt
_normalizet_buildmatcht
includepatRt_rootsRtdirsRt
excludepatt
isinstancetlisttexactR5tpatternspattalwaysR4tlenR:t
_fileroots(tselfR)tcwdtpatternstincludetexcludetdefaultRQtauditorRRtwarntbadfnRtimtpmR((R7R;s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt__init__Xs`						
	cC@s
|j|ƒS(N(R:(RVtfn((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt__call__±scc@sx|jD]}|Vq
WdS(N(R>(RVR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt__iter__³scC@sdS(soCallback from dirstate.walk for each explicit file that can't be
        found/accessed, with an error message.N((RVRtmsg((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRH¹scC@s|S(sUConvert a repo path back to path that is relative to the root of the
        matcher.((RVR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pytabsÆscC@stj|j|j|ƒS(sBConvert repo path back to path that is relative to cwd of matcher.(RtpathtoR<R=(RVR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pytrelËscC@s%|jr|j|ƒp$|j|ƒS(sÈConvert repo path to a display path.  If patterns or -I/-X were used
        to create this matcher, the display path will be relative to cwd.
        Otherwise it is relative to the root of the repo.(RBRhRf(RVR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pytuipathÏscC@s|jS(sÒExplicitly listed files or patterns or roots:
        if no patterns or .always(): empty list,
        if exact: list exact files,
        if not .anypats(): list all files and dirs,
        else: optimal roots(R>(RV((s3/usr/lib/python2.7/dist-packages/mercurial/match.pytfilesÕscC@s#ttj|jƒƒtdgƒBS(NR6(R
RRMRU(RV((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt_dirsÝsc@sìˆjƒr|ˆjkrdS|ˆjkr2tSˆjr’dˆjkr’|ˆjkr’|ˆjkr’t‡fd†tj|ƒDƒƒr’tSˆjpëdˆjkpë|ˆjkpë|ˆj	kpët‡fd†tj|ƒDƒƒS(s!Decides whether a directory should be visited based on whether it
        has potential matches in it or one of its subdirectories. This is
        based on the match's primary, included, and excluded patterns.

        Returns the string 'all' if the given directory and all subdirectories
        should be visited. Otherwise returns True or False indicating whether
        the given directory should be visited.

        This function's behavior is undefined if it has returned False for
        one of the dir's parent directories.
        tallR6c3@s|]}|ˆjkVqdS(N(RD(Rtparent(RV(s3/usr/lib/python2.7/dist-packages/mercurial/match.pys	<genexpr>õsc3@s|]}|ˆjkVqdS(N(RU(Rt	parentdir(RV(s3/usr/lib/python2.7/dist-packages/mercurial/match.pys	<genexpr>üs(
R/RURFR3RDREtanyRtfinddirsRk(RVtdir((RVs3/usr/lib/python2.7/dist-packages/mercurial/match.pytvisitdirás"	
cC@s
||jkS(s!Returns True if f is in .files().(RU(RVR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRQÿscC@s|jS(s)Matcher uses patterns or include/exclude.(R@(RV((s3/usr/lib/python2.7/dist-packages/mercurial/match.pytanypatsscC@s|jS(spMatcher will match everything and .files() will be empty
        - optimization might be possible and necessary.(RA(RV((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRSscC@s|jS(sÓTrue if the matcher won't always match.

        Although it's just the inverse of _always in this implementation,
        an extension such as narrowhg might make it return something
        slightly different.(RA(RV((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt	ispartialscC@s|j|jkS(N(R:RQ(RV((s3/usr/lib/python2.7/dist-packages/mercurial/match.pytisexactscC@s%|jƒo$|jƒo$|jƒS(N(RSRuRs(RV((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyR/scC@s}g}xpg|D]}t||ƒ^qD]L\}}	|dkr\tj|||	|ƒ}	n|dkrztj|	ƒ}	nå|dkrZy\tj|	ƒ}
|dkr¶|
jdƒ}
n|
jƒ}
g|
D]}|rÉ|^qÉ}
Wn*tk
rt	j
tdƒ|	ƒ‚nXxB|j|
||||ƒD]%\}}}
|j
|||	fƒq+Wq)n|d	kr_ytjj|tj|	ƒƒ}t||jƒ}xH|j|||||ƒD]+\}}}
|j
|||
pÙ|	fƒqµWWq)t	j
k
r}t	j
d
|	|dfƒ‚q)tk
rX}|jrY|jtdƒ|	|jfƒqYq)Xq)n|j
||	d
fƒq)W|S(s…Convert 'kind:pat' from the patterns list to tuples with kind and
        normalized and rooted patterns and with listfiles expanded.R2R1trelglobR,tlistfilet	listfile0ssunable to read file list (%s)RYs%s: %sis*skipping unreadable pattern file '%s': %s
R#(R2R1(RvR,(RwRx(t	_patsplitRR(RR%treadfiletsplitt
splitlinestEnvironmentErrorRRRRIRtosR,R't	localpathtreadpatternfileRCtIOErrortstrerror(RVRXR[R)RWR\RtpRRRjRtkRtfullpathtincludepatstinst((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRIsF/#
$ 	N(t__name__t
__module__R3RGRaRcRdRHtexplicitdirttraversedirRfRhRiRjt
propertycacheRkRrRQRsRSRtRuR/RI(((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyR	Ws*W														cC@st|||dtd|ƒS(NRQR^(R	R4(R)RWRjR^((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRQCscC@st||gƒS(N(R	(R)RW((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRSFscC@stj|ƒ}||_|S(sWMake a copy of the given matcher, replacing its bad method with the given
    one.
    (tcopyRH(R	R^R((s3/usr/lib/python2.7/dist-packages/mercurial/match.pytbadmatchIs	t
subdirmatchercB@s2eZdZd„Zd„Zd„Zd„ZRS(s¬Adapt a matcher to work on a subdirectory only.

    The paths are remapped to remove/insert the path as needed:

    >>> m1 = match('root', '', ['a.txt', 'sub/b.txt'])
    >>> m2 = subdirmatcher('sub', m1)
    >>> bool(m2('a.txt'))
    False
    >>> bool(m2('b.txt'))
    True
    >>> bool(m2.matchfn('a.txt'))
    False
    >>> bool(m2.matchfn('b.txt'))
    True
    >>> m2.files()
    ['b.txt']
    >>> m2.exact('b.txt')
    True
    >>> util.pconvert(m2.rel('b.txt'))
    'sub/b.txt'
    >>> def bad(f, msg):
    ...     print "%s: %s" % (f, msg)
    >>> m1.bad = bad
    >>> m2.bad('x.txt', 'No such file')
    sub/x.txt: No such file
    >>> m2.abs('c.txt')
    'sub/c.txt'
    c@s
ˆjˆ_ˆjˆ_ˆˆ_ˆˆ_ˆjˆ_ˆjˆ_gˆjD]-}|jˆdƒrL|tˆƒd^qLˆ_ˆjr»ˆj	r»t
‡fd†ˆjDƒƒˆ_nˆj	ˆ_	‡‡fd†ˆ_‡‡fd†}|ˆ_t
ˆjƒˆ_dS(NRic3@s|]}|ˆkVqdS(N((RR(R,(s3/usr/lib/python2.7/dist-packages/mercurial/match.pys	<genexpr>}sc@sˆjˆjd|ƒS(NR(R:t_path(Rb(tmatcherRV(s3/usr/lib/python2.7/dist-packages/mercurial/match.pyR8„sc@s4|dkrˆjˆjƒSˆjˆjd|ƒS(NR6R(RrR(Rq(R‘RV(s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRr…s(R<R=Rt_matcherRARBR>t
startswithRTR@RoR:RrR
RU(RVR,R‘RRr((R‘R,RVs3/usr/lib/python2.7/dist-packages/mercurial/match.pyRaos		0%	cC@s|jj|jd|ƒS(NR(R’RfR(RVR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRfŒscC@s"|jj|jd||ƒdS(NR(R’RHR(RVRRe((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRHscC@s|jj|jd|ƒS(NR(R’RhR(RVR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRh’s(RˆR‰t__doc__RaRfRHRh(((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRQs
			ticasefsmatchercB@s&eZdZedd„Zd„ZRS(sA matcher for wdir on case insensitive filesystems, which normalizes the
    given patterns to the case in the filesystem.
    cC@sŒtt|ƒj}|jƒj|_|jj|_|||||||d|d|d|	d|
ƒ|jrˆt	t
|jƒƒ|_ndS(NR\RRR^(
tsuperR•Ratrepotdirstatet	_dirstatet	normalizet_dsnormalizeR>R
RLt_kpRU(RVR)RWRXRYRZR[R\RRR^tinit((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRašs	cC@s¼tt|ƒj|||||ƒ|_g}xˆ|jD]}\}}}	|dkrž|}
|j|ƒ}|
|krž|
|jkrž|j||
|	fƒqžn|j|||	fƒq7W|S(NRtrelre(RRž(R–R•RIRœR›R™R(RVRXR[R)RWR\RRtpatsRRƒ((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRI¨sN(RˆR‰R”R3RGRaRI(((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyR••s
cC@st||ƒdS(s8If pattern is 'kind:pat' with a known kind, return kind.i(Ry(tpatternR[((s3/usr/lib/python2.7/dist-packages/mercurial/match.pytpatkind¸scC@sGd|kr=|jddƒ\}}|dkr=||fSn||fS(sPSplit a string into the optional pattern kind prefix and the actual
    pattern.t:iRR2R,RvR1RžRwRxR
RYR"(RR2R,RvR1RžRwRxR
RYR"(R{(R R[RR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRy¼s	
c	@sÃdtˆƒ‰‰d}d}tjj}‡‡‡fd†}x|ˆˆkr¾ˆˆ}ˆd7‰|dkr‚|||ƒ7}qC|dkrç|ƒdkrÚˆd7‰|ƒdkr͈d7‰|d7}qä|d	7}q»|d
7}qC|dkr|d7}qC|d
krõˆ}|ˆkr;ˆ|dkr;|d7}nx*|ˆkrgˆ|dkrg|d7}q>W|ˆkr|d7}q»ˆˆ|!jddƒ}|d‰|ddkrÅd|d}n|ddkrâd|}nd||f}qC|dkr|d7}|d7}qC|dkrA|rA|d7}|d8}qC|dkr`|r`|d7}qC|dkr«|ƒ}|r˜ˆd7‰|||ƒ7}q»|||ƒ7}qC|||ƒ7}qCW|S(sšConvert an extended glob string to a regexp string.

    >>> print _globre(r'?')
    .
    >>> print _globre(r'*')
    [^/]*
    >>> print _globre(r'**')
    .*
    >>> print _globre(r'**/a')
    (?:.*/)?a
    >>> print _globre(r'a/**/b')
    a\/(?:.*/)?b
    >>> print _globre(r'[a*?!^][^b][!c]')
    [a*?!^][\^b][^c]
    >>> print _globre(r'{a,b}')
    (?:a|b)
    >>> print _globre(r'.\*\?')
    \.\*\?
    iR#c@sˆˆkoˆˆS(N(((titnR(s3/usr/lib/python2.7/dist-packages/mercurial/match.pytpeekÞsis*?[{},\t*Rs(?:.*/)?s.*s[^/]*t?R6t[s!]t]s\[s\s\\t!t^s%s[%s]t{s(?:t}t)t,t|(RTRRtescapetreplace(	RtrestgroupR±R¥tctjtstuffRƒ((R£R¤Rs3/usr/lib/python2.7/dist-packages/mercurial/match.pyt_globreÆsf
















	
cC@sÁ|s
dS|dkr|S|dkrN|dkr6dSdtjj|ƒdS|dkrldt|ƒ|S|d	krŒtjj|ƒdS|d
kr³|jdƒr«|Sd|St|ƒ|S(sxConvert a (normalized) pattern of any kind into a regular expression.
    globsuffix is appended to the regexp of globs.R#RR,R6R«s(?:/|$)Rvs(?:|.*/)R1Ržs.*(RRR±R¸R“(RRt
globsuffix((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt_regexs"c	@sÙg‰t||ƒ\‰}ˆr@‡fd†}ˆj|ƒnt|||ƒ\}}|rqˆj|jƒnd}|r¢t||ƒ\}}ˆj|ƒntˆƒdkrÂ|ˆdfS|‡fd†fSdS(slReturn regexp string and a matcher function for kindpats.
    globsuffix is appended to the regexp of globs.c@sDx=ˆD]5\}}|j|ƒr||t|ƒƒrtSqWtS(N(R“RTR4R3(RR/tmf(tsubincludes(s3/usr/lib/python2.7/dist-packages/mercurial/match.pytmatchsubinclude0s%R#iic@st‡fd†ˆDƒƒS(Nc3@s|]}|ˆƒVqdS(N((RR»(R(s3/usr/lib/python2.7/dist-packages/mercurial/match.pys	<genexpr>Cs(Ro(R(t
matchfuncs(Rs3/usr/lib/python2.7/dist-packages/mercurial/match.pyR8CsN(R0RR!t__contains__t_buildregexmatchRT(	RRR¹RR)R½RR
R»((R¾R¼s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRJ)sc	@s®yjddjg|D]!\}}}t|||ƒ^qƒ}t|ƒdkrYt‚n|t|ƒfSWn=tk
rèt|ƒ}|dkr˜‚nt||d |ƒ\}‰t||d|ƒ\}‰|‡‡fd†fStjk
r©x–|D]Ž\}}}ytdt|||ƒƒWqÿtjk
rŒ|rjtjt	dƒ|||fƒ‚qtjt	dƒ||fƒ‚qÿXqÿWtjt	dƒƒ‚nXd	S(
sjBuild a match function from a list of kinds and kindpats,
    return regexp string and a matcher function.s(?:%s)R°i Nic@sˆ|ƒpˆ|ƒS(N((R (tatb(s3/usr/lib/python2.7/dist-packages/mercurial/match.pyR8Wss%s: invalid pattern (%s): %ssinvalid pattern (%s): %ssinvalid patternN(
R'RºRTt
OverflowErrorRRÀRRRR(	RR¹R„RƒR R
tltregexatregexb((RÁRÂs3/usr/lib/python2.7/dist-packages/mercurial/match.pyRÀEs./	
'cC@sßg}xÒ|D]Ê\}}}|dkr¨g}xX|jdƒD]G}d|kstd|kstd|kstd|krxPn|j|ƒq>W|jdj|ƒp¡dƒq
|d
krÊ|j|pÃdƒq
|jdƒq
W|S(slreturn roots and exact explicitly listed files from patterns

    >>> _roots([('glob', 'g/*', ''), ('glob', 'g', ''), ('glob', 'g*', '')])
    ['g', 'g', '.']
    >>> _roots([('relpath', 'r', ''), ('path', 'p/p', ''), ('path', '', '')])
    ['r', 'p/p', '.']
    >>> _roots([('relglob', 'rg*', ''), ('re', 're/', ''), ('relre', 'rr', '')])
    ['.', '.', '.']
    R2RR¨R¬R¦R§R6R1R,(R1R,(R{RR'(RtrRRRR)Rƒ((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyRLds
0cC@s.x'|D]\}}}|dkrtSqWdS(NR2RRvRžR
(R2RRvRžR
(R4(RRRR((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyR@}sc
C@sidd6dd6dd6dd6dd6}d}g}t|ƒ}xºt|dd	ƒD]¦\}}d
|krÇts‡tjjdƒantj|ƒ}	|	r²||	jd	ƒ }n|jdd
ƒ}n|j	ƒ}|sßqTn|j
d
ƒrI|djƒ}
y||
}WqTtk
rB|rC|t
dƒ||
fƒqCqTXqTn|}xt|jƒD]f\}
}|j
|ƒr‘|}|t|ƒ}Pq\|j
|
dƒr\|}|t|
ƒd	}Pq\q\W|ré|j||||fƒqT|j||ƒqTW|jƒ|S(síparse a pattern file, returning a list of
    patterns. These patterns should be given to compile()
    to be validated and converted into a match function.

    trailing white space is dropped.
    the escape character is backslash.
    comments start with #.
    empty lines are skipped.

    lines can be of the following formats:

    syntax: regexp # defaults following lines to non-rooted regexps
    syntax: glob   # defaults following lines to non-rooted globs
    re:pattern     # non-rooted regular expression
    glob:pattern   # non-rooted glob
    pattern        # pattern of the current default type

    if sourceinfo is set, returns a list of tuples:
    (pattern, lineno, originalline). This is useful to debug ignore patterns.
    srelre:Rtregexpsrelglob:R2RYR"tstartit#s((?:^|[^\\])(?:\\\\)*)#.*s\#ssyntax:is!%s: ignoring invalid syntax '%s'
R¢(topent	enumeratet
_commentreRRRtsearchtendR²trstripR“tstriptKeyErrorRt	iteritemsRTRtclose(
tfilepathR]t
sourceinfotsyntaxestsyntaxRXtfptlinenotlineRR t
linesyntaxtrels((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyR€„sP

(#t
__future__RRR~Rti18nRR#RRRRŒRR!R0R5tobjectR	RGRQRSRŽRR•R¡RyR¸RºRJRÀRLR@RÍR3R€(((s3/usr/lib/python2.7/dist-packages/mercurial/match.pyt<module>s4		
				ì		D#	
	N