grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U óUñfÌ ã@södgZdZdZdZddlZddlZddlZddlZddl Zddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlmZddlmZddlmZd d „Zd d „Zd d„Zdd„Z dd„Z!dd„Z"dd„Z#e $dej%¡Z&dd„Z'dd„Z(dd„Z)dd„Z*dwd d!„Z+d"d#„Z,d$d%„Z-d&d'„Z.d(d)„Z/ifd*d+„Z0Gd,d-„d-e1ƒZ2d.d/„Z3difd0d1„Z4Gd2d3„d3ƒZ5Gd4d5„d5eƒZ6Gd6d7„d7e5ƒZ7Gd8d9„d9eƒZ8Gd:d;„d;e5ƒZ9Gdd?„a;d@dA„ZdFdG„Z?dHdI„Z@dJdK„ZAdLdM„ZBdNdO„ZCdxdPdQ„ZDe9ƒZEe:ƒZFe7ƒZGdydRdS„ZHdzdUdV„ZId{dWdX„ZJd|dYdZ„ZKd}d\d]„ZLGd^d_„d_ƒZMeMƒZNGd`da„daƒZOdbdc„ZPddde„ZQd~dgdh„ZRddidjdkœdldm„ZSdndo„ZTdpdq„ZUdrds„ZVdtdu„ZWeXdvk�ròeWƒdS)€ÚhelpzKa-Ping Yee z26 February 2001zÔGuido van Rossum, for an excellent programming language. Tommy Burnette, the original creator of manpy. Paul Prescod, for all his work on onlinehelp. Richard Chamberlain, for the first implementation of textdoc. éN)Údeque)ÚRepr)Úformat_exception_onlycCs\g}g}tjD]H}tj |pd¡}tj |¡}||krtj |¡r| |¡| |¡q|S©NÚ.)ÚsysÚpathÚosÚabspathÚnormcaseÚisdirÚappend)ÚdirsZnormdirsÚdirZnormdir©rú*/opt/alt/python38/lib64/python3.8/pydoc.pyÚpathdirsPs    rcCs.t |¡pt |¡}|r*t dd| ¡¡p,dS)Nz^ * Ú)ÚinspectÚgetdocZ getcommentsÚreÚsubÚrstrip)ÚobjectÚresultrrrr\srcCsf| ¡ d¡}t|ƒdkr&|ddfSt|ƒdkrX|d ¡sX|dd |dd…¡fSdd |¡fS)NÚ érré)ÚstripÚsplitÚlenrÚjoin)ÚdocÚlinesrrrÚsplitdocas   r%cCs"|j}|j|kr|jd|}|Sr)Ú__name__Ú __module__)rÚmodnameÚnamerrrÚ classnamejs r*cCs>t |¡p:t |¡p:t |¡p:t |¡p:t |¡p:t |¡ S©N)rÚismoduleÚisclassÚ isroutineZisframeZ istracebackZiscode©rrrrÚisdataqsÿÿþþr0cGs.|r*|d | |d¡¡}|dd…}q|S)Nrrr)r"r )ÚtextZpairsrrrÚreplacewsr2cCsXt|ƒ|krTtd|ddƒ}td|d|ƒ}|d|…d|t|ƒ|d…S|S)Nrérú...)r!Úmax)r1ÚmaxlenZpreZpostrrrÚcram~s  $r7z at 0x[0-9a-f]{6,16}(>+)$cCs t d|¡S)Nz\1)Ú _re_stripidr©r1rrrÚstripid‡sr:cCs<t |¡rdSt |¡r8t|ddƒ}t |¡p4|dk SdS)NTÚ__self__F)rÚismethodÚ isbuiltinÚgetattrr,)ÚfnÚselfrrrÚ_is_bound_methodŒs    rAcCs^i}t |tj¡D]\}}d||<q|jD]}| t|ƒ¡q*| ¡D]}t||ƒ||<qF|S©Nr)rÚ getmembersr.Ú __bases__ÚupdateÚ allmethodsÚkeysr>)ÚclÚmethodsÚkeyÚvalueÚbaserrrrF™s   rFcCs8g}g}|D]"}||ƒr$| |¡q | |¡q ||fSr+©r)ÚsÚ predicateZyesZnoÚxrrrÚ _split_list£s  rQcCs\|dkr dS| d¡r$| d¡r$dS| d¡rr&r'Ú__file__Ú __credits__Ú __cached__Ú __qualname__Ú __package__Ú__path__Ú__spec__Ú __builtins__Ú__doc__Ú __version__Ú __loader__Ú __slots__Ú __author__Ú__date__rÚ__rÚ_Ú_fieldsT)Ú startswithÚendswithÚhasattr)r)ÚallÚobjrrrÚ visiblename´srhcCsXg}t |¡D]D\}}}}t |¡r@d}t|tƒr@|jdkr@d}| ||||f¡q|S)Núdata descriptorúreadonly property)rÚclassify_class_attrsÚisdatadescriptorÚ isinstanceÚpropertyÚfsetr)rÚresultsr)ÚkindÚclsrKrrrrkÈs rkcs\t|dgƒ‰z‡fdd„tˆƒDƒ‰Wntk r>i‰YnX‡fdd„}|j|d�dS)Nrbcsi|]\}}||tˆƒ“qSr)r!)Ú.0Úir))ÚfieldsrrÚ Ùsz#sort_attributes..csˆ |dd¡|dfS©Nr)Úget)Úattr)Ú field_orderrrÚÜóz!sort_attributes..©rJ)r>Ú enumerateÚ TypeErrorÚsort)ÚattrsrZkeyfuncr)rzrurÚsort_attributesÓs   r‚cCs:tj |¡r6dD]$}tj tj |d|¡¡rdSqdS)N)z.pyz.pycÚ__init__TF)r r r Úisfiler")r ÚextrrrÚ ispackageás  r†cCsÀ| ¡}|dd…dks | ¡s0| ¡}|sq0q| ¡}|dd…dkrT|dd…}|dd…dkr¸|dd…}|dd…dkrŒ|dd…}| ¡s¤| ¡}|sŒq¤qŒ| d¡d  ¡}nd}|S) Nrú#ézr"""r3ú"""éÿÿÿÿú\r)Úreadlinerr )ÚfileÚlinerrrrÚsource_synopsisés&   r�c Cs t |¡j}| |d¡\}}|dks.||k�r| ttjjƒ¡rJtjj }n | ttjj ƒ¡rftjj }nd}|dkr²zt   |¡}Wntk r–YdSX|�t|ƒ}W5QRXn^|d|ƒ}tjjd||d�}ztj |¡} WnYdSXtjd=| j�r | j ¡dnd}||f||<|S)N)NNZ__temp__©Úloaderr)r ÚstatÚst_mtimerxrdÚtupleÚ importlibÚ machineryÚBYTECODE_SUFFIXESÚSourcelessFileLoaderÚEXTENSION_SUFFIXESÚExtensionFileLoaderÚtokenizeÚopenÚOSErrorr�ÚutilÚspec_from_file_locationÚ _bootstrapÚ_loadrÚmodulesrZÚ splitlines) ÚfilenameÚcacheÚmtimeZ lastupdaterZ loader_clsr�r‘ÚspecÚmodulerrrÚsynopsisús6     ÿ r©c@seZdZdd„Zdd„ZdS)ÚErrorDuringImportcCs||_|\|_|_|_dSr+)r¤ÚexcrKÚtb)r@r¤Úexc_inforrrrƒ#szErrorDuringImport.__init__cCs|jj}d|j||jfS)Nzproblem in %s - %s: %s)r«r&r¤rK)r@r«rrrÚ__str__'szErrorDuringImport.__str__N)r&r'rUrƒr®rrrrrª!srªc Cs®tjj}t|dƒ�}|| t|ƒ¡k}W5QRXtj |¡}tj  |¡\}}|r`tj   ||¡}ntj   ||¡}tjj |||d�}ztj |¡WSt|t ¡ƒ‚YnXdS)NÚrbr�)r•ržÚ MAGIC_NUMBERrœÚreadr!r r ÚbasenameÚsplitextÚ_bootstrap_externalr˜ÚSourceFileLoaderrŸr r¡rªrr­) r Úmagicr�Z is_bytecoder¤r)r…r‘r§rrrÚ importfile+s  r·c s z^|rTˆtjkrTˆtjkrT‡fdd„tjDƒ}ˆg|D]}tj|||<tj|=q8tˆƒ}Wnzt ¡\}}}} ˆtjkr–ttjˆj| ƒ‚n>|tkr¬t|j| ƒ‚n(t |t ƒrÆ|j ˆkrÆYdStˆt ¡ƒ‚YnXˆ  d¡dd…D].} zt || ƒ}Wqìtk �rYdSXqì|S)Ncsg|]}| ˆd¡r|‘qS)r)rc)rsÚm©r rrÚ Qszsafeimport..rr)rr¢Úbuiltin_module_namesÚ __import__r­rªrRÚ SyntaxErrorr¤Ú issubclassÚ ImportErrorr)r r>ÚAttributeError) r Ú forceloadr¥ZsubsrJr¨r«rKr¬ÚinfoÚpartrr¹rÚ safeimport=s.     rÄc@sfeZdZej ddejdd…¡Zd dd„Z d dd„Z e Z Z Z ZZZe d ¡fd d „ZdS)ÚDocÚ PYTHONDOCSz%https://docs.python.org/%d.%d/libraryNrcGs†||f|}zFt |¡r$|j|ŽWSt |¡r:|j|ŽWSt |¡rP|j|ŽWSWntk rfYnXt |¡r||j |ŽS|j |ŽSr+) rr,Ú docmoduler-Údocclassr.Ú docroutinerÀrlÚdocdataÚdocother)r@rr)ÚargsrrrÚdocumentss     z Doc.documentcGs*d|odt|ƒt|ƒjf}t|ƒ‚dS)Nz.don't know how to document object%s of type %sú )ÚreprÚtyper&r)r@rr)rÌÚmessagerrrÚfailƒs ÿzDoc.failZstdlibcCsÊzt |¡}Wntk r&d}YnXtj d|j¡}tj |¡}t |t tƒƒrÂ|j dksz|  |¡rÂ|  tj  |d¡¡sÂ|j dkrÂ|  d¡r¨d| d¡|j  ¡f}qÆtj  ||j  ¡d ¡}nd}|S) Nú (built-in)rÆ) ÚerrnoÚ exceptionsZgcZimpÚmarshalÚposixÚsignalrÚ_threadZ zipimportz site-packages)z xml.etreeztest.pydoc_mod)zhttp://zhttps://z%s/%sú/ú.html)rÚ getabsfilerr ÚenvironrxrÆr r rmrÐr&rcr"rÚlower)r@rZbasedirr�ÚdoclocrrrÚ getdocloc‹s(  ÿüûú z Doc.getdocloc)N)N)r&r'rUr rÝrxrÚ version_inforÆrÍrÒrÇrÈrÉrËÚ docpropertyrÊÚ sysconfigZget_pathràrrrrrÅms ÿÿ  rÅc@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „ZeZd d „Z eZ d S)ÚHTMLReprcCs,t |¡d|_|_d|_d|_|_dS©Néé éd©rrƒÚmaxlistÚmaxtupleÚmaxdictÚ maxstringÚmaxother©r@rrrrƒ©s  zHTMLRepr.__init__cCst|ddddddƒS)Nú&z&úz>)r2©r@r1rrrÚescape¯szHTMLRepr.escapecCs t ||¡Sr+)rrÏ©r@rrrrrϲsz HTMLRepr.reprcCsZtt|ƒdƒr@dd t|ƒj ¡¡}t||ƒr@t||ƒ||ƒS| ttt |ƒƒ|j ƒ¡S©Nr&Úrepr_ra) rerÐr"r&r r>rôr7r:rÏrî©r@rPÚlevelZ methodnamerrrÚrepr1µs  zHTMLRepr.repr1cCs^t||jƒ}t|ƒ}d|krJdt|ddƒkrJd|d| |¡|dSt dd| |¡¡S)Nr‹ú\\rÚrrz-((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)z\1)r7rírÏr2rôrr©r@rPrùZtestZtestreprrrrÚ repr_string¼s þzHTMLRepr.repr_stringcCs@z| ttt|ƒƒ|jƒ¡WS| d|jj¡YSXdS©Nz <%s instance>)rôr7r:rÏríÚ __class__r&©r@rPrùrrrÚ repr_instanceÉszHTMLRepr.repr_instanceN) r&r'rUrƒrôrÏrúrþÚrepr_strrZ repr_unicoderrrrrä§s räc@süeZdZeƒZejZejZdd„Zd0dd„Zd1d d „Z d d „Z d d„Z d2dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdiiifdd„Zd3d d!„Zd4d"d#„Zddiifd$d%„Zd&d'„Zddiiidfd(d)„Zd5d*d+„ZeZd6d,d-„Zd7d.d/„ZdS)8ÚHTMLDoccCs d||fS)NzÚ Python: %s %s r)r@ÚtitleÚcontentsrrrÚpageÚsúz HTMLDoc.pagercCsd|||||pdfS)Na'
 
 
%s
%s
ú r)r@rÚfgcolÚbgcolZextrasrrrÚheadingäsùzHTMLDoc.headingéNrc Cs^|dkrdd|d}d|||f} |r@| d||||f} n| d|||f} | d|S)NzrzzË

zR z( z'
 
%s
%s %s
%s
%s%s%s
r) r@rr r rÚwidthZpreludeZ marginaliaZgaprrrrÚsectionïsû ýÿzHTMLDoc.sectioncGsd|}|j|f|žŽS)Nz%s)r)r@rrÌrrrÚ bigsectionszHTMLDoc.bigsectionc Cs&| | ¡¡}t|ddddddddƒ S)Nú z rÎrrú
)rôÚ expandtabsr2rórrrÚ preformat s ÿzHTMLDoc.preformatrˆcCs‚d}t|ƒ|d|}t|ƒD]X}|dd|}t|||||ƒD]$}|t|ƒkrJ||||ƒd}qJ|d}q d|S)Nrrzrèrzz7%s
)r!Úrange)r@ÚlistÚformatZcolsrÚrowsÚcolrtrrrÚ multicolumns   zHTMLDoc.multicolumncCsd|S)Nz%srrórrrÚgreyr|z HTMLDoc.greycGs*|D] }||krd|||fSq|S)Nú%sr)r@r)ZdictsÚdictrrrÚnamelinkszHTMLDoc.namelinkcCsN|jtj |j¡}}t||ƒrDt||ƒ|krDd|j|t||ƒfSt||ƒS)Nz%s)r&rr¢rxr'rer>r*)r@rr(r)r¨rrrÚ classlink%sÿzHTMLDoc.classlinkcCsd|j|jfS©Nz%s)r&rõrrrÚ modulelink-szHTMLDoc.modulelinkcCsR|\}}}}|r| |¡S|r,d||f}nd|}|rBd|}n|}d||fS)Nz %s.%s.htmlz%s.htmlz"%s (package)r)r)r@Z modpkginfor)r r†ÚshadowedÚurlr1rrrÚ modpkglink1s   zHTMLDoc.modpkglinkcCs d||fS)Nz%sr)r@r"r rrrÚfilelink@szHTMLDoc.filelinkcCsˆ|p|j}g}d}t d¡}| ||¡} | s0�qh|  ¡\} } | |||| …ƒ¡|  ¡\} } }}}}| rŽ|| ƒ dd¡}| d||f¡nÔ|r¶dt|ƒ}| d||| ƒf¡n¬|rÞdt|ƒ}| d||| ƒf¡n„|�r"|| | d…d k�r| d |  ||¡¡n| d |¡n@|| | d…d k�rP| |  ||||¡¡n| |  ||¡¡| }q| |||d…ƒ¡d   |¡S) NrzD\b((http|ftp)://\S+[\w/]|RFC[- ]?(\d+)|PEP[- ]?(\d+)|(self\.)?(\w+))ú"z"rz'http://www.rfc-editor.org/rfc/rfc%d.txtz(http://www.python.org/dev/peps/pep-%04d/rú(zself.zself.%sr) rôrÚcompileÚsearchÚspanrÚgroupsr2Úintrr")r@r1rôÚfuncsÚclassesrIrpÚhereÚpatternÚmatchÚstartÚendrfZschemeZrfcZpepZselfdotr)r"rrrÚmarkupDs:      zHTMLDoc.markupc Csºd}|D]¨}t|ƒtdƒkrŠ|\}}|d}|| ||¡}|r€||fkr€g}|D]} | | | |¡¡qR|dd |¡d}|d}qt|ƒtgƒkr|d| |||¡}qd |S) Nrrz"

r&ú, ú)z
z
%s
z
%s
)rÐrrr"Ú formattree) r@Útreer(ÚparentrÚentryÚcÚbasesÚparentsrLrrrr6os& ÿ zHTMLDoc.formattreec# s¦|j}z |j}Wntk r(d}YnX| d¡}g}tt|ƒdƒD],}| dd |d|d…¡||f¡qHd ||dd…¡} d| } z&t  |¡} t j   | ¡} ˆ  | | ¡} Wntk rÒd} YnXg}t|dƒ�r6t|jƒ}|dd…d k�r"|dd…d k�r"|dd… ¡}| d ˆ |¡¡t|d ƒ�rX| ˆ t|jƒ¡¡|�rp| d d |¡} ˆ |¡}|dk �r�dtƒ}nd}ˆ | ddd| |¡}t |tj¡}gi}}t |tj¡D]Z\}}|dk �sút |¡�pò||k�rÒt|||ƒ�rÒ| ||f¡d|||<||<�qÒ|D]€\}}|jD]n}|j|j}}tj  !|¡}||k�r@|�r@t||ƒ�r@t"||ƒ|k�r@||k�r@|d|||<||<�q@�q2gi}}t |tj#¡D]p\}}|dk �sút $|¡�sút |¡|k�rÌt|||ƒ�rÌ| ||f¡d|||<t %|¡�rÌ||||<�qÌg}t |t&¡D]&\}}t|||ƒ�rN| ||f¡�qNˆ 't(|ƒˆj)||¡}|�o˜d|}|d|}t|dƒ�rg}t* +|j,¡D]\}}} | ||| df¡�qÂ| -¡ˆ .|ˆj/¡}!|ˆ 0ddd|!¡}n.|�r<ˆ .|‡fdd„¡}!|ˆ 0ddd|!¡}|�r¨d d!„|Dƒ}"ˆ 1t 2|"d¡|¡g}!|D]"\}}|! ˆ 3|||||¡¡�qj|ˆ 0d"dd#d$ |!¡¡}|�rôg}!|D]"\}}|! ˆ 3|||||¡¡�q¶|ˆ 0d%dd&d$ |!¡¡}|�r:g}!|D]\}}|! ˆ 3||¡¡�q|ˆ 0d'dd(d) |!¡¡}t|d*ƒ�rnˆ 't|j4ƒˆj)¡}!|ˆ 0d+dd|!¡}t|d,ƒ�r¢ˆ 't|j5ƒˆj)¡}!|ˆ 0d-dd|!¡}|S).Nrrz5%srŠú)%srÓr[é ú $Revision: ú$z version %sr_z (%s)r4z-
Module Referencerú#ffffffú#7799eezindex
r‡z.html#z#-z %sz

%s

rWrzPackage Contentsz#aa55cccsˆ |d¡SrB)r ©Útrïrrr{Ør|z#HTMLDoc.docmodule..ZModulescSsg|] \}}|‘qSrr©rsrJrKrrrrºÝsz%HTMLDoc.docmodule..ZClassesú#ee77aarÎZ Functionsz#eeaa77ZDataz#55aa55rr^ZAuthorrSZCredits)6r&Ú__all__rÀr rr!rr"rrÜÚurllibÚparseZquoter$rreÚstrr[rrôr_ràÚlocalsr rCr,r-Ú getmodulerhrDr'rr¢rxr>r.r=Ú isfunctionr0r3rrÚpkgutilÚ iter_modulesrWr€rr#rr6Ú getclasstreerÍr^rS)#r@rr)ÚmodÚignoredrfÚpartsZlinksrtZ linkednameÚheadr r"r$rÂÚversionrßrr¢r-ZcdictrJrKrLr(r¨r,ZfdictÚdatar#ÚmodpkgsÚimporterÚispkgrÚ classlistrrïrrÇ‚s*   ÿÿ     $     þ  ÿ       ÿ ÿ    ÿ ÿÿÿ ÿ ÿ ÿ ÿ ÿzHTMLDoc.docmodulec sŠˆj}|p |}ˆj}g} | j‰G‡fdd„dƒ} | ƒ‰tt ˆ¡ƒ} t| ƒdkrˆˆ ¡ˆdƒ| D]} ˆdˆ | ˆj ¡ƒqdˆdƒ‡‡‡‡‡‡‡‡fdd„} ‡‡‡‡fd d „}‡‡‡‡‡‡‡‡fd d „}‡fd d„t ˆƒDƒ}i‰|D]n\}}}}d|d|ˆ|<}zt ˆ|ƒ}Wnt k �r4YnXz |ˆ|<Wqìt k �rXYqìXqì|�rj| �rr|  ¡‰n |dd‰t|‡fdd„ƒ\}}ˆtjk �r¶ˆtjk�r¶|}�q\n"ˆˆk�rÆd}ndˆ ˆˆj ¡}|d7}t|ˆƒ| d||dd„ƒ}| d||dd„ƒ}| d||dd„ƒ}|d||dd„ƒ}|d||d d„ƒ}|d!||d"d„ƒ}|}�q\d# | ¡} ||k�rŒd$||f}nd%|||f}|�rÖg}|D]} | ˆ | ˆj ¡¡�q¨|d&d' |¡}d#}zt ˆ¡}Wntt fk �rd}YnX|�r8t|ƒ}|�r8|d(k�r8|ˆ |¡d)}tˆƒ}|�rT||�pPd#}ˆ |ˆjˆˆˆ¡}|�otd*|}ˆ |d+d,| d-|¡S).Ncs eZdZdd„Z‡fdd„ZdS)z(HTMLDoc.docclass..HorizontalRulecSs d|_dSrw©Zneedonerïrrrrƒsz1HTMLDoc.docclass..HorizontalRule.__init__cs|jrˆdƒd|_dS)Nz
rr[rï©ÚpushrrÚmaybe sz.HTMLDoc.docclass..HorizontalRule.maybeN©r&r'rUrƒr^rr\rrÚHorizontalRulesr`rz&
Method resolution order:
z
%s
ú
c s�t||ƒ\}}|rŒˆ ¡ˆ|ƒ|D]d\}}}}ztˆ|ƒ}Wn&tk rfˆˆ ||ˆ¡ƒYnXˆˆ ||ˆˆˆˆˆ¡ƒˆdƒq&|S)Nr©rQr^r>Ú ExceptionrÊrÍ©Úmsgr�rOÚokr)rqÚhomeclsrK©r-r,ÚhrÚmdictrQrr]r@rrÚspills" ÿ zHTMLDoc.docclass..spillcsJt||ƒ\}}|rFˆ ¡ˆ|ƒ|D]\}}}}ˆˆ ||ˆ¡ƒq&|Sr+©rQr^rÊrd©rirQr]r@rrÚspilldescriptors+sz*HTMLDoc.docclass..spilldescriptorsc s¾t||ƒ\}}|rºˆ ¡ˆ|ƒ|D]’\}}}}ˆ tˆ|ƒ|ˆ¡}t|ƒsXt |¡rft|ddƒ} nd} | dkr€ˆd|ƒn0ˆ t|ƒˆj ˆˆˆ¡} d| } ˆd|| fƒˆdƒq&|S)NrZz
%s
z
%sz
%s%s
r) rQr^rËr>Úcallablerrlr3rr) rer�rOrfr)rqrgrKrLr#rhrrÚ spilldata4s(ÿ z#HTMLDoc.docclass..spilldatacs,g|]$\}}}}t|ˆd�r||||f‘qS©)rg©rh©rsr)rqrrrKr/rrrºIs  þz$HTMLDoc.docclass..r‡ú-rcs |dˆkS©NrrrC©Ú thisclassrrr{br|z"HTMLDoc.docclass..ú defined hereúinherited from %sz:
z Methods %scSs |ddkS©NrÚmethodrrCrrrr{rr|zClass methods %scSs |ddkS©Nrz class methodrrCrrrr{tr|zStatic methods %scSs |ddkS©Nrz static methodrrCrrrr{vr|zReadonly properties %scSs |ddkS©NrrjrrCrrrr{xr|zData descriptors %scSs |ddkS©NrrirrCrrrr{zr|zData and other attributes %scSs |ddkS©NrrVrrCrrrr{|r|rz*class %sz/%s = class %sú(%s)r4ú()rz%s
 
z#000000z#ffc8d8r3)r&rDrrrÚgetmror!r^rr'rkr>rcrÚpopleftrQÚbuiltinsrr‚r"Ú signatureÚ ValueErrorrJrôrr3rr)r@rr)rQr,r-rRÚrealnamer;rr`ÚmrorLrkrnrpr�rJrqrgrKÚanchorÚ inheritedÚtagrr<Údeclr†Úargspecr#r) r-r,rirjrQrr]r@rwrrÈûsÄ  ÿ   ÿ    ÿ  ÿ ÿ ÿ ÿ ÿ ÿ  ÿÿ zHTMLDoc.docclasscCs| d| |¡¡S©Nú=)rrÏrõrrrÚ formatvalue szHTMLDoc.formatvaluec Csà|j}|p |}|r|jpdd|} d} d} t|ƒrŠ|jj} |rZ| |k rŠd| | |¡} n0|jdk rzd| |jj|¡} nd| | |¡} t |¡sžt |¡r¤d} nd} ||kr¾d| |f}nD|rðt ||g¡|krðd |jd||f}d } n|}d | ||f}d}t  |¡�rlzt  |¡}Wnt t fk �r>d}YnX|�rlt |ƒ}|d k�rld |}|d d…}|�svd}| || |¡| �o˜| d| ¡}| �rªd|S| t|ƒ|j|||¡}|�oÎd|}d||fSdS)Nrrtrú from ú method of %s instanceú unbound %s methodúasync z$%sz%srz)%s = %súz$%s lambda rŠú(...)z'%sz
%s
z
%s
z
%s
%s
)r&rAr;rrrÚiscoroutinefunctionÚisasyncgenfunctionÚgetattr_staticr.r†r‡rrJrôrr3rr)r@rr)rQr,r-rIrHrˆrŠÚnoteÚskipdocsÚimclassÚasyncqualifierrZreallinkrŽr†r�r#rrrrɤs| ÿ ÿ ÿÿ     ÿÿzHTMLDoc.docroutinecCsNg}|j}|r|d|ƒ| t|ƒ|j¡}|r<|d|ƒ|dƒd |¡S)Nz!
%s
z
%s
rar)rr3rrr"©r@rr)rQrHrpr]r#rrrrÊås  zHTMLDoc.docdatacGs|r d|pd}|| |¡S)Nz%s = r©rÏ)r@rr)rQrRZlhsrrrrËõszHTMLDoc.docothercCs€g}|dkri}t |g¡D]<\}}}tdd„|Dƒƒr:q| |d|||kf¡d||<q| ¡| ||j¡}| |dd|¡S)Ncss*|]"}dt|ƒkodknVqdS)iØiÿßN)Úord©rsZchrrrÚ ÿsz HTMLDoc.index..rrrArF)rNrOÚanyrr€rr#r)r@rr!rWrXr)rYrrrrÚindexús z HTMLDoc.index)r)r rNr)rˆ)N)NN)NNN)NN)N)r&r'rUräÚ_repr_instancerÏrôrr rrrrrrrr r#r$r3r6rÇrÈr‘rÉrÊrârËr¥rrrrrÑsF ÿ  +  y&ÿ A  rc@s0eZdZdd„Zdd„Zdd„ZeZdd„Zd S) ÚTextReprcCs,t |¡d|_|_d|_d|_|_dSrårérïrrrrƒ s  zTextRepr.__init__cCsTtt|ƒdƒr@dd t|ƒj ¡¡}t||ƒr@t||ƒ||ƒSttt|ƒƒ|j ƒSrö) rerÐr"r&r r>r7r:rÏrîrørrrrús  zTextRepr.repr1cCsHt||jƒ}t|ƒ}d|krDdt|ddƒkrDd|d||dS|S)Nr‹rûrrür)r7rírÏr2rýrrrrþs  zTextRepr.repr_stringcCs4zttt|ƒƒ|jƒWSd|jjYSXdSrÿ)r7r:rÏrírr&rrrrr%szTextRepr.repr_instanceN)r&r'rUrƒrúrþrrrrrrr§ s  r§c@szeZdZeƒZejZdd„Zddd„Zdd„Zdd d „Z dd d „Z ddd„Z dd„Z ddd„Z ddd„ZeZddd„ZdS)ÚTextDoccCsd dd„|Dƒ¡S)Nrcss|]}|d|VqdS)úNrr¢rrrr£5szTextDoc.bold..)r"rórrrÚbold3sz TextDoc.boldú cs>|sdS‡fdd„| d¡Dƒ}|r4|d ¡|d<d |¡S)Nrcsg|] }ˆ|‘qSrr©rsrŽ©Úprefixrrrº:sz"TextDoc.indent..rrŠ)r rr")r@r1r®r$rr­rÚindent7s zTextDoc.indentcCs$| |¡ ¡}| |¡d|dS)Nrr)r¯rrª)r@rrZclean_contentsrrrr>szTextDoc.sectionNrc s d}|D]’}t|ƒtdƒkrr|\}}||t|ˆƒ}|rh||fkrh‡fdd„|Dƒ} |dd | ¡}|d}qt|ƒtgƒkr|| |ˆ||d¡}q|S) Nrrc3s|]}t|ˆƒVqdSr+©r*)rsr:©r(rrr£Msz%TextDoc.formattree..r�r4rr«)rÐr*r"r6) r@r7r(r8r®rr9r:r;r<rr±rr6Es" ÿzTextDoc.formattreec Cs$|j}tt|ƒƒ\}}| d||o(d|¡}t|ddƒ}| |¡}|dk r`|| d|d¡}|rt|| d|¡}g} t |tj¡D]<\} } |dk s¨t  | ¡p¢||kr†t | ||ƒr†|   | | f¡q†g} t |tj ¡D]F\} } |dk �st  | ¡�st  | ¡|krÖt | ||ƒrÖ|   | | f¡qÖg} t |t¡D]&\} } t | ||ƒ�r.|   | | f¡�q.g}tƒ}t|dƒ�rÎt |j¡D]6\}}}| |¡|�r¢|  |d¡n |  |¡�qx| ¡|| d d  |¡¡}g}t |tj¡D]0\} } | j |d ¡�rà| |k�rà|  | ¡�qà|�r6| ¡|| d d  |¡¡}| �ršd d„| Dƒ}| t |d¡|¡g}| D]\} } |  | | | |¡¡�qd|| dd  |¡¡}| �rÞg}| D]\} } |  | | | |¡¡�q¨|| dd  |¡¡}| �r&g}| D]"\} } |  |j| | |dd�¡�qì|| dd  |¡¡}t|dƒ�r€t|jƒ}|dd…dk�rp|dd…dk�rp|dd… ¡}|| d|¡}t|dƒ�r¢|| dt|j ƒ¡}t|dƒ�rÄ|| dt|j!ƒ¡}t|dƒ�ræ|| d t|j"ƒ¡}zt #|¡}Wnt$k �rd!}YnX|| d"|¡}|S)#NÚNAMEú - rGzMODULE REFERENCEa. The following documentation is automatically generated from the Python source files. It may be incomplete, incorrect or include features that are considered implementation detail and may vary between Python implementations. When in doubt, consult the module reference at the location listed above. Z DESCRIPTIONrWú (package)zPACKAGE CONTENTSrrZ SUBMODULEScSsg|] \}}|‘qSrrrErrrrº•sz%TextDoc.docmodule..rÚCLASSESÚ FUNCTIONSéF)r6ZDATAr[r>r?rŠr@ZVERSIONr_ZDATEr^ZAUTHORrSZCREDITSrÓZFILE)%r&r%rrr>ràrrCr-rLrhrr.r=r0ÚsetrerNrOrWÚaddr€r"r,rcr6rPrÍrËrJr[rr_r^rSrÜr)r@rr)rQZsynopÚdescrrfrßr-rJrKr,rVrWZ modpkgs_namesrXr(rYZ submodulesrZrrUr�rrrrÇUs°   ÿ  ÿ ÿ   ÿÿ ÿ     $    zTextDoc.docmodulec sLˆj}|p |}ˆj}ˆjfdd„}||kr:dˆ |¡}nˆ |¡d|}|rlt||ƒ} |dd | ¡}g} | j‰zt ˆ¡} Wnt t fk r d} YnX| rÊt | ƒ} | rÊ| dkrʈ|| dƒt ˆƒ} | râˆ| dƒt t ˆ¡ƒ}t|ƒd k�r*ˆd ƒ|D]}ˆd ||ƒƒ�q ˆd ƒtd d„t ˆ¡Dƒt jd�}t|ƒ}d}|�r¬ˆdƒ|d|…D]}ˆd |ƒ�qn||k�r¤ˆdt ||ƒdƒˆd ƒG‡fdd„dƒ}|ƒ‰‡‡‡‡‡fdd„}‡‡‡‡fdd„}‡‡‡‡‡fdd„}‡fdd„tˆƒDƒ}|�r|�r*| ¡‰n |dd ‰t|‡fdd „ƒ\}}ˆtjk �rnˆtjk�rn|}�qn ˆˆk�r~d!}nd"tˆˆjƒ}t|ˆƒ|d#||d$d „ƒ}|d%||d&d „ƒ}|d'||d(d „ƒ}|d)||d*d „ƒ}|d+||d,d „ƒ}|d-||d.d „ƒ}|}�qd | ¡} | �s0|dS|dˆ |  ¡d/¡dS)0NcSs t||ƒSr+r°)r:r¸rrrÚmakenameÀsz"TextDoc.docclass..makenameúclass z = class r�r4r‚rrzMethod resolution order:r«rcss.|]&}|j d¡s|jdkrt|jƒVqdS)rar…N)r&rcr'rJ)rsrrrrrr£ås ÿz#TextDoc.docclass..r}rˆzBuilt-in subclasses:z ... and z other subclassescs eZdZdd„Z‡fdd„ZdS)z(TextDoc.docclass..HorizontalRulecSs d|_dSrwr[rïrrrrƒ÷sz1TextDoc.docclass..HorizontalRule.__init__cs|jrˆdƒd|_dS)NzF----------------------------------------------------------------------rr[rïr\rrr^ùsz.TextDoc.docclass..HorizontalRule.maybeNr_rr\rrr`ösr`c s‚t||ƒ\}}|r~ˆ ¡ˆ|ƒ|D]V\}}}}ztˆ|ƒ}Wn&tk rfˆˆ ||ˆ¡ƒYq&Xˆˆ ||ˆˆ¡ƒq&|Sr+rbrd©rirQrr]r@rrrkÿsÿzTextDoc.docclass..spillcsJt||ƒ\}}|rFˆ ¡ˆ|ƒ|D]\}}}}ˆˆ ||ˆ¡ƒq&|Sr+rlrdrmrrrnsz*TextDoc.docclass..spilldescriptorsc s¢t||ƒ\}}|ržˆ ¡ˆ|ƒ|D]v\}}}}t|ƒsDt |¡rNt|ƒ}nd}ztˆ|ƒ} Wntk r~|j|} YnXˆˆj | |ˆd|d�dƒq&|S)Nr·)r6r#r) rQr^rorrlrr>rÀÚ__dict__rË) rer�rOrfr)rqrgrKr#rgr½rrrps  ÿz#TextDoc.docclass..spilldatacs,g|]$\}}}}t|ˆd�r||||f‘qSrqrrrsr/rrrº+s  þz$TextDoc.docclass..rcs |dˆkSrurrCrvrrr{4r|z"TextDoc.docclass..rxryz Methods %s: cSs |ddkSrzrrCrrrr{Cr|zClass methods %s: cSs |ddkSr|rrCrrrr{Er|zStatic methods %s: cSs |ddkSr}rrCrrrr{Gr|zReadonly properties %s: cSs |ddkSr~rrCrrrr{Ir|zData descriptors %s: cSs |ddkSrrrCrrrr{Kr|zData and other attributes %s: cSs |ddkSr€rrCrrrr{Mr|z | )r&rDr'rªÚmapr"rrr†r‡rrJrrrƒr!ÚsortedrÐÚ__subclasses__rÞrkr„rQr…rr*r‚r¯r)r@rr)rQrRrˆr;r»rr<rr†rŽr#r‰rLZ subclassesZno_of_subclassesZMAX_SUBCLASSES_TO_DISPLAYZ subclassnamer`rkrnrpr�r‹rŒr)rirQrr]r@rwrrȺs¶    ý  ÿþ  ÿ   ÿ  ÿ ÿ ÿ ÿ ÿ ÿ zTextDoc.docclasscCsd| |¡Sr�r rõrrrr‘WszTextDoc.formatvaluec Cs–|j}|p |}d}d}t|ƒrn|jj}|rB||k rndt||ƒ}n,|jdk r`dt|jj|ƒ}ndt||ƒ}t |¡s‚t |¡rˆd} nd} ||kr | |¡} n,|rºt  ||g¡|krºd}| |¡d|} d} t  |¡�r.ZTERM)ZdumbZemacscstt|ƒˆƒSr+)Ú pipepagerrÊr9rËrrr{Èr|cs t|ˆƒSr+©rÌr9rËrrr{Êr|cSstt|ƒdƒS)Nzmore /dev/nullrcSs t|dƒS)NZlessrÍr9rrrr{Ðr|z more "%s"cSs t|dƒS)NZmorerÍr9rrrr{×r|)rerÚstdinÚ plainpagerÚstdoutrÆr rÝrxÚplatformrÎÚtempfileZmkstempÚcloseÚunlinkÚttypager)rÓÚfdr¤rrËrrÄ»s6            rÄcCst dd|¡S)Nz.r)rrr9rrrrÊÝsrÊc Cs ddl}|j|d|jd�}zDtj|jdd��*}z| |¡Wntk rPYnXW5QRXWntk rrYnXz|  ¡WqœWqttk r˜YqtXqtdS)NrT)ÚshellrÏÚbackslashreplace)Úerrors) Ú subprocessÚPopenÚPIPEÚioÚ TextIOWrapperrÏÚwriteÚKeyboardInterruptr�Úwait)r1ÚcmdrÛÚprocÚpiperrrrÌásrÌc Cs~ddl}| ¡�d}tj |d¡}t|ddtjdkrrrÑÚencodeÚdecode)r1rçrrrÚ_escape_stdoutsrìc Cs¾tt|ƒƒ d¡}z2ddl}tj ¡}| |¡}| |¡dd„}Wn(t t t j fk rld}dd„}YnX�z0zttj dd¡ƒ}Wntk r d}YnX|dkr®d}|d}}tj d |d|…¡d¡||d…�ržtj d ¡tj ¡|ƒ} | d k�rtj d ¡�qžn,| d k�rJtj d ||d¡|d}qØ| d k�rn|||}|dk�rnd}tj dd ||||…¡d¡||}qØW5|�r¸|  ||j|¡XdS)NrrcSs tj d¡SrB)rrÏr±rrrrr{r|zttypager..cSstj ¡dd…dd…S)NrŠr)rrÏrŒrrrrr{r|ZLINESréz -- more --)ÚqÚQz )ú r)ÚbÚBú)rÊrìr ÚttyrrÏÚfilenoZ tcgetattrZ setcbreakr¿rÀrÞÚUnsupportedOperationZ tcsetattrZ TCSAFLUSHr+r rÝrxr‡rÑràr"Úflush) r1r$rôr×ÚoldZgetcharÚhrüZincr:rrrrÖ sL              &rÖcCstj tt|ƒƒ¡dSr+)rrÑràrÊrìr9rrrrÐ5srÐcCsÜt |¡r>|jtjkr d|jSt|dƒr4d|jSd|jSt |¡rRd|jSt |¡rtd|jj |jj|jfSt  |¡r–d|jj |jj|jfSt  |¡rªd|jSt  |¡r¾d |jSt  |¡rÒd |jSt|ƒjS) Nzbuilt-in module rWzpackage zmodule zbuilt-in function zgetset descriptor %s.%s.%szmember descriptor %s.%s.%sr¼z function zmethod )rr,r&rr»rer=ZisgetsetdescriptorÚ __objclass__r'Zismemberdescriptorr-rMr<rÐ)ÚthingrrrÚdescribe9s6         þ þ      rüc Cs¨dd„| d¡Dƒ}d\}}|t|ƒkr\td |d|d…¡|ƒ}|r\||d}}qq\q|rf|}nt}||d…D],}zt||ƒ}Wqvtk r YdSXqv|S)NcSsg|] }|r|‘qSrr)rsrÃrrrrºVszlocate..rrwr)r r!rÄr"r…r>rÀ)r rÁrSr¨ÚnZ nextmodulerrÃrrrÚlocateTs   rþcCsVt|tƒr0t||ƒ}|dkr(td|ƒ‚||fSt|ddƒ}|t|tƒrL|ndfSdS)Nz~No Python documentation found for %r. Use help() to get the interactive help utility. Use help(str) for help on the str class.r&)rmrJrþr¿r>)rûrÁrr)rrrÚresolvems  ý rÿú Python Library Documentation: %scCs¾|dkr t}t||ƒ\}}t|ƒ}t |¡}|rTd|krT|d|d| d¡…7}n|rn||k rn|d|j7}t |¡s¦t |¡s¦t  |¡s¦t  |¡s¦t |ƒ}|d7}||d|  ||¡S)Nrz in z in module z objectr) r1rÿrürrLÚrfindr&r,r-r.rlrÐrÍ)rûrrÁZrendererrr)rºr¨rrrÚ render_doc{s&    ÿþýrc Csfz2|dkrtt|||ƒƒn| t|||tƒ¡Wn.ttfk r`}z t|ƒW5d}~XYnXdSr+)rÅrràÚ plaintextr¿rªÚprint)rûrrÁÚoutputrKrrrr#’s r#c Cs”z`t||ƒ\}}t t|ƒt ||¡¡}t|dddd��}| |¡W5QRXtd|dƒWn.tt fk rŽ}z t|ƒW5d}~XYnXdS)NrÛræré)rçZwrote) rÿÚhtmlrrürÍrœràrr¿rª)rûrÁrr)rr�rKrrrÚwritedoc�srrcCs2|dkr i}t |g|¡D]\}}}t|ƒqdSr+)rNÚ walk_packagesr)rÚpkgpathZdonerXr(rYrrrÚ writedocs¨s  r cJ@s"eZdZddddddddddd d d d d dddddddddddddddddddddœ#Zd d!„d"DƒZd¦e˜d'd(d)d*d+d,d-œZd.d/d0d1d2d3d4d5d6d7d8d9d9d:d:d;œZe ¡D]:\ZZ e D],Z e  e e¡Z ee krÖe d<eZ e ee <q²q¦d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdLdMdNdOdPdQddRdSdSdTdUdVdWdXdYdZd[d\d]d^d_d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{dd d|d}d~dd€œIZ d§d‚dƒ„Z ed„d…„ƒZed†d‡„ƒZdˆd‰„ZeƒZefdŠd‹„ZdŒd�„ZdŽd�„Zd�d‘„Zd’d“„Zd¨d–d—„Zd˜d™„Zdšd›„Zdœd�„Zd©dždŸ„Zdªd d¡„Zd¢d£„Zd«d¤d¥„Z d�S)¬ÚHelperrÚBOOLEANÚwith)Úassertr)Úasyncr)Úawaitr)Úbreakú while for)ÚclasszCLASSES SPECIALMETHODS)Úcontinuer)Zfunctionr)ÚdelÚ BASICMETHODSÚif)ÚelserÚtry)Úforzbreak continue whileÚimport)Úglobalznonlocal NAMESPACES)rÚ TRUTHVALUE)rÚMODULES)ÚinÚSEQUENCEMETHODSÚ COMPARISON)Úlambdar¶)Únonlocalzglobal NAMESPACES)Úpassr)ÚraiseÚ EXCEPTIONS)Úreturnr¶)rr&)Úwhilezbreak continue if TRUTHVALUE)r z CONTEXTMANAGERS EXCEPTIONS yield)Úyieldr)#ÚFalseÚNoneÚTrueÚandÚasrrrrrrÚdefrÚelifrÚexceptÚfinallyrÚfromrrrrÚisr"r#ÚnotÚorr$r%r'rr(r r)cCsg|]}dD] }||‘q qS)©ú'r%r)rsÚprîrrrrºãszHelper.)rñÚfrüÚur8ú'''r%r‰)ú+rtÚ*ú**rÚz//ú%ú<<ú>>rðú|ú^ú~rñròú<=ú>=ú==ú!=ú<>)rñròrFrGrHrIrJ)rtrE) z+=z-=z*=z/=z%=z&=z|=z^=z<<=z>>=z**=z//=)rArBrðrCrDrE)ÚjÚJ)ÚSTRINGSÚ OPERATORSr!ÚUNARYÚAUGMENTEDASSIGNMENTÚBITWISEÚCOMPLEXzOPERATORS FORMATTINGÚPOWERzTUPLES LISTS FUNCTIONSz ATTRIBUTES FLOAT MODULES OBJECTSÚELLIPSISzSLICINGS DICTIONARYLITERALSz def classrMÚ PRIVATENAMESzPRIVATENAMES SPECIALMETHODSZ BACKQUOTESzTUPLES FUNCTIONS CALLSzLISTS SUBSCRIPTS SLICINGS)r@r?ú,rr4ú:ú@r‹rar`ú`r&r5ú[ú]rÎ)ÚtypeszRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspect)Ústringsz4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPES)zstring-methodszSTRINGS FORMATTING)Z formatstringsrN)r]z:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPES)ZnumberszINTEGER FLOAT COMPLEX TYPES)Zintegersz int range)Zfloatingz float math)Z imaginaryz complex cmath)Ztypesseqz$STRINGMETHODS FORMATTING range LISTSÚ DICTIONARIES)Ztypesfunctionsz def TYPES)Z typesmethodszclass def CLASSES TYPES)zbltin-code-objectszcompile FUNCTIONS TYPES)zbltin-type-objectsz types TYPESÚTYPES)zbltin-null-objectr)zbltin-ellipsis-objectÚSLICINGS)Z specialattrsr)r\z!class SPECIALMETHODS PRIVATENAMES)Z typesmodulesr)zoperator-summaryz˜lambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIESÚ EXPRESSIONS)Zobjectsr_)Z specialnameszbBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS NUMBERMETHODS CLASSES)Z customizationzhash repr str SPECIALMETHODS)zattribute-accesszATTRIBUTES SPECIALMETHODS)zcallable-typeszCALLS SPECIALMETHODS)úsequence-typesz(SEQUENCES SEQUENCEMETHODS SPECIALMETHODS)rbzMAPPINGS SPECIALMETHODS)z numeric-typesz*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODS)Z execmodelz%NAMESPACES DYNAMICFEATURES EXCEPTIONS)Znamingz3global nonlocal ASSIGNMENT DELETION DYNAMICFEATURES)zdynamic-featuresrÚ NAMESPACES)rÕztry except finally raise)Z conversionsr)Z identifierszkeywords SPECIALIDENTIFIERS)z id-classesr)zatom-identifiersr)z atom-literalsz=STRINGS NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALSÚ SEQUENCES)Z exprlistszTUPLES LITERALS)ztypesseq-mutableÚ LISTLITERALS)ZlistszLISTS LITERALS)Z typesmappingÚDICTIONARYLITERALS)rzDICTIONARIES LITERALS)zattribute-referencesz(getattr hasattr setattr ATTRIBUTEMETHODS)Z subscriptionsr )Zslicingsr )Zcallsra)Zpowerra)Zunaryra)Zbinaryra)Zshiftingra)Zbitwisera)Z comparisonszEXPRESSIONS BASICMETHODS)ZbooleanszEXPRESSIONS TRUTHVALUEr)Z assignmentrP)Z augassignÚ NUMBERMETHODSrr')Zcompoundzfor while break continue)Útruthz if while and or not BASICMETHODS)ZdebuggerZpdb)zcontext-managersr )Ir_rMZ STRINGMETHODSZ FORMATTINGÚUNICODEZNUMBERSZINTEGERZFLOATrRrdZMAPPINGSr¶ZMETHODSZ CODEOBJECTSZ TYPEOBJECTSZ FRAMEOBJECTSZ TRACEBACKSZNONErTZSPECIALATTRIBUTESrµrZPACKAGESrarNZ PRECEDENCEZOBJECTSZSPECIALMETHODSrZATTRIBUTEMETHODSZCALLABLEMETHODSr ZMAPPINGMETHODSrgZ EXECUTIONrcZDYNAMICFEATURESZSCOPINGZFRAMESr&Z CONVERSIONSZ IDENTIFIERSZSPECIALIDENTIFIERSrUZLITERALSZTUPLESZ TUPLELITERALSZLISTSrer^rfZ ATTRIBUTESZ SUBSCRIPTSr`ZCALLSrSrOZBINARYZSHIFTINGrQr!r Z ASSERTIONZ ASSIGNMENTrPZDELETIONZ RETURNINGZ IMPORTINGZ CONDITIONALZLOOPINGrZ DEBUGGINGZCONTEXTMANAGERSNcCs||_||_dSr+)Ú_inputÚ_output)r@Úinputrrrrrƒ^szHelper.__init__cCs |jp tjSr+)rjrrÏrïrrrrlbsz Helper.inputcCs |jp tjSr+)rkrrÑrïrrrrfsz Helper.outputcCs2t ¡dddkr|ƒdSd|jj|jjfS)Nrr3ú?rz<%s.%s instance>)rÚstackrr'rUrïrrrÚ__repr__js ÿzHelper.__repr__cCs6||jk r| |¡n| ¡| ¡|j d¡dS)Na You are now leaving help and returning to the Python interpreter. If you want to ask for help on a particular object directly from the interpreter, you can type "help(object)". Executing "help('string')" has the same effect as typing a particular string at the help> prompt. )Ú_GoInteractiverÚintroÚinteractrrà©r@ZrequestrrrÚ__call__rs   zHelper.__call__c CsÄ|j d¡z| d¡}|s WqÀWnttfk r>YqÀYnX| ¡}t|ƒdkr”|d|dkrpdkr”nn |d|dd…kr”|dd…}| ¡dkr¢qÀ|d kr´| ¡q |  |¡q dS) Nrzhelp> rrrŠr7r)rîÚquitr) rràÚgetlineráÚEOFErrorrr!rÞrqrrsrrrrrs"   ,ÿ   zHelper.interactcCs8|jtjkrt|ƒS|j |¡|j ¡|j ¡SdSr+)rlrrÏrràr÷rŒ)r@Úpromptrrrrv”s    zHelper.getlinecCs<t|ƒtdƒk�r| ¡}|dkr,| ¡nÚ|dkr>| ¡nÈ|dkrP| ¡n¶|dkrb| ¡n¤|dd…dkr†| | ¡d¡n€||jkrœ| |¡nj|d kr´t t |ƒd ƒnR||j krÊ|  |¡n<||j krà|  |¡n&|röt |d |jd �nt td |jd �n$t|tƒ�r|ƒnt |d |jd �|j d ¡dS) NrÚkeywordsÚsymbolsÚtopicsr¢ézmodules r)r,r*r+z Help on %s:)rr)rÐrÚ listkeywordsÚ listsymbolsÚ listtopicsÚ listmodulesr rzÚ showsymbolr#ÚevalryÚ showtopicr{rkrJrmr rràrsrrrr�s6        z Helper.helpcCs$|j d dtjdd…¡¡dS)Na” Welcome to Python {0}'s help utility! If this is your first time using Python, you should definitely check out the tutorial on the Internet at https://docs.python.org/{0}/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". To get a list of available modules, keywords, symbols, or topics, type "modules", "keywords", "symbols", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose name or summary contain a given string such as "spam", type "modules spam". z%d.%dr)rràrrrárïrrrrq²s òz Helper.introrˆéPc Cs¬tt|ƒƒ}||}t|ƒ|d|}t|ƒD]v}t|ƒD]\}|||}|t|ƒkr<|j ||¡||dkr<|j dd|dt||ƒ¡q<|j d¡q0dS)NrrÎr)rrÀr!rrrà) r@ÚitemsÚcolumnsr ZcolwrÚrowrrtrrrrÃs      &z Helper.listcCs |j d¡| |j ¡¡dS)NzN Here is a list of the Python keywords. Enter any keyword to get more help. )rràrryrGrïrrrr}Ðs zHelper.listkeywordscCs |j d¡| |j ¡¡dS)Nzx Here is a list of the punctuation symbols which Python assigns special meaning to. Enter any symbol to get more help. )rràrrzrGrïrrrr~×s zHelper.listsymbolscCs |j d¡| |j ¡¡dS)NzN Here is a list of available topics. Enter any topic name to get more help. )rràrr{rGrïrrrrßs zHelper.listtopicsc Cs0z ddl}Wn"tk r.|j d¡YdSX|j ||j |¡¡}|sb|j dt|ƒ¡dSt|ƒtdƒkr~|  ||¡S|\}}z|jj|}Wn*t k rÀ|j dt|ƒ¡YdSX|  ¡d}|râ|pØdd|}|�r$ddl }dd  | ¡¡d} | | d ¡} |d d  | ¡7}t|ƒdS) Nrút Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. zno documentation found for %s rrrÎúRelated help topics: r4éHz %s )Úpydoc_data.topicsr¿rràr{rxryrÏrÐrƒÚKeyErrorrÚtextwrapr"r ZwraprÅ) r@ÚtopicÚ more_xrefsÚ pydoc_dataÚtargetÚlabelÚxrefsr#r�r1Z wrapped_textrrrrƒæs4     zHelper.showtopiccCsŒz ddl}Wntk r"YdSX|j ||j |¡¡}|sFtdƒ‚t|tƒr\| ||¡S|\}}|jj|}|r„|pzdd|}||fS)Nr)rˆrzcould not find topicrrÎ) r‹r¿r{rxryr‡rmrJÚ _gettopic)r@rŽr�r�r‘r’r“r#rrrr”s     zHelper._gettopiccCs*|j|}| d¡\}}}| ||¡dS)NrÎ)rzÚ partitionrƒ)r@Úsymbolr‘rŽrar“rrrr�!s zHelper.showsymbolcsv|r |j d |¡¡t|ƒnR|j d¡i}|fdd„‰‡fdd„}tƒjˆ|d�| | ¡¡|j d¡dS) Nzy Here is a list of modules whose name or summary contains '{}'. If there are any, enter a module name to get more help. zI Please wait a moment while I gather a list of all available modules... cSs>|r$|dd…dkr$|dd…d}| d¡dkr:d||<dS)Né÷ÿÿÿú .__init__r´rrr)Úfind)r r(rºr¢rrrÚcallback4sz$Helper.listmodules..callbackcsˆd|dƒdSr+rr±©ršrrÚonerror9sz#Helper.listmodules..onerror©rœz‰ Enter any module name to get more help. Or, type "modules spam" to search for modules whose name or summary contain the string "spam". )rràrÚaproposÚ ModuleScannerÚrunrrG)r@rJr¢rœrr›rr€&s ü    zHelper.listmodules)r8r<r%r‰)NN)rˆr„)r)r)r)!r&r'rUryZ _strprefixesZ_symbols_inverserzr…rŽZsymbols_r–rxr{rƒrnrlrrorrprtrrrvrrqrr}r~rrƒr”r�r€rrrrr ¯sBÝ'÷ ñ   ¬W       r c@seZdZddd„ZdS)rŸNc Cs |r | ¡}d|_i}tjD]p}|dkrd||<|dkrF|d|dƒqt|ƒjpRd}| d¡d}|d|}| ¡ |¡dkr|d||ƒqtj |d�D�]\\} }} |jr²�qú|dkrÈ|d|dƒqšzt  | |¡} Wnt k rðYqšYnX| j } t | d ƒ�rnz|  |¡} Wn(tk �r:|�r2||ƒYqšYnXtt | ¡ƒ�pNd}t | d ƒ�rh|  |¡}nd}n`ztj | ¡}Wn(tk �r¦|�rž||ƒYqšYnX|j�r¾|j ¡dnd}t|d dƒ}|d|}| ¡ |¡dkrš||||ƒqš|�r|ƒdS) NFÚ__main__rrrrr³r�Ú get_sourceÚ get_filenamerR)rÞrurr»r¼rZr r™rNrÚ _get_specr½r‘rer¢rcr�rÞÚStringIOr£r•r r¡r¿r£r>)r@ršrJZ completerrœÚseenr(r)rºrXrYr§r‘Úsourcer r¨rrrr Gs`          zModuleScanner.run)NNN)r&r'rUr rrrrrŸDsrŸc CsDdd„}dd„}t ¡�"t d¡tƒj|||d�W5QRXdS)NcSs6|dd…dkr |dd…d}t||o.d|ƒdS©Nr—r˜r´z- )r©r r(rºrrrršƒszapropos..callbackcSsdSr+rr±rrrrœ‡szapropos..onerrorÚignorer�)ÚwarningsÚcatch_warningsÚfilterwarningsrŸr )rJršrœrrrrž�s   ržcsšddl‰ddl‰ddl‰ddl‰Gdd„dˆjjƒ‰G‡fdd„dˆjjƒ‰G‡‡‡‡‡fdd„dˆjƒ}||||ƒ}| ¡|j s–|j s–t   d¡q~|S) Nrc@seZdZdd„Zdd„ZdS)z!_start_server..DocHandlercSsX|j d¡rd}nd}| d¡| dd|¡| ¡|j | |j|¡ d¡¡dS)Nz.cssútext/cssú text/htmléÈz Content-Typez%s; charset=UTF-8ré) r rdZ send_responseZ send_headerZ end_headersZwfileràÚ urlhandlerrê)r@Ú content_typerrrÚdo_GETÎs   ÿÿz(_start_server..DocHandler.do_GETcWsdSr+r)r@rÌrrrÚ log_messageÞsz-_start_server..DocHandler.log_messageN)r&r'rUr³r´rrrrÚ DocHandlerÌsrµcs(eZdZdd„Z‡fdd„Zdd„ZdS)z _start_server..DocServercSs6||_|j|f|_||_|j ||j|j¡d|_dS©NF)ÚhostZaddressršrLrƒÚhandlerru)r@r·Úportršrrrrƒäs  z)_start_server..DocServer.__init__cs>|js2ˆ |j ¡gggd¡\}}}|r| ¡q| ¡dSrB)ruÚselectZsocketrõZhandle_requestZ server_close)r@ZrdZwrZex©rºrrÚserve_until_quitës  z1_start_server..DocServer.serve_until_quitcSs |j |¡|jr| |¡dSr+)rLÚserver_activateršrïrrrr½òs z0_start_server..DocServer.server_activateN)r&r'rUrƒr¼r½rr»rrÚ DocServerâs r¾cs:eZdZ‡fdd„Z‡‡‡‡fdd„Zdd„Zdd„Zd S) z#_start_server..ServerThreadcs2||_||_t|ƒ|_ˆj |¡d|_d|_dSr¶)r±r·r+r¹ÚThreadrƒÚservingÚerror)r@r±r·r¹)Ú threadingrrrƒùs   z,_start_server..ServerThread.__init__c sxzJˆjjˆ_ˆˆ_ˆjjˆ_t|jƒˆ_ˆ|j |j |j ƒ}||_ |  ¡Wn(tk rr}z ||_W5d}~XYnXdSr+)ÚserverÚ HTTPServerrLr¸rÑZMessageZ MessageClassÚ staticmethodr±r·r¹ÚreadyÚ docserverr¼rcrÁ)r@ZdocsvrÚe)rµr¾ÚemailÚhttprrr  s    z'_start_server..ServerThread.runcSs,d|_|j|_|j|_d|j|jf|_dS)NTz http://%s:%d/)rÀr·Z server_portr¹r")r@rÃrrrrÆ sz)_start_server..ServerThread.readycSs&d|j_| ¡d|_d|_d|_dS)NTF)rÇrur"rÀr"rïrrrÚstop s z(_start_server..ServerThread.stopN)r&r'rUrƒr rÆrËr)rµr¾rÉrÊrÂrrÚ ServerThread÷s  rÌg{®Gáz„?) Z http.serverZ email.messagerºrÂrÃZBaseHTTPRequestHandlerrÄr¿r1rÁrÀÚtimeÚsleep)r±Úhostnamer¹rÌÚthreadr)rµr¾rÉrÊrºrÂrÚ _start_server�s8'   rÑr¯c s(G‡fdd„dtƒ}|ƒ‰‡fdd„‰‡fdd„‰‡fdd„‰‡fd d „‰‡fd d „‰‡fd d„‰‡fdd„‰‡fdd„‰‡‡‡‡‡‡‡‡fdd„}| d¡rª|dd…}|dk�rtj tj t¡¡}tj ||¡}t|ƒ�}d |  ¡¡W5QR£SQRXn|dk�r||ƒSt d||fƒ‚dS)NcseZdZ‡fdd„ZdS)z_url_handler.._HTMLDoccsd}d|}d||ˆƒ|fS)Nzpydoc_data/_pydoc.cssz1a  Pydoc: %s %s%s
%s
r)r@rrÚcss_pathZcss_link©Ú html_navbarrrr2 sÿÿ ûz#_url_handler.._HTMLDoc.pageN)r&r'rUrrrÓrrÚ_HTMLDoc0 srÕcs>ˆ dt ¡t ¡dt ¡f¡}d|ˆ tjdd�¡fS)Nz %s [%s, %s]raZ
Python %s
%s
T)Zterse)rôrÒZpython_versionZ python_buildZpython_compiler)rU©rrrrÔB s  þëz!_url_handler..html_navbarcs„dd„}ˆ ddd¡}dd„tjDƒ}ˆ ||¡}|dˆ d dd |¡g}i}tjD]}| ˆ ||¡¡qT| d ¡d d  |¡fS)NcSs d||fSrr©r)rrrÚ bltinlink` sz3_url_handler..html_index..bltinlinkz7Index of ModulesrArBcSsg|]}|dkr|‘qS)r¡r)rsr)rrrrºf sÿz4_url_handler..html_index..z

zBuilt-in ModulesrFz|

pydoc by Ka-Ping Yee<ping@lfw.org>zIndex of Modulesr) r rr»rrr rr¥r")rØr Únamesrr¦rrÖrrÚ html_index] s*þ ÿ ÿz _url_handler..html_indexc s¨g‰‡fdd„}t ¡�*t d¡dd„}tƒj|||d�W5QRXdd„}g}ˆ d d d ¡}ˆD]\}}| ||ƒ|¡qf|ˆ d |d d d |¡¡}d|fS)Ncs:|dd…dkr |dd…d}ˆ ||o0d|f¡dSr¨rMr©©Z search_resultrrrš{ sz3_url_handler..html_search..callbackrªcSsdSr+rr±rrrrœ‚ sz2_url_handler..html_search..onerrorr�cSs d||fSrrr×rrrr؇ sz4_url_handler..html_search..bltinlinkz5Search ResultsrArBzkey = %srFú
zSearch Results) r«r¬r­rŸr r rrr") rJršrœrØrpr r)rºrrÖrÛrÚ html_searchv s,   þ ÿz!_url_handler..html_searchcsLdd„}ˆ ddd¡}ttj ¡ƒ}ˆ ||¡}|ˆ ddd|¡}d|fS)NcSs d||fS©Nz%srr×rrrrØ— sz4_url_handler..html_topics..bltinlinkú,INDEXrArBZTopicsrF)r rÀr r{rGrr)rØr rÙrrÖrrÚ html_topics” sþ ÿz!_url_handler..html_topicscsLˆ ddd¡}ttj ¡ƒ}dd„}ˆ ||¡}|ˆ ddd|¡}d|fS)NrßrArBcSs d||fSrÞrr×rrrrØ« sz6_url_handler..html_keywords..bltinlinkZKeywordsrF)r rÀr ryrGrr)r rÙrØrrÖrrÚ html_keywords¤ sþ ÿz#_url_handler..html_keywordscs´t ¡}t||ƒ}| |¡\}}||jkr0d}nd}ˆ d|dd¡}dˆ |¡}ˆ |dd|¡}|r˜t|  ¡ƒ}dd „}ˆ  ||¡}ˆ  d dd|¡}d ||fd   |||f¡fS) NZKEYWORDZTOPICr=rArBz

%s
rFcSs d||fSrÞrr×rrrrØÄ sz7_url_handler..html_topicpage..bltinlinkr‰z%s %sr) rÞr¥r r”ryr r3rrÀr rrr")rŽZbufZhtmlhelprr“rr rØrÖrrÚhtml_topicpage³ s2  þ  ÿ ÿz$_url_handler..html_topicpagecs@t|dd�}|dkr$|dkr$tdƒ‚t|ƒ}ˆ ||¡}||fS)Nr)rÁr+zcould not find object)rþr‡rürÍ)r"rgrÚcontentrÖrrÚ html_getobjÍ s   z!_url_handler..html_getobjcsPˆ ddd¡}d ‡fdd„tt|ƒ|ƒDƒ¡}|ˆ |dd|¡}d||fS) Nz,ErrorrArBrÜc3s|]}ˆ |¡VqdSr+)rôr¬rÖrrr£Ù sz3_url_handler..html_error..z#bb0000z Error - %s)r r"rrÐr)r"r«r rrÖrrÚ html_errorÕ sþ ÿ ÿz _url_handler..html_errorc sr|}| d¡r|dd…}�z|dkr2ˆƒ\}}nþ|dkrFˆƒ\}}nê|dkrZˆƒ\}}nÖd|k�r$| d¡\}}}|dkrŠˆ|ƒ\}}n˜|dkrÆzˆ|ƒ\}}Wn tk rˆ|ƒ\}}YnXn\|d k�r|dkr䈃\}}n4zˆ|ƒ\}}Wn"tk �rˆ|ƒ\}}YnXntd ƒ‚n ˆ|ƒ\}}Wn2tk �rd}zˆ||ƒ\}}W5d}~XYnXˆ ||¡S) NrÛéûÿÿÿ)rr¥r{ryr�z search?keyz topic?keyzget?keyz bad pydoc url)rdr•r‡rcr)r"Z complete_urlrrãÚoprar«)rrårärÚrárÝrâràrrÚ get_html_pageß s>          z#_url_handler..get_html_pagerÚrr®rr¯z"unknown content type %r for url %s) rrcr r ÚdirnameÚrealpathrRr"rœÚ readlinesr)r"r²rÕrèZ path_hererÒÚfpr) rrårärÚrárÔrÝrâràrÚ _url_handler' s*         (    " ríTÚ localhost)Ú open_browserrÏc CsÞddl}tt||ƒ}|jr(t|jƒdS|jrÚd}|rB| |j¡z~zZtd|jƒt|ƒ|jrœt dƒ}|  ¡}|dkr|qœqZ|dkr’| |j¡qZt|ƒqZWnt t fk r¼tƒYnXW5|jrØ| ¡tdƒXdS)Nrz"Server commands: [b]rowser, [q]uitzServer stoppedzServer ready atzserver> rîrñ) Ú webbrowserrÑrírÁrrÀrœr"rËrlrÞrárw)r¹rïrÏrðZ serverthreadZserver_help_msgrãrrrÚbrowse s2    rñcCst|tƒo| tj¡dkSrw)rmrJr™r Úsep)rPrrrÚispath9 srócCsvd|kstj|kst ¡|kr"dStj t¡}tj |¡}| ¡}||krbtj ||¡sb| |¡|  dt ¡¡|S)Nrr) r ÚcurdirÚgetcwdr rérRÚcopyÚsamefileÚremoveÚinsert)Z given_pathZargv0Z stdlib_dirZ script_dirÚ revised_pathrrrÚ_get_revised_path< s    rûcCs,ttjtjdƒ}|dk r(|tjdd…<dSrw)rûrr Úargv)rúrrrÚ_adjust_cli_sys_pathX srýc Csêddl}Gdd„dtƒ}tƒ�zv| tjdd…d¡\}}d}d}d}d}d}|D]\\} } | dkrld }d }| d kr„t| ƒWdS| d kr”d }| }| d kr d }| d krTd }| }qT|rÊt|||d�WdS|sÒ|‚|D]¼} t| ƒ�rtj   | ¡�st d| ƒ�q”z`t| ƒ�r&tj   | ¡�r&t | ƒ} |�rXt| ƒ�rNtj  | ¡�rNt| ƒnt| ƒn t | ¡WqÖtk �r�} z t | ƒW5d} ~ XYqÖXqÖWnN|j|fk �rätj  tj  tjd¡¡d} t dj| tjd�ƒYnXdS)Nrc@s eZdZdS)zcli..BadUsageN)r&r'rUrrrrÚBadUsagee srþrzbk:n:p:wFrîz-bTz-kz-pz-wz-n)rÏrïzfile %r does not existaÑpydoc - the Python documentation tool {cmd} ... Show text documentation on something. may be the name of a Python keyword, topic, function, module, or package, or a dotted reference to a class or function within a module or module in a package. If contains a '{sep}', it is used as the path to a Python source file to document. If name is 'keywords', 'topics', or 'modules', a listing of these things is displayed. {cmd} -k Search for a keyword in the synopsis lines of all available modules. {cmd} -n Start an HTTP server with the given hostname (default: localhost). {cmd} -p Start an HTTP server on the given port on the local machine. Port number 0 can be used to get an arbitrary unused port. {cmd} -b Start an HTTP server on an arbitrary unused port and open a Web browser to interactively browse documentation. This option can be used in combination with -n and/or -p. {cmd} -w ... Write out the HTML documentation for a module to a file in the current directory. If contains a '{sep}', it is treated as a filename; if it names a directory, documentation is written for all the contents. )rãrò)Úgetoptrcrýrrüržrñrór r Úexistsrr„r·r r rrrªrÁr³r²rrò)rÿrþZoptsrÌZwritingZ start_serverrïr¹rÏÚoptÚvalÚargrKrãrrrÚclib sd     ãrr¡)NN)r)r)rrN)rrN)r)rN)r¯)r)YrGr^r_rSr…Zimportlib._bootstrapr•Zimportlib._bootstrap_externalÚimportlib.machineryÚimportlib.utilrrÞr rNrÒrrrãrÍr›Z urllib.parserHr«Ú collectionsrÚreprlibrÚ tracebackrrrr%r*r0r2r7r'Ú IGNORECASEr8r:rArFrQrhrkr‚r†r�r©rcrªr·rÄrÅrärr§r¨rÃrÅrÄrÊrÌrÉrìrÖrÐrürþr1rrrÿrr#rr r rrŸržrÑrírñrórûrýrr&rrrrÚ's           ' 0:*> " ,  ÿ ÿ = n% U