
    k7i                         S r SrSSKJr   SSKrSSKJ	r	  SSK
JrJr  SS	KJr  SS
KJrJr  SSKJr   " S S\5      r " S S\5      rg! \ a(     SSKr " S S5      r\\l         NW! \ a    Sr  Nbf = ff = f)z+
Directives for figures and simple images.
reStructuredText    )url2pathnameNc                       \ rS rSrSrg)PIL    N)__name__
__module____qualname____firstlineno____static_attributes__r       `/home/james-whalen/.local/lib/python3.13/site-packages/docutils/parsers/rst/directives/images.pyr   r      s    4r   r   )nodes)fully_normalize_namewhitespace_normalize_name)	Directive)
directivesstates)normalize_optionsc            
           \ rS rSrSrSr\\-   rSrS rS r	Sr
SrS	r\R                  \R                  \R                   \R"                  \\R$                  \	\R&                  \R                  S
.	rS rSrg)Image   )leftcenterright)topmiddlebottom)embedlinklazyc                 L    [         R                  " U [        R                  5      $ N)r   choicer   align_valuesarguments    r   alignImage.align%   s       5+=+=>>r   c                 L    [         R                  " U [        R                  5      $ r$   )r   r%   r   loading_valuesr'   s    r   loadingImage.loading+   s      5+?+?@@r      r   T)	altheightwidthscaler)   targetr-   classnamec           
         SU R                   ;   Ga   [        U R                  [        R                  5      (       al  U R                   S   U R
                  ;  aN  U R                  SU R                  < SU R                   S   < SSR                  U R
                  5      < S35      eOkU R                   S   U R                  ;  aN  U R                  SU R                  < SU R                   S   < SSR                  U R                  5      < S35      e/ n[        R                  " U R                  S   5      nX R                   S	'   S nS
U R                   ;   Ga   [        R                  " U R                   S
   5      R                  5       n[        U5      nU R                  R!                  X@R"                  U R$                  5      u  pVUS:X  a  [&        R(                  " US9nOjUS:X  aS  [&        R(                  " [+        U5      [-        U5      S9nXcl        U R                  R0                  R3                  U5        OUR5                  U5        U R                   S
	 [7        U R                   5      n[&        R8                  " U R"                  40 UD6nU R:                  R=                  U R$                  5      u  Ul        Ul         U RC                  U5        U(       a	  X8-  nX/-   $ X/-   $ )Nr)   z
Error in "z" directive: "zp" is not a valid value for the "align" option within a substitution definition.  Valid values for "align" are: "z", "z".zO" is not a valid value for the "align" option.  Valid values for "align" are: "r   urir4   refuri)r9   refname)r:   r6   )"options
isinstancestater   SubstitutionDefalign_v_valueserrorr6   joinalign_h_valuesr   r8   	argumentsescape2null
splitlineslistparse_target
block_textlinenor   	referencer   r   indirect_reference_namedocumentnote_refnameappendr   imagestate_machineget_source_and_linesourcelineadd_name)	selfmessagesrJ   reference_nodeblocktarget_typedatar;   
image_nodes	            r   run	Image.run<   sO   dll"$**f&<&<==<<(0C0CC**  99dll7&;!;;t':':;	=> > D g&d.A.AAjj yy$,,w"7{{4#6#679: :
 NN4>>!#45	'Ut||#&&X&((2
 KE $

 7 7!5Kh&!&!=	)!&06248": :>6

##00@%X&#DLL1[[<G<
 ..BB4;;O			j!(N...l**r   r   N)r	   r
   r   r   rB   r?   r&   r,   r)   r-   required_argumentsoptional_argumentsfinal_argument_whitespacer   	unchangedlength_or_unitless length_or_percentage_or_unitless
percentageunchanged_requiredclass_optionoption_specr\   r   r   r   r   r   r      s    0N0N!N2L.N?A  $$..'::&GG&11!'::%&33%//1K/+r   r   c                       \ rS rSrS rS r\R                  R                  5       r\\S'   \	R                  \S'   \	R                  \S'   \\S'   SrS	 rS
rg)Figuren   c                 L    [         R                  " U [        R                  5      $ r$   )r   r%   ri   rB   r'   s    r   r)   Figure.alignp   s      6+@+@AAr   c                 Z    U R                  5       S:X  a  g[        R                  " U S5      $ )NrO   px)lowerr   rc   r'   s    r   figwidth_valueFigure.figwidth_values   s'    >>w&>>xNNr   figwidthfigclassfignamer)   Tc                 p   U R                   R                  SS 5      nU R                   R                  SS 5      nU R                   R                  SS 5      nU R                   R                  SS 5      n[        R                  " U 5      u  n[	        U[
        R                  5      (       a  U/$ [
        R                  " SU5      nU R                  R                  U R                  5      u  Ul        Ul        US:X  a  [        (       a  U R                  R                  R                   R"                  (       a  [%        US   5      n [        R                  R'                  U5       nSUR(                  S	   -  US
'   S S S 5        U R                  R                  R                   R*                  R-                  UR/                  SS5      5        OOUb  XS
'   U(       a  US==   U-  ss'   U(       aM  US   R5                  [
        R6                  " U5      5        U R                  R                  R9                  Xf5        U(       a  XFS'   U R:                  (       Ga  [
        R<                  " 5       n	U R                  R?                  U R:                  U R@                  U	5        [C        U	5       GH.  u  p[	        U[
        RD                  [
        RF                  45      (       a  Xk-  nM;  [	        U[
        RH                  5      (       aT  [
        RJ                  " URL                  S/URN                  Q76 nUR                  Ul        UR                  Ul        Xl-  n  O[	        U[
        RP                  5      (       a  [S        U5      S	:X  a    OUU RT                  RW                  S[
        RX                  " U RZ                  U RZ                  5      U R                  S9nXm/s  $    [S        U	5      W
S-   :  a  U[
        R\                  " S/XS-   S  Q76 -  nU/$ ! , (       d  f       GN= f! [0        [2        4 a     GNbf = f)Nrr   rs   rt   r)    rO   r8   z%dpxr   r2   \/classesnamesz4Figure caption must be a paragraph or empty comment.)rS   r/   )/r;   popr   r\   r<   r   system_messagefigurerP   rQ   rI   rR   rS   r   r=   rL   settingsfile_insertion_enabledr   opensizerecord_dependenciesaddreplaceOSErrorUnicodeEncodeErrorrN   r   note_explicit_targetcontentElementnested_parsecontent_offset	enumerater4   pending	paragraphcaption	rawsourcechildrencommentlenreporterr@   literal_blockrH   legend)rU   rr   
figclassesrt   r)   r[   figure_node	imagepathimgnodeichildr   r@   s                 r   r\   
Figure.run   s;   <<##J5\\%%j$7
,,""9d3  $/		$j%"6"677<ll2z233DKK@		[-wstzz**33JJ(E):;	6	2c/5/CG, 3
 JJ''00DDHH!))$46!#+ 	"j0" ''(B(B7(KLJJ44[N#( <<< ==?DJJ##DLL$2E2EtL%dOeellEMM%BCC(KeU__55#mmEOOR =-2^^=G%*\\GN#(::GL*KeU]]33E
a++J''I , & $++% ,& 4y1Q3u||B<cd<<}U 32!34 s*   P! "P8P! 
PP! !P54P5r   N)r	   r
   r   r   r)   rp   r   rg   copyr   rf   ra   has_contentr\   r   r   r   r   ri   ri   n   sb    BO ##((*K,K
(55K
'11K	 KK9r   ri   )__doc____docformat__urllib.requestr   	PIL.Imager   ImportErrorr   docutilsr   docutils.nodesr   r   docutils.parsers.rstr   r   r   docutils.parsers.rst.rolesr   ri   r   r   r   <module>r      s   
 # '  J * 3 8M+I M+`LU L  	 s)   A	 	A7A''A3/A72A33A7