Ńņ
čRc           @` s
  d  d k  l Z l Z l Z y
 e Z Wn e j
 o n Xd  d k l Z d d k	 l
 Z
 d d k	 l Z d d k	 l Z l Z d d k	 l Z l Z l Z d d k	 l Z l Z d d	 k	 l Z d d
 k l Z d d k l Z e e  Z d e f d     YZ d S(   i    (   t   absolute_importt   divisiont   unicode_literals(   t   dequei   (   t   spaceCharacters(   t   entities(   t   asciiLetterst   asciiUpper2Lower(   t   digitst	   hexDigitst   EOF(   t
   tokenTypest   tagTokenTypes(   t   replacementCharacters(   t   HTMLInputStream(   t   Triet   HTMLTokenizerc           B` s·  e  Z d  Z dJ e e e e dJ d  Z d   Z d   Z dJ e d  Z	 d   Z
 d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" d   Z# d   Z$ d    Z% d!   Z& d"   Z' d#   Z( d$   Z) d%   Z* d&   Z+ d'   Z, d(   Z- d)   Z. d*   Z/ d+   Z0 d,   Z1 d-   Z2 d.   Z3 d/   Z4 d0   Z5 d1   Z6 d2   Z7 d3   Z8 d4   Z9 d5   Z: d6   Z; d7   Z< d8   Z= d9   Z> d:   Z? d;   Z@ d<   ZA d=   ZB d>   ZC d?   ZD d@   ZE dA   ZF dB   ZG dC   ZH dD   ZI dE   ZJ dF   ZK dG   ZL dH   ZM dI   ZN RS(K   u	   This class takes care of tokenizing HTML.

    * self.currentToken
      Holds the token that is currently being processed.

    * self.state
      Holds a reference to the method to be invoked... XXX

    * self.stream
      Points to HTMLInputStream object.
    c         C` sz   t  | | | |  |  _ | |  _ | |  _ | |  _ t |  _ g  |  _ |  i |  _	 t |  _
 d  |  _ t t |   i   d  S(   N(   R   t   streamt   parsert   lowercaseElementNamet   lowercaseAttrNamet   Falset
   escapeFlagt   lastFourCharst	   dataStatet   statet   escapet   Nonet   currentTokent   superR   t   __init__(   t   selfR   t   encodingt	   parseMetat
   useChardetR   R   R   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   %   s    							c         c` s   t  g   |  _ xm |  i   o_ x8 |  i i o* h t d d 6|  i i i d  d 6Vq" Wx |  i o |  i i   Vq] Wq Wd S(   uä    This is where the magic happens.

        We do our usually processing through the states and when we have a token
        to return we yield the token which pauses processing until the next token
        is requested.
        u
   ParseErroru   typei    u   dataN(   R   t
   tokenQueueR   R   t   errorsR   t   popt   popleft(   R   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   __iter__9   s      + 
c   	   %   C` s  t  } d } | o t } d } n g  } |  i i   } x; | | j o- | t j	 o  | i |  |  i i   } q; Wt d i |  |  } | t j o> t | } |  i	 i h t
 d d 6d d 6h | d 6d	 6 näd
 | j o
 d j n p | d j o: d } |  i	 i h t
 d d 6d d 6h | d 6d	 6 nd | j o
 d j n pÖ d | j o
 d j n pø d | j o
 d j n p d | j o
 d j n p| | t 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/ d0 d1 d2 d3 d4 d5 d6 d7 d g#  j o4 |  i	 i h t
 d d 6d d 6h | d 6d	 6 n y t |  } WnC t j
 o7 | d8 } t d
 | d ?B t d9 | d: @B } n X| d; j o6 |  i	 i h t
 d d 6d< d 6 |  i i |  n | S(=   uų   This function returns either U+FFFD or the character based on the
        decimal or hexadecimal representation. It also discards ";" if present.
        If not present self.tokenQueue.append({"type": tokenTypes["ParseError"]}) is invoked.
        i
   i   u    u
   ParseErroru   typeu$   illegal-codepoint-for-numeric-entityu   datau	   charAsIntu   datavarsi Ų  i’ß  i’’ u   ļæ½i   i   i   i   i   i   iŠż  iļż  i   iž’  i’’  iž’ i’’ iž’ i’’ iž’ i’’ iž’ i’’ iž’ i’’ iž’ i’’ iž’ i’’ iž’ i’’ iž’	 i’’	 iž’
 i’’
 iž’ i’’ iž’ i’’ iž’ i’’ iž’ i’’ iž’ i’’ iž’ i   i Ü  i’  u   ;u    numeric-entity-without-semicolon(   R   R	   R   t   charR
   t   appendt   intt   joinR   R#   R   t	   frozensett   chrt
   ValueErrort   unget(	   R   t   isHext   allowedt   radixt	   charStackt   ct	   charAsIntR(   t   v(    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   consumeNumberEntityI   sb    
 

+c   	   	   C` s¾  d } |  i  i   g } | d t j p8 | d t d d f j p | d  j	 o) | | d j o |  i  i | d  nŻ| d d j oō t } | i |  i  i    | d d j o  t } | i |  i  i    n | o | d t	 j p | o8 | d t
 j o' |  i  i | d  |  i |  } qU|  i i h t d d	 6d
 d 6 |  i  i | i    d d i |  } nŲxJ | d t j	 o8 t i d i |   p Pn | i |  i  i    qWy, t i d i | d    } t |  } Wn t j
 o d  } n X| d  j	 oź | d d j o& |  i i h t d d	 6d d 6 n | d d j og | o` | | t j p" | | t
 j p | | d j o- |  i  i | i    d d i |  } qUt | } |  i  i | i    | d i | |  7} nL |  i i h t d d	 6d d 6 |  i  i | i    d d i |  } | o |  i d d d c | 7<n@ | t j o
 d } n d } |  i i h t | d	 6| d 6 d  S(   Nu   &i    u   <u   #i’’’’u   xu   Xu
   ParseErroru   typeu   expected-numeric-entityu   datau    u   ;u   named-entity-without-semicolonu   =u   expected-named-entityi   u   SpaceCharactersu
   Characters(   u   xu   X(   R   R(   R   R
   R   R/   R   R)   t   TrueR	   R   R7   R#   R   R%   R+   t   entitiesTriet   has_keys_with_prefixt   longest_prefixt   lent   KeyErrorR   R   R   (	   R   t   allowedChart   fromAttributet   outputR3   t   hext
   entityNamet   entityLengtht	   tokenType(    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   consumeEntity   sh    + 

c         C` s   |  i  d | d t  d S(   uI   This method replaces the need for "entityInAttributeValueState".
        R>   R?   N(   RE   R8   (   R   R>   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   processEntityInAttributeį   s    c         C` sŽ   |  i  } | d t j o¤ |  i o | d i t  | d <n | d t d j of | d o& |  i i h t d d 6d d 6 n | d o& |  i i h t d d 6d d 6 qŗ q¾ n |  i i |  |  i |  _	 d	 S(
   u®   This method is a generic handler for emitting the tags. It also sets
        the state to "data" because that's what's needed after a token has been
        emitted.
        u   typeu   nameu   EndTagu   datau
   ParseErroru   attributes-in-end-tagu   selfClosingu   self-closing-flag-on-end-tagN(
   R   R   R   t	   translateR   R   R#   R)   R   R   (   R   t   token(    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   emitCurrentTokenę   s    	
c         C` s2  |  i  i   } | d j o |  i |  _ n| d j o |  i |  _ nę | d j oH |  i i h t d d 6d d 6 |  i i h t d d 6d d 6 n | t j o t	 S| t
 j o9 |  i i h t d	 d 6| |  i  i t
 t  d 6 n9 |  i  i d
  } |  i i h t d d 6| | d 6 t S(   Nu   &u   <u    u
   ParseErroru   typeu   invalid-codepointu   datau
   Charactersu   SpaceCharacters(   u   &u   <u    (   R   R(   t   entityDataStateR   t   tagOpenStateR#   R)   R   R
   R   R   t
   charsUntilR8   (   R   t   datat   chars(    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   ū   s&    "c         C` s   |  i    |  i |  _ t S(   N(   RE   R   R   R8   (   R   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRJ     s    
c         C` s2  |  i  i   } | d j o |  i |  _ n| d j o |  i |  _ nę | t j o t S| d j oH |  i i h t	 d d 6d d 6 |  i i h t	 d d 6d	 d 6 n | t
 j o9 |  i i h t	 d
 d 6| |  i  i t
 t  d 6 n9 |  i  i d  } |  i i h t	 d d 6| | d 6 t S(   Nu   &u   <u    u
   ParseErroru   typeu   invalid-codepointu   datau
   Charactersu   ļæ½u   SpaceCharacters(   u   &u   <u    (   R   R(   t   characterReferenceInRcdataR   t   rcdataLessThanSignStateR
   R   R#   R)   R   R   RL   R8   (   R   RM   RN   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   rcdataState  s&    "c         C` s   |  i    |  i |  _ t S(   N(   RE   RQ   R   R8   (   R   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRO   :  s    
c         C` sĻ   |  i  i   } | d j o |  i |  _ n  | d j oH |  i i h t d d 6d d 6 |  i i h t d d 6d d 6 nK | t j o t S|  i  i	 d	  } |  i i h t d d 6| | d 6 t
 S(
   Nu   <u    u
   ParseErroru   typeu   invalid-codepointu   datau
   Charactersu   ļæ½(   u   <u    (   R   R(   t   rawtextLessThanSignStateR   R#   R)   R   R
   R   RL   R8   (   R   RM   RN   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   rawtextState?  s    c         C` sĻ   |  i  i   } | d j o |  i |  _ n  | d j oH |  i i h t d d 6d d 6 |  i i h t d d 6d d 6 nK | t j o t S|  i  i	 d	  } |  i i h t d d 6| | d 6 t
 S(
   Nu   <u    u
   ParseErroru   typeu   invalid-codepointu   datau
   Charactersu   ļæ½(   u   <u    (   R   R(   t   scriptDataLessThanSignStateR   R#   R)   R   R
   R   RL   R8   (   R   RM   RN   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   scriptDataStateQ  s    c         C` s¬   |  i  i   } | t j o t S| d j oH |  i i h t d d 6d d 6 |  i i h t d d 6d d 6 n3 |  i i h t d d 6| |  i  i d  d 6 t S(   Nu    u
   ParseErroru   typeu   invalid-codepointu   datau
   Charactersu   ļæ½(	   R   R(   R
   R   R#   R)   R   RL   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   plaintextStatec  s    c         C` sŖ  |  i  i   } | d j o |  i |  _ n{| d j o |  i |  _ n^| t j o@ h t d d 6| d 6g  d 6t d 6t d 6|  _ |  i	 |  _ n| d	 j oT |  i
 i h t d
 d 6d d 6 |  i
 i h t d d 6d d 6 |  i |  _ n° | d j oB |  i
 i h t d
 d 6d d 6 |  i  i |  |  i |  _ na |  i
 i h t d
 d 6d d 6 |  i
 i h t d d 6d d 6 |  i  i |  |  i |  _ t S(   Nu   !u   /u   StartTagu   typeu   nameu   datau   selfClosingu   selfClosingAcknowledgedu   >u
   ParseErroru'   expected-tag-name-but-got-right-bracketu
   Charactersu   <>u   ?u'   expected-tag-name-but-got-question-marku   expected-tag-nameu   <(   R   R(   t   markupDeclarationOpenStateR   t   closeTagOpenStateR   R   R   R   t   tagNameStateR#   R)   R   R/   t   bogusCommentStateR8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRK   r  s6    ""c         C` sE  |  i  i   } | t j o9 h t d d 6| d 6g  d 6t d 6|  _ |  i |  _ nķ | d j o2 |  i i	 h t d d 6d d 6 |  i
 |  _ n® | t j oT |  i i	 h t d d 6d	 d 6 |  i i	 h t d
 d 6d d 6 |  i
 |  _ nM |  i i	 h t d d 6d d 6h | d 6d 6 |  i  i |  |  i |  _ t S(   Nu   EndTagu   typeu   nameu   datau   selfClosingu   >u
   ParseErroru*   expected-closing-tag-but-got-right-bracketu    expected-closing-tag-but-got-eofu
   Charactersu   </u!   expected-closing-tag-but-got-charu   datavars(   R   R(   R   R   R   R   RY   R   R#   R)   R   R
   R/   RZ   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRX     s(    "c         C` s   |  i  i   } | t j o |  i |  _ nŃ | d j o |  i   n¶ | t j o2 |  i i h t	 d d 6d d 6 |  i
 |  _ nw | d j o |  i |  _ nZ | d j o9 |  i i h t	 d d 6d d 6 |  i d	 c d
 7<n |  i d	 c | 7<t S(   Nu   >u
   ParseErroru   typeu   eof-in-tag-nameu   datau   /u    u   invalid-codepointu   nameu   ļæ½(   R   R(   R   t   beforeAttributeNameStateR   RI   R
   R#   R)   R   R   t   selfClosingStartTagStateR   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRY   ­  s"    c         C` sw   |  i  i   } | d j o d |  _ |  i |  _ n? |  i i h t d d 6d d 6 |  i  i |  |  i	 |  _ t
 S(   Nu   /u    u
   Charactersu   typeu   <u   data(   R   R(   t   temporaryBuffert   rcdataEndTagOpenStateR   R#   R)   R   R/   RQ   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRP   Ć  s    	"c         C` s}   |  i  i   } | t j o |  i | 7_ |  i |  _ n? |  i i h t d d 6d d 6 |  i  i	 |  |  i
 |  _ t S(   Nu
   Charactersu   typeu   </u   data(   R   R(   R   R]   t   rcdataEndTagNameStateR   R#   R)   R   R/   RQ   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR^   Ī  s    "c         C` s  |  i  o  |  i  d i   |  i i   j } |  i i   } | t j oC | o< h t d d 6|  i d 6g  d 6t d 6|  _  |  i |  _	 n| d j oC | o< h t d d 6|  i d 6g  d 6t d 6|  _  |  i
 |  _	 nĄ | d j oM | oF h t d d 6|  i d 6g  d 6t d 6|  _  |  i   |  i |  _	 nf | t j o |  i | 7_ nF |  i i h t d d 6d	 |  i d 6 |  i i |  |  i |  _	 t S(
   Nu   nameu   EndTagu   typeu   datau   selfClosingu   /u   >u
   Charactersu   </(   R   t   lowerR]   R   R(   R   R   R   R[   R   R\   RI   R   R   R#   R)   R/   RQ   R8   (   R   t   appropriateRM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR_   Ł  s2    ,



c         C` sw   |  i  i   } | d j o d |  _ |  i |  _ n? |  i i h t d d 6d d 6 |  i  i |  |  i	 |  _ t
 S(   Nu   /u    u
   Charactersu   typeu   <u   data(   R   R(   R]   t   rawtextEndTagOpenStateR   R#   R)   R   R/   RS   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRR   õ  s    	"c         C` s}   |  i  i   } | t j o |  i | 7_ |  i |  _ n? |  i i h t d d 6d d 6 |  i  i	 |  |  i
 |  _ t S(   Nu
   Charactersu   typeu   </u   data(   R   R(   R   R]   t   rawtextEndTagNameStateR   R#   R)   R   R/   RS   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRb      s    "c         C` s  |  i  o  |  i  d i   |  i i   j } |  i i   } | t j oC | o< h t d d 6|  i d 6g  d 6t d 6|  _  |  i |  _	 n| d j oC | o< h t d d 6|  i d 6g  d 6t d 6|  _  |  i
 |  _	 nĄ | d j oM | oF h t d d 6|  i d 6g  d 6t d 6|  _  |  i   |  i |  _	 nf | t j o |  i | 7_ nF |  i i h t d d 6d	 |  i d 6 |  i i |  |  i |  _	 t S(
   Nu   nameu   EndTagu   typeu   datau   selfClosingu   /u   >u
   Charactersu   </(   R   R`   R]   R   R(   R   R   R   R[   R   R\   RI   R   R   R#   R)   R/   RS   R8   (   R   Ra   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRc     s2    ,



c         C` s¶   |  i  i   } | d j o d |  _ |  i |  _ n~ | d j o2 |  i i h t d d 6d d 6 |  i |  _ n? |  i i h t d d 6d d 6 |  i  i	 |  |  i
 |  _ t S(	   Nu   /u    u   !u
   Charactersu   typeu   <!u   datau   <(   R   R(   R]   t   scriptDataEndTagOpenStateR   R#   R)   R   t   scriptDataEscapeStartStateR/   RU   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRT   '  s    	""c         C` s}   |  i  i   } | t j o |  i | 7_ |  i |  _ n? |  i i h t d d 6d d 6 |  i  i	 |  |  i
 |  _ t S(   Nu
   Charactersu   typeu   </u   data(   R   R(   R   R]   t   scriptDataEndTagNameStateR   R#   R)   R   R/   RU   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRd   5  s    "c         C` s  |  i  o  |  i  d i   |  i i   j } |  i i   } | t j oC | o< h t d d 6|  i d 6g  d 6t d 6|  _  |  i |  _	 n| d j oC | o< h t d d 6|  i d 6g  d 6t d 6|  _  |  i
 |  _	 nĄ | d j oM | oF h t d d 6|  i d 6g  d 6t d 6|  _  |  i   |  i |  _	 nf | t j o |  i | 7_ nF |  i i h t d d 6d	 |  i d 6 |  i i |  |  i |  _	 t S(
   Nu   nameu   EndTagu   typeu   datau   selfClosingu   /u   >u
   Charactersu   </(   R   R`   R]   R   R(   R   R   R   R[   R   R\   RI   R   R   R#   R)   R/   RU   R8   (   R   Ra   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRf   @  s2    ,



c         C` sn   |  i  i   } | d j o2 |  i i h t d d 6d d 6 |  i |  _ n |  i  i |  |  i |  _ t	 S(   Nu   -u
   Charactersu   typeu   data(
   R   R(   R#   R)   R   t   scriptDataEscapeStartDashStateR   R/   RU   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRe   \  s    "c         C` sn   |  i  i   } | d j o2 |  i i h t d d 6d d 6 |  i |  _ n |  i  i |  |  i |  _ t	 S(   Nu   -u
   Charactersu   typeu   data(
   R   R(   R#   R)   R   t   scriptDataEscapedDashDashStateR   R/   RU   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRg   f  s    "c         C` s  |  i  i   } | d j o2 |  i i h t d d 6d d 6 |  i |  _ nČ | d j o |  i |  _ n« | d j oH |  i i h t d d 6d d 6 |  i i h t d d 6d	 d 6 nV | t j o |  i	 |  _ n9 |  i  i
 d
  } |  i i h t d d 6| | d 6 t S(   Nu   -u
   Charactersu   typeu   datau   <u    u
   ParseErroru   invalid-codepointu   ļæ½(   u   <u   -u    (   R   R(   R#   R)   R   t   scriptDataEscapedDashStateR   t"   scriptDataEscapedLessThanSignStateR
   R   RL   R8   (   R   RM   RN   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   scriptDataEscapedStatep  s"    "c         C` s  |  i  i   } | d j o2 |  i i h t d d 6d d 6 |  i |  _ nŹ | d j o |  i |  _ n­ | d j oT |  i i h t d d 6d d 6 |  i i h t d d 6d	 d 6 |  i |  _ nL | t	 j o |  i
 |  _ n/ |  i i h t d d 6| d 6 |  i |  _ t S(
   Nu   -u
   Charactersu   typeu   datau   <u    u
   ParseErroru   invalid-codepointu   ļæ½(   R   R(   R#   R)   R   Rh   R   Rj   Rk   R
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRi     s"    ""c         C` sN  |  i  i   } | d j o& |  i i h t d d 6d d 6 n	| d j o |  i |  _ nģ | d j o2 |  i i h t d d 6d d 6 |  i |  _ n­ | d j oT |  i i h t d d 6d	 d 6 |  i i h t d d 6d
 d 6 |  i |  _ nL | t	 j o |  i
 |  _ n/ |  i i h t d d 6| d 6 |  i |  _ t S(   Nu   -u
   Charactersu   typeu   datau   <u   >u    u
   ParseErroru   invalid-codepointu   ļæ½(   R   R(   R#   R)   R   Rj   R   RU   Rk   R
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRh     s&    &""c         C` sĆ   |  i  i   } | d j o d |  _ |  i |  _ n | t j o? |  i i h t d d 6d | d 6 | |  _ |  i	 |  _ n? |  i i h t d d 6d d 6 |  i  i
 |  |  i |  _ t S(   Nu   /u    u
   Charactersu   typeu   <u   data(   R   R(   R]   t    scriptDataEscapedEndTagOpenStateR   R   R#   R)   R   t    scriptDataDoubleEscapeStartStateR/   Rk   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRj   ®  s    	&	"c         C` sw   |  i  i   } | t j o | |  _ |  i |  _ n? |  i i h t d d 6d d 6 |  i  i	 |  |  i
 |  _ t S(   Nu
   Charactersu   typeu   </u   data(   R   R(   R   R]   t    scriptDataEscapedEndTagNameStateR   R#   R)   R   R/   Rk   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRl   ½  s    	"c         C` s  |  i  o  |  i  d i   |  i i   j } |  i i   } | t j oC | o< h t d d 6|  i d 6g  d 6t d 6|  _  |  i |  _	 n| d j oC | o< h t d d 6|  i d 6g  d 6t d 6|  _  |  i
 |  _	 nĄ | d j oM | oF h t d d 6|  i d 6g  d 6t d 6|  _  |  i   |  i |  _	 nf | t j o |  i | 7_ nF |  i i h t d d 6d	 |  i d 6 |  i i |  |  i |  _	 t S(
   Nu   nameu   EndTagu   typeu   datau   selfClosingu   /u   >u
   Charactersu   </(   R   R`   R]   R   R(   R   R   R   R[   R   R\   RI   R   R   R#   R)   R/   Rk   R8   (   R   Ra   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRn   Č  s2    ,



c         C` są   |  i  i   } | t t d  Bj oX |  i i h t d d 6| d 6 |  i i   d j o |  i	 |  _
 qÜ |  i |  _
 n_ | t j o5 |  i i h t d d 6| d 6 |  i | 7_ n |  i  i |  |  i |  _
 t S(   Nu   /u   >u
   Charactersu   typeu   datau   script(   u   /u   >(   R   R(   R   R,   R#   R)   R   R]   R`   t   scriptDataDoubleEscapedStateR   Rk   R   R/   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRm   ä  s    ""c         C` sG  |  i  i   } | d j o2 |  i i h t d d 6d d 6 |  i |  _ nö | d j o2 |  i i h t d d 6d d 6 |  i |  _ n· | d j oH |  i i h t d d 6d d 6 |  i i h t d d 6d	 d 6 nb | t j o2 |  i i h t d d 6d
 d 6 |  i	 |  _ n# |  i i h t d d 6| d 6 t
 S(   Nu   -u
   Charactersu   typeu   datau   <u    u
   ParseErroru   invalid-codepointu   ļæ½u   eof-in-script-in-script(   R   R(   R#   R)   R   t    scriptDataDoubleEscapedDashStateR   t(   scriptDataDoubleEscapedLessThanSignStateR
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRo   ō  s$    """c         C` s_  |  i  i   } | d j o2 |  i i h t d d 6d d 6 |  i |  _ n| d j o2 |  i i h t d d 6d d 6 |  i |  _ nĻ | d j oT |  i i h t d d 6d d 6 |  i i h t d d 6d	 d 6 |  i |  _ nn | t	 j o2 |  i i h t d d 6d
 d 6 |  i
 |  _ n/ |  i i h t d d 6| d 6 |  i |  _ t S(   Nu   -u
   Charactersu   typeu   datau   <u    u
   ParseErroru   invalid-codepointu   ļæ½u   eof-in-script-in-script(   R   R(   R#   R)   R   t$   scriptDataDoubleEscapedDashDashStateR   Rq   Ro   R
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRp   	  s(    """c         C` s  |  i  i   } | d j o& |  i i h t d d 6d d 6 nM| d j o2 |  i i h t d d 6d d 6 |  i |  _ n| d j o2 |  i i h t d d 6d d 6 |  i |  _ nĻ | d j oT |  i i h t d d 6d	 d 6 |  i i h t d d 6d
 d 6 |  i |  _ nn | t	 j o2 |  i i h t d d 6d d 6 |  i
 |  _ n/ |  i i h t d d 6| d 6 |  i |  _ t S(   Nu   -u
   Charactersu   typeu   datau   <u   >u    u
   ParseErroru   invalid-codepointu   ļæ½u   eof-in-script-in-script(   R   R(   R#   R)   R   Rq   R   RU   Ro   R
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRr      s,    &"""c         C` sw   |  i  i   } | d j o; |  i i h t d d 6d d 6 d |  _ |  i |  _ n |  i  i |  |  i	 |  _ t
 S(   Nu   /u
   Charactersu   typeu   datau    (   R   R(   R#   R)   R   R]   t   scriptDataDoubleEscapeEndStateR   R/   Ro   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRq   9  s    "	c         C` są   |  i  i   } | t t d  Bj oX |  i i h t d d 6| d 6 |  i i   d j o |  i	 |  _
 qÜ |  i |  _
 n_ | t j o5 |  i i h t d d 6| d 6 |  i | 7_ n |  i  i |  |  i |  _
 t S(   Nu   /u   >u
   Charactersu   typeu   datau   script(   u   /u   >(   R   R(   R   R,   R#   R)   R   R]   R`   Rk   R   Ro   R   R/   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRs   D  s    ""c         C` s½  |  i  i   } | t j o |  i  i t t  n| t j o* |  i d i | d g  |  i |  _	 nP| d j o |  i
   n5| d j o |  i |  _	 n| d j oL |  i i h t d	 d
 6d d 6 |  i d i | d g  |  i |  _	 næ | d j oL |  i i h t d	 d
 6d d 6 |  i d i d d g  |  i |  _	 nf | t j o2 |  i i h t d	 d
 6d d 6 |  i |  _	 n' |  i d i | d g  |  i |  _	 t S(   Nu   datau    u   >u   /u   'u   "u   =u   <u
   ParseErroru   typeu#   invalid-character-in-attribute-nameu    u   invalid-codepointu   ļæ½u#   expected-attribute-name-but-got-eof(   u   'u   "u   =u   <(   R   R(   R   RL   R8   R   R   R)   t   attributeNameStateR   RI   R\   R#   R   R
   R   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR[   T  s6    c         C` s  |  i  i   } t } t } | d j o |  i |  _ n| t j o8 |  i d d d c | |  i  i t t  7<t } nZ| d j o
 t } nC| t	 j o |  i
 |  _ n&| d j o |  i |  _ n	| d j oG |  i i h t d d	 6d
 d 6 |  i d d d c d 7<t } nµ | d j oG |  i i h t d d	 6d d 6 |  i d d d c | 7<t } na | t j o2 |  i i h t d d	 6d d 6 |  i |  _ n" |  i d d d c | 7<t } | o¹ |  i o1 |  i d d d i t  |  i d d d <n xb |  i d d  D]O \ } } |  i d d d | j o' |  i i h t d d	 6d d 6 Pq*q*W| o |  i   qn t S(   Nu   =u   datai’’’’i    u   >u   /u    u
   ParseErroru   typeu   invalid-codepointu   ļæ½u   'u   "u   <u#   invalid-character-in-attribute-nameu   eof-in-attribute-nameu   duplicate-attribute(   u   'u   "u   <(   R   R(   R8   R   t   beforeAttributeValueStateR   R   R   RL   R   t   afterAttributeNameStateR\   R#   R)   R   R
   R   R   RG   R   RI   (   R   RM   t   leavingThisStatet	   emitTokent   namet   value(    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRt   r  sV    




1 	c         C` sŚ  |  i  i   } | t j o |  i  i t t  n¤| d j o |  i |  _ n| d j o |  i   nl| t j o* |  i	 d i
 | d g  |  i |  _ n5| d j o |  i |  _ n| d j oL |  i i
 h t d d 6d	 d 6 |  i	 d i
 d
 d g  |  i |  _ næ | d j oL |  i i
 h t d d 6d d 6 |  i	 d i
 | d g  |  i |  _ nf | t j o2 |  i i
 h t d d 6d d 6 |  i |  _ n' |  i	 d i
 | d g  |  i |  _ t S(   Nu   =u   >u   datau    u   /u    u
   ParseErroru   typeu   invalid-codepointu   ļæ½u   'u   "u   <u&   invalid-character-after-attribute-nameu   expected-end-of-tag-but-got-eof(   u   'u   "u   <(   R   R(   R   RL   R8   Ru   R   RI   R   R   R)   Rt   R\   R#   R   R
   R   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRv   ©  s:    c         C` sõ  |  i  i   } | t j o |  i  i t t  næ| d j o |  i |  _ n¢| d j o  |  i |  _ |  i  i |  nu| d j o |  i	 |  _ nX| d j o0 |  i
 i h t d d 6d d 6 |  i   n| d	 j oM |  i
 i h t d d 6d
 d 6 |  i d d d c d 7<|  i |  _ nĮ | d j oM |  i
 i h t d d 6d d 6 |  i d d d c | 7<|  i |  _ ng | t j o2 |  i
 i h t d d 6d d 6 |  i |  _ n( |  i d d d c | 7<|  i |  _ t S(   Nu   "u   &u   'u   >u
   ParseErroru   typeu.   expected-attribute-value-but-got-right-bracketu   datau    u   invalid-codepointi’’’’i   u   ļæ½u   =u   <u   `u"   equals-in-unquoted-attribute-valueu$   expected-attribute-value-but-got-eof(   u   =u   <u   `(   R   R(   R   RL   R8   t   attributeValueDoubleQuotedStateR   t   attributeValueUnQuotedStateR/   t   attributeValueSingleQuotedStateR#   R)   R   RI   R   R
   R   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRu   É  s>    c         C` s  |  i  i   } | d j o |  i |  _ n× | d j o |  i d  n¹ | d j oA |  i i h t d d 6d d 6 |  i d d d	 c d
 7<nk | t	 j o2 |  i i h t d d 6d d 6 |  i
 |  _ n, |  i d d d	 c | |  i  i d  7<t S(   Nu   "u   &u    u
   ParseErroru   typeu   invalid-codepointu   datai’’’’i   u   ļæ½u#   eof-in-attribute-value-double-quote(   u   "u   &u    (   R   R(   t   afterAttributeValueStateR   RF   R#   R)   R   R   R
   R   RL   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR{   ė  s     c         C` s  |  i  i   } | d j o |  i |  _ n× | d j o |  i d  n¹ | d j oA |  i i h t d d 6d d 6 |  i d d d	 c d
 7<nk | t	 j o2 |  i i h t d d 6d d 6 |  i
 |  _ n, |  i d d d	 c | |  i  i d  7<t S(   Nu   'u   &u    u
   ParseErroru   typeu   invalid-codepointu   datai’’’’i   u   ļæ½u#   eof-in-attribute-value-single-quote(   u   'u   &u    (   R   R(   R~   R   RF   R#   R)   R   R   R
   R   RL   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR}   ž  s     c         C` sy  |  i  i   } | t j o |  i |  _ nJ| d j o |  i d  n,| d j o |  i   n| d j oA |  i i h t	 d d	 6d
 d 6 |  i
 d d d c | 7<nĆ | d j oA |  i i h t	 d d	 6d d 6 |  i
 d d d c d 7<nu | t j o2 |  i i h t	 d d	 6d d 6 |  i |  _ n6 |  i
 d d d c | |  i  i t d  t B 7<t S(   Nu   &u   >u   "u   'u   =u   <u   `u
   ParseErroru   typeu0   unexpected-character-in-unquoted-attribute-valueu   datai’’’’i   u    u   invalid-codepointu   ļæ½u    eof-in-attribute-value-no-quotes(   u   "u   'u   =u   <u   `(   u   &u   >u   "u   'u   =u   <u   `u    (   R   R(   R   R[   R   RF   RI   R#   R)   R   R   R
   R   RL   R,   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR|     s,    !c         C` sõ   |  i  i   } | t j o |  i |  _ nĘ | d j o |  i   n« | d j o |  i |  _ n | t j oB |  i i	 h t
 d d 6d d 6 |  i  i |  |  i |  _ n? |  i i	 h t
 d d 6d d 6 |  i  i |  |  i |  _ t S(   Nu   >u   /u
   ParseErroru   typeu$   unexpected-EOF-after-attribute-valueu   datau*   unexpected-character-after-attribute-value(   R   R(   R   R[   R   RI   R\   R
   R#   R)   R   R/   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR~   *  s"    c         C` sČ   |  i  i   } | d j o t |  i d <|  i   n | t j oB |  i i h t d d 6d d 6 |  i  i	 |  |  i
 |  _ n? |  i i h t d d 6d d 6 |  i  i	 |  |  i |  _ t S(   Nu   >u   selfClosingu
   ParseErroru   typeu#   unexpected-EOF-after-solidus-in-tagu   datau)   unexpected-character-after-solidus-in-tag(   R   R(   R8   R   RI   R
   R#   R)   R   R/   R   R   R[   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR\   >  s    c         C` sc   |  i  i d  } | i d d  } |  i i h t d d 6| d 6 |  i  i   |  i |  _ t	 S(   Nu   >u    u   ļæ½u   Commentu   typeu   data(
   R   RL   t   replaceR#   R)   R   R(   R   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRZ   P  s    	c         C` sW  |  i  i   g } | d d j oW | i |  i  i    | d d j o, h t d d 6d d 6|  _ |  i |  _ t Sn| d d j o§ t } xR d d  d! d" d# d$ f D]8 } | i |  i  i    | d | j o t } PqŖ qŖ W| oA h t d d 6d d 6d  d 6d  d 6t d 6|  _ |  i
 |  _ t SnĻ | d d j o½ |  i d  j	 o­ |  i i i o |  i i i d i |  i i i j ow t } xR d d d d d d g D]8 } | i |  i  i    | d | j o t } PqØqØW| o |  i |  _ t Sn |  i i h t d d 6d d 6 x" | o |  i  i | i    q%W|  i |  _ t S(%   Ni’’’’u   -u   Commentu   typeu    u   datau   du   Du   ou   Ou   cu   Cu   tu   Tu   yu   Yu   pu   Pu   eu   Eu   Doctypeu   nameu   publicIdu   systemIdu   correctu   [u   Au
   ParseErroru   expected-dashes-or-doctype(   u   du   D(   u   ou   O(   u   cu   C(   u   tu   T(   u   yu   Y(   u   pu   P(   u   eu   E(   R   R(   R)   R   R   t   commentStartStateR   R8   R   R   t   doctypeStateR   t   treet   openElementst	   namespacet   defaultNamespacet   cdataSectionStateR#   R/   R%   RZ   (   R   R3   t   matchedt   expected(    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyRW   _  sX    	 		& 		 c         C` s9  |  i  i   } | d j o |  i |  _ n
| d j o9 |  i i h t d d 6d d 6 |  i d c d 7<nÄ | d j oE |  i i h t d d 6d	 d 6 |  i i |  i  |  i |  _ nr | t	 j oE |  i i h t d d 6d
 d 6 |  i i |  i  |  i |  _ n  |  i d c | 7<|  i
 |  _ t S(   Nu   -u    u
   ParseErroru   typeu   invalid-codepointu   datau   ļæ½u   >u   incorrect-commentu   eof-in-comment(   R   R(   t   commentStartDashStateR   R#   R)   R   R   R   R
   t   commentStateR8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR     s(    c         C` s=  |  i  i   } | d j o |  i |  _ n| d j o9 |  i i h t d d 6d d 6 |  i d c d 7<nČ | d j oE |  i i h t d d 6d	 d 6 |  i i |  i  |  i |  _ nv | t	 j oE |  i i h t d d 6d
 d 6 |  i i |  i  |  i |  _ n$ |  i d c d | 7<|  i
 |  _ t S(   Nu   -u    u
   ParseErroru   typeu   invalid-codepointu   datau   -ļæ½u   >u   incorrect-commentu   eof-in-comment(   R   R(   t   commentEndStateR   R#   R)   R   R   R   R
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   £  s(    c         C` sė   |  i  i   } | d j o |  i |  _ n¼ | d j o9 |  i i h t d d 6d d 6 |  i d c d 7<nv | t j oE |  i i h t d d 6d d 6 |  i i |  i  |  i	 |  _ n$ |  i d c | |  i  i
 d	  7<t S(
   Nu   -u    u
   ParseErroru   typeu   invalid-codepointu   datau   ļæ½u   eof-in-comment(   u   -u    (   R   R(   t   commentEndDashStateR   R#   R)   R   R   R
   R   RL   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   ŗ  s    c         C` s÷   |  i  i   } | d j o |  i |  _ nČ | d j oE |  i i h t d d 6d d 6 |  i d c d 7<|  i |  _ nv | t	 j oE |  i i h t d d 6d d 6 |  i i |  i  |  i
 |  _ n$ |  i d c d | 7<|  i |  _ t S(	   Nu   -u    u
   ParseErroru   typeu   invalid-codepointu   datau   -ļæ½u   eof-in-comment-end-dash(   R   R(   R   R   R#   R)   R   R   R   R
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   Ģ  s     c         C` s±  |  i  i   } | d j o# |  i i |  i  |  i |  _ no| d j oE |  i i h t d d 6d d 6 |  i d c d 7<|  i |  _ n| d j o2 |  i i h t d d 6d	 d 6 |  i	 |  _ nŽ | d
 j o9 |  i i h t d d 6d d 6 |  i d c | 7<n | t
 j oE |  i i h t d d 6d d 6 |  i i |  i  |  i |  _ nF |  i i h t d d 6d d 6 |  i d c d | 7<|  i |  _ t S(   Nu   >u    u
   ParseErroru   typeu   invalid-codepointu   datau   --ļæ½u   !u,   unexpected-bang-after-double-dash-in-commentu   -u,   unexpected-dash-after-double-dash-in-commentu   eof-in-comment-double-dashu   unexpected-char-in-commentu   --(   R   R(   R#   R)   R   R   R   R   R   t   commentEndBangStateR
   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   ß  s6    c         C` s:  |  i  i   } | d j o# |  i i |  i  |  i |  _ nų | d j o# |  i d c d 7<|  i |  _ nČ | d j oE |  i i h t d d 6d d 6 |  i d c d	 7<|  i	 |  _ nv | t
 j oE |  i i h t d d 6d
 d 6 |  i i |  i  |  i |  _ n$ |  i d c d | 7<|  i	 |  _ t S(   Nu   >u   -u   datau   --!u    u
   ParseErroru   typeu   invalid-codepointu   --!ļæ½u   eof-in-comment-end-bang-state(   R   R(   R#   R)   R   R   R   R   R   R   R
   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   ž  s(    c         C` sĶ   |  i  i   } | t j o |  i |  _ n | t j oR |  i i h t d d 6d d 6 t	 |  i
 d <|  i i |  i
  |  i |  _ n? |  i i h t d d 6d d 6 |  i  i |  |  i |  _ t S(   Nu
   ParseErroru   typeu!   expected-doctype-name-but-got-eofu   datau   correctu   need-space-after-doctype(   R   R(   R   t   beforeDoctypeNameStateR   R
   R#   R)   R   R   R   R   R/   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR     s    c         C` sG  |  i  i   } | t j o n$| d j oR |  i i h t d d 6d d 6 t |  i d <|  i i |  i  |  i |  _	 nÅ | d j o? |  i i h t d d 6d d 6 d	 |  i d
 <|  i
 |  _	 ny | t j oR |  i i h t d d 6d d 6 t |  i d <|  i i |  i  |  i |  _	 n | |  i d
 <|  i
 |  _	 t S(   Nu   >u
   ParseErroru   typeu+   expected-doctype-name-but-got-right-bracketu   datau   correctu    u   invalid-codepointu   ļæ½u   nameu!   expected-doctype-name-but-got-eof(   R   R(   R   R#   R)   R   R   R   R   R   t   doctypeNameStateR
   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   &  s.    c         C` s{  |  i  i   } | t j o- |  i d i t  |  i d <|  i |  _ n/| d j o@ |  i d i t  |  i d <|  i i	 |  i  |  i
 |  _ nā | d j oE |  i i	 h t d d 6d d 6 |  i d c d 7<|  i |  _ n | t j oo |  i i	 h t d d 6d	 d 6 t |  i d
 <|  i d i t  |  i d <|  i i	 |  i  |  i
 |  _ n |  i d c | 7<t S(   Nu   nameu   >u    u
   ParseErroru   typeu   invalid-codepointu   datau   ļæ½u   eof-in-doctype-nameu   correct(   R   R(   R   R   RG   R   t   afterDoctypeNameStateR   R#   R)   R   R   R   R
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   @  s,    c         C` s  |  i  i   } | t j o nå| d j o# |  i i |  i  |  i |  _ nµ| t j ob t	 |  i d <|  i  i
 |  |  i i h t d d 6d d 6 |  i i |  i  |  i |  _ nF| d j oi t } xD d  d! d" d# d$ f D]- } |  i  i   } | | j o t	 } Pqč qč W| o |  i |  _ t Snw | d% j oi t } xD d& d' d( d) d* f D]- } |  i  i   } | | j o t	 } Pq^q^W| o |  i |  _ t Sn |  i  i
 |  |  i i h t d d 6d d 6h | d 6d 6 t	 |  i d <|  i |  _ t S(+   Nu   >u   correctu
   ParseErroru   typeu   eof-in-doctypeu   datau   pu   Pu   uu   Uu   bu   Bu   lu   Lu   iu   Iu   cu   Cu   su   Su   yu   Yu   tu   Tu   eu   Eu   mu   Mu*   expected-space-or-right-bracket-in-doctypeu   datavars(   u   pu   P(   u   uu   U(   u   bu   B(   u   lu   L(   u   iu   I(   u   cu   C(   u   su   S(   u   yu   Y(   u   su   S(   u   tu   T(   u   eu   E(   u   mu   M(   R   R(   R   R#   R)   R   R   R   R
   R   R/   R   R8   t   afterDoctypePublicKeywordStatet   afterDoctypeSystemKeywordStatet   bogusDoctypeState(   R   RM   R   R   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   Y  sX    
 		
 		c         C` sś   |  i  i   } | t j o |  i |  _ nĖ | d	 j oB |  i i h t d d 6d d 6 |  i  i |  |  i |  _ n| | t	 j oR |  i i h t d d 6d d 6 t
 |  i d <|  i i |  i  |  i |  _ n |  i  i |  |  i |  _ t S(
   Nu   'u   "u
   ParseErroru   typeu   unexpected-char-in-doctypeu   datau   eof-in-doctypeu   correct(   u   'u   "(   R   R(   R   t"   beforeDoctypePublicIdentifierStateR   R#   R)   R   R/   R
   R   R   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR     s"    c         C` sq  |  i  i   } | t j o nN| d j o d |  i d <|  i |  _ n$| d j o d |  i d <|  i |  _ nś | d j oR |  i i h t	 d d 6d d	 6 t
 |  i d
 <|  i i |  i  |  i |  _ n | t j oR |  i i h t	 d d 6d d	 6 t
 |  i d
 <|  i i |  i  |  i |  _ n< |  i i h t	 d d 6d d	 6 t
 |  i d
 <|  i |  _ t S(   Nu   "u    u   publicIdu   'u   >u
   ParseErroru   typeu   unexpected-end-of-doctypeu   datau   correctu   eof-in-doctypeu   unexpected-char-in-doctype(   R   R(   R   R   t(   doctypePublicIdentifierDoubleQuotedStateR   t(   doctypePublicIdentifierSingleQuotedStateR#   R)   R   R   R   R
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR      s4    c         C` sG  |  i  i   } | d j o |  i |  _ n| d j o9 |  i i h t d d 6d d 6 |  i d c d 7<nŅ | d	 j oR |  i i h t d d 6d
 d 6 t |  i d <|  i i |  i  |  i	 |  _ ns | t
 j oR |  i i h t d d 6d d 6 t |  i d <|  i i |  i  |  i	 |  _ n |  i d c | 7<t S(   Nu   "u    u
   ParseErroru   typeu   invalid-codepointu   datau   publicIdu   ļæ½u   >u   unexpected-end-of-doctypeu   correctu   eof-in-doctype(   R   R(   t!   afterDoctypePublicIdentifierStateR   R#   R)   R   R   R   R   R
   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   ½  s*    c         C` sG  |  i  i   } | d j o |  i |  _ n| d j o9 |  i i h t d d 6d d 6 |  i d c d 7<nŅ | d	 j oR |  i i h t d d 6d
 d 6 t |  i d <|  i i |  i  |  i	 |  _ ns | t
 j oR |  i i h t d d 6d d 6 t |  i d <|  i i |  i  |  i	 |  _ n |  i d c | 7<t S(   Nu   'u    u
   ParseErroru   typeu   invalid-codepointu   datau   publicIdu   ļæ½u   >u   unexpected-end-of-doctypeu   correctu   eof-in-doctype(   R   R(   R   R   R#   R)   R   R   R   R   R
   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   Õ  s*    c         C` s  |  i  i   } | t j o |  i |  _ nc| d j o# |  i i |  i  |  i |  _ n3| d j o? |  i i h t	 d d 6d d 6 d |  i d <|  i
 |  _ nē | d	 j o? |  i i h t	 d d 6d d 6 d |  i d <|  i |  _ n | t j oR |  i i h t	 d d 6d
 d 6 t |  i d <|  i i |  i  |  i |  _ n< |  i i h t	 d d 6d d 6 t |  i d <|  i |  _ t S(   Nu   >u   "u
   ParseErroru   typeu   unexpected-char-in-doctypeu   datau    u   systemIdu   'u   eof-in-doctypeu   correct(   R   R(   R   t-   betweenDoctypePublicAndSystemIdentifiersStateR   R#   R)   R   R   R   t(   doctypeSystemIdentifierDoubleQuotedStatet(   doctypeSystemIdentifierSingleQuotedStateR
   R   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   ķ  s6    c         C` sB  |  i  i   } | t j o n| d j o# |  i i |  i  |  i |  _ nļ | d j o d |  i d <|  i |  _ nÅ | d j o d |  i d <|  i	 |  _ n | t
 j oR |  i i h t d d 6d d	 6 t |  i d
 <|  i i |  i  |  i |  _ n< |  i i h t d d 6d d	 6 t |  i d
 <|  i |  _ t S(   Nu   >u   "u    u   systemIdu   'u
   ParseErroru   typeu   eof-in-doctypeu   datau   correctu   unexpected-char-in-doctype(   R   R(   R   R#   R)   R   R   R   R   R   R
   R   R   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR     s.    c         C` sś   |  i  i   } | t j o |  i |  _ nĖ | d	 j oB |  i i h t d d 6d d 6 |  i  i |  |  i |  _ n| | t	 j oR |  i i h t d d 6d d 6 t
 |  i d <|  i i |  i  |  i |  _ n |  i  i |  |  i |  _ t S(
   Nu   'u   "u
   ParseErroru   typeu   unexpected-char-in-doctypeu   datau   eof-in-doctypeu   correct(   u   'u   "(   R   R(   R   t"   beforeDoctypeSystemIdentifierStateR   R#   R)   R   R/   R
   R   R   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   %  s"    c         C` sq  |  i  i   } | t j o nN| d j o d |  i d <|  i |  _ n$| d j o d |  i d <|  i |  _ nś | d j oR |  i i h t	 d d 6d d	 6 t
 |  i d
 <|  i i |  i  |  i |  _ n | t j oR |  i i h t	 d d 6d d	 6 t
 |  i d
 <|  i i |  i  |  i |  _ n< |  i i h t	 d d 6d d	 6 t
 |  i d
 <|  i |  _ t S(   Nu   "u    u   systemIdu   'u   >u
   ParseErroru   typeu   unexpected-char-in-doctypeu   datau   correctu   eof-in-doctype(   R   R(   R   R   R   R   R   R#   R)   R   R   R   R
   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   9  s4    c         C` sG  |  i  i   } | d j o |  i |  _ n| d j o9 |  i i h t d d 6d d 6 |  i d c d 7<nŅ | d	 j oR |  i i h t d d 6d
 d 6 t |  i d <|  i i |  i  |  i	 |  _ ns | t
 j oR |  i i h t d d 6d d 6 t |  i d <|  i i |  i  |  i	 |  _ n |  i d c | 7<t S(   Nu   "u    u
   ParseErroru   typeu   invalid-codepointu   datau   systemIdu   ļæ½u   >u   unexpected-end-of-doctypeu   correctu   eof-in-doctype(   R   R(   t!   afterDoctypeSystemIdentifierStateR   R#   R)   R   R   R   R   R
   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   V  s*    c         C` sG  |  i  i   } | d j o |  i |  _ n| d j o9 |  i i h t d d 6d d 6 |  i d c d 7<nŅ | d	 j oR |  i i h t d d 6d
 d 6 t |  i d <|  i i |  i  |  i	 |  _ ns | t
 j oR |  i i h t d d 6d d 6 t |  i d <|  i i |  i  |  i	 |  _ n |  i d c | 7<t S(   Nu   'u    u
   ParseErroru   typeu   invalid-codepointu   datau   systemIdu   ļæ½u   >u   unexpected-end-of-doctypeu   correctu   eof-in-doctype(   R   R(   R   R   R#   R)   R   R   R   R   R
   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   n  s*    c         C` sį   |  i  i   } | t j o n¾ | d j o# |  i i |  i  |  i |  _ n | t j oR |  i i h t	 d d 6d d 6 t
 |  i d <|  i i |  i  |  i |  _ n/ |  i i h t	 d d 6d d 6 |  i |  _ t S(   Nu   >u
   ParseErroru   typeu   eof-in-doctypeu   datau   correctu   unexpected-char-in-doctype(   R   R(   R   R#   R)   R   R   R   R
   R   R   R   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR     s     c         C` s   |  i  i   } | d j o# |  i i |  i  |  i |  _ nA | t j o3 |  i  i |  |  i i |  i  |  i |  _ n t	 S(   Nu   >(
   R   R(   R#   R)   R   R   R   R
   R/   R8   (   R   RM   (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR     s    c         C` sl  g  } x¬ t  o¤ | i |  i i d   | i |  i i d   |  i i   } | t j o Pq	 | d j p t  | d d d j o | d d  | d <Pq	 | i |  q	 Wd i |  } | i d  } | d j oO x6 t	 |  D]( } |  i
 i h t d	 d
 6d d 6 qķ W| i d d  } n | o& |  i
 i h t d d
 6| d 6 n |  i |  _ t  S(   Nu   ]u   >i’’’’iž’’’u   ]]u    u    i    u
   ParseErroru   typeu   invalid-codepointu   datau   ļæ½u
   Characters(   R8   R)   R   RL   R(   R
   t   AssertionErrorR+   t   countt   rangeR#   R   R   R   R   (   R   RM   R(   t	   nullCountt   i(    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR   §  s4      N(O   t   __name__t
   __module__t   __doc__R   R8   R   R'   R7   R   RE   RF   RI   R   RJ   RQ   RO   RS   RU   RV   RK   RX   RY   RP   R^   R_   RR   Rb   Rc   RT   Rd   Rf   Re   Rg   Rk   Ri   Rh   Rj   Rl   Rn   Rm   Ro   Rp   Rr   Rq   Rs   R[   Rt   Rv   Ru   R{   R}   R|   R~   R\   RZ   RW   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyR      s   			HP										#												
	
														7	 	"							-										3												N(   t
   __future__R    R   R   t   unichrR-   t	   NameErrort   collectionsR   t	   constantsR   R   R   R   R   R	   R
   R   R   R   t   inputstreamR   t   trieR   R9   t   objectR   (    (    (    sY   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/html5lib/tokenizer.pyt   <module>   s   
