Ë ü 4xžTBãóV—dZddlZddlZddlZddlmZmZddlmZm Z m Z m Z m Z ddlm Z mZmZmZmZmZmZmZmZmZddlmZe«Zejdk(rej4dkDrd nd Zn e«ddd ZGd „d e«Zedk(r ddlmZedd d¬«ddl m!Z!e!e«yy)zAbout Dialog for IDLE éN)Úpython_versionÚ architecture)ÚToplevelÚFrameÚLabelÚButtonÚ PhotoImage) ÚSUNKENÚTOPÚBOTTOMÚLEFTÚXÚBOTHÚWÚEWÚNSEWÚE)ÚtextviewÚdarwinlÚ64Ú32écó`—eZdZdZddddœd„Zd„Zd„Zd„Zd „Zd „Z d „Z d „Z d „Z dd„Z dd„Zy)Ú AboutDialogz!Modal about dialog for idle NF)Ú_htestÚ_utestcó—tj||«|jd¬«|jd|j «dz|j «|sdndzfz«d|_d|_|j«|jdd¬ «|j|xsd t›d t›d �«|j|«|j«|jd |j «||_|j$j'«|j)d|j «|j)d|j «d|_||_|s!|j/«|j1«yy)aCreate popup, do not return until tk widget destroyed. parent - parent of this dialog title - string which is title of popup dialog _htest - bool, change box location when running htest _utest - bool, don't wait_window when running unittest é)Ú borderwidthz+%d+%déédz#bbbbbbz#000000F)ÚheightÚwidthz About IDLE z (z bit)ÚWM_DELETE_WINDOWzzN)rÚ__init__Ú configureÚgeometryÚ winfo_rootxÚ winfo_rootyÚbgÚfgÚcreate_widgetsÚ resizableÚtitleÚpyverÚbitsÚ transientÚgrab_setÚprotocolÚokÚparentÚ button_okÚ focus_setÚbindÚ_current_textviewrÚ deiconifyÚ wait_window)Úselfr5r.rrs ú)/usr/lib/python3.12/idlelib/help_about.pyr%zAboutDialog.__init__sD€ô ×ј$ Ô'Ø �‰ 1ˆÔ%à � ‰ �hØ×*Ñ*Ó,¨RÑ/Ø×*Ñ*Ó,¹©bÀCÑHð"JñJô KðˆŒØˆŒØ ×ÑÔØ �‰˜e¨5ˆÔ1Ø � ‰ �5ò6Ø ¤  r¬$¨¨uÐ5ô 7à �‰�vÔØ � ‰ ŒØ � ‰ Ð(¨$¯'©'Ô2؈Œ Ø �‰× Ñ Ô"Ø � ‰ �*˜dŸg™gÔ&Ø � ‰ �*˜dŸg™gÔ&Ø!%ˆÔ؈Œ áØ �N‰NÔ Ø × Ñ Õ ðócóÜ ‡‡—t|dt¬«}t|«}|jtt¬«|jt dt ¬«t|d|j¬«|_ |jjdd¬ «t||j¬ «}|jdt ¬ «t|d |j|jd ¬«}|jddtdd¬«|j«j!d«}|dk\rdnd}t"j$j't"j$j)t"j$j+t,««dd|›�«}t/|j«|¬«|_t||j0|j¬«}|jddt2ddd¬«d} t|| t4|j|j¬«} | jddt2ddd¬«dŠt|d d!|jˆfd"„¬#«} | jd$dt2dd¬«d%t6j8ddzŠt|d&d!|jˆfd'„¬#«} | jd(ddt2dd¬)«t|d*td|j¬+«jd,dt:ddd¬«t=|j?««} || k7rd-|znd.}d/t@›d0| ›|›�}t|||j|j¬1«}|jd2dt2dd¬«t||j¬ «}|jdddtB¬3«t|d4d,|j|jD¬#«|_#|jFjt4dd¬5«t|d6d,|j|jH¬#«|_%|jJjt4dd¬5«t|d7d,|j|jL¬#«|_'|jNjt4dd¬5«t|d*td|j¬+«jd8dt:ddd¬«t|d |j|j¬1«}|jd9dt2dd¬«t||j¬ «}|jd:ddtB¬3«t|d;d,|j|jP¬#«|_)|jRjt4dd¬5«t|dz,AboutDialog.create_widgets..\sø€´·±ÀÔ1Lr>)rEr#ÚhighlightbackgroundrFéz/https://docs.python.org/%d.%d/library/idle.htmlzIDLE Documentationcó.•—tj‰«Sr^r_)Údocs_urls€r=rcz,AboutDialog.create_widgets..dsø€´·±ÀÔ1Jr>é)rOrPr[rQrGrHé)rr@r"r*éz and ÚzPython z with tcl/tk )rEr+r*é )rOrPr[rQÚLicense)rArGrHÚ CopyrightÚCreditsé é é ÚReadmeÚNews).rr Úpackr rr rrr4r6r*rr+ÚgridrÚ_rootÚgetvarÚosÚpathÚjoinÚabspathÚdirnameÚ__file__r Ú icon_imagerr ÚsysÚ version_inforÚstrÚinfo_patchlevelr/rÚshow_py_licenseÚ py_licenseÚshow_py_copyrightÚ py_copyrightÚshow_py_creditsÚ py_creditsÚ show_readmeÚreadmeÚshow_idle_newsÚ idle_newsÚshow_idle_creditsÚ idle_credits)r<ÚframeÚ frame_buttonsÚframe_backgroundÚheaderÚtkpatchÚextÚiconÚlogoÚ byline_textÚbylineÚforumsÚdocsÚtclverÚtkverÚversionsÚversÚ py_buttonsÚidleÚ idle_buttonsrgrbs @@r=r,zAboutDialog.create_widgets<sþù€Ü�d¨´&Ô9ˆÜ˜d› ˆ Ø×Ѥ¬QÐÔ/Ø � ‰ œ D¬tˆ Ô4Ü  °GØ(,¯©ô1ˆŒà �‰×Ñ ¨ÐÔ+ä  ¨4¯7©7Ô3ÐØ×Ñ T´ÐÔ5äÐ'¨f¸¿¹ØŸ'™'Ð(?ôAˆà� ‰ ˜ !¬A°B¸Rˆ Ô@à—*‘*“,×%Ñ% oÓ6ˆØ 5Ò(‰f¨fˆÜ�w‰w�|‰|œBŸG™GŸO™O¬B¯G©G¯O©O¼HÓ,EÓFØ# w¨s¨e _ó6ˆä$¨D¯J©J«L¸tÔDˆŒÜÐ%¨T¯_©_ÀÇÁÔIˆØ � ‰ �a ¬!°Q¸RÀbˆ ÔIàZˆ ÜÐ'¨kÄ4ØŸ'™' d§g¡gô/ˆà� ‰ ˜ !¬A¸!À"È1ˆ ÔMà1ˆ ÜÐ(Ð/MÐUWØ59·W±WÛ)LôNˆð � ‰ ˜ !¬A°B¸Rˆ Ô@ðFÜ×$Ñ$ R aÐ(ñ)ˆäÐ&Ð-AÈØ59·W±WÛ)JôLˆð � ‰ �a ¨a¼ÀȈ ÔLô ШA´fؘ4Ÿ7™7ô $ß$(¡D¨Q°qÄØ45¸AÀAð%)ô%Gô�T×)Ñ)Ó+Ó,ˆØ%,°Ò%6�˜'Ò!¸BˆØœU˜G =°°¸¸Ð@ˆÜÐ%¨H¸¿¹ÀTÇWÁWÔMˆØ � ‰ �a ¬!°"¸1ˆ Ô=ÜÐ+°·±Ô8ˆ Ø�‰˜B q°Q¼tˆÔDÜ  °)À1Ø59·W±WØ)-×)=Ñ)=ô?ˆŒð �‰×Ѥ$¨R°bÐÔ9Ü" :°KÀqØ7;·w±wØ+/×+AÑ+AôCˆÔð ×Ñ×ѤD¨r¸ÐÔ;Ü  °)À1Ø59·W±WØ)-×)=Ñ)=ô?ˆŒð �‰×Ѥ$¨R°bÐÔ9ä ШA´fؘ4Ÿ7™7ô $ß$(¡D¨R¸Ä"Ø45¸AÀAð%)ô%GôÐ%¨F°t·w±wÀ4Ç7Á7ÔKˆØ � ‰ �b ¬1°2¸Aˆ Ô>ÜÐ-°$·'±'Ô:ˆ Ø×јb¨°qÄÐÔFܘ\°ÀØ15·±Ø%)×%5Ñ%5ô7ˆŒ ð � ‰ ×Ñœd¨°"ÐÔ5Ü  °6ÀØ48·G±GØ(,×(;Ñ(;ô=ˆŒð �‰×Ѥ¨B°RÐÔ8Ü" <°iÀqØ7;·w±wØ+/×+AÑ+AôCˆÔð ×Ñ×ѤD¨r¸ÐÕ;r>có0—|jdt«y)zHandle License button event.zAbout - LicenseN)Údisplay_printer_textÚlicense©r<s r=r„zAboutDialog.show_py_license–s€à ×!Ñ!Ð"3´WÕ=r>có0—|jdt«y)zHandle Copyright button event.zAbout - CopyrightN)r¤Ú copyrightr¦s r=r†zAboutDialog.show_py_copyrightšs€à ×!Ñ!Ð"5´yÕAr>có0—|jdt«y)z#Handle Python Credits button event.zAbout - Python CreditsN)r¤Úcreditsr¦s r=rˆzAboutDialog.show_py_creditsžs€à ×!Ñ!Ð":¼GÕDr>có*—|jddd«y)z!Handle Idle Credits button event.zAbout - Creditsz CREDITS.txtúutf-8N©Údisplay_file_textr¦s r=rŽzAboutDialog.show_idle_credits¤s€à ×ÑÐ0°-ÀÕIr>có*—|jddd«y)zHandle Readme button event.zAbout - Readmez README.txtÚasciiNr­r¦s r=rŠzAboutDialog.show_readme¨s€à ×ÑÐ/°¸wÕGr>có*—|jddd«y)zHandle News button event.z About - Newsz News3.txtr¬Nr­r¦s r=rŒzAboutDialog.show_idle_news¬s€à ×ј~¨{¸GÕDr>cóª—|j«dj|j«}tj||||j ¬«|_y)a Create textview for built-in constants. Built-in constants have type _sitebuiltins._Printer. The text is extracted from the built-in and then sent to a text viewer with self as the parent and title as the title of the popup. Ú ©rN)Ú_Printer__setupr{Ú_Printer__linesrÚ view_textrr9)r<r.ÚprinterrEs r=r¤z AboutDialog.display_printer_text°sD€ð ×ÑÔ!Ø�y‰y˜×0Ñ0Ó1ˆÜ!)×!3Ñ!3Ø �%˜ d§k¡kô"3ˆÕr>có—tjjtjjtjj t ««|«}t j|||||j¬«|_ y)zæCreate textview for filename. The filename needs to be in the current directory. The path is sent to a text viewer with self as the parent, title as the title of the popup, and the file encoding. r´N) ryrzr{r|r}r~rÚ view_filerr9)r<r.ÚfilenameÚencodingÚfns r=r®zAboutDialog.display_file_text½sT€ô�W‰W�\‰\œ"Ÿ'™'Ÿ/™/¬"¯'©'¯/©/¼(Ó*CÓDÀhÓ OˆÜ!)×!3Ñ!3Ø �%˜˜X¨d¯k©kô";ˆÕr>cóD—|j«|j«y)zDismiss help_about dialog.N)Ú grab_releaseÚdestroy)r<Úevents r=r4zAboutDialog.okÈs€à ×ÑÔØ � ‰ �r>r^)Ú__name__Ú __module__Ú __qualname__Ú__doc__r%r,r„r†rˆrŽrŠrŒr¤r®r4©r>r=rrsO„ñð °UÀ5ô òDW<òt>òBòEò JòHòEò 3ó ;ôr>rÚ__main__)Úmainz!idlelib.idle_test.test_help_aboutF)Ú verbosityÚexit)Úrun)"rÅryr€r`ÚplatformrrÚtkinterrrrrr r r r r rrrrrrÚidlelibrr/Úmaxsizer0rrÂÚunittestrÈÚidlelib.idle_test.htestrËrÆr>r=ÚrÒsœðñó Û Ûß1ç>Õ>ßF×F×FåáÓ€à‡<�<�8ÒØ—;‘; Ò&‰4¨D�Dá ‹>˜!Ñ ˜R˜aÐ €Dôu�(ôuðp ˆzÒÝÙÐ ,¸ÀÕFå+Ùˆ Õð r>