ó
    Eñiÿ\  ã                   ó&  • S r SSKrSSKrSSKrSSKrSSK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  S r " S S	5      r " S
 S\5      r\" S/ SQ5      r " S S\5      rS r " S S\5      r " S S\5      r " S S\5      rSSS\\\4S jrg)z;Extract reference documentation from the NumPy source tree.é    N)Ú
namedtuple)ÚCallableÚMapping)Úcached_property)Úwarnc                 ó  • U (       a<  U S   R                  5       (       d$  U S	 U (       a  U S   R                  5       (       d  M$  U (       a<  U S   R                  5       (       d$  U S	 U (       a  U S   R                  5       (       d  M$  U $ )z<Remove leading and trailing blank lines from a list of linesr   éÿÿÿÿ©Ústrip)Úls    ÚR/home/mande/repo/quber/.venv/lib/python3.13/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                   ó^   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rSS jrS rSrg)ÚReaderé   zA line-based string reader.c                 óˆ   • [        U[        5      (       a  Xl        OUR                  S5      U l        U R	                  5         g)zK
Parameters
----------
data : str
   String with lines separated by '\n'.

Ú
N)Ú
isinstanceÚlistÚ_strÚsplitÚreset)ÚselfÚdatas     r   Ú__init__ÚReader.__init__   s/   € ô �dœD×!Ñ!Ø�IàŸ
™
 4Ó(ˆDŒIà�
‰
�r   c                 ó    • U R                   U   $ ©N)r   ©r   Úns     r   Ú__getitem__ÚReader.__getitem__+   s   € Ø�y‰y˜‰|Ðr   c                 ó   • SU l         g )Nr   )Ú_l©r   s    r   r   ÚReader.reset.   s	   € Øˆ�r   c                 óx   • U R                  5       (       d%  X R                     nU =R                  S-  sl        U$ g)Né   Ú )Úeofr%   )r   Úouts     r   ÚreadÚReader.read1   s-   € Ø�x‰x�z‰zØ—w‘w‘-ˆCØ�GŠG�q‰L�GØˆJàr   c                 ó†   • X R                   S   H/  nUR                  5       (       a    g U =R                   S-  sl         M1     g ©Nr)   )r%   r   )r   r   s     r   Úseek_next_non_empty_lineÚReader.seek_next_non_empty_line9   s/   € Ø—g‘g�i“ˆAØ�w‰w�y‰yÙà—’˜1‘—ò	 !r   c                 óF   • U R                   [        U R                  5      :¬  $ r   ©r%   Úlenr   r&   s    r   r+   Ú
Reader.eof@   s   € Ø�w‰wœ#˜dŸi™i›.Ñ(Ð(r   c                 óè   • U R                   nXS   H]  nU" U5      (       a  XU R                    s  $ U =R                   S-  sl         U R                  5       (       d  ML  XU R                   S-    s  $    / $ r0   )r%   r+   )r   Úcondition_funcÚstartÚlines       r   Úread_to_conditionÚReader.read_to_conditionC   se   € Ø—‘ˆØ˜“LˆDÙ˜d×#Ñ#Ø D§G¡GÐ,Ò,Ø�GŠG�q‰L�GØ�x‰x�z‹zØ D§G¡G¨a¡KÐ0Ò0ñ !ð ˆ	r   c                 óJ   • U R                  5         S nU R                  U5      $ )Nc                 ó,   • U R                  5       (       + $ r   r
   ©r:   s    r   Úis_emptyÚ0Reader.read_to_next_empty_line.<locals>.is_emptyP   s   € Ø—z‘z“|Ô#Ð#r   )r1   r;   )r   r@   s     r   Úread_to_next_empty_lineÚReader.read_to_next_empty_lineM   s&   € Ø×%Ñ%Ô'ò	$ð ×%Ñ% hÓ/Ð/r   c                 ó*   • S nU R                  U5      $ )Nc                 óz   • U R                  5       =(       a%    [        U R                  5       5      [        U 5      :H  $ r   )r   r5   Úlstripr?   s    r   Úis_unindentedÚ:Reader.read_to_next_unindented_line.<locals>.is_unindentedV   s'   € Ø—:‘:“<×E¤S¨¯©«Ó%7¼3¸t»9Ñ%DÐEr   )r;   )r   rG   s     r   Úread_to_next_unindented_lineÚ#Reader.read_to_next_unindented_lineU   s   € ò	Fð ×%Ñ% mÓ4Ð4r   c                 ór   • U R                   U-   [        U R                  5      :  a  X R                   U-      $ g©Nr*   r4   r    s     r   ÚpeekÚReader.peek[   s.   € Ø�7‰7�Q‰;œ˜TŸY™Y›Ó'ØŸ™ !™Ñ$Ð$àr   c                 ó^   • SR                  U R                  5      R                  5       (       + $ rL   )Újoinr   r   r&   s    r   r@   ÚReader.is_emptya   s!   € Ø—7‘7˜4Ÿ9™9Ó%×+Ñ+Ó-Ô-Ð-r   )r%   r   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r"   r   r-   r1   r+   r;   rB   rI   rM   r@   Ú__static_attributes__© r   r   r   r      s<   † Ù%òòòòòò)òò0ò5ôõ.r   r   c                   ó   • \ rS rSrS rSrg)Ú
ParseErrorée   c                 ój   • U R                   S   n[        U S5      (       a  U SU R                  < 3nU$ )Nr   Ú	docstringú in )ÚargsÚhasattrr]   )r   Úmessages     r   Ú__str__ÚParseError.__str__f   s6   € Ø—)‘)˜A‘,ˆÜ�4˜×%Ñ%Ø ˜	  d§n¡nÑ%7Ð8ˆGØˆr   rX   N)rR   rS   rT   rU   rb   rW   rX   r   r   rZ   rZ   e   s   † õr   rZ   Ú	Parameter)ÚnameÚtypeÚdescc                   óF  • \ rS rSrSr0 SS_SS/_S/ _S/ _S/ _S	/ _S
/ _S/ _S/ _S/ _S/ _S/ _S/ _S/ _S/ _SS_SS_S0 0ErSDS jrS rS rS r	S r
S rS rS rS rSES  jrS!rS"rS#rS$\-   \-   S%-   \-   S&-   r\R)                  S'S(5      r\R)                  S)S*5      rS+r\R0                  " S,\-   S--   5      r\R0                  " S.\-   S/-   \-   S0-   S&-   S1-   \-   5      rS2rS3 rS4 rS5 rS6 r\ S7 5       r!SFS8 jr"SGS9 jr#SHS: jr$S; r%S< r&S= r'S> r(S? r)S@ r*SA r+SISB jr,SCr-g)JÚNumpyDocStringép   z{Parses a numpydoc string to an abstract representation

Instances define a mapping from section title to structured data.

Ú	Signaturer*   ÚSummaryúExtended SummaryÚ
ParametersÚ
AttributesÚMethodsÚReturnsÚYieldsÚReceivesúOther ParametersÚRaisesÚWarnsÚWarningsúSee AlsoÚNotesÚ
ReferencesÚExamplesÚindexNc                 ó  • Un[         R                  " U5      R                  S5      n[        U5      U l        [
        R                  " U R                  5      U l         U R                  5         g ! [         a  nX4l        e S nAff = f)Nr   )ÚtextwrapÚdedentr   r   Ú_docÚcopyÚdeepcopyÚsectionsÚ_parsed_dataÚ_parserZ   r]   )r   r]   ÚconfigÚorig_docstringÚes        r   r   ÚNumpyDocString.__init__Œ   sg   € Ø"ˆÜ—O’O IÓ.×4Ñ4°TÓ:ˆ	ä˜9Ó%ˆŒ	Ü ŸMšM¨$¯-©-Ó8ˆÔð	Ø�K‰K�MøÜó 	Ø(ŒKØûð	ús   ÁA/ Á/
BÁ9B Â Bc                 ó    • U R                   U   $ r   )r„   )r   Úkeys     r   r"   ÚNumpyDocString.__getitem__™   s   € Ø× Ñ  Ñ%Ð%r   c                 óf   • XR                   ;  a  U R                  SU 3SS9  g X R                   U'   g )NzUnknown section F©Úerror)r„   Ú_error_location)r   r‹   Úvals      r   Ú__setitem__ÚNumpyDocString.__setitem__œ   s7   € Ø×'Ñ'Ó'Ø× Ñ Ð#3°C°5Ð!9ÀÐ ÒGà%(×Ñ˜cÒ"r   c                 ó,   • [        U R                  5      $ r   )Úiterr„   r&   s    r   Ú__iter__ÚNumpyDocString.__iter__¢   s   € Ü�D×%Ñ%Ó&Ð&r   c                 ó,   • [        U R                  5      $ r   )r5   r„   r&   s    r   Ú__len__ÚNumpyDocString.__len__¥   s   € Ü�4×$Ñ$Ó%Ð%r   c                 óÄ  • U R                   R                  5         U R                   R                  5       (       a  gU R                   R                  5       R	                  5       nUR                  S5      (       a  gU R                   R                  S5      R	                  5       n[        U5      S:¼  ao  [        U5      S1S14;   a\  [        U5      [        U5      :w  aD  SR                  U R                   R                  S S	 5      S
-   nU R                  SU SU SU 3SS9  UR                  S[        U5      -  5      =(       d    UR                  S[        U5      -  5      $ )NFú
.. index::Tr)   é   Ú-Ú=r   é   z...z'potentially wrong underline length... 
z 
z in 
rŽ   )r€   r1   r+   rM   r   Ú
startswithr5   ÚsetrP   r   r�   )r   Úl1Úl2Úsnips       r   Ú_is_at_sectionÚNumpyDocString._is_at_section¨   s  € Ø�	‰	×*Ñ*Ô,à�9‰9�=‰=�?‰?Øà�Y‰Y�^‰^Ó×#Ñ#Ó%ˆà�=‰=˜×&Ñ&Øà�Y‰Y�^‰^˜AÓ×$Ñ$Ó&ˆÜˆr‹7�a‹<œS ›W¨#¨°°¨Ó6¼CÀ»GÄsÈ2ÃwÓ<NØ—9‘9˜TŸY™YŸ^™^¨B¨QÐ/Ó0°5Ñ8ˆDØ× Ñ Ø:¸2¸$¸cÀ"ÀÀVÈDÈ6ÐRØð !ñ ð �}‰}˜S¤3 r£7™]Ó+×K¨r¯}©}¸SÄ3ÀrÃ7¹]Ó/KÐKr   c                 óâ   • SnSn[        U5       H  u  p$UR                  5       (       d  M    O   [        US S S2   5       H  u  p4UR                  5       (       d  M    O   X[        U5      U-
   $ )Nr   r	   )Ú	enumerater   r5   )r   ÚdocÚiÚjr:   s        r   Ú_stripÚNumpyDocString._strip¼   sh   € ØˆØˆÜ  –~‰GˆAØ�z‰z�|‹|Ùñ &ô ! ¡T r T¡Ö+‰GˆAØ�z‰z�|‹|Ùñ ,ð ”s˜3“x !‘|Ð$Ð$r   c                 ó®  • U R                   R                  5       nU R                  5       (       d¥  U R                   R                  5       (       d†  U R                   R	                  S5      R                  5       (       d  US/-  nXR                   R                  5       -  nU R                  5       (       d!  U R                   R                  5       (       d  M†  U$ )Nr	   r*   )r€   rB   r¦   r+   rM   r   )r   Úsections     r   Ú_read_to_next_sectionÚ$NumpyDocString._read_to_next_sectionÉ   s“   € Ø—)‘)×3Ñ3Ó5ˆà×%Ñ%×'Ñ'°·	±	·±·±Ø—9‘9—>‘> "Ó%×+Ñ+×-Ñ-Ø˜B˜4‘�à—y‘y×8Ñ8Ó:Ñ:ˆGð	 ×%Ñ%×'Ñ'°·	±	·±·³ð ˆr   c              #   óp  #   • U R                   R                  5       (       d“  U R                  5       nUS   R                  5       nUR	                  S5      (       a	  X!SS  4v •  O/[        U5      S:  a	  [        v •  OX R                  USS  5      4v •  U R                   R                  5       (       d  M’  g g 7f)Nr   ú..r)   r    )r€   r+   r±   r   r¡   r5   ÚStopIterationr­   )r   r   re   s      r   Ú_read_sectionsÚNumpyDocString._read_sectionsÔ   sˆ   é € Ø—)‘)—-‘-—/‘/Ø×-Ñ-Ó/ˆDØ˜‘7—=‘=“?ˆDà�‰˜t×$Ñ$Ø  ˜H�nÓ$Ü�T“˜Q“Ü#Ó#àŸK™K¨¨Q¨R¨Ó1Ð1Ò1ð —)‘)—-‘-—/•/ùs   ‚B0B6Â4B6c                 óÐ  • [        U5      n[        U5      n/ nUR                  5       (       d¸  UR                  5       R	                  5       nSU;   a  UR                  SSS9u  pgO)UR                  S5      (       a  US S nU(       a  SUpvOUSpvUR                  5       n[        U5      n[        U5      nUR                  [        XgU5      5        UR                  5       (       d  M¸  U$ )Nú : r)   )Úmaxsplitz :éþÿÿÿr*   )Údedent_linesr   r+   r-   r   r   ÚendswithrI   r   Úappendrd   )	r   ÚcontentÚsingle_element_is_typeÚrÚparamsÚheaderÚarg_nameÚarg_typerg   s	            r   Ú_parse_param_listÚ NumpyDocString._parse_param_listà   sË   € Ü˜wÓ'ˆÜ�7‹OˆØˆØ—%‘%—'‘'Ø—V‘V“X—^‘^Ó%ˆFØ˜‹Ø%+§\¡\°%À! \Ð%DÑ"�˜(ð
 —?‘? 4×(Ñ(Ø# C R˜[�FÞ)Ø)+¨V™hà)/°˜hà×1Ñ1Ó3ˆDÜ Ó%ˆDÜ$ TÓ*ˆDà�M‰Mœ) H¸Ó=Ô>ð' —%‘%—'“'ð* ˆr   z:(?P<role>(py:)?\w+):z'`(?P<name>(?:~\w+\.)?[a-zA-Z0-9_\.-]+)`z(?P<name2>[a-zA-Z0-9_\.-]+)Ú(Ú|Ú)ÚroleÚrolenextre   Ú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                 ól  ^ ^• [        U5      n/ nUU 4S jn/ nU GH”  mTR                  5       (       d  M  T R                  R                  T5      nSnU(       aR  UR	                  S5      nUR	                  S5      (       a+  U(       a$  T R                  SUR                  S5      T4-  SS9  U(       d7  TR                  S5      (       a!  UR                  TR                  5       5        MÏ  U(       a©  / nUR	                  S	5      n UR                  5       (       d  OTU" U5      u  pšnUR                  Xš45        X‹S R                  5       nU(       a  US
   S:X  a  USS R                  5       nMj  [        [        SU/5      5      nUR                  Xt45        GM  T R                  ST< 35        GM—     U$ )z�
func_name : Descriptive text
    continued text
another_func_name : Descriptive text
func_name1, func_name2, :meth:`func_name`, func_name3

c                 ó
  >• TR                   R                  U 5      nU(       d  TR                  ST< 35        UR                  S5      nU(       a  UR                  S5      OUR                  S5      nX2UR	                  5       4$ )zMatch ':role:`name`' or 'name'.úError parsing See Also entry rË   re   Úname2)Ú	_func_rgxÚmatchr�   ÚgroupÚend)ÚtextÚmrË   re   r:   r   s       €€r   Úparse_item_nameÚ7NumpyDocString._parse_see_also.<locals>.parse_item_name/  sh   ø€ à—‘×$Ñ$ TÓ*ˆAÞØ×$Ñ$Ð'DÀTÁHÐ%MÔNØ—7‘7˜6“?ˆDÞ&*�1—7‘7˜6”?°·±¸Ó0@ˆDØ˜qŸu™u›wÐ&Ð&r   Nrg   ÚtrailingzGUnexpected comma or period after function list at index %d of line "%s"FrŽ   Ú Úallfuncsr   Ú,r)   rÐ   )r¼   r   Ú	_line_rgxrÓ   rÔ   r�   rÕ   r¡   r¾   r   Úfilter)r   r¿   ÚitemsrØ   ÚrestÚ
line_matchÚdescriptionÚfuncsrÖ   re   rË   Ú	match_endr:   s   `           @r   Ú_parse_see_alsoÚNumpyDocString._parse_see_also"  s‹  ù€ ô ˜wÓ'ˆàˆö	'ð ˆÜˆDØ—:‘:—<‘<ÙàŸ™×-Ñ-¨dÓ3ˆJØˆKÞØ(×.Ñ.¨vÓ6�Ø×#Ñ# J×/Ñ/¶KØ×(Ñ(ð$Ø'1§~¡~°jÓ'AÀ4Ð&HñIà#ð )ñ ö
  4§?¡?°3×#7Ñ#7Ø—‘˜DŸJ™J›LÖ)ÞØ�Ø!×'Ñ'¨
Ó3�ØØŸ:™:Ÿ<™<ØÙ,;¸DÓ,AÑ)�D 	Ø—L‘L $ Ô.Ø 
Ð+×1Ñ1Ó3�DÞ  Q¡¨3£Ø# A B˜xŸ~™~Ó/˜ñ ô œF 4¨+¨Ó7Ó8�Ø—‘˜e˜]×+à×$Ñ$Ð'DÀTÁHÐ%M×Nñ= ð> ˆr   c                 ó$  • S n0 nUR                  S5      n[        U5      S:”  a   U" US   R                  S5      5      S   US'   U HD  nUR                  S5      n[        U5      S:”  d  M%  U" US   R                  S5      5      XES   '   MF     U$ )	z=
.. index:: default
   :refguide: something, else, and more

c                 óL   • U  Vs/ s H  oR                  5       PM     sn$ s  snf r   r
   )ÚlstÚss     r   Ústrip_each_inÚ2NumpyDocString._parse_index.<locals>.strip_each_ina  s   € Ù'*Ó+¢s !—G‘G–I¡sÑ+Ð+ùÒ+s   …!z::r)   rÝ   r   ÚdefaultÚ:r    )r   r5   )r   r°   r¿   rì   r,   r:   s         r   Ú_parse_indexÚNumpyDocString._parse_indexZ  s�   € ò	,ð ˆØ—-‘- Ó%ˆÜˆw‹<˜!ÓÙ*¨7°1©:×+;Ñ+;¸CÓ+@ÓAÀ!ÑDˆC�	‰NÛˆDØ—:‘:˜c“?ˆDÜ�4‹y˜1�}Ù,¨T°!©W¯]©]¸3Ó-?Ó@�˜‘G“ñ ð ˆ
r   c                 óÚ  • U R                  5       (       a  g U R                  R                  5       nSR                  U Vs/ s H  o"R	                  5       PM     sn5      R	                  5       n[
        R                  " S5      nUR                  U5      (       a  X0S'   U R                  5       (       d  MŸ   Ub  XS'   U R                  5       (       d  U R                  5       U S'   ggs  snf )z%Grab signature (if given) and summaryNrÛ   z^([\w., ]+=)?\s*[\w\.]+\(.*\)$rk   rl   rm   )	r¦   r€   rB   rP   r   ÚreÚcompilerÓ   r±   )r   Úsummaryrë   Úsummary_strÚcompileds        r   Ú_parse_summaryÚNumpyDocString._parse_summaryn  sË   € à×Ñ× Ñ Øð Ø—i‘i×7Ñ7Ó9ˆGØŸ(™(±wÓ#?²w°!§G¡G¦I±wÑ#?Ó@×FÑFÓHˆKÜ—z’zÐ"CÓDˆHØ�~‰~˜k×*Ñ*Ø$/�[Ñ!Ø×*Ñ*×,Ñ,ÙØàÑØ%�‰Oà×"Ñ"×$Ñ$Ø'+×'AÑ'AÓ'CˆDÐ#Ò$ð %ùò $@s   ÁC(c           	      ó@  • U R                   R                  5         U R                  5         [        U R	                  5       5      nU VVs1 s H  u  p#UiM	     nnnSU;   nU(       d  SU;   a  Sn[        U5      eU GH  u  p#UR                  S5      (       d{  S UR                  S5       5       nSR                  U5      nU R                  U5      (       a<  U R                  SU< SS	R                  U R                   R                  5      < 35        US
;   a  U R                  U5      X'   M²  US;   a  U R                  USS9X'   MÌ  UR                  S5      (       a  U R                  X#5      U S'   Mø  US:X  a  U R                  U5      U S'   GM  X0U'   GM     g s  snnf )Nrr   rs   z5Docstring contains a Receives section but not Yields.r´   c              3   ó@   #   • U  H  oR                  5       v •  M     g 7fr   )Ú
capitalize)Ú.0rë   s     r   Ú	<genexpr>Ú(NumpyDocString._parse.<locals>.<genexpr>“  s   é € ÐFÒ3E¨aŸ<™<Ÿ>˜>Ò3Eùs   ‚rÛ   zThe section z appears twice in  r   )rn   rt   ro   rp   )rq   rr   ru   rv   rs   T)rÀ   rœ   r|   rx   )r€   r   rø   r   r¶   Ú
ValueErrorr¡   r   rP   Úgetr�   r   rÆ   rð   ræ   )r   rƒ   r°   r¿   Úsection_namesÚ
has_yieldsÚmsgs          r   r…   ÚNumpyDocString._parse„  ss  € Ø�	‰	�‰ÔØ×ÑÔä˜×+Ñ+Ó-Ó.ˆÙ9AÔBºÑ%5 W›¹ˆÑBà Ñ.ˆ
æ˜j¨MÓ9ØIˆCÜ˜S“/Ð!ä (ÑˆGØ×%Ñ% d×+Ñ+ÙF°7·=±=ÀÔ3EÓF�ØŸ(™( 7Ó+�Ø—8‘8˜G×$Ñ$Ø×(Ò(ã" D§I¡I¨d¯i©i¯n©nÕ$=ð?ôð
 ÐUÓUØ $× 6Ñ 6°wÓ ?�“ØÐPÓPØ $× 6Ñ 6Ø°Dð !7ð !�“ð ×#Ñ# L×1Ñ1Ø $× 1Ñ 1°'Ó C��W“Ø˜JÓ&Ø#'×#7Ñ#7¸Ó#@��ZÔ à '�W”ò+ !)ùó Cs   Á	Fc                 óx   • [        U S5      (       a  U R                  $ [        U S5      (       a  U R                  $ g )NÚ_clsÚ_f)r`   r  r  r&   s    r   Ú_objÚNumpyDocString._obj¨  s2   € ä�4˜× Ñ Ø—9‘9ÐÜ�T˜4× Ñ Ø—7‘7ˆNØr   c                 ól  • U R                   by   [        R                  " U R                   5      n[	        U R                   SS 5      nUc"  [	        [	        U R                   SS 5      SS 5      nUb  USU 3-  nX(       a  SU S3OS-  nU(       a  [        U5      e[        USS9  g ! [         a    S n Nƒf = f)	NrR   Ú	__class__z in the docstring of r^   Ú.r*   r�   )Ú
stacklevel)r	  ÚinspectÚgetsourcefileÚ	TypeErrorÚgetattrr   r   )r   r  r�   Úfilenamere   s        r   r�   ÚNumpyDocString._error_location°  s¶   € Ø�9‰9Ñ ð Ü"×0Ò0°·±Ó;�ô
 ˜4Ÿ9™9 j°$Ó7ˆDØ‰|Üœw t§y¡y°+¸tÓDÀjÐRVÓW�ØÑØÐ.¨t¨fÐ5Ñ5�Ø­�T˜(˜ 1Ñ%°rÑ9ˆCÞÜ˜S“/Ð!ä� Ó#øô ó  Ø’ð ús   � B$ Â$B3Â2B3c                 ó"   • U[        U5      U-  /$ r   )r5   )r   re   Úsymbols      r   Ú_str_headerÚNumpyDocString._str_headerÆ  s   € Ø”c˜$“i &Ñ(Ð)Ð)r   c                 ó>   • U Vs/ s H  nSU-  U-   PM     sn$ s  snf )NrÛ   rX   )r   rª   Úindentr:   s       r   Ú_str_indentÚNumpyDocString._str_indentÉ  s#   € Ù03Ó4²¨��f‘˜tÔ#±Ñ4Ð4ùÒ4s   …c                 óP   • U S   (       a  U S   R                  SS5      /S/-   $ S/$ )Nrk   Ú*z\*r*   )Úreplacer&   s    r   Ú_str_signatureÚNumpyDocString._str_signatureÌ  s3   € Ø�×Ø˜Ñ%×-Ñ-¨c°5Ó9Ð:¸b¸TÑAÐAØˆtˆr   c                 ó,   • U S   (       a	  U S   S/-   $ / $ )Nrl   r*   rX   r&   s    r   Ú_str_summaryÚNumpyDocString._str_summaryÑ  s   € Ø�	�?Ø˜	‘? b TÑ)Ð)Øˆ	r   c                 ó,   • U S   (       a	  U S   S/-   $ / $ )Nrm   r*   rX   r&   s    r   Ú_str_extended_summaryÚ$NumpyDocString._str_extended_summaryÖ  s#   € ØÐ"×#ØÐ*Ñ+¨r¨dÑ2Ð2Øˆ	r   c                 ó  • / nX   (       aó  X R                  U5      -  nX    HÒ  n/ nUR                  (       a  UR                  UR                  5        UR                  (       a  UR                  UR                  5        USR	                  U5      /-  nUR
                  (       d  M…  SR	                  UR
                  5      R                  5       (       d  Mµ  X R                  UR
                  5      -  nMÔ     US/-  nU$ )Nr¹   r*   )r  re   r¾   rf   rP   rg   r   r  )r   re   r,   ÚparamÚpartss        r   Ú_str_param_listÚNumpyDocString._str_param_listÛ  sÁ   € ØˆØ�:Ø×#Ñ# DÓ)Ñ)ˆCØœ�Ø�Ø—:—:Ø—L‘L §¡Ô,Ø—:—:Ø—L‘L §¡Ô,Ø˜Ÿ
™
 5Ó)Ð*Ñ*�Ø—:—:‘: "§'¡'¨%¯*©*Ó"5×";Ñ";×"=Ó"=Ø×+Ñ+¨E¯J©JÓ7Ñ7’Cñ $ð �B�4‰KˆCØˆ
r   c                 ó\   • / nX   (       a   X R                  U5      -  nX U   -  nUS/-  nU$ rL   )r  )r   re   r,   s      r   Ú_str_sectionÚNumpyDocString._str_sectionë  s;   € ØˆØ�:Ø×#Ñ# DÓ)Ñ)ˆCØ˜‘:ÑˆCØ�B�4‰KˆCØˆ
r   c                 ó  • U S   (       d  / $ / nX R                  S5      -  nUS/-  nSnU S    HÆ  u  pE[        U[        5      (       d   e/ nU H>  u  pxU(       a
  SU SU S3n	OU(       a
  SU SU S3n	OSU S3n	UR                  U	5        M@     SR	                  U5      n	X)/-  nU(       a'  X R                  S	R	                  U5      /5      -  nSnM¦  S
nX R                  U R                  /5      -  nMÈ     U(       a  US/-  nUS/-  nU$ )Nrx   r*   Trï   z:`Ú`z`_ú, rÛ   F)r  r   r   r¾   rP   r  Úempty_description)
r   Ú	func_roler,   Úlast_had_descrä   rg   ÚlinksÚfuncrË   Úlinks
             r   Ú_str_see_alsoÚNumpyDocString._str_see_alsoó  s3  € Ø�J×ØˆIØˆØ×Ñ 
Ó+Ñ+ˆØ�ˆt‰ˆØˆØ 
Ô+‰KˆEÜ˜e¤T×*Ñ*Ð*Ð*ØˆEÛ#‘
�ÞØ˜t˜f B t f¨AÐ.‘DÞØ˜y˜k¨¨D¨6°Ð3‘Dà˜t˜f B˜<�DØ—‘˜TÖ"ñ $ð —9‘9˜UÓ#ˆDØ�6‰MˆCÞØ×'Ñ'¨¯©°$«Ð(8Ó9Ñ9�Ø $’à %�Ø×'Ñ'¨×)?Ñ)?Ð(@ÓAÑA’ñ% ,ö( Ø�B�4‰KˆCØ�ˆt‰ˆØˆ
r   c                 óì   • U S   n/ nSnUR                  SS5      nU(       a  SnUSU 3/-  nUR                  5        H*  u  pVUS:X  a  M  SnUSU SS	R                  U5       3/-  nM,     U(       a  U$ g)
Nr|   Frî   r*   Tz.. index:: z   :z: r2  )r  rà   rP   )r   Úidxr,   Úoutput_indexÚdefault_indexr°   Ú
referencess          r   Ú
_str_indexÚNumpyDocString._str_index  s•   € Ø�7‰mˆØˆØˆØŸ™ 	¨2Ó.ˆÞØˆLØ�+˜m˜_Ð-Ð.Ñ.ˆØ#&§9¡9¦;ÑˆGØ˜)Ó#ÙØˆLØ�d˜7˜) 2 d§i¡i°
Ó&;Ð%<Ð=Ð>Ñ>ŠCñ	 $/ö
 ØˆJØr   c                 óÒ  • / nX R                  5       -  nX R                  5       -  nX R                  5       -  nX R                  S5      -  nS H  nX R                  U5      -  nM     S H  nX R                  U5      -  nM     X R	                  S5      -  nX R                  U5      -  nS H  nX R	                  U5      -  nM     X R                  5       -  nSR                  U5      $ )Nrn   )ro   rp   )rq   rr   rs   rt   ru   rv   rw   )ry   rz   r{   r   )r   r#  r&  r+  r.  r9  r@  rP   )r   r4  r,   Ú
param_listrë   s        r   rb   ÚNumpyDocString.__str__$  sí   € ØˆØ×"Ñ"Ó$Ñ$ˆØ× Ñ Ó"Ñ"ˆØ×)Ñ)Ó+Ñ+ˆØ×#Ñ# LÓ1Ñ1ˆÛ3ˆJØ×'Ñ'¨
Ó3Ñ3ŠCñ 4ó
ˆJð ×'Ñ'¨
Ó3Ñ3ŠCñ
ð 	× Ñ  Ó,Ñ,ˆØ×!Ñ! )Ó,Ñ,ˆÛ4ˆAØ×$Ñ$ QÓ'Ñ'ŠCñ 5à�‰Ó Ñ ˆØ�y‰y˜‹~Ðr   )r€   r„   r   )F)T)rž   )é   )r*   ).rR   rS   rT   rU   rV   rƒ   r   r"   r’   r–   r™   r¦   r­   r±   r¶   rÆ   Ú_roleÚ_funcbacktickÚ
_funcplainÚ	_funcnamer  Ú_funcnamenextÚ_descriptionró   rô   rÒ   rÞ   r3  ræ   rð   rø   r…   Úpropertyr	  r�   r  r  r   r#  r&  r+  r.  r9  r@  rb   rW   rX   r   r   ri   ri   p   sI  † ñðØ�Rðà�B�4ðð 	˜Bðð 	�bð	ð
 	�bðð 	�2ðð 	�2ðð 	�"ðð 	�Bðð 	˜Bðð 	�"ðð 	�ðð 	�Bðð 	�Bðð 	�ðð  	�bð!ð" 	�Bð#ð$ 	�ñ%€Hô*ò&ò)ò'ò&òLò(%ò	ò
2ôðV %€EØ>€MØ/€JØ�u‘˜}Ñ,¨tÑ3°jÑ@À4ÑG€IØ×%Ñ% f¨jÓ9€MØ!×)Ñ)¨&°*Ó=€MØE€LØ—
’
˜7 YÑ.°Ñ7Ó8€IØ—
’
ð	à
ñ	ð #ñ	#ð ñ		ð
 ñ	ð ñ	ð "ñ	"ð ñ	ó
€Ið Ðò6òpò(Dò,"(ðH ñó ðô$ô,*ô5òò
ò
ò
ò òò@÷"r   ri   c                 ój   • [         R                  " SR                  U 5      5      R                  S5      $ )z"Deindent a list of lines maximallyr   )r~   r   rP   r   )Úliness    r   r¼   r¼   =  s%   € ä�?Š?˜4Ÿ9™9 UÓ+Ó,×2Ñ2°4Ó8Ð8r   c                   ó8   ^ • \ rS rSrSS jrS rU 4S jrSrU =r$ )ÚFunctionDociB  c                 ó²   • Xl         X l        Uc-  Uc  [        S5      e[        R                  " U5      =(       d    SnUc  0 n[
        R                  XU5        g )NzNo function or docstring givenr*   )r  rF  r   r  Úgetdocri   r   )r   r7  rË   rª   r†   s        r   r   ÚFunctionDoc.__init__C  sO   € ØŒØŒ
à‰;Ø‰|Ü Ð!AÓBÐBÜ—.’. Ó&×,¨"ˆCØ‰>ØˆFÜ×Ñ ¨6Õ2r   c                 ó  • [        U R                  SU R                  R                  5      n[        R
                  " U R                  5      (       a.  [        U R                  SU R                  R                  5      nX!4$ U R                  nX!4$ )NrR   Ú__call__)r  r  r  rR   r  Úisclassr   )r   Ú	func_namer7  s      r   Úget_funcÚFunctionDoc.get_funcO  sj   € Ü˜DŸG™G Z°·±×1HÑ1HÓIˆ	Ü�?Š?˜4Ÿ7™7×#Ñ#Ü˜4Ÿ7™7 J°·±×0@Ñ0@ÓAˆDð ˆÐð —7‘7ˆDØˆÐr   c                 ó,  >• SnU R                  5       u  p#SSS.nU R                  (       aN  U R                  U;  a  [        SU R                   35        USUR                  U R                  S5       SU S3-  nU[        TU ]  U R                  S	9-  nU$ )
Nr*   ÚfunctionÚmethod)r7  ÚmethzWarning: invalid role z.. z:: z
    

)r4  )rX  rF  Úprintr  Úsuperrb   )r   r,   r7  rW  Úrolesr  s        €r   rb   ÚFunctionDoc.__str__W  s�   ø€ ØˆàŸ-™-›/‰ˆà#¨XÑ6ˆà�:�:Ø�z‰z Ó&ÜÐ.¨t¯z©z¨lÐ;Ô<Ø�S˜Ÿ™ 4§:¡:¨rÓ2Ð3°3°y°kÀÐLÑLˆCàŒu‰w‰¨¯©ˆÐ4Ñ4ˆØˆ
r   )r  rF  )r7  NN)	rR   rS   rT   rU   r   rX  rb   rW   Ú__classcell__)r  s   @r   rP  rP  B  s   ø† ô
3ò÷ó r   rP  c                   ó   • \ rS rSrSS jrSrg)ÚObjDocig  Nc                 óB   • Xl         Uc  0 n[        R                  XUS9  g )N©r†   )r  ri   r   )r   Úobjrª   r†   s       r   r   ÚObjDoc.__init__h  s$   € ØŒØ‰>ØˆFÜ×Ñ °&ÐÒ9r   )r  )NN)rR   rS   rT   rU   r   rW   rX   r   r   rd  rd  g  s   † ÷:r   rd  c                   ób   • \ rS rSrS/rSS\S4S jr\S 5       r\S 5       r	\
S 5       rS	 rS
rg)ÚClassDocio  rU  Nr*   c                 óº  • [         R                  " U5      (       d  Ub  [        SU< 35      eXl        S[        R
                  ;   a  SSKJn  O
[        5       nUc  0 nUR                  SS5      U l
        U(       a  UR                  S5      (       d  US-  nX0l        Uc$  Uc  [        S5      e[        R                  " U5      n[        R!                  X5        UR                  S	/ 5      nXvL a  S nUR                  S
/ 5      nUR                  SS5      (       a±  X†La¬  S n	SU R"                  4SU R$                  44 Hˆ  u  p«X
   (       a  M  / n['        U5       Hc  nXØ;   d  U(       a  X×;  a  M   [        R                  " [)        U R                  U5      5      nUR+                  [-        USU	" U5      5      5        Me     XÀU
'   MŠ     g g g ! [.         a     M  f = f)Nz"Expected a class or None, but got Úsphinxr   )ÚALLÚshow_inherited_class_membersTr  z&No class or documentation string givenÚmemberszexclude-membersÚshow_class_membersc                 ó4   • U (       d  / $ U R                  5       $ r   )Ú
splitlines)rë   s    r   Úsplitlines_xÚ'ClassDoc.__init__.<locals>.splitlines_x’  s   € ÞØ�IàŸ<™<›>Ð)r   rp   ro   r*   )r  rV  r   r  ÚsysÚmodulesÚsphinx.ext.autodocrm  Úobjectr  Úshow_inherited_membersr½   Ú_modÚpydocrR  ri   r   ÚmethodsÚ
propertiesÚsortedr  r¾   rd   ÚAttributeError)r   Úclsrª   Ú
modulenameÚfunc_docr†   rm  Ú_membersÚ_excluders  Úfieldrà   Údoc_listre   Údoc_items                  r   r   ÚClassDoc.__init__r  s¯  € Ü�Š˜s×#Ñ#¨©ÜÐAÀ#ÁÐIÓJÐJØŒ	à”s—{‘{Ó"Þ.ä“(ˆCà‰>ØˆFØ&,§j¡jÐ1OÐQUÓ&VˆÔ#æ˜j×1Ñ1°#×6Ñ6Ø˜#ÑˆJØŒ	à‰;Ø‰{Ü Ð!IÓJÐJÜ—,’,˜sÓ#ˆCä×Ñ Ô*à—:‘:˜i¨Ó,ˆØŠ?ØˆHØ—:‘:Ð/°Ó4ˆà�:‰:Ð*¨D×1Ñ1°hÒ6Iò*ð ˜DŸL™LÐ)Ø˜tŸ™Ð/ó!‘�ð —{‘{Ø!�HÜ & u¦˜ØÓ+¶¸TÓ=QÙ$ð!Ü',§|¢|´G¸D¿I¹IÀtÓ4LÓ'M˜HØ$ŸO™O¬I°d¸BÁÈXÓ@VÓ,WÖXñ !.ð #+˜“Kò!ð 7JÐ1øô(  .ó !Ú ð!ús   Å1AGÇ
GÇGc                 óB  • U R                   c  / $ [        R                  " U R                   5       VVs/ s H]  u  pUR                  S5      (       a  XR                  ;   d  M,  [        U[        5      (       d  MC  U R                  U5      (       d  M[  UPM_     snn$ s  snnf ©NÚ_)r  r  Ú
getmembersr¡   Úextra_public_methodsr   r   Ú_is_show_member©r   re   r7  s      r   r|  ÚClassDoc.methods¨  s‰   € à�9‰9ÑØˆIô &×0Ò0°·±Ô;ô
â;‘
�à—_‘_ S×)Ñ)¨T×5NÑ5NÑ-Nó ô ˜t¤X×.ó	 ð
 ×(Ñ(¨×.÷ Ù;ò
ð 	
ùó 
s   ³+BÁ"BÁ9BÂBc           	      ó²  • U R                   c  / $ [        R                  " U R                   5       VVs/ s H•  u  pUR                  S5      (       a  M  U R	                  XR                   5      (       a  M?  Ub9  [        U[        [        -  5      (       d  [        R                  " U5      (       d  M{  U R                  U5      (       d  M“  UPM—     snn$ s  snnf rŠ  )
r  r  rŒ  r¡   Ú_should_skip_memberr   rL  r   ÚisdatadescriptorrŽ  r�  s      r   r}  ÚClassDoc.properties¶  s¯   € à�9‰9ÑØˆIô &×0Ò0°·±Ô;ô
â;‘
�à—O‘O C×(ó ð ×0Ñ0°·y±y×Aó	 ð ‘LÜ! $¬´?Ñ(B×CÑCÜ×/Ò/°×5ó ð ×(Ñ(¨×.÷ Ù;ò
ð 	
ùó 
s   ³CÁCÁ58CÂ1CÃ	Cc                 ó˜   • [        U[        5      =(       a4    [        US5      =(       a!    [        US5      =(       a    XR                  ;   $ )NÚ_asdictÚ_fields)Ú
issubclassÚtupler`   r—  )re   Úklasss     r   r’  ÚClassDoc._should_skip_memberÉ  sB   € ô
 �uœeÓ$÷ &Ü˜˜yÓ)÷&ä˜˜yÓ)÷&ð Ÿ™Ñ%ð	
r   c                 óX   • U R                   =(       d    XR                  R                  ;   $ r   )ry  r  Ú__dict__)r   re   s     r   rŽ  ÚClassDoc._is_show_memberÔ  s'   € ð ×'Ñ'÷ *à—y‘y×)Ñ)Ñ)ð		
r   )r  rz  ry  )rR   rS   rT   rU   r�  rP  r   rL  r|  r}  Ústaticmethodr’  rŽ  rW   rX   r   r   rj  rj  o  s[   † Ø&˜<Ðà $°¸kÐRVô 4+ðl ñ
ó ð
ð ñ
ó ð
ð$ ñ
ó ð
õ
r   rj  c                 ó2  • UcV  [         R                  " U 5      (       a  SnO8[         R                  " U 5      (       a  SnO[        U [        5      (       a  SnOSnUc  0 nUS:X  a  U" XX#S9$ US;   a  U" XUS9$ Uc  [
        R                  " U 5      nU" XUS9$ )	NÚclassÚmoduler[  rx  )r‚  rª   r†   )r[  r\  )rª   r†   rf  )r  rV  Úismoduler   r   r{  rR  )rg  Úwhatrª   r†   Ú	class_docr‚  Úobj_docs          r   Úget_doc_objectr§  Ý  sž   € ð �|Ü�?Š?˜3×ÑØ‰DÜ×Ò˜c×"Ñ"Ø‰DÜ˜œX×&Ñ&Ø‰DàˆDØ�~ØˆàˆwƒÙ˜°SÑHÐHØ	Ð'Ó	'Ù˜¨VÑ4Ð4à‰;Ü—,’,˜sÓ#ˆCÙ�s¨Ñ/Ð/r   )rV   r�   r  r{  ró   ru  r~   Úcollectionsr   Úcollections.abcr   r   Ú	functoolsr   Úwarningsr   r   r   Ú	ExceptionrZ   rd   ri   r¼   rP  rd  rj  r§  rX   r   r   Ú<module>r­     s¨   ðá Aã Û Û Û 	Û 
Û Ý "ß -Ý %Ý ò÷I.ñ I.ôX�ô ñ �{Ò$<Ó=€	ôJ�Wô JòZ9ô
"�.ô "ôJ:ˆ^ô :ôk
ˆ~ô k
ð` 
ØØØØØõ0r   