Ë ‚Ö¦id»ãóŒ—dZdgZdZdZdZddlZddlZddlZddlZ ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZddlmZdd lmZd „Z d „Z!d „Z"d „Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*d„Z+ejXdejZ«Z.d„Z/d„Z0d„Z1d„Z2e3ejh«Z5dPd„Z6d„Z7d„Z8d„Z9d„Z:ifd „Z;Gd!„d"e<«Z=d#„Z>difd$„Z?Gd%„d&«Z@Gd'„d(e«ZAGd)„d*e@«ZBGd+„d,e«ZCGd-„d.e@«ZDGd/„d0eD«ZEd1„aFd2„ZGd3„ZHd4„ZId5„ZJd6„ZKd7„ZLd8„ZMd9„ZNdQd:„ZOeD«ZPeE«ZQeB«ZRdQd;„ZS dRd<„ZT dSd=„ZUdQd>„ZVdTd?„ZWGd@„dA«ZXeX«ZYGdB„dC«ZZdD„Z[dE„Z\dUdF„Z]dQdGdHdIœdJ„Z^dK„Z_dL„Z`dM„ZadN„ZbecdOk(reb«yy)VaGenerate Python documentation in HTML or text for interactive use. At the Python interactive prompt, calling help(thing) on a Python object documents the object, and calling help() starts up an interactive help session. Or, at the shell command line outside of Python: Run "pydoc " to show documentation on something. may be the name of a function, module, package, or a dotted reference to a class or function within a module or module in a package. If the argument contains a path segment delimiter (e.g. slash on Unix, backslash on Windows) it is treated as the path to a Python source file. Run "pydoc -k " to search for a keyword in the synopsis lines of all available modules. Run "pydoc -n " to start an HTTP server with the given hostname (default: localhost) on the local machine. Run "pydoc -p " to start an HTTP server on the given port on the local machine. Port number 0 can be used to get an arbitrary unused port. Run "pydoc -b" to start an HTTP server on an arbitrary unused port and open a web browser to interactively browse documentation. Combine with the -n and -p options to control the hostname and port used. Run "pydoc -w " to write out the HTML documentation for a module to a file named ".html". Module docs for core modules are assumed to be in https://docs.python.org/X.Y/library/ This can be overridden by setting the PYTHONDOCS environment variable to a different URL or to a local directory containing the Library Reference Manual pages. Ú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_onlycóJ—g}g}tjD]‹}tjj|xsd«}tjj |«}||vsŒJtjj |«sŒj|j |«|j |«Œ�|S)zAConvert sys.path into a list of absolute, existing, unique paths.Ú.)ÚsysÚpathÚosÚabspathÚnormcaseÚisdirÚappend)ÚdirsÚnormdirsÚdirÚnormdirs ú/usr/lib64/python3.12/pydoc.pyÚpathdirsrSsz€à €DØ€HÜ�xŒxˆÜ�g‰g�o‰o˜cšj SÓ)ˆÜ—'‘'×"Ñ" 3Ó'ˆØ ˜(Ò "¤r§w¡w§}¡}°SÕ'9Ø �K‰K˜Ô Ø �O‰O˜GÕ $ð ð €Kócóè—tjj|j«}|€y|jj d«ddD]}t ||«}Œtj|«sy|S)Nréÿÿÿÿ) r ÚmodulesÚgetÚ __module__Ú __qualname__ÚsplitÚgetattrÚinspectÚisclass)ÚfuncÚclsÚnames rÚ _findclassr$_sb€Ü �+‰+�/‰/˜$Ÿ/™/Ó *€CØ €{ØØ×!Ñ!×'Ñ'¨Ó,¨S¨bÓ1ˆÜ�c˜4Ó ‰ð2ä �?‰?˜3Ô ØØ €Jrcó~—tj|«rl|jj}|j}tj |«r't t ||d«d«|jur|}�nŽ|j}�n€tj|«r)|j}t|«}|�t ||«|u�rCytj|«r\|j}|j}tj |«r"|jdz|z|jk(r|}nÞ|j}nÑt|t«r4|j}|j}t|«}|�t ||«|urŽytj|«stj |«rb|j}|j"}t ||«|urytj$|«r't |dd«}t|t&«r ||vr||Sy|j(D]} t+t ||««}|€Œ|cSy#t,$rYŒ-wxYw)NÚ__func__rÚ __slots__)rÚismethodr&Ú__name__Ú__self__r rÚ __class__Ú isfunctionr$Ú isbuiltinrÚ isinstanceÚpropertyÚfgetÚismethoddescriptorÚisdatadescriptorÚ __objclass__ÚismemberdescriptorÚdictÚ__mro__Ú _getowndocÚAttributeError)Úobjr#Úselfr"r!ÚslotsÚbaseÚdocs rÚ_finddocr>isë€Ü×Ñ˜ÔØ�|‰|×$Ñ$ˆØ�|‰|ˆÜ �O‰O˜DÔ !Ü ”G˜D $¨Ó-¨zÓ :¸c¿l¹lÑ JàŠCà—.‘.ŠCÜ × Ñ ˜CÔ Ø�|‰|ˆÜ˜‹oˆØ ˆ;œ' # tÓ,°CÒ7ØÜ × Ñ ˜3Ô Ø�|‰|ˆØ�|‰|ˆÜ �O‰O˜DÔ !Ø × Ñ  Ñ # dÑ *¨c×.>Ñ.>Ò >à‰Cà—.‘.‰Cä �CœÔ "Ø�x‰xˆØ�}‰}ˆÜ˜ÓˆØ ˆ;œ' # tÓ,°CÑ7ØÜ × #Ñ # CÔ (¬G×,DÑ,DÀSÔ,IØ�|‰|ˆØ×ÑˆÜ �3˜Ó  SÑ (ØÜ × %Ñ % cÔ *ܘC ¨dÓ3ˆEܘ%¤Ô&¨4°5©=ؘT‘{Ð"àØ— ” ˆð ÜœW T¨4Ó0Ó1ˆCð ‰?ØŠJð ð øô ò Ù ð úsÈH0È0 H<È;H<có¾— tj|d«}|€y|tur+t|«j}t |t «r||k(ry|S#t $rYywxYw)zUGet the documentation string for an object if it is not inherited from its class.Ú__doc__N)ÚobjectÚ__getattribute__Útyper@r.Ústrr8)r9r=Útypedocs rr7r7œsa€ð Ü×%Ñ% c¨9Ó5ˆØ ˆ;ØØ ”d‰?ܘ3“i×'Ñ'ˆGܘ'¤3Ô'¨G°sªNØØˆ øÜ òÙðús‚A›2AÁAÁ AÁAcóª—t|«}|€ t|«}t |t «syt j|«S#ttf$rYywxYw)zùGet the documentation string for an object. All tabs are expanded to spaces. To clean up docstrings that are indented to line up with blocks of code, any whitespace than can be uniformly removed from the second line onwards is removed.N)r7r>r8Ú TypeErrorr.rDrÚcleandoc)rAr=s rÚ_getdocrI«s[€ô �VÓ €CØ €{ð ܘ6Ó"ˆCô �cœ3Ô ØÜ × Ñ ˜CÓ Ð øô ¤ Ð*ò Ùð ús� AÁAÁAcó —t|«xstj|«}|xr%tjdd|j ««xsdS)z-Get the doc string or comments for an object.z^ * Ú)rIrÚ getcommentsÚreÚsubÚrstrip)rAÚresults rÚgetdocrQ»s>€ä �V‹_Ò ;¤× 3Ñ 3°FÓ ;€FØ Ò :”b—f‘f˜W b¨&¯-©-«/Ó:Ò @¸bÐ@rcó—|j«jd«}t|«dk(r|ddfSt|«dk\r,|dj«s|ddj |dd«fSddj |«fS)z>Split a doc string into a synopsis line (if any) and the rest.Ú érrKéN)ÚstriprÚlenrOÚjoin)r=Úliness rÚsplitdocrZÀs{€à �I‰I‹K× Ñ ˜dÓ #€EÜ ˆ5ƒz�Q‚Ø�Q‰x˜ˆ|ÐÜ ˆU‹�qŠ  q¡§¡Ô!2Ø�Q‰x˜Ÿ™ 5¨¨ 9Ó-Ð-Ð-Ø ˆt�y‰y˜ÓÐ Ðrcó`—|j}|j|k7r|jdz|z}|S)z@Get a class name and qualify it with a module name if necessary.r)r)r©rAÚmodnamer#s rÚ classnamer^És3€à �?‰?€DØ ×јGÒ#Ø× Ñ  3Ñ&¨Ñ-ˆØ €Krcóð—d|jvrM|jjd«d}|j|k7r|j�|jdz|zS|S|j|k7r |jSy)z_Get a name of the enclosing class (qualified it with a module name if necessary) or module.rrN)rÚ rpartitionrr\s rÚ parentnameraÐs€€ð ˆf×!Ñ!Ñ!Ø×"Ñ"×-Ñ-¨cÓ2°1Ñ5ˆØ × Ñ  Ò '¨F×,=Ñ,=Ð,IØ×$Ñ$ sÑ*¨TÑ1Ð 1àˆKà × Ñ  Ò 'Ø×$Ñ$Ð $ð (rcó—tj|«xsqtj|«xsZtj|«xsCtj|«xs,tj |«xstj |« S)z>Check if an object is of a type that probably means it's data.)rÚismoduler Ú isroutineÚisframeÚ istracebackÚiscode)rAs rÚisdatarhÝsy€ä× Ñ  Ó(òF¬G¯O©O¸FÓ,CòFÜ×!Ñ! &Ó)òFÜ-4¯_©_¸VÓ-DòFä×#Ñ# FÓ+òFä/6¯~©~¸fÓ/Eð GðGrcóf—|r.|dj|j|d««}|dd}|rŒ.|S)z/Do a series of global replacements on a string.rTrrUN)rXr)ÚtextÚpairss rÚreplacerlãs;€á Ø�Q‰x�}‰}˜TŸZ™Z¨¨a©Ó1Ó2ˆØ�a�b� ˆò ð €Krcóž—t|«|kDr>td|dz dz«}td|dz |z «}|d|dz|t|«|z dzS|S)zCOmit part of a string if needed to make it fit in a maximum length.rérUNú...)rWÚmax)rjÚmaxlenÚpreÚposts rÚcramrtês`€ä ˆ4ƒy�6ÒÜ�!�f˜Q‘h ‘]Ó#ˆÜ�1�f˜Q‘h˜s‘lÓ#ˆØ�D�Sˆz˜EÑ! D¬¨T«°4©¨Ð$9Ñ9Ð9Ø €Krz at 0x[0-9a-f]{6,16}(>+)$có.—tjd|«S)z>Remove the hexadecimal id from a Python object representation.z\1)Ú _re_stripidrN©rjs rÚstripidrxós€ô �?‰?˜5 $Ó 'Ð'rcó¬—tj|«rytj|«r)t|dd«}tj|«xs|du Sy)zo Returns True if fn is a bound method, regardless of whether fn was implemented in Python or in C. Tr*NF)rr(r-rrc)Úfnr:s rÚ_is_bound_methodr{øsQ€ô ×Ñ˜ÔØÜ×јÔÜ�r˜: tÓ,ˆÜ×$Ñ$ TÓ*Ò<¨t°t¨|Ð=Ð=Ø rcó —i}tj|tj«D] \}}d||<Œ |jD]}|j t |««Œ|j «D]}t||«||<Œ|S©NrT)rÚ getmembersrdÚ __bases__ÚupdateÚ allmethodsÚkeysr)ÚclÚmethodsÚkeyÚvaluer<s rr�r�sv€Ø€GÜ×(Ñ(¨¬W×->Ñ->Ö?‰ ˆˆU؈�Š ð@à— ” ˆØ�‰”z $Ó'Õ(ðà�|‰|Ž~ˆÜ˜r 3Ó'ˆ�Š ðà €Nrcóv—g}g}|D]-}||«r|j|«Œ|j|«Œ/||fS)zÊSplit sequence s via predicate, and return pair ([true], [false]). The return value is a 2-tuple of lists, ([x for x in s if predicate(x)], [x for x in s if not predicate(x)]) ©r)ÚsÚ predicateÚyesÚnoÚxs rÚ _split_listrŽs@€ð €CØ €BÛ ˆÙ �QŒ<Ø �J‰J�q�Mà �I‰I�a�Lð ð �ˆ7€Nrcó*—|dvry|jd«r|jd«ry|jd«r t|d«ry|tur.|tvr&t t ||d«tj«ry |�||vS|jd« S) z3Decide whether to show documentation on a variable.>r@Ú__date__Ú__file__r)Ú__path__Ú__spec__r'Ú __author__Ú __cached__Ú __loader__rÚ __credits__Ú __package__Ú __version__Ú __builtins__rrÚ__rTÚ_Ú_fieldsTNF)Ú startswithÚendswithÚhasattrÚ __future__Ú_future_feature_namesr.rÚ_Feature)r#Úallr9s rÚ visiblenamer¥"s–€ð ðHñHðà ‡��tÔ §¡¨tÔ!4¸Qà ‡��sÔ¤¨¨YÔ 7Øà ”*Ñ Ô)>Ñ!>Ü ”g˜c 4¨Ó.´ ×0CÑ0CÔ DØØ €à�sˆ{Ðà—?‘? 3Ó'Ð'Ð'rcó—g}tj|«D]d\}}}}tj|«r!d}t|t«r!|j €d}n|dk(r t |«rd}|j||||f«Œf|S)zUWrap inspect.classify_class_attrs, with fixup for data descriptors and bound methods.údata descriptorúreadonly propertyÚmethodú static method)rÚclassify_class_attrsr2r.r/Úfsetr{r)rAÚresultsr#Úkindr"r†s rr«r«:s‚€à€GÜ$+×$@Ñ$@ÀÖ$HÑ ˆˆt�S˜%Ü × #Ñ # EÔ *Ø$ˆDܘ%¤Ô*¨u¯z©zÐ/AØ*‘Ø �XÒ Ô"2°5Ô"9Ø"ˆDØ�‰˜˜d C¨Ð/Õ0ð%Ið €Nrc óÔ‡—t|dg«} t|«D��cic]\}}||t|«z “Œc}}Šˆfd„}|j |¬«ycc}}w#t$riŠYŒ+wxYw)zGSort the attrs list in-place by _fields and then alphabetically by namer�có8•—‰j|dd«|dfS©Nr)r)ÚattrÚ field_orders €rÚz!sort_attributes..Psø€˜KŸO™O¨D°©G°QÓ7¸¸a¹ÑAr©r…N)rÚ enumeraterWrGÚsort)ÚattrsrAÚfieldsÚir#Úkeyfuncr³s @rÚsort_attributesr¼Gstø€ô�V˜Y¨Ó +€FðÜ=FÀvÔ=NÔOÑ=N± °°D�t˜a¤ F£ ™mÑ+Ð=NÒOˆ óB€GØ ‡J�J�7€JÕùó PøÜ òØŠ ðús!�AžA·AÁAÁ A'Á&A'cóÔ—tjj|«rIdD]D}tjjtjj |d|z««sŒDyy)z3Guess whether a path refers to a package directory.)z.pyz.pycÚ__init__TF)r r rÚisfilerX)r Úexts rÚ ispackagerÁUsH€ä ‡w�w‡}�}�TÔÛ"ˆCÜ�w‰w�~‰~œbŸg™gŸl™l¨4°¸cÑ1AÓBÕCÙð#ð rcóà—d} tj|j«}|D�]\}}}}}|tjk(r||z }Œ#|tjk(r�t j «5t jdt«tj|«}ddd«tt«sy|j«jd«dj«cS|tjk(r |dvr||z }Œã|tj tj"tj$fvs�Œy y#1swYŒ¢xYw#tj&t(t*f$rYywxYw)z8Return the one-line summary of a file object, if presentrKÚignoreNrSr)Ú(Ú))ÚtokenizeÚgenerate_tokensÚreadlineÚSTRINGÚNEWLINEÚwarningsÚcatch_warningsÚ simplefilterÚ SyntaxWarningÚastÚ literal_evalr.rDrVrÚOPÚCOMMENTÚNLÚENCODINGÚ TokenErrorÚUnicodeDecodeErrorÚ SyntaxError)ÚfileÚstringÚtokensÚtok_typeÚ tok_stringrœÚ docstrings rÚsource_synopsisrÞ]s/€ð€FðÜ×)Ñ)¨$¯-©-Ó8ˆÜ-3Ñ )ˆH�j ! Q¨Øœ8Ÿ?™?Ò*ؘ*Ñ$‘ØœX×-Ñ-Ò-Ü×,Ñ,Õ.ä×)Ñ)¨(´MÔBÜ #× 0Ñ 0°Ó 8�I÷/ô" )¬SÔ1ÙØ —‘Ó(×.Ñ.¨tÓ4°QÑ7×=Ñ=Ó?Ò?ØœXŸ[™[Ò(¨Z¸:Ñ-Eؘ*Ñ$‘ؤ(×"2Ñ"2´H·K±KÄ×ARÑARÐ!SÓSÙñ.4ð" ÷/Ð.ûô × Ñ Ô!3´[Ð AòÙðúsC„A+E Á/0EÂE Â91E Ã+AE Ä;E Ä=E ÅE ÅE Å E-Å,E-cót—tj|«j}|j|d«\}}|�||k�rY|j t t jj««rt jj}nO|j t t jj««rt jj}nd}|€- tj|«}|5t|«}ddd«n‡|d|«}t j j#d||¬«} t j$j'|«} t(j*d=| j,r| j,j/«dnd}||f||<|S#t$rYywxYw#1swYŒ!xYw#YyxYw)z.Get the one-line summary out of a module file.©NNNÚ__temp__©Úloaderr)r ÚstatÚst_mtimerrŸÚtupleÚ importlibÚ machineryÚBYTECODE_SUFFIXESÚSourcelessFileLoaderÚEXTENSION_SUFFIXESÚExtensionFileLoaderrÆÚopenÚOSErrorrÞÚutilÚspec_from_file_locationÚ _bootstrapÚ_loadr rr@Ú splitlines) ÚfilenameÚcacheÚmtimeÚ lastupdaterPÚ loader_clsrØrãÚspecÚmodules rÚsynopsisrûvsz€ä �G‰G�HÓ × &Ñ &€EØŸ™ 8¨\Ó:Ñ€J�ØÐ˜Z¨%Ó/à × Ñ œU¤9×#6Ñ#6×#HÑ#HÓIÔ JÜ"×,Ñ,×AÑA‰JØ × Ñ œu¤Y×%8Ñ%8×%KÑ%KÓLÔ MÜ"×,Ñ,×@Ñ@‰JàˆJà Ð ð Ü—}‘} XÓ.�ò Ü(¨Ó.�÷�ñ   ¨HÓ5ˆFä—>‘>×9Ñ9¸*ÀhØAGð:óIˆDð Ü"×-Ñ-×3Ñ3°DÓ9�ô— ‘ ˜JÐ'Ø7=·~²~�V—^‘^×.Ñ.Ó0°Ò3È4ˆFà  &˜/ˆˆh‰Ø €Møô)ò áð ú÷�ûð Ùús*ÃFÃ3 F'Ä4F3Æ F$Æ#F$Æ'F0Æ3F7có—eZdZdZd„Zd„Zy)ÚErrorDuringImportzEErrors that occurred while trying to import something to document it.cóð—t|t«s0t|«|_||_|j |_||_ ytjdt«|\|_|_|_||_ y)NzCA tuple value for exc_info is deprecated, use an exception instance) r.rærCÚexcr†Ú __traceback__ÚtbrËÚwarnÚDeprecationWarningrô)r:rôÚexc_infos rr¾zErrorDuringImport.__init__Ÿsc€Ü˜(¤EÔ*ä˜H“~ˆDŒHØ!ˆDŒJØ×,Ñ,ˆDŒGð !ˆ� ô �M‰MÐ_Ü,ô .ð-5Ñ )ˆDŒH�d”j $¤'Ø ˆ� rcól—|jj}d|j›d|›d|j›�S)Nz problem in ú - z: )rÿr)rôr†)r:rÿs rÚ__str__zErrorDuringImport.__str__¬s&€Ø�h‰h×щØ+/¯=«=º#¸t¿zºzÐJÐJrN)r)rrr@r¾r©rrrýrý�s„ÙOò !óKrrýcóx—tjj}t|d«5}||j t |««k(}ddd«t jj|«}t jj|«\}}r!tjj||«}n tjj||«}tjj|||¬«} tjj|«S#1swYŒÏxYw#t $r} t#|| «‚d} ~ wwxYw)z‰>× 1Ñ 1°$¸ÀVÐ 1Ó L€Dð+Ü×#Ñ#×)Ñ)¨$Ó/Ð/÷ Ð ûô ò+Ü  cÓ*Ð*ûð+ús#§DÃ4DÄDÄ D9Ä( D4Ä4D9có’— |rˆ|tjvrv|tjvrdtjD�cgc]}|j|dz«sŒ|‘Œ}}|g|zD])}tj|||<tj|=Œ+t j |«}|Scc}w#t $r•}|tjvr'ttj|j|«‚t|«turt|j|«‚t|t«r|j|k(rYd}~yt||«‚d}~wwxYw)a½Import a module; handle errors; return None if the module isn't found. If the module *is* found but an exception occurs, it's wrapped in an ErrorDuringImport exception and reraised. Unlike __import__, if a package path is specified, the module at the end of the path is returned, not the package at the beginning. If the optional 'forceload' argument is 1, we reload the module from disk (unless it's a dynamic extension).rN)r rÚbuiltin_module_namesržrçÚ import_modulerrýr‘rCr×rôr.Ú ImportErrorr#)r Ú forceloadrõÚmÚsubsr…rúrs rÚ safeimportrÂs€ð/ñ ˜¤§¡Ñ,Øœ3×3Ñ3Ñ3ô $'§;¢;ÓK¡;˜a°!·,±,¸tÀc¹zÕ2Jš ;�ÐKØ ˜6 Dœ=�Cä!$§¡¨SÑ!1�E˜#‘JÜŸ ™  CÑ(ð)ô×(Ñ(¨Ó.ˆð €Mùò)Løô ò /à ”3—;‘;Ñ ä#¤C§K¡K°Ñ$5×$>Ñ$>ÀÓDÐ DÜ �#‹Yœ+Ñ %ä# C§L¡L°#Ó6Ð 6Ü ˜œ[Ô )¨c¯h©h¸$Ò.>äô$ D¨#Ó.Ð .ûð /ús6‚8B(ºB#ÁB#ÁA B(Â#B(Â( EÂ1A?EÄ5 EÅEcó¶—eZdZejj ddejddz«Zd d„Z d d„Z e xZ xZ xZ xZxZZej$d«fd„Zy) ÚDocÚ PYTHONDOCSz%https://docs.python.org/%d.%d/libraryNrUcóp—||f|z} tj|«r|j|ŽStj|«r|j|ŽStj |«r|j |ŽS tj|«r|j|ŽS|j|ŽS#t$rYŒ>wxYw)z%Generate documentation for an object.) rrcÚ docmoduler ÚdocclassrdÚ docroutiner8r2ÚdocdataÚdocother)r:rAr#Úargss rÚdocumentz Doc.documentôsµ€à˜ˆ~ Ñ$ˆð  Ü×Ñ Ô'°°·±ÀÐ0EÐ)EÜ�‰˜vÔ&¨}¨t¯}©}¸dÐ/CÐ(CÜ× Ñ  Ô(°°·±À$Ð1GÐ*GÐ(ô × #Ñ # FÔ +°L°D·L±LÀ$Ð4GÐ-G؈t�}‰}˜dÐ#Ð#øôò Ù ð ús‰#B)­#B)Á#B)Â) B5Â4B5cón—d|xrdt|«z›dt|«j›�}t|«‚)z+Raise an exception for unimplemented types.z!don't know how to document objectÚ z of type )ÚreprrCr)rG)r:rAr#r'Úmessages rÚfailzDoc.fails6�ð Ò %�Sœ4 ›:Ñ%Ñ %¤t¨F£|×'<Ò'<ð>ˆä˜Ó Ð rÚstdlibcóè— tj|«}tjj d|j «}tjj|«}t|tt««rå|jdvs@|j|«rÆ|jtjj|d««s—|jdvr‰|jd«r;dj|jd«|jj!««}|Stjj||jj!«d z«}|Sd }|S#t$rd}Y�ŒYwxYw) z*Return the location of module docs or Noneú (built-in)r ) ÚerrnoÚ exceptionsÚgcÚmarshalÚposixÚsignalr Ú_threadÚ zipimportz site-packages)z xml.etreeztest.test_pydoc.pydoc_mod)zhttp://zhttps://z {}/{}.htmlÚ/ú.htmlN)rÚ getabsfilerGr Úenvironrr r r r.rCr)ržrXÚformatrOÚlower)r:rAÚbasedirrØÚdoclocs rÚ getdoclocz Doc.getdocloc s)€ð Ü×%Ñ% fÓ-ˆDô—‘—‘  ¨d¯o©oÓ>ˆä—'‘'×"Ñ" 7Ó+ˆÜ �vœt¤B›xÔ (Ø �_‰_ð!9ñ9ð�o‰o˜gÔ&Ø—/‘/¤"§'¡'§,¡,¨w¸Ó"HÔIØ �O‰OÐ#MÑ MØ× Ñ Ð!8Ô9Ø%×,Ñ,¨V¯]©]¸3Ó-?ÀÇÁ×AVÑAVÓAXÓY�ð ˆ ôŸ™Ÿ™ f¨f¯o©o×.CÑ.CÓ.EÈÑ.OÓP�ðˆ ðˆF؈ øô'ò Ø‹Dð ús‚E"Å" E1Å0E1©N)r)rrr r<rr Ú version_infor r(r-r"r#r$r&Ú docpropertyr%Ú sysconfigÚget_pathrArrrrrîso„à—‘—‘  Ø GØ"%×"2Ñ"2°2°AÐ"6ñ!7ó8€Jó$ó !ð LPÐO€IÐO�ÐO˜:ÐO¨ÐO°;Àà(:¨ ×(:Ñ(:¸8Ó(Dôrrcó<—eZdZdZd„Zd„Zd„Zd„Zd„ZeZ d„Z eZ y) ÚHTMLReprzBClass for safely making an HTML representation of a Python object.cót—tj|«dx|_|_d|_dx|_|_y©Néé éd©rr¾ÚmaxlistÚmaxtupleÚmaxdictÚ maxstringÚmaxother©r:s rr¾zHTMLRepr.__init__*ó1€Ü � ‰ �dÔØ')Ð)ˆŒ �t”}؈Œ Ø),Ð,ˆŒ˜�rc ó$—t|dddddd«S)NÚ&z&Úz>)rl©r:rjs rÚescapezHTMLRepr.escape0s€Ü�t˜S '¨3°¸¸VÓDÐDrcó.—tj||«SrB)rr+©r:rAs rr+z HTMLRepr.repr3s€Ü�y‰y˜˜vÓ&Ð&rc óB—tt|«d«rTddjt|«jj ««z}t||«rt ||«||«S|j ttt|««|j««S©Nr)Úrepr_rœ) r rCrXr)rrr[rtrxr+rS©r:r�ÚlevelÚ methodnames rÚrepr1zHTMLRepr.repr16sy€Ü ”4˜“7˜JÔ 'Ø  3§8¡8¬D°«G×,<Ñ,<×,BÑ,BÓ,DÓ#EÑEˆJÜ�t˜ZÔ(Ø0”w˜t ZÓ0°°EÓ:Ð:Ø�{‰{œ4¤¬¨Q«Ó 0°$·-±-Ó@ÓAÐArcóö—t||j«}t|«}d|vr/dt|dd«vr d|dz|j |«z|dzSt j dd|j |««S)NÚ\ú\\rKÚrrz-((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)z\1)rtrRr+rlr[rMrN©r:r�rbÚtestÚtestreprs rÚ repr_stringzHTMLRepr.repr_string=s}€Ü�A�t—~‘~Ó&ˆÜ˜“:ˆØ �4‰<˜D¬°¸%ÀÓ(DÑDð˜ !™Ñ$ t§{¡{°4Ó'8Ñ8¸8ÀA¹;ÑFÐ FÜ�v‰vÐFØ5Ø—k‘k (Ó+ó-ð -rc óЗ |jttt|««|j««S#|jd|j j z«cYSxYw©Nz <%s instance>)r[rtrxr+rRr+r)©r:r�rbs rÚ repr_instancezHTMLRepr.repr_instanceJsQ€ð GØ—;‘;œt¤G¬D°«GÓ$4°d·n±nÓEÓFÐ Føð GØ—;‘;˜°·±×1EÑ1EÑEÓFÒ Fús ‚69¹*A%N) r)rrr@r¾r[r+rdrlÚrepr_strrpÚ repr_unicoderrrrHrH(s4„ÙLò-ò Eò'òBò -ð€HòGð �LrrHcó —eZdZdZe«Zej ZejZd„Zdd„Z dd„Z d„Z d„Z d„Z d „Zd „Zd „Zd „Zd „Zd„Zd„Zdiiifd„Zdd„Zdd„Zddiifd„Zd„Zddiiiddfd„Zdd„ZeZdd„Zdd„Zy)ÚHTMLDocz'Formatter class for HTML documentation.có—d|›d|›d�S)úFormat an HTML page.zN Python: z z r)r:ÚtitleÚcontentss rÚpagez HTMLDoc.page[s�òšHð&ð &rcó—d|›d|xsd›d�S)zFormat a page heading.zU
 
z
ú z
r)r:rwÚextrass rÚheadingzHTMLDoc.headinggs�ò �&Ò$˜HÑ$ð &ð &rNc óŒ—|€ dd|zzdz}d|›d|›d�}|r|d|›d|›d |›d |›d |›d � z}n|d|›d |›d|›d �z}|d|zzS)z Format a section with a heading.zr{zz-

z z-decor">z
 
z
z z
úz. %s
r) r:rwr"rxÚwidthÚpreludeÚ marginaliaÚgaprPs rÚsectionzHTMLDoc.sectionps{€ð Ð Ø.°¸EÑ1AÑAÀIÑMˆJøò ’ð ˆñ Ùòš:¢sªG²Sð:ñ:‰Fñ Ú8;ºZÊðNñNˆFðÐIÈHÑTÑTÐTrcó2—d|z}|j|g|¢­ŽS)z$Format a section with a big heading.z&%s)r„)r:rwr's rÚ bigsectionzHTMLDoc.bigsection…s"€à8¸5Ñ@ˆØˆt�|‰|˜EÐ) DÒ)Ð)rc óf—|j|j««}t|dddddddd« S)z!Format literal preformatted text.ú z r*r{rSú
)r[Ú expandtabsrlrZs rÚ preformatzHTMLDoc.preformatŠs7€à�{‰{˜4Ÿ?™?Ó,Ó-ˆÜ�t˜V W¨f°gØ  (¨D°(ó<ð r‰rz%s
)rWÚrange)r:Úlistr=rPÚrowsÚcolrºs rÚ multicolumnzHTMLDoc.multicolumn�sŠ€àˆÜ�D“ ˜A‘  !Ñ#ˆÜ˜–8ˆCØÐ8Ñ8ˆFܘ4 ™8 T¨#¡X¨d¡]Ö3�Ø”s˜4“y“=Ø#¡f¨T°!©W£oÑ5¸Ñ@‘Fð4ð˜gÑ%‰Fð ð ,¨fÑ4Ð4rcó —d|zS)Nz%srrZs rÚgreyz HTMLDoc.greyœs €Ð!?À$Ñ!FÐFrcó8—|D]}||vsŒd||›d|›d�cS|S)z:Make a link for an identifier, given name-to-URL mappings.ú úr)r:r#Údictsr5s rÚnamelinkzHTMLDoc.namelinkžs)€ãˆDØ�t‹|Ø04°T³ ºDÐAÒAððˆ rc óø—|jtjj|j«}}t ||«r.t ||«|ur d|j›d|›dt||«›d�St||«S)zMake a link for a class.r–ú.html#r—r˜)r)r rrrr rr^)r:rAr]r#rús rÚ classlinkzHTMLDoc.classlink¥se€à—‘¬¯ © ¯©¸×8IÑ8IÓ(JˆfˆÜ �6˜4Ô ¤W¨V°TÓ%:¸fÒ%Dà—“¢¤y°¸Õ'AðCð C䘠Ó)Ð)rcóÈ—d}|jtjj|j«}}t ||«rt ||«|urqd|jvrE|jjd«d}|j|k7r|j›d|›�}n$d|z}n|j|k7rd|jz}|rd|›dt||«›d �St||«S) z.Make a link for the enclosing class or module.Nrrrœz#%sú%s.htmlr–r—r˜) r)r rrrr rrr`ra)r:rAr]Úlinkr#rús rÚ parentlinkzHTMLDoc.parentlink­sË€àˆØ—‘¬¯ © ¯©¸×8IÑ8IÓ(JˆfˆÜ �6˜4Ô ¤W¨V°TÓ%:¸fÑ%DØ�f×)Ñ)Ñ)Ø×*Ñ*×5Ñ5°cÓ:¸1Ñ=�Ø×$Ñ$¨Ò/Ø+1¯?«?¹DÐA‘Dà  4™<‘Dà×$Ñ$¨Ò/Ø$ v§¡Ñ6�DÚ Ú,0´*¸VÀWÕ2MÐNÐ Nä˜f gÓ.Ð .rcó<—d|j›d|j›d�S)zMake a link for a module.r–ú.html">r˜)r)r]s rÚ modulelinkzHTMLDoc.modulelinkÀs�à-3¯_«_¸f¿o»oÐNÐNrcó|—|\}}}}|r|j|«S|r |›d|›d�}nd|z}|rd|z}n|}d|›d|›d�S)z;Make a link for a module or package to display in an index.rr:rŸz"%s (package)r–r—r˜)r”)r:Ú modpkginfor#r rÁÚshadowedÚurlrjs rÚ modpkglinkzHTMLDoc.modpkglinkÄsV€à*4Ñ'ˆˆd�I˜xÙ Ø—9‘9˜T“?Ð "Ù Ú"&ªÐ-‰Cà˜dÑ"ˆCÙ Ø7¸$Ñ>‰DàˆDøÚ(+ªTÐ2Ð2rcó—d|›d|›d�S)zMake a link to source file.z%sNrK) r[rMÚcompileÚsearchÚspanrÚgroupsrlÚintršrX)r:rjr[ÚfuncsÚclassesr„r­ÚhereÚpatternÚmatchÚstartÚendr¤ÚschemeÚrfcÚpepÚselfdotr#r¨s rÚmarkupzHTMLDoc.markup×sÊ€ðÒ&˜4Ÿ;™;ˆØˆØˆÜ—*‘*ð3ó4ˆð—~‘~ d¨DÓ1Ð1ˆeÑ1ØŸ™›‰JˆE�3Ø �N‰N™6 $ t¨EÐ"2Ó3Ô 4à38·<±<³>Ñ 0ˆC�˜˜c 7¨DÙÙ˜S“k×)Ñ)¨#¨xÓ8�Ø—’ººSÐAÕBÙØ@Ä3ÀsÃ8ÑK�Ø—’º¹VÀC½[ÐIÕJÙØ9¼CÀ»HÑD�Ø—’º¹VÀC½[ÐIÕJÙð˜˜C ™E�? cÒ)Ø—N‘N 7¨T¯]©]¸4ÀÓ-IÑ#IÕJà—N‘NÐ#=ÀÑ#DÕEØ�c˜#˜a™%� CÒ'Ø—‘˜tŸ}™}¨T°7¸EÀ7ÓKÕLà—‘˜tŸ}™}¨T°7Ó;Ô<؈Dð3—~‘~ d¨DÓ1Ð1ˆeÒ1ð4 �‰‘v˜d 4 5˜kÓ*Ô+Ø�w‰w�wÓÐrcót—d}|D]­}t|t«rq|\}}|dz}||j||«z}|rJ||fk7rDg}|D]#} |j|j| |««Œ%|dzdj |«zdz}|dz}Œ„t|t «sŒ•|d|j ||«zz}Œ¯d|zS) zAProduce HTML for a class tree as given by inspect.getclasstree().rKz

rÄú, rÅz
z
%s
z
%s
)r.rær�rrXr�Ú formattree) r:Útreer]ÚparentrPÚentryÚcÚbasesÚparentsr<s rrÁzHTMLDoc.formattrees×€àˆÛˆEܘ%¤Ô'Ø ‘��5ØÐ"=Ñ=�Ø $§.¡.°°GÓ"<Ñ<�Ù˜U v iÒ/Ø �GÛ %˜ØŸ™ t§~¡~°d¸GÓ'DÕEð!&à# c™\¨D¯I©I°gÓ,>Ñ>ÀÑD�FØ )Ñ+‘ܘE¤4Õ(ØÐ"3°d·o±oؘ7 Aó7'ñ#'ñ'‘ðð! 6Ñ)Ð)rc óØ ‡—|j} |j}|jd«}g}t t |«dz «D]2}|j ddj|d|dz«›d||›d�«Œ4dj||ddz«} d| z} tj|«} tjj| «} ‰j| | «} g}t|d «r[t!|j"«}|dd d k(r|ddd k(r|d dj%«}|j d‰j'|«z«t|d«r3|j ‰j't!|j(«««|r| ddj|«zz} ‰j+|«}|�dt-«z}nd}‰j/| d| z|z«}tj0|tj2«}gi}}tj0|tj4«D]Q\}}|€tj6|«xs||usŒ$t9|||«sŒ2|j ||f«d|zx||<||<ŒS|D]‡\}}|j:D]s}|j|j<}}t>j@jC|«}||k7sŒ@|sŒCt||«sŒPtE||«|usŒ_||vsŒd|dz|zx||<||<ŒuŒ‰gi}}tj0|tjF«D]{\}}|€-tjH|«stj6|«|usŒ5t9|||«sŒC|j ||f«d|z||<tjJ|«sŒt||||<Œ}g}tj0|tL«D]&\}}t9|||«sŒ|j ||f«Œ(‰jOtQ|«‰jR||«}|xrd|z}|d|zz}t|d«r‚g}tUjV|jX«D]\}}} |j ||| df«Œ|j[«‰j]|‰j^«}!|‰jadd|!«z}n-|r+‰j]|ˆfd„«}!|‰jadd|!«z}|rŽ|D��cgc]\}}|‘Œ }"}}‰jctjd|"d«|«g}!|D])\}}|!j ‰jg|||||««Œ+|‰jad d!d"j|!««z}|rUg}!|D])\}}|!j ‰jg|||||««Œ+|‰jad#d$d"j|!««z}|rRg}!|D]&\}}|!j ‰jg||««Œ(|‰jad%d&d'j|!««z}t|d(«rE‰jOt!|jh«‰jR«}!|‰jad)d*|!«z}t|d+«rE‰jOt!|jj«‰jR«}!|‰jad,d-|!«z}|S#t$rd}Y�ŒµwxYw#t$rd } Y�ŒwxYwcc}}w).z/Produce HTML documentation for a module object.NrrTr–z.html" class="white">r˜rú!%sr0r™é ú $Revision: Ú$z version %sr�z (%s)rÀz-
Module ReferencerKzindex
Ú#rœz#-z%sz

%s

r’rzPackage Contentsz pkg-contentcó,•—‰j|d«Sr})r¤)Útr:s €rr´z#HTMLDoc.docmodule..gsø€ 4§?¡?°1°Q±4Ô#8rÚModulesÚClassesÚindexr*Ú FunctionsÚ functionsÚDataÚdatar‰r”ÚAuthorÚauthorr—ÚCreditsÚcredits)6r)Ú__all__r8rrŽrWrrXrr;ÚurllibÚparseÚquoter«rGr rDr™rVr[r�rAÚlocalsr}r~rcr Ú getmoduler¥rrr rrrrdr-r,rhr¾rQr‹ÚpkgutilÚ iter_modulesr’r·r’r©r†rÁÚ getclasstreer(r”r—)#r:rAr#ÚmodÚignoredr¤ÚpartsÚlinksrºÚ linkednameÚheadr r¨r«ÚinfoÚversionr@rPrr´Úcdictr…r†r<r]rúr³ÚfdictrÖr=ÚmodpkgsÚimporterÚispkgrxÚ classlists#` rr"zHTMLDoc.docmodules‡ø€à�‰ˆð Ø—.‘.ˆCð— ‘ ˜3“ˆØˆÜ”s˜5“z !‘|Ö$ˆAØ �LŠLà—‘˜%   1¡˜+Õ&¨¨a«ð2õ 3ð%ð—X‘X˜e e¨B¨C jÑ0Ó1ˆ Ø2°ZÑ?ˆð $Ü×%Ñ% fÓ-ˆDÜ—,‘,×$Ñ$ TÓ*ˆCØ—}‘} S¨$Ó/ˆHðˆÜ �6˜=Ô )ܘ&×,Ñ,Ó-ˆGØ�s˜ˆ|Ð1Ò1°g¸b¸c°lÀcÒ6IØ! " R˜.×.Ñ.Ó0�Ø �K‰K˜  t§{¡{°7Ó';Ñ;Ô <Ü �6˜:Ô &Ø �K‰K˜Ÿ ™ ¤C¨¯©Ó$8Ó9Ô :٠ؘ' D§I¡I¨d£OÑ3Ñ3ˆDØ—‘ Ó'ˆØ Ð ØDÄvÃxÑO‰FàˆFØ—‘˜dÐ$?À(Ñ$JÈVÑ$SÓTˆä×$Ñ$ V¬W×-=Ñ-=Ó>ˆà˜R�ˆÜ!×,Ñ,¨V´W·_±_ÖE‰JˆC�à�Ü×"Ñ" 5Ó)Ò3¨V¸Ò>ܘs C¨Õ0Ø—N‘N C¨ <Ô0Ø03°c± Ð9�E˜#‘J  u¢ð Fó"‰JˆC�ØŸœ�Ø#Ÿ}™}¨d¯o©o�W�ÜŸ™Ÿ™¨Ó1�ؘd“?¢v´'¸&À#Õ2Fܘv sÓ+¨tÒ3Ø" eš|Ø7>ÀÑ7IÈCÑ7OÐO˜E #™J¨¨tªñ (ð"ð˜2ˆuˆÜ!×,Ñ,¨V´W×5FÑ5FÖG‰JˆC�à�Ü×!Ñ! %Ô(¬G×,=Ñ,=¸eÓ,DÈÒ,Nܘs C¨Õ0Ø—L‘L # u Ô.Ø!%¨¡�E˜#‘JÜ×)Ñ)¨%Õ0ÀÀsÁ°%¸²,ðHðˆÜ!×,Ñ,¨V´VÖ<‰JˆC�ܘ3  VÕ,Ø— ‘ ˜S %˜LÕ)ð=ð�k‰kœ& ›.¨$¯.©.¸%ÀÓGˆØÒ:Ð4°sÑ:ˆØ˜-¨#Ñ-Ñ-ˆä �6˜:Ô &؈GÜ,3×,@Ñ,@ÀÇÁÖ,QÑ(�˜' 5Ø—‘ ¨¨u°aÐ8Õ9ð-Rà �L‰LŒNØ×'Ñ'¨°·±ÓAˆHؘdŸo™oØ" M°8ó=ñ=‰Fá Ø×'Ñ'ØÓ8ó:ˆHà˜dŸo™oؘ=¨(ó4ñ4ˆFñ Ù3:Ô;±7¡< C¨š°7ˆIÑ;à—‘¤× 4Ñ 4°YÀÓ BÀDÓIðKˆHã%‘ ��UØ—‘ § ¡ ¨e°S¸$ÀÀuÓ MÕNð&à˜dŸo™oؘ7 C§H¡H¨XÓ$6ó8ñ8ˆFá ØˆHÛ#‘ ��UØ—‘ § ¡ ¨e°S¸$ÀÀuÓ MÕNð$à˜dŸo™oؘ[¨#¯(©(°8Ó*<ó>ñ>ˆFá ØˆHÛ"‘ ��UØ—‘ § ¡ ¨e°SÓ 9Õ:ð#à˜dŸo™oؘ § ¡ ¨hÓ 7ó9ñ9ˆFä �6˜<Ô (Ø—{‘{¤3 v×'8Ñ'8Ó#9¸4¿>¹>ÓJˆHؘdŸo™o¨h¸À(ÓKÑKˆFÜ �6˜=Ô )Ø—{‘{¤3 v×'9Ñ'9Ó#:¸D¿N¹NÓKˆHؘdŸo™o¨i¸ÀHÓMÑMˆFàˆ øô]ò Ø‹Cð ûôò $Ø#‹Hð $üóL.HorizontalRulecó—d|_yr±©ÚneedonerTs rr¾z1HTMLDoc.docclass..HorizontalRule.__init__”ó €Ø �• rcó<•—|jr‰d«d|_y)Nz
rTrö©r:Úpushs €rÚmaybez.HTMLDoc.docclass..HorizontalRule.maybe–󸀨—<’<Ù˜”NØ �• rN©r)rrr¾rü©rûs€rÚHorizontalRulerô“ó ø„ò !õ !rrrUz&
Method resolution order:
z
%s
ú
c ó(•—t||«\}}|rW‰ j«‰|«|D]:\}}}} t‰ |«}‰‰j||‰ ‰ ‰‰ ‰ |««‰d«Œ<|S#t$r‰‰j ||‰ ««YŒ0wxYw)NrS©rŽrürr(Ú Exceptionr%)Úmsgr¸rŠÚokr#r®Úhomeclsr†r´r³ÚhrÚmdicträrArûr:s €€€€€€€€rÚspillzHTMLDoc.docclass..spill¦s©ø€Ü# E¨9Ó5‰IˆB�ÙØ—‘” Ù�S” Û24Ñ.�D˜$ ¨ðQÜ '¨°Ó 5˜ñ ˜TŸ]™]¨5°$¸Ø(-¨w¸¸vÀwóPôQᘕJð35ðˆLøô%ò=ñ˜TŸ\™\¨%°°sÓ;Ö<ð=ús¶ A,Á,"BÂBc󤕗t||«\}}|r=‰j«‰ |«|D] \}}}}‰ ‰ j||‰ ««Œ"|SrB©rŽrür%© rr¸rŠrr#r®rr†r rärûr:s €€€€rÚspilldescriptorsz*HTMLDoc.docclass..spilldescriptors¸óSø€Ü# E¨9Ó5‰IˆB�ÙØ—‘” Ù�S” Û24Ñ.�D˜$ ¨Ù˜Ÿ™ e¨T°3Ó7Õ8ð35àˆLrcód•—t||«\}}|r�‰ j«‰|«|D]€\}}}}‰jt‰|«|‰«}t |«} | s ‰d|z«n;‰j t |«‰j ‰ ‰ ‰ «} d| z} ‰d|›| ›d�«‰d«Œ‚|S)Nz
%s
z
%sú
rrS)rŽrür&rrQr¾r‹)rr¸rŠrr#r®rr†r<r=r´r³r r rärArûr:s €€€€€€€€rÚ spilldataz#HTMLDoc.docclass..spilldataÁs³ø€Ü# E¨9Ó5‰IˆB�ÙØ—‘” Ù�S” Û24Ñ.�D˜$ ¨ØŸ=™=¬°¸Ó)>ÀÀcÓJ�DÜ  ›-�CÙÙÐ0°4Ñ7Õ8à"Ÿk™k¬&°«-¸¿¹Ø*/°¸%óA˜à@À3ÑF˜Ú±dºCÐ@ÔAÙ˜•Jð35ðˆLr©r9rÍÚ-rcó•—|d‰uS©NrUr©rÏÚ thisclasss €rr´z"HTMLDoc.docclass..ì󸀏A¸a¹DÀIÑ z Methods %scó—|ddk(S©NrTr©r©rÏs rr´z"HTMLDoc.docclass..üó € A a¡D¨HÒ$4rzClass methods %scó—|ddk(S©NrTz class methodrrs rr´z"HTMLDoc.docclass..þó € A a¡D¨NÒ$:rzStatic methods %scó—|ddk(S©NrTrªrrs rr´z"HTMLDoc.docclass..ó € A a¡D¨OÒ$;rzReadonly properties %scó—|ddk(S©NrTr¨rrs rr´z"HTMLDoc.docclass..ó€¨q°©tÐ7JÒ/JrzData descriptors %scó—|ddk(S©NrTr§rrs rr´z"HTMLDoc.docclass..ó€¨q°©tÐ7HÒ/HrzData and other attributes %scó—|ddk(S©NrTrÖrrs rr´z"HTMLDoc.docclass..ó €¨¨!©°ªrrKú class ú zz = class r˜ú(%s)rÀNú()rˆz&%s
 
rwrn)r)rrrrÚgetmrorWrür�rr«r¥rrrGÚpopleftrŽÚbuiltinsrAr¼rXÚ signatureÚ ValueErrorrDr[rQr¾r‹r„)#r:rAr#rär³r´råÚrealnamerÆrxrÚmror<r rrr®r"r†r¸r…rÚanchorÚ inheritedÚtagrwrÇÚdeclr7Úargspecr=r r rûrs#`` ``` @@@@rr#zHTMLDoc.docclassˆsÿø€ð—?‘?ˆØÒ�xˆØ× Ñ ˆàˆØ�‰ˆ÷ !ó !ñÓ ˆô”G—N‘N 6Ó*Ó+ˆÜ ˆs‹8�aŠ<Ø �H‰HŒJÙ Ð:Ô ;Û�Ù�_ t§~¡~°dØ6<×6GÑ6Gó(IñIõJðñ �ŒO÷ ó ÷$ ÷ ó ô&0DÀFÔ/Kö3Ù/KÑ+�T˜4  eÜ ¨&Õ1ð˜˜c 5Ò)Ø/Kð ó3ðˆÛ).Ñ %ˆC��w Ø"%¨¡*¨sÑ"2°SÑ"8Ð 8ˆE�#‰J˜ð Ü ¨Ó-�ð  ð &��e’ ð*/ñÙØŸK™K›M‘ à! !™H Q™K� Ü*¨5Ó2MÓNÑ ˆE�9àœXŸ_™_Ñ,°¼h¿o¹oÑ1MØ!�ØØ˜fÑ$Ø$‘à)¨D¯N©N¸9Ø;A×;LÑ;Ló-NñN�à �9Ñ ˆCä ˜E 6Ô *ñ˜,¨Ñ,¨eÙ4ó6ˆEáÐ,¨sÑ2°EÙ:ó<ˆEáÐ-°Ñ3°UÙ;ó=ˆEá$Ð%=ÀÑ%CÀUÙ%JóLˆEá$Ð%:¸SÑ%@À%Ù%HóJˆEáÐ<¸sÑBÀEÙ6ó8ˆEðˆEòCðF—7‘7˜8Ó$ˆà �8Ó â’hð ‰Eð ò ’dšHð&ˆEá ØˆGÛ�Ø—‘˜tŸ~™~¨d°F×4EÑ4EÓFÕGðà˜F T§Y¡Y¨wÓ%7Ñ7Ñ7ˆEàˆð Ü×)Ñ)¨&Ó1ˆIñ ܘ)“nˆGÙ˜7 dš?ؘdŸk™k¨'Ó2Ñ2°VÑ;�ä�V‹nˆÙ ؘ#š) Ñ$ˆCØ�k‰k˜#˜tŸ~™~¨u°g¸uÓEˆØÒDÐ>ÀÑDˆà�|‰|˜E 7¨H°a¸Ó=Ð=ùõk3øôò òð ûôò Úð ûônœIÐ&ò ØŠIð ús<Ã1L; Ä2 MÄ?MÊ(M#Í MÍMÍ M ÍM Í#M7Í6M7cóH—|jd|j|«z«S©z)Format an argument default value as text.Ú=)r”r+r]s rÚ formatvaluezHTMLDoc.formatvalue*s€à�y‰y˜˜tŸy™y¨Ó0Ñ0Ó1Ð1rc ó—|j} |xs| }|€|}|€dn |jdz|z} d} d} d} t|«ri|j}||urt|dd«} n¶t j |«rd|j ||«z} n‹d|j |j|«z} nkt j|«st j|«r? |j}|€d|j ||«z} n||urd |j ||«z} n|} t j| «rS|�Q| j|jk7s| j|jd z| zk7r|j| |«}|rd |z} t j |«st j"|«rd }nd}|| k(r d | ›d| ›d�}nW|�Ht j$|| g«|ur/d|jdz| z›d| ›d�}d} | j'd «rd} n| }d | ›d|›d|›�}d}t j(|«r> t j*|«}|r&t1|«}| dk(rd|z}|j2s|dd}|sd}||z|j5|«z| xr|j7d| z«z}| rd|zS|j9t;|«|j<|||«}|xrd|z}d|›d|›d�S#t$rY�ŒÓwxYw#t,t.f$rd}YŒÀwxYw) z;Produce HTML documentation for a function or method object.NrKrFr&ú class method of %sú method of %s instanceú unbound %s methodú from rú from %súasync r0z ">r1z
%sz
%s
z%
%s
rzr)r)r{r*rrr r�r+r1Úismethodwrapperr3r8r,rrr¡ÚiscoroutinefunctionÚisasyncgenfunctionÚgetattr_staticržrdr7r8rGrDÚ__annotations__r[r”r¾rQr‹)r:rAr#rär³r´r„rƒrr9r;ÚnoteÚskipdocsÚimfuncÚimselfÚobjclassÚpnameÚasyncqualifierrwÚreallinkr?r7r>r=s rr$zHTMLDoc.docroutine.s1€ð—?‘?ˆØÒ�xˆØ ˆ?؈Gؘ ‘"¨¯ © °sÑ:¸TÑAˆØˆØˆØˆÜ ˜FÔ #Ø—_‘_ˆFؘ‰|Ü  ¨°TÓ:‘Ü—‘ Ô(Ø,¨t¯~©~¸fÀcÓ/JÑJ‘à/°$·.±.Ø×$Ñ$ có3+ñ+‘ä×(Ñ(¨Ô0Ü×%Ñ% fÔ-ð DØ!×.Ñ.�ð�:Ø/°$·.±.ÀÈ3Ó2OÑO‘DØ WÑ,Ø# d§n¡n°X¸sÓ&CÑC‘DàˆFÜ × Ñ ˜fÔ %¨'Ð*=Ø × Ñ  ×!3Ñ!3Ò 3Ø × Ñ  7×#7Ñ#7¸#Ñ#=ÀÑ#HÒ HØ—O‘O F¨CÓ0ˆEÙØ! EÑ)�ä × 'Ñ '¨Ô /Ü×*Ñ*¨6Ô2Ø%‰NàˆNà �8Ó Ú>DÂhÐO‰Eà�Ü×&Ñ& r¨8°RÓ8¸FÒBà—K‘K #Ñ%¨Ó0²(ð<�à�Ø—?‘? 8Ô,Ø‘Dà#�øâš™hð(ˆEàˆÜ × Ñ ˜VÔ $ð !Ü#×-Ñ-¨fÓ5� ñܘi›.�ؘzÒ)ØBÀTÑI�Eð"×1Ò1Ø")¨!¨B -˜Ù؈Gà Ñ%¨¯ © °GÓ(<Ñ<ÀòAHØ�y‰yÐ?À$ÑFÓGñIˆñ Ø+¨dÑ2Ð 2à—+‘+Ü�v“ §¡°°wÀóIˆCàÒGÐAÀCÑG‰CÚ15²sÐ;Ð ;øô"ò Úð ûôP¤ Ð*ò !Ø ’ ð !ús$à KÈ'K)Ë K&Ë%K&Ë)K=Ë<K=cóΗg}|j}|r |d|z«|jt|«|j«}|r |d|z«|d«dj |«S)z1Produce html documentation for a data descriptor.z!
%s
z&
%s
rrK)rr¾rQr‹rX© r:rAr#rärƒrår­rûr=s rr%zHTMLDoc.docdata‡s`€àˆØ�~‰~ˆá Ù Ð5¸Ñ<Ô =Ø�k‰kœ& ›.¨$¯.©.Ó9ˆÙ Ù Ð:¸SÑ@Ô AÙ ˆYŒà�w‰w�wÓÐrcóD—|xrd|zxsd}||j|«zS)z-Produce HTML documentation for a data object.z%s = rK©r+)r:rAr#räråÚlhss rr&zHTMLDoc.docother—s+€àÒ6Ð/°$Ñ6Ò<¸"ˆØ�T—Y‘Y˜vÓ&Ñ&Ð&rcó(—g}|€i}tj|g«D]5\}}}td„|D««rŒ|j|d|||vf«d||<Œ7|j «|j ||j «}|j|d|«S)z2Generate an HTML index for a directory of modules.c3óNK—|]}dt|«cxkxrdknc–—Œy­w)iØiÿßN)Úord©Ú.0Úchs rÚ z HTMLDoc.index..¡s"èø€Ð@¹4°R�Fœc "›gÖ/¨×/Ð/¹4ùs‚#%rKrTrÒ)rárâÚanyrr·r’r©r†)r:rr§rîrïr#rðrxs rrÒz HTMLDoc.indexœs˜€àˆØ Ð ¨˜XÜ%,×%9Ñ%9¸3¸%Ö%@Ñ !ˆH�d˜EÜÑ@¹4Ó@Ô@àØ �N‰N˜D " e¨T°XÐ-=Ð>Ô ?؈H�TŠNð &Að � ‰ ŒØ×#Ñ# G¨T¯_©_Ó=ˆØ�‰˜s G¨XÓ6Ð6r©rK)érKNr{rBrà©NNN)r)rrr@rHÚ_repr_instancer+r[ryr}r„r†r‹r’r”ršr�r¡r¤r©r«r¾rÁr"r#rCr$r%rDr&rÒrrrrtrtRsÓ„Ù1ñ“Z€NØ × Ñ €DØ × "Ñ "€Fò &ó&ð34Ø19óUò**ò <ò 5òGòò*ò/ò&Oò 3ò8ð#'¨b¸"Àbó% óR*ó&sðj%)¨d¸"Àbó`>òD2ð'+°Ø R°¸ÀdóW<ór  ð€Kó'ô 7rrtcó,—eZdZdZd„Zd„Zd„ZeZd„Zy)ÚTextReprzAClass for safely making a text representation of a Python object.cót—tj|«dx|_|_d|_dx|_|_yrJrNrTs rr¾zTextRepr.__init__¯rUrcó$—tt|«d«rTddjt|«jj ««z}t||«rt ||«||«St tt|««|j«Sr_) r rCrXr)rrrtrxr+rSras rrdzTextRepr.repr1µsp€Ü ”4˜“7˜JÔ 'Ø  3§8¡8¬D°«G×,<Ñ,<×,BÑ,BÓ,DÓ#EÑEˆJÜ�t˜ZÔ(Ø0”w˜t ZÓ0°°EÓ:Ð:Ü”GœD ›GÓ$ d§m¡mÓ4Ð4rcó�—t||j«}t|«}d|vr dt|dd«vrd|dz|z|dzS|S)NrfrgrKrhr)rtrRr+rlris rrlzTextRepr.repr_string¼sV€Ü�A�t—~‘~Ó&ˆÜ˜“:ˆØ �4‰<˜D¬°¸%ÀÓ(DÑDð˜ !™Ñ$ tÑ+¨h°q©kÑ9Ð 9؈rcó”— ttt|««|j«S#d|jj zcYSxYwrn)rtrxr+rRr+r)ros rrpzTextRepr.repr_instanceÇs=€ð :Üœ¤ Q£Ó(¨$¯.©.Ó9Ð 9øð :Ø" Q§[¡[×%9Ñ%9Ñ9Ò 9ús ‚'*ªAN) r)rrr@r¾rdrlrqrprrrrlrl­s „ÙKò-ò 5òð€Hó:rrlcóŒ—eZdZdZe«Zej Zd„Zdd„Zd„Z dd„Z dd„Z dd„Z d „Z dd „Zdd „ZeZdddd œd „Zy)ÚTextDocz'Formatter class for text documentation.có2—djd„|D««S)z(Format a string in bold by overstriking.rKc3ó,K—|] }|dz|z–—Œy­w)ÚNrrbs rrezTextDoc.bold..×sèø€Ð5±¨"�r˜D‘y 2•~±ùs‚)rXrZs rÚboldz TextDoc.boldÕs€à�w‰wÑ5±Ó5Ó5Ð5rcó’—|sy|jd«D�cgc]}||zj«‘Œ}}dj|«Scc}w)z6Indent text by prepending a given prefix to each line.rKrS)rrOrX)r:rjÚprefixÚlinerYs rÚindentzTextDoc.indentÙsH€á˜BØ6:·j±jÀÔ6FÓGÑ6F¨d�&˜4‘-×'Ñ'Õ)Ð6FˆÐGØ�y‰y˜ÓÐùòHs—Acót—|j|«j«}|j|«dz|zdzS)z&Format a section with a given heading.rSrˆ)rzrOrv)r:rwrxÚclean_contentss rr„zTextDoc.sectionßs7€àŸ™ XÓ.×5Ñ5Ó7ˆØ�y‰y˜Ó $Ñ&¨Ñ7¸&Ñ@Ð@rNc ó‡—d}|D]„}t|t«rG|\}}||zt|‰«z}|r(||fk7r"ˆfd„|D«} |ddj| «zz}|dz}ŒZt|t«sŒk||j |‰|dz«z}Œ†|S)zBRender in text a class tree as returned by inspect.getclasstree().rKc3ó6•K—|]}t|‰«–—Œy­wrB©r^)rcrÅr]s €rrez%TextDoc.formattree..îsøèø€ÐD¹e¸œy¨¨G×4¹eùsƒr2rÀrSú )r.rær^rXr�rÁ) r:rÂr]rÃrxrPrÄrÅrÆrÇs ` rrÁzTextDoc.formattreeæs¤ø€àˆÛˆEܘ%¤Ô'Ø ‘��5Ø &™¬9°Q¸Ó+@Ñ@�Ù˜U v iÒ/ÛD¹eÓD�GØ# f¨t¯y©y¸Ó/AÑ&AÑA�FØ $™‘ܘE¤4Õ(Ø $§/¡/ؘ7 A v°¡ó#8ñ8‘ððˆ rc óê —|j}tt|««\}}|jd||xrd|zz«}t |dd«}|j |«} | �||jd| dz«z}|r||jd|«z}g} t j|t j«D]D\} } |€t j| «xs||usŒ$t| ||«sŒ2| j| | f«ŒFg} t j|t j«D]U\} } |€-t j| «st j| «|usŒ5t| ||«sŒC| j| | f«ŒWg}t j|t«D]&\} } t| ||«sŒ|j| | f«Œ(g}t«}t!|d«r•t#j$|j&«D]?\}}}|j)|«|r|j|d z«Œ/|j|«ŒA|j+«||jd d j-|««z}g}t j|t j.«D]:\} } | jj1|d z«sŒ%| |vsŒ*|j| «Œ<|r4|j+«||jd d j-|««z}| r‹| D� � cgc]\} } | ‘Œ }} } |j3t j4|d«|«g}| D]'\} } |j|j7| | |««Œ)||jdd j-|««z}| rRg}| D]'\} } |j|j7| | |««Œ)||jdd j-|««z}|rTg}|D])\} } |j|j9| | |d¬««Œ+||jdd j-|««z}t!|d«rMt;|j<«}|dddk(r|dddk(r|ddj?«}||jd|«z}t!|d«r(||jdt;|j@««z}t!|d«r(||jdt;|jB««z}t!|d«r(||jdt;|jD««z} t jF|«}||jd!|«z}|Scc} } w#tH$rd }YŒ*wxYw)"z5Produce text documentation for a given module object.ÚNAMErrÛNzMODULE 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. Ú DESCRIPTIONr’ú (package)zPACKAGE CONTENTSrSrÚ SUBMODULESrTÚCLASSESÚ FUNCTIONSéF)rqÚDATAr™rÊrËrrÌÚVERSIONr�ÚDATEr”ÚAUTHORr—ÚCREDITSr0ÚFILE)%r)rZrQr„rrArr~r ràr¥rrdr-rhÚsetr rárâr’Úaddr·rXrcržrÁrãr(r&rDr™rVr�r”r—r;rG)r:rAr#räråÚsynopÚdescrPr¤r@r´r…r†r³rÖrîÚ modpkgs_namesrïr]rðÚ submodulesrñrxrërØs rr"zTextDoc.docmoduleös €à�‰ˆÜœv f›~Ó.‰ ˆˆtØ—‘˜f d¨eÒ.E¸À¹ Ñ&FÓGˆÜ�f˜i¨Ó.ˆØ—‘ Ó'ˆØ РؘdŸl™lÐ+=¸vðIñ@óñˆFñ ؘdŸl™l¨=¸$Ó?Ñ?ˆFàˆÜ!×,Ñ,¨V´W·_±_ÖE‰JˆC�à�Ü×%Ñ% eÓ,Ò6°¸6ÒAܘs C¨Õ0Ø—N‘N C¨ <Õ0ð Fð ˆÜ!×,Ñ,¨V´W×5FÑ5FÖG‰JˆC�à�Ü×!Ñ! %Ô(¬G×,=Ñ,=¸eÓ,DÈÒ,Nܘs C¨Õ0Ø—L‘L # u Õ.ð Hð ˆÜ!×,Ñ,¨V´VÖ<‰JˆC�ܘ3  VÕ,Ø— ‘ ˜S %˜LÕ)ð=ðˆÜ›ˆ Ü �6˜:Ô &Ü,3×,@Ñ,@ÀÇÁÖ,QÑ(�˜' 5Ø×!Ñ! 'Ô*ÙØ—N‘N 7¨\Ñ#9Õ:à—N‘N 7Õ+ð -Rð �L‰LŒNؘdŸl™lØ" D§I¡I¨gÓ$6ó8ñ8ˆFðˆ Ü!×,Ñ,¨V´W×5EÑ5EÖF‰JˆC�Ø�~‰~×(Ñ(¨°©Õ4¸ÀMÒ9QØ×!Ñ! #Õ&ðGñ Ø �O‰OÔ Ø˜dŸl™lؘdŸi™i¨ Ó3ó5ñ5ˆFñ Ù18Ô9±¡: 3¨š°ˆIÑ9ØŸ™Ü×$Ñ$ Y°Ó2°Dó:ð;ˆHã%‘ ��UØ—‘ § ¡ ¨e°S¸$Ó ?Õ@ð&à˜dŸl™l¨9°d·i±iÀÓ6IÓJÑJˆFá ØˆHÛ#‘ ��UØ—‘ § ¡ ¨e°S¸$Ó ?Õ@ð$à˜dŸl™l¨;¸¿ ¹ À(Ó8KÓLÑLˆFá ØˆHÛ"‘ ��UØ—‘ § ¡ ¨e°S¸$Àr  Ó JÕKð#à˜dŸl™l¨6°4·9±9¸XÓ3FÓGÑGˆFä �6˜=Ô )ܘ&×,Ñ,Ó-ˆGØ�s˜ˆ|Ð1Ò1°g¸b¸c°lÀcÒ6IØ! " R˜.×.Ñ.Ó0�ؘdŸl™l¨9°gÓ>Ñ>ˆFÜ �6˜:Ô &ؘdŸl™l¨6´3°v·±Ó3GÓHÑHˆFÜ �6˜<Ô (ؘdŸl™l¨8´S¸×9JÑ9JÓ5KÓLÑLˆFÜ �6˜=Ô )ؘdŸl™l¨9´c¸&×:LÑ:LÓ6MÓNÑNˆFð Ü×%Ñ% fÓ-ˆDð˜$Ÿ,™, v¨tÓ4Ñ4ˆØˆ ùóG:øô@ò ØŠDð úsÌ UÔ2U$Õ$ U2Õ1U2c 󇇇‡‡‡ —‰j}|xs|}‰j}‰jfd„}||k(rd‰j|«z}n‰j|«dz|z}|r#t ||«} |ddj | «zz}g} | j Š tj‰«} | r t| «} | r| dk7r‰|| zdz«t‰«} | r ‰| dz«ttj‰««}t|«d kDr(‰d «|D]}‰d ||«z«Œ‰d «t!d „t"j%‰«D«tj&¬«}t|«}d}|rD‰d«|d|D] }‰d |z«Œ||kDr‰dt||z «zdz«‰d «Gˆfd„d«}|«Šˆˆˆˆˆfd„}ˆˆˆˆfd„}ˆˆˆˆˆfd„}t)‰«D����cgc]\}}}}t+|‰¬«r||||f‘Œ}}}}}|rÙ|r|j-«Š n|dd Š t/|ˆ fd„«\}}‰t0j2ur‰ t0j2ur|}ŒV‰ ‰urd}ndt5‰ ‰j«z}t7|‰«|d|z|d„«}|d|z|d „«}|d!|z|d"„«}|d#|z|d$„«}|d%|z|d&„«}|d'|z|d(„«}|}|rŒÙdj | «} | s|dzS|dz‰j9| j;«d)«zdzS#ttf$rd} Y�Œ§wxYwcc}}}}w)*z4Produce text documentation for a given class object.có—t||«SrBr)rÅrs rÚmakenamez"TextDoc.docclass..makenameas€Ü˜Q “?Ð "rúclass z = class r2rÀNr3rSrUzMethod resolution order:r€rKc3óšK—|]C}|jjd«s&|jdk(rt|j«–—ŒEy­w)rœr6N)r)ržrrD)rcr"s rrez#TextDoc.docclass..†s?èø€ð SÑ*E 3Ø—L‘L×+Ñ+¨CÔ0°S·^±^ÀzÒ5Qô�—‘× Ñ*Eùs‚A A rµr�zBuilt-in subclasses:z ... and z other subclassescó•—eZdZd„Zˆfd„Zy)ú(TextDoc.docclass..HorizontalRulecó—d|_yr±rörTs rr¾z1TextDoc.docclass..HorizontalRule.__init__˜rørcó<•—|jr‰d«d|_y)NzF----------------------------------------------------------------------rTrörús €rrüz.TextDoc.docclass..HorizontalRule.maybešrýrNrþrÿs€rrr›—rrrc ó•—t||«\}}|rL‰j«‰ |«|D]/\}}}} t‰ |«}‰ ‰ j||‰ ‰ |««Œ1|S#t$r‰ ‰ j ||‰ ««YŒXwxYwrBr) rr¸rŠrr#r®rr†r rärArûr:s €€€€€rr zTextDoc.docclass..spill sœø€Ü# E¨9Ó5‰IˆB�ÙØ—‘” Ù�S” Û24Ñ.�D˜$ ¨ðEÜ '¨°Ó 5˜ñ ˜TŸ]™]¨5Ø(,¨c°6¸7óDõEð35ðˆLøô%ò=ñ˜TŸ\™\¨%°°sÓ;Ö<ð=ús¶ A!Á!"BÂBc󤕗t||«\}}|r=‰j«‰ |«|D] \}}}}‰ ‰ j||‰ ««Œ"|SrBr rs €€€€rrz*TextDoc.docclass..spilldescriptors±rrc ó•—t||«\}}|r[‰ j«‰ |«|D]>\}}}}t|«} t‰ |«} ‰ ‰j | |‰ d|¬«dz«Œ@|S#t$r|j |} YŒ=wxYw)Nrˆ©rqr=rS)rŽrürQrr8Ú__dict__r&)rr¸rŠrr#r®rr†r=r9r rärArûr:s €€€€€rrz#TextDoc.docclass..spilldataºs¢ø€Ü# E¨9Ó5‰IˆB�ÙØ—‘” Ù�S” Û24Ñ.�D˜$ ¨Ü  ›-�Cð5Ü% f¨dÓ3˜ñ˜Ÿ™ s¨D°#¸bÀc˜ÓJØñõð 35ðˆLøô *ò5Ø%×.Ñ.¨tÑ4šð5úsÁ A0Á0B  B rrcó•—|d‰uSrrrs €rr´z"TextDoc.docclass..Òrrrrz Methods %s: có—|ddk(Srrrs rr´z"TextDoc.docclass..ár rzClass methods %s: có—|ddk(Sr"rrs rr´z"TextDoc.docclass..ãr#rzStatic methods %s: có—|ddk(Sr%rrs rr´z"TextDoc.docclass..år&rzReadonly properties %s: có—|ddk(Sr(rrs rr´z"TextDoc.docclass..çr)rzData descriptors %s: có—|ddk(Sr+rrs rr´z"TextDoc.docclass..ér,rzData and other attributes %s: có—|ddk(Sr.rrs rr´z"TextDoc.docclass..ër/rz | )r)rrrvÚmaprXrrr7r8rGrDrQrr4rWÚsortedrCÚ__subclasses__r>r«r¥r5rŽr6rAr^r¼rzrO)!r:rAr#rärår9rÆr—rwrÇrxr7r?r=r:r<Ú subclassesÚno_of_subclassesÚMAX_SUBCLASSES_TO_DISPLAYÚ subclassnamerr rrr®r"r†r¸r<r=r rûrs!`` ` @@@rr#zTextDoc.docclass[sÔý€à—?‘?ˆØÒ�xˆØ× Ñ ˆà ×+Ñ+ó #ð �8Ò Ø˜tŸy™y¨Ó2Ñ2‰Eà—I‘I˜d“O kÑ1°HÑ<ˆE٠ܘ( EÓ*ˆGؘF T§Y¡Y¨wÓ%7Ñ7Ñ7ˆEàˆØ�‰ˆð Ü×)Ñ)¨&Ó1ˆIñ ܘ)“nˆGÙ˜7 dš?Ù�T˜G‘^ dÑ*Ô+ä�V‹nˆÙ Ù ��t‘Ô ô”G—N‘N 6Ó*Ó+ˆÜ ˆs‹8�aŠ<Ù Ð+Ô ,Û�Ù�V™h t›nÑ,Õ-ðá �ŒHôñ S¬$×*=Ñ*=¸fÔ*Eó Sä— ‘ ô ˆ ô ˜z›?ÐØ$%Ð!Ù Ù Ð'Ô (Ø *Ð+EÐ,EÓ F� Ù�V˜lÑ*Õ+ð!GàÐ";Ò;Ù�^ÜÐ)Ð,EÑEÓFñGà(ñ)ô*ñ �ŒH÷ !ó !ñÓ ˆ÷ ð ÷" ÷ ð ô 0DÀFÔ/Kö3Ù/KÑ+�T˜4  eÜ ¨&Õ1ð˜˜c 5Ò)Ø/Kð ó3ñÙØŸK™K›M‘ à! !™H Q™K� Ü*¨5Ó2MÓNÑ ˆE�9àœXŸ_™_Ñ,°¼h¿o¹oÑ1MØ!�ØØ˜fÑ$Ø$‘à)¬I°iØ6<×6GÑ6Gó-IñI�ô ˜E 6Ô *ñ˜/¨CÑ/°Ù4ó6ˆEáÐ/°#Ñ5°uÙ:ó<ˆEáÐ0°3Ñ6¸Ù;ó=ˆEá$Ð%@À3Ñ%FÈÙ%JóLˆEá$Ð%=ÀÑ%CÀUÙ%HóJˆEáÐ?À#ÑEÀuÙ6ó8ˆEðˆEòCðF—9‘9˜XÓ&ˆÙؘ4‘<Ð Ø�t‰|˜dŸk™k¨(¯/©/Ó*;¸VÓDÑDÀtÑKÐKøôEœIÐ&ò Ø‹Ið üõp3sÂMÈM ÍMÍMcó*—d|j|«zSrAr]r]s rrCzTextDoc.formatvalueõs€à�T—Y‘Y˜vÓ&Ñ&Ð&rcó^—|j}|xs|}|€|}d}d}d} t|«r]|j} | |urt|dd«} nžt j | «rdt | |«z}nydt | j|«z}n_t j|«st j|«r3 |j} |€dt | |«z}n| |urdt | |«z}n|} t j| «rM|�K| j|jk7s| j|jd z|zk7rt| |«} | rd | z}t j |«st j"|«rd } nd} ||k(r|j%|«}nG|�.t j&||g«|urd }|j)d«rd}|j%|«d z|z}d}t j*|«rM t j,|«}|r5t3|«}|dk(r%|j%|«dz}|j4s|dd}|sd}| |z|z|z}|r|dzSt7|«xsd}|dz|xr"|j9|«j;«dzzS#t$rY�Œ°wxYw#t.t0f$rd}YŒ«wxYw)z;Produce text documentation for a function or method object.NrKFr&rErFrGrHrrIrJTú = rKz lambda rTrrLrS)r)r{r*rrr r^r+r1rMr3r8r,rrrarNrOrvrPržrdr7r8rGrDrQrQrzrO)r:rAr#rärƒrr9rRrSrTrUrVrWrXrwr?r7r>r=s rr$zTextDoc.docroutineùsÊ€à—?‘?ˆØÒ�xˆØ ˆ?؈GØˆØˆØˆÜ ˜FÔ #Ø—_‘_ˆFؘ‰|Ü  ¨°TÓ:‘Ü—‘ Ô(Ø,¬y¸ÀÓ/EÑE‘à/´)Ø×$Ñ$ có3+ñ+‘ä×(Ñ(¨Ô0Ü×%Ñ% fÔ-ð ?Ø!×.Ñ.�ð�:Ø/´)¸HÀcÓ2JÑJ‘DØ WÑ,Ø#¤i°¸#Ó&>Ñ>‘DàˆFÜ × Ñ ˜fÔ %¨'Ð*=Ø × Ñ  ×!3Ñ!3Ò 3Ø × Ñ  7×#7Ñ#7¸#Ñ#=ÀÑ#HÒ Hܘv sÓ+ˆEÙØ! EÑ)�ä × 'Ñ '¨Ô /Ü×*Ñ*¨6Ô2Ø%‰NàˆNà �8Ò Ø—I‘I˜hÓ'‰Eà�Ü×&Ñ& r¨8°RÓ8¸FÑBØ�Ø—?‘? 8Ô,Ø�DØ—I‘I˜d“O eÑ+¨hÑ6ˆE؈ä × Ñ ˜VÔ $ð !Ü#×-Ñ-¨fÓ5� ñܘi›.�ؘzÒ)Ø ŸI™I d›O¨jÑ8�Eð"×1Ò1Ø")¨!¨B -˜Ù؈GØ Ñ%¨Ñ/°$Ñ6ˆá ؘ$‘;Р䘓.Ò& BˆCؘ$‘; #Ò"J¨$¯+©+°cÓ*:×*AÑ*AÓ*CÀdÑ*JÑKÐ Køôo"ò Úð ûôH¤ Ð*ò !Ø ’ ð !ús$Â0 JÇ+JÊ JÊJÊJ,Ê+J,cóâ—g}|j}|r||j|««|d«t|«xsd}|r||j|««|d«dj |«S)z1Produce text documentation for a data descriptor.rSrK)rrvrQrzrXr[s rr%zTextDoc.docdataHsb€àˆØ�~‰~ˆá Ù �—‘˜4“Ô !Ù �ŒJÜ�V‹nÒ" ˆÙ Ù �—‘˜SÓ!Ô "Ù �ŒJØ�w‰w�wÓÐrr¡có$—|j|«}|r+|xr|dzxsd|z} |t| «z } | dkr|d| dz}|xr|j|«dzxsd|z} |s t|«}|r#| d|j t |««zdzz } | S)z-Produce text documentation for a data object.r³rKrNrorS)r+rWrvrQrzrD) r:rAr#rärÃrqr=rår+ryÚchops rr&zTextDoc.docotherXs§€ð�y‰y˜Ó ˆÙ ØÒ)˜T E™\Ò/¨R°4Ñ7ˆDØœC ›IÑ%ˆDØ�aŠx  U d  ¨eÑ 3˜ØÒ0˜Ÿ™ 4›¨5Ñ0Ò6°B¸$Ñ>ˆÙܘ“.ˆCÙ Ø �D˜4Ÿ;™;¤s¨3£xÓ0Ñ0°4Ñ7Ñ 7ˆD؈ r)r€)NrKrà)NNNNri)r)rrr@rlrjr+rvrzr„rÁr"r#rCr$r%rDr&rrrrrrrÍse„Ù1ñ“Z€NØ × Ñ €Dò6ó ò Aóó cóJXLòt'óMLó^  ð€Kð Ø $õ rrrcó—eZdZdZd„Zy)Ú _PlainTextDocz2Subclass of TextDoc which overrides string stylingcó—|SrBrrZs rrvz_PlainTextDoc.boldis€Øˆ rN)r)rrr@rvrrrr¸r¸gs „Ù<órr¸có.—t«at|«y)zCThe first time this is called, determine what kind of pager to use.N)ÚgetpagerÚpagerrws rr¼r¼ns€ô ‹J€EÜ ˆ$…Krcó^‡—ttjd«stSttjd«stStjj «rtjj «stStj dk(rtStjjd«xstjjd«Š‰rCtj dk(rˆfd„Stjjd«dvrˆfd „Sˆfd „Stjjd«dvrtStj dk(rd „Sttd «rtjd «dk(rd„Sddl }|j«\}}tj|« ttd «r3tjd|z«dk(rd„tj|«Sttj|«S#tj|«wxYw)z2Decide what method to use for paging through text.ÚisattyÚ emscriptenÚMANPAGERÚPAGERÚwin32có.•—tt|«‰«SrB©Ú tempfilepagerÚplain©rjÚ use_pagers €rr´zgetpager..�sø€¤ ¬e°D«k¸9Ô ErÚTERM)ÚdumbÚemacscó.•—tt|«‰«SrB)Ú pipepagerrÆrÇs €rr´zgetpager..ƒsø€¤ ¬%°«+°yÔ Arcó•—t|‰«SrB©rÍrÇs €rr´zgetpager..…s ø€¤ ¨$° Ô :rcó,—tt|«d«S)Nzmore .‰s€œM¬%°«+°xÔ@rÚsystemz(less) 2>/dev/nullrcó—t|d«S)NÚlessrÏrws rr´zgetpager..‹s €œI d¨FÔ3rNz more "%s"có—t|d«S)NÚmorerÏrws rr´zgetpager..’s €¤ ¨$°Ô 7r)r r ÚstdinÚ plainpagerÚstdoutr¾Úplatformr r<rrÑÚtempfileÚmkstempÚcloseÚunlinkÚttypager)rÚÚfdrôrÈs @rr»r»tsø€ä ”3—9‘9˜hÔ 'ÜÐÜ ”3—:‘:˜xÔ (ÜÐÜ �9‰9× Ñ Ô ¤S§Z¡Z×%6Ñ%6Ô%8ÜÐÜ ‡|�|�|Ò#ÜÐÜ— ‘ —‘˜zÓ*ÒE¬b¯j©j¯n©n¸WÓ.E€IÙÜ �<‰<˜7Ò "ÛEÐ EÜ �Z‰Z�^‰^˜FÓ #Ð'8Ñ 8ÛAÐ Aã:Ð :Ü ‡z�z‡~�~�fÓÐ!2Ñ2ÜÐÜ ‡|�|�wÒÙ@Ð@ÜŒr�8Ô¤§¡Ð+?Ó!@ÀAÒ!EÙ3Ð3ãØ×%Ñ%Ó'�N€RˆÜ‡H�HˆR„LðÜ ”2�xÔ ¤R§Y¡Y¨{¸XÑ/EÓ%FÈ!Ò%KÙ7ô � ‰ �(Õôä � ‰ �(ÕøŒ� ‰ �(ÕúsÆ7-HÇ:HÈH,có0—tjdd|«S)z%Remove boldface formatting from text.z.rK)rMrNrws rrÆrƘs€ä �6‰6�%˜˜TÓ "Ð"rcó2—ddl}|j|d|jd¬«} |j5} |j |«ddd« |j«y#t $rYŒ&wxYw#1swYŒ+xYw#t $rYŒ9wxYw#t $rYnwxYwŒL)z3Page through text by feeding it to another program.rNTÚbackslashreplace)ÚshellrÖÚerrors)Ú subprocessÚPopenÚPIPErÖÚwriteÚKeyboardInterruptrîÚwait)rjÚcmdråÚprocÚpipes rrÍrÍœs¬€ãØ × Ñ ˜C t°:·?±?Ø#5ð ó 7€Dð  Ø �ZŠZ˜4ð Ø— ‘ ˜4Ô ÷ð ð Ø �I‰IŒKØ øô%ò ñð ú÷ˆZûô ò Ù ð ûô !ò ñ ð úð sW¥ A:±A.³AÁA:ÁB Á A+Á(A.Á*A+Á+A.Á.A7Á3A:Á: BÂB BÂBc óŒ—ddl}|j«5}tjj |d«}t |ddt jdk(rtjd«nd¬«5}|j|«ddd«tj|dz|zd z«ddd«y#1swYŒ0xYw#1swYyxYw) z.Ís€œ#Ÿ)™)Ÿ.™.¨Ô+rcóJ—tjj«ddddS)NrrT)r rÖrÈrrrr´zttypager..Ðs€œ#Ÿ)™)×,Ñ,Ó.¨s°Ð3°B°QÑ7rÚLINESrTéz -- more --)ÚqÚQz )Ú rS)ÚbÚBÚ)rÆrørÚttyr rÖÚfilenoÚ tcgetattrÚ setcbreakrr8ÚioÚUnsupportedOperationr²r r<rr8rØrèrXÚflushÚ tcsetattrÚ TCSAFLUSH) rjrYrrßÚoldÚgetcharÚhrhÚincrÅs rrÞrÞÅs€ä ”. Ó&Ó '× -Ñ -¨dÓ 3€Eð8ÛÜ �Y‰Y× Ñ Ó ˆØ�m‰m˜BÓˆØ � ‰ �bÔÙ+ˆð 2ð Ü”B—J‘J—N‘N 7¨AÓ.Ó/ˆAð �Š6؈AØ�a‘%ˆˆˆCÜ � ‰ ×јŸ™ 5¨¨# ;Ó/°$Ñ6Ô7Ø�A�B‰iÜ �J‰J× Ñ ˜\Ô *Ü �J‰J× Ñ Ô Ù“ ˆAà�J‰Ü— ‘ × Ñ Ð!1Ô2ØØ�lÑ"Ü— ‘ × Ñ Ð!1°E¸!±HÑ!<¸tÑ!CÔDؘ‘E�ØØÐ&Ñ&ؘ‘G˜c‘M�Ø�q’5˜a˜!Ü �J‰J× Ñ ˜T D§I¡I¨e°A°a¸±e¨nÓ$=Ñ=ÀÑDÔ EØ�C‘ˆAð!�A�BŠiñ& Ø �M‰M˜"˜cŸm™m¨SÕ 1ð øôA œ¬×)@Ñ)@Ð Aò8؈Ù7‹ð8ûôò Ø‹Að ûñ2 Ø �M‰M˜"˜cŸm™m¨SÕ 1ð ús=¥AG1Á.)HÂD8H-Ç1#HÈHÈ H*È&H-È)H*È*H-È-"Icóf—tjjtt |«««y)z>Simply print unformatted text. This is the ultimate fallback.N)r rØrèrÆrørws rr×r×ñs€ä‡J�J×Ñ”Uœ>¨$Ó/Ó0Õ1rcóh—tj|«rU|jtjvrd|jzSt |d«rd|jzSd|jzStj |«rd|jzStj|«r=d|jj›d|jj›d|j›�Stj|«r=d|jj›d|jj›d|j›�Stj|«rd |jzStj|«rd |jzStj|«rd |jzSt|«jS) z/Produce a short description of the given thing.zbuilt-in module r’zpackage zmodule zbuilt-in function zgetset descriptor rzmember descriptor r˜z function zmethod )rrcr)r rr r-Úisgetsetdescriptorr3rr4r r,r(rC)Úthings rÚdescriberõsW€ä×Ñ˜ÔØ �>‰>œS×5Ñ5Ñ 5Ø%¨¯©Ñ6Ð 6Ü �5˜*Ô %Ø §¡Ñ.Ð .à˜uŸ~™~Ñ-Ð -Ü×Ñ˜ÔØ# e§n¡nÑ4Ð4Ü×!Ñ! %Õ(à × Ñ × )Ó )¨5×+=Ñ+=×+FÓ+FØ �NŠNðð ô×!Ñ! %Õ(à × Ñ × )Ó )¨5×+=Ñ+=×+FÓ+FØ �NŠNðð ô‡��uÔØ˜%Ÿ.™.Ñ(Ð(Ü×ј%Ô Ø˜UŸ^™^Ñ+Ð+Ü×Ñ˜ÔØ˜5Ÿ>™>Ñ)Ð)Ü �‹;× Ñ ÐrcóR—|jd«D�cgc]}|sŒ|‘Œ }}d\}}|t|«kr;tdj|d|dz«|«}|r||dz}}nn|t|«krŒ;|r|}nt}||dD]} t ||«}Œ|Scc}w#t $rYywxYw)z@Locate an object by name or dotted path, importing as necessary.rr±NrT)rrWrrXr6rr8)r rÚpartrærúÚnÚ nextmodulerAs rÚlocaters€à"Ÿj™j¨œoÓ 6™o�d²ŠT˜o€EÐ 6Ø�I€FˆAØ Œc�%‹jŠ.Ü §¡¨¨t°°!±¨Ó 5°yÓAˆ Ù  :¨q°1©u˜q‘vØð Œc�%‹j‹.ñØ‰äˆØ�a�b“ ˆð ܘV TÓ*‰Fðð €Mùò 7øôò Úð ús”BœB B B&Â%B&cóª—t|t«r t||«}|€td|z«‚||fSt |dd«}|t|t«r|fSdfS)zDGiven an object or a path to an object, get the object and its name.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.rDrrr)rrrAr#s rÚresolver)so€ä�%œÔܘ˜yÓ)ˆØ ˆ>Üð,ð/4ñ4ó5ð 5ð�uˆ}Ðä�u˜j¨$Ó/ˆØœj¨¬sÔ3�dÐ=Ð=¸Ð=Ð=rcó(—|€t}t||«\}}t|«}tj|«}|rd|vr|d|d|j d«zz }n|r||ur|d|j zz }tj|«sstj|«s^tj|«sItj|«s4t|«s)t|d«r |j}nt|«}|dz }||zdz|j||«zS)zBRender text documentation, given an object or a path to an object.Nrz in z in module Ú __origin__z objectrˆ)rjrrrràÚrfindr)rcr rdr2rIr rrCr()rrwrÚrendererrAr#r’rús rÚ render_docr!7s€ðÐ܈ܘ5 )Ó,�L€FˆDÜ �FÓ €DÜ × Ñ ˜vÓ &€FÙ ��t‘ Ø �˜Ð.˜tŸz™z¨#›Ð/Ñ/Ñ/‰Ù �F &Ñ(Ø �  §¡Ñ/Ñ/ˆä × Ñ ˜VÔ $Ü�o‰o˜fÔ%Ü×Ñ Ô'Ü×&Ñ& vÔ.Ü�fŒoô �6˜<Ô (Ø×&Ñ&‰Fä˜&“\ˆFØ �IÑ ˆDØ �4‰<˜&Ñ  8×#4Ñ#4°V¸TÓ#BÑ BÐBrcó —|€ tt|||««y t|||t«}|j |«y#t$r}|r‚t|«Yd}~yd}~wwxYw#t$r}t |«}Yd}~ŒOd}~wwxYw)zCDisplay text documentation, given an object or a path to an object.N)r¼r!rÚprintÚ plaintextrDrè)rrwrÚoutputÚis_clirÿr‰s rr=r=Rs|€ð€~ð Ü ”*˜U E¨9Ó5Õ 6ð  ܘ5 %¨´IÓ>ˆAð � ‰ �Q�øôò ÙØÜ �#�J‰Jûð ûôò Ü�C“�Aûð ús.„AœA$Á A!Á AÁA!Á$ BÁ- A=Á=Bcó—t||«\}}tjt|«tj ||««}t |dzdd¬«5}|j |«ddd«td|dz«y#1swYŒxYw)zÕ"÷ 5Ð 4ús ÁA>Á>Bcób—|€i}tj|g|«D]\}}}t|«Œy)zAWrite out HTML documentation for all modules in a directory tree.N)ráÚ walk_packagesr*)rÚpkgpathÚdonerïr]rðs rÚ writedocsr/ks7€à €|˜B�TÜ$+×$9Ñ$9¸3¸%ÀÖ$IÑ ˆ�'˜5Ü�Õð%Jà rcóT—eZdZidd“dd“dd“dd“dd“d d “d d “d d“dd“dd“dd“dd“dd“dd“dd“dd“dd“id d!“d"d#“d$d%“dd&“d#d'“d(d)“d*d+“d,d-“d.d/“d0d“d1d“d2d3“d4d5“d6d7“dd8“d9d:“dd;“¥dD���cgc]}d?D]}||z‘Œ Œc}}}Zd@dAdBdCge¢­dDdEdFdGdHdIdJœZdKdLdMdNdOdPdQdRdSdTdUdVdVdWdWdXœZej«D]/\ZZ e D]%Z eje e«Z ee vre dYzezZ e ee <Œ'Œ1[[ [ [ idZd[“dRd\“d]d^“d_d`“dadb“dcdd“dedf“dgdh“didj“dkdl“dmdn“dodp“dqdr“dsdt“dudv“dwdZ“dxdZ“idydz“dOd{“d|d}“d~d“d€d�“d‚d#“dƒd„“d…dƒ“d†dƒ“d‡dˆ“d‰dŠ“d‹dŒ“d�dŽ“d�d�“d‘d’“d“d”“d•d–“¥id—d˜“d™dš“d›dœ“d�d™“džd™“dŸd “d¡d¢“d£d¤“d¥d¦“dSd§“d¨d©“dªdk“d«d¬“d­d®“d¯d°“dnd±“d²d³“¥id´dµ“d¶d·“d¸d¹“dºd»“dLd¼“d½d¾“d¿dÀ“dÁd“dÃdÄ“d+dÅ“ddÆ“dÇd “dÈdÉ“dÊdË“dÌd“dÍd6“dÎd#“¥ddÏdÐdÑdÒdÓœ¥Z dædÕ„Z edÖ„«Zedׄ«ZdØ„Ze«ZefdÙ„ZdÚ„ZdÛ„ZdçdÜ„ZdÝ„ZdèdÞ„Zdß„Zdà„Zdá„Zdédâ„Zdédã„Zdä„Zdédå„Z yÔcc}}}w)êÚHelperÚFalserKÚNoneÚTrueÚandÚBOOLEANÚasÚwithÚassert)r9rKÚasync)r:rKÚawait)r;rKÚbreak)r<ú while forÚclass)r>zCLASSES SPECIALMETHODSÚcontinue)r?r=Údef)ÚfunctionrKÚdel)rBÚ BASICMETHODSÚelifÚifÚelse)rFr=ÚexceptÚtryÚfinallyÚfor)rJzbreak continue whileÚfromÚimportÚglobal)rMznonlocal NAMESPACES)rEÚ TRUTHVALUE)rLÚMODULESÚin)rPÚSEQUENCEMETHODSÚisÚ COMPARISONÚlambda)rTr‡Únonlocal)rUzglobal NAMESPACESÚnotÚorÚpass)rXrKÚraise)rYÚ EXCEPTIONSÚreturn)r[r‡)rHrZÚwhile)r\zbreak continue if TRUTHVALUE)r8z CONTEXTMANAGERS EXCEPTIONS yieldÚyield)r]rK)rÚfrhÚu©Ú'r­raz'''r­z""")Ú+rÚ*ú**r9z//Ú%ú<<ú>>rWÚ|Ú^Ú~rXrYú<=ú>=ú==ú!=ú<>)rXrYrkrlrmrnro)rrj) z+=z-=z*=z/=z%=z&=z|=z^=z<<=z>>=z**=z//=)rfrgrWrhrirj)ÚjÚJ)ÚSTRINGSÚ OPERATORSrSÚUNARYÚAUGMENTEDASSIGNMENTÚBITWISEÚCOMPLEXzOPERATORS FORMATTINGÚPOWERzTUPLES LISTS FUNCTIONSz ATTRIBUTES FLOAT MODULES OBJECTSÚELLIPSISzSLICINGS DICTIONARYLITERALSz def classrrÚ PRIVATENAMESzPRIVATENAMES SPECIALMETHODSÚ BACKQUOTESzTUPLES FUNCTIONS CALLSzLISTS SUBSCRIPTS SLICINGS)rerdÚ,rroÚ:Ú@rfrœr›Ú`rÄrÅÚ[Ú]r*ÚTYPES)ÚtypeszRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspect)Ústringsz4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPESÚ STRINGMETHODS)zstring-methodszSTRINGS FORMATTINGÚ FORMATTING)Ú formatstringsrsÚUNICODE)r„z:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPESÚNUMBERS)ÚnumberszINTEGER FLOAT COMPLEX TYPESÚINTEGER)Úintegersz int rangeÚFLOAT)Úfloatingz float mathrw)Ú imaginaryz complex cmathÚ SEQUENCES)Útypesseqz$STRINGMETHODS FORMATTING range LISTSÚMAPPINGSÚ DICTIONARIESr‡)Útypesfunctionsz def TYPESÚMETHODS)Ú typesmethodszclass def CLASSES TYPESÚ CODEOBJECTS)zbltin-code-objectszcompile FUNCTIONS TYPESÚ TYPEOBJECTS)zbltin-type-objectsz types TYPESÚ FRAMEOBJECTSÚ TRACEBACKSÚNONE)zbltin-null-objectrK)zbltin-ellipsis-objectÚSLICINGSÚSPECIALATTRIBUTES)Ú specialattrsrKr†)rƒz!class SPECIALMETHODS PRIVATENAMESrO)Ú typesmodulesrLÚPACKAGESÚ EXPRESSIONS)zoperator-summaryz˜lambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIESrsÚ PRECEDENCEÚOBJECTS)Úobjectsr‚ÚSPECIALMETHODS)Ú specialnameszbBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS NUMBERMETHODS CLASSESrC)Ú customizationzhash repr str SPECIALMETHODSÚATTRIBUTEMETHODS)zattribute-accesszATTRIBUTES SPECIALMETHODSÚCALLABLEMETHODS)zcallable-typeszCALLS SPECIALMETHODSrQ)úsequence-typesz(SEQUENCES SEQUENCEMETHODS SPECIALMETHODSÚMAPPINGMETHODS)rªzMAPPINGS SPECIALMETHODSÚ NUMBERMETHODS)z numeric-typesz*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODSÚ EXECUTION)Ú execmodelz%NAMESPACES DYNAMICFEATURES EXCEPTIONSÚ NAMESPACES)Únamingz3global nonlocal ASSIGNMENT DELETION DYNAMICFEATURESÚDYNAMICFEATURES)zdynamic-featuresrKÚSCOPINGÚFRAMESrZ)r2ztry except finally raiseÚ CONVERSIONS)Ú conversionsrKÚ IDENTIFIERS)Ú identifierszkeywords SPECIALIDENTIFIERSÚSPECIALIDENTIFIERS)z id-classesrK)zatom-identifiersrKÚLITERALS)z atom-literalsz=STRINGS NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALSÚTUPLESÚ TUPLELITERALS)Ú exprlistszTUPLES LITERALSÚLISTS)ztypesseq-mutableÚ LISTLITERALSr¾)ÚlistszLISTS LITERALS)Ú typesmappingÚDICTIONARYLITERALSrÁ)r5zDICTIONARIES LITERALSÚ ATTRIBUTES)zattribute-referencesz(getattr hasattr setattr ATTRIBUTEMETHODSÚ SUBSCRIPTS)Ú subscriptionsrQrœ)ÚslicingsrQÚCALLS)Úcallsr¡)Úpowerr¡rt)Úunaryr¡ÚBINARY)Úbinaryr¡ÚSHIFTING)Úshiftingr¡rv)Úbitwiser¡)Ú comparisonszEXPRESSIONS BASICMETHODS)ÚbooleanszEXPRESSIONS TRUTHVALUEÚ ASSERTIONÚ ASSIGNMENT)Ú assignmentruru)Ú augassignr¬ÚDELETIONÚ RETURNINGÚ IMPORTING)Úcompoundzfor while break continue)Útruthz if while and or not BASICMETHODS)ÚdebuggerÚpdb)zcontext-managersr8)Ú CONDITIONALÚLOOPINGrNÚ DEBUGGINGÚCONTEXTMANAGERSNcó —||_||_yrB)Ú_inputÚ_output)r:Úinputr%s rr¾zHelper.__init__"s€ØˆŒ ؈� rcó>—|jxstjSrB)rár rÖrTs rrãz Helper.input&s€à�{‰{Ò'œcŸi™iÐ'rcó>—|jxstjSrB)râr rØrTs rr%z Helper.output*s€à�|‰|Ò)œsŸz™zÐ)rcó®—tj«dddk(r|«yd|jj›d|jj›d�S)NrTrnÚ?rKrXrz instance>)rÚstackr+rrrTs rÚ__repr__zHelper.__repr__.sO€Ü �=‰=‹?˜1Ñ ˜aÑ  CÒ 'Ù ŒFØð (ð&*§^¡^×%>Ó%>Ø%)§^¡^×%@Ó%@ðBð Brcó$—||jur |j|«y|j «|j «|jj d«y#t$r(}|jj |›d�«Yd}~yd}~wwxYw)NrSa 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. )Ú_GoInteractiverrr%rèÚintroÚinteract)r:Úrequestrs rÚ__call__zHelper.__call__6sy€Ø ˜$×-Ñ-Ñ -ð .Ø— ‘ ˜'Õ"ð �J‰JŒLØ �M‰MŒOØ �K‰K× Ñ ðõ øô ò .Ø— ‘ ×!Ñ! S E¨ *×-Ñ-ûð .ús�AÁ BÁ'B  Bcó†—|jjd« |jd«}|sy |j «}t |«dkDr"|d|dcxk(rdvrnn|d|ddvr|dd}|j«dvry|d k(r|j«n|j|«Œ‘#ttf$rYywxYw) NrSzhelp> rUrrr`rT)rþÚquitr) r%rèÚgetlineréÚEOFErrorrVrWr>rìr)r:rîs rrízHelper.interactFsÈ€Ø � ‰ ×ј$ÔØð ØŸ,™, xÓ0�Ù �wð—m‘m“oˆGô�G“ ˜qÒ  W¨Q¡Z°7¸2±;Ô%LÀ*Ô%LØ ™ ¨'°!°B¨-Ñ7Ø! ! B˜-�Ø�}‰}‹ -Ñ/°Ø˜&Ò Ø— ‘ • à— ‘ ˜'Ô"ð#øô&¤xÐ0ò Ùð úsžB.Â.CÂ?Ccóî—|jtjur t|«S|jj |«|jj «|jj «S)z.Read one line, using input() when appropriate.)rãr rÖr%rèr rÈ)r:Úprompts rròzHelper.getline[sQ€à �:‰:œŸ™Ñ "ܘ“=Ð à �K‰K× Ñ ˜fÔ %Ø �K‰K× Ñ Ô Ø—:‘:×&Ñ&Ó(Ð (rcón—t|t«�rX|j«}|dk(r|j«�nb|dk(r|j «�nK|dk(r|j «�n4|dk(r|j «�n|dddk(r#|j |j«d«nò||jvr|j|«nÒ|dvr#tt|«d |j|¬ «n«||jvr|j|«n‹||jvr|j|«nk|rt|d |j|¬ «nOttd |j|¬ «n1t|t «r|«nt|d |j|¬ «|j"j%d «y) NÚkeywordsÚsymbolsÚtopicsrézmodules rT)r4r2r3z Help on %s:)r%r&rS)r.rDrVÚ listkeywordsÚ listsymbolsÚ listtopicsÚ listmodulesrrøÚ showsymbolr=Úevalrâr÷Ú showtopicrùr1r%rè)r:rîr&s rrz Helper.helpdsE€Ü �gœsÕ #Ø—m‘m“oˆGؘ*Ò$ d×&7Ñ&7Ö&9ؘIÒ% t×'7Ñ'7Ö'9ؘHÒ$ d§o¡oÖ&7ؘIÒ% t×'7Ñ'7Ö'9ؘ˜!�  Ò*Ø× Ñ  §¡£°Ñ!3Õ4ؘDŸL™LÑ(¨$¯/©/¸'Õ*BØÐ5Ñ5ä”D˜“M =¸¿¹ÈfÖUؘDŸM™MÑ)¨4¯>©>¸'Õ+BؘDŸK™KÑ'¨¯©¸Õ)@Ùœ#˜g }¸T¿\¹\ÐRXÖYÜ”c˜=°·±ÀfÖMÜ ˜¤Ô (©$­&Ü�'˜=°·±ÀfÕMØ � ‰ ×ј$Õrcó€—|jjdjdtjddz««y)Na‡Welcome to Python {0}'s help utility! If this is your first time using Python, you should definitely check out the tutorial 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 get a list of available modules, keywords, symbols, or topics, enter "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", enter "modules spam". To quit this help utility and return to the interpreter, enter "q" or "quit". z%d.%drU)r%rèr=r rCrTs rrìz Helper.introys7€Ø � ‰ ×Ñð÷  �Fˆ7”S×%Ñ% b qÐ)Ñ )Ó*õ! ,rc ó¶—tt|««}||z}t|«|zdz |z}t|«D]ž}t|«D]s}||z|z}|t|«ksŒ|jj ||«||dz ksŒA|jj dd|dz t||«z zz«Œu|jj d«Œ y)NrTr*rS)r�r«rWrŽr%rè) r:ÚitemsÚcolumnsr€Úcolwr�Úrowr‘rºs rr�z Helper.listŒsʀܔV˜E“]Ó#ˆØ˜ÑˆÜ�E“ ˜WÑ$ qÑ(¨WÑ4ˆÜ˜–;ˆCܘW–~�ؘ$‘J Ñ$�Ø”s˜5“z“>Ø—K‘K×%Ñ% e¨A¡hÔ/ؘW q™[Ó(ØŸ ™ ×)Ñ)¨#°°t¸a±xÄ#ÀeÈAÁhÃ-Ñ7OÑ0PÑ*PÕQð &ð �K‰K× Ñ ˜dÕ #ñrcóŒ—|jjd«|j|jj ««y)NzN Here is a list of the Python keywords. Enter any keyword to get more help. )r%rèr�r÷r‚rTs rrûzHelper.listkeywords™s4€Ø � ‰ ×Ñðô ð � ‰ �$—-‘-×$Ñ$Ó&Õ'rcóŒ—|jjd«|j|jj ««y)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ør‚rTs rrüzHelper.listsymbols s4€Ø � ‰ ×Ñðô ð � ‰ �$—,‘,×#Ñ#Ó%Õ&rcóŒ—|jjd«|j|jj ««y)NzN Here is a list of available topics. Enter any topic name to get more help. )r%rèr�rùr‚rTs rrýzHelper.listtopics¨s4€Ø � ‰ ×Ñðô ð � ‰ �$—+‘+×"Ñ"Ó$Õ%rcó^— ddl}|jj ||j j |««}|s(|jjdt|«z«yt|t«r|j||«S|\}} |jj|}|j«dz}|r |xsddz|z}|rRddl }ddj|j««zdz} |j!| d «} |d dj| «zz }|j"€ t%|«y|jj|«y#t$r|jjd«YywxYw#t$r*|jjdt|«z«YywxYw) 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 rSrKr*úRelated help topics: rÀéHz %s )Úpydoc_data.topicsrr%rèrùrr÷r+r.rDrÚKeyErrorrVÚtextwraprXrÚwraprâr¼) r:ÚtopicÚ more_xrefsÚ pydoc_dataÚtargetÚlabelÚxrefsr=rrjÚ wrapped_texts rrzHelper.showtopic¯sƒ€ð Û $ð—‘—‘ ¨¯ © ×(9Ñ(9¸%Ó(@ÓAˆÙØ �K‰K× Ñ Ð?Ä$ÀuÃ+ÑMÔ NØ Ü �fœcÔ "Ø—>‘> &¨*Ó5Ð 5à‰ ˆˆuð Ø×#Ñ#×*Ñ*¨5Ñ1ˆCð�i‰i‹k˜DÑ ˆÙ Ø’[˜b CÑ'¨*Ñ4ˆEÙ Û Ø*¨T¯Y©Y°u·{±{³}Ó-EÑEÈÑLˆDØ#Ÿ=™=¨¨rÓ2ˆLØ �8˜dŸi™i¨ Ó5Ñ5Ñ 5ˆCà �<‰<Ð Ü �#�Jà �K‰K× Ñ ˜cÕ "øô?ò Ø �K‰K× Ñ ðô ñ ð  ûô ò Ø �K‰K× Ñ Ð?Ä$ÀuÃ+ÑMÔ NÙ ð ús#‚E E9Å$E6Å5E6Å90F,Æ+F,cóR— ddl}|jj||jj|««}|s t d«‚t |t«r|j||«S|\}}|jj|}|r |xsddz|z}||fS#t$rYywxYw)a*Return unbuffered tuple of (topic, xrefs). If an error occurs here, the exception is caught and displayed by the url handler. This function duplicates the showtopic method but returns its result directly so it can be formatted for display in an html page. rN)r rKzcould not find topicrKr*) rrrùrr÷r8r.rDÚ _gettopic)r:rrrrrrr=s rrzHelper._gettopicÓs®€ð Û $ð —‘—‘ ¨¯ © ×(9Ñ(9¸%Ó(@ÓAˆÙÜÐ3Ó4Ð 4Ü �fœcÔ "Ø—>‘> &¨*Ó5Ð 5؉ ˆˆuØ×Ñ×&Ñ& uÑ-ˆÙ Ø’[˜b CÑ'¨*Ñ4ˆEØ�EˆzÐøôò ñ ð ús‚B B&Â%B&cóp—|j|}|jd«\}}}|j||«y)Nr*)røÚ partitionr)r:Úsymbolrrrœrs rrÿzHelper.showsymbolîs4€Ø—‘˜fÑ%ˆØ ×*Ñ*¨3Ó/‰ˆˆq�%Ø �‰�u˜eÕ$rcón‡—|r6|jjdj|««t|«y|jjd«i}|fd„Šˆfd„}t «j ‰|¬«|j |j««|jjd«y)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... có\—|r|dddk(r|dddz}|jd«dkrd||<yy)Né÷ÿÿÿú .__init__r„rrrT)Úfind)r r]r’rs rÚcallbackz$Helper.listmodules..callback sB€Ù˜w r s˜|¨{Ò:Ø% c r˜l¨\Ñ9�GØ—<‘< Ó$ qÒ(Ø'(�G˜GÒ$ð)rcó•—‰d|d«yrBr)r]r$s €rÚonerrorz#Helper.listmodules..onerror sø€Ù˜˜w¨Õ-r©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�r‚)r:r…rr&r$s @rrþzHelper.listmodulesósšø€Ù Ø �K‰K× Ñ ð÷ �Fˆ3ƒKô  ô �C�Là �K‰K× Ñ ðô ðˆGØ6=ó )ô  .ä ‹O× Ñ  °'Ð Ô :Ø �I‰I�g—l‘l“nÔ %Ø �K‰K× Ñ ðõ rrà)F)r�éPrg)!r)rrr÷Ú _strprefixesÚ_symbols_inverserørrÚsymbols_rrrùr¾r/rãr%rérArërïríròrrìr�rûrürýrrrÿrþ)rcÚprþs000rr1r1rse„ð$Ø�ð$à�ð$ð �ð$ð ˆyð $ð ˆfð $ð �.ð $ð �ð$ð �ð$ð Ð'ð$ð Ð4ð$ð Ð-ð$ð Ðð$ð Ð&ð$ð �ð$ð Ð%ð$ð �%ð!$ð" �5ñ#$ð$ Ð.ð%$ð& �ð'$ð( Ð3ð)$ð* Ð"ð+$ð, Ð'ð-$ð. Ð'ð/$ð0 ˆlð1$ð2 Ð)ð3$ð4 Ð5ð5$ð6 ˆyð7$ð8 ˆið9$ð: � ð;$ð< Ð(ð=$ð> Ð)ð?$ð@ Ð$ðA$ðB Ð:ðC$ðD Ð<ñE$ðF �ñG$€HñN$8ÕLÑ#7˜aøA�A˜“EÀ�EÐ#7ÓL€Là˜%  eÐ;¨lÑ;ðNà?Øð!Bà4Øñ Ðð$ØØ %Ø /ØØ *Ø ØØ Ø+Ø Ø %Ø %Ø (Ø (ñ€Gð",×1Ñ1Ö3‰ˆˆxÛˆFØ—[‘[ ¨Ó/ˆFؘFÑ"Ø #™¨Ñ-�Ø$ˆG�FŠOñ ð4ð ˆx˜ ðUØð=ðUð ð(ðUð ÐAð Uð Ð4ð Uð ð(ðUð Ð=ðUð Ð,ðUð Ð+ðUð Ð1ðUð ÐIðUð �NðUð Ð4ðUð Ð>ð!Uð" ÐHð#Uð$ Ð<ð%Uð& ˜ð'Uð( �gñ)Uð* Ð)ð+Uð, Ð9ð-Uð. Ð1ð/Uð0 ÐAð1Uð2 Ð-ð3Uð4 �Hð5Uð6 ð.ð7Uð> �]ð?Uð@ �mðAUðB Ð'ðCUðD ð4ðEUðJ ÐIðKUðL ÐMðMUðN ÐEðOUðP ð/ðQUðT ÐGðUUðV ð,òWUðZ ÐKð[Uð\ ÐWð]Uð^ Ð3ð_Uð` �<ðaUðb �,ðcUðd Ð@ðeUðf Ð*ðgUðh ÐEðiUðj Ð0ðkUðl Ð0ðmUðn ð8ðoUðr �+ðsUðt Ð9ðuUðv Ð5ðwUðx Ð3ðyUðz Ð>ð{Uð| Ð?ò}Uð~ ÐZðUð@ Ð:ðAUðB Ð3ðCUðD Ð)ðEUðF Ð)ðGUðH Ð)ðIUðJ Ð+ðKUðL Ð/ðMUðN Ð-ðOUðP ÐAðQUðR Ð9ðSUðT �XðUUðV Ð;ðWUðX Ð=ðYUðZ �Eð[Uð\ �Xð]Uð^ �Xñ_Uð`Ø;ØCØ(Ø7òiU€Fónðñ(óð(ðñ*óð*òBñ“X€NØ-óò #ò*)ó ò*,ó& $ò(ò'ò&ó"#óHò6%ô ùô[ MsÁ9H#r1có—eZdZdZdd„Zy)r)z7An interruptible scanner that searches module synopses.Ncóˆ—|r|j«}d|_i}tjD]|}|dk7sŒ d||<|€ |d|d«Œt |«j xsd}|j d«d}|dz|z}|j«j|«dk\sŒs|d||«Œ~tj|¬«D�]0\} }} |jr�n|€ |d|d«Œ$ | j|«} | j} t| d «rU | j|«} t!t#j$| ««xsd}t| d «r| j'|«}n[d}nX t(j*j-| «}|j r|j j1«dnd}t3|d d«}|dz|z}|j«j|«dk\s�Œ'||||«�Œ3|r|«yy#t$rY�ŒKwxYw#t$r|r||«Y�ŒewxYw#t.$r|r||«Y�ŒwxYw) NFÚ__main__rTrKrSrrr'Ú get_sourceÚ get_filenamer‘)r>rñr rÚ __import__r@rr#rár,Ú find_specr×rãr r3rrÞrÚStringIOr4rçrñròrrór)r:r$r…Ú completerr&Úseenr]r#r’rïrðrùrãÚsourcer rús rr*zModuleScanner.run s=€Ù �c—i‘i“k�؈Œ ؈ä×/Ô/ˆGؘ*Ó$Ø !��W‘ Ø�;Ù˜T 7¨BÕ/ä% gÓ.×6Ñ6Ò<¸"�DØŸ:™: dÓ+¨AÑ.�DØ" U™?¨TÑ1�DØ—z‘z“|×(Ñ(¨Ó-°Ó2Ù   w°Õ5ð0ô)0×(=Ñ(=Àg×(NÐ(NÑ $ˆH�g˜uØ�yŠyÚàˆ{Ù˜˜w¨Õ+ðØ#×-Ñ-¨gÓ6�DðŸ™�ܘ6 <Ô0ð!Ø!'×!2Ñ!2°7Ó!;˜ô +¬2¯;©;°vÓ+>Ó?ÒEÀ2�Dܘv ~Ô6Ø%×2Ñ2°7Ó;™à#™ð!Ü!*×!5Ñ!5×!;Ñ!;¸DÓ!A˜ð >D¿^º^˜6Ÿ>™>×4Ñ4Ó6°qÒ9ÐQS�DÜ" 6¨*°TÓ:�DØ ‘¨Ñ-�Ø—:‘:“<×$Ñ$ SÓ)¨QÔ.Ù˜T 7¨DÖ1ðI)OñL Ù �Kð øô;#òâðûô%ò!Ù"Ù# GÔ,Ú ð!ûô'ò!Ù"Ù# GÔ,Ú ð!ús6Ã&HÄHÅ%H*È H È H ÈH'È&H'È*IÉIri)r)rrr@r*rrrr)r) s „ÙAô8rr)cóÄ—d„}d„}tj«5tjd«t«j |||¬«ddd«y#1swYyxYw)zAPrint all the one-line module summaries that contain a substring.cóJ—|dddk(r|dddz}t||xrd|z«y©Nr!r"r„z- )r#)r r]r’s rr$zapropos..callbackP s3€Ø �2�3ˆ<˜;Ò &ؘc˜r�l \Ñ1ˆGÜ ˆg�tÒ+  t¡ Õ,rcó—yrBr©r]s rr&zapropos..onerrorT s€Ø rrÃr'N)rËrÌÚfilterwarningsr)r*)r…r$r&s rr(r(N sI€ò-ò ä × Ñ Õ "Ü×Ñ Ô)Ü‹×јH c°7ÐÔ;÷ #× "Ñ "ús ›2AÁAcóÚ‡‡‡‡‡ ‡ —ddlŠddlŠddlŠ ddlŠ Gd„d‰jj «ŠGˆ fd„d‰jj «ŠGˆˆˆˆˆ fd„d‰ j«}||||«}|j«|jsS|jr |js;tjd «|js|jsŒ.|jsŒ;|S) aAStart an HTTP server thread on a specific port. Start an HTML/text server thread, so HTML or text documents can be browsed dynamically and interactively with a web browser. Example use: >>> import time >>> import pydoc Define a URL handler. To determine what the client is asking for, check the URL and content_type. Then get or generate some text or HTML code and return it. >>> def my_url_handler(url, content_type): ... text = 'the URL sent was: (%s, %s)' % (url, content_type) ... return text Start server thread on port 0. If you use port 0, the server will pick a random port number. You can then use serverthread.port to get the port number. >>> port = 0 >>> serverthread = pydoc._start_server(my_url_handler, port) Check that the server is really started. If it is, open browser and get first page. Use serverthread.url as the starting page. >>> if serverthread.serving: ... import webbrowser The next two lines are commented out so a browser doesn't open if doctest is run on this module. #... webbrowser.open(serverthread.url) #True Let the server do its thing. We just need to monitor its status. Use time.sleep so the loop doesn't hog the CPU. >>> starttime = time.monotonic() >>> timeout = 1 #seconds This is a short timeout for testing purposes. >>> while serverthread.serving: ... time.sleep(.01) ... if serverthread.serving and time.monotonic() - starttime > timeout: ... serverthread.stop() ... break Print any errors that may have occurred. >>> print(serverthread.error) None rNcó—eZdZd„Zd„Zy)ú!_start_server..DocHandlercó8—|jjd«rd}nd}|jd«|jdd|z«|j «|j j |j|j|«jd««y) z¢Process a request from an HTML browser. The URL received is in self.path. Get an HTML page from self.urlhandler and send it. z.cssútext/cssú text/htmléÈz Content-Typez%s; charset=UTF-8rõN) r rŸÚ send_responseÚ send_headerÚ end_headersÚwfilerèÚ urlhandlerrö)r:Ú content_types rÚdo_GETz(_start_server..DocHandler.do_GET› s€ð �y‰y×!Ñ! &Ô)Ø)‘ à*� Ø × Ñ ˜sÔ #Ø × Ñ ˜^Ð-@À<Ñ-OÔ PØ × Ñ Ô Ø �J‰J× Ñ ˜TŸ_™_Ø— ‘ ˜<ó)ß)/©°«õ :rcó—yrBr)r:r's rÚ log_messagez-_start_server..DocHandler.log_message« s€à rN)r)rrrNrPrrrÚ DocHandlerrC™ s „ò :ó  rrQcó$•—eZdZd„Zˆfd„Zd„Zy)ú _start_server..DocServercó¶—||_|j|f|_||_|jj ||j|j «d|_y©NF)ÚhostÚaddressr$r<r¾Úhandlerrñ)r:rVÚportr$s rr¾z)_start_server..DocServer.__init__± sE€ØˆDŒIØ ŸI™I tÐ,ˆDŒLØ$ˆDŒMØ �I‰I× Ñ ˜t T§\¡\°4·<±<Ô @؈D�IrcóÞ•—|jsP‰j|jj«gggd«\}}}|r|j «|jsŒP|j «yr})rñÚselectÚsocketrÚhandle_requestÚ server_close)r:ÚrdÚwrÚexr[s €rÚserve_until_quitz1_start_server..DocServer.serve_until_quit¸ sZø€Ø—i’iØ#Ÿ]™]¨D¯K©K×,>Ñ,>Ó,@Ð+AÀ2ÀrÈ1ÓM‘ ��B˜ÙØ×'Ñ'Ô)ð—i“ið × Ñ Õ rcóv—|jj|«|jr|j|«yyrB)r<Úserver_activater$rTs rrdz0_start_server..DocServer.server_activate¿ s,€Ø �I‰I× %Ñ % dÔ +Ø�}Š}Ø— ‘ ˜dÕ#ðrN)r)rrr¾rbrd)r[s€rÚ DocServerrS¯ sø„ò ô ó $rrecó4•—eZdZˆfd„Zˆˆˆˆfd„Zd„Zd„Zy)ú#_start_server..ServerThreadc󢕗||_||_t|«|_‰jj |«d|_d|_d|_yrU) rLrVr²rYÚThreadr¾ÚservingÚerrorÚ docserver)r:rLrVrYÚ threadings €rr¾z,_start_server..ServerThread.__init__Æ sEø€Ø(ˆDŒO؈DŒIܘD› ˆDŒIØ × Ñ × %Ñ % dÔ +Ø ˆDŒL؈DŒJØ!ˆD�Nrcón•— ‰jj‰_‰‰_‰jj ‰_t|j«‰_‰|j|j|j«}||_ |j«y#t$r}||_Yd}~yd}~wwxYw)zStart the server.N)ÚserverÚ HTTPServerr<rXr,ÚMessageÚ MessageClassÚ staticmethodrLrVrYÚreadyrlrbrrk)r:ÚdocsvrrrQreÚemailÚhttps €€€€rr*z'_start_server..ServerThread.runÏ sŠø€ð !Ø!%§¡×!7Ñ!7� ”Ø$.� Ô!Ø*/¯-©-×*?Ñ*?� Ô'Ü(4°T·_±_Ó(E� Ô%Ù" 4§9¡9¨d¯i©i¸¿¹ÓD�Ø!'�”Ø×'Ñ'Õ)øÜò !Ø �— ‘ ûð !úsƒBB B4Â#B/Â/B4có–—d|_|j|_|j|_d|j|jfz|_y)NTz http://%s:%d/)rjrVÚ server_portrYr¨)r:ros rrtz)_start_server..ServerThread.readyÜ s:€ØˆDŒLØŸ ™ ˆDŒIØ×*Ñ*ˆDŒIØ&¨$¯)©)°T·Y±YÐ)?Ñ?ˆD�Hrcóp—d|j_|j«d|_d|_d|_y)z&Stop the server and this thread nicelyTNF)rlrñrXrjr¨rTs rÚstopz(_start_server..ServerThread.stopâ s.€à"&ˆD�N‰NÔ Ø �I‰IŒKð"ˆDŒNØ ˆDŒL؈D�HrN)r)rrr¾r*rtr{)rQrervrwrms€€€€€rÚ ServerThreadrgÄ sø„ô "÷ !ò @ó  rr|g{®Gáz„?)Ú http.serverÚ email.messager[rmroÚBaseHTTPRequestHandlerrprir¸rkrjrlÚtimeÚsleep) rLÚhostnamerYr|ÚthreadrQrervrwr[rms @@@@@@rÚ _start_serverr„\ s­ý€ópÛÛÛô�T—[‘[×7Ñ7ôö,$�D—K‘K×*Ñ*ô$÷*&ò&�y×'Ñ'ô&ñP˜* h°Ó 5€FØ ‡L�L„Nð�lŠl F§N¢N°v×7GÒ7GÜ � ‰ �3Œð�lŠl F§N£N°v×7GÓ7Gà €Mrcó^‡‡‡ ‡ ‡ ‡ ‡ ‡‡—Gˆ fd„dt«}|«Šˆfd„Š ˆfd„Š ˆfd„Š ˆfd„Šˆfd„Š ˆfd„Šˆfd „Š ˆfd „Šˆˆˆ ˆ ˆ ˆ ˆˆfd „}|jd «r|d d}|dk(r”tjj tjj t ««}tjj||«}t|«5}dj|j««cddd«S|dk(r||«Std|›d|›�«‚#1swYŒxYw)aThe pydoc url handler for use with the pydoc server. If the content_type is 'text/css', the _pydoc.css style sheet is read and returned if it exits. If the content_type is 'text/html', then the result of get_html_page(url) is returned. có•—eZdZˆfd„Zy)ú_url_handler.._HTMLDocc ó:•—d}d|z}d|›d|›d‰«›d|›d� S)rvzpydoc_data/_pydoc.cssz1zH Pydoc: z z z*
z
r)r:rwrxÚcss_pathÚcss_linkÚ html_navbars €rryz#_url_handler.._HTMLDoc.page s/ø€à.ˆHàCØññ òšH¡k¥m²Xð?ð ?rN)r)rrry)r‹s€rÚ_HTMLDocr‡þ sø„õ ?rrŒcó•—‰jtj«›dtj«d›dtj«›d�«}d|›d‰jtjd¬««›d �S) Nz [rrÀr�z=
Python ú
T)Útersea
)r[rÙÚpython_versionÚ python_buildÚpython_compiler)rër)s €rr‹z!_url_handler..html_navbar sgø€Ø—+‘+¬x×/FÑ/FÕ/HÜ/7×/DÑ/DÓ/FÀqÓ/IÜ/7×/GÑ/GÕ/IðKóL‰ò0˜DŸK™K¬×(9Ñ(9ÀÔ(EÕFð+Hð Hrc󆕗d„}‰jd«}tjD�cgc] }|dk7r|‘Œ }}‰j||«}|d‰j dd|«zg}i}tj D]#}|j ‰j||««Œ%|j d«dd j|«fScc}w) zModule Index page.có—d|›d|›d�S©Nr–r£r˜r©r#s rÚ bltinlinkz3_url_handler..html_index..bltinlink0 ó �Ú15²tÐ<Ð Index of Modules
r2z

zBuilt-in ModulesrÒzf

pydoc by Ka-Ping Yee<ping@lfw.org>

zIndex of ModulesrK) r}r rr’r†r rrÒrX)r—r}r#Únamesrxr9rr)s €rÚ html_indexz _url_handler..html_index- s×ø€ò =ð—,‘,Ø =ó ˆô#&×":Ò":ó(Ñ":˜$ؘJÒ&òÐ":ˆð(à×#Ñ# E¨9Ó5ˆØ˜U T§_¡_Ø  ¨ó&3ñ3ð4ˆðˆÜ—8”8ˆCØ �O‰O˜DŸJ™J s¨DÓ1Õ 2ðð �‰ð 'ô (ð" 2§7¡7¨8Ó#4Ð4Ð4ùò(s¨B>c󚕇 —gŠ ˆ fd„}tj«5tjd«d„}t«j |||¬«ddd«d„}g}‰ j d«}‰ D]\}}|j ||«|z«Œ!|‰ jd|zd d j|««z}d |fS#1swYŒoxYw) zSearch results page.cóZ•—|dddk(r|dddz}‰j||xrd|zf«yr=rˆ)r r]r’Ú search_results €rr$z3_url_handler..html_search..callbackJ s=ø€Ø�r�sˆ|˜{Ò*Ø! # 2˜,¨Ñ5�Ø × Ñ  '¨4Ò+?°D¸4±KÐ!@Õ ArrÃcó—yrBrr?s rr&z2_url_handler..html_search..onerrorQ s€Ørr'Ncó—d|›d|›d�Sr•rr–s rr—z4_url_handler..html_search..bltinlinkV r˜rz-Search Resultszkey = %srÒrŽzSearch Results) rËrÌr@r)r*r}rr†rX) r…r$r&r—r­r}r#r’rxr�r)s @€rÚ html_searchz!_url_handler..html_searchE sÍù€ðˆ ô Bô × $Ñ $Õ &Ü × #Ñ # HÔ -ò ä ‹O× Ñ  ¨#°wÐ Ô ?÷ 'ò =ðˆØ—,‘,Ø ;ó ˆó(‰JˆD�$Ø �N‰N™9 T›?¨TÑ1Õ 2ð(à˜TŸ_™_Ø ˜Ñ ˜g v§{¡{°7Ó';ó=ñ=ˆà Ð)Ð)÷%'Ð &ús ž5CÃC cóÒ•—d„}‰jd«}ttjj ««}‰j ||«}|‰j dd|«z}d|fS)zIndex of topic texts available.có—d|›d|›d�S©NzINDEXÚTopicsrÒ)r}r«r1rùr‚r’r†)r—r}r™rxr)s €rÚ html_topicsz!_url_handler..html_topicsc snø€ò Bð—,‘,Ø 2ó ˆô”v—}‘}×)Ñ)Ó+Ó,ˆà×#Ñ# E¨9Ó5ˆØ˜TŸ_™_Ø �g˜xó)ñ)ˆà˜Ð!Ð!rcóÒ•—‰jd«}ttjj ««}d„}‰j ||«}|‰j dd|«z}d|fS)zIndex of keywords.r¥có—d|›d|›d�Sr£rr–s rr—z6_url_handler..html_keywords..bltinlinkz r¤rÚKeywordsrÒ)r}r«r1r÷r‚r’r†)r}r™r—rxr)s €rÚ html_keywordsz#_url_handler..html_keywordss snø€à—,‘,Ø 2ó ˆô”v—‘×+Ñ+Ó-Ó.ˆò Bð×#Ñ# E¨9Ó5ˆØ˜TŸ_™_Ø ˜ ó+ñ+ˆà˜8Ð#Ð#rcóÄ•—tj«}t||«}|j|«\}}||jvrd}nd}‰j d|z«}d‰j |«z}‰j|d|«}|rAt|j««}d„}‰j||«}‰jdd|«}|›d|›�d j|||f«fS) zTopic or keyword help page.ÚKEYWORDÚTOPICrÉz
%s
rÒcó—d|›d|›d�Sr£rr–s rr—z7_url_handler..html_topicpage..bltinlink“ s �Ú:>ÂÐEÐErr r*rK) rr7r1rr÷r}r¾r†r«rr’r„rX) rÚbufÚhtmlhelprxrrwr}r—r)s €rÚhtml_topicpagez$_url_handler..html_topicpage‚ sèø€ä�k‰k‹mˆÜ˜#˜sÓ#ˆØ"×,Ñ,¨UÓ3‰ˆ�%Ø �H×%Ñ%Ñ %؉EàˆEØ—,‘,Ø /°%Ñ 7ó ˆð# T§[¡[°Ó%:Ñ:ˆØ—?‘? 5¨7°HÓ=ˆÙ ܘ5Ÿ;™;›=Ó)ˆEò Fð×$Ñ$ U¨IÓ6ˆEØ—L‘LÐ!8¸'À5ÓIˆEÚ ¡%Ð(Ø—‘˜ (¨EÐ2Ó3ð5ð 5rcó„•—t|d¬«}|€|dk7r td«‚t|«}‰j||«}||fS)NrT)rr3zcould not find object)rr8rr()r¨r9rwÚcontentr)s €rÚ html_getobjz!_url_handler..html_getobj› sIø€Ü�S AÔ&ˆØ ˆ;˜3 &š=ÜÐ4Ó5Ð 5ܘ“ ˆØ—-‘-  SÓ)ˆØ�gˆ~Ðrc󺕗‰jd«}djˆfd„tt|«|«D««}|‰j |d|«z}d|z|fS)Nz$ErrorrŽc3ó@•K—|]}‰j|«–—Œy­wrB)r[)rcryr)s €rrez3_url_handler..html_error..§ s#øèø€ðFÙDð6:˜tŸ{™{¨4×0ÙDùsƒrkz Error - %s)r}rXrrCr†)r¨rÿr}rxr)s €rÚ html_errorz _url_handler..html_error£ sfø€Ø—,‘,Ø 2ó ˆð—;‘;óFÜ4´T¸#³YÀÔDóFóFˆà˜TŸ_™_¨S°'¸8ÓDÑDˆØ˜cÑ! 8Ð+Ð+rcóJ•—|}|jd«r|dd} |dvr ‰ «\}}n“|dk(r ‰«\}}nƒ|dk(r ‰ «\}}nsd|vrd|jd«\}}}|dk(r ‰ |«\}}nI|d k(r ‰ |«\}}n7|d k(r|dvr ‰ «\}}n# ‰ |«\}}ntd «‚‰ |«\}}‰j ||«S#t$r‰ |«\}}YŒ(wxYw#t$r‰ |«\}}YŒBwxYw#t$r}‰||«\}}Yd}~Œ`d}~wwxYw) zGenerate an HTML page for url.r:Néûÿÿÿ)rKrÒrùr÷rBz search?keyz topic?keyzget?keyz bad pydoc url)rŸrr8rry)r¨Ú complete_urlrwr´Úoprœrÿr)r¸rµršr«r r²r§s €€€€€€€€rÚ get_html_pagez#_url_handler..get_html_page¬ sfø€àˆ Ø �<‰<˜Ô Ø�c�r�(ˆCð ;Ø�mÑ#Ù!+£‘�‘wؘ’Ù!,£‘�‘wؘ Ò"Ù!.£‘�‘wؘ‘Ø Ÿ]™]¨3Ó/‘ ��A�sؘÒ%Ù%0°Ó%5‘N�E™7ؘ;Ò&ð:Ù)7¸Ó)<™˜™wð˜9’_à˜mÑ+Ù)3«™˜™wðAÙ-8¸Ó-=™N˜E¡7ô% _Ó5Ð5á!,¨SÓ!1‘��wð�y‰y˜ Ó(Ð(øô%&ò:Ù)4°SÓ)9™˜šwð:ûô *òAÙ-;¸CÓ-@™N˜E¢7ðAûô ò ;á'¨ °cÓ:‰NˆE•7ûð ;ús`›ADÁ: CÂD C)Â&DÃC&Ã#DÃ%C&Ã&DÃ)DÃ=DÃ?DÄDÄ D"Ä DÄD"r9rTNrErKrFzunknown content type z for url ) rtržr r ÚdirnameÚrealpathr‘rXríÚ readlinesrG)r¨rMrŒr½Ú path_herer‰Úfpr)r¸rµršr«r‹r r²r§s @@@@@@@@@rÚ _url_handlerrÃõ sðÿø€ö?”7ô?ñ$ ‹:€DôHô65ô0*ô<"ô $ô5ô2ô,÷&)ó&)ðP ‡~�~�cÔØ�!�"ˆgˆØ�zÒ!Ü—G‘G—O‘O¤B§G¡G×$4Ñ$4´XÓ$>Ó?ˆ Ü—7‘7—<‘<  ¨3Ó/ˆÜ �(Œ^˜rØ—7‘7˜2Ÿ<™<›>Ó*÷‰^à ˜Ò $Ù˜SÓ!Ð!å ºLÉ#ÐNÓ OÐO÷ ˆ^ús ÃD#Ä#D,TÚ localhost)Ú open_browserr‚có—ddl}tt||«}|jrt |j«y|j rÐd}|r|j |j« t d|j«t |«|j rZtd«}|j«}|dk(rn9|dk(r|j |j«n t |«|j rŒZ|j r|j«t d«yyy#ttf$r t «YŒEwxYw#|j r|j«t d«wwxYw) z¹Start the enhanced pydoc web server and open a web browser. Use port '0' to start the server on an arbitrary port. Set open_browser to False to suppress opening a browser. rNz"Server commands: [b]rowser, [q]uitzServer ready atzserver> rþrzServer stopped) Ú webbrowserr„rÃrkr#rjrír¨rãr>rérór{)rYrÅr‚rÇÚ serverthreadÚserver_help_msgrës rÚbrowserÊá s/€ó Ü ¤¨x¸Ó>€LØ×ÒÜ ˆl× Ñ Ô!ØØ×ÒØ>ˆÙ Ø �O‰O˜L×,Ñ,Ô -ð (Ü Ð# \×%5Ñ%5Ô 6Ü �/Ô "Ø×&Ò&ܘJÓ'�Ø—i‘i“k�ؘ#’:ØØ˜C’ZØ—O‘O L×$4Ñ$4Õ5ä˜/Ô*ð×&Ó&ð×#Ò#Ø×!Ñ!Ô#ÜÐ&Õ'ð$ð'øô "¤8Ð,ò Ü ŽGð ûð×#Ò#Ø×!Ñ!Ô#ÜÐ&Õ'ð$ús%Á$BDÄD1Ä.D4Ä0D1Ä1D4Ä4*Ecój—t|t«xr"|jtj«dk\Sr±)r.rDr#r Úsep)r�s rÚispathrÍ s%€Ü �aœÓ Ò 5 !§&¡&¬¯©£.°AÑ"5Ð5rcó¶—d|vs(tj|vstj«|vrytjj t «}tjj |«}|j «}||vr1tjj||«s|j|«|jdtj««|S)zÞEnsures current directory is on returned path, and argv0 directory is not Exception: argv0 dir is left alone if it's also pydoc's directory. Returns a new path entry list, or None if no adjustment is needed. rKNr) r ÚcurdirÚgetcwdr r¾r‘ÚcopyÚsamefileÚremoveÚinsert)Ú given_pathÚargv0Ú stdlib_dirÚ script_dirÚ revised_paths rÚ_get_revised_pathrÚ sž€ð ˆZÑœ2Ÿ9™9¨ Ñ2´b·i±i³kÀZÑ6OØô—‘—‘¤Ó*€JÜ—‘—‘ Ó'€JØ—?‘?Ó$€LØ�ZѬ¯©×(8Ñ(8¸ÀZÔ(PØ×јJÔ'Ø×јœ2Ÿ9™9›;Ô'Ø Ðrcó†—ttjtjd«}|�|tjddyy)z˜Ensures current directory is on sys.path, and __main__ directory is not. Exception: __main__ dir is left alone if it's also pydoc's directory. rN)rÚr r Úargv)rÙs rÚ_adjust_cli_sys_pathrÝ% s4€ô %¤S§X¡X¬s¯x©x¸©{Ó;€LØÐØ"Œ�‰‘‰ ð rcó®—ddl}Gd„dt«}t« |jtjddd«\}}d}d}d}d}d}|D]:\} } | d k(rd }d }| d k(r t | «y| d k(rd }| }| d k(rd }| dk(sŒ7d }| }Œ<|rt |||¬«y|s|‚|D]à} t| «rBtjj| «s#td| z«tjd« t| «r*tjj| «r t| «} |rBt| «r+tjj| «r t!| «n#t#| «nt$j%| d ¬«Œây#t&t(f$r+} t| «tjd«Yd} ~ �Œd} ~ wwxYw#|j*|f$r}tjj-tjj/tjd««d} tdj1| tj2¬««YywxYw)z@Command-line interface (looks at sys.argv to decide what to do).rNcó —eZdZy)úcli..BadUsageN)r)rrrrrÚBadUsagerà2 s…rrárTzbk:n:p:wFrÄz-bTz-kz-pz-wz-n)r‚rÅzfile %r does not exist)r&aÑ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Ì)ÚgetoptrrÝr rÜr(rÊrÍr r Úexistsr#Úexitr¿rrr/r*rrrýrkrr r=rÌ)râráÚoptsr'ÚwritingÚ start_serverrÅrYr‚ÚoptÚvalÚargr†rës rÚclirë/ sô€ãÜ#”9Ô#äÔðM!Ø—]‘]¤3§8¡8¨A¨B <°Ó<‰ ˆˆd؈؈ ؈ ؈؈ۉHˆC�Ø�dŠ{Ø#� Ø#� Ø�dŠ{ܘ” ÙØ�dŠ{Ø#� Ø�Ø�dŠ{Ø�Ø�d‹{Ø#� Ø‘ðñ Ü �4 (¸Õ FØ á˜8�^ÛˆCÜ�cŒ{¤2§7¡7§>¡>°#Ô#6ÜÐ.°Ñ4Ô5Ü—‘˜” ð ܘ#”;¤2§7¡7§>¡>°#Ô#6Ü$ S›/�CÙܘc”{¤r§w¡w§}¡}°SÔ'9Ü! #�ä  � ä—I‘I˜c¨$�IÔ/øñøô Ô!2Ð3ò Ü�e” Ü—‘˜— ’ ûð ûð �L‰L˜(Ð #ò!Ü�g‰g×ÑœrŸw™w×/Ñ/´·±¸± Ó<Ó=¸aÑ@ˆÜ ð÷: �FˆsœŸ™€FÓö; !ð!úsQŸAGÁ2GÂGÂAGÃ6BF ÆGÆ GÆ F>Æ8GÆ>GÇGÇB IÉIr2rà)r)ú Python Library Documentation: %srN)rìrNF)rKN)rF)dr@rÛr”r�r—rÏr¡r6Úimportlib._bootstraprçÚimportlib._bootstrap_externalÚimportlib.machineryÚimportlib.utilrrr rárÙrMr rEr€rÆÚ urllib.parserÜrËÚ collectionsrÚreprlibrÚ tracebackrrr$r>r7rIrQrZr^rarhrlrtr®Ú IGNORECASErvrxr{r�rŽr�Úall_feature_namesr¢r¥r«r¼rÁrÞrûrrýrrrrHrtrlrrr¸r¼r»rÆrÍrÅrørÞr×rrrjr$r)rr!r=r*r/r1rr)r(r„rÃrÊrÍrÚrÝrër)rrrÚr÷scðñ%ðL ˆ(€Ø )€ Ø €ð€ ó ÛÛÛÛ$ÛÛÛÛ Û ÛÛÛ Û ÛÛ ÛÛÛÝÝÝ+ò òò1òf ò!ò Aò  òò %òGò òðˆb�j‰jÐ5°r·}±}ÓE€ ò(ò òòñ"˜J×8Ñ8Ó9Ðó(ò0 ò òòð2 ó%ôNK˜ ôKò&+ð$ !¨ó(÷X6ñ6ôt(ˆtô(ôTW 7ˆcôW 7ôv:ˆtô:ô@XˆcôXôt �Gôòò "òH#òò0 /òFò *2òX2ò ó6ñ*ƒy€Ù ‹O€ Ùƒy€ó >ðKLØóCð6DEØ!óó"#ó ÷[ñ[ñz ƒx€÷;ñ;òz <òVóriPðX ( 4°+ô (òJ6òò8#òT!ðl ˆzÒÙ…Eðr