
    P&i^                     &   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
mZmZmZmZmZmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZmZ ddl m!Z! ddl m"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.m/Z/m0Z0m1Z1m2Z2 e	rddl3m4Z4  e(j5        e6          Z7dZ8 edej9                  Z:ddde;de;de<dede
defdZ=de;dee;e>f         fd Z? G d! d"e%          Z@ G d# d$e%          ZA G d% d&e%          ZBdddee;e
f         fd'ZCd(S ))z:Docutils transforms used by Sphinx when reading documents.    )path)DOTALLmatch)indent)TYPE_CHECKINGAnyDictListOptionalTupleTypeTypeVar)nodes)StringInput)Element)relative_path)addnodes)Config)make_glossary_termsplit_term_classifiers)__)init)SphinxTransform)get_filetypeloggingsplit_index_msg)docname_to_domain)IMAGE_TYPE_NODESLITERAL_TYPE_NODESNodeMatcherextract_messagesis_pending_metatraverse_translatable_index)Sphinx)refexplicitN)boundappr$   sourcesource_pathsource_lineconfigsettingsreturnc           	         	 |j         }d|_         ddlm}  |            }|                    |            t	          |j        |          }	| j                            | |	          }
|                    t          ||d|d          |
|          }	 |d         }n# t          $ r Y nw xY w|||_         S # ||_         w xY w)a  Publish msgstr (single line) into docutils document

    :param sphinx.application.Sphinx app: sphinx application
    :param str source: source text
    :param str source_path: source path for warning indication
    :param source_line: source line for warning indication
    :param sphinx.config.Config config: sphinx config
    :param docutils.frontend.Values settings: docutils settings
    :return: document
    :rtype: docutils.nodes.document
    Nr   )SphinxI18nReader:z:<translated>)r)   r*   )r)   parserr-   )
rst_prolog	sphinx.ior0   setupr   source_suffixregistrycreate_source_parserreadr   
IndexError)r(   r)   r*   r+   r,   r-   r3   r0   readerfiletyper2   docs               c/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/transforms/i18n.pypublish_msgstrr?   (   s   '&
 ......!!##S 4kBB223AAkkfCN;;P[P[P[+\^ ^ ^	  
 
	a&CC 	 	 	D	&J&&&&s0   BB5 B B5 
B)&B5 (B))B5 5	B>c                 h    t          d| t                    }|r|                    d          dfS | dfS )Nz(.*)(?<!\\)#\s*noqa\s*$   TF)r   r   group)r)   ms     r>   
parse_noqarD   N   s;    (&&99A wwqzz4u}    c                   &    e Zd ZdZdZdeddfdZdS )PreserveTranslatableMessageszD
    Preserve original translatable messages before translation
    
   kwargsr.   Nc                 |    | j                             t          j                  D ]}|                                 d S N)documentfindallr   translatablepreserve_original_messages)selfrI   nodes      r>   applyz"PreserveTranslatableMessages.apply\   sC    M))(*?@@ 	. 	.D++----	. 	.rE   __name__
__module____qualname____doc__default_priorityr   rR    rE   r>   rG   rG   V   sH          .c .d . . . . . .rE   rG   c                   &    e Zd ZdZdZdeddfdZdS )LocalezC
    Replace translatable nodes with their translated doctree.
       rI   r.   Nc                 n      j         j         j         d         }}d}|                     j        j                  sJ t          j        t          t          j         j        j        d          |                    d         }t          | j
        j                  } fd j
        j        D             }t          | j
        j        |          \  }}	|	sd S t           j                   D ]]\  }
}|                    |          }t#          |
t$                    st'          |          \  }}|r||k    s|                                s_|                                                    d          r|dz  }t#          |
t$                    rdt-          |d	          z   }t/           j        |||
j         j
        |          }t#          |t4          j                  sd
}t#          |
t4          j                  rt#          |
j        t4          j                  r|
j        }t5          j        |                                           }t5          j        |
                                           }||k    r(|!                    dg           }|"                    |            j         j#        $                    |d           } j         j%        $                    |d           }|r||s` j         j#        &                    |d             j         j%        &                    |d             j         j'        &                    |d             j         (                    |           tS          t4          j*        |          } j         +                    |          D ]}||d<   d}t#          |
t4          j,                  ro|
d         D ]f}t[          |          }t/           j        |d         ||
j         j
        |          }t]           j        ||d         ||
j        | j                   }d}g|r"|j/        D ]	}|
|_        
|j/        |
_/        d|
d<   _t           j                   D 
]\  }
}|
$                    dd
          r|                    |          }d
}t#          |
t$                    st'          |          \  }}|r||k    rdt#          |
t`          j1                  r|
2                    ||           t#          |
t4          j3                  r&ti          |
          r||
j5        d         d         d<   t#          |
t`          j6                  r||
d<   t#          |
t4          j7                  r |
$                    d          |k    r||
d<   /|                                                    d          r|dz  }t#          |
t$                    rdt-          |d	          z   }t#          |
t4          j                  r|dz   dtq          |          z  dz  z   }t/           j        |||
j         j
        |          }t#          |
t4          j                  r|9                                }t4          j        t4          j        f}|t$          z  }|tt          z  }t#          ||          sGdtv          tx                   dtx          dtx          dd fd}tS          t4          j=        t|                    }t          |
+                    |                    }t          |+                    |                    }|swtq          |          tq          |          k    rWd |D             }d |D             } t          A                    t          d           C                    ||           |
d!d"#           i }!|D ]>}"|!!                    |"$                    d          g           "                    |"           ?|D ]}#|#$                    d          }$|!$                    |$g           }%|%s|#j        D                    |#           K|%&                    d          }&|&d         |#d<   |#d         D ]}'|# j         j'        |'<   |#d$         dk    r | j         jE        |&|#           n | j         jF        |&|#           |$rZ j         jG        !                    |$g           }( ||(|&|#            j         jH        !                    |$g           }) ||)|&|#           tS          t4          jI        t|                    }*t          |
+                    |*                    }+t          |+                    |*                    },|swtq          |+          tq          |,          k    rWd% |+D             }-d& |,D             }.t          A                    t          d'          C                    |-|.          |
d!d"#           d( |+D             }/d) |,D             }0t          t          |/          t          |0          z
            }1|,D ]X}2 j         K                    |2d                   s|1r|1&                    d          |2d<   n	  j         L                    |2           YtS          t4          j=        t|                    }3t          |
+                    |3                    }t          |+                    |3                    }i }4|swtq          |          tq          |          k    rWd* |D             }d+ |D             } t          A                    t          d           C                    ||           |
d!d"#           |D ]7}&|4!                    |&d         g           "                    |&d                    8|D ]=}#|#d         }$|4$                    |$          r|4|$         &                    d          |#d<   >tS          t4          jM        t|                    }5t          |
+                    |5                    }6t          |+                    |5                    }7i }4|swtq          |6          tq          |7          k    rWd, |6D             }8d- |7D             }9t          A                    t          d.          C                    |8|9          |
d!d"#           |6D ]7}:|4!                    |:d         g           "                    |:d                    8|7D ]<};|;d         }$|4$                    |$          r|4|$         &                                |;d<   =t          |
+                    t`          jN                            }<t          |+                    t`          jN                            }=i }>|swtq          |<          tq          |=          k    rWd/ |<D             }?d0 |=D             }@t          A                    t          d1          C                    |?|@          |
d!d"#           d2t`          jN        dt          t          t          t          t          f                  fd3}A|<D ]}B |A|B          }C|Cr
|BjR        |>|C<   |=D ]I}D |A|D          }C|>$                    |Ci           S                                D ]\  }E}F|Et          vr|F|D|E<   J|j/        D ]	}|
|_        
|j/        |
_/        t#          |
t$                    r|
                                 |
_U        t#          |
t4          j7                  r&|
$                    d          |k    r|d4         |
d4<   
d|
d<   
d5 j
        jV        v rt           j                   D ]\  }
}Gg }H|GD ]z\  }I}}J}K}Lt          |I|          }Mg }N|MD ]0}O|                    |O          }|s|O}|N"                    |           1|H"                    |Id6                    |N          |J|Kd f           {|G|
d7<   |H|
d8<    j         +                    tS          t|          9                    D ]}P|PY                    d           d S ):Nr)    dummyr   c                 N    g | ]!}t          j        j        j        |          "S rY   )r   joinenvsrcdir).0	directoryrP   s     r>   
<listcomp>z Locale.apply.<locals>.<listcomp>r   s9     : : : 	$(/955 : : :rE   z::z

   dummy literalz::

z   Fnamesrefnameri   TidsrA   
translatedr   contentalt
=   lstoldnewr.   c                 l    || v r|| |                      |          <   d S |                     |           d S rK   )indexappend)rq   rr   rs   s      r>   list_replace_or_appendz,Locale.apply.<locals>.list_replace_or_append8  s8    #::*-C		#'''JJsOOOOOrE   )autoc                     g | ]	}|j         
S rY   	rawsourcerd   refs     r>   rf   z Locale.apply.<locals>.<listcomp>B      *R*R*RS3=*R*R*RrE   c                     g | ]	}|j         
S rY   rz   r|   s     r>   rf   z Locale.apply.<locals>.<listcomp>C  r~   rE   zVinconsistent footnote references in translated message. original: {0}, translated: {1}i18ninconsistent_references)locationtypesubtyperx   c                     g | ]	}|j         
S rY   rz   r|   s     r>   rf   z Locale.apply.<locals>.<listcomp>m      %H%H%Hcm%H%H%HrE   c                     g | ]	}|j         
S rY   rz   r|   s     r>   rf   z Locale.apply.<locals>.<listcomp>n  r   rE   zMinconsistent references in translated message. original: {0}, translated: {1}c                     g | ]
}|d          S rh   rY   rd   rs     r>   rf   z Locale.apply.<locals>.<listcomp>s      <<<aQy\<<<rE   c                     g | ]
}|d          S rh   rY   r   s     r>   rf   z Locale.apply.<locals>.<listcomp>t  r   rE   c                     g | ]	}|j         
S rY   rz   r|   s     r>   rf   z Locale.apply.<locals>.<listcomp>  r~   rE   c                     g | ]	}|j         
S rY   rz   r|   s     r>   rf   z Locale.apply.<locals>.<listcomp>  r~   rE   c                     g | ]	}|j         
S rY   rz   r|   s     r>   rf   z Locale.apply.<locals>.<listcomp>  r~   rE   c                     g | ]	}|j         
S rY   rz   r|   s     r>   rf   z Locale.apply.<locals>.<listcomp>  r~   rE   zVinconsistent citation references in translated message. original: {0}, translated: {1}c                     g | ]	}|j         
S rY   rz   rd   xrefs     r>   rf   z Locale.apply.<locals>.<listcomp>      &L&L&L$t~&L&L&LrE   c                     g | ]	}|j         
S rY   rz   r   s     r>   rf   z Locale.apply.<locals>.<listcomp>  r   rE   zRinconsistent term references in translated message. original: {0}, translated: {1}rQ   c                 `    | d         | d         f}|dk    rd S | d         | d         | d         fS )N	refdomainreftype)stdterm	reftargetrY   )rQ   cases     r>   get_ref_keyz!Locale.apply.<locals>.get_ref_key  sH    K($y/9?**4 [)Y[), ,rE   uriru   ;raw_entriesentries)rk   )ZrL   r-   
startswithrb   rc   r   splitextr   ra   r   r,   gettext_compactlocale_dirsinit_localelanguager!   gettext
isinstancer   rD   stripendswithr   r?   r(   liner   	paragraphtitleparentsectionfully_normalize_nameastext
setdefaultrv   nameidsget	nametypespoprj   note_implicit_targetr    targetrM   r   r   r   childrenr   rN   apply_translated_messagependingr"   detailsdocutils_metaimagelen	next_noder   r
   r&   footnote_referencer   listloggerwarningr   formatremoveautofootnote_refssymbol_footnote_refsfootnote_refsrefnames	referencesethas_namenote_refnamecitation_referencepending_xrefr   r   str
attributesitems EXCLUDED_PENDING_XREF_ATTRIBUTESr{   gettext_additional_targetsr#   r   delattr)QrP   rI   r-   r)   msgstrdocname
textdomaindirscataloghas_catalogrQ   msg_patch	processedsection_nodenew_nameold_namerg   _idexplicitmatcher
old_targetpartschildnoqa
unexpectedrw   is_autofootnote_refold_foot_refsnew_foot_refsold_foot_ref_rawsourcesnew_foot_ref_rawsourcesold_foot_namerefsr   newfri   refsoldfidr   r   is_refnamed_refold_refsnew_refsold_ref_rawsourcesnew_ref_rawsourcesold_ref_namesnew_ref_namesorphansnewris_refnamed_footnote_refrefname_ids_mapis_citation_refold_cite_refsnew_cite_refsold_cite_ref_rawsourcesnew_cite_ref_rawsourcesoldcnewc	old_xrefs	new_xrefsxref_reftarget_mapold_xref_rawsourcesnew_xref_rawsourcesr   rr   keyrs   kvr   new_entriesr   tidmain_key	msg_partsmsgstr_partspartrk   sQ   `                                                                                r>   rR   zLocale.applyg   s;   =14=3J&   11111-di.Q.Q.4!6 !6 7 778:&w0KLL
: : : :!%!8: : :*41EzRR 	F *$-88 p	* p	*ID#__S))F d$677 /&v..	  Vs]]&,,..] ||~~&&t,, 100
 $ 233 <!F67$;$;;"48VV#'9dk8E EE eU_55 I $,, 8%DK1W1W 8%#{ 5ellnnEE 5dkkmmDDx'' )33GR@@ELL*** -/33HdCCC#}6::8TJJH"  I' = !M155hEEE M377$GGG M-11#t<<< ::<HHH *%,IIIG&*m&;&;G&D&D 9 9
08
9-- $I $
++ %; % %C26::E*48U1Xv+/9dk8M ME.txa/5ty#/3}> >E !%II  *"^ ( (E#'ELL %%)\" *$-88 n	& n	&ID#xxe,, __S))FD d$677 2)&11  Vs]] $ 566 --c6::: $.. ?43H3H 6<W%a(3D("899 "(Y$,, %C1G1G$U ||~~&&t,, 100
 $ 233 <!F67$;$;;
 $,, ?$s6{{):Q)>>"48VV#'9dk8E EE $,, *)) 5J ,,J**JeZ00 $DG $! $! $ $ $ $ $ #.e.FS"Q"Q"Q<@NaAbAb<c<cM<@ObAcAc<d<dM ^C..#m2D2DDD*R*RM*R*R*R'*R*RM*R*R*R'r #D  E  E &'>@W X X(,6C\  ^ ^ ^ LN" M M!,,QUU9-=-=rBBII!LLLL% A A((9--(,,Wb99 K&&t,,,xx{{"5kUu+ 1 1B,0DM%b))<1$$**4=+JDRVWWWW +*4=+MtUYZZZ A$(M$?$J$J7TV$W$WM**=$EEE#}5@@"MMH**8T4@@@ *%/3GGGO.24<<3P3P.Q.QH.25==3Q3Q.R.RH ^CMMS]]::%H%Hx%H%H%H"%H%Hx%H%H%H"r #D  E  E &'9;M N N(,6C\  ^ ^ ^ =<8<<<M<<8<<<M3}--M0B0BBCCG  1 1}--d9o>>   *1++a..Y **40000 (353KUX'Y'Y'Y$ .F!G!GHHM /G!H!HIIM46O ^C..#m2D2DDD*R*RM*R*R*R'*R*RM*R*R*R'r #D  E  E &'>@W X X(,6C\  ^ ^ ^ & T T**4	?B??FFtE{SSSS% B By/"&&w// B"1'":">">q"A"ADK *%*BCPPPO<@oA^A^<_<_M<@A_A_<`<`M O ^C..#m2D2DDD*R*RM*R*R*R'*R*RM*R*R*R'r #D  E  E &'>@W X X(,6C\  ^ ^ ^ & T T**4	?B??FFtE{SSSS% A Ay/"&&w// A"1'":">">"@"@DK
 T\\(*?@@AAIU]]8+@AABBI!# ^C	NNc)nn<<&L&L)&L&L&L#&L&L)&L&L&L#r #D  E  E &':<O P P(,6C\  ^ ^ ^
,("7 ,HU3PSUX=EY<Z , , , , ! = =!k#&& =.1n&s+  # #!k#&& /223;;AACC # #DAq @@@!"A#
  $ $#!NDM $ 233 /!%$,, %C1G1G#ElU!%Ddk<<<!<T]!K!K . .gDF29 	X 	X.D#sD$ /c : :I#%L ) 4 4!(!6!6% *%)F$++F3333&&chh|.D.Dc4QU'VWWWW&-]#"-Y -//s0K0K0KLL 	- 	-J|,,,,	- 	-rE   rS   rY   rE   r>   r[   r[   a   sP          I-c I-d I- I- I- I- I- I-rE   r[   c                   &    e Zd ZdZdZdeddfdZdS )RemoveTranslatableInlinezC
    Remove inline nodes used for translation as placeholders.
    i  rI   r.   Nc                 <   ddl m} t          | j        j        |          rd S t          t          j        t                    }t          | j
                            |                    D ]1}|j                            |           |xj        |j        z  c_        2d S )Nr   )MessageCatalogBuilder)rN   )sphinx.builders.gettextr  r   r(   builderr    r   inliner   r   rL   rM   r   r   r   )rP   rI   r  r   r  s        r>   rR   zRemoveTranslatableInline.apply  s    AAAAAAdh&(=>> 	Fel===4=0099:: 	- 	-FM  (((MMV_,MMM	- 	-rE   rS   rY   rE   r>   r  r    sH          -c -d - - - - - -rE   r  c                     |                      t                     |                      t                     |                      t                     ddddS )NbuiltinT)versionparallel_read_safeparallel_write_safe)add_transformrG   r[   r  )r(   s    r>   r5   r5     sZ    2333f./// "#  rE   N)DrW   osr   rer   r   textwrapr   typingr   r   r	   r
   r   r   r   r   docutilsr   docutils.ior   docutils.nodesr   docutils.utilsr   sphinxr   sphinx.configr   sphinx.domains.stdr   r   sphinx.localer   r   r   sphinx.transformsr   sphinx.utilr   r   r   sphinx.util.i18nr   sphinx.util.nodesr   r   r    r!   r"   r#   sphinx.applicationr$   	getLoggerrT   r   r   Noder&   r   intr?   boolrD   rG   r[   r  r5   rY   rE   r>   <module>r:     sL   @ @                     Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q       # # # # # # " " " " " " ( ( ( ( ( (                   I I I I I I I I       - - - - - - - - - - - - > > > > > > > > > > . . . . . ._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  *)))))) 
	8	$	$ $4   GCuz"""#' #'# #'C #'c #'!#'-0#'5<#' #' #' #'Ls uS$Y/    . . . . .? . . .O- O- O- O- O-_ O- O- O-d- - - - - - - -"	x 	DcN 	 	 	 	 	 	rE   