£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

Re	                 @   s   d  d l  m Z m Z m Z d  d l m Z y d  d l j j Z	 Wn$ e
 k
 rh d  d l j j Z	 Yn Xd d d d d g Z Gd	 d   d e  Z d
 d   Z d d   Z d d   Z d S)    )absolute_importdivisionunicode_literals)
ModuleTypeNdefault_etreeMethodDispatcherisSurrogatePairsurrogatePairToCodepointmoduleFactoryFactoryc               @   s1   e  Z d  Z d Z f  d d  Z d d   Z d S)r   ap  Dict with 2 special properties:

    On initiation, keys that are lists, sets or tuples are converted to
    multiple keys so accessing any one of the items in the original
    list-like object returns the matching value

    md = MethodDispatcher({("foo", "bar"):"baz"})
    md["foo"] == "baz"

    A default value which can be set through the default attribute.
    c             C   s   g  } xl | D]d \ } } t  |  t t t t f k r^ x7 | D] } | j | | f  q> Wq | j | | f  q Wt j |  |  d  |  _ d  S)N)	typelisttuple	frozensetsetappenddict__init__default)selfitems_dictEntriesnamevalueitem r   5/tmp/pip-ztkk0jow-build/pip/_vendor/html5lib/utils.pyr      s    zMethodDispatcher.__init__c             C   s   t  j |  | |  j  S)N)r   getr   )r   keyr   r   r   __getitem__*   s    zMethodDispatcher.__getitem__N)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s   c             C   sh   t  |   d k og t |  d  d k og t |  d  d k og t |  d  d k og t |  d  d k S)N   r   i   i     i   i  )lenord)datar   r   r   r   1   s    ,c             C   s2   d t  |  d  d d t  |  d  d } | S)Ni   r   i   i   r$   i   )r&   )r'   char_valr   r   r   r	   7   s    c                s   i      f d d   } | S)Nc                s   t  t j t d   r( d |  j } n d |  j } |  k rI  | St |  }   |  | |  } | j j |  |  | <| Sd  S)N z_%s_factorys   _%s_factory)
isinstancer   r   r   __dict__update)
baseModuleargskwargsr   modobjs)factorymoduleCacher   r   moduleFactoryC   s    
z+moduleFactoryFactory.<locals>.moduleFactoryr   )r2   r4   r   )r2   r3   r   r
   @   s    )
__future__r   r   r   typesr   xml.etree.cElementTreeetreecElementTreer   ImportErrorxml.etree.ElementTreeElementTree__all__r   r   r   r	   r
   r   r   r   r   <module>   s   	"	