
    Pqh                     ,   d Z ddlmZmZ ddlmZ i dddddd	d
dddddddddddddddddddddd d!d"d#Zej                         D  ci c]  \  } }|| 
 c}} Z G d$ d%e	      Z
d&e	d'e	fd(Zd)e	d'ee	e	f   fd*Zd+e	d'e	fd,Zy-c c}} w ).zNamespace-related objects.    )AnyDict)Selfaz5http://schemas.openxmlformats.org/drawingml/2006/maincz6http://schemas.openxmlformats.org/drawingml/2006/chartcpzGhttp://schemas.openxmlformats.org/package/2006/metadata/core-propertiesdcz http://purl.org/dc/elements/1.1/dcmitypezhttp://purl.org/dc/dcmitype/dctermszhttp://purl.org/dc/terms/dgmz8http://schemas.openxmlformats.org/drawingml/2006/diagrammz:http://schemas.openxmlformats.org/officeDocument/2006/mathpicz8http://schemas.openxmlformats.org/drawingml/2006/picturerzChttp://schemas.openxmlformats.org/officeDocument/2006/relationshipsslz9http://schemas.openxmlformats.org/schemaLibrary/2006/mainwz<http://schemas.openxmlformats.org/wordprocessingml/2006/mainw14z4http://schemas.microsoft.com/office/word/2010/wordmlwpzFhttp://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingxmlz$http://www.w3.org/XML/1998/namespacexsiz)http://www.w3.org/2001/XMLSchema-instancec                        e Zd ZdZdedef fdZdefdZedefd       Z	e
dedefd	       Zedefd
       Zedeeef   fd       Zedefd       Zedefd       Z xZS )NamespacePrefixedTagzNValue object that knows the semantics of an XML tag having a namespace prefix.nstagargsc                 ,    t         t        |   | |      S )N)superr   __new__)clsr   r   	__class__s      M/srv/www/ollama/chat-ollama/venv/lib/python3.12/site-packages/docx/oxml/ns.pyr   zNamespacePrefixedTag.__new__    s    )37UCC    c                 p    |j                  d      \  | _        | _        t        | j                     | _        y )N:)split_pfx_local_partnsmap_ns_uri)selfr   s     r   __init__zNamespacePrefixedTag.__init__#   s*    &+kk#&6#	4#TYY'r    returnc                 :    d| j                   d| j                  S )N{})r'   r%   r(   s    r   
clark_namezNamespacePrefixedTag.clark_name'   s    <<)9)9::r    r/   c                 \    |dd  j                  d      \  }}t        |   d|} | |      S )N   r-   r"   )r#   pfxmap)r   r/   nsuri
local_namer   s        r   from_clark_namez$NamespacePrefixedTag.from_clark_name+   s5    &qrN005z!%=*55zr    c                     | j                   S )z[The local part of this tag.

        E.g. "foobar" is returned for tag "f:foobar".
        )r%   r.   s    r   
local_partzNamespacePrefixedTag.local_part1   s     r    c                 2    | j                   | j                  iS )zSingle-member dict mapping prefix of this tag to it's namespace name.

        Example: `{"f": "http://foo/bar"}`. This is handy for passing to xpath calls
        and other uses.
        )r$   r'   r.   s    r   r&   zNamespacePrefixedTag.nsmap9   s     		4<<((r    c                     | j                   S )zeThe namespace-prefix for this tag.

        For example, "f" is returned for tag "f:foobar".
        )r$   r.   s    r   nspfxzNamespacePrefixedTag.nspfxB   s     yyr    c                     | j                   S )zThe namespace URI for this tag.

        For example, "http://foo/bar" would be returned for tag "f:foobar" if the "f"
        prefix maps to "http://foo/bar" in nsmap.
        )r'   r.   s    r   r3   zNamespacePrefixedTag.nsuriJ   s     ||r    )__name__
__module____qualname____doc__strr   r   r)   propertyr/   classmethodr   r5   r7   r   r&   r:   r3   __classcell__)r   s   @r   r   r      s    XDC D D(c ( ;C ; ;    
  C     )tCH~ ) ) s   s  r    r   prefixesr*   c            
      f    dj                  | D cg c]  }d|dt        |   d c}      S c c}w )zNamespace declaration including each namespace-prefix in `prefixes`.

    Handy for adding required namespace declarations to a tree root element.
     zxmlns:z="")joinr&   )rD   pfxs     r   nsdeclsrJ   T   s*    
 88HMSU3Z8MNNMs   .nspfxsc                  <    | D ci c]  }|t         |    c}S c c}w )zSubset namespace-prefix mappings specified by *nspfxs*.

    Any number of namespace prefixes can be supplied, e.g. namespaces("a", "r", "p").
    )r&   )rK   rI   s     r   nspfxmaprM   \   s     
 (..CsO...s   tagc                 L    | j                  d      \  }}t        |   }d|d|S )a  Stands for "qualified name".

    This utility function converts a familiar namespace-prefixed tag name like "w:p"
    into a Clark-notation qualified tag name for lxml. For example, `qn("w:p")` returns
    "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}p".
    r"   r,   r-   )r#   r&   )rN   prefixtagrooturis       r   qnrS   d   s)     iinOFG
-CG$$r    N)r?   typingr   r   typing_extensionsr   r&   itemsr2   r@   r   rJ   rM   rS   )keyvalues   00r   <module>rY      sX      "		@		A	 	
S	 	
,		
 .	 *	 
E	 	E	 
E	 	N	 	
E	 	G	 
A	 	
R	 
1	  
6!	& (-{{}	5e%*	543 4nOs Os O/c /d38n /	%C 	%C 	%U 
6s   B