a XC?h4�1@s�ddlmZddlmZmZdddddddd d d d d d d ddddddddddddddddddd d!d!d"d#d$d%d&d'd'd'd(d)d)d*d+d,�0Zd-d.�Zefd/d0�ZGd1d2�d2ej�Z d3S)4�)� fixer_base)�Name� attr_chain�io�pickle�builtins�copyregZqueueZ socketserverZ configparser�reprlibztkinter.filedialogztkinter.simpledialogztkinter.colorchooserztkinter.commondialogztkinter.dialogz tkinter.dndz tkinter.fontztkinter.messageboxztkinter.scrolledtextztkinter.constantsz tkinter.tixz tkinter.ttkZtkinterZ _markupbase�winreg�_threadZ _dummy_threadzdbm.bsdzdbm.dumbzdbm.ndbmzdbm.gnuz xmlrpc.clientz xmlrpc.serverz http.clientz html.entitiesz html.parserz http.cookieszhttp.cookiejarz http.server� subprocess� collectionsz urllib.parsezurllib.robotparser)0�StringIOZ cStringIOZcPickleZ __builtin__Zcopy_regZQueueZ SocketServerZ ConfigParser�reprZ FileDialogZ tkFileDialogZ SimpleDialogZtkSimpleDialogZtkColorChooserZtkCommonDialogZDialogZTkdndZtkFontZ tkMessageBoxZ ScrolledTextZ TkconstantsZTixZttkZTkinterZ markupbaseZ_winreg�threadZ dummy_threadZdbhashZdumbdbmZdbmZgdbmZ xmlrpclibZDocXMLRPCServerZSimpleXMLRPCServerZhttplibZhtmlentitydefsZ HTMLParserZCookieZ cookielibZBaseHTTPServerZSimpleHTTPServerZ CGIHTTPServerZcommands� UserString�UserListZurlparseZ robotparsercCsdd�tt|��dS)N�(�|�))�join�mapr)�members�r�>/opt/alt/python39/lib64/python3.9/lib2to3/fixes/fix_imports.py� alternates=srccsTd�dd�|D��}t|���}d||fVd|Vd||fVd|VdS)Nz | cSsg|] }d|�qS)zmodule_name='%s'r)�.0�keyrrr� B�z!build_pattern..zyname_import=import_name< 'import' ((%s) | multiple_imports=dotted_as_names< any* (%s) any* >) > z�import_from< 'from' (%s) 'import' ['('] ( any | import_as_name< any 'as' any > | import_as_names< any* >) [')'] > z�import_name< 'import' (dotted_as_name< (%s) 'as' any > | multiple_imports=dotted_as_names< any* dotted_as_name< (%s) 'as' any > any* >) > z3power< bare_with_attr=(%s) trailer<'.' any > any* >)rr�keys)�mappingZmod_listZ bare_namesrrr� build_patternAs ���r"csTeZdZdZdZeZdZdd�Z�fdd�Z �fdd�Z �fd d �Z d d �Z �Z S) � FixImportsT�cCsd�t|j��S)Nr)rr"r!��selfrrrr"`szFixImports.build_patterncs|��|_tt|���dS�N)r"ZPATTERN�superr#�compile_patternr%�� __class__rrr)cs zFixImports.compile_patterncsHtt|�j��|�}|rDd|vr@t�fdd�t|d�D��r@dS|SdS)N�bare_with_attrc3s|]}�|�VqdSr'r)r�obj��matchrr� qrz#FixImports.match..�parentF)r(r#r/�anyr)r&�node�resultsr*r.rr/js �zFixImports.matchcstt|��||�i|_dSr')r(r#� start_tree�replace)r&Ztree�filenamer*rrr5vszFixImports.start_treecCs�|�d�}|rh|j}|j|}|�t||jd��d|vrD||j|<d|vr�|�|�}|r�|�||�n2|dd}|j�|j�}|r�|�t||jd��dS)NZ module_name)�prefixZ name_importZmultiple_importsr,�)�get�valuer!r6rr8r/� transform)r&r3r4Z import_modZmod_name�new_nameZ bare_namerrrr<zs     zFixImports.transform)�__name__� __module__� __qualname__Z BM_compatibleZkeep_line_order�MAPPINGr!Z run_orderr"r)r/r5r<� __classcell__rrr*rr#Us  r#N) �rZ fixer_utilrrrArr"ZBaseFixr#rrrr�sj �5