™N
þùO5c       sœ     k  Z   k  l l l l 	 d  d d d d d d d d d	 g
 Z  d  d d d d
 d d d d d d	 g Z  d d d d d
 d d g Z  d  d d d d d d	 g Z  d d d d d d	 g Z	  d  d d d d d d d d d d d d	 g Z
  e  i e  i d Z   d Z ! h  Z # d „  Z . d	 d d „ Z X d „  Z h d d „ Z ¢ d „  Z ® d Z Í d „  Z ë e d j o ì e ƒ  n d S(   s   ftps   https   gophers   nntps   waiss   files   httpss   shttps   prosperos    s   telnets   snewss   hdls   mailtos   newss   +-.i   c      s   # $ % & h  a  d S(   s   Clear the parse cache.N(   s   _parse_cache(    s2   /var/tmp/python-root/usr/lib/python1.5/urlparse.pys   clear_cache# s   c    sã  . / |  | | f } 0 y 1 t | SWn 2 t j
 o
 3 n X4 t t ƒ t j o 5 t ƒ  n 6 d } } } } } 7 t i |  d ƒ }	 8 |	 d j oc 9 xY |  |	  d 9 r }
 : |
 t j o ; Pn qµ W= t i |  |	  ƒ |  |	 d f \ } }  n > | t j ow ? |  d  d j o_ @ t i |  d d ƒ }	 A |	 d j  o B t |  ƒ }	 n C |  d |	 !|  |	 f \ } }  n n D | o
 | t j oN E t i |  d ƒ }	 F |	 d j o% G |  |	  |  |	 d f \ }  } n n H | t j oN I t i |  d	 ƒ }	 J |	 d j o% K |  |	  |  |	 d f \ }  } n n L | t j oN M t i |  d
 ƒ }	 N |	 d j o% O |  |	  |  |	 d f \ }  } n n P | | |  | | | f } Q | t | <R | Sd  S(   Ns    s   :i    i   i   s   //s   /s   #s   ?s   ;(   s   urls   schemes   allow_framentss   keys   _parse_caches   KeyErrors   lens   MAX_CACHE_SIZEs   clear_caches   netlocs   paths   paramss   querys   fragments   strings   finds   is   cs   scheme_charss   lowers   uses_netlocs   uses_fragments   rfinds
   uses_querys   uses_paramss   tuple(   s   urls   schemes   allow_framentss   keys   netlocs   paths   paramss   querys   fragments   is   cs   tuples2   /var/tmp/python-root/usr/lib/python1.5/urlparse.pys   urlparse. sH    	.()))i   c    sæ   X |  \ } } } } } } Y | o: Z | d  d j o Z d | } n [ d | | } n \ | o ] | d | } n ^ | o _ | d | } n ` | o a | d | } n b | o c | d | } n d | Sd  S(   Ni   s   /s   //s   :s   ;s   ?s   #(   s   netlocs   urls   schemes   paramss   querys   fragment(   s   .0s   schemes   netlocs   urls   paramss   querys   fragments2   /var/tmp/python-root/usr/lib/python1.5/urlparse.pys
   urlunparseX s   
 



c    s
  h i |  o j | Sn k t |  d | ƒ \ } } } } } } m t | | | ƒ \ }	 }
 } } } } q |	 | j o9 |
 o1 |	 t j o$ | t j o |	 t j o
 | t j or t | }
 v t |
 d ƒ } w | d j  o w d } n x t |
 d | ƒ } y | d j o z |
 |  }
 n n { |	 | j p
 |	 t j o# | t |	 |
 | | | | f ƒ Sn ~ |	 t j o:  |
 o# € t |	 |
 | | | | f ƒ Sn ‚ | }
 n ƒ | d  d j o# „ t |	 |
 | | | | f ƒ Sn † | o* ‡ t |	 |
 | | | p | | f ƒ Sn ‰ t | d ƒ } Š | d j o ‹ | |  d | } n Œ t | d ƒ }  | d d j o Ž d | d <n  x%  d | j o  | i d ƒ q•W‘ x— ‘ d oŒ ’ d } “ t | ƒ d } ” xf ” | | j  oQ • | | d j o | | d o – | | d | d 5— Pn ˜ | d } qìWš PqÀW› t | ƒ d	 j o | d d j o | d d j o œ d | d <n>  t | ƒ d	 j o | d d j o ž d g | d	 )n Ÿ t |	 |
 t | d ƒ | | | f ƒ Sd  S(
   Ns    s   @i    s   :i   s   /s   .s   ..i   (   s   bases   urls   urlparses   allow_framentss   bschemes   bnetlocs   bpaths   bparamss   bquerys	   bfragments   schemes   netlocs   paths   paramss   querys   fragments   uses_relatives   uses_netlocs   finds   is
   urlunparses   rfinds   splitfieldss   segmentss   removes   lens   ns
   joinfields(   s   bases   urls   allow_framentss   bschemes   bnetlocs   bpaths   bparamss   bquerys	   bfragments   schemes   netlocs   paths   paramss   querys   fragments   is   segmentss   ns2   /var/tmp/python-root/usr/lib/python1.5/urlparse.pys   urljoinh s^   ''L	 #
##*  
	 #	8(c    sY   ¢ ¨ © t  |  ƒ \ } } } } } } ª t | | | | | d f ƒ } « | | f Sd S(   s¿   Removes any existing fragment from URL.

    Returns a tuple of the defragmented URL and the fragment.  If
    the URL contained no fragments, the second element is the
    empty string.
    s    N(
   s   urlparses   urls   ss   ns   ps   as   qs   frags
   urlunparses   defrag(   s   urls   ss   ns   ps   as   qs   frags   defrags2   /var/tmp/python-root/usr/lib/python1.5/urlparse.pys	   urldefrag¢ s   !!s  
      http://a/b/c/d

      g:h        = <URL:g:h>
      http:g     = <URL:http://a/b/c/g>
      http:      = <URL:http://a/b/c/d>
      g          = <URL:http://a/b/c/g>
      ./g        = <URL:http://a/b/c/g>
      g/         = <URL:http://a/b/c/g/>
      /g         = <URL:http://a/g>
      //g        = <URL:http://g>
      ?y         = <URL:http://a/b/c/d?y>
      g?y        = <URL:http://a/b/c/g?y>
      g?y/./x    = <URL:http://a/b/c/g?y/./x>
      .          = <URL:http://a/b/c/>
      ./         = <URL:http://a/b/c/>
      ..         = <URL:http://a/b/>
      ../        = <URL:http://a/b/>
      ../g       = <URL:http://a/b/g>
      ../..      = <URL:http://a/>
      ../../g    = <URL:http://a/g>
      ../../../g = <URL:http://a/../g>
      ./../g     = <URL:http://a/b/g>
      ./g/.      = <URL:http://a/b/c/g/>
      /./g       = <URL:http://a/./g>
      g/./h      = <URL:http://a/b/c/g/h>
      g/../h     = <URL:http://a/b/c/h>
      http:g     = <URL:http://a/b/c/g>
      http:      = <URL:http://a/b/c/d>
c     s´  Í Î k  }  Ï d } Ð |  i d oC Ñ |  i d } Ò | d j o Ó |  i } n Õ t | ƒ } n × k } Ø | i t ƒ } Ù x&Ù d oÚ | i	 ƒ  } Û | o Û Pn Ü t i | ƒ } Ý | o
 Þ qŠ n ß | d } à t | ƒ } á d | | f GHâ t | | ƒ }	 ã | o ä |	 } n å d |	 }
 æ d | |
 f GHç t | ƒ d j o | d d	 j o0 è |
 | d
 j o é d G| d
 Gd GHn n qŠ Wd  S(   Ns    i   s   -i    s
   %-10s : %ss   <URL:%s>s
   %-10s = %si   s   =i   s   EXPECTEDs
   !!!!!!!!!!(   s   syss   bases   argvs   fns   stdins   fps   opens   StringIOs
   test_inputs   readlines   lines   strings   splits   wordss   urls   urlparses   partss   urljoins   abss   wrappeds   len(   s   syss   bases   fns   fps   StringIOs   lines   wordss   urls   partss   abss   wrappeds2   /var/tmp/python-root/usr/lib/python1.5/urlparse.pys   testÍ s8   			 
 
's   __main__N(   s   strings
   joinfieldss   splitfieldss   finds   rfinds   uses_relatives   uses_netlocs   non_hierarchicals   uses_paramss
   uses_querys   uses_fragments   letterss   digitss   scheme_charss   MAX_CACHE_SIZEs   _parse_caches   clear_caches   urlparses
   urlunparses   urljoins	   urldefrags
   test_inputs   tests   __name__(    s2   /var/tmp/python-root/usr/lib/python1.5/urlparse.pys   ? s&   '*0		*:	