3 \&@s:dZddlmZddlmZmZmZGdddejZdS)zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) ) fixer_base) BlankLinesymstokenc@s"eZdZdZdeZddZdS)FixItertoolsImportsTzT import_from< 'from' 'itertools' 'import' imports=any > c Cs~|d}|jtjks|j r$|g}n|j}x|dddD]}|jtjkrV|j}|}n*|jtjkrfdS|jtjksvt|jd}|j}|dkrd|_|j q:|dkr:|j |d d krd nd |_q:W|jddp|g}d } x2|D]*}| r|jtj kr|j q| d N} qWx*|r>|djtj kr>|j j qW|jpRt |dd sd|jdkrz|j} t}| |_|SdS)Nimportsrimapizipifilter ifilterfalse izip_longestf filterfalse zip_longestTvalue)r r r )r r )typerZimport_as_namechildrenrNAMErSTARAssertionErrorremoveZchangedCOMMApopgetattrparentprefixr) selfZnodeZresultsrrZchildmemberZ name_node member_nameZ remove_commapr#;/usr/lib64/python3.6/lib2to3/fixes/fix_itertools_imports.py transformsD         zFixItertoolsImports.transformN)__name__ __module__ __qualname__Z BM_compatiblelocalsZPATTERNr%r#r#r#r$rs rN) __doc__Zlib2to3rZlib2to3.fixer_utilrrrZBaseFixrr#r#r#r$s