+
     Bi!                     >   ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
 ^ RIHt ^ RIHt RsRtR tRR lt ! R	 R
4      t ! R R]	4      t ! R R]	4      tR t]R8X  d9   ]! ]P2                  4      ^8X  d   ^ RIHt ]! R^RR7       ^ RIHt ]! ]4       R# R# )    N)idleConf)pyshell)TreeNodeTreeItemScrolledCanvas)py_extensions)ListedToplevelc                     \         P                  P                  V 4      w  r\         P                  P                  V4      pV\        9   ;'       d
    V\
        9  # N)ospathsplitextnormcaser   browseable_extension_blocklist)r   _exts   &  &/usr/lib/python3.14/idlelib/browser.pyis_browseable_extensionr      sE    WWd#FA
''

3
C-MMC/M$MM    c                 V   . pV P                  4        EF  w  r4Ve   VP                  V8X  g   K  \        VR4      '       d   VP                  '       d   VP                  V8X  d   . pVP                   Fe  p\        V\        4      '       d   TpM8VP                  pVP                  VP                  8w  d   VP                   RV 2pVP                  V4       Kg  	  V;P                  RP                  RP                  V4      4      ,          un        VP                  V4       EK  	  V# )Nsuper.z({})z, )
itemsmodulehasattrr   name
isinstancestrappendformatjoin)
child_dictmodnameobskeyobjsuperssupsnames   &&      r   transform_childrenr*   #   s     C$$&?cjjG3sG$$sxx399C!#s++ # #::3'*zzl!E7$;EMM%( % FMM$))F*;<<JJsO ' Jr   c                   N   a  ] tR t^Ct o RRRR/R ltRR ltR tR tR	 tR
t	V t
R# )ModuleBrowser_htestF_utestc               V    Wn         W n        W0n        W@n        V P	                  4        R # r   )masterr   r-   r.   init)selfr0   r   r-   r.   s   &&&$$r   __init__ModuleBrowser.__init__J   s!    $ 			r   Nc                n    V P                   P                  4        V P                  P                  4        R # r   )topdestroynode)r2   events   &&r   closeModuleBrowser.closeb   s"    		r   c                   V P                   pV P                  '       g#   V P                  '       g   \        P                  M\        P
                  ! V4      pVP                  s\        P                  P                  4        \        V4      ;V n        pVP                  R V P                  4       VP                  RV P                  4       V P                  '       d>   VP!                  RVP#                  4       VP%                  4       ^,           3,          4       V P'                  4        VP)                  4        \*        P,                  ! 4       p\*        P.                  ! VR4      R,          p\1        W5^ ^R7      pVP2                  P5                  ^RR7       V P7                  4       p\9        VP:                  RV4      ;V n        pV P                  '       g#   VP?                  4        VPA                  4        R# R# )	WM_DELETE_WINDOWz<Escape>z+%d+%dnormal
background)bghighlightthickness	takefocusboth)expandfillN)!r0   r-   r.   r   flistPyShellFileListopen	file_openpyclbr_modulesclearr	   r6   protocolr:   bindgeometrywinfo_rootxwinfo_rootysettitle	focus_setr   CurrentThemeGetHighlightr   framepackrootnoder   canvasr8   updaterD   )	r2   rootrF   r6   themer?   scitemr8   s	   &        r   r1   ModuleBrowser.initg   sf    {{'+{{{dkkk--d3 	JJ	 (--3'4TZZ(;;;LL!!#T%5%5%7#%=>? @ %%'**5(;LI
C1&')
QV,}}#BIItT::	D{{{KKMKKM r   c                    V P                   P                  R \        P                  P	                  V P                  4      ,           4       V P                   P                  R4       R# )zModule Browser - zModule BrowserN)r6   wm_titler   r   basenamewm_iconnamer2   s   &r   rR   ModuleBrowser.settitle   s@    -0@0@0KKL-.r   c                ,    \        V P                  4      # r   )ModuleBrowserTreeItemr   rd   s   &r   rX   ModuleBrowser.rootnode   s    $TYY//r   )r-   r.   r0   r8   r   r6   r   )__name__
__module____qualname____firstlineno__r3   r:   r1   rR   rX   __static_attributes____classdictcell____classdict__s   @r   r,   r,   C   s1     u U 0
>/
0 0r   r,   c                   J   a  ] tR t^t o R tR tR tR tR tR t	R t
RtV tR	# )
rg   c                    Wn         R # r   file)r2   rt   s   &&r   r3   ModuleBrowserTreeItem.__init__   s	     	r   c                T    \         P                  P                  V P                  4      # r   )r   r   rb   rt   rd   s   &r   GetTextModuleBrowserTreeItem.GetText   s    ww		**r   c                    R # )python rd   s   &r   GetIconName!ModuleBrowserTreeItem.GetIconName   s    r   c                ^    V P                  4        Uu. uF  p\        V4      NK  	  up# u upi r   )listchildrenChildBrowserTreeItemr2   r&   s   & r   
GetSubList ModuleBrowserTreeItem.GetSubList   s+    595F5F5HI5Hc$S)5HIIIs   *c                    \        V P                  4      '       g   R # \        P                  P	                  V P                  4      '       g   R # \        V P                  4       R # r   )r   rt   r   r   existsrI   rd   s   &r   OnDoubleClick#ModuleBrowserTreeItem.OnDoubleClick   s:    &tyy11ww~~dii(($))r   c                ,    \        V P                  4      # r   )r   rt   rd   s   &r   IsExpandable"ModuleBrowserTreeItem.IsExpandable   s    &tyy11r   c                j   \        V P                  4      '       g   . # \        P                  P	                  V P                  4      w  r\        P                  P                  V4      w  r4 \        P                  ! W1.\        P                  ,           4      p\        YS4      #   \         d    . u # i ; ir   )r   rt   r   r   splitr   rJ   readmodule_exsysImportErrorr*   )r2   dirbaser   r   trees   &     r   r   "ModuleBrowserTreeItem.listchildren   s    &tyy11IGGMM$)),	''""4(	''echh.>?D "$--  	I	s   +,B" "B21B2rs   N)ri   rj   rk   rl   r3   rw   r|   r   r   r   r   rm   rn   ro   s   @r   rg   rg      s.     +J2
. 
.r   rg   c                   D   a  ] tR t^t o R tR tR tR tR tR t	Rt
V tR# )	r   c                r    Wn         VP                  V n        \        V\        P                  4      V n        R # r   )r&   r   r   rJ   Function
isfunctionr   s   &&r   r3   ChildBrowserTreeItem.__init__   s$    HH	$S&//:r   c                p    V P                   pV P                  '       d   R V,           R,           # RV,           # )zdef z(...)zclass )r   r   )r2   r   s   & r   rw   ChildBrowserTreeItem.GetText   s-    yy???D=7**d?"r   c                .    V P                   '       d   R # R# )rz   folder)r   rd   s   &r   r|    ChildBrowserTreeItem.GetIconName   s    ???r   c                4    V P                   P                  / 8g  # r   )r&   childrenrd   s   &r   r   !ChildBrowserTreeItem.IsExpandable   s    xx  B&&r   c                |    \        V P                  P                  4       Uu. uF  p\        V4      NK  	  up# u upi r   )r*   r&   r   r   r   s   & r   r   ChildBrowserTreeItem.GetSubList   sA     .dhh.?.?@B@C %S)@B 	B Bs   9c                     \        V P                  P                  4      pVP                  V P                  P                  4       R #   \
        \        3 d     R # i ; ir   )rI   r&   rt   gotolinelinenoOSErrorAttributeError)r2   edits   & r   r   "ChildBrowserTreeItem.OnDoubleClick   sD    	TXX]]+DMM$((//*( 		s   AA AA)r   r   r&   N)ri   rj   rk   rl   r3   rw   r|   r   r   r   rm   rn   ro   s   @r   r   r      s)     ;#'B
 r   r   c                     \        \        P                  4      ^8  d   \        P                  ^,          pM\        p ! R R\        4      pR p\        WRR7       R# )   c                   &   a  ] tR t^t o R tRtV tR# )'_module_browser.<locals>.Nested_in_funcc                     R # r   r{   r{   r   r   nested_in_class7_module_browser.<locals>.Nested_in_func.nested_in_class   s    4r   r{   N)ri   rj   rk   rl   r   rm   rn   ro   s   @r   Nested_in_funcr      s     ''r   r   c                       ! R  R4      p R# )c                       ] tR t^tRtR# );_module_browser.<locals>.closure.<locals>.Nested_in_closurer{   N)ri   rj   rk   rl   rm   r{   r   r   Nested_in_closurer      s    Tr   r   Nr{   )r   s    r   closure _module_browser.<locals>.closure   s    ))r   T)r-   N)lenr   argv__file__r   r,   )parentrt   r   r   s   &   r   _module_browserr      s?    
388}qxx{	(X 	(	*&t,r   __main__)mainzidlelib.idle_test.test_browserF)	verbosityexit)run)z.pyir   )r   rJ   r   idlelib.configr   idlelibr   idlelib.treer   r   r   idlelib.utilr   idlelib.windowr	   rI   r   r   r*   r,   rg   r   r   ri   r   r   unittestr   idlelib.idle_test.htestr   r{   r   r   <module>r      s    
  
 #  ; ; & ) 	 "+ N@J0 J0Z1.H 1.h*8 *Z
- z
388}!-G+ r   