+
    |f                         ^ RI Ht ^ RIHt ^ RIHu Ht . ROt ]	! R4      t
]! ]
]4      '       g   ]	! R4      t
]! ]
]4      '       g   Q hRt ! R	 R]4      t ! R
 R]4      tR tR tR tR#   ] d    Rt L,i ; i)    )
ModuleType)MappingNMethodDispatcherz"\uD800"z	u"\uD800"TFc                   >   a  ] tR t^ t o RtRR ltR tRR ltRtV t	R# )	r   aT  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                8   . pV FZ  w  r4\        V\        \        \        \        34      '       d   V F  pVP                  WT34       K  	  KH  VP                  W434       K\  	  \        P                  W4       \        V 4      \        V4      8X  g   Q hR V n	        R # N)

isinstancelisttuple	frozensetsetappenddict__init__lendefault)selfitems_dictEntriesnamevalueitems   &&    1/usr/lib/python3/dist-packages/html5lib/_utils.pyr   MethodDispatcher.__init__-   s     KD$ui =>> D ''6 ! ##TM2 ! 	d)4yC----    c                B    \         P                  WV P                  4      # r   )r   getr   r   keys   &&r   __getitem__MethodDispatcher.__getitem__9   s    xx4<<00r   Nc                    \        W4      # r   )BoundMethodDispatcher)r   instanceowners   &&&r   __get__MethodDispatcher.__get__<   s    $X44r   )r   ) r   )
__name__
__module____qualname____firstlineno____doc__r   r    r&   __static_attributes____classdictcell____classdict__s   @r   r   r       s     

15 5r   c                   H   a  ] tR t^@t o RtR tR tR tR tR t	R t
RtV tR	# )
r#   zAWraps a MethodDispatcher, binding its return values to `instance`c                    Wn         W n        R # r   )r$   
dispatcher)r   r$   r4   s   &&&r   r   BoundMethodDispatcher.__init__B   s     $r   c                Z    V P                   V,          P                  V P                  4      # r   )r4   r&   r$   r   s   &&r   r    !BoundMethodDispatcher.__getitem__F   s"     s#++DMM::r   c                6    WP                   9   d	   W,          # V# r   r4   )r   r   r   s   &&&r   r   BoundMethodDispatcher.getK   s    //!9Nr   c                ,    \        V P                  4      # r   )iterr4   r   s   &r   __iter__BoundMethodDispatcher.__iter__Q   s    DOO$$r   c                ,    \        V P                  4      # r   )r   r4   r=   s   &r   __len__BoundMethodDispatcher.__len__T   s    4??##r   c                    WP                   9   # r   r9   r   s   &&r   __contains__"BoundMethodDispatcher.__contains__W   s    oo%%r   )r4   r$   N)r)   r*   r+   r,   r-   r   r    r   r>   rA   rD   r.   r/   r0   s   @r   r#   r#   @   s+     K%;
%$& &r   r#   c                    \        V 4      ^8H  ;'       dm    \        V ^ ,          4      R8  ;'       dP    \        V ^ ,          4      R8*  ;'       d3    \        V ^,          4      R8  ;'       d    \        V ^,          4      R8*  # )      i     i  )r   ord)datas   &r   isSurrogatePairrL   ^   sz    IN > >QLF"> >'*47|v'=> >QLF"> >'*47|v'=?r   c                     R \        V ^ ,          4      R,
          R,          ,           \        V ^,          4      R,
          ,           pV# )i   rH   i   rI   )rJ   )rK   char_vals   & r   surrogatePairToCodepointrO   d   s8    3tAw<&0E99T!W&(HOr   c                    a a / oV V3R  lpV# )c                 H  < \        \        P                  \        4      '       d   R V P                  ,          pMRV P                  ,          p\	        VP                  4       4      p SV,          V,          V,          #   \         d    \        T4      pS! T .TO5/ TB pTP                  P                  T4       RS9  d   / ST&   RST,          9  d   / ST,          T&   RST,          T,          9  d   / ST,          T,          T&   TST,          T,          T&   Tu # i ; i)z_%s_factorys   _%s_factoryr   argskwargs)	r	   r   r)   strr   r   KeyError__dict__update)	
baseModulerR   rS   r   kwargs_tuplemodobjsfactorymoduleCaches	   &*,    r   moduleFactory+moduleFactoryFactory.<locals>.moduleFactoryp   s   j))3// :#6#66D!J$7$77DV\\^,	t$T*<88 	T"C:777DLL%[($&D![..*,D!$'{40668:D!$'547Kd#L1J	s   'A> >B D! D!r(   )r\   r^   r]   s   f @r   moduleFactoryFactoryr`   m   s    K. r   )default_etreer   rL   rO   r`   supports_lone_surrogates)typesr   collections.abcr   xml.etree.ElementTreeetreeElementTreera   __all__eval_xr	   rT   rb   	Exceptionr   r   r#   rL   rO   r`   r(   r   r   <module>rl      s     # - -'	$	k	Bb#,"c""""  $5t 5@&G &<?g  %$%s   -A. 	A. .	A:9A: