l
lÆ¼Lc            %   @   s  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Td 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& d' d( g% Z d) Z d* Z d) Z d+ Z	 d, Z
 d- Z d. Z d/ e j k r÷ d0 Z n d1 e j k rd- Z n  d2 Z d3 „  Z d4 „  Z d5 „  Z d6 „  Z d7 „  Z d8 „  Z d9 „  Z d: „  Z d; „  Z d< „  Z d= „  Z d> „  Z d? „  Z d@ „  Z e j j  e _  dA „  Z dB „  Z dC „  Z  dD „  Z! dE „  Z" dF „  Z# dG „  Z$ dH „  Z% y d dI l& m' Z' Wn e( k
 rdJ „  Z) Yn
 XdK „  Z) e) Z* e+ e dL ƒ oMe j, ƒ  dM dN k Z- e dO „ Z. y9 e j, ƒ  d dN … dW k rŽd dQ l& m/ Z/ n e( ‚ Wn! e0 e( f k
 r¸dR „  Z/ Yn XdS „  Z1 y d dT l& m2 Z2 Wn e( k
 ródU „  Z2 Yn XdV „  Z3 d S(X   u   Common pathname manipulations, WindowsNT/95 version.

Instead of importing this module directly, import os and refer to this
module as os.path.
i    N(   u   *u   normcaseu   isabsu   joinu
   splitdriveu   splitu   splitextu   basenameu   dirnameu   commonprefixu   getsizeu   getmtimeu   getatimeu   getctimeu   islinku   existsu   lexistsu   isdiru   isfileu   ismountu
   expanduseru
   expandvarsu   normpathu   abspathu   splituncu   curdiru   pardiru   sepu   pathsepu   defpathu   altsepu   extsepu   devnullu   realpathu   supports_unicode_filenamesu   relpathu   samefileu   sameopenfileu   .u   ..u   \u   ;u   /u   .;C:\binu   ceu   \Windowsu   os2u   nulc             C   s   t  |  t ƒ r d Sd Sd  S(   Ns    u    (   u
   isinstanceu   bytes(   u   path(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu
   _get_empty&   s    c             C   s   t  |  t ƒ r d Sd Sd  S(   Ns   \u   \(   u
   isinstanceu   bytes(   u   path(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   _get_sep,   s    c             C   s   t  |  t ƒ r d Sd Sd  S(   Ns   /u   /(   u
   isinstanceu   bytes(   u   path(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   _get_altsep2   s    c             C   s   t  |  t ƒ r d Sd Sd  S(   Ns   \/u   \/(   u
   isinstanceu   bytes(   u   path(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   _get_bothseps8   s    c             C   s   t  |  t ƒ r d Sd Sd  S(   Ns   .u   .(   u
   isinstanceu   bytes(   u   path(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   _get_dot>   s    c             C   s   t  |  t ƒ r d Sd Sd  S(   Ns   :u   :(   u
   isinstanceu   bytes(   u   path(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu
   _get_colonD   s    c             C   s   t  |  t ƒ r d Sd Sd  S(   Ns   \\.\s   \\?\u   \\.\u   \\?\(   s   \\.\s   \\?\(   u   \\.\u   \\?\(   u
   isinstanceu   bytes(   u   path(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   _get_specialJ   s    c             C   sU   t  |  t t f ƒ s3 t d j |  j j ƒ ƒ ‚ n  |  j t |  ƒ t	 |  ƒ ƒ j
 ƒ  S(   ua   Normalize case of pathname.

    Makes all characters lowercase and all slashes into backslashes.u2   normcase() argument must be str or bytes, not '{}'(   u
   isinstanceu   bytesu   stru	   TypeErroru   formatu	   __class__u   __name__u   replaceu   _get_altsepu   _get_sepu   lower(   u   s(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   normcaseT   s    	c             C   s<   t  |  ƒ d }  t |  ƒ d k o; |  d d … t |  ƒ k S(   u   Test whether a path is absolutei   i    N(   u
   splitdriveu   lenu   _get_bothseps(   u   s(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   isabsd   s    c             G   s¦  t  |  ƒ } t |  ƒ } t |  ƒ } |  } xu| D]m} d } | sL d } nn t | ƒ rº t | ƒ \ } }	 | ry d } qº |	 r |	 d | k s• t ‚ t | ƒ d }
 |
 o´ |
 | k } n  | rÉ | } q1 t | ƒ d k sá t ‚ | d d … | k r7| r*| d d … | k r*| | d d … 7} qž| | 7} q1 | d d … | k rZ| | 7} q1 | r”| d d … | k rƒ| | 7} qž| | | 7} q1 | | 7} q1 W| S(   uœ   Join two or more pathname components, inserting "\" as needed.
    If any component is an absolute path, all previous path components
    will be discarded.i    i   Niÿÿÿÿiÿÿÿÿ(   u   _get_sepu   _get_bothsepsu
   _get_colonu   isabsu
   splitdriveu   AssertionErroru   len(   u   au   pu   sepu   sepsu   colonu   pathu   bu   b_winsu   b_prefixu   b_restu	   path_rest(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   joinl   s<    			c             C   s>  t  |  ƒ } t |  ƒ d k r4t |  ƒ } t |  ƒ } | d d … | d k r÷ | d d … | k r÷ | j | d ƒ } | d k rŽ | |  f S| j | | d ƒ } | | d k r¾ | |  f S| d k rÙ t |  ƒ } n  |  d | … |  | d … f S| d d … t |  ƒ k r4|  d d … |  d d … f Sn  | |  f S(   uÚ  Split a pathname into drive/UNC sharepoint and relative path specifiers.
    Returns a 2-tuple (drive_or_unc, path); either part may be empty.

    If you assign
        result = splitdrive(p)
    It is always true that:
        result[0] + result[1] == p

    If the path contained a drive letter, drive_or_unc will contain everything
    up to and including the colon.  e.g. splitdrive("c:/dir") returns ("c:", "/dir")

    If the path contained a UNC path, the drive_or_unc will contain the host name
    and share up to but not including the fourth directory separator character.
    e.g. splitdrive("//host/computer/dir") returns ("//host/computer", "/dir")

    Paths cannot contain both a drive letter and a UNC path.

    i   i    i   i   Niÿÿÿÿiÿÿÿÿ(   u
   _get_emptyu   lenu   _get_sepu   normcaseu   findu
   _get_colon(   u   pu   emptyu   sepu   normpu   indexu   index2(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu
   splitdrive¼   s"    0

!c             C   s  d d l  } | j d t ƒ t |  ƒ } |  d d … sL |  d d … |  f S|  d d … } t | ƒ | | k rÿ t |  ƒ } | j | d ƒ } | d k r° |  d d … |  f S| j | | d ƒ } | d k rá t |  ƒ } n  |  d | … |  | d … f S|  d d … |  f S(   u¢  Deprecated since Python 3.1.  Please use splitdrive() instead;
    it now handles UNC paths.

    Split a pathname into UNC mount point and relative path specifiers.

    Return a 2-tuple (unc, rest); either part may be empty.
    If unc is not empty, it has the form '//host/mount' (or similar
    using backslashes).  unc+rest is always the input path.
    Paths containing drive letters never have an UNC part.
    i    Nu<   ntpath.splitunc is deprecated, use ntpath.splitdrive insteadi   i   iÿÿÿÿiÿÿÿÿ(   u   warningsu   warnu   DeprecationWarningu   _get_sepu   normcaseu   findu   len(   u   pu   warningsu   sepu   firstTwou   normpu   index(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   splituncé   s"    	c             C   sÉ   t  |  ƒ } t |  ƒ \ } }  t |  ƒ } x( | rT |  | d | k rT | d 8} q- W|  d | … |  | d … } } | } x0 | r® | d d … | k r® | d d … } q W| p¸ | } | | | f S(   u~   Split a pathname.

    Return tuple (head, tail) where tail is everything after the final slash.
    Either part may be empty.i   Niÿÿÿÿiÿÿÿÿ(   u   _get_bothsepsu
   splitdriveu   len(   u   pu   sepsu   du   iu   headu   tailu   head2(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   split  s    !c             C   s(   t  j |  t |  ƒ t |  ƒ t |  ƒ ƒ S(   N(   u   genericpathu	   _splitextu   _get_sepu   _get_altsepu   _get_dot(   u   p(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   splitext+  s    c             C   s   t  |  ƒ d S(   u)   Returns the final component of a pathnamei   (   u   split(   u   p(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   basename3  s    c             C   s   t  |  ƒ d S(   u-   Returns the directory component of a pathnamei    (   u   split(   u   p(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   dirname:  s    c             C   sE   y t  j |  ƒ } Wn t  j t f k
 r4 d SYn Xt j | j ƒ S(   uy   Test whether a path is a symbolic link.
    This will always return false for Windows prior to 6.0
    and for OS/2.
    F(   u   osu   lstatu   erroru   AttributeErroru   Falseu   statu   S_ISLNKu   st_mode(   u   pathu   st(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   islinkA  s
    	c             C   s9   y t  j |  ƒ } Wn t  j t f k
 r4 d SYn Xd S(   uC   Test whether a path exists.  Returns True for broken symbolic linksFT(   u   osu   lstatu   erroru   WindowsErroru   Falseu   True(   u   pathu   st(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   lexistsN  s
    	c             C   sO   t  |  ƒ } t |  ƒ \ } } | rE | d | k rE | pD | | k S| | k S(   u?   Test whether a path is a mount point (defined as root of drive)i    (   u   _get_bothsepsu
   splitdrive(   u   pathu   sepsu   rootu   rest(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   ismountY  s
    c             C   sq  t  |  t ƒ r d } n d } |  j | ƒ s1 |  Sd t |  ƒ } } x0 | | k  rv |  | t |  ƒ k rv | d 7} qG Wd t j k r– t j d } nt d t j k rµ t j d } nU d t j k rÈ |  Sy t j d } Wn t k
 ró d } Yn Xt | t j d ƒ } t  |  t ƒ r1| j	 t
 j ƒ  ƒ } n  | d k r_t t | ƒ |  d | … ƒ } n  | |  | d	 … S(
   uL   Expand ~ and ~user constructs.

    If user or $HOME is unknown, do nothing.s   ~u   ~i   u   HOMEu   USERPROFILEu   HOMEPATHu	   HOMEDRIVEu    N(   u
   isinstanceu   bytesu
   startswithu   lenu   _get_bothsepsu   osu   environu   KeyErroru   joinu   encodeu   sysu   getfilesystemencodingu   dirname(   u   pathu   tildeu   iu   nu   userhomeu   drive(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu
   expanduserk  s0    	%"c             C   sd  t  |  t ƒ r{ t d ƒ |  k r7 t d ƒ |  k r7 |  Sd d l } t | j | j d d ƒ } d } d } d	 } d
 } nT d |  k r— d |  k r— |  Sd d l } | j | j d } d } d } d } d } |  d d … } d } t |  ƒ }	 xl| |	 k  r_|  | | d … }
 |
 | k r›|  | d d … }  t |  ƒ }	 y/ |  j |
 ƒ } | |
 |  d | d … 7} WqRt k
 r—| |  7} |	 d } YqRXn·|
 | k rÈ|  | d | d … | k rÜ| |
 7} | d 7} qR|  | d d … }  t |  ƒ }	 y |  j | ƒ } Wn* t k
 r;| | |  7} |	 d } YqRX|  d | … } t  |  t ƒ rm| j	 d ƒ } n  | t
 j k rŒt
 j | } n d | d } t  |  t ƒ r»| j d ƒ } n  | | 7} nŠ|
 | k rH|  | d | d … | k r	| |
 7} | d 7} qR|  | d | d … | k rT|  | d d … }  t |  ƒ }	 y½ t  |  t ƒ rk|  j d ƒ } n |  j d ƒ } |  d | … } t  |  t ƒ r«| j	 d ƒ } n  | t
 j k rÊt
 j | } n d | d } t  |  t ƒ rù| j d ƒ } n  | | 7} WqEt k
 rPt  |  t ƒ r4| d |  7} n | d |  7} |	 d } YqEXqRd } | d 7} |  | | d … }
 xc |
 rÝ|
 | k rÝt  |  t ƒ r²| |
 j	 d ƒ 7} n
 | |
 7} | d 7} |  | | d … }
 q{W| t
 j k rýt
 j | } n
 d | } t  |  t ƒ r(| j d ƒ } n  | | 7} |
 rR| d 8} qRn
 | |
 7} | d 7} qô W| S(   uf   Expand shell variables of the forms $var, ${var} and %var%.

    Unknown variables are left unchanged.u   $u   %i    Nu   _-u   asciis   's   %s   {s   $u   'u   {i   i   s   }u   }u   ${s   ${u    (   u
   isinstanceu   bytesu   ordu   stringu   ascii_lettersu   digitsu   lenu   indexu
   ValueErroru   decodeu   osu   environu   encode(   u   pathu   stringu   varcharsu   quoteu   percentu   braceu   dollaru   resu   indexu   pathlenu   cu   varu   value(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu
   expandvarsœ  sÀ    $	 








c             C   s²  t  |  ƒ } t |  ƒ d } t |  ƒ } |  j | ƒ r; |  S|  j t |  ƒ | ƒ }  t |  ƒ \ } }  |  j | ƒ r | | 7} |  j | ƒ }  n  |  j | ƒ } d } xÕ | t	 | ƒ k  r|| | sÛ | | t |  ƒ k rå | | =q¨ | | | k ro| d k r7| | d | k r7| | d | d … =| d 8} qy| d k rb| j
 t  |  ƒ ƒ rb| | =qy| d 7} q¨ | d 7} q¨ W| r¡| r¡| j t |  ƒ ƒ n  | | j | ƒ S(   u0   Normalize path, eliminating double slashes, etc.i   i    i   (   u   _get_sepu   _get_dotu   _get_specialu
   startswithu   replaceu   _get_altsepu
   splitdriveu   lstripu   splitu   lenu   endswithu   appendu   join(   u   pathu   sepu   dotdotu   special_prefixesu   prefixu   compsu   i(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   normpath  s4    
!
 !
(   u   _getfullpathnamec             C   sR   t  |  ƒ sH t |  t ƒ r* t j ƒ  } n t j ƒ  } t | |  ƒ }  n  t |  ƒ S(   u&   Return the absolute version of a path.(   u   isabsu
   isinstanceu   bytesu   osu   getcwdbu   getcwdu   joinu   normpath(   u   pathu   cwd(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   abspath>  s    c             C   sb   |  r. y t  |  ƒ }  WqX t k
 r* YqX Xn* t |  t ƒ rL t j ƒ  }  n t j ƒ  }  t |  ƒ S(   u&   Return the absolute version of a path.(   u   _getfullpathnameu   WindowsErroru
   isinstanceu   bytesu   osu   getcwdbu   getcwdu   normpath(   u   path(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   abspathI  s    u   getwindowsversioni   i   c             C   s˜  t  |  ƒ } | t k r' t |  ƒ } n  |  s< t d ƒ ‚ n  t t | ƒ ƒ } t t |  ƒ ƒ } t | ƒ \ } } t | ƒ \ } } t | ƒ t | ƒ k r½ d j | | ƒ }	 t |	 ƒ ‚ n  d „  | j	 | ƒ Dƒ }
 d „  | j	 | ƒ Dƒ } d } xC t
 |
 | ƒ D]2 \ } } t | ƒ t | ƒ k r-Pn  | d 7} qWt |  t ƒ rSd } n d } | g t |
 ƒ | | | d	 … } | sŽt |  ƒ St | Œ  S(
   u#   Return a relative version of a pathu   no path specifiedu,   path is on mount '{0}', start on mount '{1}'c             S   s   g  |  ] } | r | ‘ q S(    (    (   u   .0u   x(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu
   <listcomp>p  s   	 c             S   s   g  |  ] } | r | ‘ q S(    (    (   u   .0u   x(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu
   <listcomp>q  s   	 i    i   s   ..u   ..N(   u   _get_sepu   curdiru   _get_dotu
   ValueErroru   abspathu   normpathu
   splitdriveu   normcaseu   formatu   splitu   zipu
   isinstanceu   bytesu   lenu   join(   u   pathu   startu   sepu	   start_absu   path_absu   start_driveu
   start_restu
   path_driveu	   path_restu   erroru
   start_listu	   path_listu   iu   e1u   e2u   pardiru   rel_list(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   relpath]  s6    	%
i   (   u   _getfinalpathnamec             C   s
   t  |  ƒ S(   N(   u   abspath(   u   f(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   _getfinalpathname  s    c             C   s   t  |  ƒ t  | ƒ k S(   u9   Test whether two pathnames reference the same actual file(   u   _getfinalpathname(   u   f1u   f2(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   samefile“  s    (   u   _getfileinformationc             C   s   |  S(   N(    (   u   fd(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   _getfileinformation  s    c             C   s   t  |  ƒ t  | ƒ k S(   u5   Test whether two file objects reference the same file(   u   _getfileinformation(   u   f1u   f2(    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   sameopenfile   s    (   i   i    (4   u   __doc__u   osu   sysu   statu   genericpathu   __all__u   curdiru   pardiru   extsepu   sepu   pathsepu   altsepu   defpathu   builtin_module_namesu   devnullu
   _get_emptyu   _get_sepu   _get_altsepu   _get_bothsepsu   _get_dotu
   _get_colonu   _get_specialu   normcaseu   isabsu   joinu
   splitdriveu   splituncu   splitu   splitextu	   _splitextu   basenameu   dirnameu   islinku   lexistsu   ismountu
   expanduseru
   expandvarsu   normpathu   ntu   _getfullpathnameu   ImportErroru   abspathu   realpathu   hasattru   getwindowsversionu   supports_unicode_filenamesu   relpathu   _getfinalpathnameu   AttributeErroru   samefileu   _getfileinformationu   sameopenfile(    (    (    uV   I:\Didattica\Lezioni\Software\blender-2.61-release-windows32\2.61\python\lib\ntpath.pyu   <module>   sˆ   
									
			P	-	(								1	u	)	'
	