
    <@g                         d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	 dej                  fdZ
ddZd Zdee   d	eeee	f   ddf   fd
Zy)    N)OrderedDict)	GeneratorOptionalTupleAnydttimec                    | j                   rI| j                   j                  |       .t        j                  | j	                               }t        |      S t        j                  | j                               }t        |      S N)	tzinfo	utcoffsetcalendartimegmutctimetupletimemktime	timetupleint)r   utc_timestamps     M/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_encode.py_encode_datetimer      se    }}008D (;(;(=> } F$4$4$67}    c                 ^    t               }|j                         D ]  \  }}|||| |fz  <    |S r
   )r   items)keydatafmtdsubkeysubvalues         r   _encode_nested_dictr       s;    A JJL *!)#f
*Hr   c                 P    t        | t        j                        rt        |       S | S r
   )
isinstancedatetimer   )values    r   _json_encode_date_callbackr%      s"    %**+&&Lr   api_modereturnc              #   N  K   | j                         D ]  \  }}|
t        |d      r||j                  f 't        |t              st        |t
              r_t        |      D ]P  \  }}|dk(  r|nd||fz  }t        |t              r't        ||      }t        ||      D ]  \  }}	||	f  K||f R t        |t              r't        ||      }t        ||      D ]  \  }
}|
|f  t        |t        j                        r|t        |      f ||f  y w)N	stripe_idV2z%s[%d])r   hasattrr)   r"   listtuple	enumeratedictr    _api_encoder#   r   )r   r&   r   r$   isvencoded_keysubdictkvr   r   s               r   r0   r0      s3     jjl 
U=UK(((t$
5%(@"5) ,2%-%5c8sAh;Nb$'1+rBG +GX > %1 !f% '++, t$)#u5G$/$B ) x(()x001(/00,+s   D#D%)z%s[%s])r   r#   r   collectionsr   typingr   r   r   r   r   r    r%   strr0    r   r   <module>r;      s`       # 2 2X.. SMuS#Xd*+r   