�
�S�g%U � �| � d dl Z d dlZddlmZ ddlmZmZmZ dZdZ dZ
d� Z G d� d e� Z
G d
� de
� Z G d� d
e� Z e� Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z ee� Zd� Z ee� Z G d� d e� Z G d!� d"e� Z e ed#� d� Z G d$� d%e
� Z G d&� d'e� Z G d(� d)e � Z! G d*� d+e � Z" G d,� d-e� Z#d4d.�Z$d4d/�Z% e� Z& ejN � Z(d0� Z)d1� Z*d2� Z+d3� Z,y)5� N� )�
allocate_lock)� CDefError�VerificationError�VerificationMissing� � c � � | t z rd|j � z }| t z rd|j � z }| t z rd|j � z }|S )Nz const z
volatile z __restrict )�Q_CONST�lstrip�
Q_VOLATILE�
Q_RESTRICT)�quals�replace_withs �z/build/snapcraft-certbot-29b1212f749eeba2f1dece1adfe9a83a/parts/certbot/install/lib/python3.12/site-packages/cffi/model.py�qualifyr sZ � ��w�� �<�#6�#6�#8�8���z��#�l�&9�&9�&;�;���z�� &��(;�(;�(=�=���� c �B � e Zd ZdZdZd
d�Zd� Zd� Zd� Zdd�Z d� Z
d� Zy )�BaseTypeByIdentityFc �@ � | j }|j d� dk( sJ �|j � }|r'|j d� r
d|v rd|z }n|d dvrd|z }t ||� }|j d|� }d |v r t
d
| j � �d|�d�� �|S )
N�&r �*z&[z(%s)r z[(� �$zcannot generate 'z' in z: unknown type name)�c_name_with_marker�count�strip�
startswithr �replacer �_get_c_name)�selfr �contextr �results r �
get_c_namezBaseTypeByIdentity.get_c_name s� � ��(�(���|�|�C� �A�%�%�%�#�)�)�+����&�&�s�+����%��4��!�!�_��,�"�\�1���u�l�3������\�2���&�=�#��#�#�%�w�0�1�
1� �
r c �: � | j j dd� S )Nr � )r r �r! s r r zBaseTypeByIdentity._get_c_name/ s � ��&�&�.�.�s�B�7�7r c �& |