bgp!dZddlmZ ddlmZddlmZn#e$rddlmZddl mZYnwxYwdZ e dzZ e dzZ e dzZ d ZGd d ejZGd d eZddZddZdZddefdZddedfdZdS)a Limited XInclude support for the ElementTree package. While lxml.etree has full support for XInclude (see `etree.ElementTree.xinclude()`), this module provides a simpler, pure Python, ElementTree compatible implementation that supports a simple form of custom URL resolvers. )etree)urljoin)urlopenz!{http://www.w3.org/2001/XInclude}includefallback*ceZdZdS)FatalIncludeErrorN__name__ __module__ __qualname__f/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/lxml/ElementInclude.pyr r KDrr ceZdZdS)LimitedRecursiveIncludeErrorNr rrrrrOrrrNct|d}|dkr'tj|}n-|}|sd}||}||S)Nrbxmlutf-8)openrparsegetrootreaddecodeclose)hrefrencodingfiledatas rdefault_loaderr$`st d  D ~~{4  ((**yy{{ H{{8$$JJLLL Krc,|dkr(tj||}ned|vrt|}nt |d}|}||sd}||}|S)Nrz://rr)rrrrrrrr)r rr!parserr#fs r_lxml_default_loaderr(qs ~~{4((0022 D== AAT4  Avvxx   H{{8$$ Krcdfd }|S)Nc|||SNr)r rr!r&loaders rloadz_wrap_et_loader..loadsvdE8,,,rNNr)r,r-s` r_wrap_et_loaderr/s&------ Krc`|d}n|dkrtd|z|Xt|dr|}|}n|}t|dr |jj}n$t|dr|}t ||||dS)Nrz;expected non-negative depth or None for 'max_depth', got %rrdocinfo) ValueErrorhasattrr getroottreer2URL_include)elemr,base_url max_depthtrees rrrs QVYbbccc 4 # # &D<<>>DD##%%D 4 # # (|'H y ! !||~~ T68Y/////rc &|t|}nt}|t}|j}t |t}|D]#}|jtkrt|| d} | dd} | } | dkr| |vrtd| z|dkrtd| z|| | |} | td| d | t| || |d z | h|z} |jr| jpd |jz| _| | cS| || | d kr|| | | d } | td| d | |}||jpd | z|_n!| | cS| jpd | z|jpd z| _| |td| z|jt*kr?| } | '| jtkrtd|jztd|jz|S)Nr rrz recursive include of %r detectedrz5maximum xinclude depth reached when including file %s)r&z cannot load z as textr!)r!z)unknown parse type in xi:include tag (%r)z0xi:fallback tag must be child of xi:include (%r)z0Invalid element found in XInclude namespace (%r))r/r(setr5r&listiterXINCLUDE_ITER_TAGtagXINCLUDE_INCLUDErget getparentr rr7tailreplace getpreviousr?removeXINCLUDE_FALLBACK)r8r,r9r: _parent_hrefs load_includer&include_elementser rparentnoder? predecessors rr7r7s &v.. +       &F #$$&&44 5$ $ $8QUU6]]33DEE'5))E[[]]F~~=((+:TA>>6ORVVXXX#|D%???<++26$$> fdIMD6MCYZZ6;!%bAF :DI>KKKq$''''&#|D%!%% :K:KLLL<++26$$> mmoo *(3(8(>B$'FK$$^KKK#);#4""< ""MFK a    '?%GU' ' '[[]]F!fj4D&D&D'FN$BQUJ  Krr+r.)__doc__lxmlrurlparserurllib2r ImportError urllib.parseurllib.requestXINCLUDErErLrCDEFAULT_MAX_INCLUSION_DEPTHLxmlSyntaxErrorr rr$r(r/rr7rrrr^sX'      '''$$$$$$&&&&&&&&' /i'z)sN       -        #4   "    "    &010000(2$DDDDDDs ++