� {fc@sodZddlmZddlmZddlmZddlmZmZm Z dej fd��YZ dS( sIFixer for apply(). This converts apply(func, v, k) into (func)(*v, **k).i(tpytree(ttoken(t fixer_base(tCalltCommat parenthesizetFixApplycBseZeZdZd�ZRS(s. power< 'apply' trailer< '(' arglist< (not argument ')' > > c Cs�|j}|st�|d}|d}|jd�}|r�|j|jjkrWdS|j|jjkr�|jdjdkr�dSn|r�|j|jjkr�|jdjdkr�dS|j}|j �}|jt j |j fkr(|j|j ks|jdjt jkr(t|�}nd|_|j �}d|_|dk rj|j �}d|_ntjt jd�|g}|dk r�|jt�tjt jd �|g�d |d_nt||d |�S( Ntfunctargstkwdsis**i����tu*u**u tprefix(tsymstAssertionErrortgetttypet star_exprtargumenttchildrentvalueR tcloneRtNAMEtatomtpowert DOUBLESTARRtNoneRtLeaftSTARtextendRR( tselftnodetresultsR RRR R t l_newargs((s//usr/lib64/python2.7/lib2to3/fixes/fix_apply.pyt transformsB               (t__name__t __module__tTruet BM_compatibletPATTERNR!(((s//usr/lib64/python2.7/lib2to3/fixes/fix_apply.pyRsN( t__doc__R Rtpgen2RRt fixer_utilRRRtBaseFixR(((s//usr/lib64/python2.7/lib2to3/fixes/fix_apply.pyts