PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  [c@sddlZddlZddlZddlmZmZmZddlmZddlmZddl Z ddl Z dZ dZ de fdYZd e jfd YZd efd YZd efdYZdefdYZdd dYZdddZddddZdd!dYZdd"dYZddZddZeZdd#dYZdS($iN(tIntTypet StringTypetListType(tSmartIO(t UserDictCases 2.5.65-8.el7it NotProcessedcBseZRS((t__name__t __module__(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRst TransportcBseZdeZdddddddZddZdZdZdZ dddZ d Z d Z d Z d Zd ZdZddZdZdZdZdZRS(srhn.rpclib.py/%sicCsidd6dd6|_|jd|d|t|_d|_d|_d|_d|_||_ ||_ d|_ d|_ d|_ d|_d|_||_||_dS(NittransfertencodingtPOSTi@(t_transport_flagstset_transport_flagsRt_headerstverbosetNonet connectiontmethodt_langtrefreshCallbacktprogressCallbackt bufferSizet headers_intresponse_statustresponse_reasont _redirectedt _use_datetimettimeout(tselfR R RRt use_datetimeR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt__init__%s              i@cCs||_||_dS(N(RR(RRR((s2/usr/lib/python2.7/site-packages/rhn/transports.pytset_progress_callback9s cCs ||_dS(N(R(RR((s2/usr/lib/python2.7/site-packages/rhn/transports.pytset_refresh_callback>scCs"|dkrd}n||_dS(Ni@(RR(RR((s2/usr/lib/python2.7/site-packages/rhn/transports.pytset_buffer_sizeDs  cCs)|dkrtd|n||_dS(NtGETR sUnknown request method %s(R#sPOST(tIOErrorR(RR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt set_methodLs cKsV|jj||dk r,||jdthandlert request_bodyRt extra_headerstx509Rtreqtheadertvalueththeaderstfd((s2/usr/lib/python2.7/site-packages/rhn/transports.pytrequests<           cCst|jd|jd|j}|j|}t|tr|t|j|j |j d|jd|j}|j |_ |S|j |j |S(NRR( tInputRRRtdecodeR6t InputStreamtFileRXtlengthR2tclosetparse_response(RRXRtresptf((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRNs !   cCs|jS(N(R(R((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt redirectedscCs|j\}}xZ|jd}|s.Pn|jrD|jn|jr_dGt|GHn|j|q|j|j|jS(Nisbody:(t getparsertreadRRtreprtfeedR_(RRbtptutresponse((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR`s     cCs ||_dS(N(R(Rtlang((s2/usr/lib/python2.7/site-packages/rhn/transports.pytsetlangsN(RRt __version__RDRRR R!R"R%R R*R'R4R9R;R?RYRNRcR`Rl(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR"s&           8   t SafeTransportcBs5eZdddddddZdZdZRS(ic CsVtj|||d|d|d|g|_x!|p:gD]}|j|q;WdS(NRRR(RRt trusted_certstadd_trusted_cert(RR R RRRoRtcertfile((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRs   cCs9tj|tjs%td|n|jj|dS(Ns%Certificate file %s is not accessible(tostaccesstR_OKt ValueErrorRoR7(RRq((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRpscCsr|j|\}}}|jr0d|fGHn|jrXtj|d|jd|jStj|d|jSdS(NsConnecting via https to %sRoR(RBRRR<tHTTPSConnectionRo(RR>RQRR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR?s    N(RRRRRpR?(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRns  tProxyTransportcBs/eZddddddddZdZRS(ic CsDtj|||d|d|d|||_||_||_dS(NRRR(RRt_proxyt_proxy_usernamet_proxy_password( Rtproxyt proxyUsernamet proxyPasswordR R RRR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRs    c Cs|jr*d||j|j|jfGHn|jratj|j|d|jd|jd|jStj|j|d|jd|jSdS(Ns8Connecting via http to %s proxy %s, username %s, pass %stusernametpasswordR(RRxRyRzRR<tHTTPProxyConnection(RR>((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR?s   N(RRRRR?(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRws  tSafeProxyTransportc Bs;eZdddddddddZdZdZRS(ic Csktj||d|d|d|d|d|d|d| g|_x!|pOgD]} |j| qPWdS(NR|R}R R RRR(RwRRoRp( RR{R|R}R R RRRoRRq((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR*s   cCs9tj|tjs%td|n|jj|dS(Ns%Certificate file %s is not accessible(RrRsRtRuRoR7(RRq((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRp7sc Cs|jr*d||j|j|jfGHn|jrjtj|j|d|jd|jd|jd|jStj|j|d|jd|jd|jSdS(Ns9Connecting via https to %s proxy %s, username %s, pass %sR~RRoR(RRxRyRzRR<tHTTPSProxyConnectionRo(RR>((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR?<s  N(RRRRRpR?(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR)s   RZcBsDeZdddddZejdZejdZdZRS(ii@cCsYd|_d|_d|_d|_d|_d|_||_||_||_ |sPt j j drt j dj |_nt j j drt j dj |_nt j j drt j dj |_nt j j drtt j d|_nt j j dr(t j d|_nt j j d rLt j d |_qLnx|jD]}||}|j }|d kryt||_WqHtk rd|_qHXq]|d kr|j |_q]|d kr|j |_q]|d kr|j |_q]|dkr0|j |_q]|dkr]||_q]q]Wd|_dS(NitCttHTTP_CONTENT_TRANSFER_ENCODINGtHTTP_CONTENT_ENCODINGs CONTENT-TYPEtCONTENT_LENGTHtHTTP_ACCEPT_LANGUAGEtHTTP_X_PACKAGE_FILENAMEscontent-lengthscontent-transfer-encodingscontent-encodings content-typesaccept-languagesx-package-filename(RR R R/R^RkR2RRt max_mem_sizeRrtenvironR5tlowertinttkeysRutio(RRWRRRRTRURV((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRbsR                  c Cs|jdkrdS|jrOt||jd|jd|jd|j|_nt||_|j sw|jdkr{dS|jdkrddl }|j}|j ddt d|j|_|j ||jnt |jdS( Nsapplication/octet-streamRRRtbinarytbase64ii(R/R^t _smart_readRRRRt_smart_total_readR RtseekRR[tNotImplementedError(RRXRtold_io((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRes"     cCs|jdkr.t||j|jd|jS|jsG|j|nt|drc|jn|j s|jdkrnd|jdkrddl }|j }|jj dd|j |jj|j }~t||_td|j|_|jj|n|jdkrddl}|jj dd|jd d d td|j}|j}t||_td|j|_|jj|n<|jdkrt|j|jnt|j|j|jj dd|jS(Nsapplication/octet-streamR_t__plainsx-zlibtdeflateiiRsx-gziptgziptmodetrbt compressleveltfileobjsx-gpg(sx-zlibR(sx-gzipsgzip(R/R\R^R2R_RRethasattrR tzlibt decompressobjRt decompresstflushtlenRRtwriteRtGzipFiletCOMPRESS_LEVELRR (RRXRtobjtdataRtgz((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR[s>    "   cCs|jS(N(Rk(R((s2/usr/lib/python2.7/site-packages/rhn/transports.pytgetlangsN( RRRRtsyststdinReR[R(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRZas   70ii@cCs?td|}x)|j|}|s+Pn|j|q|S(s Tries to read data from the supplied stream, and puts the results into a StmartIO object. The data will be in memory or in a temporary file, depending on how much it's been read Returns a SmartIO object R(RReR(RXRRRtchunk((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRscCs0tj}|}td|}|}x|dkrtj} t||} |j| } t| } | svPn|| }|j| |dkrq*n| |dks|dkr*| }t||} | | |d} |dkrd}n || }|| || |q*q*W|jdd|S(NRiigư>( ttimeRtminReRRRtfloatR(RXtamtRRRt startTimetlastTimetbuftorigsizetcurTimetlRt bytesReadtspeedtsecs((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRs2         R\cBs eZdddZdZRS(s cCs.||_t||_||_||_dS(N(RXRR^R2R_(RRXR^R2R_((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR7s  cCsd|j|jfS(Ns0Input data is a stream of %d bytes for file %s. (R^R2(R((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt__repr__=sN(RRRRR(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR\6st BaseOutputcBseZdZdZdZdZdZdZdZddgddgddgd ggZ dd d gZ dddd d Z dZ dZdZdddZddZdZdZRS(iiiiRsx-gzipRsx-zlibRsx-gpgRRR cCs|r*t|tjs*tdq*n||_||_d|_t|_ d|_ d|_ i|_ d|_ d|_d|_d|_d|_d|_|jd|d|d|_dS(Ns&Expected an HTTPConnection type objectiR R (R6R<R=t ExceptionRt _connectionRRRRWR R ttransport_flagsR~Rt_hostt_handlert _http_typet _protocolR t_BaseOutput__processed(RR R RR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR]s$             cCs]t|tgtdgkrFdjtt||j|RORj((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRKs       cCsj|jdkrdS|jd kr&dS|jdkr9dS|jjdsOdS|jdd krfdSdS( s*Returns true if the response is acceptableiii-i.iitallow_partial_contents Content-Typesapplication/octet-stream(i-i.(RLRR,R(RRj((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRscCs&|jr"|jjd|_ndS(N(RR_R(R((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR_s  N(RRt ENCODE_NONERRRt TRANSFER_NONERRRRRRR4RJRIR RKRR_(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRCs,        5  icCs|dkrdSt|trHd|ko?ttjknrH|St|trx=tttjD]#}tj||jkrm|SqmWn|rt d|ndS(sTGiven a string or numeric representation of a transfer, return the transfer codeisUnsupported transfer %sN( RR6RRRFRRtrangeRRu(R R+ti((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR-s 4 cCs|dkrdSt|trHd|ko?ttjknrH|St|trx=tttjD]#}|jtj|krm|SqmWn|rt d|ndS(sUGiven a string or numeric representation of an encoding, return the encoding codeisUnsupported encoding %sN( RR6RRRFRRRRRu(R R+R((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR.s 4 R]cBsMeZdddddZdZddZdZdZdZRS( ii@cCs`||_||_|j|_||_d|_|rS||jdd|_n||_dS(NRt/i(R^tfile_objR_RR2trfindR(RRR^R2RR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRs     cCs|jS(N(R^(R((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt__len__'scCs2|dkr"|j}|jS|jj|S(N(Rt _get_fileReR(RRRX((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRe*s   cCs?|j}x,|j|j}|s+Pn|j|q|S(sHCopies the contents of this File object into another file object(RReRR(RtfileRXR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt read_to_file2s cCso|jrCt|j|jd|jd|j}|jddnt|jd|j}|jdd|S(sRead everything into a temporary file and call the progress callbacks if the file length is defined, or just reads till EOFRRi(R^RRRRRR(RR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR=s   cCs#|jr|jd|_ndS(N(R_R(R((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt__del__Ks  N( RRRRRReRRR(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR]s   (((((RrRRttypesRRRRRR<RRmRRRRRnRwRRZRRRR\RR-R.RFR](((s2/usr/lib/python2.7/site-packages/rhn/transports.pyts0     8 ;