ó
Lñ¦[c           @   sÞ  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z e j d d k Z e j	 j
 d ƒ Z d e j k o d e j d k Z e j	 j
 d	 ƒ o© e Z d
 Z e  j d ƒ Z d „  Z e e d „ Z d „  Z d „  Z d e j f d „  ƒ  YZ d e f d „  ƒ  YZ e r1e Z e Z e Z e e f Z  e! e" f Z# d „  Z$ e% Z& d „  Z' e  j d ƒ Z( d „  Z) y d  d l* Z* Wn e+ k
 rn
 Xd „  Z) y d  d l, Z, Wn e+ k
 rÊn
 Xd „  Z) d „  Z- d „  Z. d „  Z/ d „  Z0 d d d „ Z2 d d d „ Z3 d d d  „ Z4 d! „  Z5 nð d  d l Z e Z e6 Z e f Z  e! f Z# e7 Z& d" „  Z- d# „  Z$ d$ „  Z' e d% „ Z8 e d& „ Z9 d' „  Z: d( „  Z; d) „  Z< d* „  Z= e d+ „ Z> e d, „ Z? d- „  Z. d. „  Z/ d/ „  Z0 d d d0 „ Z2 d d d1 „ Z3 d d d2 „ Z4 d3 „  Z5 d d4 „ Z@ d5 d d6 e d7 „ ZA eB e d8 ƒ rce jC ZD eE ZF n e jG ZD e ZF d9 e f d: „  ƒ  YZH d ZI d ZJ d ZK d; „  ZL d d d< „ ZM e r8d= Z d> d? lN mO ZO mP ZP d@ „  ZQ e ródA dB „ Z n  y d  d lJ ZJ Wn e+ k
 rqSXe ƒ  ZR d dC „ ZI dD „  ZK n dE „  ZQ dF „  ZO dG „  ZP dH „  ZS dI „  ZT dJ „  ZU eU dK „  e2 ƒ ZV eU dL „  e3 ƒ ZW eU dM „  e4 ƒ ZX i e. dN 6e/ dO 6e0 dP 6ZY i e2 dN 6e3 dO 6e4 dP 6ZZ d S(Q   iÿÿÿÿN(   t   WeakKeyDictionaryi    i   t   cygwint   APPENGINE_RUNTIMEs   Development/t   SERVER_SOFTWAREt   winiP   s   \033\[((?:\d|;)*)([a-zA-Z])c           C   s   t  j ƒ  p t  j ƒ  S(   N(   t   syst   getfilesystemencodingt   getdefaultencoding(    (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   get_filesystem_encoding   s    c      
   C   sR   | d  k r t |  ƒ } n  | d  k r0 d } n  t |  | | d t d | d | ƒS(   Nt   replacet   line_bufferingt   force_readablet   force_writable(   t   Nonet   get_best_encodingt   _NonClosingTextIOWrappert   True(   t   streamt   encodingt   errorsR   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _make_text_stream   s    	c         C   s3   y t  j |  ƒ j d k SWn t k
 r. t SXd S(   s$   Checks if a given encoding is ascii.t   asciiN(   t   codecst   lookupt   namet   LookupErrort   False(   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   is_ascii_encoding%   s    c         C   s2   t  |  d d ƒ p t j ƒ  } t | ƒ r. d S| S(   s1   Returns the default stream encoding if not found.R   s   utf-8N(   t   getattrR   R   R   R   (   R   t   rv(    (    s,   lib/python2.7/site-packages/click/_compat.pyR   -   s    R   c           B   sD   e  Z e e d  „ Z e r0 d „  Z d „  Z n  d „  Z d „  Z RS(   c         K   s9   t  | | | ƒ |  _ } t j j |  | | | |  d  S(   N(   t   _FixupStreamt   _streamt   iot   TextIOWrappert   __init__(   t   selfR   R   R   R   R   t   extra(    (    s,   lib/python2.7/site-packages/click/_compat.pyR"   7   s    	c         C   sf   t  | t ƒ s t | ƒ rS y |  j ƒ  Wn t k
 r< n X|  j j t | ƒ ƒ St j j |  | ƒ S(   N(	   t
   isinstancet   strt   is_bytest   flusht	   Exceptiont   buffert   writeR    R!   (   R#   t   x(    (    s,   lib/python2.7/site-packages/click/_compat.pyR+   A   s    c         C   s"   x | D] } |  j  | ƒ q Wd  S(   N(   R+   (   R#   t   linest   line(    (    s,   lib/python2.7/site-packages/click/_compat.pyt
   writelinesJ   s    c         C   s&   y |  j  ƒ  Wn t k
 r! n Xd  S(   N(   t   detachR)   (   R#   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   __del__N   s    c         C   s   |  j  j ƒ  S(   N(   R   t   isatty(   R#   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR2   T   s    (	   t   __name__t
   __module__R   R"   t   PY2R+   R/   R1   R2   (    (    (    s,   lib/python2.7/site-packages/click/_compat.pyR   5   s   			R   c           B   sJ   e  Z d  Z e e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   sQ  The new io interface needs more from streams than streams
    traditionally implement.  As such, this fix-up code is necessary in
    some circumstances.

    The forcing of readable and writable flags are there because some tools
    put badly patched objects on sys (one such offender are certain version
    of jupyter notebook).
    c         C   s   | |  _  | |  _ | |  _ d  S(   N(   R   t   _force_readablet   _force_writable(   R#   R   R   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR"   c   s    		c         C   s   t  |  j | ƒ S(   N(   R   R   (   R#   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   __getattr__h   s    c         C   sQ   t  |  j d d  ƒ } | d  k	 r+ | | ƒ St rA |  j j | ƒ S|  j j | ƒ S(   Nt   read1(   R   R   R   R5   t   readlinet   read(   R#   t   sizet   f(    (    s,   lib/python2.7/site-packages/click/_compat.pyR9   k   s    
c         C   sb   |  j  r t St |  j d d  ƒ } | d  k	 r5 | ƒ  Sy |  j j d ƒ Wn t k
 r] t SXt S(   Nt   readablei    (   R6   R   R   R   R   R;   R)   R   (   R#   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR>   v   s    	c         C   sŠ   |  j  r t St |  j d d  ƒ } | d  k	 r5 | ƒ  Sy |  j j d ƒ Wn: t k
 r… y |  j j d ƒ Wq† t k
 r t SXn Xt S(   Nt   writablet    (   R7   R   R   R   R   R+   R)   R   (   R#   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR?   ‚   s    		c         C   s^   t  |  j d d  ƒ } | d  k	 r( | ƒ  Sy |  j j |  j j ƒ  ƒ Wn t k
 rY t SXt S(   Nt   seekable(   R   R   R   t   seekt   tellR)   R   R   (   R#   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyRA   ‘   s    (
   R3   R4   t   __doc__R   R"   R8   R9   R>   R?   RA   (    (    (    s,   lib/python2.7/site-packages/click/_compat.pyR   Y   s   				c         C   s
   |  j  ƒ  S(   N(   t	   iteritems(   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   <lambda>¢   s    c         C   s   t  |  t t f ƒ S(   N(   R%   R*   t	   bytearray(   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR'   ¥   s    s   ^[a-zA-Z_][a-zA-Z0-9_]*$c         C   s   |  S(   N(    (   R=   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   set_binary_mode¼   s    c         C   s;   y |  j  ƒ  } Wn t k
 r# n Xt j | t j ƒ |  S(   N(   t   filenoR)   t   msvcrtt   setmodet   ost   O_BINARY(   R=   RI   (    (    s,   lib/python2.7/site-packages/click/_compat.pyRH   Ä   s    c         C   s[   y |  j  ƒ  } Wn t k
 r# n4 Xt j | t j ƒ } t j | t j | t j @ƒ |  S(   N(   RI   R)   t   fcntlt   F_GETFLt   F_SETFLRL   t
   O_NONBLOCK(   R=   RI   t   flags(    (    s,   lib/python2.7/site-packages/click/_compat.pyRH   Ò   s    c         C   s   t  j |  ƒ d  k	 S(   N(   t   _identifier_ret   searchR   (   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   isidentifierÜ   s    c           C   s   t  t j ƒ S(   N(   RH   R   t   stdin(    (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   get_binary_stdinß   s    c           C   s   t  d ƒ t t j ƒ S(   Nt   stdout(   t   _wrap_std_streamRH   R   RX   (    (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   get_binary_stdoutâ   s    
c           C   s   t  d ƒ t t j ƒ S(   Nt   stderr(   RY   RH   R   R[   (    (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   get_binary_stderræ   s    
c         C   s>   t  t j |  | ƒ } | d  k	 r% | St t j |  | d t ƒS(   NR   (   t   _get_windows_console_streamR   RV   R   R   R   (   R   R   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   get_text_stdinê   s
    c         C   sH   t  d ƒ t t j |  | ƒ } | d  k	 r/ | St t j |  | d t ƒS(   NRX   R   (   RY   R]   R   RX   R   R   R   (   R   R   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   get_text_stdoutñ   s    
c         C   sH   t  d ƒ t t j |  | ƒ } | d  k	 r/ | St t j |  | d t ƒS(   NR[   R   (   RY   R]   R   R[   R   R   R   (   R   R   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   get_text_stderrù   s    
c         C   s+   t  |  t ƒ r' |  j t ƒ  d ƒ }  n  |  S(   NR	   (   R%   t   bytest   decodeR   (   t   value(    (    s,   lib/python2.7/site-packages/click/_compat.pyt   filename_to_ui  s    c         C   s
   |  j  ƒ  S(   N(   RU   (   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyRF     s    c         C   s   t  |  j ƒ  ƒ S(   N(   t   itert   items(   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyRF     s    c         C   s   t  |  t t t f ƒ S(   N(   R%   Ra   t
   memoryviewRG   (   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR'     s    c         C   s3   y t  |  j d ƒ t ƒ SWn t k
 r. | SXd  S(   Ni    (   R%   R;   Ra   R)   (   R   t   default(    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _is_binary_reader  s    c         C   sS   y |  j  d ƒ Wn; t k
 rN y |  j  d ƒ t SWn t k
 rI n X| SXt S(   NR@   (   R+   R)   R   R   (   R   Rh   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _is_binary_writer  s    c         C   sH   t  |  t ƒ r |  St |  d d  ƒ } | d  k	 rD t  | t ƒ rD | Sd  S(   NR*   (   Ri   R   R   R   R   (   R   t   buf(    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _find_binary_reader&  s
    c         C   sH   t  |  t ƒ r |  St |  d d  ƒ } | d  k	 rD t  | t ƒ rD | Sd  S(   NR*   (   Rj   R   R   R   R   (   R   Rk   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _find_binary_writer5  s
    c         C   s   t  t |  d d ƒ p d ƒ S(   s3   A stream is misconfigured if its encoding is ASCII.R   R   N(   R   R   R   (   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _stream_is_misconfiguredD  s    c         C   sZ   t  |  d d  ƒ } t  |  d d  ƒ } | | k r@ | | k r@ t S| d  k rV | d  k	 St S(   NR   R   (   R   R   R   R   (   R   R   R   t   stream_encodingt   stream_errors(    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _is_compatible_text_streamL  s    
c         C   s’   t  |  t ƒ r |  } nO | d  k r5 t |  ƒ r5 |  St |  | | ƒ rK |  St |  ƒ } | d  k rg |  S| d  k r| d } n  t | | | d | ƒS(   NR	   R   (   Ri   R   R   Rn   Rq   Rl   R   (   t   text_readerR   R   R   t   binary_reader(    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _force_correct_text_reader[  s    		c         C   s’   t  |  t ƒ r |  } nO | d  k r5 t |  ƒ r5 |  St |  | | ƒ rK |  St |  ƒ } | d  k rg |  S| d  k r| d } n  t | | | d | ƒS(   NR	   R   (   Rj   R   R   Rn   Rq   Rm   R   (   t   text_writerR   R   R   t   binary_writer(    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _force_correct_text_writery  s    		c          C   s.   t  t j ƒ }  |  d  k r* t d ƒ ‚ n  |  S(   Ns6   Was not able to determine binary stream for sys.stdin.(   Rl   R   RV   R   t   RuntimeError(   t   reader(    (    s,   lib/python2.7/site-packages/click/_compat.pyRW   —  s    c          C   s.   t  t j ƒ }  |  d  k r* t d ƒ ‚ n  |  S(   Ns7   Was not able to determine binary stream for sys.stdout.(   Rm   R   RX   R   Rx   (   t   writer(    (    s,   lib/python2.7/site-packages/click/_compat.pyRZ   ž  s    c          C   s.   t  t j ƒ }  |  d  k r* t d ƒ ‚ n  |  S(   Ns7   Was not able to determine binary stream for sys.stderr.(   Rm   R   R[   R   Rx   (   Rz   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR\   ¥  s    c         C   s>   t  t j |  | ƒ } | d  k	 r% | St t j |  | d t ƒS(   NR   (   R]   R   RV   R   Rt   R   (   R   R   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR^   ¬  s
    c         C   s>   t  t j |  | ƒ } | d  k	 r% | St t j |  | d t ƒS(   NR   (   R]   R   RX   R   Rw   R   (   R   R   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR_   ³  s
    c         C   s>   t  t j |  | ƒ } | d  k	 r% | St t j |  | d t ƒS(   NR   (   R]   R   R[   R   Rw   R   (   R   R   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR`   º  s
    c         C   sI   t  |  t ƒ r' |  j t ƒ  d ƒ }  n |  j d d ƒ j d d ƒ }  |  S(   NR	   s   utf-8t   surrogateescape(   R%   Ra   Rb   R   t   encode(   Rc   (    (    s,   lib/python2.7/site-packages/click/_compat.pyRd   Á  s
    c         C   sd   t  |  d ƒ r |  j } n! | d  k	 r0 | } n t |  ƒ } t | t ƒ r` | j d d ƒ } n  | S(   Nt   strerrors   utf-8R	   (   t   hasattrR}   R   R&   R%   Ra   Rb   (   t   eRh   t   msg(    (    s,   lib/python2.7/site-packages/click/_compat.pyt   get_streerrorÊ  s    	t   rt   strictc   	         sÄ  |  d k r• t  ‡  f d †  d d d g Dƒ ƒ rc d ˆ  k rJ t ƒ  t f St d | d | ƒ t f Sd ˆ  k r| t ƒ  t f St d | d | ƒ t f S| sÜ | d  k rº t |  ˆ  ƒ t f St	 j |  ˆ  d | d | ƒt f Sd ˆ  k r÷ t
 d	 ƒ ‚ n  d ˆ  k rt
 d
 ƒ ‚ n  d ˆ  k r-t
 d ƒ ‚ n  d d  l } | j d t j j |  ƒ d d ƒ \ } } | d  k	 rt	 j | ˆ  d | d | ƒ} n t j | ˆ  ƒ } t | | t j j |  ƒ ƒ t f S(   Nt   -c         3   s   |  ] } | ˆ  k Vq d  S(   N(    (   t   .0t   m(   t   mode(    s,   lib/python2.7/site-packages/click/_compat.pys	   <genexpr>Ü  s    t   wt   aR,   t   bR   R   sÏ   Appending to an existing file is not supported, because that would involve an expensive `copy`-operation to a temporary file. Open the file in normal `w`-mode and copy explicitly if that's what you're after.s&   Use the `overwrite`-parameter instead.s,   Atomic writes only make sense with `w`-mode.iÿÿÿÿt   dirt   prefixs   .__atomic-write(   t   anyRZ   R   R_   RW   R^   R   t   openR   R    t
   ValueErrort   tempfilet   mkstempRL   t   patht   dirnamet   fdopent   _AtomicFilet   realpath(	   t   filenameR‡   R   R   t   atomicR   t   fdt   tmp_filenameR=   (    (   R‡   s,   lib/python2.7/site-packages/click/_compat.pyt   open_stream×  s4    %"!R	   R•   c           B   sP   e  Z d  „  Z e d „  ƒ Z e d „ Z d „  Z d „  Z d „  Z	 d „  Z
 RS(   c         C   s(   | |  _  | |  _ | |  _ t |  _ d  S(   N(   t   _ft   _tmp_filenamet   _real_filenameR   t   closed(   R#   R=   Rš   t   real_filename(    (    s,   lib/python2.7/site-packages/click/_compat.pyR"     s    			c         C   s   |  j  S(   N(   Rž   (   R#   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR     s    c         C   sk   |  j  r d  S|  j j ƒ  t sK y t j |  j ƒ WqK t k
 rG qK Xn  t |  j	 |  j ƒ t
 |  _  d  S(   N(   RŸ   Rœ   t   closet   _can_replaceRL   t   removeRž   t   OSErrort   _replaceR   R   (   R#   t   delete(    (    s,   lib/python2.7/site-packages/click/_compat.pyR¡     s    	c         C   s   t  |  j | ƒ S(   N(   R   Rœ   (   R#   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR8   (  s    c         C   s   |  S(   N(    (   R#   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt	   __enter__+  s    c         C   s   |  j  d | d  k	 ƒ d  S(   NR¦   (   R¡   R   (   R#   t   exc_typet	   exc_valuet   tb(    (    s,   lib/python2.7/site-packages/click/_compat.pyt   __exit__.  s    c         C   s   t  |  j ƒ S(   N(   t   reprRœ   (   R#   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   __repr__1  s    (   R3   R4   R"   t   propertyR   R   R¡   R8   R§   R«   R­   (    (    (    s,   lib/python2.7/site-packages/click/_compat.pyR•     s   				c         C   s   t  j d |  ƒ S(   NR@   (   t   _ansi_ret   sub(   Rc   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt
   strip_ansi:  s    c         C   s4   | d  k r/ |  d  k r$ t j }  n  t |  ƒ S| S(   N(   R   R   RV   R2   (   R   t   color(    (    s,   lib/python2.7/site-packages/click/_compat.pyt   should_strip_ansi>  s
    iO   i   (   R]   RY   c          C   s   d d  l  }  |  j ƒ  S(   Niÿÿÿÿ(   t   localet   getpreferredencoding(   R´   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   _get_argv_encodingO  s    R@   c         C   sH   t  j j ƒ  |  r, t ƒ  } | j |  ƒ n  t ƒ  } | j ƒ  j d ƒ S(   Ns   
(   R   R[   R(   t   _default_text_stdoutR+   t   _default_text_stdinR:   t   rstrip(   t   promptRX   RV   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt	   raw_inputT  s    		c            s´   y t  j |  ƒ } Wn t k
 r, d } n X| d k	 r= | St |  | ƒ } t j |  d | ƒ‰ ˆ j } | j ‰  ‡  ‡ f d †  } | | _ y | t  |  <Wn t k
 r¯ n X| S(   s  This function wraps a stream so that calls through colorama
            are issued to the win32 console API to recolor on demand.  It
            also ensures to reset the colors if a write call is interrupted
            to not destroy the console afterwards.
            t   stripc            s)   y ˆ  |  ƒ SWn ˆ j  ƒ  ‚  n Xd  S(   N(   t	   reset_all(   t   s(   t   _writet   ansi_wrapper(    s,   lib/python2.7/site-packages/click/_compat.pyt   _safe_writet  s
    
N(	   t   _ansi_stream_wrapperst   getR)   R   R³   t   coloramat   AnsiToWin32R   R+   (   R   R²   t   cachedR¼   R   RÁ   (    (   R¿   RÀ   s,   lib/python2.7/site-packages/click/_compat.pyt   auto_wrap_for_ansic  s"    
			c          C   s9   t  j j t  j j ƒ j }  |  j |  j |  j |  j f S(   N(	   RÄ   t   win32t   GetConsoleScreenBufferInfot   STDOUTt   srWindowt   Rightt   Leftt   Bottomt   Top(   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   get_winterm_size‚  s    	c           C   s   t  t j d d  ƒ p t ƒ  S(   NR   (   R   R   RV   R   R   (    (    (    s,   lib/python2.7/site-packages/click/_compat.pyR¶   ‡  s    c          G   s   d  S(   N(   R   (   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyRF   Š  s    c          G   s   d  S(   N(   R   (   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyRF   ‹  s    c         C   s   t  t |  ƒ ƒ S(   N(   t   lenR±   (   R,   (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   term_lenŽ  s    c         C   s'   y |  j  ƒ  SWn t k
 r" t SXd  S(   N(   R2   R)   R   (   R   (    (    s,   lib/python2.7/site-packages/click/_compat.pyR2   ’  s    c            s"   t  ƒ  ‰  ‡  ‡ ‡ f d †  } | S(   Nc             s~   ˆ ƒ  }  y ˆ  j  |  ƒ } Wn t k
 r5 d  } n X| d  k	 rF | Sˆ ƒ  } y ˆ ƒ  }  | ˆ  |  <Wn t k
 ry n X| S(   N(   RÃ   R)   R   (   R   R   (   t   cachet   src_funct   wrapper_func(    s,   lib/python2.7/site-packages/click/_compat.pyt   func›  s    	
		(   R    (   RÔ   RÕ   RÖ   (    (   RÓ   RÔ   RÕ   s,   lib/python2.7/site-packages/click/_compat.pyt   _make_cached_stream_func™  s    	c           C   s   t  j S(   N(   R   RV   (    (    (    s,   lib/python2.7/site-packages/click/_compat.pyRF   ®  s    c           C   s   t  j S(   N(   R   RX   (    (    (    s,   lib/python2.7/site-packages/click/_compat.pyRF   °  s    c           C   s   t  j S(   N(   R   R[   (    (    (    s,   lib/python2.7/site-packages/click/_compat.pyRF   ²  s    RV   RX   R[   ([   t   reR    RL   R   R   t   weakrefR    t   version_infoR5   t   platformt
   startswitht   CYGWINt   environt
   APP_ENGINEt   WINt   DEFAULT_COLUMNSt   compileR¯   R   R   R   R   R   R!   R   t   objectR   t   unicodet	   text_typeR&   Ra   R»   t   string_typest   intt   longt	   int_typesRE   t   xranget
   range_typeR'   RS   RH   RJ   t   ImportErrorRN   RU   RW   RZ   R\   R   R^   R_   R`   Rd   t   inputt   rangeRi   Rj   Rl   Rm   Rn   Rq   Rt   Rw   R   R›   R~   R	   R¥   R   R¢   t   renameR•   RÇ   RÄ   RÐ   R±   R³   t   _winconsoleR]   RY   R¶   RÂ   RÒ   R2   R×   R¸   R·   t   _default_text_stderrt   binary_streamst   text_streams(    (    (    s,   lib/python2.7/site-packages/click/_compat.pyt   <module>   sì   			$C						
																			0			%									
