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`  jbc @s/ddlZddlZddlmZddlmZddlmZejeZ e ej gZ de fdYZde fdYZd Zd d dd d dddd Zd d dd d ddddd Zd d dd d ddddd Zd d dd d ddddd ZdS(iN(tlog(t url_helper(tutiltMetadataLeafDecodercBs eZdZdZdZRS(s.Decodes a leaf blob into something meaningful.cCs<|s tS|j}|jdr8|jdr8tStS(Nt{t}(tFalsetstript startswithtendswithtTrue(tselfttext((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pyt_maybe_json_objects  cCs|s dSytj|}Wntk r1|SX|j|rytj|SWqttfk r}tj d||qXn|j ddkr|j S|S(Nts6Field %s looked like a json object, but it was not: %ss i( Rt decode_binarytUnicodeDecodeErrorR tjsontloadst ValueErrort TypeErrortLOGtwarningtfindt splitlines(R tfieldtblobte((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pyt__call__s   (t__name__t __module__t__doc__R R(((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pyRs tMetadataMaterializercBs/eZddZdZdZdZRS(cCsL||_d|_||_||_|dkr?t|_n ||_dS(N(t_blobtNonet_mdt _base_urlt_callerRt _leaf_decoder(R Rtbase_urltcallert leaf_decoder((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pyt__init__5s     c Cs8i}g}tj|}|s+||fSd}d}x|jD]}|j}||}| sJ| r|qJn|dkrqJn||r||kr*|j|q*qJ|jdd}|} t|dkr |\} } tj| } | dk r d| } | }q n| ||R=(((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pyR 4s + cCs |j|kS(s/Returns False if cause.code is in status_codes.(tcode(t status_codest _request_argstcause((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pytskip_retry_on_codesstlatestshttp://169.254.169.254ic Cstj||}tj|d}d} y[|sHtjtt}ntj|d|d|d|d|d|d|} | j} Wn^tjk r} | j tkrt j t d |qn$t k rt j t d |nX| S( Ns user-dataRt ssl_detailsttimeouttretriest exception_cbt headers_cbtheaders_redacts$Failed fetching userdata from url %s(RR?t functoolstpartialROtSKIP_USERDATA_CODEStread_file_or_urlR8tUrlErrorRKRtlogexcRt Exception( t api_versiontmetadata_addressRQRRRSRURVRTtud_urlt user_datatresponseR((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pytget_instance_userdatas$     c stj|||} tjtjd|d|d|d|d|d| fd} yS| } t| j| | d|} | j}t|t si}n|SWn(t k rt j t d || iSXdS( NRQRRRSRURVRTcs |jS(N(R8(turl(R((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pytmcallersR)sFailed fetching %s from url %s(RR?RWRXRZR R8R>t isinstancetdictR]RR\R(ttreeR^R_RQRRRSR)RURVRTtmd_urlReRbt materializertmd((R(s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pyt_get_instance_metadatas&        c CsCtddd|d|d|d|d|d|d |d |d | S( NRhs meta-data/R^R_RQRRRSR)RVRURT(Rl( R^R_RQRRRSR)RURVRT((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pytget_instance_metadatas  c CsCtddd|d|d|d|d|d|d |d |d | S( NRhsdynamic/instance-identityR^R_RQRRRSR)RVRURT(Rl( R^R_RQRRRSR)RURVRT((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pytget_instance_identitys   (RWRt cloudinitRtloggingRRt getLoggerRRt frozensett NOT_FOUNDRYtobjectRR ROR"RcRlRmRn(((s7/usr/lib/python2.7/site-packages/cloudinit/ec2_utils.pyt s@   U