+
    |f                     4    ^ RI Ht ^RIHt  ! R R]4      tR# )    )bisect_left)Triec                   N   a  ] tR t^t o R tR tR tR tR tR
R lt	R t
R	tV tR# )r   c                B   \         ;QJ d*    R  VP                  4        4       F  '       d   K   RM	  RM! R  VP                  4        4       4      '       g   \        R4      hWn        \	        VP                  4       4      V n        RV n        ^ \        V4      3V n        R# )c              3   B   "   T F  p\        V\        4      x  K  	  R # 5iN)
isinstancestr).0xs   & 3/usr/lib/python3/dist-packages/html5lib/_trie/py.py	<genexpr> Trie.__init__.<locals>.<genexpr>   s     ;{!:a%%{s   FTzAll keys must be strings N)	allkeys	TypeError_datasorted_keys	_cachestrlen_cachepoints)selfdatas   &&r   __init__Trie.__init__   si    s;tyy{;sss;tyy{;;;677
DIIK(
D	N    c                    WP                   9   # r   r   r   keys   &&r   __contains__Trie.__contains__   s    jj  r   c                ,    \        V P                  4      # r   )r   r   r   s   &r   __len__Trie.__len__   s    4::r   c                ,    \        V P                  4      # r   )iterr   r&   s   &r   __iter__Trie.__iter__   s    DJJr   c                (    V P                   V,          # r   r    r!   s   &&r   __getitem__Trie.__getitem__   s    zz#r   Nc                :   Ve   VR8X  g   V P                   '       g   \        V P                   4      # VP                  V P                  4      '       d(   V P                  w  r#\        V P                   WV4      ;rEM\        V P                   V4      ;rE\        4       pV\        V P                   4      8X  d   V# V P                   V,          P                  V4      '       d.   VP                  V P                   V,          4       V^,          pKU  Wn        WE3V n        V# )Nr   )r   set
startswithr   r   r   r   add)r   prefixlohistartir   s   &&     r   r   	Trie.keys   s    >Vr\tzz?"T^^,,&&FB#DJJB??EA#DJJ77EuC

O#Kjjm&&v..HHTZZ]#FA"Jr   c                \   WP                   9   d   R # VP                  V P                  4      '       d'   V P                  w  r#\	        V P
                  WV4      pM\	        V P
                  V4      pV\        V P
                  4      8X  d   R# V P
                  V,          P                  V4      # )TF)r   r2   r   r   r   r   r   )r   r4   r5   r6   r8   s   &&   r   has_keys_with_prefixTrie.has_keys_with_prefix3   s    ZZT^^,,&&FBDJJB7ADJJ/ADJJzz!}''//r   )r   r   r   r   r   )__name__
__module____qualname____firstlineno__r   r#   r'   r+   r.   r   r;   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s-     +! .0 0r   r   N)bisectr   _baser   ABCTrie r   r   <module>rH      s     ":07 :0r   