Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
3 à˜ªjM”ã@sädgZdZdZdZddlZddlZddlZddlZddl Zddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlmZddlmZddlmZd d „Zd d „Zd d„Zdd„Zdd„Z dd„Z!dd„Z"ej#dej$ƒZ%dd„Z&dd„Z'dd„Z(dd„Z)d d!„Z*dtd"d#„Z+d$d%„Z,d&d'„Z-d(d)„Z.d*d+„Z/ifd,d-„Z0Gd.d/„d/e1ƒZ2d0d1„Z3difd2d3„Z4Gd4d5„d5ƒZ5Gd6d7„d7eƒZ6Gd8d9„d9e5ƒZ7Gd:d;„d;eƒZ8Gdd?„d?e9ƒZ:d@dA„a;dBdC„ZdHdI„Z?dJdK„Z@dLdM„ZAdNdO„ZBdPdQ„ZCdudRdS„ZDe9ƒZEe:ƒZFe7ƒZGdvdTdU„ZHdwdWdX„ZIdxdYdZ„ZJdyd[d\„ZKdzd^d_„ZLGd`da„daƒZMeMƒZNGdbdc„dcƒZOddde„ZPdfdg„ZQd{didj„ZRd|dkdlœdmdn„ZSdodp„ZTdqdr„ZUeVdsk�ràeUƒ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}xRtjD]H}tjj|p dƒ}tjj|ƒ}||krtjj|ƒr|j|ƒ|j|ƒqW|S)NÚ.)ÚsysÚpathÚosÚabspathÚnormcaseÚisdirÚappend)ÚdirsZnormdirsÚdirZnormdir©rú/usr/lib64/python3.6/pydoc.pyÚpathdirsLs   rcCs.tj|ƒptj|ƒ}|r*tjdd|jƒƒp,dS)Nz^ * Ú)ÚinspectÚgetdocZ getcommentsÚreÚsubÚrstrip)ÚobjectÚresultrrrrXsrcCsh|jƒjdƒ}t|ƒdkr&|ddfSt|ƒdkrZ|djƒ rZ|ddj|dd…ƒfSddj|ƒfS)NÚ érré)ÚstripÚsplitÚlenrÚjoin)ÚdocÚlinesrrrÚsplitdoc]s   r$cCs"|j}|j|kr|jd|}|S)Nr)Ú__name__Ú __module__)rÚmodnameÚnamerrrÚ classnamefs r)cCs>tj|ƒp:tj|ƒp:tj|ƒp:tj|ƒp:tj|ƒp:tj|ƒ S)N)rÚismoduleÚisclassÚ isroutineZisframeZ istracebackZiscode)rrrrÚisdatamsr-cGs2x,|r,|dj|j|dƒƒ}|dd…}qW|S)Nrrr)r!r)ÚtextZpairsrrrÚreplacessr/cCsXt|ƒ|krTtd|ddƒ}td|d|ƒ}|d|…d|t|ƒ|d…S|S)Nrérz...)r Úmax)r.ÚmaxlenZpreZpostrrrÚcramzs  $r3z at 0x[0-9a-f]{6,16}(>+)$cCs tjd|ƒS)Nz\1)Ú _re_stripidr)r.rrrÚstripidƒsr5cCs(tj|ƒp&tj|ƒp&tj|ƒp&tj|ƒS)N)rÚ isfunctionÚismethodÚ isbuiltinZismethoddescriptor)ÚobjrrrÚ_is_some_methodˆs   r:cCs<tj|ƒrdStj|ƒr8t|ddƒ}tj|ƒp4|dk SdS)NTÚ__self__F)rr7r8Úgetattrr*)ÚfnÚselfrrrÚ_is_bound_methodŽs    r?cCshi}x tj|tƒD]\}}d||<qWx|jD]}|jt|ƒƒq.Wx|jƒD]}t||ƒ||<qNW|S)Nr)rÚ getmembersr:Ú __bases__ÚupdateÚ allmethodsÚkeysr<)ÚclÚmethodsÚkeyÚvalueÚbaserrrrC›s  rCcCs<g}g}x*|D]"}||ƒr&|j|ƒq|j|ƒqW||fS)N)r )ÚsÚ predicateÚyesÚnoÚxrrrÚ _split_list¥s  rOcCs\|dkr dS|jdƒr$|jdƒr$dS|jdƒrrTrQrWrYr[rUrZrRr]r&rSrPrXr%r\rV)Ú startswithÚendswithÚhasattr)r(Úallr9rrrÚ visiblename¶srecCsDg}x:tj|ƒD],\}}}}tj|ƒr*d}|j||||fƒqW|S)Nzdata descriptor)rÚclassify_class_attrsÚisdatadescriptorr )rÚresultsr(ÚkindÚclsrHrrrrfÊs  rfc s\t|dgƒ‰y‡fdd„tˆƒDƒ‰Wntk r>i‰YnX‡fdd„}|j|d�dS)Nr`csi|]\}}|tˆƒ|“qSr)r )Ú.0Úir()Úfieldsrrú Ùsz#sort_attributes..csˆj|ddƒ|dfS)Nr)Úget)Úattr)Ú field_orderrrÚÜsz!sort_attributes..)rG)r<Ú enumerateÚ TypeErrorÚsort)ÚattrsrZkeyfuncr)rqrmrÚsort_attributesÓs   rwcCs<tjj|ƒr8x*dD]"}tjjtjj|d|ƒƒrdSqWdS)Nú.pyú.pycÚ__init__TF)rxry)r rr Úisfiler!)rÚextrrrÚ ispackageás   r}cCsÊ|jƒ}x,|dd…dks$|jƒ r4|jƒ}|s Pq W|jƒ}|dd…dkrZ|dd…}|dd…dkrÂ|dd…}|d d…dkr’|dd …}x|jƒs¬|jƒ}|s”Pq”W|jdƒdjƒ}nd}|S) Nrú#ézr"""r0z"""ú\réÿÿÿÿr�)Úreadlinerr)ÚfileÚlinerrrrÚsource_synopsisés&    r…c Cstj|ƒj}|j|dƒ\}}|dks.||k�r|jttjjƒƒrJtjj }n |jttjj ƒƒrftjj }nd}|dkr°yt j |ƒ}Wntk r”dSX|�t|ƒ}WdQRXnZ|d|ƒ}tjjd||d�}ytjj|ƒ} Wn dStjd=| j�r| jjƒdnd}||f||<|S)NZ__temp__)Úloaderr)NN)r ÚstatÚst_mtimerorbÚtupleÚ importlibÚ machineryÚBYTECODE_SUFFIXESÚSourcelessFileLoaderÚEXTENSION_SUFFIXESÚExtensionFileLoaderÚtokenizeÚopenÚOSErrorr…ÚutilÚspec_from_file_locationÚ _bootstrapÚ_loadrÚmodulesrUÚ splitlines) ÚfilenameÚcacheÚmtimeZ lastupdaterZ loader_clsrƒr†ÚspecÚmodulerrrÚsynopsisús4      ržc@seZdZdd„Zdd„ZdS)ÚErrorDuringImportcCs||_|\|_|_|_dS)N)r™ÚexcrHÚtb)r>r™Úexc_inforrrrz#szErrorDuringImport.__init__cCs|jj}d|j||jfS)Nzproblem in %s - %s: %s)r r%r™rH)r>r rrrÚ__str__'szErrorDuringImport.__str__N)r%r&r[rzr£rrrrrŸ!srŸc Cs¬tjj}t|dƒ�}||jt|ƒƒk}WdQRXtjj|ƒ}tjj |ƒ\}}|r`tj j ||ƒ}ntj j ||ƒ}tjj |||d�}y tjj|ƒSt|tjƒƒ‚YnXdS)NÚrb)r†)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"yb|rXˆtjkrXˆtjkrX‡fdd„tjDƒ}x(ˆg|D]}tj|||<tj|=q:Wtˆƒ}Wnxtjƒ\}}}} ˆtjkršttjˆj| ƒ‚n<|tkr°t|j| ƒ‚n&t |t ƒrÈ|j ˆkrÈdStˆtjƒƒ‚YnXx@ˆj dƒdd…D]*} yt || ƒ}Wqðtk �rdSXqðW|S)Ncsg|]}|jˆdƒr|‘qS)r)ra)rkÚm)rrrú Qszsafeimport..rr)rr—Úbuiltin_module_namesÚ __import__r¢rŸrVÚ SyntaxErrorr™Ú issubclassÚ ImportErrorr(rr<ÚAttributeError) rÚ forceloadršZsubsrGr�r rHr¡ÚinfoÚpartr)rrÚ safeimport=s.     r¸c@s|eZdZejjddejdd…ƒZd dd„Z ddd„Z e Z Z Z ZZZejjejd d ejdd…ƒfd d „ZdS)ÚDocÚ PYTHONDOCSz%https://docs.python.org/%d.%d/libraryNrc Gs¨||f|}tj|ƒr |j|ŽStj|ƒr4|j|ŽSy@tj|ƒrJ|j|ŽStj|ƒr^|j|ŽStj|ƒrr|j |ŽSWnt k rˆYnXt |t ƒrž|j |ŽS|j|ŽS)N)rÚisgetsetdescriptorÚdocdataÚismemberdescriptorr*Ú docmoduler+Údocclassr,Ú docroutiner´Ú isinstanceÚpropertyÚ docpropertyÚ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%rt)r>rr(rÅÚmessagerrrÚfail…szDoc.failÚlibz python%d.%dcCsÌytj|ƒ}Wntk r&d}YnXtjjd|jƒ}tjj|ƒ}t |t tƒƒrÄ|j dks||j |ƒrÄ|j tjj |d ƒƒ rÄ|j dkrÄ|j dƒrªd|jdƒ|j jƒf}qÈtjj ||j jƒdƒ}nd}|S)Nz (built-in)rºÚerrnoÚ exceptionsÚgcÚimpÚmarshalÚposixÚsignalrÚ_threadÚ zipimportz site-packagesú xml.etreeútest.pydoc_modúhttp://úhttps://z%s/%sú/z.html) rÍrÎrÏrÐrÑrÒrÓrrÔrÕ)rÖr×)rØrÙ)rÚ getabsfilertr Úenvironrorºrr rÁrÉr%rar!rÚlower)r>rZbasedirrƒÚdoclocrrrÚ getdocloc�s$     z Doc.getdocloc)N)N)r%r&r[r rÜrorÚ version_inforºrÆrËr¾r¿rÀrÄrÃr¼rr!Úbase_exec_prefixrßrrrrr¹ms   r¹c@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „ZeZd d „Z eZ d S)ÚHTMLReprcCs,tj|ƒd|_|_d|_d|_|_dS)Néé éd)rrzÚmaxlistÚmaxtupleÚmaxdictÚ maxstringÚmaxother)r>rrrrz­s  zHTMLRepr.__init__cCst|ddddddƒS)Nú&z&úz>)r/)r>r.rrrÚescape³szHTMLRepr.escapecCs tj||ƒS)N)rrÈ)r>rrrrrȶsz HTMLRepr.reprcCsZtt|ƒdƒr@ddjt|ƒjjƒƒ}t||ƒr@t||ƒ||ƒS|jttt |ƒƒ|j ƒƒS)Nr%Úrepr_r_) rcrÉr!r%rr<rîr3r5rÈrê)r>rNÚlevelÚ methodnamerrrÚrepr1¹s  zHTMLRepr.repr1cCs^t||jƒ}t|ƒ}d|krJdt|ddƒkrJd|d|j|ƒ|dStjdd|j|ƒƒS)Nr€z\\rÚrrz-((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)z\1)r3rérÈr/rîrr)r>rNrðÚtestÚtestreprrrrÚ repr_stringÀs zHTMLRepr.repr_stringc Cs8y|jttt|ƒƒ|jƒƒS|jd|jjƒSdS)Nz <%s instance>)rîr3r5rÈréÚ __class__r%)r>rNrðrrrÚ repr_instanceÍszHTMLRepr.repr_instanceN) r%r&r[rzrîrÈròröÚrepr_strrøZ repr_unicoderrrrrâ«s râc@s eZdZeƒZejZejZdd„Zd4dd„Zd5d d „Z d d „Z d d„Z d6dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdiiifdd„Zd7d d!„Zd8d"d#„Zddiifd$d%„Zd&d'„Zddiiidfd(d)„Zd*d+„Zd9d,d-„Zd:d.d/„Zd;d0d1„Zd Python: %s %s r)r>ÚtitleÚcontentsrrrÚpageÞsz HTMLDoc.pagercCsd|||||pdfS)Na'
 
 
%s
%s
z r)r>rûÚfgcolÚbgcolZextrasrrrÚheadingès zHTMLDoc.headingéNú c Cs^|dkrdd|d}d|||f} |r@| d||||f} n| d|||f} | d|S)Nzz zzË

zR z( z'
 
%s
%s %s
%s
%s%s%s
r) r>rûrþrÿrüÚwidthZpreludeZ marginaliaZgaprrrrÚsectionószHTMLDoc.sectioncGsd|}|j|f|žŽS)Nz%s)r)r>rûrÅrrrÚ bigsection szHTMLDoc.bigsectionc Cs&|j|jƒƒ}t|ddddddddƒ S)Nz z rÇz rz
)rîÚ expandtabsr/)r>r.rrrÚ preformats zHTMLDoc.preformatrcCsŠd}t|ƒ|d|}xht|ƒD]\}|dd|}x>t|||||ƒD]$}|t|ƒkrN||||ƒd}qNW|d}q"Wd|S)Nrrzråz
zz7%s
)r Úrange)r>ÚlistÚformatZcolsrÚrowsÚcolrlrrrÚ multicolumns  zHTMLDoc.multicolumncCsd|S)Nz%sr)r>r.rrrÚgrey sz HTMLDoc.greycGs*x$|D]}||krd|||fSqW|S)Nz%sr)r>r(ZdictsÚdictrrrÚnamelink"s zHTMLDoc.namelinkcCsN|jtjj|jƒ}}t||ƒrDt||ƒ|krDd|j|t||ƒfSt||ƒS)Nz%s)r%rr—ror&rcr<r))r>rr'r(r�rrrÚ classlink)s zHTMLDoc.classlinkcCsd|j|jfS)Nz%s)r%)r>rrrrÚ modulelink1szHTMLDoc.modulelinkcCsR|\}}}}|r|j|ƒS|r,d||f}nd|}|rBd|}n|}d||fS)Nz %s.%s.htmlz%s.htmlz"%s (package)z%s)r)r>Z modpkginfor(rr}ÚshadowedÚurlr.rrrÚ modpkglink5s   zHTMLDoc.modpkglinkcCs d||fS)Nz%sr)r>rrrrrÚfilelinkDszHTMLDoc.filelinkcCsŒ|p|j}g}d}tjdƒ}�xL|j||ƒ} | s2P| jƒ\} } |j|||| …ƒƒ| jƒ\} } }}}}| r�|| ƒjddƒ}|jd||fƒnÔ|r¸dt|ƒ}|jd||| ƒfƒn¬|ràdt|ƒ}|jd||| ƒfƒn„|�r$|| | d…d k�r|jd |j ||ƒƒn|jd |ƒn@|| | d…d k�rR|j|j ||||ƒƒn|j|j ||ƒƒ| }q W|j|||d…ƒƒd j |ƒS) NrzD\b((http|ftp)://\S+[\w/]|RFC[- ]?(\d+)|PEP[- ]?(\d+)|(self\.)?(\w+))ú"z"z%sz'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 Úgroupsr/Úintrr!)r>r.rîÚfuncsÚclassesrFrhÚhereÚpatternÚmatchÚstartÚendrdÚschemeZrfcZpepZselfdotr(rrrrÚmarkupHs<      zHTMLDoc.markupc CsÂd}x´|D]¬}t|ƒtfƒkr�|\}}|d}||j||ƒ}|r†||fkr†g}x|D]} |j|j| |ƒƒqVW|ddj|ƒd}|d}q t|ƒtgƒkr |d|j|||ƒ}q Wd|S) Nrz"

rz, ú)z
z
%s
z
%s
)rÉrr r!Ú formattree) r>Útreer'ÚparentrÚentryÚcÚbasesÚparentsrIrrrr(ss    zHTMLDoc.formattreec#sÎ|j}y |j}Wntk r(d}YnX|jdƒ}g}x@tt|ƒdƒD],}|jddj|d|d…ƒ||fƒqJWdj||d-d…ƒ} d| } y&tj |ƒ} t j j | ƒ} ˆj | | ƒ} Wntk rÖd} YnXg}t|dƒ�r:t|jƒ}|dd…d.k�r&|d/d…dk�r&|dd0…jƒ}|jd ˆj|ƒƒt|d ƒ�r\|jˆjt|jƒƒƒ|�rt| d d j|ƒ} ˆj|ƒ}|dk �r”dtƒ}nd}ˆj| ddd| |ƒ}tj|tjƒ}gi}}xltj|tjƒD]Z\}}|dk �stj|ƒ�pø||k�rØt|||ƒ�rØ|j||fƒd|||<||<�qØWxŒ|D]„\}}xx|jD]n}|j|j}}tj j!|ƒ}||k�rL|�rLt||ƒ�rLt"||ƒ|k�rL||k�rL|d|||<||<�qLW�q%sz)%sz (built-in)r]é ú$z Revision: z version %srTz (%s)z, z-
Module Referencerz#ffffffz#7799eezindex
r~z.html#z#-z %sz

%s

rZrzPackage Contentsz#aa55cccsˆj|dƒS)Nr)r)Út)r>rrrrÜsz#HTMLDoc.docmodule..ÚModulescSsg|] \}}|‘qSrr)rkrGrHrrrr®ász%HTMLDoc.docmodule..ZClassesz#ee77aarÇZ Functionsz#eeaa77ZDataz#55aa55z
rPZAuthorrSZCreditsr�z $Revision: r�r�)6r%Ú__all__r´rrr r r!rrÛÚurllibÚparseZquoterrtrcÚstrr]rrîrTrßÚlocalsrr@r*r+Ú getmodulererAr&rr—ror<r,r8r6r-r&rrÚpkgutilÚ iter_modulesrZrur rrr(Ú getclasstreerÆrPrS)#r>rr(ÚmodÚignoredrdÚpartsZlinksrlZ linkednameÚheadrrrr¶ÚversionrÞrr—rZcdictrGrHrIr'r�rZfdictÚdatar"ÚmodpkgsÚimporterÚispkgrüÚ classlistr)r>rr¾†sÚ   &     $         $        zHTMLDoc.docmodulecsˆj}|p |}ˆj}g} | j‰G‡fdd„dƒ} | ƒ‰ttjˆƒƒ} t| ƒdkrŒˆjƒˆdƒx"| D]} ˆdˆj| ˆj ƒƒqfWˆdƒ‡‡‡‡‡‡‡‡fdd„} ‡‡‡‡fd d „}‡‡‡‡‡‡‡‡fd d „}‡fd d„t ˆƒDƒ}i‰xv|D]n\}}}}d|d|ˆ|<}yt ˆ|ƒ}Wnt k �r:YnXy |ˆ|<Wqòt k �r^YqòXqòWxð|�rT| �r|| jƒ‰n |dd‰t|‡fdd„ƒ\}}ˆtjk�r´|}�qfn"ˆˆk�rÄd}ndˆjˆˆj ƒ}|d7}t|ˆƒ| d||dd„ƒ}| d||dd„ƒ}| d||dd„ƒ}|d||dd„ƒ}|d||d d„ƒ}|}�qfWd!j| ƒ} ||k�rxd"||f}nd#|||f}|�rÆg}x"|D]} |jˆj| ˆj ƒƒ�q–W|d$d%j|ƒ}ˆjtˆƒˆjˆˆˆƒ}|�oêd&|}ˆj|d'd(| d)|ƒS)*Ncs eZdZdd„Z‡fdd„ZdS)z(HTMLDoc.docclass..HorizontalRulecSs d|_dS)Nr)Úneedone)r>rrrrz sz1HTMLDoc.docclass..HorizontalRule.__init__cs|jrˆdƒd|_dS)Nz
r)rF)r>)ÚpushrrÚmaybe sz.HTMLDoc.docclass..HorizontalRule.maybeN)r%r&r[rzrHr)rGrrÚHorizontalRule srIrz&
Method resolution order:
z
%s
z
cs”t||ƒ\}}|r�ˆjƒˆ|ƒxl|D]d\}}}}ytˆ|ƒ}Wn&tk rhˆˆj||ˆƒƒYnXˆˆj||ˆˆˆˆˆƒƒˆdƒq(W|S)Nr)rOrHr<Ú ExceptionÚ_docdescriptorrÆ)ÚmsgrvrKÚokr(riÚhomeclsrH)rrÚhrÚmdictr<rrGr>rrÚspills  zHTMLDoc.docclass..spillcsNt||ƒ\}}|rJˆjƒˆ|ƒx&|D]\}}}}ˆˆj||ˆƒƒq(W|S)N)rOrHrK)rLrvrKrMr(rirNrH)rOr<rGr>rrÚspilldescriptors/sz*HTMLDoc.docclass..spilldescriptorsc sÂt||ƒ\}}|r¾ˆjƒˆ|ƒxš|D]’\}}}}ˆjtˆ|ƒ|ˆƒ}t|ƒsZtj|ƒrht|ddƒ} nd} | dkr‚ˆd|ƒn0ˆjt|ƒˆj ˆˆˆƒ} d| } ˆd|| fƒˆdƒq(W|S)NrUz
%s
z
%sz
%s%s
r) rOrHrÄr<Úcallablerrgr&rr) rLrvrKrMr(rirNrHrIr")rrrOrPr<rrGr>rrÚ spilldata8s"  z#HTMLDoc.docclass..spilldatacs,g|]$\}}}}t|ˆd�r||||f‘qS))r9)re)rkr(rirjrH)rrrr®Ms z$HTMLDoc.docclass..r~ú-rcs |dˆkS)Nrr)r1)Ú thisclassrrrrfsz"HTMLDoc.docclass..z defined herezinherited from %sz:
z Methods %scSs |ddkS)NrÚmethodr)r1rrrrrvszClass methods %scSs |ddkS)Nrz class methodr)r1rrrrrxszStatic methods %scSs |ddkS)Nrz static methodr)r1rrrrrzszData descriptors %scSs |ddkS)Nrzdata descriptorr)r1rrrrr|szData and other attributes %scSs |ddkS)NrrAr)r1rrrrr~srz*class %sz/%s = class %sz(%s)z, z%s
 
z#000000z#ffc8d8r0)r%rAr rrÚgetmror rHrr&rfr<rJrtÚpopleftrOÚbuiltinsrrwr!r&rrr)r>rr(r<rrr=Úrealnamer-rürIÚmrorIrQrRrTrvrGrirNrHÚanchorÚ inheritedÚtagrûr.r"r) rrrOrPr<rrGr>rVrr¿ÿsŒ                              zHTMLDoc.docclasscCs|jd|j|ƒƒS)Nú=)rrÈ)r>rrrrÚ formatvalue”szHTMLDoc.formatvaluecCs¾|j}|p |}|r|jpdd|} d} d} t|ƒrŠ|jj} |rZ| |k rŠd|j| |ƒ} n0|jdk rzd|j|jj|ƒ} nd|j| |ƒ} ||kr d| |f} nD|rÒtj||gƒ|krÒd|jd||f}d } n|}d | ||f} d}tj|ƒ�rNytj|ƒ}Wnt t fk �r d}YnX|�rNt |ƒ}|d k�rNd |} |d d…}|�sXd }| |j |ƒ| �ov|j d| ƒ}| �rˆd|S|jt|ƒ|j|||ƒ}|�o¬d|}d||fSdS)NrrUrz from z method of %s instancez unbound %s methodz$%sz%srz)%s = %szz$%s lambda z(...)z'%sz
%s
z
%s
z
%s
%s
r�)r%r?r;r÷rrÚgetattr_staticr,Ú signatureÚ ValueErrorrtr6rîrr&rr)r>rr(r<rrrFrEr[r]ÚnoteÚskipdocsÚimclassrûZreallinkÚargspecrcÚdeclr"rrrrÀ˜sX       zHTMLDoc.docroutinecCsTg}|j}|r|d|ƒ|jdk rB|jt|ƒ|jƒ}|d|ƒ|dƒdj|ƒS)Nz!
%s
z
%s
z
r)r rUr&rrr!)r>r(rHr<rhrGr"rrrrKÓs   zHTMLDoc._docdescriptorcCs|j|||ƒS)N)rK)r>rr(r<rErrrrÃàszHTMLDoc.docpropertycGs|r d|pd}||j|ƒS)Nz%s = r)rÈ)r>rr(r<r=ZlhsrrrrÄäszHTMLDoc.docothercCs|j|||ƒS)N)rK)r>rr(r<rErrrr¼észHTMLDoc.docdatacCs„g}|dkri}xLtj|gƒD]<\}}}tdd„|Dƒƒròsz HTMLDoc.index..rrz#ffffffz#ee77aa)r9r:Úanyr rur rr)r>rrrBrCr(rDrürrrÚindexís z HTMLDoc.index)r)rrNr)r)N)NN)NNN)NN)NNN)N)r%r&r[râÚ_repr_instancerÈrîrýrrrrr rrrrrrr&r(r¾r¿rarÀrKrÃrÄr¼rnrrrrrúÕs:   +  y:   rúc@s0eZdZdd„Zdd„Zdd„ZeZdd„Zd S) ÚTextReprcCs,tj|ƒd|_|_d|_d|_|_dS)Nrãrärå)rrzrærçrèrérê)r>rrrrzs  zTextRepr.__init__cCsTtt|ƒdƒr@ddjt|ƒjjƒƒ}t||ƒr@t||ƒ||ƒSttt|ƒƒ|j ƒS)Nr%rïr_) rcrÉr!r%rr<r3r5rÈrê)r>rNrðrñrrrròs  zTextRepr.repr1cCsHt||jƒ}t|ƒ}d|krDdt|ddƒkrDd|d||dS|S)Nr€z\\rrór)r3rérÈr/)r>rNrðrôrõrrrrö s  zTextRepr.repr_stringc Cs,yttt|ƒƒ|jƒSd|jjSdS)Nz <%s instance>)r3r5rÈrér÷r%)r>rNrðrrrrøszTextRepr.repr_instanceN)r%r&r[rzròrörùrørrrrrpþs  rpc@sˆeZdZeƒZejZdd„Zddd„Zdd„Zdd d „Z dd d „Z ddd„Z dd„Z d dd„Z dd„Zd!dd„Zd"dd„Zd#dd„ZdS)$ÚTextDoccCsdjdd„|DƒƒS)Nrcss|]}|d|VqdS)úNr)rkrkrrrrl(szTextDoc.bold..)r!)r>r.rrrÚbold&sz TextDoc.boldú cs>|sdS‡fdd„|jdƒDƒ}|r4|djƒ|d<dj|ƒS)Nrcsg|] }ˆ|‘qSrr)rkr„)Úprefixrrr®-sz"TextDoc.indent..rrr�r�)rrr!)r>r.rur#r)rurÚindent*s zTextDoc.indentcCs$|j|ƒjƒ}|j|ƒd|dS)Nrz )rvrrs)r>rûrüZclean_contentsrrrr1szTextDoc.sectionNrc s¤d}xš|D]’}t|ƒtfƒkrt|\}}||t|ˆƒ}|rj||fkrj‡fdd„|Dƒ} |ddj| ƒ}|d}q t|ƒtgƒkr ||j|ˆ||dƒ}q W|S)Nrc3s|]}t|ˆƒVqdS)N)r))rkr,)r'rrrl@sz%TextDoc.formattree..z(%s)z, rz )rÉr)r!r() r>r)r'r*rurr+r,r-r.r)r'rr(8s  zTextDoc.formattreec CsD|j}tt|ƒƒ\}}|jd||o(d|ƒ}t|ddƒ}|j|ƒ}|dk r`||jd|dƒ}|rt||jd|ƒ}g} xNtj|tjƒD]<\} } |dk sªtj | ƒp¤||krˆt | ||ƒrˆ| j | | fƒqˆWg} xXtj|tj ƒD]F\} } |dk �stj | ƒ�stj | ƒ|krÜt | ||ƒrÜ| j | | fƒqÜWg} x6tj|tƒD]&\} } t | ||ƒ�r8| j | | fƒ�q8Wg}tƒ}t|dƒ�rÞxFtj|jƒD]6\}}}|j|ƒ|�r°|j |dƒn |j |ƒ�q†W|jƒ||jd d j|ƒƒ}g}xBtj|tjƒD]0\} } | jj|d ƒ�rò| |k�rò|j | ƒ�qòW|�rJ|jƒ||jd d j|ƒƒ}| �r²d d„| Dƒ}|jtj|dƒ|ƒg}x&| D]\} } |j |j| | |ƒƒ�qzW||jdd j|ƒƒ}| �rúg}x&| D]\} } |j |j| | |ƒƒ�qÂW||jdd j|ƒƒ}| �rFg}x*| D]"\} } |j |j| | |dd�ƒ�q W||jdd j|ƒƒ}t|dƒ�r t|jƒ}|dd…d"k�r�|d#d…dk�r�|dd$…jƒ}||jd|ƒ}t|dƒ�rÂ||jdt|j ƒƒ}t|dƒ�rä||jdt|j!ƒƒ}t|dƒ�r||jdt|j"ƒƒ}ytj#|ƒ}Wnt$k �r.d }YnX||jd!|ƒ}|S)%NÚNAMEz - r3zMODULE 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 DESCRIPTIONrZz (package)zPACKAGE CONTENTSrrZ SUBMODULEScSsg|] \}}|‘qSrr)rkrGrHrrrr®ˆsz%TextDoc.docmodule..rÚCLASSESÚ FUNCTIONSéF)r2ZDATAr]r/r0z Revision: ÚVERSIONrTZDATErPZAUTHORrSZCREDITSz (built-in)ZFILEz $Revision: r�r�)%r%r$rrr<rßrr@r+r8rer r,r8r-Úsetrcr9r:rZÚaddrur!r*rar(r;rÆrÄr6r]rrTrPrSrÛrt)r>rr(r<ZsynopÚdescrrdrÞrrGrHrrArBZ modpkgs_namesrCr'rDZ submodulesrErür@rƒrrrr¾Hsž           $    zTextDoc.docmodulecsXˆj}|p |}ˆj}ˆjfdd„}||kr:dˆj|ƒ}nˆj|ƒd|}|rlt||ƒ} |ddj| ƒ}tˆƒ} | r‚| dgp„g} | j‰tt j ˆƒƒ} t | ƒdkrÔˆd ƒx| D]} ˆd || ƒƒq´Wˆd ƒG‡fd d „d ƒ}|ƒ‰‡‡‡‡‡fdd„}‡‡‡‡fdd„}‡‡‡‡‡fdd„}‡fdd„t ˆƒDƒ}xæ|�r"| �rT| j ƒ‰n |dd‰t|‡fdd„ƒ\}}ˆtjk�rŒ|}�q>n ˆˆk�rœd}ndtˆˆjƒ}t|ˆƒ|d||dd„ƒ}|d||dd„ƒ}|d||d d„ƒ}|d!||d"d„ƒ}|d#||d$d„ƒ}|}�q>Wdj| ƒ} | �s<|dS|dˆj| jƒd%ƒdS)&NcSs t||ƒS)N)r))r,r­rrrÚmakename³sz"TextDoc.docclass..makenamezclass z = class z(%s)z, rrzMethod resolution order:z rcs eZdZdd„Z‡fdd„ZdS)z(TextDoc.docclass..HorizontalRulecSs d|_dS)Nr)rF)r>rrrrzÌsz1TextDoc.docclass..HorizontalRule.__init__cs|jrˆddƒd|_dS)NrUrzr)rF)r>)rGrrrHÎs z.TextDoc.docclass..HorizontalRule.maybeN)r%r&r[rzrHr)rGrrrIËsrIcs†t||ƒ\}}|r‚ˆjƒˆ|ƒx^|D]V\}}}}ytˆ|ƒ}Wn&tk rhˆˆj||ˆƒƒYq(Xˆˆj||ˆˆƒƒq(W|S)N)rOrHr<rJrKrÆ)rLrvrKrMr(rirNrH)rOr<rrGr>rrrQÔszTextDoc.docclass..spillcsNt||ƒ\}}|rJˆjƒˆ|ƒx&|D]\}}}}ˆˆj||ˆƒƒq(W|S)N)rOrHrK)rLrvrKrMr(rirNrH)rOr<rGr>rrrRåsz*TextDoc.docclass..spilldescriptorsc s¦t||ƒ\}}|r¢ˆjƒˆ|ƒx~|D]v\}}}}t|ƒsFtj|ƒrPt|ƒ}nd}ytˆ|ƒ} Wntk r€|j|} YnXˆˆj | |ˆd|d�dƒq(W|S)Nrz)r2r"r) rOrHrSrrgrr<r´Ú__dict__rÄ) rLrvrKrMr(rirNrHr"r9)rOr<rrGr>rrrTîs  z#TextDoc.docclass..spilldatacs,g|]$\}}}}t|ˆd�r||||f‘qS))r9)re)rkr(rirjrH)rrrr®s z$TextDoc.docclass..rcs |dˆkS)Nrr)r1)rVrrrr sz"TextDoc.docclass..z defined herezinherited from %sz Methods %s: cSs |ddkS)NrrWr)r1rrrrrszClass methods %s: cSs |ddkS)Nrz class methodr)r1rrrrrszStatic methods %s: cSs |ddkS)Nrz static methodr)r1rrrrrszData descriptors %s: cSs |ddkS)Nrzdata descriptorr)r1rrrrrszData and other attributes %s: cSs |ddkS)NrrAr)r1rrrrr sz | )r%rAr&rsÚmapr!rr rrrXr rfrYrOrZrr)rwrvr)r>rr(r<r=r[r-rrûr.r"rür\rIrIrQrRrTrvr^r_r)rOr<rrGr>rVrr¿­sl                        zTextDoc.docclasscCsd|j|ƒS)Nr`)rÈ)r>rrrrra*szTextDoc.formatvaluec Csr|j}|p |}d}d}t|ƒrn|jj}|rB||k rndt||ƒ}n,|jdk r`dt|jj|ƒ}ndt||ƒ}||kr‚|j|ƒ} n,|rœtj||gƒ|krœd}|j|ƒd|} d} tj|ƒ�rytj |ƒ} Wnt t fk rèd} YnX| �rt | ƒ} |dk�r|j|ƒd } | dd …} | �s&d } | | |} |�r@| d St |ƒ�pLd} | d | �oj|j| ƒjƒd SdS) Nrrz from z method of %s instancez unbound %s methodrz = zz lambda z(...)rr�)r%r?r;r÷r)rsrrbr,rcrdrtr6rrvr)r>rr(r<rEr[rerfrgrûrhrcrir"rrrrÀ.sH       zTextDoc.docroutinecCsTg}|j}|r$||j|ƒƒ|dƒt|ƒp.d}|rJ||j|ƒƒ|dƒdj|ƒS)Nrr)r rsrrvr!)r>r(rHr<rhrGr"rrrrK_s zTextDoc._docdescriptorcCs|j|||ƒS)N)rK)r>rr(r<rErrrrÃlszTextDoc.docpropertycCs|j|||ƒS)N)rK)r>rr(r<rErrrr¼pszTextDoc.docdatac Cs‚|j|ƒ}|rF|r|dpd|}|t|ƒ} | dkrF|d| …d}|rX|j|ƒdpZd|}|dk r~|d|jt|ƒƒ7}|S)Nz = rrz...r)rÈr rsrvr6) r>rr(r<r*r2r"rÈr„ZchoprrrrÄts  zTextDoc.docother)rt)Nr)NN)NN)NNN)NNN)NNN)NNNNN)r%r&r[rprorÈrsrvrr(r¾r¿rarÀrKrÃr¼rÄrrrrrqs   e } 1  rqc@seZdZdd„ZdS)Ú _PlainTextDoccCs|S)Nr)r>r.rrrrs‚sz_PlainTextDoc.boldN)r%r&r[rsrrrrr‚€sr‚cCstƒat|ƒdS)N)ÚgetpagerÚpager)r.rrrr„‡sr„c s<ttjdƒstSttjdƒs tStjjƒ s8tjjƒ r.ZTERMÚdumbÚemacscstt|ƒˆƒS)N)Ú pipepagerr‡)r.)rˆrrrršscs t|ˆƒS)N)r‹)r.)rˆrrrrœscSstt|ƒdƒS)Nzmore <)r†r‡)r.rrrrr sÚsystemz(less) 2>/dev/nullrcSs t|dƒS)NZless)r‹)r.rrrrr¢sz more "%s"cSs t|dƒS)NZmore)r‹)r.rrrrr©s)r‰rŠ)r‰rŠ)rcrÚstdinÚ plainpagerÚstdoutr…r rÜroÚplatformrŒÚtempfileZmkstempÚcloseÚttypagerÚunlink)r‘Úfdr™r)rˆrrƒ�s6          rƒcCstjdd|ƒS)Nz.r)rr)r.rrrr‡¯sr‡c Cs¢ddl}|j|d|jd�}yDtj|jdd��*}y|j|ƒWntk rPYnXWdQRXWntk rrYnXx(y|j ƒPWqvtk r˜YqvXqvWdS)NrT)Úshellr�Úbackslashreplace)Úerrors) Ú subprocessÚPopenÚPIPEÚioÚ TextIOWrapperr�ÚwriteÚKeyboardInterruptr’Úwait)r.Úcmdr™ÚprocÚpiperrrr‹³s r‹cCs`ddl}|jƒ}t|ddd��}|j|ƒWdQRXztj|d|dƒWdtj|ƒXdS)NrÚwr—)r˜z "r)r‘Zmktempr‘ržr rŒr”)r.r¡r‘r™rƒrrrr†Êsr†cCs$ttjddƒpd}|j|dƒj|ƒS)NÚencodingzutf-8r—)r<rr�ÚencodeÚdecode)r.r¥rrrÚ_escape_stdoutÕsr¨c CsÀtt|ƒƒjdƒ}y2ddl}tjjƒ}|j|ƒ}|j|ƒdd„}Wn(t t t j fk rld}dd„}YnX�z2yt tjjddƒƒ}Wntk r d}YnX|dkr®d}|d}}tjjdj|d|…ƒdƒxÆ||d…�ržtjjd ƒtjjƒ|ƒ} | dk�rtjjd ƒPn,| dk�rJtjjd ||dƒ|d}qÚ| dk�rn|||}|dk�rnd}tjjddj||||…ƒdƒ||}qÚWWd|�rº|j||j|ƒXdS)NrrcSs tjjdƒS)Nr)rr�r¦rrrrrrâszttypager..cSstjjƒdd…dd…S)Nrr�)rr�r‚rrrrrråsZLINESréz -- more --ÚqÚQz ú ÚbÚBú)rªr«)r¬r)r­r®r¯)r‡r¨rÚttyrr�ÚfilenoZ tcgetattrZ setcbreakr³r´rœÚUnsupportedOperationrr rÜrordr�ržr!ÚflushZ tcsetattrZ TCSAFLUSH) r.r#r°r•ÚoldZgetcharÚhróZincr,rrrr“ÚsL              &r“cCstjjtt|ƒƒƒdS)N)rr�ržr‡r¨)r.rrrrŽsrŽcCsÜtj|ƒr>|jtjkr d|jSt|dƒr4d|jSd|jStj|ƒrRd|jStj|ƒrtd|jj |jj|jfStj |ƒr–d|jj |jj|jfStj |ƒrªd|jStj |ƒr¾d |jStj |ƒrÒd |jSt|ƒjS) Nzbuilt-in module rZzpackage zmodule zbuilt-in function zgetset descriptor %s.%s.%szmember descriptor %s.%s.%szclass z function zmethod )rr*r%rr¯rcr8r»Ú __objclass__r&r½r+r6r7rÉ)ÚthingrrrÚdescribe s.                    r¸c Cs¬dd„|jdƒDƒ}d\}}xB|t|ƒkr^tdj|d|d…ƒ|ƒ}|rZ||d}}qPqW|rj|}nt}x8||d…D](}yt||ƒ}Wq|tk r¢dSXq|W|S)NcSsg|] }|r|‘qSrr)rkr·rrrr®'szlocate..rrr)Nr)rr r¸r!rZr<r´)rrµr>r�ÚnZ nextmodulerr·rrrÚlocate%s  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%)rÁr6rºr³r<)r·rµrr(rrrÚresolve>s    r»ú Python Library Documentation: %scCsÒ|dkr t}t||ƒ\}}t|ƒ}tj|ƒ}|rTd|krT|d|d|jdƒ…7}n|rn||k rn|d|j7}tj|ƒp¨tj|ƒp¨tj |ƒp¨tj |ƒp¨tj |ƒp¨t |t ƒsºt|ƒ}|d7}||d|j||ƒS)Nrz in z in module z objectz )r.r»r¸rr8Úrfindr%r*r+r,r»r½rÁrÂrÉrÆ)r·rûrµZrendererrr(r~r�rrrÚ render_docLs$         r¾cCsfy2|dkrtt|||ƒƒn|jt|||tƒƒWn.ttfk r`}zt|ƒWYdd}~XnXdS)N)r„r¾ržÚ plaintextr³rŸÚprint)r·rûrµÚoutputrHrrrr"es r"cCs”y`t||ƒ\}}tjt|ƒtj||ƒƒ}t|dddd��}|j|ƒWdQRXtd|dƒWn.tt fk rŽ}zt|ƒWYdd}~XnXdS)Nz.htmlr¤zutf-8)r¥Zwrote) r»Úhtmlrýr¸rÆr‘ržrÀr³rŸ)r·rµrr(rýrƒrHrrrÚwritedocpsrÃrcCs6|dkr i}x$tj|g|ƒD]\}}}t|ƒqWdS)N)r9Ú walk_packagesrÃ)rÚpkgpathÚdonerCr'rDrrrÚ writedocs{s  rÇcJ@sÄeZdZddddddïdðdñdòdódôd dõdddödd÷dødùdúddûdüdddýdþdÿ�d�d�d�dd&œ!Zd'd(„�dDƒZ�de˜�d�d�d�d �d �d dSœZdTdUdVdWdXdYdZd[d\d]d^d_d_d`d`daœZxPejƒD]D\ZZ x8e D]0Z ej e eƒZ ee k�rðe dbeZ e ee <�qÊW�q¼W�d �d �d�d�d�d�d�d�d�ddv�d�d�d�ddd�d�d�d�d�dd�ddˆdˆ�d �d!�d"�d#�d$�d%�d&�d'�d(�d)�d*dœdœ�d+�d,�d-�d.�d/�d0d¦�d1�d2�d3�d4�d5�d6�d7�d8�d9�d:�d;�d<�d=�d>�d?�d@d�dA�dBd d!dd �dC�dD�dE�dFdÊœIZ �dGdÌdÍ„Z edÎdÏ„ƒZedÐdÏ„ƒZdÑdÒ„ZeƒZefdÓdÔ„ZdÕdÖ„Zd×dØ„ZdÙdÚ„ZdÛdÜ„Z�dHdßdà„Zdádâ„Zdãdä„Zdådæ„Z�dIdçdè„Z�dJdédê„Zdëdì„Z�dKdídî„Z dËS(LÚHelperrÚBOOLEANÚwithÚassertÚbreakú while forÚclassúCLASSES SPECIALMETHODSÚcontinueÚfunctionÚdelÚ BASICMETHODSÚifÚelseÚtryÚforúbreak continue whileÚimportÚglobalúnonlocal NAMESPACESÚ TRUTHVALUEÚMODULESÚinÚSEQUENCEMETHODSÚ COMPARISONÚlambdaryÚnonlocalúglobal NAMESPACESÚpassÚraiseÚ EXCEPTIONSÚreturnÚwhileúbreak continue if TRUTHVALUEú CONTEXTMANAGERS EXCEPTIONS yieldÚyield)!ÚFalseÚNoneÚTrueÚandÚasrËrÌrÎrÐÚdefrÒÚelifrÕÚexceptÚfinallyr×ÚfromrÚrÔrÙrÞÚisrárâÚnotÚorrärårçrÖrèrÊrëcCsg|]}dD] }||‘q qS)ú'r)rùrr)rkÚprªrrrr®´szHelper.r­ÚfróÚurùú'''rú"""ú+rUÚ*ú**rÚú//ú%ú<<ú>>rëú|ú^ú~rìríú<=ú>=ú==ú!=ú<>ú+=ú-=ú*=ú/=ú%=ú&=ú|=ú^=ú<<=ú>>=ú**=ú//=ÚjÚJ)ÚSTRINGSÚ OPERATORSràÚUNARYÚAUGMENTEDASSIGNMENTÚBITWISEÚCOMPLEXzOPERATORS FORMATTINGÚPOWERzTUPLES LISTS FUNCTIONSz ATTRIBUTES FLOAT MODULES OBJECTSÚELLIPSISzSLICINGS DICTIONARYLITERALSz def classrÚ PRIVATENAMESzPRIVATENAMES SPECIALMETHODSZ BACKQUOTESzTUPLES FUNCTIONS CALLSzLISTS SUBSCRIPTS SLICINGS)rz**ú,rz...ú:ú@r€r_r^ú`rr'ú[ú]rÇÚtypesúRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspectÚstringsú4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPESústring-methodsúSTRINGS FORMATTINGÚ formatstringsrú:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPESÚnumbersúINTEGER FLOAT COMPLEX TYPESÚintegersú int rangeÚfloatingú float mathÚ imaginaryú complex cmathÚtypesseqú$STRINGMETHODS FORMATTING range LISTSÚ DICTIONARIESÚtypesfunctionsú def TYPESÚ typesmethodsúclass def CLASSES TYPESúbltin-code-objectsúcompile FUNCTIONS TYPESúbltin-type-objectsú types TYPESÚTYPESúbltin-null-objectúbltin-ellipsis-objectÚSLICINGSÚ specialattrsú!class SPECIALMETHODS PRIVATENAMESÚ typesmodulesúoperator-summaryú˜lambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIESÚ EXPRESSIONSÚobjectsÚ specialnamesúbBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS NUMBERMETHODS CLASSESÚ customizationúhash repr str SPECIALMETHODSúattribute-accessúATTRIBUTES SPECIALMETHODSúcallable-typesúCALLS SPECIALMETHODSúsequence-typesú(SEQUENCES SEQUENCEMETHODS SPECIALMETHODSúMAPPINGS SPECIALMETHODSú numeric-typesú*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODSÚ execmodelú%NAMESPACES DYNAMICFEATURES EXCEPTIONSÚnamingú3global nonlocal ASSIGNMENT DELETION DYNAMICFEATURESúdynamic-featuresÚ NAMESPACESrÎútry except finally raiseÚ conversionsÚ identifiersúkeywords SPECIALIDENTIFIERSú id-classesúatom-identifiersú atom-literalsú=STRINGS NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALSÚ SEQUENCESÚ exprlistsúTUPLES LITERALSútypesseq-mutableÚ LISTLITERALSÚlistsúLISTS LITERALSÚ typesmappingÚDICTIONARYLITERALSrúDICTIONARIES LITERALSúattribute-referencesú(getattr hasattr setattr ATTRIBUTEMETHODSÚ subscriptionsÚslicingsÚcallsÚpowerÚunaryÚbinaryÚshiftingÚbitwiseÚ comparisonsúEXPRESSIONS BASICMETHODSÚbooleansúEXPRESSIONS TRUTHVALUEÚ assignmentrÚ augassignÚ NUMBERMETHODSÚcompoundúfor while break continueÚtruthú if while and or not BASICMETHODSÚdebuggerÚpdbúcontext-managers)IrFrZ STRINGMETHODSZ FORMATTINGÚUNICODEZNUMBERSZINTEGERZFLOATr!rlZMAPPINGSryZMETHODSZ CODEOBJECTSZ TYPEOBJECTSZ FRAMEOBJECTSZ TRACEBACKSZNONEr#ZSPECIALATTRIBUTESrxrÝZPACKAGESrOrZ PRECEDENCEZOBJECTSZSPECIALMETHODSrÓZATTRIBUTEMETHODSZCALLABLEMETHODSrßZMAPPINGMETHODSr†Z EXECUTIONrcZDYNAMICFEATURESZSCOPINGZFRAMESræZ CONVERSIONSZ IDENTIFIERSZSPECIALIDENTIFIERSr$ZLITERALSZTUPLESZ TUPLELITERALSZLISTSrpr=rtZ ATTRIBUTESZ SUBSCRIPTSrIZCALLSr"rZBINARYZSHIFTINGr ràrÉZ ASSERTIONZ ASSIGNMENTrZDELETIONZ RETURNINGZ IMPORTINGZ CONDITIONALZLOOPINGrÜZ DEBUGGINGZCONTEXTMANAGERSNcCs||_||_dS)N)Ú_inputÚ_output)r>ÚinputrÁrrrrz/szHelper.__init__cCs |jp tjS)N)r�rr�)r>rrrrr3szHelper.cCs |jp tjS)N)r�rr�)r>rrrrr4scCs2tjƒdddkr|ƒdSd|jj|jjfS)Nrr0ú?rz<%s.%s instance>)rÚstackr÷r&r[)r>rrrÚ__repr__6s zHelper.__repr__cCs6||jk r|j|ƒn|jƒ|jƒ|jjdƒ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ÚinteractrÁrž)r>ÚrequestrrrÚ__call__>s   zHelper.__call__c CsÄ|jjdƒx²y|jdƒ}|s PWnttfk r<PYnX|jƒ}t|ƒdkr’|d|d kold knr’|d|dd …kr’|dd…}|jƒdkr P|d kr²|jƒq|j |ƒqWdS)Nrzhelp> rrrrùrrªÚquitrr�)rùrr�r�)rªrš) rÁržÚgetlinerŸÚEOFErrorrr rÝr–r)r>r˜rrrr—Ks"  ,   zHelper.interactcCs8|jtjkrt|ƒS|jj|ƒ|jjƒ|jjƒSdS)N)r‘rr�rÁržr³r‚)r>Úpromptrrrr›`s    zHelper.getlinecCs<t|ƒtdƒk�r|jƒ}|dkr,|jƒnÚ|dkr>|jƒnÈ|dkrP|jƒn¶|dkrb|jƒn¤|dd…dkr†|j|jƒdƒn€||jkrœ|j|ƒnj|dkr´t t |ƒd ƒnR||j krÊ|j |ƒn<||j krà|j |ƒn&|röt |d |jd �nt td |jd �n$t|tƒ�r|ƒnt |d |jd �|jjdƒdS)NrÚkeywordsÚsymbolsÚtopicsr—ézmodules rrîrìríz Help on %s:)rÁr)rîrìrí)rÉrÚ listkeywordsÚ listsymbolsÚ listtopicsÚ listmodulesrrŸÚ showsymbolr"ÚevalržÚ showtopicr r�r6rÁrÈrÁrž)r>r˜rrrris6        z Helper.helpcCs$|jjdjdtjdd…ƒƒ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)rÁržr rrà)r>rrrr–~sz Helper.introréPc Cs´tt|ƒƒ}||}t|ƒ|d|}x†t|ƒD]z}xht|ƒD]\}|||}|t|ƒkr@|jj||ƒ||dkr@|jjdd|dt||ƒƒq@W|jjdƒq2WdS)NrrÇr)r Úsortedr rrÁrž) r>ÚitemsÚcolumnsrZcolwr Úrowr rlrrrr �s    (z Helper.listcCs |jjdƒ|j|jjƒƒdS)NzN Here is a list of the Python keywords. Enter any keyword to get more help. )rÁržr ržrD)r>rrrr¢œszHelper.listkeywordscCs |jjdƒ|j|jjƒƒdS)Nzx Here is a list of the punctuation symbols which Python assigns special meaning to. Enter any symbol to get more help. )rÁržr rŸrD)r>rrrr££szHelper.listsymbolscCs |jjdƒ|j|jjƒƒdS)NzN Here is a list of available topics. Enter any topic name to get more help. )rÁržr r rD)r>rrrr¤«szHelper.listtopicsc Cs,y ddl}Wn tk r,|jjdƒdSX|jj||jj|ƒƒ}|s`|jjdt|ƒƒdSt|ƒtdƒkr||j ||ƒS|\}}y|jj|}Wn(t k r¼|jjdt|ƒƒdSX|j ƒd}|rÞ|pÔdd|}|�r ddl }ddj |jƒƒd} |j| d ƒ} |d dj | ƒ7}t|ƒdS) Nrzt Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. zno documentation found for %s rrrÇzRelated help topics: z, éHz %s )Úpydoc_data.topicsr³rÁržr roržrÈrÉr¨ÚKeyErrorrÚtextwrapr!rZwrapr„) r>ÚtopicÚ more_xrefsÚ pydoc_dataÚtargetÚlabelÚxrefsr"r±r.Z wrapped_textrrrr¨²s6    zHelper.showtopicc CsŠy ddl}Wntk r dSX|jj||jj|ƒƒ}|sDtdƒ‚t|tƒrZ|j||ƒS|\}}|jj|}|r‚|pxdd|}||fS)Nrút Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. rzcould not find topicrÇ)r¸r) r¯r³r roržrdrÁr6Ú _gettopic)r>r²r³r´rµr¶r·r"rrrr¹Òs     zHelper._gettopiccCs*|j|}|jdƒ\}}}|j||ƒdS)NrÇ)rŸÚ partitionr¨)r>Úsymbolrµr²r_r·rrrr¦ís zHelper.showsymbolcsv|r |jjdj|ƒƒt|ƒnR|jjdƒi}|fdd„‰‡fdd„}tƒjˆ|d�|j|jƒƒ|jjdƒ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}|jdƒdkr:d||<dS) Né z .__init__z (package)rrri÷ÿÿÿi÷ÿÿÿ)Úfind)rr'r~r—rrrÚcallbacksz$Helper.listmodules..callbackcsˆd|dƒdS)Nr)r')r¾rrÚonerrorsz#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". )rÁržr ÚaproposÚ ModuleScannerÚrunr rD)r>rGr—r¿r)r¾rr¥òs    zHelper.listmodules)rËr)rÌrÍ)rÎrÏ)rÐrÍ)rÑr)rÒrÓ)rÕrÍ)r×rØ)rÚrÛ)rÔrÜ)rÙrÝ)rÞrß)ráry)rârã)rär)råræ)rçry)rÖræ)rèré)rÊrê)rër)r­rûrórü)rùrýrrþ)rÿrUrrrÚrrrrrërrrrìrír r r r r )rìrír r r r r )rUr) rrrrrrrrrrrr)rrrërrr)rr)r+r,)r-r.)r/r0)r1r)r-r2)r3r4)r5r6)r7r8)r9r:)r;r<)r>r?)r@rA)rBrC)rDrE)rGr)rHrI)rJr)r+rK)rLrÙ)rMrN)rPrF)rQrR)rSrT)rUrV)rWrX)rYrZ)rYr[)r\r])r^r_)r`ra)rbr)rÎrd)rer)rfrg)rhr)rir)rjrk)rmrn)rorp)rqrr)rsrt)rru)rvrw)rxrß)ryrß)rzrO)r{rO)r|rO)r}rO)r~rO)rrO)r€r�)r‚rƒ)r„r)r…r†)r‡rˆ)r‰rŠ)r‹rŒ)r�rÊ)NN)rr©)r)r)r)!r%r&r[ržZ _strprefixesZ_symbols_inverserŸr«r²Zsymbols_r»ror rzrÂr‘rÁr”rr•r™r—r›rr–r r¢r£r¤r¨r¹r¦r¥rrrrrÈ‚s6              rÈc@seZdZddd„ZdS)rÁNcCs |r |jƒ}d|_i}xztjD]p}|dkrd||<|dkrH|d|dƒqt|ƒjpTd}|jdƒd}|d|}|jƒj|ƒdkr|d||ƒqW�xdtj |d�D�]R\} }} |jr¶P|dkrÌ|d|dƒq¢ytj | |ƒ} Wnt k ròw¢YnX| j } t | d ƒ�rny| j|ƒ} Wn&tk �r:|�r4||ƒw¢YnXttj| ƒƒ�pNd}t | d ƒ�rh| j|ƒ}nd}n^ytjj| ƒ}Wn&tk �r¤|�rž||ƒw¢YnX|j�r¼|jjƒdnd}t|d dƒ}|d|}|jƒj|ƒdkr¢||||ƒq¢W|�r|ƒdS) NFÚ__main__rrrrz - )r¿Ú get_sourceÚ get_filenamerV)rÝršrr¯r°rUrr½r9rÄÚ _get_specr±r†rcrÄrJr…rœÚStringIOrÅrŠr•r–r³r˜r<)r>r¾rGZ completerr¿Úseenr'r(r~rCrDrœr†Úsourcerr�rrrrÂs`       zModuleScanner.run)NNN)r%r&r[rÂrrrrrÁsrÁc CsDdd„}dd„}tjƒ�"tjdƒtƒj|||d�WdQRXdS)NcSs6|dd…dkr |dd…d}t||o.d|ƒdS)Nr¼z .__init__z (package)z- i÷ÿÿÿi÷ÿÿÿ)rÀ)rr'r~rrrr¾Oszapropos..callbackcSsdS)Nr)r'rrrr¿Sszapropos..onerrorÚignore)r¿)ÚwarningsÚcatch_warningsÚfilterwarningsrÁrÂ)rGr¾r¿rrrrÀMs   rÀcs ddl‰ddl‰ddl‰ddl‰Gdd„dˆjjƒ‰G‡fdd„dˆjjƒ‰G‡‡‡‡‡fdd„dˆjƒ}|||ƒ}|jƒx|j rš|j ršt j dƒq~W|S) Nrc@seZdZdd„Zdd„ZdS)z!_start_server..DocHandlercSsX|jjdƒrd}nd}|jdƒ|jdd|ƒ|jƒ|jj|j|j|ƒjdƒƒdS)Nz.cssztext/cssz text/htmléÈz Content-Typez%s; charset=UTF-8zutf-8) rrbZ send_responseZ send_headerZ end_headersZwfileržÚ urlhandlerr¦)r>Ú content_typerrrÚdo_GETšs   z(_start_server..DocHandler.do_GETcWsdS)Nr)r>rÅrrrÚ log_messageªsz-_start_server..DocHandler.log_messageN)r%r&r[rÑrÒrrrrÚ DocHandler˜srÓcs(eZdZdd„Z‡fdd„Zdd„ZdS)z _start_server..DocServercSs6d|_|j|f|_||_|jj||j|jƒd|_dS)NZ localhostF)ÚhostZaddressr¾rIrzÚhandlerrš)r>Úportr¾rrrrz°s  z)_start_server..DocServer.__init__csBx4|js4ˆj|jjƒgggdƒ\}}}|r|jƒqW|jƒdS)Nr)ršÚselectZsocketr±Zhandle_requestZ server_close)r>ZrdÚwrZex)r×rrÚserve_until_quit·s  z1_start_server..DocServer.serve_until_quitcSs |jj|ƒ|jr|j|ƒdS)N)rIÚserver_activater¾)r>rrrrÚ¾s z0_start_server..DocServer.server_activateN)r%r&r[rzrÙrÚr)r×rrÚ DocServer®s rÛcs:eZdZ‡fdd„Z‡‡‡‡fdd„Zdd„Zdd„Zd S) z#_start_server..ServerThreadcs,||_t|ƒ|_ˆjj|ƒd|_d|_dS)NF)rÏrrÖÚThreadrzÚservingÚerror)r>rÏrÖ)Ú threadingrrrzÅs   z,_start_server..ServerThread.__init__cstyFˆjjˆ_ˆˆ_ˆjjˆ_t|jƒˆ_ˆ|j |j ƒ}||_ |j ƒWn(t k rn}z ||_WYdd}~XnXdS)N)ÚserverÚ HTTPServerrIrÕrÊZMessageZ MessageClassÚ staticmethodrÏrÖÚreadyÚ docserverrÙrJrÞ)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_|jƒd|_d|_d|_dS)NTF)räršr!rÝr)r>rrrÚstopßs z(_start_server..ServerThread.stopN)r%r&r[rzrÂrãrèr)rÓrÛrærçrßrrÚ ServerThreadÃs  rég{®Gáz„?) Z http.serverZ email.messager×rßràZBaseHTTPRequestHandlerrárÜr#rÞrÝÚtimeZsleep)rÏrÖréZthreadr)rÓrÛrærçr×rßrÚ _start_server[s8& rëú text/htmlc sG‡fdd„dtƒ}|ƒ‰‡fdd„‰‡fdd„‰‡fdd„‰‡fd d „‰‡fd d „‰‡fd d„‰‡fdd„‰‡fdd„‰‡‡‡‡‡‡‡‡fdd„}|jdƒrª|dd…}|dkrôtjjtjjtƒƒ}tjj||ƒ}t|ƒ�}dj|j ƒƒ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>rûrüÚcss_pathZcss_link)Ú html_navbarrrrýýsz#_url_handler.._HTMLDoc.pageN)r%r&r[rýr)rîrrÚ_HTMLDocûsrïcs>ˆjdtjƒtjƒdtjƒfƒ}d|ˆjtjdd�ƒfS)Nz %s [%s, %s]raZ
Python %s
%s
T)Zterse)rîr�Zpython_versionZ python_buildZpython_compiler)r@)rÂrrrî s  z!_url_handler..html_navbarcsˆdd„}ˆjdddƒ}dd„tjDƒ}ˆj||ƒ}|dˆjd dd |ƒg}i}x tjD]}|jˆj||ƒƒqVW|jd ƒd d j|ƒfS)NcSs d||fS)Nz%sr)r(rrrÚ bltinlink+ sz3_url_handler..html_index..bltinlinkz7Index of Modulesz#ffffffz#7799eecSsg|]}|dkr|‘qS)rÃr)rkr(rrrr®1 sz4_url_handler..html_index..z

zBuilt-in Modulesz#ee77aaz|

pydoc by Ka-Ping Yee<ping@lfw.org>zIndex of Modulesr) rrr¯r rrr rnr!)rðrÚnamesrürÈr)rÂrrÚ html_index( s  z _url_handler..html_indexc s¬g‰‡fdd„}tjƒ�*tjdƒdd„}tƒj|||d�WdQRXdd„}g}ˆjd d d ƒ}x"ˆD]\}}|j||ƒ|ƒqhW|ˆjd |d d dj|ƒƒ}d|fS)Ncs:|dd…dkr |dd…d}ˆj||o0d|fƒdS)Nr¼z .__init__z (package)z- i÷ÿÿÿi÷ÿÿÿ)r )rr'r~)Ú search_resultrrr¾F sz3_url_handler..html_search..callbackrÊcSsdS)Nr)r'rrrr¿M sz2_url_handler..html_search..onerror)r¿cSs d||fS)Nz%sr)r(rrrrðR sz4_url_handler..html_search..bltinlinkz5Search Resultsz#ffffffz#7799eezkey = %sz#ee77aaz
zSearch Results) rËrÌrÍrÁrÂrr rr!) rGr¾r¿rðrhrr(r~rü)rÂ)rórÚ html_searchA s    z!_url_handler..html_searchcsLdd„}ˆjdddƒ}ttjjƒƒ}ˆj||ƒ}|ˆjddd|ƒ}d|fS)NcSs d||fS)Nz%sr)r(rrrrðb sz4_url_handler..html_topics..bltinlinkz,INDEXz#ffffffz#7799eeZTopicsz#ee77aa)rrªrÈr rDr r)rðrrñrü)rÂrrÚ html_topics_ s z!_url_handler..html_topicscsLˆjdddƒ}ttjjƒƒ}dd„}ˆj||ƒ}|ˆjddd|ƒ}d|fS)Nz,INDEXz#ffffffz#7799eecSs d||fS)Nz%sr)r(rrrrðv sz6_url_handler..html_keywords..bltinlinkZKeywordsz#ee77aa)rrªrÈržrDr r)rrñrðrü)rÂrrÚ html_keywordso s z#_url_handler..html_keywordscs´tjƒ}t||ƒ}|j|ƒ\}}||jkr0d}nd}ˆjd|ddƒ}dˆj|ƒ}ˆj|dd|ƒ}|r˜t|j ƒƒ}dd „}ˆj ||ƒ}ˆj d dd|ƒ}d ||fd j |||fƒfS) NZKEYWORDZTOPICz)%sz#ffffffz#7799eez

%s
z#ee77aacSs d||fS)Nz%sr)r(rrrrð� sz7_url_handler..html_topicpage..bltinlinkzRelated help topics: z%s %sr) rœrÇrÈr¹ržrr&rrªrr rr!)r²ZbufZhtmlhelprür·rûrrð)rÂrrÚhtml_topicpage~ s&      z$_url_handler..html_topicpagecs@t|dd�}|dkr$|dkr$tdƒ‚t|ƒ}ˆj||ƒ}||fS)Nr)rµrízcould not find object)rºrdr¸rÆ)rr9rûÚcontent)rÂrrÚ html_getobj˜ s   z!_url_handler..html_getobjcsPˆjdddƒ}dj‡fdd„tt|ƒ|ƒDƒƒ}|ˆj|dd|ƒ}d||fS) Nz,Errorz#ffffffz#7799eez
c3s|]}ˆj|ƒVqdS)N)rî)rkr„)rÂrrrl¤ sz3_url_handler..html_error..z#bb0000z Error - %s)rr!rrÉr)rr rrü)rÂrrÚ html_error  s z _url_handler..html_errorcst|}|jdƒr|dd …}�y|d kr4ˆƒ\}}�nþ|dkrHˆƒ\}}nê|dkr\ˆƒ\}}nÖd|k�r&|jdƒ\}}}|dkrŒˆ|ƒ\}}n˜|d krÈyˆ|ƒ\}}Wn tk rĈ|ƒ\}}YnXn\|d k�r|dkr戃\}}n4yˆ|ƒ\}}Wn"tk �rˆ|ƒ\}}YnXntd ƒ‚n ˆ|ƒ\}}Wn2tk �rf}zˆ||ƒ\}}WYdd}~XnXˆj||ƒS)Nz.htmlérrnr ržr`z search?keyz topic?keyzget?keyz bad pydoc urléûÿÿÿ)rrn)rrn)rbrºrdrJrý)rZ complete_urlrûrøÚopr_r )rÂrúrùròrörôr÷rõrrÚ get_html_pageª s>         z#_url_handler..get_html_pagerÚrztext/cssrz text/htmlz"unknown content type %r for url %s) rúrar rÚdirnameÚrealpathrVr!r‘Ú readlinesrt)rrÐrïrþZ path_hereríÚfpr) rÂrúrùròrörîrôr÷rõrÚ _url_handleròs*         (    rT)Ú open_browsercCsàddl}tt|ƒ}|jr&t|jƒdS|jrÜd}|r@|j|jƒz‚y^td|jƒt|ƒxD|jrœtdƒ}|j ƒ}|dkr|PqZ|dkr’|j|jƒqZt|ƒqZWWnt t fk r¾tƒYnXWd|jrÚ|j ƒtdƒXdS)Nrz"Server commands: [b]rowser, [q]uitzServer ready atzserver> rªr­zServer stopped) Ú webbrowserrërrÞrÀrÝr‘rr‘rÝrŸrœrè)rÖrrZ serverthreadZserver_help_msgr¡rrrÚbrowseß s2    rcCst|tƒo|jtjƒdkS)Nr)rÁr6r½r Úsep)rNrrrÚispath srcCsddl}Gdd„dtƒ}dtjkrXtjjtjdƒ}|tjkrJtjj|ƒtjjddƒ�yp|jtjdd…dƒ\}}d}d}d}d}xP|D]H\} } | d kr¤d }d }| d kr¸t | ƒdS| d krÈd }| }| d krŒd }qŒW|rø|dkrèd}t ||d�dS|�s|‚xÄ|D]¼} t | ƒ�r4tjj | ƒ �r4t d| ƒPy`t | ƒ�rVtjj| ƒ�rVt| ƒ} |�rˆt | ƒ�r~tjj| ƒ�r~t| ƒnt| ƒn tj| ƒWn,tk �rÀ} zt | ƒWYdd} ~ XnX�qWWnN|j|fk �rtjjtjjtjdƒƒd} t dj| tjd�ƒYnXdS)Nrc@s eZdZdS)zcli..BadUsageN)r%r&r[rrrrÚBadUsage sr rrrzbk:p:wFz-bTz-kz-pz-w)rzfile %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} -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. The -p option can be used with the -b option to explicitly specify the server port. {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)ÚgetoptrJrrr rÿÚargvÚremoveÚinsertrÀrrÚexistsrÀr{r¬r rÇrÃrrŸrÞr¨r§r r)r r Z scriptdirZoptsrÅZwritingZ start_serverrrÖÚoptÚvalÚargrHr¡rrrÚcli sd        $rrÃ)NN)r)r)r¼rN)r¼rN)r)rN)rì)r)Wr3rPrTrSrZZimportlib._bootstraprŠZimportlib._bootstrap_externalÚimportlib.machineryÚimportlib.utilrrœr r9r�rrrêr�Z urllib.parser4rËÚ collectionsrÚreprlibrÚ tracebackrrrr$r)r-r/r3rÚ IGNORECASEr4r5r:r?rCrOrerfrwr}r…ržrJrŸr¬r¸r¹rârúrprqr‚r„rƒr‡r‹r†r¨r“rŽr¸rºr.r¿rÂr»r¾r"rÃrÇrÈrrÁrÀrërrrrr%rrrrÚ$s¸           ' 0>*- d" ,    = n%V