
    Y jU                     X    S r  " S S5      r " S S5      r " S S5      r " S S5      rg	)
zThe Proxy implementation.c                   (    \ rS rSrSr\S 5       rSrg)ProxyTypeFactory   zFactory for proxy types.c                 
    XS.$ )Nff_valuestring r   s     p/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/selenium/webdriver/common/proxy.pymakeProxyTypeFactory.make   s    $77    r	   N)__name__
__module____qualname____firstlineno____doc__staticmethodr   __static_attributes__r	   r   r
   r   r      s    "8 8r   r   c                   $   \ rS rSrSr\R                  SS5      r\R                  SS5      r\R                  SS5      r	\R                  S	S
5      r
\R                  SS5      r\R                  SS5      r\R                  SS5      r\S 5       rSrg)	ProxyType   zSet of possible types of proxy.

Each proxy type has 2 properties: 'ff_value' is value of Firefox
profile preference, 'string' is id of proxy type.
    DIRECT   MANUAL   PAC   	RESERVED1   
AUTODETECT   SYSTEM   UNSPECIFIEDc                 "   [        U[        5      (       a  SU;   a  US   n[        U5      R                  5       n[	        U 5       H:  n[        X5      n[        U[        5      (       d  M%  SU;   d  M-  US   U:X  d  M8  Us  $    [        SU 35      e)Nr   zNo proxy type is found for )
isinstancedictstrupperdirgetattr	Exception)clsvalueattr
attr_values       r
   loadProxyType.load,   s    eT""x5'8(OEE
  "HD +J*d++J0F:V^K_chKh!!  5eW=>>r   r	   N)r   r   r   r   r   r   r   r   r   r   
RESERVED_1r!   r#   r%   classmethodr2   r   r	   r   r
   r   r      s     ""1h/F""1h/F


5
)C!&&q+6J!&&q,7J""1h/F"''=9K? ?r   r   c                   &    \ rS rSrS rS rS rSrg)_ProxyTypeDescriptor8   c                     Xl         X l        g Nnamep_type)selfr<   r=   s      r
   __init___ProxyTypeDescriptor.__init__9   s    	r   c                 ,    [        XR                  5      $ r:   )r,   r<   )r>   objr.   s      r
   __get___ProxyTypeDescriptor.__get__=   s    sII&&r   c                     U R                   S:X  a   [        U[        5      (       d  [        S5      e[	        US5      " U R
                  5        [        USU R
                  5        [        XR                   U5        g )N
autodetectz,Autodetect proxy value needs to be a boolean _verify_proxy_type_compatibility	proxyType)r<   r'   bool
ValueErrorr,   r=   setattr)r>   rB   r/   s      r
   __set___ProxyTypeDescriptor.__set__@   sX    99$Zt-D-DKLL78E[$++.YY&r   r;   N)r   r   r   r   r?   rC   rL   r   r	   r   r
   r7   r7   8   s    ''r   r7   c                   &   \ rS rSrSr\R                  rSrSr	Sr
SrSrSrSrSrSr\" S\R$                  5      r \" S\R(                  5      r \" S\R(                  5      r \" S	\R.                  5      r \" S
\R(                  5      r \" S\R(                  5      r \" S\R(                  5      r \" S\R(                  5      r \" S\R(                  5      r SS\S-  4S jjr\ S 5       r!\!RD                  SS j5       r!S r#S r$S\4S jr%Sr&g)ProxyH   zGProxy configuration containing proxy type and necessary proxy settings.F NrF   	httpProxynoProxyproxyAutoconfigUrlsslProxy
socksProxysocksUsernamesocksPasswordsocksVersionrawc                    Uc  g[        U[        5      (       d  [        S[        U5       35      eUR	                  S5      (       a  [
        R                  US   5      U l        UR	                  S5      (       a
  US   U l        UR	                  S5      (       a
  US   U l	        UR	                  S5      (       a
  US   U l
        UR	                  S5      (       a
  US   U l        UR	                  S5      (       a
  US   U l        UR	                  S	5      (       a
  US	   U l        UR	                  S
5      (       a
  US
   U l        UR	                  S5      (       a
  US   U l        UR	                  S5      (       a  US   U l        gg)z]Creates a new Proxy.

Args:
    raw: Raw proxy data. If None, default class values are used.
Nz`raw` must be a dict, got rH   rR   rS   rT   rU   rF   rV   rW   rX   rY   )r'   r(   	TypeErrortypegetr   r2   
proxy_type
http_proxyno_proxyproxy_autoconfig_urlrU   auto_detectsocks_proxysocks_usernamesocks_passwordsocks_version)r>   rZ   s     r
   r?   Proxy.__init__r   sR    ;#t$$8cDEE77;'nnS-=>DO77;!+.DO779	NDM77'(((+,@(AD%77:
ODM77<  "<0D77<  "<0D77?##"%o"6D77?##"%o"6D77>""!$^!4D #r   c                     U R                   $ )z"Returns proxy type as `ProxyType`.)rH   )r>   s    r
   r_   Proxy.proxy_type   s     ~~r   returnc                 2    U R                  U5        Xl        g)z3Sets proxy type.

Args:
    value: The proxy type.
N)rG   rH   )r>   r/   s     r
   r_   rj      s     	--e4r   c                 |    U R                   [        R                  U4;  a  [        SU SU R                    S35      eg )NzSpecified proxy type (z') not compatible with current setting ())rH   r   r%   rJ   )r>   compatible_proxys     r
   rG   &Proxy._verify_proxy_type_compatibility   sK    >>)"7"79I!JJ()9(::abfbpbpaqqrs  Kr   c                     SU R                   S   R                  5       0n/ SQnU H  n[        X5      nU(       d  M  XAU'   M     U$ )NrH   r   )	rF   rR   rT   rU   rS   rV   rW   rX   rY   )rH   lowerr,   )r>   
proxy_capsproxiesproxyr1   s        r
   to_capabilitiesProxy.to_capabilities   sP    !4>>(#;#A#A#CD


 E -Jz$.5!  r   c                    U R                   S   R                  5       nSU0nUS:X  Gak  U R                  (       a  U R                  US'   U R                  (       a  U R                  US'   U R                  (       a  U R                  US'   U R
                  b  U R
                  US'   U R                  (       a  [        U R                  [        5      (       aU  U R                  R                  S5       Vs/ s H)  o3R                  5       (       d  M  UR                  5       PM+     snUS	'   U$ [        U R                  [        5      (       a=  [        S
 U R                   5       5      (       d  [        S5      eU R                  US	'   U$ [        S5      e U$ US:X  a   U R                  (       a  U R                  US'   U$ s  snf )zYConvert proxy settings to BiDi format.

Returns:
    Proxy configuration in BiDi format.
r   rH   manualrR   rU   rV   rY   ,rS   c              3   B   #    U  H  n[        U[        5      v   M     g 7fr:   )r'   r)   ).0hs     r
   	<genexpr>%Proxy.to_bidi_dict.<locals>.<genexpr>   s     H<az!S11<s   z'no_proxy list must contain only stringsz>no_proxy must be a comma-separated string or a list of stringspacrT   )rH   rr   rR   rU   rV   rY   rS   r'   r)   splitstriplistallr\   rT   )r>   r_   resulthosts       r
   to_bidi_dictProxy.to_bidi_dict   su    ^^H-335
z*!~~&*nn{#}}%)]]z"'+|$  ,)-):):~&||dllC00BF,,BTBTUXBY(jBY$]g]g]iBY(jF9%   d33H4<<HHH'(QRR(,F9%  $$dee  	 5 &&/3/F/F+, )ks   2F<F<)rc   r`   ra   rH   rb   r_   rf   rd   re   rg   rU   r:   )rk   N)'r   r   r   r   r   r   r%   rH   rF   rR   rS   rT   rU   rV   rW   rX   rY   r7   r!   rc   r   r`   ra   r   rb   	ssl_proxyrd   re   rf   rg   r(   r?   propertyr_   setterrG   rv   r   r   r	   r   r
   rO   rO   H   sQ   Q%%IJIGHJMML '|Y5I5IJK0%k93C3CDJ#Iy/?/?@H$/0DimmT&$Z1A1ABI&|Y5E5EFK)/9;K;KLN)/9;K;KLN(9I9IJM5D4K 5>    &!d !r   rO   N)r   r   r   r7   rO   r	   r   r
   <module>r      s4   $  8 8? ?6' ' R Rr   