
    E0j>                     4    d dl Z d dlmZ  G d d          ZdS )    N)Unionc                   B    e Zd Zedeeef         dedefd            ZdS )Bytesdataencodingreturnc           	      b    |dk    r>t           t                    r                     d           t          j                   S |dk    r1t           t                    rt
                                         S n"|dk    rBt           t
                    r S t           t                    r                     d          S n|dk    r>t           t
                    r(                     d                              d          S n|dk    r>t           t
                    r(                     d                              d          S nR|dk    rLt           t                    r7t           fdt          dt                     d	          D                       S t          d
|           )Nbase64zutf-8hexzutf-16zutf-32binaryc              3   N   K   | ]}t          ||d z            d          V   dS )      N)int).0ir   s     ]/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/darabonba/utils/bytes.py	<genexpr>zBytes.from_.<locals>.<genexpr>   s9      QQQSa!ea00QQQQQQ    r   r   zUnsupported encoding: )
isinstancestrencoder
   	b64decodebytesfromhexdecoderangelen
ValueError)r   r   s   ` r   from_zBytes.from_   s   x$$$ ,{{7++#D)))$$$ +}}T***+  $&& $$$ ,{{7+++,!!$&& >{{8,,33H===>!!$&& >{{8,,33H===>!!$$$ RQQQQ%3t99a:P:PQQQQQQ<(<<===r   N)__name__
__module____qualname__staticmethodr   r   r   r     r   r   r   r      sP        >E#u*% > > > > > \> > >r   r   )r
   typingr   r   r%   r   r   <module>r'      sR          > > > > > > > > > >r   