
    2Vh<                          ddZ ddZ	 	 ddZy)Fc           	         d| d| d| d|  }t        | t              r| f|z  }n8	 t        |       }t        |      |k7  rt	        |      |D ]  }	 t        |        |r|D ch c]
  }|dk  s	| }}d}	n|D ch c]
  }|dk  s	| }}d	}	|r|d
| d|	 dz  }t	        |      |S # t        $ r t	        |      w xY w# t        t        f$ r  |d| dt        |       z  }t	        |      w xY wc c}w c c}w )a'  Transforms non-negative/positive integer/integers into an integer tuple.

    Args:
        value: int or iterable of ints. The value to validate and convert.
        n: int. The size of the tuple to be returned.
        name: string. The name of the argument being validated, e.g. "strides"
            or "kernel_size". This is only used to format error messages.
        allow_zero: bool, defaults to `False`. A `ValueError` will raised
            if zero is received and this argument is `False`.

    Returns:
        A tuple of n integers.
    zThe `z` argument must be a tuple of z integers. Received =zincluding element z	 of type     z>= 0z> 0z, including values z that do not satisfy `value `)
isinstanceinttuple	TypeError
ValueErrorlentype)
valuenname
allow_zero	error_msgvalue_tuplesingle_valuevunqualified_valuesreq_msgs
             S/home/dcms/DCMS/lib/python3.12/site-packages/keras/src/utils/argument_validation.pystandardize_tupler      so    v3A3 765'	# 
 %hl	(,K {q Y''' 	,L,L!	, )4>AAa>>)4?AQa??!"4!5*7)16	
	 ##9  	(Y''	( 	* ,( 7 ./1	 !++, ? @s/   B* C$
C4/C4<
C9C9*B?/C1c                     t        | t        t        f      r| S | j                         }|rh d}nddh}||vrt	        d| d|       |S )N>   samevalidcausalr   r   z6The `padding` argument must be a list/tuple or one of . Received: )r   listr   lowerr
   )r   allow_causalpaddingallowed_valuess       r   standardize_paddingr#   8   sf    %$'kkmG4!6*n$D  	#
 	

 N    c                     |r| y|rt        |       ryt        | t              r| |v ryt        d| d| d| d| d|  
      )z0Validates the correctness of a string-based arg.NzUnknown value for `z` argument of z. Allowed values are: r   r   )callabler   strr
   )r   allowable_stringscaller_namearg_name
allow_noneallow_callabless         r   validate_string_argr-   I   sg     em	Xe_	E3	E->$>

hZ~k] C01*AeW	 r$   N)F)FF)r   r#   r-    r$   r   <module>r/      s   4n, r$   