§
    Ó†¹jê  ã                   ó&  — d Z ddlZddlZddlZdd„Zedk    røej        d         Z ee¦  «        \  ZZ	Z
 ede¦  «         dej        v r ej        d¦  «         d	ej        v r ee	dd
…         ¦  «         dZ eej        ¦  «        D ]]\  ZZed	k    rRedz    eej        ¦  «        k     r;ej        edz                                 ¦   «         r eej        edz            ¦  «        ZŒ^e
                     dd¦  «        Z eede…         ¦  «         dS dS )z�Fetch URL lewat `openssl s_client` (workaround: curl ke host klien hang di mesin ini).

Pakai:
    python3 openssl_fetch.py <url> [--head N] [--status-only]
é    Né<   c           
      ó  — t          j        d| ¦  «        }|                     d¦  «        }|                     d¦  «        pd}d|›d|›d�}|pg D ]
}||dz   z  }Œ|dz  }t          j        d	d
ddd|z  d|dg|                     ¦   «         d|¬¦  «        }|j        }	|	                     d¦  «        \  }
}}|
                     dd¦  «        }d }t          j	        d|¦  «        }|r"t          |                     d¦  «        ¦  «        }|||fS )Nzhttps?://([^/]+)(/.*)?$é   é   ú/zGET z HTTP/1.1
Host: zD
User-Agent: Mozilla/5.0 (Hermes)
Accept: */*
Connection: close
z
ÚopensslÚs_clientz-quietz-connectz%s:443z-servernamez-ign_eofT)ÚinputÚcapture_outputÚtimeouts   

úutf-8ÚreplacezHTTP/1\.[01] (\d{3}))ÚreÚmatchÚgroupÚ
subprocessÚrunÚencodeÚstdoutÚ	partitionÚdecodeÚsearchÚint)ÚurlÚextra_headersr   ÚmÚhostÚpathÚreqÚhÚpÚrawÚheadÚ_ÚbodyÚhead_txtÚstatusÚsms                   ú@/home/mantapman/.hermes/profiles/atun/workspace/openssl_fetch.pyÚfetchr*   	   sE  € Ý
ŒÐ+¨SÑ1Ô1€AØ�7Š7�1‰:Œ:€DØ�7Š7�1‰:Œ:Ð˜€D€DØw{Ðw{Ðw{ð  ~Bð  ~Bð  ~Bð  C€CØÐ!˜rð ð ˆØˆq�6‰zÑˆˆØˆ6�M€CÝŒ˜	 :¨x¸ÀXÐPTÁ_Ø% t¨Zð9à ŸZšZ™\œ\¸$Èð	Qñ 	Qô 	Q€Að Œ(€CØ—M’M +Ñ.Ô.�M€Dˆ!ˆTØ�{Š{˜7 IÑ.Ô.€HØ€FÝ	ŒÐ*¨HÑ	5Ô	5€BØ	ð "Ý�R—X’X˜a‘[”[Ñ!Ô!ˆØ�8˜TÐ!Ð!ó    Ú__main__r   zSTATUS:z--status-onlyz--headiÐ  i¸  r   r   )Nr   )Ú__doc__r   r   Úsysr*   Ú__name__Úargvr   Ústr#   r%   ÚprintÚexitÚnÚ	enumerateÚiÚaÚlenÚisdigitr   r   Útxt© r+   r)   ú<module>r<      su  ððð ð
 Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð ð"ð "ð "ð "ð* ˆzÒÐØ
Œ(�1Œ+€CØ�U˜3‘Z”Z�N€BˆˆdØ	€Eˆ)�RÑÔÐØ˜#œ(Ð"Ð"ØˆŒ�‰ŒˆØ�3”8ÐÐØˆˆd�5�D�5ŒkÑÔÐØ€AØ�	˜#œ(Ñ#Ô#ð %ð %‰ˆˆ1Ø�Š=ˆ=˜Q ™U S S¨¬¡]¤]Ò2Ð2°s´xÀÀAÁ´×7NÒ7NÑ7PÔ7PÐ2Ø��C”H˜Q ™U”OÑ$Ô$ˆAøØ
�+Š+�g˜yÑ
)Ô
)€CØ	€Eˆ#ˆbˆqˆbŒ'�N„N€N€N€Nð Ðr+   