B C;])@sddlmZddlZedZdddZddZdd Zd d Zd d Z ddZ ddZ eeee e e dZ iZ ddZdddZdddZd ddZd!ddZdS)")absolute_importNzY('[^']*'|"[^"]*"|::|//?|\.\.|\(\)|[/.*:\[\]\(\)@=])|((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|\s+c cs|r|dp|dnd}d}xt|D]}|\}}|r|ddkrd|kr|dd\}}y"|sjt|d|||ffVWqtk rtd|YqXn"|r|s|d||ffVn|Vd}q,|V|d k}q,WdS) NFr{:z{%s}%sz!prefix %r not found in prefix map@)getxpath_tokenizer_refindallsplitKeyError SyntaxError) pattern namespacesZdefault_namespaceZparsing_attributetokenZttypetagprefixZurirD/opt/alt/python37/lib64/python3.7/site-packages/lxml/_elementpath.pyxpath_tokenizerJs&rcs|dfdd}|S)Nrc3s,x&|D]}x|D] }|VqWqWdS)N) iterchildren)resulteleme)rrrselectes zprepare_child..selectr)nextrrr)rr prepare_childcs rcCs dd}|S)Ncss,x&|D]}x|dD] }|VqWqWdS)N*)r)rrrrrrrls zprepare_star..selectr)rrrrrr prepare_starksrcCs dd}|S)NcSs|S)Nr)rrrrrsszprepare_self..selectr)rrrrrr prepare_selfrsrcsB|}|ddkrdn|ds*|dntdfdd}|S)Nrrrzinvalid descendantc3s,x&|D]}x|D] }|VqWqWdS)N)Ziterdescendants)rrr)rrrrs z"prepare_descendant..select)r )rrrr)rrprepare_descendantws   r cCs dd}|S)Ncss(x"|D]}|}|dk r|VqWdS)N) getparent)rrparentrrrrs zprepare_parent..selectr)rrrrrrprepare_parentsr#cs&d}g}xp|}|ddkrP|dkr(q |drX|ddddkrXd|dddf}||dpdd 7}||dq W|d kr|dfd d }|S|d kr|d|dfdd }|S|d krtd|ds|dfdd }|S|dks|dkrPtd|dsP|d|dr@fdd }n fdd }|S|d ksn|dksn|dkr|d krt|dddkr dkrtdntdnZ|ddkrtd|dkryt|ddWntk rtdYnXndfdd }|StddS)Nrr])rrrz'"'-z@-c3s&x |D]}|dk r|VqWdS)N)r)rr)keyrrrs z!prepare_predicate..selectz@-='c3s&x |D]}|kr|VqWdS)N)r)rr)r(valuerrrs z-?\d+$c3s.x(|D] }x|D] }|VPqWqWdS)N)r)rr_)rrrrs z.='z-='c3s@x:|D]2}x,|D]}d|kr|VPqWqWdS)Nr)rjoinitertext)rrr)rr)rrrs  c3s*x$|D]}d|kr|VqWdS)Nr)r+r,)rr)r)rrrs z-()z-()-z3indices in path predicates are 1-based, not 0-basedzpath index >= 1 expectedlastzunsupported functionzunsupported expressionc 3s`xZ|D]R}|}|dkrqy&t||j}||kr@|VWqtk rVYqXqWdS)N)r!listrr IndexError)rrr"Zelems)indexrrrs   zinvalid predicate)appendrematchintr ValueError)rr signature predicaterr)r1r(rr)rprepare_predicatesf   &       r9)rr.z..z//[cCs|dddkr|d7}|f}|rd|krd|krZ|d|dkrZtd|d|df||dfttdd|D7}n|tt|7}yt|Stk rYnXttd krt|dd dkrtd t t ||}y |j }Wnt k r|j }YnXy |}Wntk r@td YnXg}xzy|t|d ||Wntk rtdYnXy|}|d dkr|}Wntk rPYnXqHW|t|<|S)zcompile selector patternr&N/rrz2Ambiguous default namespace provided: %r versus %rcss|]}|ddk r|VqdS)rNr).0itemrrr sz'_build_path_iterator..drz#cannot use absolute path on elementzempty path expressionrz invalid path)r6tuplesorteditems_cacher lenclearr iterrrAttributeError__next__ StopIterationr2ops)pathrZ cache_keystreamZ_nextrselectorrrr_build_path_iteratorsT     rOcCs.t||}t|f}x|D] }||}qW|S)N)rOrG)rrLrrNrrrrriterfind7s     rPcCs.t|||}yt|Stk r(dSXdS)N)rPrrJ)rrLritrrrfindBs  rRcCstt|||S)N)r/rP)rrLrrrrr Msr cCs&t|||}|dkr|S|jp dSdS)Nr)rRtext)rrLdefaultrelrrrfindtextTs rV)N)N)N)N)NN) __future__rr3compiler rrrrr r#r9rKrDrOrPrRr rVrrrr:s,  c9