mò ܉Q@c@sNdkZdZdZdZdefd„ƒYZd„Zdfd„ƒYZd „Zd fd „ƒYZ d e fd „ƒYZ de fd„ƒYZ de fd„ƒYZ de fd„ƒYZ de fd„ƒYZde fd„ƒYZdefd„ƒYZd„Zedjo1dkZeiidƒdklZeƒndS(Niiit VersionErrorcBstZRS(N(t__name__t __module__(((t=C:\Python24\Lib\site-packages\py2exe\resources\VersionInfo.pyR>scCs@t|ƒtjot|dƒidƒSnt|ƒidƒS(shconvert a string into unicode, then encode it into UTF-16 little endian, ready to use for win32 apissunicode-escapes utf-16-leN(ttypettexttstrtunicodetencode(R((Rtw32_ucAstVS_FIXEDFILEINFOcBsntZdZdZdZdZdZdZdZdZ e Z e Z dZdZdZdZd„Zd„ZRS( Nl½Þ}iii?it13LcCs¿dk}|i|ddƒ}|i|ddƒd }t|i|ƒ}yNt|dƒdt|dƒ|_ t|dƒdt|d ƒ|_ Wn t j ot d |‚nXdS( Nt,t.s.0.0.0.0iiiiiis#could not parse version number '%s'( tstringtreplacetversiontsplittfieldstmaptstriptinttselftdwFileVersionMStdwFileVersionLSt ValueErrorR(RRRR((Rt__init__Ys %)cCs^ti|i|i|i|i|i|i|i |i |i |i |i |i|i|iƒS(N(tstructtpackRtfmtt dwSignaturetdwStrucVersionRRtdwProductVersionMStdwProductVersionLStdwFileFlagsMaskt dwFileFlagstdwFileOSt dwFileTypet dwFileSubtypet dwFileDateMSt dwFileDateLS(R((Rt__str__ds (RRRRRRR R!R"R#tVOS_NT_WINDOWS32R$tVFT_APPR%R&R'R(RRR)(((RR Hs  cCst|ƒ d}|d|S(Nit(tlentdatatpad(R.R/((Rtaligntst VS_STRUCTcBs)tZfZd„Zd„Zd„ZRS(NcCs­t|iƒ}t|ƒd}|iƒ}ti d||i |ƒ|}t |ƒ}x!|i D]}|t|ƒ}qaWt|ƒd}t|ƒ}|i d|||ƒS(Nish%ss0iithh(R RtnametszKeyR-tulent get_valuetvalueRRtwTypeR.R0titemstitemRtwLengtht wValueLength(RR;R<R:R7R.R5R4((RR){s     cCsti|||ƒ|S(N(RRRR-tvlenR.(RRR-R=R.((RRŒscCsdS(Nt((R((RR6s(RRR9R)RR6(((RR1xs  tStringcBs/tZdZfZd„Zd„Zd„ZRS(NicCs:|\}}||_|o|d|_n ||_dS(NR,(R3R7R(Rt.2R3R7((RR—s  cCsti|||dƒ|S(Ni(RRRR-R=R.(RRR-R=R.((RRžscCs t|iƒS(N(R RR7(R((RR6¢s(RRR8R9RRR6(((RR?“s   t StringTablecBstZdZd„ZRS(NicCs||_tt|ƒ|_dS(N(R3RRR?tstringsR9(RR3RB((RR©s (RRR8R(((RRA¦stStringFileInfocBstZdZdZd„ZRS(NiRCcCst||ƒg|_dS(N(RAR3RBRR9(RR3RB((RR²s(RRR8R3R(((RRC®stVarcBs&tZdZdZd„Zd„ZRS(Nit TranslationcCs ||_dS(N(R7R(RR7((RRÅscCstid|iƒS(Ntl(RRRR7(R((RR6Ès(RRR8R3RR6(((RRDµs  t VarFileInfocBs&tZdZdZd„Zd„ZRS(NiRGcGstt|ƒ|_dS(N(RRDtnamesRR9(RRH((RRÏscCsdS(NR>((R((RR6Òs(RRR8R3RR6(((RRGËs tVS_VERSIONINFOcBs&tZdZdZd„Zd„ZRS(NitVS_VERSION_INFOcCst|ƒ|_||_dS(N(R RRR7R9(RRR9((RRÙscCs t|iƒS(N(RRR7(R((RR6Ýs(RRR8R3RR6(((RRIÕs tVersionc Bs;tZdddddddddddd„ Zd„ZRS(Nc Cs±||_g} |dj o| id|fƒn|dj o| id|fƒn|dj o| id|fƒn| id|fƒ|dj o| id|fƒn|dj o| id|fƒn|dj o| id|fƒn|dj o| id|fƒn| dj o| id | fƒn| dj o| id | fƒn| id | p|fƒ| dj o| id | fƒn| |_dS( NtCommentst CompanyNametFileDescriptiont FileVersiont InternalNametLegalCopyrighttLegalTrademarkstOriginalFilenamet PrivateBuildt ProductNametProductVersiont SpecialBuild(RRRBtcommentstNonetappendt company_nametfile_descriptiont internal_nametlegal_copyrighttlegal_trademarkstoriginal_filenamet private_buildt product_nametproduct_versiont special_build(RRRXR[R\R]R^R_R`RaRbRcRdRB((RRás2           cCs4t|itd|iƒtdƒgƒ}t|ƒS(Nt040904B0i °(RIRRRCRBRGtvsR(RRf((Rtresource_bytess (RRRYRRg(((RRKàs*'cCs|dk}|iidƒdkl}tddddddd d d d d ddddddddƒ }||iƒƒdS(Nsc:/tmp(shexdumps 1, 0, 0, 1RXsümläut commentsR[s No CompanyR\ssilly applicationR]tsillyR^uCopyright © 2003R`s silly.exeRas test buildRbs silly productRc(tsystpathRZthexdumpRKRYRRg(RiRkR((Rttests   t__main__s d:/nbalt/tmp(shexdump(RR*R+t RT_VERSIONt ExceptionRR R R0R1R?RARCRDRGRItobjectRKRlRRiRjRZRk(RIR+R*RGRKRDRnRkRR RCRlRAR1RiR?R0R R((Rt?7s*  ,   /