File: //lib/python3.9/site-packages/elftools/construct/lib/__pycache__/container.cpython-39.opt-1.pyc
a
�#�_l � @ sj d Z ddlmZ ddlmZ ddd�ZG dd � d e�ZG d
d� de�ZG dd
� d
e�Z G dd� de
�ZdS )z
Various containers.
� ��pformat� )�MutableMapping�__recursion_lock__c s � �fdd�}|S )Nc s � ��fdd�}� j |_ |S )Nc
sT t | �d�r�S t| �d� z$� | g|�R i |��W t| �d� S t| �d� 0 d S )NFT)�getattr�setattr)�self�args�kw)�func� lock_name�retval� �D/usr/lib/python3.9/site-packages/elftools/construct/lib/container.py�wrapper
s �z2recursion_lock.<locals>.decorator.<locals>.wrapper)�__name__)r r �r
r )r r � decorator s z!recursion_lock.<locals>.decoratorr )r r
r r r r �recursion_lock s r c @ s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
e
Zdd� Zdd� Z
dd� Zdd� ZeZdd� Zdd� Zdd� ZdS )� Containerzg
A generic container of attributes.
Containers are the common way to express parsed data.
c K s
|| _ d S �N��__dict__)r r r r r �__init__ s zContainer.__init__c C s
| j | S r r �r �namer r r �__getitem__"