§
    ¢éUgúS  ã                   ó$  — d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl	m
Z
mZ ddlZddlZd„ Z G d„ d¦  «        Z G d	„ d
e¦  «        Z edg d¢¦  «        Z G d„ de¦  «        Zdd„Zd„ Zdd„Z G d„ de¦  «        Z G d„ de¦  «        ZdS )z=Extract reference documentation from the NumPy source tree.

é    N)Úwarn)Ú
namedtuple)ÚCallableÚMappingc                 óò   — | r9| d                               ¦   «         s| d= | r| d                               ¦   «         ¯| r9| d                               ¦   «         s| d= | r| d                               ¦   «         ¯| S )z<Remove leading and trailing blank lines from a list of linesr   éÿÿÿÿ©Ústrip)Úls    úT/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/_lib/_docscrape.pyÚstrip_blank_linesr      s…   € à
ð �A�a”D—J’J‘L”Lð ØˆaˆDð ð �A�a”D—J’J‘L”Lð à
ð �A�b”E—K’K‘M”Mð ØˆbˆEð ð �A�b”E—K’K‘M”Mð à€Hó    c                   óV   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zdd„Zd„ ZdS )ÚReaderz!A line-based string reader.

    c                 óœ   — t          |t          ¦  «        r|| _        n|                     d¦  «        | _        |                      ¦   «          dS )zs
        Parameters
        ----------
        data : str
           String with lines separated by '\n'.

        ú
N)Ú
isinstanceÚlistÚ_strÚsplitÚreset)ÚselfÚdatas     r   Ú__init__zReader.__init__   sC   € õ �d�DÑ!Ô!ð 	)ØˆDŒIˆIàŸ
š
 4Ñ(Ô(ˆDŒIà�
Š
‰Œˆˆˆr   c                 ó   — | j         |         S ©N)r   ©r   Úns     r   Ú__getitem__zReader.__getitem__,   s   € ØŒy˜Œ|Ðr   c                 ó   — d| _         d S )Nr   )Ú_l©r   s    r   r   zReader.reset/   s   € ØˆŒˆˆr   c                 ól   — |                       ¦   «         s| | j                 }| xj        dz  c_        |S dS )Né   Ú )Úeofr!   )r   Úouts     r   ÚreadzReader.read2   s6   € Ø�xŠx‰zŒzð 	Ø�t”w”-ˆCØˆGŒG�q‰LˆGŒGØˆJà�2r   c                 óx   — | | j         d …         D ])}|                     ¦   «         r d S | xj         dz  c_         Œ*d S ©Nr$   )r!   r
   )r   r   s     r   Úseek_next_non_empty_linezReader.seek_next_non_empty_line:   sM   € Ø�d”g�h�h”ð 	ð 	ˆAØ�wŠw‰yŒyð Ø��à�”˜1‘�”�ð		ð 	r   c                 ó<   — | j         t          | j        ¦  «        k    S r   ©r!   Úlenr   r"   s    r   r&   z
Reader.eofA   s   € ØŒw�#˜dœi™.œ.Ò(Ð(r   c                 óÖ   — | j         }| |d …         D ]V} ||¦  «        r| || j         …         c S | xj         dz  c_         |                      ¦   «         r| || j         dz   …         c S ŒWg S r*   )r!   r&   )r   Úcondition_funcÚstartÚlines       r   Úread_to_conditionzReader.read_to_conditionD   s�   € Ø”ˆØ˜˜˜”Lð 	-ð 	-ˆDØˆ~˜dÑ#Ô#ð +Ø˜E $¤'˜MÔ*Ð*Ð*Ð*ØˆGŒG�q‰LˆGŒGØ�xŠx‰zŒzð -Ø˜E $¤'¨!¡)˜OÔ,Ð,Ð,Ð,ð-àˆ	r   c                 óZ   — |                       ¦   «          d„ }|                      |¦  «        S )Nc                 ó,   — |                       ¦   «          S r   r	   ©r2   s    r   Úis_emptyz0Reader.read_to_next_empty_line.<locals>.is_emptyQ   s   € Ø—z’z‘|”|Ð#Ð#r   )r+   r3   )r   r7   s     r   Úread_to_next_empty_linezReader.read_to_next_empty_lineN   s9   € Ø×%Ò%Ñ'Ô'Ð'ð	$ð 	$ð 	$ð ×%Ò% hÑ/Ô/Ð/r   c                 ó2   — d„ }|                       |¦  «        S )Nc                 óŽ   — |                       ¦   «         o1t          |                      ¦   «         ¦  «        t          | ¦  «        k    S r   )r
   r.   Úlstripr6   s    r   Úis_unindentedz:Reader.read_to_next_unindented_line.<locals>.is_unindentedW   s0   € Ø—J’J‘L”LÐF¥c¨$¯+ª+©-¬-Ñ&8Ô&8½CÀ¹I¼IÒ&EÐGr   )r3   )r   r<   s     r   Úread_to_next_unindented_linez#Reader.read_to_next_unindented_lineV   s(   € ð	Hð 	Hð 	Hà×%Ò% mÑ4Ô4Ð4r   r   c                 óf   — | j         |z   t          | j        ¦  «        k     r| | j         |z            S dS ©Nr%   r-   r   s     r   ÚpeekzReader.peek[   s1   € ØŒ7�Q‰;�˜TœY™œÒ'Ð'Ø˜œ !™Ô$Ð$à�2r   c                 ó\   — d                      | j        ¦  «                             ¦   «          S r?   )Újoinr   r
   r"   s    r   r7   zReader.is_emptya   s%   € Ø—7’7˜4œ9Ñ%Ô%×+Ò+Ñ-Ô-Ð-Ð-r   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r(   r+   r&   r3   r8   r=   r@   r7   © r   r   r   r      sÈ   € € € € € ðð ðð ð ðð ð ðð ð ðð ð ðð ð ð)ð )ð )ðð ð ð0ð 0ð 0ð5ð 5ð 5ð
ð ð ð ð.ð .ð .ð .ð .r   r   c                   ó   — e Zd Zd„ ZdS )Ú
ParseErrorc                 óX   — | j         d         }t          | d¦  «        r|› d| j        ›�}|S )Nr   Ú	docstringú in )ÚargsÚhasattrrK   )r   Úmessages     r   Ú__str__zParseError.__str__f   s9   € Ø”)˜A”,ˆÝ�4˜Ñ%Ô%ð 	9Ø Ð8Ð8 d¤nÐ8Ð8ˆGØˆr   N)rC   rD   rE   rP   rG   r   r   rI   rI   e   s#   € € € € € ðð ð ð ð r   rI   Ú	Parameter)ÚnameÚtypeÚdescc                   ó.  — e Zd ZdZi dd“ddg“dg “dg “dg “dg “d	g “d
g “dg “dg “dg “dg “dg “dg “dg “dd“dd“di i¥Zi fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ ZdEd„Zd Zd!Zd"Zd#ez   ez   d$z   ez   d%z   Ze                     d&d'¦  «        Ze                     d(d)¦  «        Zd*Z ej        d+ez   d,z   ¦  «        Z ej        d-ez   d.z   ez   d/z   d%z   d0z   ez   ¦  «        Zd1Zd2„ Zd3„ Zd4„ Zd5„ ZdFd7„ZdGd9„Z dHd;„Z!d<„ Z"d=„ Z#d>„ Z$d?„ Z%d@„ Z&dA„ Z'dB„ Z(dIdC„Z)dDS )JÚNumpyDocStringzƒParses a numpydoc string to an abstract representation

    Instances define a mapping from section title to structured data.

    Ú	Signaturer%   ÚSummaryúExtended SummaryÚ
ParametersÚReturnsÚYieldsÚReceivesÚRaisesÚWarnsúOther ParametersÚ
AttributesÚMethodsúSee AlsoÚNotesÚWarningsÚ
ReferencesÚExamplesÚindexc                 ó  — |}t          j        |¦  «                             d¦  «        }t          |¦  «        | _        t          j        | j        ¦  «        | _        	 |  	                    ¦   «          d S # t          $ r}||_        ‚ d }~ww xY w©Nr   )ÚtextwrapÚdedentr   r   Ú_docÚcopyÚdeepcopyÚsectionsÚ_parsed_dataÚ_parserI   rK   )r   rK   ÚconfigÚorig_docstringÚes        r   r   zNumpyDocString.__init__Œ   s†   € Ø"ˆÝ”O IÑ.Ô.×4Ò4°TÑ:Ô:ˆ	å˜9Ñ%Ô%ˆŒ	Ý œM¨$¬-Ñ8Ô8ˆÔð	Ø�KŠK‰MŒMˆMˆMˆMøÝð 	ð 	ð 	Ø(ˆAŒKØøøøøð	øøøs   ÁA3 Á3
B
Á=BÂB
c                 ó   — | j         |         S r   )rq   )r   Úkeys     r   r   zNumpyDocString.__getitem__™   s   € ØÔ  Ô%Ð%r   c                 ód   — || j         vr|                      d|z  d¬¦  «         d S || j         |<   d S )NzUnknown section %sF©Úerror)rq   Ú_error_location)r   rw   Úvals      r   Ú__setitem__zNumpyDocString.__setitem__œ   sH   € Ø�dÔ'Ð'Ð'Ø× Ò Ð!5¸Ñ!;À5Ð ÑIÔIÐIÐIÐIà%(ˆDÔ˜cÑ"Ð"Ð"r   c                 ó*   — t          | j        ¦  «        S r   )Úiterrq   r"   s    r   Ú__iter__zNumpyDocString.__iter__¢   s   € Ý�DÔ%Ñ&Ô&Ð&r   c                 ó*   — t          | j        ¦  «        S r   )r.   rq   r"   s    r   Ú__len__zNumpyDocString.__len__¥   s   € Ý�4Ô$Ñ%Ô%Ð%r   c                 óÚ  — | j                              ¦   «          | j                              ¦   «         rdS | j                              ¦   «                              ¦   «         }|                     d¦  «        rdS | j                              d¦  «                             ¦   «         }|                     dt          |¦  «        z  ¦  «        p$|                     dt          |¦  «        z  ¦  «        S )NFú
.. index::Tr$   ú-ú=)rm   r+   r&   r@   r
   Ú
startswithr.   )r   Úl1Úl2s      r   Ú_is_at_sectionzNumpyDocString._is_at_section¨   s¹   € ØŒ	×*Ò*Ñ,Ô,Ð,àŒ9�=Š=‰?Œ?ð 	Ø�5àŒY�^Š^ÑÔ×#Ò#Ñ%Ô%ˆà�=Š=˜Ñ&Ô&ð 	Ø�4àŒY�^Š^˜AÑÔ×$Ò$Ñ&Ô&ˆØ�}Š}˜S¥ R¡¤™[Ñ)Ô)ÐG¨R¯]ª]¸3½sÀ2¹w¼w¹;Ñ-GÔ-GÐGr   c                 óü   — d}d}t          |¦  «        D ]\  }}|                     ¦   «         r nŒt          |d d d…         ¦  «        D ]\  }}|                     ¦   «         r nŒ||t          |¦  «        |z
  …         S )Nr   r   )Ú	enumerater
   r.   )r   ÚdocÚiÚjr2   s        r   Ú_stripzNumpyDocString._strip¶   s›   € ØˆØˆÝ  ‘~”~ð 	ð 	‰GˆAˆtØ�zŠz‰|Œ|ð Ø�ðõ !  T T r T¤Ñ+Ô+ð 	ð 	‰GˆAˆtØ�zŠz‰|Œ|ð Ø�ðð �1•S˜‘X”X˜a‘Z�<Ô Ð r   c                 óˆ  — | j                              ¦   «         }|                      ¦   «         s”| j                              ¦   «         s{| j                              d¦  «                             ¦   «         s|dgz  }|| j                              ¦   «         z  }|                      ¦   «         s| j                              ¦   «         ¯{|S )Nr   r%   )rm   r8   rŠ   r&   r@   r
   )r   Úsections     r   Ú_read_to_next_sectionz$NumpyDocString._read_to_next_sectionÃ   s­   € Ø”)×3Ò3Ñ5Ô5ˆà×%Ò%Ñ'Ô'ð 	;°´	·²±´ð 	;Ø”9—>’> "Ñ%Ô%×+Ò+Ñ-Ô-ð  Ø˜B˜4‘�à�t”y×8Ò8Ñ:Ô:Ñ:ˆGð	 ×%Ò%Ñ'Ô'ð 	;°´	·²±´ð 	;ð ˆr   c              #   ó’  K  — | j                              ¦   «         s«|                      ¦   «         }|d                              ¦   «         }|                     d¦  «        r||dd …         fV — n>t          |¦  «        dk     r
t          V — n!||                      |dd …         ¦  «        fV — | j                              ¦   «         ¯©d S d S )Nr   ú..r$   é   )rm   r&   r“   r
   r‡   r.   ÚStopIterationr�   )r   r   rR   s      r   Ú_read_sectionszNumpyDocString._read_sectionsÎ   sÔ   è è € Ø”)—-’-‘/”/ð 		2Ø×-Ò-Ñ/Ô/ˆDØ˜”7—=’=‘?”?ˆDà�Š˜tÑ$Ô$ð 2Ø˜D   œH�nÐ$Ð$Ð$Ð$Ý�T‘”˜Q’�Ý#Ð#Ð#Ð#Ð#à˜DŸKšK¨¨Q¨R¨R¬Ñ1Ô1Ð1Ð1Ð1Ð1ð ”)—-’-‘/”/ð 		2ð 		2ð 		2ð 		2ð 		2r   Fc                 óÐ  — t          |¦  «        }g }|                     ¦   «         sÀ|                     ¦   «                              ¦   «         }d|v r!|                     d¦  «        d d…         \  }}n|rd|}}n|d}}|                     ¦   «         }t          |¦  «        }t          |¦  «        }|                     t          |||¦  «        ¦  «         |                     ¦   «         ¯À|S )Nú : r–   r%   )
r   r&   r(   r
   r   r=   Údedent_linesr   ÚappendrQ   )	r   ÚcontentÚsingle_element_is_typeÚrÚparamsÚheaderÚarg_nameÚarg_typerT   s	            r   Ú_parse_param_listz NumpyDocString._parse_param_listÚ   sá   € Ý�7‰OŒOˆØˆØ—%’%‘'”'ð 	?Ø—V’V‘X”X—^’^Ñ%Ô%ˆFØ˜ˆˆØ%+§\¢\°%Ñ%8Ô%8¸¸!¸Ô%<Ñ"�˜(˜(à)ð 4Ø)+¨V˜h�H�Hà)/°˜h�Hà×1Ò1Ñ3Ô3ˆDÝ Ñ%Ô%ˆDÝ$ TÑ*Ô*ˆDà�MŠM�) H¨h¸Ñ=Ô=Ñ>Ô>Ð>ð —%’%‘'”'ð 	?ð  ˆr   z:(?P<role>\w+):z'`(?P<name>(?:~\w+\.)?[a-zA-Z0-9_\.-]+)`z(?P<name2>[a-zA-Z0-9_\.-]+)ú(ú|ú)ÚroleÚrolenextrR   Únamenextz/(?P<description>\s*:(\s+(?P<desc>\S+.*))?)?\s*$z^\s*z\s*z^\s*(?P<allfuncs>z(?P<morefuncs>([,]\s+z)*)z(?P<trailing>[,\.])?r•   c                 óˆ  ‡ — g }ˆ fd„}g }|D �]³}|                      ¦   «         sŒ‰ j                             |¦  «        }d}|r[|                     d¦  «        }|                     d¦  «        r1|r/‰                      d|                     d¦  «        |fz  d¬¦  «         |s=|                     d¦  «        r(|                     |                      ¦   «         ¦  «         ŒÐ|rÑg }|                     d	¦  «        }		 |	                      ¦   «         snm ||	¦  «        \  }
}}|                     |
|f¦  «         |	|d…                               ¦   «         }	|	r(|	d         dk    r|	dd…                               ¦   «         }	Œ‚t          t          d|g¦  «        ¦  «        }|                     ||f¦  «         �Œ£t          d|z  ¦  «        ‚|S )zµ
        func_name : Descriptive text
            continued text
        another_func_name : Descriptive text
        func_name1, func_name2, :meth:`func_name`, func_name3

        c                 ó  •— ‰j                              | ¦  «        }|st          d| z  ¦  «        ‚|                     d¦  «        }|r|                     d¦  «        n|                     d¦  «        }|||                     ¦   «         fS )zMatch ':role:`name`' or 'name'.ú%s is not a item namer¨   rR   Úname2)Ú	_func_rgxÚmatchrI   ÚgroupÚend)ÚtextÚmr¨   rR   r   s       €r   Úparse_item_namez7NumpyDocString._parse_see_also.<locals>.parse_item_name  s}   ø€ à”×$Ò$ TÑ*Ô*ˆAØð AÝ Ð!8¸4Ñ!?Ñ@Ô@Ð@Ø—7’7˜6‘?”?ˆDØ&*Ð@�1—7’7˜6‘?”?�?°·²¸Ñ0@Ô0@ˆDØ˜˜qŸušu™wœwÐ&Ð&r   NrT   ÚtrailingzGUnexpected comma or period after function list at index %d of line "%s"Fry   ú ÚallfuncsTr   ú,r$   r­   )r
   Ú	_line_rgxr°   r±   r{   r²   r‡   rœ   r   ÚfilterrI   )r   r�   Úitemsrµ   Úrestr2   Ú
line_matchÚdescriptionÚfuncsr³   rR   r¨   Ú	match_ends   `            r   Ú_parse_see_alsozNumpyDocString._parse_see_also  s  ø€ ð ˆð	'ð 	'ð 	'ð 	'ð 	'ð ˆØð 	Añ 	AˆDØ—:’:‘<”<ð Øàœ×-Ò-¨dÑ3Ô3ˆJØˆKØð %Ø(×.Ò.¨vÑ6Ô6�Ø×#Ò# JÑ/Ô/ð %°Kð %Ø×(Ò(ð0Ø3=·>²>À*Ñ3MÔ3MØ37ð39ñ9ð $ð	 )ñ %ô %ð %ð
 ð A 4§?¢?°3Ñ#7Ô#7ð AØ—’˜DŸJšJ™LœLÑ)Ô)Ð)Ð)Øð AØ�Ø!×'Ò'¨
Ñ3Ô3�ð0ØŸ:š:™<œ<ð ØØ,;¨O¸DÑ,AÔ,AÑ)�D˜$ 	Ø—L’L $¨ Ñ.Ô.Ð.Ø 	 
 
Ô+×1Ò1Ñ3Ô3�DØð 0  Q¤¨3¢ Ø# A B BœxŸ~š~Ñ/Ô/˜ð0õ �F 4¨+¨Ñ7Ô7Ñ8Ô8�Ø—’˜e T˜]Ñ+Ô+Ð+Ñ+å Ð!8¸4Ñ!?Ñ@Ô@Ð@Øˆr   c                 ón  — d„ }i }|                      d¦  «        }t          |¦  «        dk    r- ||d                               d¦  «        ¦  «        d         |d<   |D ]W}|                      d¦  «        }t          |¦  «        dk    r- ||d                               d¦  «        ¦  «        ||d         <   ŒX|S )	zU
        .. index:: default
           :refguide: something, else, and more

        c                 ó   — d„ | D ¦   «         S )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rG   r	   ©Ú.0Úss     r   ú
<listcomp>zFNumpyDocString._parse_index.<locals>.strip_each_in.<locals>.<listcomp>Q  s    € Ð+Ð+Ð+ !�A—G’G‘I”IÐ+Ð+Ð+r   rG   )Úlsts    r   Ústrip_each_inz2NumpyDocString._parse_index.<locals>.strip_each_inP  s   € Ø+Ð+ sÐ+Ñ+Ô+Ð+r   z::r$   r¹   r   Údefaultú:r–   )r   r.   )r   r’   r�   rË   r'   r2   s         r   Ú_parse_indexzNumpyDocString._parse_indexJ  sÀ   € ð	,ð 	,ð 	,ð ˆØ—-’- Ñ%Ô%ˆÝˆw‰<Œ<˜!ÒÐØ*˜]¨7°1¬:×+;Ò+;¸CÑ+@Ô+@ÑAÔAÀ!ÔDˆC�	‰NØð 	Að 	AˆDØ—:’:˜c‘?”?ˆDÝ�4‰yŒy˜1Š}ˆ}Ø,˜}¨T°!¬W¯]ª]¸3Ñ-?Ô-?Ñ@Ô@��D˜”G‘øØˆ
r   c                 ó¸  — |                       ¦   «         rdS 	 | j                             ¦   «         }d                     d„ |D ¦   «         ¦  «                             ¦   «         }t          j        d¦  «        }|                     |¦  «        r|| d<   |                       ¦   «         sŒŽ	 |�|| d<   |                       ¦   «         s|                      ¦   «         | d<   dS dS )	z%Grab signature (if given) and summaryNTr·   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rG   r	   rÆ   s     r   rÉ   z1NumpyDocString._parse_summary.<locals>.<listcomp>e  s    € Ð#?Ð#?Ð#?°! A§G¢G¡I¤IÐ#?Ð#?Ð#?r   z^([\w., ]+=)?\s*[\w\.]+\(.*\)$rW   rX   rY   )	rŠ   rm   r8   rB   r
   ÚreÚcompiler°   r“   )r   ÚsummaryÚsummary_strÚcompileds       r   Ú_parse_summaryzNumpyDocString._parse_summary]  sô   € à×ÒÑ Ô ð 	ØˆFð	Ø”i×7Ò7Ñ9Ô9ˆGØŸ(š(Ð#?Ð#?°wÐ#?Ñ#?Ô#?Ñ@Ô@×FÒFÑHÔHˆKÝ”zÐ"CÑDÔDˆHØ�~Š~˜kÑ*Ô*ð Ø$/��[Ñ!Ø×*Ò*Ñ,Ô,ð ØØàÐØ%ˆD�‰Oà×"Ò"Ñ$Ô$ð 	DØ'+×'AÒ'AÑ'CÔ'CˆDÐ#Ñ$Ð$Ð$ð	Dð 	Dr   c                 óB  — | j                              ¦   «          |                      ¦   «          t          |                      ¦   «         ¦  «        }d„ |D ¦   «         }d|v }d|v }|r|rd}t          |¦  «        ‚|sd|v rd}t          |¦  «        ‚|D �]\  }}|                     d¦  «        sad„ |                     d	¦  «        D ¦   «         }d	                     |¦  «        }|  	                    |¦  «        r|  
                    d
|z  ¦  «         |dv r|                      |¦  «        | |<   Œ™|dv r|                      |d¬¦  «        | |<   Œ¸|                     d¦  «        r|                      ||¦  «        | d<   Œç|dk    r|                      |¦  «        | d<   �Œ|| |<   �Œd S )Nc                 ó   — h | ]\  }}|’ŒS rG   rG   )rÇ   r’   r�   s      r   ú	<setcomp>z(NumpyDocString._parse.<locals>.<setcomp>x  s   € ÐBÐBÐBÑ%5 W¨g˜ÐBÐBÐBr   r[   r\   z5Docstring contains both a Returns and Yields section.r]   z5Docstring contains a Receives section but not Yields.r•   c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r   )Ú
capitalizerÆ   s     r   ú	<genexpr>z(NumpyDocString._parse.<locals>.<genexpr>†  s*   è è € ÐFÐF¨a˜1Ÿ<š<™>œ>ÐFÐFÐFÐFÐFÐFr   r·   zThe section %s appears twice)rZ   r`   ra   rb   )r[   r\   r^   r_   r]   T)rž   r„   rh   rc   )rm   r   rÖ   r   r˜   Ú
ValueErrorr‡   r   rB   Úgetr{   r¤   rÎ   rÂ   )r   rp   Úsection_namesÚhas_returnsÚ
has_yieldsÚmsgr’   r�   s           r   rr   zNumpyDocString._parses  s
  € ØŒ	�ŠÑÔÐØ×ÒÑÔÐå˜×+Ò+Ñ-Ô-Ñ.Ô.ˆØBÐB¸ÐBÑBÔBˆà =Ð0ˆØ Ð.ˆ
àð 	"˜:ð 	"ØIˆCÝ˜S‘/”/Ð!Øð 	"˜j¨MÐ9Ð9ØIˆCÝ˜S‘/”/Ð!à"*ð 	(ñ 	(ÑˆW�gØ×%Ò% dÑ+Ô+ð 4ØFÐF°7·=²=ÀÑ3EÔ3EÐFÑFÔF�ØŸ(š( 7Ñ+Ô+�Ø—8’8˜GÑ$Ô$ð 4Ø×(Ò(Ð)GØ+2ñ*3ñ 4ô 4ð 4ð ð &ð &ð &à $× 6Ò 6°wÑ ?Ô ?��W‘�Øð )ð )ð )à $× 6Ò 6Ø°Dð !7ñ !:ô !:��W‘�à×#Ò# LÑ1Ô1ð (Ø $× 1Ò 1°'¸7Ñ CÔ C��W‘�Ø˜JÒ&Ð&Ø#'×#7Ò#7¸Ñ#@Ô#@��ZÑ Ñ à '��W‘‘ð)	(ð 	(r   Tc                 óæ   — t          | d¦  «        r>	 t          j        | j        ¦  «        }n# t          $ r d }Y nw xY w|d| j        › d|› d�z   }|rt          |¦  «        ‚t          |d¬¦  «         d S )NÚ_objz in the docstring of rL   ú.é   )Ú
stacklevel)rN   ÚinspectÚgetsourcefilerä   Ú	TypeErrorrÝ   r   )r   râ   rz   Úfilenames       r   r{   zNumpyDocString._error_locationš  sŸ   € Ý�4˜Ñ Ô ð 	Mð Ý"Ô0°´Ñ;Ô;��øÝð  ð  ð  Ø���ð øøøàÐK°´ÐKÐKÀÐKÐKÐKÑLˆCØð 	$Ý˜S‘/”/Ð!å� Ð#Ñ#Ô#Ð#Ð#Ð#s   ’, ¬;º;r…   c                 ó*   — |t          |¦  «        |z  gS r   ©r.   )r   rR   Úsymbols      r   Ú_str_headerzNumpyDocString._str_header©  s   € Ø•c˜$‘i”i Ñ&Ð'Ð'r   é   c                 ó,   — g }|D ]}|d|z  |z   gz  }Œ|S )Nr·   rG   )r   r�   Úindentr'   r2   s        r   Ú_str_indentzNumpyDocString._str_indent¬  s3   € ØˆØð 	'ð 	'ˆDØ�C˜‘J Ñ%Ð&Ñ&ˆCˆCØˆ
r   c                 óZ   — | d         r!| d                               dd¦  «        gdgz   S dgS )NrW   Ú*z\*r%   )Úreplacer"   s    r   Ú_str_signaturezNumpyDocString._str_signature²  s;   € Ø�Ôð 	Ø˜Ô%×-Ò-¨c°5Ñ9Ô9Ð:¸b¸TÑAÐAà�4ˆKr   c                 ó.   — | d         r| d         dgz   S g S )NrX   r%   rG   r"   s    r   Ú_str_summaryzNumpyDocString._str_summary¸  s$   € Ø�	Œ?ð 	Ø˜	”? b TÑ)Ð)àˆIr   c                 ó.   — | d         r| d         dgz   S g S )NrY   r%   rG   r"   s    r   Ú_str_extended_summaryz$NumpyDocString._str_extended_summary¾  s(   € ØÐ"Ô#ð 	ØÐ*Ô+¨r¨dÑ2Ð2àˆIr   c                 óÆ  — g }| |         rÖ||                       |¦  «        z  }| |         D ]¯}g }|j        r|                     |j        ¦  «         |j        r|                     |j        ¦  «         |d                     |¦  «        gz  }|j        rId                     |j        ¦  «                             ¦   «         r||                      |j        ¦  «        z  }Œ°|dgz  }|S )Nrš   r%   )rï   rR   rœ   rS   rB   rT   r
   ró   )r   rR   r'   ÚparamÚpartss        r   Ú_str_param_listzNumpyDocString._str_param_listÄ  sî   € ØˆØ�Œ:ð 	Ø�4×#Ò# DÑ)Ô)Ñ)ˆCØ˜dœð 8ð 8�Ø�Ø”:ð -Ø—L’L ¤Ñ,Ô,Ð,Ø”:ð -Ø—L’L ¤Ñ,Ô,Ð,Ø˜Ÿ
š
 5Ñ)Ô)Ð*Ñ*�Ø”:ð 8 "§'¢'¨%¬*Ñ"5Ô"5×";Ò";Ñ"=Ô"=ð 8Ø˜4×+Ò+¨E¬JÑ7Ô7Ñ7�CøØ�B�4‰KˆCØˆ
r   c                 ól   — g }| |         r)||                       |¦  «        z  }|| |         z  }|dgz  }|S r?   )rï   )r   rR   r'   s      r   Ú_str_sectionzNumpyDocString._str_sectionÔ  sI   € ØˆØ�Œ:ð 	Ø�4×#Ò# DÑ)Ô)Ñ)ˆCØ�4˜”:ÑˆCØ�B�4‰KˆCØˆ
r   c                 ó  — | d         sg S g }||                       d¦  «        z  }|dgz  }d}| d         D ]Ä\  }}t          |t          ¦  «        sJ ‚g }|D ]7\  }}|r
d|› d|› d�}	n|r
d|› d|› d�}	nd|z  }	|                     |	¦  «         Œ8d                     |¦  «        }	||	gz  }|r/||                      d	                     |¦  «        g¦  «        z  }d}Œ¤d
}||                      | j        g¦  «        z  }ŒÅ|r|dgz  }|dgz  }|S )Nrc   r%   TrÍ   z:`ú`z`%s`_ú, r·   F)rï   r   r   rœ   rB   ró   Úempty_description)
r   Ú	func_roler'   Úlast_had_descrÀ   rT   ÚlinksÚfuncr¨   Úlinks
             r   Ú_str_see_alsozNumpyDocString._str_see_alsoÜ  s„  € Ø�JÔð 	ØˆIØˆØˆt×Ò 
Ñ+Ô+Ñ+ˆØ�ˆt‰ˆØˆØ 
Ô+ð 	Bð 	B‰KˆE�4Ý˜e¥TÑ*Ô*Ð*Ð*Ð*ØˆEØ#ð #ð #‘
��dØð *Ø.˜tÐ.Ð. tÐ.Ð.Ð.�D�DØð *Ø3˜yÐ3Ð3¨DÐ3Ð3Ð3�D�Dà" T™>�DØ—’˜TÑ"Ô"Ð"Ð"Ø—9’9˜UÑ#Ô#ˆDØ�D�6‰MˆCØð BØ�t×'Ò'¨¯ª°$©¬Ð(8Ñ9Ô9Ñ9�Ø $��à %�Ø�t×'Ò'¨Ô)?Ð(@ÑAÔAÑA��àð 	Ø�B�4‰KˆCØ�ˆt‰ˆØˆ
r   c                 ó  — | d         }g }d}|                      dd¦  «        }|rd}|d|z  gz  }|                     ¦   «         D ];\  }}|dk    rŒd}|d                     |d                     |¦  «        ¦  «        gz  }Œ<|r|S dS )	Nrh   FrÌ   r%   Tz.. index:: %sz
   :{}: {}r  )rÞ   r¼   ÚformatrB   )r   Úidxr'   Úoutput_indexÚdefault_indexr’   Ú
referencess          r   Ú
_str_indexzNumpyDocString._str_indexü  sµ   € Ø�7ŒmˆØˆØˆØŸš 	¨2Ñ.Ô.ˆØð 	 ØˆLØ� -Ñ/Ð0Ñ0ˆØ#&§9¢9¡;¤;ð 	Ið 	IÑˆG�ZØ˜)Ò#Ð#ØØˆLØ�L×'Ò'¨°·²¸:Ñ1FÔ1FÑGÔGÐHÑHˆCˆCØð 	ØˆJà�2r   c                 óö  — g }||                       ¦   «         z  }||                      ¦   «         z  }||                      ¦   «         z  }dD ]}||                      |¦  «        z  }Œ||                      d¦  «        z  }||                      |¦  «        z  }dD ]}||                      |¦  «        z  }ŒdD ]}||                      |¦  «        z  }Œ||                      ¦   «         z  }d                     |¦  «        S )N)rZ   r[   r\   r]   r`   r^   r_   re   )rd   rf   rg   )ra   rb   r   )r÷   rù   rû   rÿ   r  r  r  rB   )r   r  r'   Ú
param_listrÈ   s        r   rP   zNumpyDocString.__str__  s  € ØˆØˆt×"Ò"Ñ$Ô$Ñ$ˆØˆt× Ò Ñ"Ô"Ñ"ˆØˆt×)Ò)Ñ+Ô+Ñ+ˆðBð 	4ð 	4ˆJà�4×'Ò'¨
Ñ3Ô3Ñ3ˆCˆCØˆt× Ò  Ñ,Ô,Ñ,ˆØˆt×!Ò! )Ñ,Ô,Ñ,ˆØ4ð 	(ð 	(ˆAØ�4×$Ò$ QÑ'Ô'Ñ'ˆCˆCØ3ð 	4ð 	4ˆJØ�4×'Ò'¨
Ñ3Ô3Ñ3ˆCˆCØˆt�ŠÑ Ô Ñ ˆØ�yŠy˜‰~Œ~Ðr   N)F)T©r…   ©rð   )r%   )*rC   rD   rE   rF   rp   r   r   r}   r€   r‚   rŠ   r�   r“   r˜   r¤   Ú_roleÚ_funcbacktickÚ
_funcplainÚ	_funcnamerö   Ú_funcnamenextÚ_descriptionrÑ   rÒ   r¯   rº   r  rÂ   rÎ   rÖ   rr   r{   rï   ró   r÷   rù   rû   rÿ   r  r  r  rP   rG   r   r   rV   rV   p   s€  € € € € € ðð ðØ�Rðà�B�4ðð 	˜Bðð 	�bð	ð
 	�2ðð 	�"ðð 	�Bðð 	�"ðð 	�ðð 	˜Bðð 	�bðð 	�2ðð 	�Bðð 	�ðð 	�Bðð  	�bð!ð" 	�Bð#ð$ 	�ð%ð €Hð* *,ð ð ð ð ð&ð &ð &ð)ð )ð )ð'ð 'ð 'ð&ð &ð &ðHð Hð Hð!ð !ð !ð	ð 	ð 	ð
2ð 
2ð 
2ðð ð ð ðJ €EØ>€MØ/€JØ�u‘˜}Ñ,¨tÑ3°jÑ@À4ÑG€IØ×%Ò% f¨jÑ9Ô9€MØ!×)Ò)¨&°*Ñ=Ô=€MØE€LØ�”
˜7 YÑ.°Ñ7Ñ8Ô8€IØ�”
ð	àñ	ð 	!ñ	!ð $1ñ	1ð 4:ñ	:ð 	ñ		ð 	 ñ	 ð 	ñ	ñô €Ið Ðð4ð 4ð 4ðlð ð ð&Dð Dð Dð,%(ð %(ð %(ðN$ð $ð $ð $ð(ð (ð (ð (ðð ð ð ðð ð ðð ð ðð ð ðð ð ð ð ð ðð ð ð@ð ð ð$ð ð ð ð ð r   rV   rð   c                 ó‚   ‡— d|z  Š| €‰S |                       d¦  «        }d                     ˆfd„|D ¦   «         ¦  «        S )Nr·   r   c              3   ó"   •K  — | ]	}‰|z   V — Œ
d S r   rG   )rÇ   r   Ú
indent_strs     €r   rÜ   zindent.<locals>.<genexpr>%  s'   øè è € Ð3Ð3¨�Z !‘^Ð3Ð3Ð3Ð3Ð3Ð3r   )r   rB   )Ústrrò   Úlinesr  s      @r   rò   rò      sM   ø€ Ø�V‘€JØ
€{ØÐØ�IŠI�d‰OŒO€EØ�9Š9Ð3Ð3Ð3Ð3¨UÐ3Ñ3Ô3Ñ3Ô3Ð3r   c                 óv   — t          j        d                     | ¦  «        ¦  «                             d¦  «        S )z"Deindent a list of lines maximallyr   )rk   rl   rB   r   )r!  s    r   r›   r›   (  s,   € åŒ?˜4Ÿ9š9 UÑ+Ô+Ñ,Ô,×2Ò2°4Ñ8Ô8Ð8r   r…   c                 ó8   — | dz   |t          | ¦  «        z  z   dz   S rj   rí   )r³   Ústyles     r   r¡   r¡   -  s    € Ø�$‰;˜�s 4™yœy™Ñ(¨4Ñ/Ð/r   c                   ó2   ‡ — e Zd Zddi fd„Zd„ Zˆ fd„Zˆ xZS )ÚFunctionDocr	  Nc                 ó¬   — || _         || _        |€'|€t          d¦  «        ‚t          j        |¦  «        pd}t
                               | ||¦  «         d S )NzNo function or docstring givenr%   )Ú_fr  rÝ   rè   ÚgetdocrV   r   )r   r	  r¨   r�   rs   s        r   r   zFunctionDoc.__init__2  s[   € ØˆŒØˆŒ
àˆ;Øˆ|Ý Ð!AÑBÔBÐBÝ”. Ñ&Ô&Ð,¨"ˆCÝ×Ò  c¨6Ñ2Ô2Ð2Ð2Ð2r   c                 óÌ   — t          | j        d| j        j        ¦  «        }t	          j        | j        ¦  «        r!t          | j        d| j        j        ¦  «        }n| j        }||fS )NrC   Ú__call__)Úgetattrr(  Ú	__class__rC   rè   Úisclassr   )r   Ú	func_namer	  s      r   Úget_funczFunctionDoc.get_func<  sY   € Ý˜DœG Z°´Ô1HÑIÔIˆ	ÝŒ?˜4œ7Ñ#Ô#ð 	Ý˜4œ7 J°´Ô0@ÑAÔAˆDˆDà”7ˆDØ�YˆÐr   c                 óJ  •— d}|                       ¦   «         \  }}dddœ}| j        rR| j        |vrt          d| j        z  ¦  «         |d                     |                     | j        d¦  «        |¦  «        z  }|t          ¦   «                              | j        ¬¦  «        z  }|S )Nr%   ÚfunctionÚmethod)r	  ÚmethzWarning: invalid role %sz.. {}:: {}
    

)r  )r0  r  Úprintr  rÞ   ÚsuperrP   )r   r'   r	  r/  Úrolesr-  s        €r   rP   zFunctionDoc.__str__D  s±   ø€ ØˆàŸ-š-™/œ/‰ˆˆià#Ø!ð#ð #ˆð Œ:ð 	8ØŒz Ð&Ð&ÝÐ0°4´:Ñ=Ñ>Ô>Ð>ØÐ)×0Ò0°·²¸4¼:ÀrÑ1JÔ1JØ-6ñ8ô 8ñ 8ˆCð 	�u‰wŒw�Š¨¬ˆÑ4Ô4Ñ4ˆØˆ
r   )rC   rD   rE   r   r0  rP   Ú__classcell__)r-  s   @r   r&  r&  1  sb   ø€ € € € € Ø"(¨d¸2ð 3ð 3ð 3ð 3ðð ð ðð ð ð ð ð ð ð ð r   r&  c                   óV   — e Zd ZdgZddei fd„Zed„ ¦   «         Zed„ ¦   «         Zd„ Z	dS )ÚClassDocr+  Nr%   c                 ó¢  — t          j        |¦  «        s|�t          d|z  ¦  «        ‚|| _        dt          j        v rddlm} nt          ¦   «         }| 	                    dd¦  «        | _
        |r|                     d¦  «        s|dz  }|| _        |€%|€t          d¦  «        ‚t          j        |¦  «        }t                               | |¦  «         | 	                    d	g ¦  «        }||u rd }| 	                    d
g ¦  «        }| 	                    dd¦  «        r°||ur®d„ }	d| j        fd| j        ffD ]š\  }
}| |
         s‰g }t'          |¦  «        D ]r}||v s|r||vrŒ	 t          j        t)          | j        |¦  «        ¦  «        }|                     t-          |d |	|¦  «        ¦  «        ¦  «         Œc# t.          $ r Y Œow xY w|| |
<   Œ—d S d S d S )Nz$Expected a class or None, but got %rÚsphinxr   )ÚALLÚshow_inherited_class_membersTrå   z&No class or documentation string givenÚmemberszexclude-membersÚshow_class_membersc                 ó2   — | sg S |                       ¦   «         S r   )Ú
splitlines)rÈ   s    r   Úsplitlines_xz'ClassDoc.__init__.<locals>.splitlines_xy  s   € Øð *Ø�IàŸ<š<™>œ>Ð)r   rb   ra   r%   )rè   r.  rÝ   Ú_clsÚsysÚmodulesÚsphinx.ext.autodocr=  ÚobjectrÞ   Úshow_inherited_membersÚendswithÚ_modÚpydocr)  rV   r   ÚmethodsÚ
propertiesÚsortedr,  rœ   rQ   ÚAttributeError)r   Úclsr�   Ú
modulenameÚfunc_docrs   r=  Ú_membersÚ_excluderC  Úfieldr¼   Údoc_listrR   Údoc_items                  r   r   zClassDoc.__init__Z  s\  € åŒ˜sÑ#Ô#ð 	K¨¨ÝÐCÀcÑIÑJÔJÐJØˆŒ	à•s”{Ð"Ð"Ø.Ð.Ð.Ð.Ð.Ð.Ð.å‘(”(ˆCà&,§j¢jØ2°Dñ':ô ':ˆÔ#ð ð 	˜j×1Ò1°#Ñ6Ô6ð 	Ø˜#ÑˆJØˆŒ	àˆ;Øˆ{Ý Ð!IÑJÔJÐJÝ”,˜sÑ#Ô#ˆCå×Ò  cÑ*Ô*Ð*à—:’:˜i¨Ñ,Ô,ˆØ�sˆ?ˆ?ØˆHØ—:’:Ð/°Ñ4Ô4ˆà�:Š:Ð*¨DÑ1Ô1ð 	+°hÀcÐ6IÐ6Ið*ð *ð *ð
 #,¨T¬\Ð!:Ø".°´Ð!@ð!Bð +ð +‘��uà˜E”{ð +Ø!�HÝ & u¡¤ð 	!ð 	!˜Ø  HÐ,Ð,Ø!)ð -Ø.2¸(Ð.BÐ.BØ$ð!Ý',¤|µG¸D¼IÀtÑ4LÔ4LÑ'MÔ'M˜HØ$ŸOšOÝ )¨$°°L°LÀÑ4JÔ4JÑ KÔ KñMô Mð Mð Møå-ð !ð !ð !Ø ˜Dð!øøøà"*�D˜‘Køð)	+ð 	+Ð6IÐ6Ið+ð +s   Å AF5Æ5
GÇGc                 ó`   ‡ — ‰ j         €g S ˆ fd„t          j        ‰ j         ¦  «        D ¦   «         S )Nc                 óª   •— g | ]O\  }}|                      d ¦  «        r	|‰j        v ¯#t          |t          ¦  «        ¯8‰                     |¦  «        ¯M|‘ŒPS ©Ú_)r‡   Úextra_public_methodsr   r   Ú_is_show_member©rÇ   rR   r	  r   s      €r   rÉ   z$ClassDoc.methods.<locals>.<listcomp>’  sp   ø€ ð 5ð 5ð 5™˜˜tØŸš¨Ñ-Ô-ð5à Ô 9Ð9Ð9Ý" 4­Ñ2Ô2ð :à×,Ò,¨TÑ2Ô2ð :ð à9Ð9Ð9r   ©rD  rè   Ú
getmembersr"   s   `r   rM  zClassDoc.methodsŽ  óG   ø€ àŒ9ÐØˆIð5ð 5ð 5ð 5¥wÔ'9¸$¼)Ñ'DÔ'Dð 5ñ 5ô 5ð 	5r   c                 ó`   ‡ — ‰ j         €g S ˆ fd„t          j        ‰ j         ¦  «        D ¦   «         S )Nc                 óÄ   •— g | ]\\  }}|                      d ¦  «        sB|�)t          |t          ¦  «        st          j        |¦  «        ¯E‰                     |¦  «        ¯Z|‘Œ]S r[  )r‡   r   Úpropertyrè   Úisdatadescriptorr^  r_  s      €r   rÉ   z'ClassDoc.properties.<locals>.<listcomp>œ  st   ø€ ð 5ð 5ð 5™˜˜tØŸš¨Ñ,Ô,ð5à�\¥Z°µhÑ%?Ô%?�\ÝÔ-¨dÑ3Ô3ð "à×,Ò,¨TÑ2Ô2ð "ð à!�\�\r   r`  r"   s   `r   rN  zClassDoc.properties˜  rb  r   c                 ó8   — | j         rdS || j        j        vrdS dS )NTF)rI  rD  Ú__dict__)r   rR   s     r   r^  zClassDoc._is_show_member¢  s,   € ØÔ&ð 	Ø�4Ø�t”yÔ)Ð)Ð)Ø�5Øˆtr   )
rC   rD   rE   r]  r&  r   re  rM  rN  r^  rG   r   r   r:  r:  V  s€   € € € € € à&˜<Ðà $°¸kØð2+ð 2+ð 2+ð 2+ðh ð5ð 5ñ „Xð5ð ð5ð 5ñ „Xð5ðð ð ð ð r   r:  r  r  )rF   rè   rk   rÑ   rL  Úwarningsr   Úcollectionsr   Úcollections.abcr   r   rn   rE  r   r   Ú	ExceptionrI   rQ   rV   rò   r›   r¡   r&  r:  rG   r   r   ú<module>rm     sÚ  ððð ð €€€Ø €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø €€€Ø 
€
€
€
ðð ð ðI.ð I.ð I.ð I.ð I.ñ I.ô I.ð I.ðXð ð ð ð �ñ ô ð ð ˆJ�{Ð$<Ð$<Ð$<Ñ=Ô=€	ðmð mð mð mð m�Wñ mô mð mð`4ð 4ð 4ð 4ð9ð 9ð 9ð
0ð 0ð 0ð 0ð"ð "ð "ð "ð "�.ñ "ô "ð "ðJQð Qð Qð Qð Qˆ~ñ Qô Qð Qð Qð Qr   