Ë
    £ªðiµ  ã                   óª   — d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ  ej                  e«      Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ ZdeiZy)z‰
NOTE: All functions in this module are considered private and are
subject to abrupt breaking changes. Please do not use them directly.

é    N)ÚGzipFile)Úcompress)Ú	urlencode)Úregister_feature_id)Údetermine_content_lengthc                 ó  — t        | ||«      rw|j                  d   D ]d  }t        j                  |«      }|�5t        j                  d|«        ||d   «      |d<   t        |d   |«        yt        j                  d|«       Œf yy)zAAttempt to compress the request body using the modeled encodings.Ú	encodingsNz%Compressing request with %s encoding.ÚbodyÚheadersz$Unsupported compression encoding: %s)Ú_should_compress_requestÚrequest_compressionÚCOMPRESSION_MAPPINGÚgetÚloggerÚdebugÚ_set_compression_header)ÚconfigÚrequest_dictÚoperation_modelÚencodingÚencoders        úh/var/www/acinvestment.org/public_html/aci/backend/venv/lib/python3.12/site-packages/botocore/compress.pyÚmaybe_compress_requestr      sŠ   € ä ¨°oÔFØ'×;Ñ;¸KÑHò 	OˆHÜ)×-Ñ-¨hÓ7ˆGØÐ"Ü—‘ÐDÀhÔOÙ'.¨|¸FÑ/CÓ'D�˜VÑ$Ü'¨°YÑ(?ÀÔJÙä—‘ÐCÀXÕNñ	Oð Gó    c                 óP  — | j                   dur˜| j                  dk7  r‰|j                  �}t        |«      s't	        |d   «      }d}t
        j                  ||«       y|j                  r |j                  «       }|j                  }d|vS t        |d   «      }| j                  }||k  S y)NTÚv2r
   z*Body type %s does not support compression.FÚrequiresLength)Údisable_request_compressionÚsignature_versionr   Ú_is_compressible_typeÚtyper   r   Úhas_streaming_inputÚget_streaming_inputÚmetadataÚ_get_body_sizeÚ"request_min_compression_size_bytes)	r   r   r   Ú	body_typeÚlog_msgÚstreaming_inputÚstreaming_metadataÚ	body_sizeÚmin_sizes	            r   r   r   -   s®   € à×*Ñ*°$Ñ6Ø×$Ñ$¨Ò,Ø×/Ñ/Ð;ä$ \Ô2Ü˜\¨&Ñ1Ó2ˆIØBˆGÜ�L‰L˜ )Ô,Øà×.Ò.Ø-×AÑAÓCˆOØ!0×!9Ñ!9ÐØ#Ð+=Ð=Ð=ä" <°Ñ#7Ó8ˆ	Ø×<Ñ<ˆØ˜9Ñ$Ð$àr   c                 óÆ   — | d   }t        |t        «      r"t        |dd¬«      j                  d«      }|| d<   t        |t        t
        t        f«      }|xs t        |d«      S )Nr
   Túutf-8)Údoseqr   Úread)Ú
isinstanceÚdictr   ÚencodeÚstrÚbytesÚ	bytearrayÚhasattr)r   r
   Úis_supported_types      r   r    r    E   s_   € Ø˜Ñ€Dä�$œÔÜ˜ T°GÔ<×CÑCÀGÓLˆØ#ˆ�VÑÜ" 4¬#¬u´iÐ)@ÓAÐØÒ5¤¨¨fÓ 5Ð5r   c                 óP   — t        | «      }|€t        j                  d| «       d}|S )NzCUnable to get length of the request body: %s. Skipping compression.r   )r   r   r   )r
   Úsizes     r   r%   r%   O   s1   € Ü# DÓ)€DØ€|Ü�‰ð$àô	
ð
 ˆØ€Kr   c                 ój  — t        d«       t        | t        «      rt        | j	                  d«      «      S t        | t
        t        f«      rt        | «      S t        | d«      rQt        | d«      r:t        | d«      r.| j                  «       }t        | «      }| j                  |«       |S t        | «      S y )NÚGZIP_REQUEST_COMPRESSIONr.   r0   ÚseekÚtell)r   r1   r4   Úgzip_compressr3   r5   r6   r7   r>   Ú_gzip_compress_fileobjr=   )r
   Úcurrent_positionÚcompressed_objs      r   Ú_gzip_compress_bodyrC   [   s™   € ÜÐ2Ô3Ü�$œÔÜ˜TŸ[™[¨Ó1Ó2Ð2Ü	�Dœ5¤)Ð,Ô	-Ü˜TÓ"Ð"Ü	��vÔ	Ü�4˜Ô ¤W¨T°6Ô%:Ø#Ÿy™y›{ÐÜ3°DÓ9ˆNØ�I‰IÐ&Ô'Ø!Ð!Ü% dÓ+Ð+ð 
r   c                 ó&  — t        j                  «       }t        |d¬«      5 }	 | j                  d«      }|sn3t	        |t
        «      r|j                  d«      }|j                  |«       ŒG	 d d d «       |j                  d«       |S # 1 sw Y   ŒxY w)NÚwb)ÚfileobjÚmodei    r.   r   )	ÚioÚBytesIOr   r0   r1   r4   r3   Úwriter=   )r
   rB   ÚgzÚchunks       r   r@   r@   j   s‡   € Ü—Z‘Z“\€NÜ	˜.¨tÔ	4ð ¸ØØ—I‘I˜d“OˆEÙØÜ˜%¤Ô%ØŸ™ WÓ-�Ø�H‰H�UŒOð ð ÷	ð ×Ñ˜ÔØÐ÷ð ús   ¢A	BÂBc                 óJ   — | j                  d«      }|€|| d<   y |› d|› �| d<   y )NzContent-Encodingú,)r   )r   r   Ú	ce_headers      r   r   r   x   s8   € Ø—‘Ð.Ó/€IØÐØ&.ˆÐ"Ò#à)2¨°1°X°JÐ&?ˆÐ"Ò#r   Úgzip)Ú__doc__rH   ÚloggingrP   r   r   r?   Úbotocore.compatr   Úbotocore.useragentr   Úbotocore.utilsr   Ú	getLoggerÚ__name__r   r   r   r    r%   rC   r@   r   r   © r   r   ú<module>rY      sf   ðñó 
Û Ý Ý *å %Ý 2Ý 3à	ˆ×	Ñ	˜8Ó	$€òOòò06ò	ò,òò@ð Ð2Ð3Ñ r   