403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/s3transfer/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/s3transfer/__pycache__/crt.cpython-314.pyc
+
[m�h�����^RIt^RIt^RIt^RIHt^RIt^RIt^RIt	^RI
t	^RIHtH
t
HtHt^RIHtHtHtHtHt^RIHtHtHt^RI	Ht^RIHt^RIHt^R	IHt^R
I H!t!H"t"^RI#H$t$H%t%^RI&H't'^R
I(H)t)H*t*^RI+H,t,^RI-H.t.H/t/H0t0H1t1H2t2]Pf!]44t5Rs6Rt7RRR^]%,RR3Rlt8R.Rlt9!RR4t:!RR]*4t;!RR])4t<!RR4t=!RR]=4t>!RR]4t?!R R!4t@!R"R#4tA!R$R%4tB!R&R'4tC!R(R)4tD!R*R+4tE!R,R-4tFR#)/�N)�BytesIO)�AwsCredentials�AwsCredentialsProvider�AwsSigningAlgorithm�AwsSigningConfig)�ClientBootstrap�ClientTlsContext�DefaultHostResolver�EventLoopGroup�TlsContextOptions)�S3Client�S3RequestTlsMode�
S3RequestType)�UNSIGNED)�urlsplit)�Config)�NoCredentialsError)�	ArnParser�InvalidArnException)�FULL_OBJECT_CHECKSUM_ARGS�MB)�TransferNotDoneError)�BaseTransferFuture�BaseTransferMeta)�TransferManager)�CallArgs�OSUtils�create_nested_client�
get_callbacks�is_s3express_bucketc��\f3\PPV4pVP	4Ts\# \
dR#i;i�N)�CRT_S3_PROCESS_LOCK�awscrt�s3�CrossProcessLock�acquire�RuntimeError)�name�crt_locks& �0/usr/lib/python3/dist-packages/s3transfer/crt.py�acquire_crt_s3_process_lockr,;sS���"��9�9�-�-�d�3��	�����'�����
�	��		�s�A�A�ATc�l�\V4p\V4p\Wx4p	Rp
V'd\PM\P
pVeH\
4pV'dVPVR7MRVn\V4p
V
P4p
\VR7p\V	VVVVV
VRR7#)a
:type region: str
:param region: The region used for signing

:type crt_credentials_provider:
    Optional[awscrt.auth.AwsCredentialsProvider]
:param crt_credentials_provider: CRT AWS credentials provider
    to use to sign requests. If not set, requests will not be signed.

:type num_threads: Optional[int]
:param num_threads: Number of worker threads generated. Default
    is the number of processors in the machine.

:type target_throughput: Optional[int]
:param target_throughput: Throughput target in bytes per second.
    By default, CRT will automatically attempt to choose a target
    throughput that matches the system's maximum network throughput.
    Currently, if CRT is unable to determine the maximum network
    throughput, a fallback target throughput of ``1_250_000_000`` bytes
    per second (which translates to 10 gigabits per second, or 1.16
    gibibytes per second) is used. To set a specific target
    throughput, set a value for this parameter.

:type part_size: Optional[int]
:param part_size: Size, in Bytes, of parts that files will be downloaded
    or uploaded in.

:type use_ssl: boolean
:param use_ssl: Whether or not to use SSL.  By default, SSL is used.
    Note that not all services support non-ssl connections.

:type verify: Optional[boolean/string]
:param verify: Whether or not to verify SSL certificates.
    By default SSL certificates are verified.  You can provide the
    following values:

    * False - do not validate SSL certificates.  SSL will still be
        used (unless use_ssl is False), but SSL certificates
        will not be verified.
    * path/to/cert/bundle.pem - A filename of the CA cert bundle to
        use. Specify this argument if you want to use a custom CA cert
        bundle instead of the default one on your system.
N)�ca_filepathF)� provided_throughput_target_bytesT)�	bootstrap�region�credential_provider�	part_size�tls_mode�tls_connection_options�throughput_target_gbps�enable_s3express)
rr
rr�ENABLED�DISABLEDr�&override_default_trust_store_from_path�verify_peerr	�new_connection_options�_get_crt_throughput_target_gbpsr
)r1�crt_credentials_provider�num_threads�target_throughputr3�use_ssl�verify�event_loop_group�
host_resolverr0r5r4�tls_ctx_options�client_tls_option�target_gbpss&&&&&&&        r+�create_s3_crt_clientrHTs���h&�k�2��'�(8�9�M�� 0�@�I�!��%,�� � �1A�1J�1J�
���+�-����B�B�"�
C�
�+0�O�'�,�_�=��!2�!I�!I�!K��1�):��K����4���5�*��	�	�c���Vf<\PP4p\P	RV4VfRpMV^,R,p\P	RV4V#)Nz-Recommended CRT throughput target in gbps: %sg$@iʚ;z'Using CRT throughput target in gbps: %s)r$r%�&get_recommended_throughput_target_gbps�logger�debug)r/rGs& r+r=r=�s_��'�/��i�i�F�F�H�����;�[�	
����K��7��:�]�J��
�L�L�:�K�H��rIc�a�]tRt^�to]P
t]Pt]PtRt]Pt	RRlt
RtRtRRlt
RRltRRltRR	ltR
tRtRtR
tRtRtRRltRtRtRtVtR#)�CRTTransferManagerTNc���Vf\4VnWn\W P4VnVP
Vn.Vn\P!^�4Vn
^VnR#)a�A transfer manager interface for Amazon S3 on CRT s3 client.

:type crt_s3_client: awscrt.s3.S3Client
:param crt_s3_client: The CRT s3 client, handling all the
    HTTP requests and functions under then hood

:type crt_request_serializer: s3transfer.crt.BaseCRTRequestSerializer
:param crt_request_serializer: Serializer, generates unsigned crt HTTP
    request.

:type osutil: s3transfer.utils.OSUtils
:param osutil: OSUtils object to use for os-related behavior when
    using with transfer manager.
N)r�_osutil�_crt_s3_client�S3ClientArgsCreator�_s3_args_creator�translate_crt_exception�_crt_exception_translator�_future_coordinators�	threading�	Semaphore�
_semaphore�_id_counter)�self�
crt_s3_client�crt_request_serializer�osutils&&&&r+�__init__�CRTTransferManager.__init__�sc���>�"�9�D�L�+�� 3�"�L�L�!
���
#�:�:�	
�&�%'��!�#�-�-�c�2�����rIc��V#r"��r\s&r+�	__enter__�CRTTransferManager.__enter__�s���rIc�@�RpV'dRpVPV4R#)FTN��	_shutdown)r\�exc_type�	exc_value�args�cancels&&&* r+�__exit__�CRTTransferManager.__exit__�s������F����v�rIc��Vf/pVf/pVPW@P4VPV4\VVVVVR7pVP	RV4#)N��bucket�key�fileobj�
extra_args�subscribers�
get_object)�_validate_all_known_args�ALLOWED_DOWNLOAD_ARGS�_validate_if_bucket_supportedr�_submit_transfer)r\rrrsrtrurv�callargss&&&&&& r+�download�CRTTransferManager.download�sj�����J����K��%�%�j�2L�2L�M��*�*�6�2�����!�#�
���$�$�\�8�<�<rIc���Vf/pVf/pVPW@P4VPV4VPV4\	VVVVVR7pVPRV4#)Nrq�
put_object)rx�ALLOWED_UPLOAD_ARGSrz�&_validate_checksum_algorithm_supportedrr{)r\rtrrrsrurvr|s&&&&&& r+�upload�CRTTransferManager.upload�sv�����J����K��%�%�j�2J�2J�K��*�*�6�2��3�3�J�?�����!�#�
���$�$�\�8�<�<rIc��Vf/pVf/pVPW0P4VPV4\VVVVR7pVP	RV4#)N)rrrsrurv�
delete_object)rx�ALLOWED_DELETE_ARGSrzrr{)r\rrrsrurvr|s&&&&& r+�delete�CRTTransferManager.delete
se�����J����K��%�%�j�2J�2J�K��*�*�6�2����!�#�	
���$�$�_�h�?�?rIc�(�VPV4R#r"rh�r\rms&&r+�shutdown�CRTTransferManager.shutdowns�����v�rIc���VP'dNVPP4F-wr#VPV4pV'gK \	RVR24h	R#R#)z'TransferManager methods do not support z+ resource. Use direct client calls instead.N)� VALIDATE_SUPPORTED_BUCKET_VALUES�_UNSUPPORTED_BUCKET_PATTERNS�items�match�
ValueError)r\rr�resource�patternr�s&&   r+rz�0CRTTransferManager._validate_if_bucket_supportedsf���0�0�0�%)�%F�%F�%L�%L�%N�!���
�
�f�-���5�$�A�(��LE�E���&O�1rIc	�d�VF)pW29gK\RVRRPV424h	R#)zInvalid extra_args key 'z', must be one of: z, N)r��join)r\�actual�allowed�kwargs&&& r+rx�+CRTTransferManager._validate_all_known_args,s?���E��#� �.�u�g�6'�'+�y�y��'9�&:�<���rIc���VPR4pVfR#\\PPP
4pVP
4V9d\RVRV24hR#)�ChecksumAlgorithmNzChecksumAlgorithm: z* not supported. Supported algorithms are: )�get�listr$r%�S3ChecksumAlgorithm�__members__�upperr�)r\ru�checksum_algorithm�supported_algorithmss&&  r+r��9CRTTransferManager._validate_checksum_algorithm_supported4su��'�^�^�,?�@���%��#�F�I�I�$A�$A�$M�$M�N���#�#�%�-A�A��%�&8�%9�:-�-A�,B�D��
�BrIc�|�VPF+pVP4'dKVP4K-	R#r")rW�donerm�r\�coordinators& r+�_cancel_transfers�$CRTTransferManager._cancel_transfers?s-���4�4�K��#�#�%�%��"�"�$�5rIc�L�VPFpVP4K	R#r")rW�resultr�s& r+�_finish_transfers�$CRTTransferManager._finish_transfersDs���4�4�K���� �5rIc�L�VPFpVP4K	R#r")rW�%wait_until_on_done_callbacks_completer�s& r+�_wait_transfers_done�'CRTTransferManager._wait_transfers_doneHs���4�4�K��=�=�?�5rIc��V'dVP4VP4VP	4R# \dTP4L/\dL;i;i TP	4i;ir")r�r��KeyboardInterrupt�	Exceptionr�r�s&&r+ri�CRTTransferManager._shutdownLsg����"�"�$�	(��"�"�$�
�%�%�'��!�	%��"�"�$��	��	��
�%�%�'�s3�<�A&�A)�A&�"A&�#A)�%A&�&A)�)A;c�:�VPP4R#r")rZ�release�r\�kwargss&,r+�_release_semaphore�%CRTTransferManager._release_semaphoreYs�������!rIc��VP.p\VPVPR7pR\	VPV4RV/p\R	/VBp\
V4pVPV4VPP4VPPVR4pV!4VPPVVVVV4p	VPP!R	/V	Bp
VPV
4VP$PV4V;P^,
unV# \ dDpTP#TR4TPPTRTR7pT!TR7Rp?LRp?ii;i)
)�transfer_id�exception_translator�metar��queuedTr�)�after_subscribers)�errorNrc)r��CRTTransferCoordinatorr[rV�CRTTransferMeta�CRTTransferFuture�AfterDoneHandler�appendrZr'rT�get_crt_callback�get_make_request_argsrR�make_request�set_s3_requestr��
set_exceptionrW)
r\�request_type�	call_args�on_done_after_callsr��
components�future�	afterdone�	on_queued�crt_callargs�crt_s3_request�e�on_dones
&&&          r+r{�#CRTTransferManager._submit_transfer\sw��#�6�6�7��,��(�(�!%�!?�!?�
��

�O�D�$4�$4�i�@��;�
�
�#�0�Z�0��$�[�1�	��"�"�9�-�	7��O�O�#�#�%��-�-�>�>����I�
�K��0�0�F�F�����#��L�"�0�0�=�=�M��M�N�
�&�&�~�6��!�!�(�(��5����A����
���	��%�%�a��.��+�+�<�<���2E�=��G�
�!����	�s�1A8D0�0E>�;9E9�9E>)rVrRrWr[rQrTrZr"�NN�F)�__name__�
__module__�__qualname__�__firstlineno__rryr�r�r�r�r`rernr}r�r�r�rzrxr�r�r�r�rir�r{�__static_attributes__�__classdictcell__��
__classdict__s@r+rOrO�s�����+�A�A��)�=�=��)�=�=��'+�$�#2�#O�#O� ��:��=�$=�"
@����	�%�
!�@�(�"�'�'rIrOc�^a�]tRtRtoRtR	Rlt]R4t]R4t]R4t	Rt
VtR#)
r�i�z*Holds metadata about the CRTTransferFutureNc�,�WnW n/VnR#r")�_transfer_id�
_call_args�
_user_context)r\r�r�s&&&r+r`�CRTTransferMeta.__init__�s��'��#����rIc��VP#r")r�rds&r+r��CRTTransferMeta.call_args�s�����rIc��VP#r")r�rds&r+r��CRTTransferMeta.transfer_id�s��� � � rIc��VP#r")r�rds&r+�user_context�CRTTransferMeta.user_context�s���!�!�!rI)r�r�r�r�)r�r�r�r��__doc__r`�propertyr�r�r�r�r�r�s@r+r�r��sI����4� �
�����!��!��"��"rIr�c�Va�]tRtRtoR
Rlt]R4tRtRRltRt	Rt
R	tVtR#)r�i�Nc�D�WnVf\4VnW nR#)a2The future associated to a submitted transfer request via CRT S3 client

:type meta: s3transfer.crt.CRTTransferMeta
:param meta: The metadata associated to the transfer future.

:type coordinator: s3transfer.crt.CRTTransferCoordinator
:param coordinator: The coordinator associated to the transfer future.
N)�_metar��_coordinator)r\r�r�s&&&r+r`�CRTTransferFuture.__init__�s���
��<�(�*�D�J�'�rIc��VP#r")r�rds&r+r��CRTTransferFuture.meta�s���z�z�rIc�6�VPP4#r")r�r�rds&r+r��CRTTransferFuture.done�s��� � �%�%�'�'rIc�<�VPPV4R#r")r�r��r\�timeouts&&r+r��CRTTransferFuture.result�s����� � ��)rIc�:�VPP4R#r")r�rmrds&r+rm�CRTTransferFuture.cancel�s����� � �"rIc��VP4'g\R4hVPPVRR7R#)z!Sets the exception on the future.z?set_exception can only be called once the transfer is complete.T)�overrideN)r�rr�r��r\�	exceptions&&r+r��CRTTransferFuture.set_exception�s:���y�y�{�{�&���
�	
���'�'�	�D�'�ArI)r�r�r�r")
r�r�r�r�r`r�r�r�r�rmr�r�r�r�s@r+r�r��s9����(�����(�*�#�B�BrIr�c�,a�]tRtRtoRtRtRtVtR#)�BaseCRTRequestSerializeri�c��\R4h)a4Serialize CRT HTTP requests.

:type transfer_type: string
:param transfer_type: the type of transfer made,
    e.g 'put_object', 'get_object', 'delete_object'

:type future: s3transfer.crt.CRTTransferFuture

:rtype: awscrt.http.HttpRequest
:returns: An unsigned HTTP request to be used for the CRT S3 client
zserialize_http_request()��NotImplementedError)r\�
transfer_typer�s&&&r+�serialize_http_request�/BaseCRTRequestSerializer.serialize_http_request�s��"�"<�=�=rIc��\R4h)ztranslate_crt_exception()rrs&&r+rU�0BaseCRTRequestSerializer.translate_crt_exception�s��!�"=�>�>rIrcN)r�r�r�r�rrUr�r�r�s@r+r
r
�s����>�?�?rIr
c�la�]tRtRtoRRltRtRtRtRtRt	R	t
R
tRtRt
R
tRtRtVtR#)�BotocoreCRTRequestSerializeri�Nc�2�WnVf/pVPW4\V3/VBVnVPPP
P
RVP4VPPP
P
RVP4VPPP
P
RVP4VPPP
P
RVP4R#)a�Serialize CRT HTTP request using botocore logic
It also takes into account configuration from both the session
and any keyword arguments that could be passed to
`Session.create_client()` when serializing the request.

:type session: botocore.session.Session

:type client_kwargs: Optional[Dict[str, str]])
:param client_kwargs: The kwargs for the botocore
    s3 client initialization.
Nzrequest-created.s3.*zafter-call.s3.*zbefore-send.s3.*zbefore-call.s3.*)�_session�_resolve_client_configr�_clientr��events�register�_capture_http_request�+_change_response_to_serialized_http_request�_make_fake_http_response�_remove_checksum_context)r\�session�
client_kwargss&&&r+r`�%BotocoreCRTRequestSerializer.__init__�s��� �
�� ��M��#�#�G�;�+�G�E�}�E�������� � �)�)�"�D�$>�$>�	
�	
����� � �)�)��t�O�O�	
�	
����� � �)�)��� =� =�	
�	
����� � �)�)��� =� =�	
rIc���RpVP4'dVP4pRV9d
VR,p\\R7pV'dVPV4pWBR&RVR&R#)N�config)�signature_versionr%�service_name)�get_default_client_configrr�merge)r\rr �user_provided_config�
client_configs&&&  r+r�3BotocoreCRTRequestSerializer._resolve_client_config�sh��#���,�,�.�.�#*�#D�#D�#F� ��}�$�#0��#:� ���:�
��0�6�6�}�E�M�"/�h��(,�
�n�%rIc��\VP4pVPpVP'dVRVP2p.pVPP4FLwrV\
V\4'dVPWV34K/VPV\VR434KN	\PPV4p\PPVPVVVPR7pV#)�?zutf-8)�method�path�headers�body_stream)r�urlr.�queryr/r��
isinstance�strr�r$�http�HttpHeaders�HttpRequestr-�body)	r\�aws_request�	url_parts�crt_path�headers_listr)�value�crt_headers�crt_requests	&&       r+�_crt_request_from_aws_request�:BotocoreCRTRequestSerializer._crt_request_from_aws_requests����[�_�_�-�	��>�>���?�?�?�"��1�Y�_�_�$5�6�H���&�.�.�4�4�6�K�D��%��%�%��#�#�T�M�2��#�#�T�3�u�g�+>�$?�@�	7��k�k�-�-�l�;���k�k�-�-��%�%���#�(�(�	.�
���rIc�F�VPV4pVPPR4f<\VP4pVPPRVP4VPPR4eVPPR4VPPR4f+VPfVPPRR4VPPR4eVPPR4V#)�hostzContent-MD5zContent-Length�0zTransfer-Encoding)
r@r/r�rr1�set�netloc�remover8�add)r\�botocore_http_requestr?r:s&&  r+�_convert_to_crt_http_request�9BotocoreCRTRequestSerializer._convert_to_crt_http_requests����8�8�9N�O�����"�"�6�*�2� �!6�!:�!:�;�I����#�#�F�I�,<�,<�=����"�"�=�1�=����&�&�}�5����"�"�#3�4�<�$�)�)�1��#�#�'�'�(8�#�>����"�"�#6�7�C����&�&�':�;��rIc�"�WPR&R#)�http_requestN)�context�r\�requestr�s&&,r+r�2BotocoreCRTRequestSerializer._capture_http_request4s��*1����'rIc�>�VR,pVP4VR&R#)rM�HTTPRequestN)�prepare)r\rN�parsedr�rPs&&&, r+r�HBotocoreCRTRequestSerializer._change_response_to_serialized_http_request7s���.�)�� '��� 1��}�rIc�X�\PPR^�/\R44#)NrI)�botocore�
awsrequest�AWSResponse�FakeRawResponserOs&&,r+r�5BotocoreCRTRequestSerializer._make_fake_http_response=s,���"�"�.�.�����C� �	
�	
rIc��\VPV4!RRVPRVP/VPBR,#)�Bucket�KeyrSrc)�getattrrrrrsru)r\�
client_methodr�s&&&r+�_get_botocore_http_request�7BotocoreCRTRequestSerializer._get_botocore_http_requestEsJ���t�|�|�]�3�
��#�#�
�)2���
�:C�:N�:N�
�
��	rIc�r�VPWPP4pVPV4pV#r")rbr�r�rJ)r\rr�rIr?s&&&  r+r�3BotocoreCRTRequestSerializer.serialize_http_requestJs9�� $� ?� ?��;�;�0�0�!
���7�7�8M�N���rIc�|�\V\PP4'dVP	V4#R#r")r3r$r%�S3ResponseError� _translate_crt_s3_response_errorrs&&r+rU�4BotocoreCRTRequestSerializer.translate_crt_exceptionQs-���i����!:�!:�;�;��8�8��C�C�rIc�Z�VPpVR8dR#VPUUu/uFwr4W4bK		pppVPpVe=VPPP
pVP
V4PpMRpR\PPV4RVRVP/p	VPPPW�R7p
V
PR/4PR4pVPPP!V4pV!W�R7#uuppi)	i-Nr/�status_coder8)�shape�Error�Code)�operation_name)rkr/rorr��
service_model�operation_model�output_shaperXrY�HeadersDictr8�_response_parser�parser��
exceptions�	from_code)
r\�s3_response_errorrk�k�vr/rorprl�
response_dict�parsed_response�
error_code�error_classs
&&           r+rh�=BotocoreCRTRequestSerializer._translate_crt_s3_response_errorWs��'�3�3������$5�$=�$=�>�$=�D�A�1�4�$=��>�*�9�9���%� �L�L�-�-�;�;�M�!�1�1�.�A�N�N�E��E�
�x�*�*�6�6�w�?��;��%�*�*�
�
�
�,�,�7�7�=�=��>�
��%�(�(��"�5�9�9�&�A�
��l�l�-�-�7�7�
�C���?�J�J��'?s�
D'c�B�VPR/4pRV9dVRR#R#)rN�checksumN)r�)r\�paramsr��request_contexts&&, r+r�5BotocoreCRTRequestSerializer._remove_checksum_contextss'�� �*�*�Y��3����(��
�+�)rI)rrr")r�r�r�r�r`rr@rJrrrrbrrUrhrr�r�r�s@r+rr�sG����
�<-��,�<2�2�
��
��K�8,�,rIrc�*a�]tRtRtoRRltRtVtR#)r[iyNc#�N"�VPV4pV'gR#Vx�K"5i)TN)�read)r\�amt�decode_content�chunks&&& r+�stream�FakeRawResponse.streamzs �����I�I�c�N�E����K�s�%�%rc)iN)r�r�r�r�r�r�r�r�s@r+r[r[ys�����rIr[c�8a�]tRtRtoRtRtRtRtRtVt	R#)�BotocoreCRTCredentialsWrapperi�c��WnR#r"��_resolved_credentials)r\�resolved_botocore_credentialss&&r+r`�&BotocoreCRTCredentialsWrapper.__init__�s��%B�"rIc��VP4P4p\VPVPVP
4#r")�_get_credentials�get_frozen_credentialsr�
access_key�
secret_key�token)r\�credentialss& r+�__call__�&BotocoreCRTCredentialsWrapper.__call__�s?���+�+�-�D�D�F����"�"�K�$:�$:�K�<M�<M�
�	
rIc�.�\P!V4#r")r�new_delegaterds&r+�to_crt_credentials_provider�9BotocoreCRTCredentialsWrapper.to_crt_credentials_provider�s��%�2�2�4�8�8rIc�J�VPf\4hVP#r")r�rrds&r+r��.BotocoreCRTCredentialsWrapper._get_credentials�s#���%�%�-�$�&�&��)�)�)rIr�N)
r�r�r�r�r`r�r�r�r�r�r�s@r+r�r��s����C�
�9�*�*rIr�c�za�]tRtRtoRtRRlt]R4tRtRRlt	RRlt
R	tRR
ltRt
RtR
tRtVtR#)r�i�z-A helper class for managing CRTTransferFutureNc��WnW0nW n\P!4VnRVnRVn\P!4Vn	R#r")
r��_exception_translator�_s3_requestrX�Lock�_lock�
_exception�_crt_future�Event�_done_event)r\r��
s3_requestr�s&&&&r+r`�CRTTransferCoordinator.__init__�sB��'��%9�"�%���^�^�%��
�������$�?�?�,��rIc��VP#r")r�rds&r+r��!CRTTransferCoordinator.s3_request�s�����rIc�:�VPP4R#r")r�rErds&r+�set_done_callbacks_complete�2CRTTransferCoordinator.set_done_callbacks_complete�s�������rIc�<�VPPV4R#r")r��waitr�s&&r+r��<CRTTransferCoordinator.wait_until_on_done_callbacks_complete�s�������g�&rIc��VP;_uu_4VP4'd	V'dWnRRR4R# +'giR#;ir")r�r�r�)r\rrs&&&r+r��$CRTTransferCoordinator.set_exception�s)��
�Z�Z�Z��9�9�;�;�(�"+���Z�Z�Z�s�A�A�A	c�b�VP'dVPP4R#R#r")r�rmrds&r+rm�CRTTransferCoordinator.cancel�s%���������#�#�%�rIc��VP'd
VPhVPPV4TP'd
RTnR#R# \d.TP	4TPPT4h\
dpTP
T4Rp?LtRp?ii;i TP'd	RTnii;ir")r�r�r�r�rmr��handle_exceptionr�)r\rr�s&& r+r��CRTTransferCoordinator.result�s����?�?�?��/�/�!�
	(����#�#�G�,�����#'�� � ��!�	��K�K�M����#�#�G�,���	%��!�!�!�$�$��	%������#'�� � �s/�A�?B4�B4�B/�*B7�/B4�4B7�7Cc��RpVP'dVPV4pVeW!hVh \d"p\PRTR7Rp?L/Rp?ii;i)NzUnable to translate exception.)�exc_info)r�r�rLrM)r\�exc�translated_excr�s&&  r+r��'CRTTransferCoordinator.handle_exception�sc�����%�%�%�
�!%�!;�!;�C�!@���%� �)��I���
����=���J���	
�s�/�A�A�Ac�V�VPfR#VPP4#)NF)r�r�rds&r+r��CRTTransferCoordinator.done�s&�����#�����$�$�&�&rIc�H�WnVPPVnR#r")r��finished_futurer�)r\r�s&&r+r��%CRTTransferCoordinator.set_s3_request�s��%���+�+�;�;��rI)r�r�r�r�r�r�r�)NNNr"r�)r�r�r�r�r�r`r�r�r�r�r�rmr�r�r�r�r�r�r�s@r+r�r��sN����7�	-�� �� ��'�,�
&�
(�
�'�
<�<rIr�c�Ha�]tRtRtoRtRtR
RltRtRtRt	R	t
VtR#)rSi�c��WnW nR#r")�_request_serializer�	_os_utils)r\r^�os_utilss&&&r+r`�S3ClientArgsCreator.__init__�s
��#9� �!�rIc	�R�\VRV2VP4pV!VVVV.VR7#)�_get_make_request_args_�r�r�r�r��on_done_before_callsr�)r`�_default_get_make_request_args)r\r�r�r�r�r��request_args_handlers&&&&&& r+r��)S3ClientArgsCreator.get_make_request_args�sF�� '��%�l�^�4��/�/� 
��
$�%��#��!#� 3�

�	
rINc� aaaa�VVVV3RlpV#)c�<�.pSe
VS,
pV\SS4,
pSe
VS,
pVF$pSR8XdV!V^,R7KV!V/VBK&	R#)N�progress)�bytes_transferred)r)rlr��callbacks_list�callbackr��before_subscribers�
callback_typer�s*,  ����r+�invoke_all_callbacks�BS3ClientArgsCreator.get_crt_callback.<locals>.invoke_all_callbacks�sh����N�!�-��"4�4���m�F�M�B�B�N� �,��"3�3��*��!�J�.��t�A�w�7��d�-�f�-�+rIrc)r\r�r�r�r�r�s&ffff r+r��$S3ClientArgsCreator.get_crt_callback�s���	.�	.� $�#rIc	��a�Rp\SP\4'd8SPpVPP	V4pVSP
R&MSPSP
R&Rp	\;QJd#V3Rl\4F'gKRM	RM!V3Rl\44'g�SP
PRR4P4p
\PP\PPV
,\PPPR7p	R	SP
R
&VP!VSVVVVR7pW{R&W�R
&V#)N�
ContentLength�Bodyc3�B<"�TFpVSP9x�K	R#5ir")ru)�.0�checksum_argr�s& �r+�	<genexpr>�HS3ClientArgsCreator._get_make_request_args_put_object.<locals>.<genexpr>s#����
� 9��
�I�0�0�0� 9�s�TFr��CRC32)�	algorithm�locationzoverride-to-be-removed�
ContentMD5r��
send_filepath�checksum_config)r3rtr4r��
get_file_sizeru�anyr�popr�r$r%�S3ChecksumConfigr��S3ChecksumLocation�TRAILERr�)r\r�r�r�r�r�r�r��data_lenr�r��make_request_argss&&f&&&&     r+�!_get_make_request_args_put_object�5S3ClientArgsCreator._get_make_request_args_put_object
sS����
��i�'�'��-�-�%�-�-�M��~�~�3�3�M�B�H�4<�I� � ��1�+4�+<�+<�I� � ��(����s�
� 9�
�s�s�s�
� 9�
�
�
�"+�!5�!5�!9�!9�#�W�"��e�g�
�%�i�i�8�8� �)�)�7�7�8J�K����5�5�=�=�9��O�.F�	���\�*� �?�?�%��#��!5� 3�
@�
��.;�/�*�/>�+�,� � rIc	��RpRp\PPRR7p	\VP\
4'dNVPp
VPPV
4pVP\W:WpP44M\VP4pVPVVVVVVR7pW{R&W�R&W�R&V#)NT)�validate_responser��
recv_filepath�on_bodyr�)r$r%r�r3rtr4r��get_temp_filenamer��RenameTempFileHandler�OnBodyFileObjWriterr�)r\r�r�r�r�r�r�r�r�r��final_filepathr�s&&&&&&&     r+�!_get_make_request_args_get_object�5S3ClientArgsCreator._get_make_request_args_get_object<s����
��� �)�)�4�4�t�4�L���i�'�'��-�-�&�.�.�N� �N�N�<�<�^�L�M� �'�'�%������
�*�)�*;�*;�<�G� �?�?�%��#��!5� 3�
@�
��.;�/�*�'.�)�$�/>�+�,� � rIc��RVPPW4R\\VP	4\P
4RVP
VRWV4RVP
VR4/pVR,\P
8Xd+RPRVPR444VR	&\4pVPVP4;p	'd?V	R
,R8Xd1\\PRRRR
7VR&V	R,VnV#\VP4'd \\P RRR7VR&V#)rP�typer�r��on_progressr��c3�@"�TFqP4x�K	R#5ir")�title)r��xs& r+r��ES3ClientArgsCreator._default_get_make_request_args.<locals>.<genexpr>ys���:�#:�a���	�	�#:�s��_ror1�*F)r�r1�use_double_uri_encode�should_normalize_uri_path�signing_config�
resource_name)r�rr
)r�rr`rr��DEFAULTr�r��split�_S3ArnParamHandler�
handle_arnrrrr�
V4_ASYMMETRICr �V4_S3EXPRESS)
r\r�r�r�r�r�r�r��arn_handler�accesspoint_arn_detailss
&&&&&&&   r+r��2S3ClientArgsCreator._default_get_make_request_args`sf��
�t�/�/�F�F���
�G��|�1�1�3�]�5J�5J��
�t�,�,��� 4��
�4�0�0���D�
���V�$�
�(=�(=�=�24�'�'�:�#/�#5�#5�c�#:�:�3��.�/�)�*��'2�'=�'=�i�>N�>N�'O�O�#�O�%�h�/�2�5�
3C�-�;�;��&+�*/�	3��.�/� 7��G�I��!� �!��!1�!1�
2�
2�3C�-�:�:�&+�*/�3��.�/�
!� rI)r�r�r�)r�r�r�r�r`r�r�r�rr�r�r�r�s@r+rSrS�s*����"�
�"$�2-!�^"!�H4!�4!rIrSc�,a�]tRtRtoRtRtRtVtR#)r�i�c�6�WnW nW0nW@nR#r")r��_final_filename�_temp_filenamerQ)r\r��final_filename�
temp_filenamer_s&&&&&r+r`�RenameTempFileHandler.__init__�s��'��-��+���rIc��VR,pV'd(VPPVP4R#VPPVPVP4R# \
dLpTPPTP4TPPT4Rp?R#Rp?ii;i)r�N)rQ�remove_filer�rename_filerr�r�r�)r\r�r�r�s&,  r+r��RenameTempFileHandler.__call__�s����w�����L�L�$�$�T�%8�%8�9�
3����(�(��'�'��)=�)=����
3����(�(��)<�)<�=��!�!�/�/��2�2��
3�s�0A,�,C�7AB=�=C)r�rrQrN�r�r�r�r�r`r�r�r�r�s@r+r�r��s�����3�3rIr�c�,a�]tRtRtoRtRtRtVtR#)r�i�c��WnR#r"�r�r�s&&r+r`�AfterDoneHandler.__init__�s��'�rIc�:�VPP4R#r")r�r�r�s&,r+r��AfterDoneHandler.__call__�s�����5�5�7rIr'Nr$r�s@r+r�r��s����(�8�8rIr�c�,a�]tRtRtoRtRtRtVtR#)r�i�c��WnR#r"��_fileobj)r\rts&&r+r`�OnBodyFileObjWriter.__init__�s���
rIc�<�VPPV4R#r")r.�write)r\r�r�s&&,r+r��OnBodyFileObjWriter.__call__�s���
�
���E�"rIr-Nr$r�s@r+r�r��s���� �#�#rIr�c�`a�]tRtRtoRt]P!R4tRtRt	Rt
RtRtVt
R	#)
ri�z�Partial port of S3ArnParamHandler from botocore.

This is used to make a determination on MRAP accesspoints for signing
purposes. This should be safe to remove once we properly integrate auth
resolution from Botocore into the CRT transfer integration.
zA^(?P<resource_type>accesspoint|outpost)[/:](?P<resource_name>.+)$c�$�\4VnR#r")r�_arn_parserrds&r+r`�_S3ArnParamHandler.__init__�s��$�;��rIc�T�VPV4pVfR#VR,R8XdV#R#)N�
resource_type�accesspoint)�_get_arn_details_from_bucket�r\rr�arn_detailss&& r+r�_S3ArnParamHandler.handle_arn�s3���7�7��?�������'�=�8���9rIc��VPPV4pVPV4V# \dR#i;ir")r5�	parse_arn�_add_resource_type_and_namerr;s&& r+r:�/_S3ArnParamHandler._get_arn_details_from_bucket�sF��	��*�*�4�4�V�<�K��,�,�[�9����"�	���	�s�-0�?�?c��VPPVR,4pV'd+VPR4VR&VPR4VR&R#R#)r�r8rN)�_RESOURCE_REGEXr��group)r\r<r�s&& r+r@�._S3ArnParamHandler._add_resource_type_and_name�sK���$�$�*�*�;�z�+B�C���+0�;�;��+G�K��(�+0�;�;��+G�K��(�rI)r5N)r�r�r�r�r��re�compilerCr`rr:r@r�r�r�s@r+rr�s8������j�j�L��O�'���H�HrIrr")G�loggingrFrX�ior�awscrt.httpr$�	awscrt.s3�botocore.awsrequestrX�botocore.session�awscrt.authrrrr�	awscrt.iorr	r
rrr
rrr�botocore.compatr�botocore.configr�botocore.exceptionsr�botocore.utilsrr�s3transfer.constantsrr�s3transfer.exceptionsr�s3transfer.futuresrr�s3transfer.managerr�s3transfer.utilsrrrrr �	getLoggerr�rLr#r,rHr=rOr�r�r
rr[r�r�rSr�r�r�rrcrIr+�<module>rZs@���	�����������@�?��$�"�2�9�>�6�C�.���
�	�	�8�	$�����6"����"�f���R�j�$H�H�V"�&�"�*#B�*�#B�L?�?�&b,�#;�b,�J�g��*�*�&F<�F<�Rv!�v!�r3�3�,8�8�#�#�#H�#HrI

Youez - 2016 - github.com/yon3zu
LinuXploit