HEX
Server: LiteSpeed
System: Linux s787.bom1.mysecurecloudhost.com 4.18.0-477.13.1.lve.el8.x86_64 #1 SMP Thu Jun 1 16:40:47 EDT 2023 x86_64
User: mobilech (5348)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/odict.cpython-310.pyc
o

;j2	�@sTdZddlZddlmZddlmZddlmZGdd�de�ZGdd	�d	e�Z	dS)
a-
    :codeauthor: Pedro Algarvio (pedro@algarvio.me)


    salt.utils.odict
    ~~~~~~~~~~~~~~~~

    Implements a DefaultOrderedDict Class that serves as a
    combination of ``OrderedDict`` and ``defaultdict``
    Its source was submitted here::

        http://stackoverflow.com/questions/6190331/
�N)�OrderedDict)�Callable)�
warn_untilcsbeZdZdZd�fdd�	Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
if�fdd�	Z�ZS)�DefaultOrderedDictz3
    Dictionary that remembers insertion order
    Ncs@tdd�|durt|t�std��t�j|i|��||_dS)N��sThis module is deprecated. Use the standard library's collections.OrderedDict or salt.utils.datastructures instead.zfirst argument must be callable)r�
isinstancer�	TypeError�super�__init__�default_factory)�selfr�a�kw��	__class__��D/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/odict.pyrs�
zDefaultOrderedDict.__init__cCs,zt�||�WSty|�|�YSw�N)r�__getitem__�KeyError�__missing__)r
�keyrrrr&s
�zDefaultOrderedDict.__getitem__cCs&|jdur	t|��|��||<}|Sr)rr)r
r�valuerrrr,s
zDefaultOrderedDict.__missing__cCs0|jdur	t�}n|jf}t|�|dd|��fSr)r�tuple�type�items)r
�argsrrr�
__reduce__2s
zDefaultOrderedDict.__reduce__cCs
t�|�Sr)�copy�r
rrrr9s
zDefaultOrderedDict.copycCst|�|j|�Sr)rrr rrr�__copy__<szDefaultOrderedDict.__copy__cCs"ddl}t|�|j|�|����S)Nr)rrr�deepcopyr)r
rrrr�__deepcopy__?szDefaultOrderedDict.__deepcopy__csd�|jt����S)NzDefaultOrderedDict({}, {}))�formatrr
�__repr__)r
Z
_repr_runningrrrr%Ds�zDefaultOrderedDict.__repr__r)
�__name__�
__module__�__qualname__�__doc__rrrrrr!r#r%�
__classcell__rrrrrsrcs$eZdZ�fdd�Zdd�Z�ZS)�HashableOrderedDictcstdd�t���dS)Nrr)rr
rr rrrrKs
�zHashableOrderedDict.__init__cCst|�Sr)�idr rrr�__hash__SszHashableOrderedDict.__hash__)r&r'r(rr-r*rrrrr+Jsr+)
r)r�collectionsr�collections.abcrZsalt.utils.versionsrrr+rrrr�<module>s4