� �fc@s�dZddlZddlZddlZddlmZdddgZed�Zed�Z d �Z d �Z d �Z d �Z d �Zejd�Zejd�Zd�Zd�Zd�ZdS(s� Filename globbing utility. Mostly a copy of `glob` from Python 3.5. Changes include: * `yield from` and PEP3102 `*` removed. * `bytes` changed to `six.binary_type`. * Hidden files are not ignored. i����N(t binary_typetglobtiglobtescapecCstt|d|��S(syReturn a list of paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la fnmatch. However, unlike fnmatch, filenames starting with a dot are special cases that are not matched by '*' and '?' patterns. If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories. t recursive(tlistR(tpathnameR((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyRs cCs4t||�}|r0t|�r0t|�}n|S(s�Return an iterator which yields the paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la fnmatch. However, unlike fnmatch, filenames starting with a dot are special cases that are not matched by '*' and '?' patterns. If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories. (t_iglobt _isrecursivetnext(RRtitts((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR s  ccsntjj|�\}}t|�se|rGtjj|�ra|Vqantjj|�ra|VndS|s�|r�t|�r�x>t||�D] }|Vq�Wnxt||�D] }|Vq�WdS||kr�t|�r�t ||�}n |g}t|�r%|rt|�rt}q+t}nt }x<|D]4}x+|||�D]}tjj ||�VqHWq2WdS(N( tostpathtsplitt has_magictlexiststisdirRtglob2tglob1Rtglob0tjoin(RRtdirnametbasenametxtdirst glob_in_dirtname((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR2s4         cCsn|s6t|t�r*tjjd�}q6tj}nytj|�}Wntk r]gSXtj||�S(NtASCII( t isinstanceRR tcurdirtencodetlistdirtOSErrortfnmatchtfilter(Rtpatterntnames((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR]s  cCsN|s"tjj|�rJ|gSn(tjjtjj||��rJ|gSgS(N(R R RRR(RR((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyRjs  !ccs)|d Vxt|�D] }|VqWdS(Ni(t _rlistdir(RR$R((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyRzs ccs�|s6t|t�r*ttjd�}q6tj}nytj|�}Wntjk r`dSXx_|D]W}|V|r�tjj||�n|}x(t|�D]}tjj||�Vq�WqhWdS(NR( RRR RR terrorR RR&(RR%RR ty((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR&�s  !s([*?[])cCs:t|t�r!tj|�}ntj|�}|dk S(N(RRtmagic_check_bytestsearcht magic_checktNone(R tmatch((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR�scCs't|t�r|dkS|dkSdS(Ns**(RR(R$((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR�s cCsVtjj|�\}}t|t�r<tjd|�}ntjd|�}||S(s#Escape all special characters. s[\1](R R t splitdriveRRR)tsubR+(Rtdrive((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR�s (t__doc__R treR"tsetuptools.extern.sixRt__all__tFalseRRRRRRR&tcompileR+R)RRR(((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyts"      +