PK���ȼRY��������€��� �v3.phpUT �øŽg‰gñ“gux �õ��õ��½T]kÛ0}߯pEhìâÙM7X‰çv%”v0֐µ{)Aå:6S$!ÉMJèߕ?R÷!>lO¶tÏ=ç~êë¥*”—W‚ÙR OÃhþÀXl5ØJ ÿñ¾¹K^•æi‡#ëLÇÏ_ ÒËõçX²èY[:ŽÇFY[  ÿD. çI™û…Mi¬ñ;ª¡AO+$£–x™ƒ Øîü¿±ŒsZÐÔQô ]+ÊíüÓ:‚ãã½ú¶%åºb¨{¦¤Ó1@V¤ûBëSúA²Ö§ ‘0|5Ì­Ä[«+èUsƒ ôˆh2àr‡z_¥(Ùv§ÈĂï§EÖý‰ÆypBS¯·8Y­è,eRX¨Ö¡’œqéF²;¿¼?Ø?Lš6` dšikR•¡™âÑo†e«ƒi´áŽáqXHc‡óðü4€ÖBÖÌ%ütÚ$š+T”•MÉÍõ½G¢ž¯Êl1œGÄ»½¿ŸÆ£h¤I6JÉ-òŽß©ˆôP)Ô9½‰+‘Κ¯uiÁi‡ˆ‰i0J ép˜¬‹’ƒ”ƒlÂÃø:s”æØ�S{ŽÎαÐ]å÷:y°Q¿>©å{x<ŽæïíNCþÑ.Mf?¨«2ý}=ûõýî'=£§ÿu•Ü(—¾IIa­"éþ@¶�¿ä9?^-qìÇÞôvŠeÈc ðlacã®xèÄ'®âd¶ çˆSEæódP/ÍÆv{Ô)Ó ?>…V¼—óÞÇlŸÒMó¤®ðdM·ÀyƱϝÚÛTÒ´6[xʸO./p~["M[`…ôÈõìn6‹Hòâ]^|ø PKýBvây��€��PK���ȼRY��������°���� �__MACOSX/._v3.phpUT �øŽg‰gþ“gux �õ��õ��c`cg`b`ðMLVðVˆP€'qƒøˆŽ!!AP&HÇ %PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (���d�o�m�p�d�f� �2�.�0�.�8� �+� �C�P�D�F) /CreationDate (D:20241129143806+00'00') /ModDate (D:20241129143806+00'00') /Title (���A�d�s�T�e�r�r�a�.�c�o�m� �i�n�v�o�i�c�e) >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 904 >> stream x���]o�J���+F�ͩ����su\ �08=ʩzရ���lS��lc� "Ց� ���wޙ�%�R�DS��� �OI�a`� �Q�f��5����_���םO�`�7�_FA���D�Џ.j�a=�j����>��n���R+�P��l�rH�{0��w��0��=W�2D ����G���I�>�_B3ed�H�yJ�G>/��ywy�fk��%�$�2.��d_�h����&)b0��"[\B��*_.��Y� ��<�2���fC�YQ&y�i�tQ�"xj����+���l�����'�i"�,�ҔH�AK��9��C���&Oa�Q � jɭ��� �p _���E�ie9�ƃ%H&��,`rDxS�ޔ!�(�X!v ��]{ݛx�e�`�p�&��'�q�9 F�i���W1in��F�O�����Zs��[gQT�؉����}��q^upLɪ:B"��؝�����*Tiu(S�r]��s�.��s9n�N!K!L�M�?�*[��N�8��c��ۯ�b�� ��� �YZ���SR3�n�����lPN��P�;��^�]�!'�z-���ӊ���/��껣��4�l(M�E�QL��X ��~���G��M|�����*��~�;/=N4�-|y�`�i�\�e�T�<���L��G}�"В�J^���q��"X�?(V�ߣXۆ{��H[����P�� �c���kc�Z�9v�����? �a��R�h|��^�k�D4W���?Iӊ�]<��4�)$wdat���~�����������|�L��x�p|N�*��E� �/4�Qpi�x.>��d����,M�y|4^�Ż��8S/޾���uQe���D�y� ��ͧH�����j�wX � �&z� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj xref 0 10 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000284 00000 n 0000000313 00000 n 0000000514 00000 n 0000000617 00000 n 0000001593 00000 n 0000001700 00000 n trailer << /Size 10 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 1812 %%EOF
Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 131
B ydK@sddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Tddl m Z ddlmZddlmZddlmZddlmZddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lm Z dd lm!Z!ddlm"Z"ddlm#Z#ddl$m%Z%ddlm&Z&dZ'de(Z)ejdkZ*ddZ+Gddde,Z-ddZ.e/dZ0ddZ1Gddde,Z2d d!Z3d"d#d$d%Z4d&d'Z5d(d)Z6d*d+Z7e8d,krdd-l9m:Z:e:d.d/d0d1dd2l;md;d<Z?dd=d>Z@dd?d@ZAddAdBZBddCdDZCdEdFZDdGdHZEdIdJZFddKdLZGddMdNZHdOdPZIdQdRZJdSdTZKdUdVZLdWdXZMdYdZZNd[d\ZOd]d^ZPd_d`ZQdadbZRdcddZSddedfZTddgdhZUddidjZVdkdlZWdmdnZXdodpZYdqdrZZdsdtZ[dudvZ\dwdxZ]dydzZ^e_j`e_jad{Zbd|d}Zcd~dZdddZeddZfddZgddZhddZiddZjdddZkddZlddZmddZnddZoddZpddZqddZrddZsdddZtddZudddZvddZwddZxddZyddZzddZ{ddZ|ddZ}ddZ~ddZddiZddZdddZdddZddZddd„ZdddĄZddƄZddȄZddʄZdd̄Zddd΄ZddЄZdd҄ZddԄZddքZdd؄ZddڄZdd܄ZdddބZdS) EditorWindowr) Percolator)ColorDelegator color_config) UndoDelegator) IOBindingencoding)mainmenu)MultiStatusBar) AutoComplete) AutoExpand)Calltip) CodeContext) LineNumbers)FormatParagraph FormatRegionIndentsRstrip) ParenMatch)Squeezer) ZoomHeightNTc CsH ddlm}tjdkrtjtjdd}tj drvddtj dd}tj d r^d }qd }tj||dd}nVtj ddd krtjtjdd t } tj| r| }ntj dkrtjtjd}tj|}tj|r|t_tj dkrdtjt_ndtj ddt_||_|p*|j}||_t||_tj||jd|_} |rl|j|_|j|j_ni|_i|j_tjotjtjd|_d|_t| |_ } t!| dd|_"} tj#ddddd} dddd| d tj#ddd!ddd"}t$t%| f||_&}|j&|j_'|(|)|j*d#|j+|j,d$|j-t./rt|,d$|j-|,d%|j0|,d&|j0n|,d'|j0|,d(t1|,d)t1|,d*t1|,d+|j2|,d,|j3|,d-|j4|,d.|j5|,d/|j6|,d0|j7|,d1|j8|,d2|j9|,d3|j:|,d4|j;|,d5d6d7|,d8|j<|,d9|j=|,d:|j>|,d;|j?|,d<|j@|,d=|jA|,d>|jB|,d?|jC|,d@|jD|,dA|jE|,dB|jF|G||_H}|,dC|jI|,dD|jJ|,dE|jK|,dF|jL|,dG|jM|,dH|jN|O|}|,dI|jP|,dJ|jQ|,dK|Rd|,dL|RdM|,dN|jS|,dO|jT|,dP|jU|r||j|<|r||jV|<|,dQ|jW|,dR|jjX|,dS|jY|,dT|jZ|,dU|j[|\| j]t^t_dMdV| j`dMdMdW| jadMdMdW|jb| dX<| jcdMdtddY| je|dZ<tf|jdd|d[<|jcdMdMtddY|g|htj#dd\d]d^d}| |_id_|_j|jj|_k|ltmtd`s|j&dat_n|odb|_p|q||_r}|s|_t}|u||jv|_v|jw|_w|x|jy|z||_{}|||j}dc|_~|dcd|_d|_d|_|rtj|rtj |s||rdd|_~||}||n||dd|_~||y|||jde}|rP|df}|dkr$dg}|dkr>||dM}||_t|jtj|_tj|_tj|_|dhdi|djdkdldm|dndo|dpdq|drdqdsdt||}|,dh|j|,dj|j|,du|j|,dv||j|,dw||j||}|,dx|j|,dr|j||}|,dy|j|,dz|j|,d{|j|,d|||j|||_}|,dn|j|,dp|j|,d}|j|,d~||j|jr|||_|,d|jjn|ddd|j r6|||_tj#dddd^d r&||,d|jn|ddddS)Nr) ScriptBindingZDocz index.htmlZlinuxz python-docs-z%s.%s.%sz/var/www/html/python/z/var/www/html/python/index.htmlz/usr/share/doc/winz Python%s.chmrz0Resources/English.lproj/Documentation/index.htmlzfile://zhttps://docs.python.org/%d.%d/)menuzrecent-files.lstvbar)namemainr!widthint)typetextZnoneZ wordprocessorheight)r=padxwrapZhighlightthicknessr?ZtabstylerDZWM_DELETE_WINDOWz<>zz<2>z<3>z z z z z<>z<>z <>z<>z<>z<>z<>z<>z<>z<>cSsdS)Nbreakr)eventrrrz'EditorWindow.__init__..z<>z<>z<>z<>z<>z<>z <>z <>z<>z<>z<>z<>z<>z<>z<>z<>z<>z<>z<>zzz<>z<>z<>z<>z<>z<>z<>z<>)sidefillexpand)Zweightcommand)rowcolumnZstickyZyscrollcommandfontIndentz use-spacesboolrblink_off_time insertofftime)2ii@KLFTrendz<>z z<>zzzz<>zz<>zz<>zzz<>z<>z<>z<>z<>z<>z<>z <>z<>z<>z<>optionsz *Code Contextdisabledzline-numbers-defaultz<>z *Line Numbers)Zidlelib.runscriptr6r!help_urlospathjoinr base_prefixplatformcountrisdirr isfilenormpathflistrootMenumenubarrZListedTopleveltopvars tkinter_varsZ inversedict instance_dictrZuserdirrecent_files_pathprompt_last_lineFrame text_framerr< GetOptionr ZTextrBZfocused_widget createmenubarapply_bindingsZprotocolclosebind close_eventr ZisAquaTkright_menu_eventrhandle_winconfigcutcopypastecenter_insert_event help_dialog python_docs about_dialog config_dialogopen_module_event select_allremove_selection find_eventfind_again_eventfind_in_files_eventfind_selection_event replace_eventgoto_line_eventsmart_backspace_eventnewline_and_indent_eventsmart_indent_eventr0fregionindent_region_eventZdedent_region_eventZcomment_region_eventZuncomment_region_eventZtabify_region_eventZuntabify_region_eventr1Ztoggle_tabs_eventZchange_indentwidth_eventmove_at_edge_if_selection del_word_leftdel_word_right home_callbackdict new_callbackZclose_all_callbackopen_module_browseropen_path_browseropen_turtle_demoset_status_barpackZLEFTZBOTHZ rowconfigureZcolumnconfigure handle_yviewZgridZNSEWsetGetFontZ focus_set set_widthusetabstabwidth indentwidthset_notabs_indentwidthhasattrrUupdate_cursor_blinknum_context_linesr"perr%undo insertfilterundo_block_startundo_block_stopZset_saved_change_hooksaved_change_hookr&ioZset_filename_change_hookfilename_change_hookZ good_loadset_indentation_paramscolor code_context line_numbersexistsloadfileispythonsourceZ set_filenameResetColorizerupdate_recent_files_listload_extensionsmenudictgetindex add_separator wmenu_endZregister_callbackpostwindowsmenu tkMessageBoxZaskyesnotkSimpleDialogZ askinteger showerror event_addr*Zautocomplete_eventZtry_open_completions_eventZforce_open_completions_eventr+Zexpand_word_eventr/Zformat_paragraph_eventr3Zflash_paren_eventZparen_closed_eventZcheck_module_eventZrun_module_eventZrun_custom_eventr2Z do_rstripr,ctipZtry_open_calltip_eventZrefresh_calltip_eventZforce_open_calltip_eventr5Zzoom_height_eventallow_code_contextr-Ztoggle_code_context_eventupdate_menu_stateallow_line_numbersr.toggle_line_numbers_event)selfrffilenamekeyrgr6ZdochomeZpyverZbasepathZchmfilerjrqr<r?Z text_optionsrBrindentsZ usespacesrrr is_py_srcr:rXZ autocompleteZ parenmatchZ scriptbindingrrrr__init__Hs                                                     zEditorWindow.__init__cCs |dS)N)r)rrHrrrry`szEditorWindow.handle_winconfigcCs^|j}tt|jj|d|dg}|d|}t||ddd}|||_ dS)NZborderrEr9rR)rR0) rBsummaptkZgetintZcgetZ winfo_widthrmeasurer?)rrBZ inner_paddingZ pixel_widthZzero_char_widthrrrrcs zEditorWindow.set_widthcCs|j\}}|j|dS)NrG)rZdefaultfilenamerfnew)rrHdirnamebasenamerrrrps zEditorWindow.new_callbackcCs|jd@dkr|jdkrdS|jdrd|jdddrd|jdddrdt|jddd }n:|jdd}x*tt |D]}||d krPqWt |}t|jd dd }||krd}d t |d }|jd @dkr|j dddn|jds|j dd n@|j|jdd|jd rD|j ddn|j dd|j|}|jd}|j|d|r||}}|j ddd|j d|||j d ||jd dS)NrZHomeZiomarkz<=zinsert lineendzinsert linestart.rK)  insertzinsert linestart+cselz1.0rXz sel.firstZ my_anchorrG)stateZkeysymrBrcomparer@splitrrangelenstr tag_removemark_settag_addsee)rrHZinsertptlineZlineatdestfirstlastrrrrus@      zEditorWindow.home_callbackcCs||j|_t|jdddd}tjdkr<|jjddtd|jjdd td|jjd d td|jjt t d |jt t d |j d |j |j d dd|j |j dS)NrKZgrey75)rDZ borderwidthZ backgroundrZ _padding1z )rLrQzCol: ?rzLn: ?)rLrMz<>z z)r)rj status_barrprra set_labelZRIGHTrZBOTTOMXrBrvset_line_and_columnrZ after_idle)rseprrrrs zEditorWindow.set_status_barcCs>|jtd\}}|jdd||jdd|dS)NrrQzCol: %srzLn: %s)rBrZINSERTrrr)rrHrrQrrrrsz EditorWindow.set_line_and_column)fileZ_File)editZ_Edit)formatZF_ormat)runZ_Run)rZZ_Options)rZ_Window)rZ_HelpcCs|j}i|_}xD|jD]:\}}t|\}}t||dd||<}|j|||dqWtrt|ddd|d<}|jd|d|t|jdd|_ |jd j d d d|j d |jd  t |_ |dS)Nr)r=tearoff)labelr: underlineZappleZ applicationZIDLE)rr:)rrr7z Recent Files)rrr:r)rir menu_specsprepstrrhZ add_cascader Z isCarbonTk fill_menusrecent_files_menuZinsert_cascaderENDbase_helpmenu_lengthreset_help_menu_entries)rZmbarrr=rrr:rrrrss"   zEditorWindow.createmenubarcCsJ|jd}|d}|dkr d}||jkr<||jd|t|dS)NrrXrYrK)rrrdeleterZadd_windows_to_menu)rr:rXrrrrs   zEditorWindow.postwindowsmenucCs|j|}|j||ddS)N)r)r entryconfig)rr:rrmenuitemrrrupdate_menu_labels zEditorWindow.update_menu_labelcCs|j|}|j||ddS)N)r)rr)rr:rrrrrrrs zEditorWindow.update_menu_statecGsR|dkr>NcCsjt|jdd}xP|jD]F}|d|d}}|dk rT|j|fdd}|j||dq|qW||_dS)Nr)rrKcSs||dS)N)event_generate)rBrrrrrO"sz(EditorWindow.make_rmenu..command)rrO)rhrBr add_commandrr)rrrrrrOrrrrs  zEditorWindow.make_rmenucCs|S)N)rmenu_check_copy)rrrrrmenu_check_cut)szEditorWindow.rmenu_check_cutcCs6y|jd}Wntk r$dSX|r.dSdSdS)Nz sel.firstr[normal)rBrr )rZindxrrrr,s zEditorWindow.rmenu_check_copycCs6y|jjd|jdWntk r,dSXdSdS)Nztk::GetSelectionZ CLIPBOARDr[r)rBrcallr )rrrrrmenu_check_paste4s zEditorWindow.rmenu_check_pastecCst|jdS)NrG)r Z AboutDialogrj)rrHrrrr<s zEditorWindow.about_dialogcCst|jddS)NZSettingsrG)rZ ConfigDialogrj)rrHrrrrBszEditorWindow.config_dialogcCs"|jr|j}n|j}t|dS)NrG)rgrjrZ show_idlehelp)rrHparentrrrr~Hs  zEditorWindow.help_dialogc Csntjdddkr^yt|jWqjtk rZ}ztjdt||j dWdd}~XYqjXn t |jdS)Nr7r8zDocument Start Failure)titlemessagerrG) rrar] startfiler\OSErrorrrrrB webbrowseropen)rrHwhyrrrrRs$ zEditorWindow.python_docscCs|jddS)Nz<>rG)rBr)rrHrrrrz]s zEditorWindow.cutcCs |jdsdS|jddS)Nrz<>rG)rBZ tag_rangesr)rrHrrrr{as  zEditorWindow.copycCs|jd|jddS)Nz <>rrG)rBrr)rrHrrrr|hs  zEditorWindow.pastecCs.|jddd|jdd|jddS)Nrz1.0zend-1crrG)rBrrr)rrHrrrrms zEditorWindow.select_allcCs |jddd|jddS)Nrz1.0rXrrG)rBrr)rrHrrrrss zEditorWindow.remove_selectioncs*|jj|jjdfdd}|S)N)z sel.first+1cz sel.last-1ccsB|jd@dkr>yddWntk r<YnXdS)NrCrz sel.firstr)rr )rH) edge_index edges_tableself_text_indexself_text_mark_setrr move_at_edges z.move_at_edge)rBrr)rr$r(r)r$r%r&r'rrxs z&EditorWindow.move_at_edge_if_selectioncCs|jddS)Nz rG)rBr)rrHrrrrs zEditorWindow.del_word_leftcCs|jddS)NzrG)rBr)rrHrrrrs zEditorWindow.del_word_rightcCst|jdS)NrG)rfindrB)rrHrrrrs zEditorWindow.find_eventcCst|jdS)NrG)rZ find_againrB)rrHrrrrs zEditorWindow.find_again_eventcCst|jdS)NrG)rZfind_selectionrB)rrHrrrrs z!EditorWindow.find_selection_eventcCst|j|j|jdS)NrG)rrBrrf)rrHrrrrsz EditorWindow.find_in_files_eventcCst|jdS)NrG)rrB)rrHrrrrs zEditorWindow.replace_eventcCsT|j}t|ddj}|dk rP|ddd|d|d|d|dS) Nz Go To Linez/Enter a positive integer ('big' = end of file):rz1.0rXrz.0rG)rBr ZGotoresultrrrr)rrHrBlinenorrrrs zEditorWindow.goto_line_eventcCspy|jdd}Wntk r.d}YnXt|jdd|j}|dk rl|jr`|j|n |j ||S)Nz sel.firstzsel.lastr;z Open ModulezAEnter the name of a Python module to search on sys.path and open:) rBrstripr r Z ModuleNamer*rfr"rr)rr= file_pathrrr open_modules  zEditorWindow.open_modulecCs |dS)NrG)r.)rrHrrrrszEditorWindow.open_module_eventcCsJ|jj}|jjdkr|s,|}|dkr,dSddlm}||j|dS)NZPyShellEditorWindowrGr)browser) rr __class____name__r.idlelibr/Z ModuleBrowserrg)rrHrr/rrrrs  z EditorWindow.open_module_browsercCsddlm}||jdS)Nr) pathbrowserrG)r2r3Z PathBrowserrg)rrHr3rrrrs  zEditorWindow.open_path_browsercCs&ddl}tjddg}|j|dddS)Nrz-cz,from turtledemo.__main__ import main; main()F)shellrG) subprocessr executablePopen)rrHr5cmdrrrrs zEditorWindow.open_turtle_democCsN|dk rJ|dkrJ|jdd||jddd|jddd|dS)Nrrz%d.0rz1.0rXz insert +1l)rBrrrcenter)rr+rrrgotolines zEditorWindow.gotolinecCs`|rtj|rdStjtj|\}}tj|dkr@dS|jdd}|do^d|kS)NT)z.pyz.pywz1.0z 1.0 lineendz#!python) r]r^rcsplitextrnormcaserBr startswith)rrbaseZextrrrrrszEditorWindow.ispythonsourcecCs|jr|j|d|_dS)N)rfZunregister_maybe_terminate)rrrr close_hooks zEditorWindow.close_hookcCs ||_dS)N)r@)rr@rrrset_close_hookszEditorWindow.set_close_hookcCs2|jr|j|||j||dS)N)rfZfilename_changed_editrrjZupdate_windowlist_registryr)rrrrrs   z!EditorWindow.filename_change_hookcCsV|jr dS||jjr"||_|jrR|j|j|j|j|j|jdS)N) rrrrr#r removefilterrr)rrrr _addcolorizer s zEditorWindow._addcolorizercCs,|js dS|j|j|jd|_dS)N)rZ removecolorsrrB)rrrr _rmcolorizers  zEditorWindow._rmcolorizercCsH||t|j|jdk r0|j|jdk rD|jdS)N) rDrCr!r$rBrZupdate_highlight_colorsrZ update_colors)rrrrrs    zEditorWindow.ResetColorizer_cCsp|d|||}|r6||jkr6|d|d|d||krR|d|n|d|d||dS)NZERRORz wordstart rz+1c)rr IDENTCHARSrr)rrBposcharrrrcolorize_syntax_error+s  z"EditorWindow.colorize_syntax_errorcCs2tjddddd}|s"d|jd<n tj|jd<dS)Nr>r!z cursor-blinkrT)rArrV)rrrrBrU)rZ cursorblinkrrrr6s  z EditorWindow.update_cursor_blinkcCsN|jdk r|j|jdk r(|jt|jdd}||jd<|dS)Nr>r!rR)rZ update_fontrrrrgrBr)rZnew_fontrrr ResetFont@s     zEditorWindow.ResetFontcCst|j_}x&|D]\}}|jj|f|qWxF|D]:}t|}|rBx&|D]\}}|jj|f|q^WqBWdS)N) rGetCurrentKeySetr(default_keydefsitemsrBZ event_deleteget_standard_extension_namesGetExtensionBindings)rkeydefsrHkeylist extensionNamexkeydefsrrrRemoveKeybindingsQs zEditorWindow.RemoveKeybindingsc CsVt|j_}|x(|D]}t|}|r"||q"Wi}xR|jjD]F}i||d<x4|dD](}|rj|d||dt|dd<qjWqPWx|j D]}|j |}| t }|dkrq|d7}xt d|D]r} | | dkr|| d} | r|| d} d} ||kr.| ||kr.||| } | rt|| } |j| | dqWqWdS)NrrKrO acceleratorrr;)rV)rrLr(rMrtrOrPmenudefsrrrrrrAZ entrycgetget_acceleratorr) rrQrSrTZ menuEventDictr:rZ menubarItemrXrZaccelZitemNamerHrrrApplyKeybindings]s<  (        zEditorWindow.ApplyKeybindingscCs|jstjddddd|_dS)Nr>rSz num-spacesr@)rA)rrrrr)rrrrrs z#EditorWindow.set_notabs_indentwidthcCst}|jd}|t}||jkr8||jd||rr|x,|D]$}||d}|j |d|dqJW||jd<dS)NrrKr)rrO) rZGetAllExtraHelpSourcesListrrrrrr"_EditorWindow__extra_help_callbackr)rZ help_listZhelpmenuZhelpmenu_lengthentryr8rrrrs    z$EditorWindow.reset_help_menu_entriescs|ffdd }|S)Nc s|dstj|}tjdddkrryt|Wq|tk rn}ztj dt |j dWdd}~XYq|Xn t |dS)N)ZwwwZhttpr7r8zDocument Start Failure)rrr)r>r]r^rerrarr rrrrBr!r")helpfiler#)rrrdisplay_extra_helps  $z>EditorWindow.__extra_help_callback..display_extra_helpr)rr\r]r)rrZ__extra_help_callbacks z"EditorWindow.__extra_help_callbackc sg}|j}|r>tj|r>t|dddd}|}WdQRX|rptj|d}||krd|||d|gx2|D]*}d|kstj|ddsz |qzWfd d |D}d }|dt |}|rVy*t|d ddd}| |WdQRXWnVt k rT}z6t |jd dsDd|j_tjdd|d|jdWdd}~XYnXxj|jjD]^} | j} | dtxDt|D]8\} } | } | | } | j|| d| | ddqWq`WdS)Nrutf_8r)r'errorsrFrrYcsg|]}|kr|qSrr).0r^) bad_pathsrr sz9EditorWindow.update_recent_files_list..Z1234567890ABCDEFGHIJKwrecentfiles_messageFTz IDLE Warningz)Cannot save Recent Files list to disk. z Select OK to continue.)rrrr)rrOr)rnr]r^rr" readlinesabspathremoverappendr writelinesr rrgrfr showwarningrBrjrmrrr enumeraterstrip#_EditorWindow__recent_file_callbackr)rnew_fileZrf_listr-Z rf_list_filer^ZulcharsZrf_fileerrinstancer:i file_namecallbackr)rcrrsL        z%EditorWindow.update_recent_files_listcs|ffdd }|S)Ncsjj|ddS)N)ZeditFile)rr")Z fn_closure)rrropen_recent_filesz=EditorWindow.__recent_file_callback..open_recent_filer)rrtrvr)rrZ__recent_file_callbacksz#EditorWindow.__recent_file_callbackcCs|}|}|r*|r*|d|t}n|r4|}n|r>|}nd}|pL|pL|}|sfd|}d|}|j||j|dS)Nz - untitledz*%s*z*%s) short_title long_title _py_version get_savedrjZwm_titleZ wm_iconname)rZshortZlongrZiconrrrrs  zEditorWindow.saved_change_hookcCs |jS)N)rr{)rrrrr{szEditorWindow.get_savedcCs|j|dS)N)r set_saved)rflagrrrr|szEditorWindow.set_savedcCs|jdS)N)r reset_undo)rrrrr~szEditorWindow.reset_undocCs|jj}|rtj|SdS)Nrw)rrr]r^r)rrrrrrxszEditorWindow.short_titlecCs |jjp dS)Nr;)rr)rrrrryszEditorWindow.long_titlecCs |dS)NrG)r9)rrHrrrr}sz EditorWindow.center_insert_eventrcCsH|j}|\}}||}||}td||d}|t|dS)NrKr9)rBgetwindowlinesrmaxrr)rmarkrBrjbotr+rDZnewtoprrrr9s   zEditorWindow.centercCsN|j}|d}|d}||krF|dkrFt|d}||d}||fS)Nz@0,0z@0,65535rKrD)rBrZ winfo_heightr@)rrBrjrrDrrrr s    zEditorWindow.getwindowlinescCs|j}tt||S)N)rBr@rr)rrrBrrrrszEditorWindow.getlinenocCs(|j}td|}ttt|S)Nz(\d+)x(\d+)\+(-?\d+)\+(-?\d+))rjZ wm_geometryrematchlistrr@groups)rZgeommrrr get_geometrys  zEditorWindow.get_geometrycCs |dS)NrG)ru)rrHrrrrwszEditorWindow.close_eventcCsH|jrD|s:|jdkr&|j|j|j|jSdS)Nr)rr{rjrZ deiconifylowerZlift maybesave)rrrrr!s   zEditorWindow.maybesavecCs:y |}t|dkr||Stk r4YnXdS)NZcancel)rr_closeAttributeError)rZreplyrrrru*s zEditorWindow.closecCs|jjr|j|jjdt|j||jd|_d|_|j rX|j d|_ d|_ d|_ |j d|_ |j |jr|dS)N)rp)rrrrZunregister_callbackrunload_extensionsrurrrBrlrrjZdestroyr@)rrrrr3s"     zEditorWindow._closecCsi|_|dS)N) extensionsload_standard_extensions)rrrrrGszEditorWindow.load_extensionscCs4x(t|jD]}t|dr|qWi|_dS)Nru)rrvaluesrru)rinsrrrrKs  zEditorWindow.unload_extensionscCsHxB|D]6}y||Wq tdt|tYq Xq WdS)NzFailed to load extension)rOload_extensionprintrepr traceback print_exc)rr=rrrrQs z%EditorWindow.load_standard_extensionscCs tjddS)NT)Z editor_only)rZ GetExtensions)rrrrrOYsz)EditorWindow.get_standard_extension_namesZZzDummyZzzdummyc CsF|j||}y>ytjd|td}Wn"ttfk rHt|}YnXWn tk rltd|YnXt||}t |}t |dr| |j |||}||j|<|rB||x|D]|}|dd}x |dddkr|dd}qWx"|d dd kr|dd }qW|d }t ||r|j|t||qWdS) Nr)packagez Failed to import extension: rW-rErKrrYrZ_event)extfilesr importlib import_module __package__ ImportError TypeErrorrrrrPrrrWrrtrrBrv) rr=ZfnamemodclsrQrZveventZ methodnamerrrr`s4         zEditorWindow.load_extensioncCsJ|dkr|jj}|j}||_x(|D]\}}|r&|j|f|q&WdS)N)r(rMrBrQrNr)rrQrBrHrRrrrrt|szEditorWindow.apply_bindingsc Cs|dkr|jj}|dkr |jj}|j}|j}x|D]\}}||}|sJq2x|D]}|sb|qP|\} } | dddk} | r| dd} t| \} } t|| } || fdd}| r| | t }|j | | || |dqP|j | | || dqPWq2WdS)NrK!cSs||dS)N)r)rBrrrrrOsz(EditorWindow.fill_menus..command)rrrOrVvariable)rrrOrV) r(rWrMrrBrrrrX get_var_objZ BooleanVarZadd_checkbuttonr)rrWrQrrBZmnameZ entrylistr:r[rrZ checkbuttonrrVrOvarrrrrs8        zEditorWindow.fill_menuscCs&||}|r|}|St|dS)N)rr NameError)rr=rvaluerrrgetvars  zEditorWindow.getvarcCs(|||}|r||nt|dS)N)rrr)rr=rvartyperrrrsetvars  zEditorWindow.setvarcCs,|j|}|s(|r(||j|j|<}|S)N)rlrrB)rr=rrrrrrs zEditorWindow.get_var_objcCs,|jr$|jd|p"d|j|kSdSdS)NZTODOSTRINGrK)rrB tag_prevrangeZ tag_names)rZ text_indexrrris_char_in_stringszEditorWindow.is_char_in_stringcCs:y |jd}|jd}||fStk r4dSXdS)Nz sel.firstzsel.last)NN)rBrr )rrrrrrget_selection_indicess   z"EditorWindow.get_selection_indicescCs|jdp t}t|S)Ntabs)rBTK_TABWIDTH_DEFAULTr@)rZcurrentrrrget_tk_tabwidthszEditorWindow.get_tk_tabwidthc CsB|j}||kr>|jdd|dd|jd|}|j|ddS)NrRrz -displayofn)r)rBrrrZmasterZ configure)rZ newtabwidthrBZpixelsrrrset_tk_tabwidths   zEditorWindow.set_tk_tabwidthcCsP|r@|r@|}d|kr$dkr.nn||_|j|jkr@d|_||jdS)Nr9rF) guess_indentrrrr)rrZguessrsrrrrs z#EditorWindow.set_indentation_paramsc CsB|j}|\}}|r6|r6||||d|dS|dd}|dkrp|dddrd|dn|dS|dd kr|ddS|j}t| |}|d |j |j }d } xH||j krP|dd}| d } t| |}||ks|dd krPqW| |d | d||kr6| dd |||dS)NrrGzinsert linestartr;rz1.0z insert-1crYz rKrz insert-%dcr)rBrrrrrZbellrr expandtabsrrorrr) rrHrBrrcharsrZhaveZwantZ ncharsdeletedrrrrsB          z"EditorWindow.smart_backspace_eventc Cs|j}|\}}|z|rX|rXt|t|kr@|j|S||||d||dd}t ||j \}}|t |kr| ||j n>|jrd}n&t ||j }|j } d| || }|d||ddS|XdS)Nrzinsert linestartrrrG)rBrr index2linerrrrrget_line_indentrr reindent_torrrrrr) rrHrBrrprefixrawZ effectiveZpadrrrrr&s,        zEditorWindow.smart_indent_eventc Cs|j}|\}}|z|r>|r>||||d||dd}dt|}}x ||krx||dkrx|d7}qZW||kr|dddS|d|}d}x2|r|ddkr||jkr|dd}|d7}qW|r|d |dx|ddkr|dqW|ddt | d} t |j |j} |jsxf|jD]\} t| | d} t| d } || d}| || || }|dk s| dkrDPqDW| |pdn@|d d}|r|d} nd } || d}| || d| }|t jkr|t jkrnn|t jkr2|d|nT|t jkrN|| n8|t jkr| dkrv|d|n|| ndS| !}|d|| "r|#|n|r| $r|%|dS|&d|'XdS) Nrzinsert linestartrz rKrFrGrYzinsert - %d charsz.0Zconsolez1.0)(rBrrrrrrrrorrr ZParserrrrrrZset_codeZfind_good_parse_start_build_char_in_string_funcZset_lorZget_continuation_typeZC_NONEZC_STRING_FIRST_LINEZC_STRING_NEXT_LINESZ C_BRACKETrZcompute_bracket_indentZ C_BACKSLASHZget_num_lines_in_stmtZcompute_backslash_indentZget_base_indent_stringZis_block_openerrZis_block_closerrrr)rrHrBrrrrsrindentZlnor contextZstartatZ startatindexZrawtextZbodr^rrrrrIs                               z%EditorWindow.newline_and_indent_eventcCs||jfdd}|S)NcSs||d|S)Nz+%dcr)offsetZ _startindexZ_icisrrrinnersz6EditorWindow._build_char_in_string_func..inner)r)rZ startindexrrrrrsz'EditorWindow._build_char_in_string_funccCs2|jr&t||j\}}d|d|Sd|SdS)Nrr)rdivmodr)rrZntabsZnspacesrrr _make_blanksszEditorWindow._make_blankscCsJ|j}||dddr(|dd|r>|d|||dS)Nzinsert linestartz!=r)rBrrrrrr)rrQrBrrrrs zEditorWindow.reindent_tocCsPt|j|j\}}|r@|r@t||j\}}t||j\}}nd}}||S)Nr)IndentSearcherrBrrr)ropenerZindentedrZ indentsmallZ indentlargerrrrs zEditorWindow.guess_indentcCsN|jdkrdS|jjr&|jd}n|jd}|jdd|dddS)NZShowZHiderZz *Line Numbersz Line Numbers)r:rr)rZis_shownZ hide_sidebarZ show_sidebarr)rrHZ menu_labelrrrrs   z&EditorWindow.toggle_line_numbers_event)NNNN)N)N)N)N)N)N)N)N)N)N)N)N)r)r)N)NN)N)N)T)N)r1 __module__ __qualname__Zidlelib.percolatorr"Zidlelib.colorizerr#r$Z idlelib.undor%Zidlelib.iomenur&r'r2r(Zidlelib.statusbarr)Zidlelib.autocompleter*Zidlelib.autoexpandr+Zidlelib.calltipr,Zidlelib.codecontextr-Zidlelib.sidebarr.Zidlelib.formatr/r0r1r2Zidlelib.parenmatchr3Zidlelib.squeezerr4Zidlelib.zoomheightr5rgetfilesystemencodingZfilesystemencodingr\rrrryrrrrrrrsrrrrrrxrrrrrrrr~rrzr{r|rrrrrrrrrrrr.rrrrr:rr@rArrCrDrstringZ ascii_lettersdigitsrGrJrrKrUrYrrrZrrorr{r|r~rxryr}r9rrrrwrrurrrrrOrrrtrrrrrrrrrrrrrrrrrrrrrr!1s               +   %              $ .     %     ,#v  r!cCs tt|S)N)r@r)rrrrrsrz[ \t]*cCs$t|}|t||fS)N)_line_indent_rerrXrgroupr)rrrrrrrs rc@s8eZdZddZddZejejdfddZdd Z d S) rcCs(||_||_d|_|_d|_|_dS)Nr)rBrrsfinished blkopenline indentedline)rrBrrrrrs zIndentSearcher.__init__cCsL|jr dS|jd}|_t|d}|j|ddr:dS|j||dS)Nr;rKz.0z>=rXz lineend+1c)rrsrrBrr)rrsrrrrreadlines zIndentSearcher.readline)classdefforiftrywhilec Cs>|jrn2||kr ||kr ||_n||kr:|jr:||_d|_dS)NrK)rrr) rrAtokenstartrXrINDENTNAMEZOPENERSrrr tokeneater#szIndentSearcher.tokeneaterc Csltj}|jt_zHy(t|j}x|D]}|j|q$WWntjtfk rRYnXWd|t_X|j|j fS)N) tokenizetabsizergenerate_tokensrr TokenError SyntaxErrorrr)rZ save_tabsizetokensrrrrr/s   zIndentSearcher.runN) r1rrrrrrrrrrrrrr s   rcCs6|d}|dkr.|d|||dd}||fS)NrErrK)r))srsrrrrAs r[]/)Z bracketleftZ bracketrightZslashcCs||}|rtr"|dkr"dS|d}tddd|}tddd|}td d|}td d |}td d |}tdd|}tdd|}tdd|}tdd|}|S)N><><> <>r;rz-[a-z]\bcSs |S)N)rupper)rrrrrIZrJz!get_accelerator..z\b\w+\bcSst||S)N)keynamesrr)rrrrrI[rJzKey-ZCancelz Ctrl-BreakzControl-zCtrl-r+z>zidlelib.idle_test.test_editorr9F) verbosityexit)r)=Z importlib.abcrimportlib.utilr]rarrrrrr!ZtkinterZ tkinter.fontrZ tkinter.ttkrZtkinter.simpledialogZ simpledialogrZtkinter.messageboxZ messageboxrZidlelib.configrr2rrrr r Zidlelib.multicallr r r rrZ idlelib.treerrrZpython_versionrzrr objectr!rcompilerrrrrrXrrr1Zunittestr>Zidlelib.idle_test.htestrrrrrsv                    X  4