
    zi                        d Z ddlmZ ddlZddlZddlmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZmZ ddlmZ dd	lmZ erdd
lmZ ddlmZ  ej        e          Z G d d          Zd$dZd%dZd&d!Zd'd"Zd'd#Z dS )(z.Index entries adapters for sphinx.environment.    )annotationsN)groupby)TYPE_CHECKINGAnyLiteral)NoUri)___)logging)_split_into)Builder)BuildEnvironmentc                  @    e Zd ZddZd ej        d          fddZdS )IndexEntriesenvr   returnNonec                    || _         |  d S N)r   )selfr   s     s/var/www/tmov.alphamb/tmov_inventario/venv/lib/python3.11/site-packages/sphinx/environment/adapters/indexentries.py__init__zIndexEntries.__init__   s        Tz(.*) ([(][^()]*[)])builderr   group_entriesbool_fixre
re.Pattern'list[tuple[str, list[tuple[str, Any]]]]c           
        i }| j         j        d         }|j                                        D ]?\  }}	 |                    d|          }n# t
          $ r d}Y nw xY w|D ]\  }	}
}}}|duo| d| }	 |	dk    rR	 t          dd|
          \  }}n%# t          $ r t          dd|
          \  }d}Y nw xY wt          ||||||	           n]|	d
k    r@t          dd
|
          \  }}t          ||||||	           t          ||||||	           n|	dk    rgt          dd|
          \  }}}t          ||dz   |z   ||||	           t          ||dz   |z   ||||	           t          ||dz   |z   ||||	           n|	dk    r:t          dd|
          \  }}t          |t          d          |z  d|d|	           nj|	dk    r:t          dd|
          \  }}t          |t          d          |z  d|d|	           n*t                              t          d          |	|           # t          $ r4}t                              t          |          |           Y d}~d}~ww xY wA|                                D ]W\  }}}|                    t                      |                                D ]!\  }}}|                    t                      "Xt#          |                                t$                    }|rd}i }d}|t'          |          k     r||         \  }\  }}}|s|                    |          } | rx||                     d          k    rI|                    |                     d          g i |g          d                             |           ||= |                     d          }n|}|}|dz  }|t'          |          k     d t1          |t2                    D             S )z7Create the real index from the collected index entries.indexgenindexF#single       )diclinkkeypairtriple    z, seezsee %sNseealsozsee also %szunknown index entry type %r)locationr*   r   c                6    g | ]\  }}|t          |          fS  )list).0key_groups      r   
<listcomp>z-IndexEntries.create_index.<locals>.<listcomp>v   s=     E E E!T5 tE{{# E E Er   )r   domainsentriesitemsget_relative_urir   r   
ValueError
_add_entryr	   loggerwarningr
   strvaluessort_key_func_0sorted_key_func_1lenmatchr8   
setdefaultextendr   _key_func_3)!r   r   r   r   newindex_domaindocnamer;   rel_uri
entry_typevalue	target_idmaincategory_keyurientry	sub_entryfirstsecondthirderrtargets	sub_items_category_keysub_targets_0_sub_category_keynew_listold_keyold_sub_itemsir*   ms!                                    r   create_indexzIndexEntries.create_index   sm     " x'0 , 4 : : < < ,	? ,	?GW !22:wGG        EL %? %?@
E9dLU*G'/G/GI/G/G#?!X--+/:1h/N/N,E99) + + +%0He%D%DFE(*III+ #5)T'*,H H H H H#v--(3Avu(E(Ev"5&$'*,H H H H"65$'*,H H H H H#x///:1h/N/N,vu"5&3,*>'*,H H H H"654<%+?'*,H H H H"5%#+*>'*,H H H H H#u,,(3Aue(D(Dv"5!H++*>'*LJ J J J J#y00(3Aue(D(Dv"5!M*:*:V*CT'*LJ J J J J r*G'H'H*07 ' 9 9 9! ? ? ?NN3s88gN>>>>>>>>?I%?N 47::<< 	2 	2/WiLL[L)))8A8H8H8J8J 2 24b"3  [ 11112 #))++;777 	 G-/MAc(mm##:B1+77gy,  &S))A 
&"aggajj00 *44 !

R\,BD DDEGGMvg ($"#''!**"% )Q# c(mm##&E E%,X{%C%CE E E 	EsN   AAA5H,<BH,B30H,2B33E7H,,
I*6)I%%I*N)r   r   r   r   )r   r   r   r   r   r   r   r   )__name__
__module____qualname__r   recompilerh   r4   r   r   r   r      sf            DH*4"*5K*L*L\E \E \E \E \E \E \Er   r   wordrB   subwordrT   
str | Noner(   dict[str, list]r)   str | Literal[False]r*   r   r   c                   |                     | g i |g          }|r|d                              |g i |g          }|r|d                             ||f           d S d S )Nr&   r   )rJ   append)rn   ro   rT   r(   r)   r*   rW   s          r   r?   r?   z   st    NN4"b#//E <a##Gb"c];; &at%%%%%& &r   rW   tuple[str, str]tuple[bool, str]c                    | \  }}| |fS )z(sort the index entries for same keyword.r4   )rW   rT   rV   s      r   rE   rE      s    ID#8S=r   tuple[str, list]tuple[tuple[int, str], str]c                ,   | \  }\  }}}|r|}t          j        d|                                          }|                    d          r
|dd         }|dd                                         s|                    d          sd}nd}||f| d         fS )zSort the index entriesNFD   ‏r&   Nr   r	   )unicodedata	normalizelower
startswithisalpha)rW   r*   _targets
_sub_itemsrU   lc_keyr8   s          r   rG   rG      s    05-C	-(J "5#))++66F122 !A#;   ):):3)?)?   6?E!H$$r   c                $   t          j        d| d                                                   }|                    d          r
|dd         }|dd                                         s|                    d          rt          d          |z   }|S )zsort the sub-index entriesr{   r   r|   r&   Nr	      )r}   r~   r   r   r   chr)rW   r*   s     r   _key_func_2r      s    

uQx~~'7'7
8
8C
~~.// !""g
1Q3x S^^C00 #hhnJr   c                   | \  }\  }}}t          d |                                D             t                    | d         d<   ||S |                    d          r
|dd         }t	          j        d|d                   d                                         }|                                s|dk    r|S t          d	          S )
zGroup the entries by letterc              3  ,   K   | ]\  }\  }}}||fV  d S r   r4   )r6   sub_keyr`   ra   rb   s        r   	<genexpr>z_key_func_3.<locals>.<genexpr>   sG       0 0Mw(Lb:K #K0 0 0 0 0 0 0r   r2   r&   Nr|   r{   r   r	   Symbols)	rF   r<   r   r   r}   r~   upperr   r	   )rW   r*   r]   r^   rU   letters         r   rL   rL      s    .3+C	+'9l 0 0&__..0 0 05@B B BE!HQK  ~~.// !""g"5#a&11!4::<<F~~ 6S== Y<<r   )rn   rB   ro   rB   rT   rp   r(   rq   r)   rr   r*   rp   r   r   )rW   ru   r   rv   )rW   rx   r   ry   )rW   rx   r   rB   )!__doc__
__future__r   rl   r}   	itertoolsr   typingr   r   r   sphinx.errorsr   sphinx.localer	   r
   sphinx.utilr   sphinx.util.index_entriesr   sphinx.buildersr   sphinx.environmentr   	getLoggerri   r@   r   r?   rE   rG   r   rL   r4   r   r   <module>r      s   4 4 " " " " " " 				           . . . . . . . . . .                     1 1 1 1 1 1 4''''''333333		8	$	$aE aE aE aE aE aE aE aEH& & & &   % % % %*        r   