File: //lib/python3/dist-packages/pymacaroons/__pycache__/utils.cpython-312.pyc
�
�%�Y� � � � d dl Z d dlmZ d dlZd dlZd dlmZmZ d� Zd� Z dd�Z
d� Zd� Zd � Z
d
� Zd� Zd� Zd
� Zd� Zd� Zd� Zd� Zd� Zy)� N)�sha256)� text_type�binary_typec � � | �y t | t � r| j d� S t | t � r| S t d� ��N�utf-8z!Must be a string or bytes object.)�
isinstancer �encoder � TypeError��string_or_bytess �3/usr/lib/python3/dist-packages/pymacaroons/utils.py�convert_to_bytesr sB � �����/�9�-��%�%�g�.�.� �O�[� 1����;�<�<� c � � | �y t | t � r| S t | t � r| j d� S t d� �r )r r r �decoder r s r �convert_to_stringr sB � �����/�9�-��� �O�[� 1��%�%�g�.�.��;�<�<r c � � |�d}t | � }t |� }||kD rt |d | � S ||k rt |d||z
z z � S | S )N� � )� bytearray�len�bytes)�byte_string�size�
byte_array�lengths r �truncate_or_padr s^ � ��|����;�'�J�
��_�F�
��}��Z���&�'�'� �$���Z�%��f��"5�5�6�6��r c � � t d| � S )Ns macaroons-key-generator)�hmac_digest)�keys r �generate_derived_keyr"