o ?Og@s~ddlZddlmZddlmZdZedZedZdZGd d d e Z Gd d d e Z dd dZ ddefddZ ddZdS)N) ElementTree)urljoinz!{http://www.w3.org/2001/XInclude}includeZfallbackc@ eZdZdS)FatalIncludeErrorN__name__ __module__ __qualname__r r ?/opt/alt/python310/lib64/python3.10/xml/etree/ElementInclude.pyrCrc@r)LimitedRecursiveIncludeErrorNr r r r rrGrrcCs|dkr#t|d}t|}Wd|S1swY|S|s'd}t|d|d }|}Wd|S1s>wY|S)NxmlrbzUTF-8r)encoding)openrparsegetrootread)hrefrrfiledatar r rdefault_loaderWs    rcCsV|durd}n |dkrtd|t|dr|}|dur t}t||||tdS)Nrz;expected non-negative depth or None for 'max_depth', got %rr) ValueErrorhasattrrr_includeset)elemloaderbase_url max_depthr r rrts  c Csd}|t|kr||}|jtkr|d}|rt||}|dd}|dkrv||vr1td||dkr;td||||||} | durQtd||ft| } t | |||d|| ||j rq| j pld |j | _ | ||<nX|d kr||||d } | durtd||f|j r| |j 7} |r||d} | j pd | | _ n|j pd | |_ ||=qtd ||jt krtd |jt ||||||d7}|t|ksdSdS)Nrrrrzrecursive include of %sz5maximum xinclude depth reached when including file %szcannot load %r as %rrtextrz)unknown parse type in xi:include tag (%r)z0xi:fallback tag must be child of xi:include (%r))lentagXINCLUDE_INCLUDEgetrrraddcopyr removetailr'XINCLUDE_FALLBACK) r"r#r$r%Z _parent_hrefsierrZnoder'r r rr sf                r )N)r-r&rZ urllib.parserZXINCLUDEr*r0ZDEFAULT_MAX_INCLUSION_DEPTH SyntaxErrorrrrrr r r r rs2