o
    Õ?Hh¢  ã                   @   sv  d Z ddlmZ ddlmZmZmZmZ ddlm	Z
 ddlmZ ddlmZmZ ddlmZ i 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%“d&d'“d(d)“i d*d+“d,d-“d.d/“d0d1“d2d3“d4d5“d6d7“d8d9“d:d;“d<d=“d>d?“d@dA“dBdC“dDdE“dFdG“dHdI“dJdK“¥ZdLZdMZdNZdOZdPZdQZdRZdSZdTZdUZdVdW„ ZG dXdY„ dYejƒZdZS )[z8
Fixer for standard library imports renamed in Python 3
é    )Ú
fixer_base)ÚNameÚis_probably_builtinÚNewlineÚdoes_tree_import)Úpython_symbols)Útoken)ÚNodeÚLeaf©Útouch_import_topÚreprlibÚreprÚwinregÚ_winregÚconfigparserÚConfigParserÚcopyregÚcopy_regzmultiprocessing.SimpleQueuez"multiprocessing.queues.SimpleQueueÚqueueÚQueueÚsocketserverÚSocketServerÚ_markupbaseÚ
markupbaseztest.supportztest.test_supportzdbm.bsdÚdbhashzdbm.ndbmÚdbmzdbm.dumbÚdumbdbmzdbm.gnuÚgdbmzhtml.parserÚ
HTMLParserzhtml.entitiesÚhtmlentitydefszhttp.clientÚhttplibzhttp.cookiesÚCookiezhttp.cookiejarÚ	cookielibztkinter.dialogÚDialogztkinter._fixÚFixTkztkinter.scrolledtextÚScrolledTextztkinter.tixÚTixztkinter.constantsÚTkconstantsztkinter.dndÚTkdndztkinter.__init__ÚTkinterztkinter.colorchooserÚtkColorChooserztkinter.commondialogÚtkCommonDialogztkinter.fontÚtkFontztkinter.ttkÚttkztkinter.messageboxÚtkMessageBoxztkinter.turtleÚturtlezurllib.robotparserÚrobotparserzxmlrpc.clientÚ	xmlrpclibÚbuiltinsÚ__builtin__z	name='%s'z	attr='%s'z$dotted_name=dotted_name< %s '.' %s >z%sz"power< %s trailer< '.' %s > any* >zpower< %s any* >z:from_import=import_from< 'from' %s 'import' imported=any >z®from_import_submod=import_from< 'from' %s 'import' (%s | import_as_name< %s 'as' renamed=any > | import_as_names< any* (%s | import_as_name< %s 'as' renamed=any >) any* > ) >zrname_import=import_name< 'import' %s > | name_import=import_name< 'import' dotted_as_name< %s 'as' renamed=any > >zAname_import=import_name< 'import' dotted_as_names< names=any* > >c           
      C   s¶   d| v rA|   dd¡\} }t|  }t| }t||f }t| }t|||||f }t||f }t||f }t| }	d 	|||||	f¡S t|  }t||f }t| }t
| }d 	|||f¡S )z«
    Accepts a string and returns a pattern of possible patterns involving that name
    Called by simple_mapping_to_pattern for each name in the mapping it receives.
    Ú.é   ú | 
)ÚsplitÚsimple_name_matchÚsubname_matchÚdotted_name_matchÚfrom_import_matchÚfrom_import_submod_matchÚname_import_matchÚpower_twoname_matchÚpower_subname_matchÚjoinÚpower_onename_match)
ÚnameÚattrÚsimple_nameÚsimple_attrÚdotted_nameÚi_fromÚi_from_submodÚi_nameÚu_nameÚ	u_subname© rM   ú_/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/libpasteurize/fixes/fix_imports.pyÚall_patternsP   s    rO   c                   @   s6   e Zd Zd dd„ eD ƒ¡Zd eef¡Zdd„ ZdS )Ú
FixImportsr7   c                 C   s   g | ]}t |ƒ‘qS rM   )rO   )Ú.0rC   rM   rM   rN   Ú
<listcomp>m   s    zFixImports.<listcomp>c                 C   s   t dd|ƒ d S )NÚfutureÚstandard_libraryr   )ÚselfÚnodeÚresultsrM   rM   rN   Ú	transformp   s   zFixImports.transformN)Ú__name__Ú
__module__Ú__qualname__rA   ÚMAPPINGÚPATTERNÚmultiple_name_import_matchrX   rM   rM   rM   rN   rP   k   s    rP   N) Ú__doc__Úlib2to3r   Úlib2to3.fixer_utilr   r   r   r   Úlib2to3.pygramr   ÚsymsÚlib2to3.pgen2r   Úlib2to3.pytreer	   r
   Úlibfuturize.fixer_utilr   r\   r9   r:   r;   rB   r?   r@   r<   r=   r>   r^   rO   ÚBaseFixrP   rM   rM   rM   rN   Ú<module>   s¬    ÿþýüûúùø	÷
öõôóòñðïíìëêéèçæåäãâá à!ß"Þ-