
    g
                         d dl Z d dlmZmZmZmZmZ d dlmZ ddlm	Z	m
Z
mZmZmZmZmZ  e       Z edddej"                        Z eddd      ZddZ	 dd	ed
efdZddZ	 dd	ed
efdZddZddZddZddZddZeeeeeeeeeed
Zy)    N)datetimetimedatetimezone	timedelta)Context   )MCS_PER_HOURMCS_PER_MINUTEMCS_PER_SECONDMLS_PER_HOURMLS_PER_MINUTEMLS_PER_SECOND
DAYS_SHIFTi  )tzinfoc                 .    t         t        | dz        z   S N  microsecondsepochr   datawriter_schemareader_schemas      Q/var/www/openai/venv/lib/python3.12/site-packages/fastavro/_logical_readers_py.pyread_timestamp_millisr      s    9$+666    r   returnc                 .    t         t        | dz        z   S r   epoch_naiver   r   s      r   read_local_timestamp_millisr$      s     t<<<r   c                 (    t         t        |       z   S Nr   r   r   s      r   read_timestamp_microsr'      s    9$///r   c                 (    t         t        |       z   S r&   r"   r   s      r   read_local_timestamp_microsr)   $   s     555r   c                 :    t        j                  | t        z         S N)r   fromordinalr   r   s      r   	read_dater-   +   s    D:-..r   c                 ,    t        j                  |       S r+   )uuidUUIDr   s      r   	read_uuidr1   /   s    99T?r   c                     |j                  dd      }|d   }t        j                  | dd      }|t        _        t        j                  |      j                  | t              S )Nscaler   	precisionbigT)	byteordersigned)getint
from_bytesdecimal_contextpreccreate_decimalscaleb)r   r   r   r3   r4   unscaled_datums         r   read_decimalr@   3   s_    gq)Ek*I^^DE$^GN$O)).9@@	 r   c                     t        | t        z        }t        | t        z        dz  }t        | t        z        dz  }t        | t        z        dz  }t	        ||||      S )N<   r   )r9   r   r   r   r   )r   r   r   hmsmlss          r   read_time_millisrG   ?   s^    D< AD>!"R'AD>!"R'A
d^#
$t
+C1ar   c                     t        | t        z        }t        | t        z        dz  }t        | t        z        dz  }| t        z  }t	        ||||      S )NrB   )r9   r
   r   r   r   )r   r   r   rC   rD   rE   mcss          r   read_time_microsrJ   G   sT    D< AD>!"R'AD>!"R'A

C1ar   )
zlong-timestamp-milliszlong-local-timestamp-milliszlong-timestamp-microszlong-local-timestamp-microszint-datezbytes-decimalzfixed-decimalzstring-uuidzint-time-milliszlong-time-micros)NN)r/   r   r   r   r   r   decimalr   constr
   r   r   r   r   r   r   r;   utcr   r#   r   r9   r$   r'   r)   r-   r1   r@   rG   rJ   LOGICAL_READERS r   r   <module>rP      s     > >    )q!HLL1tQ"7 26=
==0 266
66/	 3#>2#>!!'(r   