HEX
Server: LiteSpeed
System: Linux br-asc-web1845.main-hosting.eu 5.14.0-611.42.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 24 05:30:20 EDT 2026 x86_64
User: u790421558 (790421558)
PHP: 8.2.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //lib/python3.9/site-packages/elftools/construct/lib/__pycache__/container.cpython-39.opt-1.pyc
a

�#�_l�@sjdZddlmZddlmZddd�ZGdd	�d	e�ZGd
d�de�ZGdd
�d
e�Z	Gdd�de
�ZdS)z
Various containers.
���pformat�)�MutableMapping�__recursion_lock__cs��fdd�}|S)Ncs���fdd�}�j|_|S)Nc
sTt|�d�r�St|�d�z$�|g|�Ri|��Wt|�d�St|�d�0dS)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	sz!recursion_lock.<locals>.decoratorr)rr
rrrr�recursion_locksrc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
e
Zdd�Zdd�Z
dd�Zdd�ZeZdd�Zdd�Zdd�ZdS)�	Containerzg
    A generic container of attributes.

    Containers are the common way to express parsed data.
    cKs
||_dS�N��__dict__)r	rrrr�__init__szContainer.__init__cCs
|j|Srr�r	�namerrr�__getitem__"szContainer.__getitem__cCs|j|=dSrrrrrr�__delitem__%szContainer.__delitem__cCs||j|<dSrr)r	r�valuerrr�__setitem__(szContainer.__setitem__cCs
|j��Sr)r�keys�r	rrrr!+szContainer.keyscCst|j���Sr)�lenrr!r"rrr�__len__.szContainer.__len__cCs|j�|�dSr)r�update�r	�otherrrrr%3szContainer.updatecCs
||jvSrr)r	rrrr�__contains__8szContainer.__contains__cCs(z|j|jkWSty"YdS0dS�NF)r�AttributeErrorr&rrr�__eq__=szContainer.__eq__cCs
||kSrrr&rrr�__ne__CszContainer.__ne__cCs|jfi|j��Sr)�	__class__rr"rrr�copyHszContainer.copycCs
t|j�Sr)�iterrr"rrr�__iter__OszContainer.__iter__cCsd|jjt|j�fS�N�%s(%s))r-r�reprrr"rrr�__repr__RszContainer.__repr__cCsd|jjt|j�fSr1)r-r�strrr"rrr�__str__UszContainer.__str__N)r�
__module__�__qualname__�__doc__rrrr r!r$r%Z
__update__r(r+r,r.�__copy__r0r4r6rrrrrs"rc@s eZdZdZed�dd��ZdS)�FlagsContainerz]
    A container providing pretty-printing for flags.

    Only set flags are displayed.
    z<...>cs*t�fdd��D��}d�jjt|�fS)Nc3s,|]$}�|r|�d�s|�|fVqdS)�_N)�
startswith)�.0�kr"rr�	<genexpr>as�z)FlagsContainer.__str__.<locals>.<genexpr>r2)�dictr-rr)r	�drr"rr6_szFlagsContainer.__str__N)rr7r8r9rr6rrrrr;Xsr;c@s&eZdZdZdgZed�dd��ZdS)�
ListContainerz 
    A container for lists.
    rz[...]cCst|�Srrr"rrrr6lszListContainer.__str__N)rr7r8r9�	__slots__rr6rrrrrCesrCc@sjeZdZgd�Zdd�Zdd�Zdd�Zdd	�Zddd
�Zdd�Z	dd�Z
dd�Zee�Z
edd��ZdS)�
LazyContainer)�subcon�stream�pos�context�_valuecCs"||_||_||_||_t|_dSr)rFrGrHrI�NotImplementedrJ)r	rFrGrHrIrrrrts
zLazyContainer.__init__cCs(z|j|jkWSty"YdS0dSr))rJr*r&rrrr+{szLazyContainer.__eq__cCs
||kSrrr&rrrr,�szLazyContainer.__ne__cCs|��Sr)�__pretty_str__r"rrrr6�szLazyContainer.__str__r�    cCsF|jturd}n&t|jd�r,|j�||�}n
t|j�}d|jj|fS)Nz<unread>rLz%s: %s)rJrK�hasattrrLr5r-r)r	ZnestingZindentation�textrrrrL�s

zLazyContainer.__pretty_str__cCs |j�|j�|j�|j|j�Sr)rG�seekrHrF�_parserIr"rrr�read�szLazyContainer.readcCsd|_d|_d|_d|_dSr)rFrGrIrHr"rrr�dispose�szLazyContainer.disposecCs|jtur|��|_|jSr)rJrKrRr"rrr�
_get_value�s

zLazyContainer._get_valuecCs
|jtuSr)rJrKr"rrr�<lambda>��zLazyContainer.<lambda>N)rrM)rr7r8rDrr+r,r6rLrRrSrT�propertyrZ	has_valuerrrrrEps
	rEN)r)r9ZpprintrZ	py3compatrrrr;�listrC�objectrErrrr�<module>s
B