
    ɯei
                        d dl mZ d dlZd dlZd dlZd dlmZ d dlmZm	Z	 dZ
dZ ee      Zd
ddZd
ddZ	 	 	 	 dd	Zy)    )annotationsN)	getLogger)IO	Generatori @     c                   t        j                  t        t         j                  z         }t	        j
                         }|r|j                  d       | j                  t              }|r|j                  |j                  |             |j                  dk7  rf|j                  }t        j                  t        t         j                  z         }|j                  |j                  |             |j                  dk7  rf| j                  t              }|j                  |j                                |r|r|j                  d       |j                         S )a  Decompresses raw data from file like object with zlib.

    Args:
        raw_data_fd: File descriptor object.
        add_bracket: Whether, or not to add brackets around the output. (Default value = True)

    Returns:
        A byte array of the decompressed file.
       [       ])zlibdecompressobjMAGIC_NUMBER	MAX_WBITSioBytesIOwriteread
CHUNK_SIZE
decompressunused_dataflushgetvalue)raw_data_fdadd_bracketobjwriterdr   s         b/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/snowflake/connector/gzip_decoder.pydecompress_raw_datar      s     

\DNN:
;CZZ\FT$A
S^^A&'oo$//K$$\DNN%BCCLL45 oo$ Z(SYY[!  T??r
   c                d   t        j                         }|r|j                  d       t        j                  dgt        j
                  t        j
                        }|j                  |j                  | j                               d          |r|j                  d       |j                         S )aD  Experimental: Decompresses raw data from file like object with zcat. Otherwise same as decompress_raw_data.

    Args:
        raw_data_fd: File descriptor object.
        add_bracket: Whether, or not to add brackets around the output. (Default value = True)

    Returns:
        A byte array of the decompressed file.
    r	   zcat)stdinstdout)inputr   r   )	r   r   r   
subprocessPopenPIPEcommunicater   r   )r   r   r   ps       r   decompress_raw_data_by_zcatr*   ,   s}     ZZ\FT&QA
LL[%5%5%78;<T??r
   c              #  @  K   t        j                  t        t         j                  z         }d | j	                  t
              }|r|j                  |      j                  d       |j                  dk7  rh|j                  }t        j                  t        t         j                  z         }|j                  |      j                  d       |j                  dk7  rh| j	                  t
              }|r|j                         j                  d      dz    yw)zDecompresses a raw data in file like object and yields a Unicode string.

    Args:
        raw_data_fd: File descriptor object.

    Yields:
        A string of the decompressed file in chunks.
    [zutf-8r
   ]N)
r   r   r   r   r   r   r   decoder   r   )r   r   r   r   s       r   %decompress_raw_data_to_unicode_streamr/   @   s      

\DNN:
;C
I$A
nnQ&&w//oo$//K$$\DNN%BCC..-44W== oo$ Z(  ))+

W
%
++s   CD!D9%D)T)r   r   r   boolreturnbytes)r   r   r1   zGenerator[str])
__future__r   r   r%   r   loggingr   typingr   r   r   r   __name__loggerr   r*   r/    r
   r   <module>r9      sJ    " 	     
	8	8(,,,r
   