{L i1ddlZddlmZddlmZddlmZmZmZddl m Z m Z ddl m Z edZd Zd Zd Zd Zd ZdZdZdZdZd d d d d ddddd ZdZGddeeZeGddZGddedZe j<e j>e j@e jBdZ"idddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>id?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddZ#iddedfdgddhdidjdkdldmdndodpdqdrdsdtdudvddwdxdydzd{d|d}d~dddddiddddddddddddddddddddddddddddddddddidddddddddddddddddddddddddddddd“d!dÓddœddddddddddddddӜ Z$dddddddddddޜ Z%de&de'fdZ(y)N) dataclass)Enum)LiteralOptional TypedDict)CurlOptCurlSslVersion)CurlCffiWarning)/edge99edge101chrome99 chrome100 chrome101 chrome104 chrome107 chrome110 chrome116 chrome119 chrome120 chrome123 chrome124 chrome131 chrome133a chrome136chrome99_androidchrome131_android safari153 safari155 safari170 safari172_ios safari180 safari180_ios safari184 safari184_ios safari260 safari260_ios firefox133 firefox135tor145chromeedgesafari safari_ios safari_betasafari_ios_betachrome_androidfirefox safari15_3 safari15_5 safari17_0safari17_2_ios safari18_0safari18_0_ios safari18_4safari18_4_iosrr r$r%r&r'rr)r*) r+r,r-r.r/r0r1r2torc|dk(rtS|dk(rtS|dk(rtS|dk(rtS|dk(rtS|dk(rt S|dk(rt S|dk(rtS|d k(rtS|S) Nr+r,r-r.r/r0r1r2r;) DEFAULT_CHROME DEFAULT_EDGEDEFAULT_SAFARIDEFAULT_SAFARI_IOSDEFAULT_SAFARI_BETADEFAULT_SAFARI_IOS_BETADEFAULT_CHROME_ANDROIDDEFAULT_FIREFOX DEFAULT_TOR)items d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/curl_cffi/requests/impersonate.pynormalize_browser_typerHcs x     !!  "" " "&& ! !%%    ceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'y&)' BrowserTyper r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r3r4r5r6r7r8N)(__name__ __module__ __qualname__r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r3r4r5r6r7r8rIrGrKrKzs FGHIIIIIIIIIIIJI)+III#MI#MI#MI#MJJ FJJJ%NJ%NrIrKceZdZUejZeed<dZe ed<dZ e ed<dZ e ded<dZ eeeed <d Zeed <d Zeed <dZeed<dZeed<dZe ed<y)ExtraFingerprintstls_min_versionF tls_greasetls_permute_extensionsbrotlizlibrUtls_cert_compressionNtls_signature_algorithmstls_delegated_credentialrtls_record_size_limithttp2_stream_weighthttp2_stream_exclusivehttp2_no_priority)rLrMrNr TLSv1_2rRint__annotations__rSboolrTrXrrYrliststrr[r\r^r`rarOrIrGrQrQs)11OS1J#(D(6>'"23>48htCy18$&c&!"3""""#C##t#rIrQceZdZUeed<eed<eed<eded<eee ed<e ed<eed<eed <eed <eed <y ) ExtraFpDictrRrSrTrVrXrYr[r\r^r`raN) rLrMrNrcrdrerrrfrgrOrIrGririsM  !"233&tCy11!!rIriF)total)iiii TLS_RSA_WITH_3DES_EDE_CBC_SHA/TLS_RSA_WITH_AES_128_CBC_SHA3 TLS_DHE_RSA_WITH_AES_128_CBC_SHA5TLS_RSA_WITH_AES_256_CBC_SHA9 TLS_DHE_RSA_WITH_AES_256_CBC_SHA<TLS_RSA_WITH_AES_128_CBC_SHA256=TLS_RSA_WITH_AES_256_CBC_SHA256g#TLS_DHE_RSA_WITH_AES_128_CBC_SHA256k#TLS_DHE_RSA_WITH_AES_256_CBC_SHA256TLS_PSK_WITH_AES_128_CBC_SHATLS_PSK_WITH_AES_256_CBC_SHATLS_RSA_WITH_AES_128_GCM_SHA256TLS_RSA_WITH_AES_256_GCM_SHA384#TLS_DHE_RSA_WITH_AES_128_GCM_SHA256#TLS_DHE_RSA_WITH_AES_256_GCM_SHA384iTLS_AES_128_GCM_SHA256iTLS_AES_256_GCM_SHA384iTLS_CHACHA20_POLY1305_SHA256i%TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHAi $TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHAi $TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHAi#TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHAi"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHAi"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHAi#'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256i$'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384i'%TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256i(%TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384i+'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256i,'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384i/%TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256i0%TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384i5"TLS_ECDHE_PSK_WITH_AES_128_CBC_SHAi6"TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA+TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256-TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256+TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256)iii server_namer_max_fragment_lengthclient_certificate_urltrusted_ca_keystruncated_hmacstatus_request user_mapping client_authz server_authz cert_typesupported_groups ec_point_formats srp signature_algorithmsuse_srtp heartbeat&application_layer_protocol_negotiationstatus_request_v2signed_certificate_timestampclient_certificate_typeserver_certificate_typepaddingencrypt_then_macextended_master_secret token_binding cached_infotls_ltscompress_certificaterecord_size_limit pwd_protect pwd_clear password_salt ticket_pinning!tls_cert_with_extern_psk"delegated_credential#session_ticket$TLMSP%TLMSP_proxying&TLMSP_delegate'supported_ekt_ciphers)pre_shared_key* early_data+supported_versions,cookie-psk_key_exchange_modescertificate_authorities0 oid_filters1post_handshake_auth2signature_algorithms_cert key_share4transparency_info connection_idexternal_id_hashexternal_session_idquic_transport_parametersticket_request dnssec_chain%sequence_number_encryption_algorithmsrrcapplication_settingszapplication_settings newech_outer_extensionsencrypted_client_hellorenegotiation_info) 678rs:;rurwiDDi izP-192zP-224zP-256zP-384zP-521X25519 ffdhe2048 ffdhe3072X25519MLKEM768X25519Kyber768Draft00) rrrrrrr]iiic extension_idenablec|dk(rD|r!|jtjdy|jtjdy|dk(r`|r=tjdt d|jtj dy|jtj dy|d k(rD|r!|jtjdy|jtjd y|d k(r|rA|jtjd|jtjdy|jtjd |jtjd y|d k(r td |d k(rD|r!|jtjdy|jtjd y|dk(r$|r!|jtjdyy|dk(r$|r!|jtjdyy|dk(rD|r!|jtjdy|jtjd y|dk(ry|dvrytd|d)NrgreaserZrzTCert compression setting to brotli, you had better specify which to use: zlib/brotlir_) stacklevelrUrrrz>It's unlikely that the server_name(0) extension being changed.rrrrr)rrzThis extension(z6) can not be toggled for now, it may be updated later.)setoptr ECHwarningswarnr SSL_CERT_COMPRESSIONSSL_ENABLE_ALPSTLS_USE_NEW_ALPS_CODEPOINTNotImplementedErrorSSL_ENABLE_ALPNTLS_STATUS_REQUESTTLS_SIGNED_CERT_TIMESTAMPSSSL_ENABLE_TICKET)curlrrs rGtoggle_extensionr*ps u  KK X . KK R (    MMC   KK44h ? KK44b 9    KK// 3 KK// 3    KK// 3 KK::A > KK// 3 KK::A >  ! L      KK// 3 KK// 3    KK22A 6     KK::A >     KK111 5 KK111 5    ! !l^,   rI))r dataclassesrenumrtypingrrrconstr r utilsr BrowserTypeLiteralr=r>r?r@rArBrCrDrEREAL_TARGET_MAPrHrgrKrQriTLSv1_0TLSv1_1rbTLSv1_3TLS_VERSION_MAPTLS_CIPHER_NAME_MAPTLS_EXTENSION_NAME_MAPTLS_EC_CURVES_MAPrcrer*rOrIrGr9s!//+#3?D $!),  !&)  .'&#t'&T  $ $  $ )5   " "  " "  " "  " " & +& *& .& * &  . &  - & -& 1& 1& *& *& -& -& 1& 1&  $!&" $#&$ *%&& 3'&( 2)&* 2+&, 1-&. 0/&0 01&2 53&4 55&6 37&8 39&: 5;&< 5=&> 3?&@ 3A&B 0C&D 0E&F : ; 9K&Vi}iii i  i  i~i~i~i{iiiii i  !i"0#i$%i&&'i(!)i*!+i, -i./i0 1i23i4 5i6 7i89i:;i< =i> ?i@AiBCiD"EiFGiHIiJKiLMiNOiPQiTUiV WiXYiZ[i\ ]i`!aib cideif#gih iijkin #/ ! %D " # OiZ     " C C dC rI