PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/lib64/python2.7
Viewing File: /usr/lib64/python2.7/uuid.pyc
� zfc@s�dZddlZdZddddg\ZZZZdefd ��YZd �Z d �Z d �Z d �Z d�Z d�Zd�Zd�ZdZZdZyLddlZddlZddlZdgZejjd�s�ejd�nxeeD]]Zyejejje��Z Wn q�nXe!e d�r�e j"Ze#e d�ZPq�q�W[ejdkr�ddlZe$ej%�dj&d�d�dkr�dZq�nyej'j(Z Wn dZ nXe#e de#e dd��ZWnnXd�Z)d�Z*d �Z+da,e*eegZ-e)e e e egZ.d!�Z/da0ddd"�Z1d#�Z2d$�Z3d%�Z4ed&�Z5ed'�Z6ed(�Z7ed)�Z8dS(*s(UUID objects (universally unique identifiers) according to RFC 4122. This module provides immutable UUID objects (class UUID) and the functions uuid1(), uuid3(), uuid4(), uuid5() for generating version 1, 3, 4, and 5 UUIDs as specified in RFC 4122. If all you want is a unique ID, you should probably call uuid1() or uuid4(). Note that uuid1() may compromise privacy since it creates a UUID containing the computer's network address. uuid4() creates a random UUID. Typical usage: >>> import uuid # make a UUID based on the host ID and current time >>> uuid.uuid1() UUID('a8098c1a-f86e-11da-bd1a-00112444be1e') # make a UUID using an MD5 hash of a namespace UUID and a name >>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org') UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e') # make a random UUID >>> uuid.uuid4() UUID('16fd2706-8baf-433b-82eb-8c7fada847da') # make a UUID using a SHA-1 hash of a namespace UUID and a name >>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org') UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d') # make a UUID from a string of hex digits (braces and hyphens ignored) >>> x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}') # convert a UUID to a string of hex digits in standard form >>> str(x) '00010203-0405-0607-0809-0a0b0c0d0e0f' # get the raw 16 bytes of the UUID >>> x.bytes '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' # make a UUID from a 16-byte string >>> uuid.UUID(bytes=x.bytes) UUID('00010203-0405-0607-0809-0a0b0c0d0e0f') i����NsKa-Ping Yee <ping@zesty.ca>sreserved for NCS compatibilitysspecified in RFC 4122s$reserved for Microsoft compatibilitysreserved for future definitiontUUIDcBs�eZdZddddddd�Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z e e �Z d �Ze e�Zd �Ze e�Zd �Ze e�Zd �Ze e�Zd �Ze e�Zd�Ze e�Zd�Ze e�Zd�Ze e�Zd�Ze e�Zd�Z e e �Z!d�Z"e e"�Z#d�Z$e e$�Z%d�Z&e e&�Z'd�Z(e e(�Z)RS(s�Instances of the UUID class represent UUIDs as specified in RFC 4122. UUID objects are immutable, hashable, and usable as dictionary keys. Converting a UUID to a string with str() yields something in the form '12345678-1234-1234-1234-123456789abc'. The UUID constructor accepts five possible forms: a similar string of hexadecimal digits, or a tuple of six integer fields (with 32-bit, 16-bit, 16-bit, 8-bit, 8-bit, and 48-bit values respectively) as an argument named 'fields', or a string of 16 bytes (with all the integer fields in big-endian order) as an argument named 'bytes', or a string of 16 bytes (with the first three fields in little-endian order) as an argument named 'bytes_le', or a single 128-bit integer as an argument named 'int'. UUIDs have these read-only attributes: bytes the UUID as a 16-byte string (containing the six integer fields in big-endian byte order) bytes_le the UUID as a 16-byte string (with time_low, time_mid, and time_hi_version in little-endian byte order) fields a tuple of the six integer fields of the UUID, which are also available as six individual attributes and two derived attributes: time_low the first 32 bits of the UUID time_mid the next 16 bits of the UUID time_hi_version the next 16 bits of the UUID clock_seq_hi_variant the next 8 bits of the UUID clock_seq_low the next 8 bits of the UUID node the last 48 bits of the UUID time the 60-bit timestamp clock_seq the 14-bit sequence number hex the UUID as a 32-character hexadecimal string int the UUID as a 128-bit integer urn the UUID as a URN as specified in RFC 4122 variant the UUID variant (one of the constants RESERVED_NCS, RFC_4122, RESERVED_MICROSOFT, or RESERVED_FUTURE) version the UUID version number (1 through 5, meaningful only when the variant is RFC_4122) cCs�|||||gjd,�dkr3td��n|d,k r�|jdd�jdd�}|jd�jdd�}t|�dkr�td ��nt|d �}n|d,k r%t|�d kr�td ��n|d |d |d|d|d|d|d|d|d}n|d,k r{t|�d krRtd��ntdd tt t |��d �}n|d,k r�t|�dkr�td��n|\}}} } } } d|ko�d-kns�td��nd|kod.knstd��nd| ko-d/knsAtd��nd| koXd0knsltd��nd| ko�d1kns�td��nd| ko�d2kns�td ��n| d>| B} |d!>|d">B| d#>B| d>B| B}n|d,k r3d|kod3kns3td%��q3n|d,k r�d|koVdknsjtd&��n|d5M}|d6O}|d8M}||d*>O}n||j d+<d,S(9smCreate a UUID from either a string of 32 hexadecimal digits, a string of 16 bytes as the 'bytes' argument, a string of 16 bytes in little-endian order as the 'bytes_le' argument, a tuple of six integers (32-bit time_low, 16-bit time_mid, 16-bit time_hi_version, 8-bit clock_seq_hi_variant, 8-bit clock_seq_low, 48-bit node) as the 'fields' argument, or a single 128-bit integer as the 'int' argument. When a string of hex digits is given, curly braces, hyphens, and a URN prefix are all optional. For example, these expressions all yield the same UUID: UUID('{12345678-1234-5678-1234-567812345678}') UUID('12345678123456781234567812345678') UUID('urn:uuid:12345678-1234-5678-1234-567812345678') UUID(bytes='\x12\x34\x56\x78'*4) UUID(bytes_le='\x78\x56\x34\x12\x34\x12\x78\x56' + '\x12\x34\x56\x78\x12\x34\x56\x78') UUID(fields=(0x12345678, 0x1234, 0x5678, 0x12, 0x34, 0x567812345678)) UUID(int=0x12345678123456781234567812345678) Exactly one of 'hex', 'bytes', 'bytes_le', 'fields', or 'int' must be given. The 'version' argument is optional; if given, the resulting UUID will have its variant and version set according to RFC 4122, overriding the given 'hex', 'bytes', 'bytes_le', 'fields', or 'int'. is0need one of hex, bytes, bytes_le, fields, or intsurn:tsuuid:s{}t-i s$badly formed hexadecimal UUID stringis bytes_le is not a 16-char stringiiiiiiiisbytes is not a 16-char strings%02xsfields is not a 6-tuplel s*field 1 out of range (need a 32-bit value)ls*field 2 out of range (need a 16-bit value)s*field 3 out of range (need a 16-bit value)ls*field 4 out of range (need an 8-bit value)s*field 5 out of range (need an 8-bit value)l0s*field 6 out of range (need a 48-bit value)l`lPl@l�s*int is out of range (need a 128-bit value)sillegal version numberi�i�i�lLtintNlllllll l l���� lll����( tcounttNonet TypeErrortreplacetstriptlent ValueErrortlongttupletmaptordt__dict__(tselfthextbytestbytes_letfieldsRtversionttime_lowttime_midttime_hi_versiontclock_seq_hi_variantt clock_seq_lowtnodet clock_seq((s/usr/lib64/python2.7/uuid.pyt__init__gs\$  ? ) )     cCs&t|t�r"t|j|j�StS(N(t isinstanceRtcmpRtNotImplemented(Rtother((s/usr/lib64/python2.7/uuid.pyt__cmp__�scCs t|j�S(N(thashR(R((s/usr/lib64/python2.7/uuid.pyt__hash__�scCs|jS(N(R(R((s/usr/lib64/python2.7/uuid.pyt__int__�scCsdt|�S(NsUUID(%r)(tstr(R((s/usr/lib64/python2.7/uuid.pyt__repr__�scCstd��dS(NsUUID objects are immutable(R(Rtnametvalue((s/usr/lib64/python2.7/uuid.pyt __setattr__�scCsAd|j}d|d |dd!|dd!|dd!|dfS(Ns%032xs%s-%s-%s-%s-%sii ii(R(RR((s/usr/lib64/python2.7/uuid.pyt__str__�s cCsBd}x5tddd�D]!}t|j|?d@�|}qW|S(NRii�ii�(trangetchrR(RRtshift((s/usr/lib64/python2.7/uuid.pyt get_bytes�scCsQ|j}|d|d|d|d|d|d|d|d|d S( Niiiiiiiii(R(RR((s/usr/lib64/python2.7/uuid.pyt get_bytes_le�s cCs(|j|j|j|j|j|jfS(N(RRRRRR(R((s/usr/lib64/python2.7/uuid.pyt get_fields�scCs |jd?S(Nl`(R(R((s/usr/lib64/python2.7/uuid.pyt get_time_low�scCs|jd?d@S(NlPi��(R(R((s/usr/lib64/python2.7/uuid.pyt get_time_mid�scCs|jd?d@S(Nl@i��(R(R((s/usr/lib64/python2.7/uuid.pytget_time_hi_version�scCs|jd?d@S(Nl8i�(R(R((s/usr/lib64/python2.7/uuid.pytget_clock_seq_hi_variant�scCs|jd?d@S(Nl0i�(R(R((s/usr/lib64/python2.7/uuid.pytget_clock_seq_low�scCs!|jd@d>|jd>B|jBS(Nl�l0l (RRR(R((s/usr/lib64/python2.7/uuid.pytget_time�scCs|jd@d>|jBS(Nl?l(RR(R((s/usr/lib64/python2.7/uuid.pyt get_clock_seqscCs |jd@S(NI������(R(R((s/usr/lib64/python2.7/uuid.pytget_nodescCs d|jS(Ns%032x(R(R((s/usr/lib64/python2.7/uuid.pytget_hex scCsdt|�S(Ns urn:uuid:(R&(R((s/usr/lib64/python2.7/uuid.pytget_urnscCs;|jd@stS|jd@s"tS|jd@s3tStSdS(Ni�l0i@i lll(Rt RESERVED_NCStRFC_4122tRESERVED_MICROSOFTtRESERVED_FUTURE(R((s/usr/lib64/python2.7/uuid.pyt get_variants   cCs(|jtkr$t|jd?d@�SdS(NlLi(tvariantR=R(R((s/usr/lib64/python2.7/uuid.pyt get_version!sN(*t__name__t __module__t__doc__RRR"R$R%R'R*R+R/tpropertyRR0RR1RR2RR3RR4RR5RR6RR7ttimeR8RR9RR:RR;turnR@RARBR(((s/usr/lib64/python2.7/uuid.pyR7sN. N                                  cCs�ddl}|jjd|j�j|j�}|jd�xl|D]`}|jj||�}|jj |�rD|j ||j |j B�rD|jj |� rDPqDqDWdSd||f}|j|�S(Ni����tPATHs/sbins /usr/sbinsLC_ALL=C %s %s 2>/dev/null(s/sbins /usr/sbin(tostenvirontgettdefpathtsplittpathseptextendtpathtjointexiststaccesstF_OKtX_OKtisdirRtpopen(tcommandtargsRJRQtdirt executabletcmd((s/usr/lib64/python2.7/uuid.pyt_popen(s $  c Cs�y�t||�}|sdS|��x�|D]�}|j�j�j�}x�tt|��D]l}|||kr[y9|||�}t|jdd�d�} | r�| SWq�tt fk r�q�Xq[q[Wq*WWdQXWnt k r�nXdS(Nt:Ri( R^tlowertrstripRNR,R RRR t IndexErrortIOError( RYRZthw_identifierst get_indextpipetlinetwordstitwordtmac((s/usr/lib64/python2.7/uuid.pyt _find_mac:s$  cCs=d }x0d D](}td||d ��}|r |Sq Wd S( s5Get the hardware address on Unix by running ifconfig.thwaddrtethersaddress:tlladdrRs-as-avtifconfigcSs|dS(Ni((Ri((s/usr/lib64/python2.7/uuid.pyt<lambda>XRN(RmRnsaddress:Ro(Rs-as-av(Rl(tkeywordsRZRk((s/usr/lib64/python2.7/uuid.pyt_ifconfig_getnodeSs  cCs�ddl}ddl}y|j|j��}Wntk rEdSXtdd|gd��}|rk|Stdd|gd��}|r�|Stddd|gd��}|r�|SdS( s0Get the hardware address on Unix by running arp.i����Ntarps-ancSsdS(Ni����((Ri((s/usr/lib64/python2.7/uuid.pyRqeRcSs|dS(Ni((Ri((s/usr/lib64/python2.7/uuid.pyRqjRs(%s)cSs|dS(Ni((Ri((s/usr/lib64/python2.7/uuid.pyRqpR(RJtsockett gethostbynamet gethostnametEnvironmentErrorRRl(RJRutip_addrRk((s/usr/lib64/python2.7/uuid.pyt _arp_getnode\s  cCstdddgd��S(s4Get the hardware address on Unix by running lanscan.tlanscans-aitlan0cSsdS(Ni((Ri((s/usr/lib64/python2.7/uuid.pyRqwR(Rl(((s/usr/lib64/python2.7/uuid.pyt_lanscan_getnodetsc Csytdd�}|sdS|��|j�j�j�}y|jd�}Wntk rbdSXx�|D]�}yo|j�j�}||}t|�dkr�|jd�dkr�t|j dd�d �}|r�|SnWqjtt fk r�qjXqjWWdQXWnt k rnXdS( s4Get the hardware address on Unix by running netstat.tnetstats-iaNtAddressiR_iRi( R^treadlineRaRNtindexR R RRRRbtOSError(RfRhRiRgRjRk((s/usr/lib64/python2.7/uuid.pyt_netstat_getnodeys,   '  c Cs<ddl}ddl}dddg}yQddl}|jd�}|jjj|d�|jd|jj d��WnnXx�|D]�}y&|j |j j |d �d �}Wnt k r�q�nX|�`xX|D]P}|jd �dj�j�}|jd |�r�t|jd d�d�Sq�WWdQXq�WdS(s<Get the hardware address on Windows by running ipconfig.exe.i����NRsc:\windows\system32sc:\winnt\system32i,itmbcstipconfigs /allR_s)(?:[0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]$Ri(RJtretctypestcreate_string_buffertwindlltkernel32tGetSystemDirectoryAtinsertR)tdecodeRXRQRRRcRNRR`tmatchRR( RJR�tdirsR�tbufferR[RfRgR)((s/usr/lib64/python2.7/uuid.pyt_ipconfig_getnode�s&   &  cCs�ddl}ddl}|j�}|j|_|j�|_}|j�|j|�dkrfdS|j �x't |j �D]}|j �|j |_t|j|�|_|j|�dkr�q�n|j �|j|_t|j|�|_djd�|_|j�|_}|j|�dkr9q�n|j �tt|j�}|dd>|dd>|d d >|d d >|d d>|dSWdS(stGet the hardware address on Windows using NetBIOS calls. See http://support.microsoft.com/kb/118623 for details.i����Nit*il(il ililili(t win32wnettnetbiostNCBtNCBENUMtCommandt LANA_ENUMtBuffert_packtNetbiost_unpackR,tlengthtResettNCBRESETRtlanatLana_numtNCBASTATtljusttCallnametADAPTER_STATUSR tadapter_address(R�R�tncbtadaptersRitstatusR((s/usr/lib64/python2.7/uuid.pyt_netbios_getnode�s0         tuuidtwintctuuid_generate_timetuuid_generate_md5tdarwinit.ii tUuidCreateSequentialt UuidCreatecCs,tjd�}t|�td|j�jS(s.Get the hardware address on Unix using ctypes.iR(R�R�t_uuid_generate_timeRtrawR(t_buffer((s/usr/lib64/python2.7/uuid.pyt_unixdll_getnode�s cCs8tjd�}t|�dkr4td|j�jSdS(s1Get the hardware address on Windows using ctypes.iiRN(R�R�t _UuidCreateRR�R(R�((s/usr/lib64/python2.7/uuid.pyt_windll_getnodescCs ddl}|jdd�dBS(sCGet a random node ID, with eighth bit set as suggested by RFC 4122.i����Niil0ll(trandomt randrange(R�((s/usr/lib64/python2.7/uuid.pyt_random_getnode s cCs�tdk rtSddl}|jdkr4t}nt}x[|tgD]L}y |�aWn qHnXtdk rHdtko�dknrHtSqHWts�tdj t���dS( s3Get the hardware address as a 48-bit positive integer. The first time this runs, it may launch a separate program, which could be quite slow. If all attempts to obtain the hardware address fail, we choose a random 48-bit number with its eighth bit set to 1 as recommended in RFC 4122. i����Ntwin32iii0s,_random_getnode() returned invalid value: {}I( t_nodeRtsystplatformt_NODE_GETTERS_WIN32t_NODE_GETTERS_UNIXR�tFalsetAssertionErrortformat(R�tgetterstgetter((s/usr/lib64/python2.7/uuid.pytgetnodes    (c CsQtrK||kodknrKtjd�}t|�td|j�Sddl}t|j�d�}t|d�d}tdk r�|tkr�td}n|a|dkr�ddl }|j d�}n|d @}|d ?d @}|d ?d@} |d@} |d?d@} |dkr,t �}ntd||| | | |fdd�S(sGenerate a UUID from a host ID, sequence number, and the current time. If 'node' is not given, getnode() is used to obtain the hardware address. If 'clock_seq' is given, it is used as the sequence number; otherwise a random 14-bit sequence number is chosen.iRi����Nge��Aidl@'Hw� ill��l l�l0l�l�ll?RRl@( R�RR�R�RR�RGRt_last_timestampR�R�R�( RRR�RGt nanosecondst timestampR�RRRRR((s/usr/lib64/python2.7/uuid.pytuuid14s,"         cCs�trAtjd�}t||j|t|��td|j�Sddlm}||j|�j �}td|d dd�S(sAGenerate a UUID from the MD5 hash of a namespace UUID and a name.iRi����(tmd5Ri( t_uuid_generate_md5R�R�RR RR�thashlibR�tdigest(t namespaceR(R�R�R#((s/usr/lib64/python2.7/uuid.pytuuid3WscCstdtjd�dd�S(sGenerate a random UUID.RiRi(RRJturandom(((s/usr/lib64/python2.7/uuid.pytuuid4bscCs@ddlm}||j|�j�}td|d dd�S(sCGenerate a UUID from the SHA-1 hash of a namespace UUID and a name.i����(tsha1RiRi(R�R�RR�R(R�R(R�R#((s/usr/lib64/python2.7/uuid.pytuuid5fss$6ba7b810-9dad-11d1-80b4-00c04fd430c8s$6ba7b811-9dad-11d1-80b4-00c04fd430c8s$6ba7b812-9dad-11d1-80b4-00c04fd430c8s$6ba7b814-9dad-11d1-80b4-00c04fd430c8(9RERJt __author__R<R=R>R?tobjectRR^RlRsRzR}R�R�R�RR�R�R�R�t ctypes.utilR�t _libnamesR�t startswithtappendtlibnametCDLLtutilt find_librarytlibthasattrR�tgetattrRtunameRNR�trpcrt4R�R�R�R�R�R�R�R�R�R�R�R�t NAMESPACE_DNSt NAMESPACE_URLt NAMESPACE_OIDtNAMESPACE_X500(((s/usr/lib64/python2.7/uuid.pyt<module>-sx �             )         #