HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-87-generic #88-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 09:28:41 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/cloudinit/analyze/__pycache__/dump.cpython-312.pyc
�

쑛h���^�UddlZddlZddlmZmZddlmZmZmZmZm	Z	m
Z
mZddlm
Z
mZmZdddddd	d
dd�Zeeefed
<dZdZdZdedefd�Zdefd�Zdedefd�Zdede	eeeffd�Z		dde	eede	edeeeeefeeffd�Zdefd�Zedk(ree��yy)�N)�datetime�timezone)�IO�Any�Dict�List�Optional�TextIO�Tuple)�
atomic_helper�subp�utilzfinished running cloud-initz%starting search for local datasourcesz!searching for network datasourceszrunning config moduleszfinalizing moduleszrunning modules forzrunning single module )�finishedz
init-local�init-network�initzmodules-configz
modules-final�modules�single�stage_to_descriptionz%Y-%m-%d %H:%M:%S,%fz%b %d %H:%M:%S.%f %Yz%b %d %H:%M:%S %Y�timestampstr�returnc�x�tdd�D�cgc]}tj|��}}|j�d|vr�t}d|vrt
}t
j|dztt
j�j�z|�jtj��}|j�}t#|�Sd|vrSt
j|t�jtj��}|j�}t#|�St!|�}t#|�Scc}w)N��
r�.� )�tzinfo�,)�range�calendar�
month_abbr�split�DEFAULT_FMT�CLOUD_INIT_JOURNALCTL_FMTr�strptime�str�now�year�replacer�utc�	timestamp�CLOUD_INIT_ASCTIME_FMT�parse_timestamp_from_date�float)r�m�months�FMT�dtr*s      �8/usr/lib/python3/dist-packages/cloudinit/analyze/dump.py�parse_timestampr3s��.3�A�r�l�
;��h�!�!�!�$�
;�F�
;�����A��&�(����,��+�C�
�
�
��3���X�\�\�^�%8�%8�!9�9��
��'����'�
&�	��L�L�N�	�����

��	�
�
�
�|�-C�
D�
L�
L��<�<�M�
���L�L�N�	�����.�l�;�	������-<s�D7c�H�dtjddg�jvS)z�GNU date includes a string containing the word GNU in it in
    help output. Posix date does not. Use this to indicate on Linux
    systems without GNU date that the extended parsing is not
    available.
    �GNU�datez--help)r
�stdout��r2�has_gnu_dater::s#���D�I�I�v�x�0�1�8�8�8�8r9c	��tj�stjd�rd}nt	�rd}ntd|�d���t
tj|ddd|g�jj��S)N�gdater6z-Unable to parse timestamp without GNU date: [�]z-uz+%s.%3Nz-d)	r�is_Linuxr
�whichr:�
ValueErrorr-r7�strip)rr6s  r2r,r,Css���=�=�?�t�z�z�'�2���	�����;�L�>��K�
�	
���	�	�4��y�$��=�>�E�E�K�K�M��r9�linec��d}dd|g}d}|D]
}||vs�d}n|sy|j�\}}|jd�r"dj|j�dd	�}d
|vrE|jd
�\}}|d|j�dzz
}d|vrt|j�d	}	n`|j�d	}	||k(r&|j�}|jd�
�d}n"|j|	�dj�}d|vrqd}
d|vr`|jd�dj	�}|jd�\}}
|jdd�jdd�}|dk(rd}nyt|}n9|j�dd\}}
}|j|�dj�}|jd�|t|�d|
jd�d�}|ddk(r]|jd�d}|j|�dj	d�j�}||d<|j�|d<|S)Nz cloud-init[z - z
 [CLOUDINIT] FT�:rr���rz,%sr)�maxsplit�
Cloud-init v.�start�runningz at �'��-rr��	cloudinit)�name�descriptionr*�origin�
event_typerR�finish�resultrP)	r!�endswith�joinrA�lstripr(r�rstripr3)rB�amazon_linux_2_sep�
separators�found�sep�timehost�eventstrr�extra�hostnamerR�stage_and_timestamp�
event_name�_�event_description�_pymodloglvl�eventrT�descs                   r2�parse_ci_loglinerhQs{��,(����*<�=�J��E�����$�;��E���
���:�:�c�?��X�x�������8�8�H�N�N�,�Q�r�2�3��
�h��&�n�n�S�1���e������
�a� 0�0�0���%�<��{�{�}�R�(�H��>�>�#�B�'���$�$�$�>�>�+�L��~�~�q�~�1�!�4�H�#�>�>�(�3�A�6�<�<�>�L��(�"��
��� �"*�.�.��";�A�">�"E�"E�"G��/�5�5�f�=�M�J��#�+�+�C��4�<�<�S�#�F�J��V�#�+�
��0��<��19���1A�!�A�1F�.��z�:�$�N�N�:�6�q�9�?�?�A���!�!�#�&�(�$�\�2�� �'�'��,�
�E�
�\��h�&�"�(�(��-�a�0�� �&�&�v�.�q�1�8�8��=�C�C�E�� ��h��#�z�z�|��m���Lr9�cisource�rawdatac�V�g}d}gd�}t||g�std��|�|j�}n|�|j�}D].}|D]'}||vs�	t	|�}|s�|j|��)�0||fS#t$r"t
jjd�Y�FwxYw)N)zstart:zfinish:rGz2Either cisource or rawdata parameters are requiredzSkipping invalid entry
)	�anyr@�
splitlines�	readlinesrh�sys�stderr�write�append)rirj�eventsrf�CI_EVENT_MATCHES�datarB�matchs        r2�dump_eventsrw�s����F��E�=����'�"�#��M�N�N����!�!�#��	�	��!�!�#���)��%�	)�E���}�A�,�T�2�E���M�M�%�(�	)�)��4�<���"�A��J�J�$�$�%?�@�A�s�A=�=(B(�'B(c���ttj�dkDrttjd�}ntj}tjt|��S)Nr)�lenro�argv�open�stdinr�
json_dumpsrw)ris r2�mainr~�sC��
�3�8�8�}�q��������,���9�9���#�#�K��$9�:�:r9�__main__)NN) rrorr�typingrrrrr	r
rrNrr
rrr%�__annotations__r+r#r"r-r3�boolr:r,rhrwr~�__name__�printr8r9r2�<module>r�s0���
�'�?�?�?�/�/�.�9�7�/�.�)�$�&�	(��d�3��8�n�	�0��3��"���#��%��69�d�9��C��E��S�3�S�8�D��c��N�#;�S�n#'�!���r�#�w���
�c�]���4��S�#�X����c��*�+��:;�c�;��z��	�$�&�M�r9