o
    ɶdtz                     @   s8   d dl mZmZmZ d dlmZ eG dd deZdS )    )formatted_flat_dictNONE_SENTINEL#value_allowed_none_or_none_sentinel)init_model_state_from_kwargsc                   @   sD  e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdd Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd  Zejd!d  Zed"d# Zejd$d# Zed%d& Zejd'd& Zed(d) Zejd*d) Zed+d, Zejd-d, Zed.d/ Zejd0d/ Zed1d2 Z e jd3d2 Z ed4d5 Z!e!jd6d5 Z!ed7d8 Z"e"jd9d8 Z"ed:d; Z#e#jd<d; Z#ed=d> Z$e$jd?d> Z$ed@dA Z%e%jdBdA Z%edCdD Z&e&jdEdD Z&edFdG Z'e'jdHdG Z'edIdJ Z(e(jdKdJ Z(edLdM Z)e)jdNdM Z)edOdP Z*e*jdQdP Z*edRdS Z+e+jdTdS Z+edUdV Z,e,jdWdV Z,edXdY Z-e-jdZdY Z-ed[d\ Z.e.jd]d\ Z.ed^d_ Z/e/jd`d_ Z/edadb Z0e0jdcdb Z0eddde Z1e1jdfde Z1dgdh Z2didj Z3dkdl Z4dmS )nProblemz
    Problem Definition.
    CRITICALHIGHMEDIUMLOWMINORACTIVEINACTIVEOPENRESOLVED	DISMISSEDDELETEDIAAS_ACTIVITY_DETECTORIAAS_CONFIGURATION_DETECTORIAAS_THREAT_DETECTORIAAS_LOG_INSIGHT_DETECTORc                 K   s  i ddddddddddddd	d
dddd
dddddddddddddddddddddddddddd| _ i ddddddddddddd	ddddddddd dd!dd"dd#dddd$dd%d&d'd(d)d*d+d,d-d.d/d0d| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _	d1| _
d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1| _d1S )2a{  
        Initializes a new Problem object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param id:
            The value to assign to the id property of this Problem.
        :type id: str

        :param compartment_id:
            The value to assign to the compartment_id property of this Problem.
        :type compartment_id: str

        :param detector_rule_id:
            The value to assign to the detector_rule_id property of this Problem.
        :type detector_rule_id: str

        :param region:
            The value to assign to the region property of this Problem.
        :type region: str

        :param regions:
            The value to assign to the regions property of this Problem.
        :type regions: list[str]

        :param risk_level:
            The value to assign to the risk_level property of this Problem.
            Allowed values for this property are: "CRITICAL", "HIGH", "MEDIUM", "LOW", "MINOR", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type risk_level: str

        :param risk_score:
            The value to assign to the risk_score property of this Problem.
        :type risk_score: float

        :param peak_risk_score_date:
            The value to assign to the peak_risk_score_date property of this Problem.
        :type peak_risk_score_date: str

        :param peak_risk_score:
            The value to assign to the peak_risk_score property of this Problem.
        :type peak_risk_score: float

        :param auto_resolve_date:
            The value to assign to the auto_resolve_date property of this Problem.
        :type auto_resolve_date: str

        :param peak_risk_score_lookup_period_in_days:
            The value to assign to the peak_risk_score_lookup_period_in_days property of this Problem.
        :type peak_risk_score_lookup_period_in_days: int

        :param resource_id:
            The value to assign to the resource_id property of this Problem.
        :type resource_id: str

        :param resource_name:
            The value to assign to the resource_name property of this Problem.
        :type resource_name: str

        :param resource_type:
            The value to assign to the resource_type property of this Problem.
        :type resource_type: str

        :param labels:
            The value to assign to the labels property of this Problem.
        :type labels: list[str]

        :param time_last_detected:
            The value to assign to the time_last_detected property of this Problem.
        :type time_last_detected: datetime

        :param time_first_detected:
            The value to assign to the time_first_detected property of this Problem.
        :type time_first_detected: datetime

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this Problem.
            Allowed values for this property are: "ACTIVE", "INACTIVE", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type lifecycle_state: str

        :param lifecycle_detail:
            The value to assign to the lifecycle_detail property of this Problem.
            Allowed values for this property are: "OPEN", "RESOLVED", "DISMISSED", "DELETED", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type lifecycle_detail: str

        :param detector_id:
            The value to assign to the detector_id property of this Problem.
            Allowed values for this property are: "IAAS_ACTIVITY_DETECTOR", "IAAS_CONFIGURATION_DETECTOR", "IAAS_THREAT_DETECTOR", "IAAS_LOG_INSIGHT_DETECTOR", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type detector_id: str

        :param target_id:
            The value to assign to the target_id property of this Problem.
        :type target_id: str

        :param additional_details:
            The value to assign to the additional_details property of this Problem.
        :type additional_details: dict(str, str)

        :param description:
            The value to assign to the description property of this Problem.
        :type description: str

        :param recommendation:
            The value to assign to the recommendation property of this Problem.
        :type recommendation: str

        :param comment:
            The value to assign to the comment property of this Problem.
        :type comment: str

        :param impacted_resource_id:
            The value to assign to the impacted_resource_id property of this Problem.
        :type impacted_resource_id: str

        :param impacted_resource_name:
            The value to assign to the impacted_resource_name property of this Problem.
        :type impacted_resource_name: str

        :param impacted_resource_type:
            The value to assign to the impacted_resource_type property of this Problem.
        :type impacted_resource_type: str

        idstrcompartment_iddetector_rule_idregionregionsz	list[str]
risk_level
risk_scorefloatpeak_risk_score_datepeak_risk_scoreauto_resolve_date%peak_risk_score_lookup_period_in_daysintresource_idresource_nameresource_typelabelstime_last_detecteddatetimetime_first_detectedzdict(str, str))lifecycle_statelifecycle_detaildetector_id	target_idadditional_detailsdescriptionrecommendationcommentimpacted_resource_idimpacted_resource_nameimpacted_resource_typeZcompartmentIdZdetectorRuleIdZ	riskLevelZ	riskScoreZpeakRiskScoreDateZpeakRiskScoreZautoResolveDateZpeakRiskScoreLookupPeriodInDaysZ
resourceIdZresourceNameZresourceTypeZtimeLastDetectedZtimeFirstDetectedZlifecycleStateZlifecycleDetailZ
detectorIdZtargetIdZadditionalDetailsr0   r1   r2   ZimpactedResourceIdZimpactedResourceNameZimpactedResourceTypeN)Zswagger_typesZattribute_map_id_compartment_id_detector_rule_id_region_regions_risk_level_risk_score_peak_risk_score_date_peak_risk_score_auto_resolve_date&_peak_risk_score_lookup_period_in_days_resource_id_resource_name_resource_type_labels_time_last_detected_time_first_detected_lifecycle_state_lifecycle_detail_detector_id
_target_id_additional_details_description_recommendation_comment_impacted_resource_id_impacted_resource_name_impacted_resource_type)selfkwargs rT   Busr/lib/python3.10/site-packages/oci/cloud_guard/models/problem.py__init__N   s   ~	

	


zProblem.__init__c                 C      | j S )z
        **[Required]** Gets the id of this Problem.
        Unique identifier that is immutable on creation


        :return: The id of this Problem.
        :rtype: str
        r6   rR   rT   rT   rU   r   '     
z
Problem.idc                 C   
   || _ dS )z
        Sets the id of this Problem.
        Unique identifier that is immutable on creation


        :param id: The id of this Problem.
        :type: str
        NrX   )rR   r   rT   rT   rU   r   3     

c                 C   rW   )z
        **[Required]** Gets the compartment_id of this Problem.
        Compartment Identifier where the resource is created


        :return: The compartment_id of this Problem.
        :rtype: str
        r7   rY   rT   rT   rU   r   ?  rZ   zProblem.compartment_idc                 C   r[   )z
        Sets the compartment_id of this Problem.
        Compartment Identifier where the resource is created


        :param compartment_id: The compartment_id of this Problem.
        :type: str
        Nr]   )rR   r   rT   rT   rU   r   K  r\   c                 C   rW   )z
        Gets the detector_rule_id of this Problem.
        Identifier of the rule


        :return: The detector_rule_id of this Problem.
        :rtype: str
        r8   rY   rT   rT   rU   r   W  rZ   zProblem.detector_rule_idc                 C   r[   )z
        Sets the detector_rule_id of this Problem.
        Identifier of the rule


        :param detector_rule_id: The detector_rule_id of this Problem.
        :type: str
        Nr^   )rR   r   rT   rT   rU   r   c  r\   c                 C   rW   )z
        Gets the region of this Problem.
        DEPRECATED


        :return: The region of this Problem.
        :rtype: str
        r9   rY   rT   rT   rU   r   o  rZ   zProblem.regionc                 C   r[   )z
        Sets the region of this Problem.
        DEPRECATED


        :param region: The region of this Problem.
        :type: str
        Nr_   )rR   r   rT   rT   rU   r   {  r\   c                 C   rW   )z
        Gets the regions of this Problem.
        Regions where the problem is found


        :return: The regions of this Problem.
        :rtype: list[str]
        r:   rY   rT   rT   rU   r     rZ   zProblem.regionsc                 C   r[   )z
        Sets the regions of this Problem.
        Regions where the problem is found


        :param regions: The regions of this Problem.
        :type: list[str]
        Nr`   )rR   r   rT   rT   rU   r     r\   c                 C   rW   )ae  
        Gets the risk_level of this Problem.
        The Risk Level

        Allowed values for this property are: "CRITICAL", "HIGH", "MEDIUM", "LOW", "MINOR", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The risk_level of this Problem.
        :rtype: str
        )r;   rY   rT   rT   rU   r        zProblem.risk_levelc                 C       g d}t ||sd}|| _dS )z
        Sets the risk_level of this Problem.
        The Risk Level


        :param risk_level: The risk_level of this Problem.
        :type: str
        )r   r   r	   r
   r   UNKNOWN_ENUM_VALUEN)r   r;   )rR   r   allowed_valuesrT   rT   rU   r        


c                 C   rW   )z
        Gets the risk_score of this Problem.
        Risk Score for the problem


        :return: The risk_score of this Problem.
        :rtype: float
        r<   rY   rT   rT   rU   r     rZ   zProblem.risk_scorec                 C   r[   )z
        Sets the risk_score of this Problem.
        Risk Score for the problem


        :param risk_score: The risk_score of this Problem.
        :type: float
        Nrf   )rR   r   rT   rT   rU   r     r\   c                 C   rW   )z
        Gets the peak_risk_score_date of this Problem.
        The date and time for the peak risk score that is observed. Format defined by RFC3339.


        :return: The peak_risk_score_date of this Problem.
        :rtype: str
        r=   rY   rT   rT   rU   r     rZ   zProblem.peak_risk_score_datec                 C   r[   )a  
        Sets the peak_risk_score_date of this Problem.
        The date and time for the peak risk score that is observed. Format defined by RFC3339.


        :param peak_risk_score_date: The peak_risk_score_date of this Problem.
        :type: str
        Nrg   )rR   r   rT   rT   rU   r     r\   c                 C   rW   )z
        Gets the peak_risk_score of this Problem.
        Peak risk score for the problem


        :return: The peak_risk_score of this Problem.
        :rtype: float
        r>   rY   rT   rT   rU   r      rZ   zProblem.peak_risk_scorec                 C   r[   )z
        Sets the peak_risk_score of this Problem.
        Peak risk score for the problem


        :param peak_risk_score: The peak_risk_score of this Problem.
        :type: float
        Nrh   )rR   r    rT   rT   rU   r      r\   c                 C   rW   )z
        Gets the auto_resolve_date of this Problem.
        The date and time when the problem will be auto resolved. Format defined by RFC3339.


        :return: The auto_resolve_date of this Problem.
        :rtype: str
        r?   rY   rT   rT   rU   r!     rZ   zProblem.auto_resolve_datec                 C   r[   )z
        Sets the auto_resolve_date of this Problem.
        The date and time when the problem will be auto resolved. Format defined by RFC3339.


        :param auto_resolve_date: The auto_resolve_date of this Problem.
        :type: str
        Nri   )rR   r!   rT   rT   rU   r!     r\   c                 C   rW   )z
        Gets the peak_risk_score_lookup_period_in_days of this Problem.
        Number of days for which peak score is calculated for the problem


        :return: The peak_risk_score_lookup_period_in_days of this Problem.
        :rtype: int
        r@   rY   rT   rT   rU   r"     rZ   z-Problem.peak_risk_score_lookup_period_in_daysc                 C   r[   )a!  
        Sets the peak_risk_score_lookup_period_in_days of this Problem.
        Number of days for which peak score is calculated for the problem


        :param peak_risk_score_lookup_period_in_days: The peak_risk_score_lookup_period_in_days of this Problem.
        :type: int
        Nrj   )rR   r"   rT   rT   rU   r"   )  r\   c                 C   rW   )z
        Gets the resource_id of this Problem.
        Identifier of the Resource


        :return: The resource_id of this Problem.
        :rtype: str
        rA   rY   rT   rT   rU   r$   5  rZ   zProblem.resource_idc                 C   r[   )z
        Sets the resource_id of this Problem.
        Identifier of the Resource


        :param resource_id: The resource_id of this Problem.
        :type: str
        Nrk   )rR   r$   rT   rT   rU   r$   A  r\   c                 C   rW   )z
        Gets the resource_name of this Problem.
        DisplayName of the Resource


        :return: The resource_name of this Problem.
        :rtype: str
        rB   rY   rT   rT   rU   r%   M  rZ   zProblem.resource_namec                 C   r[   )z
        Sets the resource_name of this Problem.
        DisplayName of the Resource


        :param resource_name: The resource_name of this Problem.
        :type: str
        Nrl   )rR   r%   rT   rT   rU   r%   Y  r\   c                 C   rW   )z
        Gets the resource_type of this Problem.
        Type of the Resource


        :return: The resource_type of this Problem.
        :rtype: str
        rC   rY   rT   rT   rU   r&   e  rZ   zProblem.resource_typec                 C   r[   )z
        Sets the resource_type of this Problem.
        Type of the Resource


        :param resource_type: The resource_type of this Problem.
        :type: str
        Nrm   )rR   r&   rT   rT   rU   r&   q  r\   c                 C   rW   )z
        Gets the labels of this Problem.
        user defined labels on the problem


        :return: The labels of this Problem.
        :rtype: list[str]
        rD   rY   rT   rT   rU   r'   }  rZ   zProblem.labelsc                 C   r[   )z
        Sets the labels of this Problem.
        user defined labels on the problem


        :param labels: The labels of this Problem.
        :type: list[str]
        Nrn   )rR   r'   rT   rT   rU   r'     r\   c                 C   rW   )z
        Gets the time_last_detected of this Problem.
        The date and time the problem was last detected. Format defined by RFC3339.


        :return: The time_last_detected of this Problem.
        :rtype: datetime
        rE   rY   rT   rT   rU   r(     rZ   zProblem.time_last_detectedc                 C   r[   )z
        Sets the time_last_detected of this Problem.
        The date and time the problem was last detected. Format defined by RFC3339.


        :param time_last_detected: The time_last_detected of this Problem.
        :type: datetime
        Nro   )rR   r(   rT   rT   rU   r(     r\   c                 C   rW   )z
        Gets the time_first_detected of this Problem.
        The date and time the problem was first detected. Format defined by RFC3339.


        :return: The time_first_detected of this Problem.
        :rtype: datetime
        rF   rY   rT   rT   rU   r*     rZ   zProblem.time_first_detectedc                 C   r[   )z
        Sets the time_first_detected of this Problem.
        The date and time the problem was first detected. Format defined by RFC3339.


        :param time_first_detected: The time_first_detected of this Problem.
        :type: datetime
        Nrp   )rR   r*   rT   rT   rU   r*     r\   c                 C   rW   )aj  
        Gets the lifecycle_state of this Problem.
        The current state of the Problem.

        Allowed values for this property are: "ACTIVE", "INACTIVE", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The lifecycle_state of this Problem.
        :rtype: str
        )rG   rY   rT   rT   rU   r+     ra   zProblem.lifecycle_statec                 C   s    ddg}t ||sd}|| _dS )z
        Sets the lifecycle_state of this Problem.
        The current state of the Problem.


        :param lifecycle_state: The lifecycle_state of this Problem.
        :type: str
        r   r   rc   N)r   rG   )rR   r+   rd   rT   rT   rU   r+     re   c                 C   rW   )a  
        Gets the lifecycle_detail of this Problem.
        The lifecycleDetail will give more detail on the substate of the lifecycleState.

        Allowed values for this property are: "OPEN", "RESOLVED", "DISMISSED", "DELETED", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The lifecycle_detail of this Problem.
        :rtype: str
        )rH   rY   rT   rT   rU   r,     ra   zProblem.lifecycle_detailc                 C   rb   )z
        Sets the lifecycle_detail of this Problem.
        The lifecycleDetail will give more detail on the substate of the lifecycleState.


        :param lifecycle_detail: The lifecycle_detail of this Problem.
        :type: str
        )r   r   r   r   rc   N)r   rH   )rR   r,   rd   rT   rT   rU   r,     re   c                 C   rW   )a  
        Gets the detector_id of this Problem.
        Id of the detector associated with the Problem.

        Allowed values for this property are: "IAAS_ACTIVITY_DETECTOR", "IAAS_CONFIGURATION_DETECTOR", "IAAS_THREAT_DETECTOR", "IAAS_LOG_INSIGHT_DETECTOR", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The detector_id of this Problem.
        :rtype: str
        )rI   rY   rT   rT   rU   r-     ra   zProblem.detector_idc                 C   rb   )z
        Sets the detector_id of this Problem.
        Id of the detector associated with the Problem.


        :param detector_id: The detector_id of this Problem.
        :type: str
        )r   r   r   r   rc   N)r   rI   )rR   r-   rd   rT   rT   rU   r-     re   c                 C   rW   )z
        Gets the target_id of this Problem.
        targetId of the problem


        :return: The target_id of this Problem.
        :rtype: str
        rJ   rY   rT   rT   rU   r.     rZ   zProblem.target_idc                 C   r[   )z
        Sets the target_id of this Problem.
        targetId of the problem


        :param target_id: The target_id of this Problem.
        :type: str
        Nrq   )rR   r.   rT   rT   rU   r.   +  r\   c                 C   rW   )z
        Gets the additional_details of this Problem.
        The additional details of the Problem


        :return: The additional_details of this Problem.
        :rtype: dict(str, str)
        rK   rY   rT   rT   rU   r/   7  rZ   zProblem.additional_detailsc                 C   r[   )z
        Sets the additional_details of this Problem.
        The additional details of the Problem


        :param additional_details: The additional_details of this Problem.
        :type: dict(str, str)
        Nrr   )rR   r/   rT   rT   rU   r/   C  r\   c                 C   rW   )z
        Gets the description of this Problem.
        Description of the problem


        :return: The description of this Problem.
        :rtype: str
        rL   rY   rT   rT   rU   r0   O  rZ   zProblem.descriptionc                 C   r[   )z
        Sets the description of this Problem.
        Description of the problem


        :param description: The description of this Problem.
        :type: str
        Nrs   )rR   r0   rT   rT   rU   r0   [  r\   c                 C   rW   )z
        Gets the recommendation of this Problem.
        Recommendation for the problem


        :return: The recommendation of this Problem.
        :rtype: str
        rM   rY   rT   rT   rU   r1   g  rZ   zProblem.recommendationc                 C   r[   )z
        Sets the recommendation of this Problem.
        Recommendation for the problem


        :param recommendation: The recommendation of this Problem.
        :type: str
        Nrt   )rR   r1   rT   rT   rU   r1   s  r\   c                 C   rW   )z
        Gets the comment of this Problem.
        User Comments


        :return: The comment of this Problem.
        :rtype: str
        rN   rY   rT   rT   rU   r2     rZ   zProblem.commentc                 C   r[   )z
        Sets the comment of this Problem.
        User Comments


        :param comment: The comment of this Problem.
        :type: str
        Nru   )rR   r2   rT   rT   rU   r2     r\   c                 C   rW   )z
        Gets the impacted_resource_id of this Problem.
        Identifier of the impacted Resource


        :return: The impacted_resource_id of this Problem.
        :rtype: str
        rO   rY   rT   rT   rU   r3     rZ   zProblem.impacted_resource_idc                 C   r[   )z
        Sets the impacted_resource_id of this Problem.
        Identifier of the impacted Resource


        :param impacted_resource_id: The impacted_resource_id of this Problem.
        :type: str
        Nrv   )rR   r3   rT   rT   rU   r3     r\   c                 C   rW   )z
        Gets the impacted_resource_name of this Problem.
        DisplayName of the impacted  Resource


        :return: The impacted_resource_name of this Problem.
        :rtype: str
        rP   rY   rT   rT   rU   r4     rZ   zProblem.impacted_resource_namec                 C   r[   )z
        Sets the impacted_resource_name of this Problem.
        DisplayName of the impacted  Resource


        :param impacted_resource_name: The impacted_resource_name of this Problem.
        :type: str
        Nrw   )rR   r4   rT   rT   rU   r4     r\   c                 C   rW   )z
        Gets the impacted_resource_type of this Problem.
        Type of the impacted Resource


        :return: The impacted_resource_type of this Problem.
        :rtype: str
        rQ   rY   rT   rT   rU   r5     rZ   zProblem.impacted_resource_typec                 C   r[   )z
        Sets the impacted_resource_type of this Problem.
        Type of the impacted Resource


        :param impacted_resource_type: The impacted_resource_type of this Problem.
        :type: str
        Nrx   )rR   r5   rT   rT   rU   r5     r\   c                 C   s   t | S N)r   rY   rT   rT   rU   __repr__  s   zProblem.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__rR   otherrT   rT   rU   __eq__  s   zProblem.__eq__c                 C   s
   | |k S ry   rT   r|   rT   rT   rU   __ne__  s   
zProblem.__ne__N)5__name__
__module____qualname____doc__ZRISK_LEVEL_CRITICALZRISK_LEVEL_HIGHZRISK_LEVEL_MEDIUMZRISK_LEVEL_LOWZRISK_LEVEL_MINORZLIFECYCLE_STATE_ACTIVEZLIFECYCLE_STATE_INACTIVEZLIFECYCLE_DETAIL_OPENZLIFECYCLE_DETAIL_RESOLVEDZLIFECYCLE_DETAIL_DISMISSEDZLIFECYCLE_DETAIL_DELETEDZ"DETECTOR_ID_IAAS_ACTIVITY_DETECTORZ'DETECTOR_ID_IAAS_CONFIGURATION_DETECTORZ DETECTOR_ID_IAAS_THREAT_DETECTORZ%DETECTOR_ID_IAAS_LOG_INSIGHT_DETECTORrV   propertyr   setterr   r   r   r   r   r   r   r    r!   r"   r$   r%   r&   r'   r(   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   rz   r~   r   rT   rT   rT   rU   r      s    Z























































r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   rT   rT   rT   rU   <module>   s   