o
    if	                     @  sn   d dl mZ d dlmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
mZmZmZ er0d dlmZ dddZdS )    )annotations)datetime)ROUND_HALF_UPDecimal)TYPE_CHECKING)max_day_in_monthmod2mod3quot2quot3)Durationstartr   durationr   returnc              
   C  s  t | j|jj }t|t dt d}t|t dt d}t | j|jj | }| j}t | j	|j
j }t|t d}t|t d}t | j|j
j | }t|t d}t|t d}t | j|j
j | }t|t d}	t|t d}t||}
| j|
kr|
}nt | j}||jj d|jj  | }	 |dk r|t||d 7 }t d}n|t||kr|t||8 }t d}nn|| }t|t dt d}|t|t dt d }qtt|tt|tt|tt|	tt|tt|t|dS )	zJ
    https://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes
          6024   T)yearmonthdayhourminutesecondtzinfo)r   r   datemonthsr	   r   r   yearsr   r   timesecondsr   r
   r   minutesr   hoursr   r   daysweeksr   intto_integral_valuer   )r   r   temp	end_monthcarryend_year
end_tzinfo
end_second
end_minuteend_hourend_max_day_in_monthend_day r2   Z/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/isoduration/operations/__init__.pyadd   sP   




r4   N)r   r   r   r   r   r   )
__future__r   r   decimalr   r   typingr   isoduration.operations.utilr   r   r	   r
   r   isoduration.typesr   r4   r2   r2   r2   r3   <module>   s    