PK=œ(8(/aÑEGG-INFO/SOURCES.txtREADME setup.py pyasn1/__init__.py pyasn1.egg-info/PKG-INFO pyasn1.egg-info/SOURCES.txt pyasn1.egg-info/dependency_links.txt pyasn1.egg-info/top_level.txt pyasn1/v1/__init__.py pyasn1/v1/error.py pyasn1/v1/codec/__init__.py pyasn1/v1/codec/ber/__init__.py pyasn1/v1/codec/ber/decoder.py pyasn1/v1/codec/ber/encoder.py pyasn1/v1/codec/ber/eoo.py pyasn1/v1/codec/cer/__init__.py pyasn1/v1/codec/cer/decoder.py pyasn1/v1/codec/cer/encoder.py pyasn1/v1/codec/der/__init__.py pyasn1/v1/codec/der/decoder.py pyasn1/v1/codec/der/encoder.py pyasn1/v1/type/__init__.py pyasn1/v1/type/base.py pyasn1/v1/type/char.py pyasn1/v1/type/constraint.py pyasn1/v1/type/error.py pyasn1/v1/type/namedtype.py pyasn1/v1/type/namedval.py pyasn1/v1/type/tag.py pyasn1/v1/type/univ.py pyasn1/v1/type/useful.py PK<œ(8“×2EGG-INFO/dependency_links.txt PK<œ(8ò”—îîEGG-INFO/PKG-INFOMetadata-Version: 1.0 Name: pyasn1 Version: 0.0.6a Summary: ASN.1 library for Python Home-page: http://sourceforge.net/projects/pyasn1/ Author: Ilya Etingof Author-email: ilya@glas.net License: BSD Description: UNKNOWN Platform: UNKNOWN PK<œ(8U 0äEGG-INFO/top_level.txtpyasn1 PKTœ(8“×2EGG-INFO/not-zip-safe PK–mq5×ù¸‚..pyasn1/__init__.pyimport os import sys import string def switchApiVersion(subPkg): pkg = os.path.split(__path__[0])[-1] newMod = __import__(subPkg, globals(), locals(), pkg) realPkg = '_real_' + pkg if sys.modules.has_key(realPkg): sys.modules[pkg] = sys.modules[realPkg] sys.modules[realPkg] = sys.modules[pkg] sys.modules[pkg] = newMod def __isSubPackage(subDir): if subDir and subDir[0] == 'v' and subDir[1] in string.digits \ and len(subDir) == 2: return 1 subDirs = filter(__isSubPackage, os.listdir(__path__[0])) subDirs.sort(); subDirs.reverse() if os.environ.has_key('PYASN1_API_VERSION'): v = os.environ['PYASN1_API_VERSION'] if v: switchApiVersion(v) # do not load any API else: switchApiVersion(subDirs[-1]) # take the most recent version PKNœ(8Õ¦llpyasn1/__init__.pyo;ò ^Ec@s¨dkZdkZdkZd„Zd„ZeeeiedƒƒZei ƒei ƒei i dƒo&ei dZ e oee ƒq¤needƒdS(NcCstiitdƒd}t|tƒtƒ|ƒ}d|}t i i |ƒot i |t i | 0: idx = idx - 1 if client[idx] is None: # Optional component continue if client.getDefaultComponentByPosition(idx) == client[idx]: continue comps.append(client[idx]) comps.sort(self._cmpSetComponents) for c in comps: substrate = substrate + encodeFun(c, defMode, maxChunkSize) else: # SetOf compSubs = [] while idx > 0: idx = idx - 1 compSubs.append( encodeFun(client[idx], defMode, maxChunkSize) ) compSubs.sort() # perhaps padding's not needed substrate = string.join(compSubs, '') return substrate, 1 codecMap = encoder.codecMap.copy() codecMap.update({ univ.Boolean.tagSet: BooleanEncoder(), univ.BitString.tagSet: BitStringEncoder(), univ.OctetString.tagSet: OctetStringEncoder(), # Set & SetOf have same tags univ.SetOf().tagSet: SetOfEncoder() }) class Encoder(encoder.Encoder): def __call__(self, client, defMode=0, maxChunkSize=0): return encoder.Encoder.__call__(self, client, defMode, maxChunkSize) encode = Encoder(codecMap) # EncoderFactory queries class instance and builds a map of tags -> encoders PKJœ(8À±ú pyasn1/v1/codec/cer/__init__.pyc;ò [€®Bc@sdS(N((((s@build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/__init__.pys?sPKJœ(8*z9bbpyasn1/v1/codec/cer/encoder.pyc;ò §3Dc@sdkZdklZdklZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZd ei fd „ƒYZ ei i ƒZ e i heiieƒ<eiieƒ<eiieƒ<eiƒie ƒ<ƒd eifd „ƒYZee ƒZdS( N(suniv(sencodersBooleanEncodercBstZd„ZRS(NcCs+|djo d}nd}|dfSdS(Nissÿ(sclients substrate(sselfs encodeFunsclientsdefModes maxChunkSizes substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pys _encodeValues  (s__name__s __module__s _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pysBooleanEncoderssBitStringEncodercBstZd„ZRS(NcCs tii||||dƒSdS(Niè(sencodersBitStringEncoders _encodeValuesselfs encodeFunsclientsdefMode(sselfs encodeFunsclientsdefModes maxChunkSize((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pys _encodeValues(s__name__s __module__s _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pysBitStringEncoderssOctetStringEncodercBstZd„ZRS(NcCs tii||||dƒSdS(Niè(sencodersOctetStringEncoders _encodeValuesselfs encodeFunsclientsdefMode(sselfs encodeFunsclientsdefModes maxChunkSize((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pys _encodeValues(s__name__s __module__s _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pysOctetStringEncoderss SetOfEncodercBstZd„Zd„ZRS(NcCs5tt|d|iƒƒt|d|iƒƒƒSdS(NsgetMinimalTagSet(scmpsgetattrsc1s getTagSetsc2(sselfsc1sc2((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pys_cmpSetComponents sc Cs`t|dƒo|iƒn|iƒd} t|ƒ}t|dƒoªg}xf|djoX|d}||tjoqSn|i |ƒ||joqSn|i ||ƒqSW|i |i ƒx†|D]}| ||||ƒ} qÐWn_g}x9|djo+|d}|i |||||ƒƒqýW|i ƒti|dƒ} | dfSdS(NssetDefaultComponentsssgetDefaultComponentByPositionii(shasattrsclientssetDefaultComponentssverifySizeSpecs substrateslensidxscompssNonesgetDefaultComponentByPositionsappendssortsselfs_cmpSetComponentsscs encodeFunsdefModes maxChunkSizescompSubssstringsjoin( sselfs encodeFunsclientsdefModes maxChunkSizesidxscscompSubsscompss substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pys _encodeValue&s4     " (s__name__s __module__s_cmpSetComponentss _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pys SetOfEncoders sEncodercBstZddd„ZRS(NicCstii||||ƒSdS(N(sencodersEncoders__call__sselfsclientsdefModes maxChunkSize(sselfsclientsdefModes maxChunkSize((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pys__call__Ps(s__name__s __module__s__call__(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pysEncoderOs(sstrings pyasn1.typesunivspyasn1.codec.bersencodersIntegerEncodersBooleanEncodersBitStringEncodersOctetStringEncodersSequenceOfEncoders SetOfEncoderscodecMapscopysupdatesBooleanstagSets BitStrings OctetStringsSetOfsEncodersencode( sBooleanEncodersstringsunivsBitStringEncodersencodersEncodersencodescodecMapsOctetStringEncoders SetOfEncoder((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/encoder.pys?s    'XPKIœ(8ý6~~pyasn1/v1/codec/cer/decoder.pyc;ò TàLDc@s—dklZdklZdklZdeifd„ƒYZeii ƒZei hei i eƒ<ƒdei fd„ƒYZ e eƒZdS((suniv(sdecoder(serrorsBooleanDecodercBs tZeidƒZd„ZRS(Nic Cs€| otidƒ‚nt|dƒ}|djo d}n|djo d}n|i||ƒi |ƒ|dfSdS(NsEmpty substrateiiÿi( s substrateserrors PyAsn1Errorsordsbytesvaluesselfs_createComponentstagSetsasn1Specsclone( sselfs substratesasn1SpecstagSetslengthsstates decodeFunsvaluesbyte((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/decoder.pys valueDecoders    (s__name__s __module__sunivsBooleansprotoComponents valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/decoder.pysBooleanDecoderssDecodercBstZRS(N(s__name__s __module__(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/decoder.pysDecodersN(s pyasn1.typesunivspyasn1.codec.bersdecoderspyasn1serrorsAbstractDecodersBooleanDecoderscodecMapscopysupdatesBooleanstagSetsDecodersdecode(sunivsDecodersdecodesdecoderserrorsBooleanDecoderscodecMap((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/cer/decoder.pys?s   PKOœ(8'«­ò~2~2pyasn1/v1/codec/ber/encoder.pyo;ò ‘upDc@sdkZdklZlZlZlZlZdklZdk l Z de fd„ƒYZ dfd„ƒYZ de fd „ƒYZd e fd „ƒYZeƒZd e fd „ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZheiieƒ<eiieƒ<eiieƒ<eiieƒ<eiieƒ<eiieƒ<eiieƒ<eiieƒ<ei ieƒ<ei!ieƒ<ei"ieƒ<ei#ieƒ<ei$ieƒ<ei%ieƒ<ei&ieƒ<ei'ieƒ<ei(ieƒ<ei)ieƒ<ei*ieƒ<ei+ieƒ<ei,ieƒ<ei-ieƒ<ei.ieƒ<ei/ieƒB| |<| d} q>W| i ƒ} | i ƒt d|ƒt it| d„| ƒdƒdfSnyd} d} x_noW|i|| d| d|d!ƒ}| oPn| ||||ƒ} | |} qøW| dfSdS(NiiiicCst||ƒS(N(schrsrsk(sksr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pyslss(s maxChunkSizeslensvaluesrslspsjsdivmodsisgetskeysssortschrsstringsjoinsmapsposs substratesclonesvs encodeFunsdefMode(sselfs encodeFunsvaluesdefModes maxChunkSizesvsisjslsposspsrskeyss substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValuecs$ &7 &(s__name__s __module__s _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysBitStringEncoderbssOctetStringEncodercBstZd„ZRS(NcCsŸ| pt|ƒ|jot|ƒdfSnmd}d}xSnoK|i||||!ƒ}| oPn|||||ƒ}||}qEW|dfSdS(Nisi( s maxChunkSizeslensvaluesstrsposs substratesclonesvs encodeFunsdefMode(sselfs encodeFunsvaluesdefModes maxChunkSizesvsposs substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValuezs (s__name__s __module__s _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysOctetStringEncoderyss NullEncodercBstZdZd„ZRS(NicCsddfSdS(Nsi((sselfs encodeFunsvaluesdefModes maxChunkSize((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValue‰s(s__name__s __module__ssupportIndefLenModes _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys NullEncoder‡ssObjectIdentifierEncodercBstZdZd„ZRS(Nic CsÂt|ƒ}t|ƒdjotid|ƒ‚nd}||d} | ||d} d| jo djno!tid|||fƒ‚nt| ƒg}|d}xñ||D]å} | djo | d jo|i t| d @ƒƒq¿| djp | d jotid | |fƒ‚q¿t| d @ƒg}| d ?} x:| djo,|i dtd | d @Bƒƒ| d ?} qQW|i t i|dƒƒq¿Wt i|dƒdfSdS(Nis Short OID %sii(iiÿs$Initial sub-ID overflow %s in OID %siÿÿÿÿi€ilÿÿsSubId overflow %s in %sis(stuplesvaluesoidslenserrors PyAsn1Errorsindexssubidschrsoctetssappendsressinsertsstringsjoin( sselfs encodeFunsvaluesdefModes maxChunkSizesindexsressoidsoctetsssubid((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValueŽs0 !    (s__name__s __module__ssupportIndefLenModes _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysObjectIdentifierEncoderŒssSequenceOfEncodercBstZd„ZRS(NcCsÎt|dƒo|iƒn|iƒd}t|ƒ}xƒ|djou|d}||tjoq=nt|dƒo%|i|ƒ||joq=q¡n|||||ƒ|}q=W|dfSdS(NssetDefaultComponentssiisgetDefaultComponentByPosition( shasattrsvaluessetDefaultComponentssverifySizeSpecs substrateslensidxsNonesgetDefaultComponentByPositions encodeFunsdefModes maxChunkSize(sselfs encodeFunsvaluesdefModes maxChunkSizesidxs substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValue´s    (s__name__s __module__s _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysSequenceOfEncoder³ssEncodercBs tZd„Zddd„ZRS(NcCs ||_dS(N(s _codecMapsselfs_Encoder__codecMap(sselfs _codecMap((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys__init__äsiicCs¦|iƒ}t|ƒdjo t}nI|ii|ƒ}| o.|iit i |i ƒ|i ƒƒƒ}n|o|i ||||ƒSntd|ƒ‚dS(NisNo encoder for %s(svalues getTagSetstagSetslensexplicitlyTaggedItemEncodersconcreteEncodersselfs_Encoder__codecMapsgetstagsTagSets getBaseTagsencodesdefModes maxChunkSizesError(sselfsvaluesdefModes maxChunkSizesconcreteEncoderstagSet((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys__call__çs  .(s__name__s __module__s__init__s__call__(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysEncoderãs (3sstrings pyasn1.typesbasestagsunivscharsusefulspyasn1.codec.berseoospyasn1serrors ExceptionsErrorsAbstractItemEncodersEndOfOctetsEncodersExplicitlyTaggedItemEncodersexplicitlyTaggedItemEncodersIntegerEncodersBitStringEncodersOctetStringEncoders NullEncodersObjectIdentifierEncodersSequenceOfEncoders endOfOctetsstagSetsBooleansIntegers BitStrings OctetStringsNullsObjectIdentifiers Enumerateds SequenceOfsSetOfsChoices UTF8Strings NumericStringsPrintableStrings TeletexStringsVideotexStrings IA5Strings GraphicStrings VisibleStrings GeneralStringsUniversalStrings BMPStringsGeneralizedTimesUTCTimescodecMapsEncodersencode(susefulseooscharstagsExplicitlyTaggedItemEncodersSequenceOfEncodersEndOfOctetsEncodersOctetStringEncodersunivsObjectIdentifierEncodersEncodersencodescodecMapsstrings NullEncodersexplicitlyTaggedItemEncodersBitStringEncodersbasesErrorsIntegerEncodersAbstractItemEncoderserror((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys?s$ %  8 'ÿ·PKOœ(8Î(ˆr]r]pyasn1/v1/codec/ber/decoder.pyo;ò ªl€Dc@sLdkZdklZlZlZlZdklZdkl Z dfd„ƒYZ de fd„ƒYZ de fd „ƒYZ d e fd „ƒYZ d e fd „ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZdefd„ƒYZde fd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZd efd!„ƒYZd"efd#„ƒYZd$efd%„ƒYZd&efd'„ƒYZd(efd)„ƒYZd*efd+„ƒYZd,efd-„ƒYZd.efd/„ƒYZd0efd1„ƒYZ d2efd3„ƒYZ!hei"i#e ƒ<ei$i#e ƒ<ei%i#e ƒ<ei&i#eƒ<ei'i#eƒ<ei(i#eƒ<ei)i#eƒ<ei*i#e ƒ<ei+i#eƒ<ei,i#eƒ<ei-i#eƒ<ei.i#eƒ<ei/i#eƒ<ei0i#eƒ<ei1i#eƒ<ei2i#eƒ<ei3i#eƒ<ei4i#eƒ<ei5i#eƒ<ei6i#eƒ<ei7i#eƒ<ei8i#eƒ<ei9i#e ƒ<ei:i#e!ƒZ?Z@ZAZBZCZDd5fd6„ƒYZEeEe;ƒZFdS(7N(stagsunivscharsuseful(seoo(serrorsAbstractDecodercBs tZeZd„Zd„ZRS(NcCs2|tjo|iid|ƒSn |iƒSdS(NstagSet(sasn1SpecsNonesselfsprotoComponentsclonestagSet(sselfstagSetsasn1Spec((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_createComponent s cCstid|ƒ‚dS(NsDecoder not implemented for %s(serrors PyAsn1ErrorstagSet(sselfs substratesasn1SpecstagSetslengthsstates decodeFun((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoders(s__name__s __module__sNonesprotoComponents_createComponents valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysAbstractDecoders sEndOfOctetsDecodercBstZd„ZRS(NcCsti|fSdS(N(seoos endOfOctetss substrate(sselfs substratesasn1SpecstagSetslengthsstates decodeFun((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoders(s__name__s __module__s valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysEndOfOctetsDecoderssIntegerDecodercBs tZeidƒZd„ZRS(Nic Cs±| otidƒ‚ntt|ƒ}|dd@o d} nd} x|D]}| d>|B} qPWyt| ƒ} Wnt j onX|i ||ƒi| ƒ|fSdS(NsEmpty substrateii€lÿÿÿÿli(s substrateserrors PyAsn1Errorsmapsordsoctetssvaluesoctetsints OverflowErrorsselfs_createComponentstagSetsasn1Specsclone( sselfs substratesasn1SpecstagSetslengthsstates decodeFunsoctetsoctetssvalue((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoders (s__name__s __module__sunivsIntegersprotoComponents valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysIntegerDecoderssBooleanDecodercBstZeidƒZRS(Ni(s__name__s __module__sunivsBooleansprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysBooleanDecoder+ssBitStringDecodercBs)tZeifƒZd„Zd„ZRS(NcCs¬|i||ƒ} |ddtijo| oti dƒ‚nt |dƒ}|djoti d|ƒ‚n|d}d}} t|ƒd} g}x}| | joo| | jo |}nd} t || ƒ}x1| |jo#|i|| ?d@ƒ| d} qãW| d} q¦W| it|ƒƒdfSn| o| idfƒ} n| o| |fSnx(|o ||ƒ\} }| | } qvW| |fSdS(NiisMissing initial octetisTrailing bits overflow %sssvalue(sselfs_createComponentstagSetsasn1SpecsrstagstagFormatSimples substrateserrors PyAsn1Errorsords trailingBitsslsbspslenslsbsjsosappendsclonestuples decodeFuns component(sselfs substratesasn1SpecstagSetslengthsstates decodeFunsosbs componentsjslspsrs trailingBitsslsb((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoder0s<       c Cs¢|i||ƒ}|o|iddƒ}n| o||fSnxL|o5||ƒ\}}|t i joPn||}qHWt i dƒ‚||fSdS(Nsvaluess!No EOO seen before substrate ends( sselfs_createComponentstagSetsasn1Specsrsclones decodeFuns substrates componentseoos endOfOctetsserrorsSubstrateUnderrunError( sselfs substratesasn1SpecstagSetslengthsstates decodeFuns componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysindefLenValueDecoderOs(s__name__s __module__sunivs BitStringsprotoComponents valueDecodersindefLenValueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysBitStringDecoder.s sOctetStringDecodercBs)tZeidƒZd„Zd„ZRS(Nsc Cs³|i||ƒ}|ddtijo|it|ƒƒdfSn|o|iddƒ}n| o||fSnx(|o ||ƒ\}}||}q}W||fSdS(Niissvalue( sselfs_createComponentstagSetsasn1SpecsrstagstagFormatSimplesclonesstrs substrates decodeFuns component( sselfs substratesasn1SpecstagSetslengthsstates decodeFuns componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoderbsc Cs¢|i||ƒ}|o|iddƒ}n| o||fSnxL|o5||ƒ\}}|t i joPn||}qHWt i dƒ‚||fSdS(Nsvaluess!No EOO seen before substrate ends( sselfs_createComponentstagSetsasn1Specsrsclones decodeFuns substrates componentseoos endOfOctetsserrorsSubstrateUnderrunError( sselfs substratesasn1SpecstagSetslengthsstates decodeFuns componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysindefLenValueDecoderos(s__name__s __module__sunivs OctetStringsprotoComponents valueDecodersindefLenValueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysOctetStringDecoder`s s NullDecodercBs tZeidƒZd„ZRS(NscCs:|i||ƒ}|otidƒ‚n||fSdS(NsUnexpected substrate for Null(sselfs_createComponentstagSetsasn1Specsrs substrateserrors PyAsn1Error(sselfs substratesasn1SpecstagSetslengthsstates decodeFunsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoder‚s(s__name__s __module__sunivsNullsprotoComponents valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys NullDecoder€ssObjectIdentifierDecodercBs tZeifƒZd„ZRS(Nc Csž|i||ƒ} | otidƒ‚ng}d}t ||ƒ} |i t | dƒƒ|i t | dƒƒ|d}t|ƒ} xí|| joßt ||ƒ} | djo|i | ƒ|d}q| } d} xK| djo || jo0| d>| d@} |d}t ||ƒ} qäW|| jotid|ƒ‚n| d>| } |i | ƒ|d}qW| it|ƒƒ||fSdS( NsEmpty substrateii(ii€iisShort substrate for OID %s(sselfs_createComponentstagSetsasn1Specsrs substrateserrors PyAsn1ErrorsoidsindexsordssubIdsappendsintslens substrateLens nextSubIdsSubstrateUnderrunErrorsclonestuple( sselfs substratesasn1SpecstagSetslengthsstates decodeFunsindexsoidssubIdsrs substrateLens nextSubId((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoder‹s8         (s__name__s __module__sunivsObjectIdentifiersprotoComponents valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysObjectIdentifierDecoder‰ssSequenceDecodercBs8tZeiƒZd„Zd„Zd„Zd„ZRS(NcCsZ|iƒtj oCt|dƒo|i|ƒSqVt|dƒo|iƒSqVndS(NsgetComponentTypeMapNearPositionsgetComponentTypeMap(stsgetComponentTypesNoneshasattrsgetComponentTypeMapNearPositionsidxsgetComponentTypeMap(sselfstsidx((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_getAsn1SpecByPosition±s cCs[|iƒtj o@t|dƒo,t|d|iƒƒ}|i||ƒSqSn|SdS(NsgetComponentPositionNearTypesgetEffectiveTagSet( stsgetComponentTypesNoneshasattrsgetattrscs getTagSetseffectiveTagSetsgetComponentPositionNearTypesidx(sselfstscsidxseffectiveTagSet((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_getPositionByType¸s c CsÉ|i||ƒ} d}| o| |fSnxb|oZ|i| |ƒ}|||ƒ\}}|i | ||ƒ}| i ||ƒ|d}q1Wt | dƒo| i ƒn| iƒ| |fSdS(NiissetDefaultComponents(sselfs_createComponentstagSetsasn1Specsrsidxs decodeFuns substrates_getAsn1SpecByPositions components_getPositionByTypessetComponentByPositionshasattrssetDefaultComponentssverifySizeSpec( sselfs substratesasn1SpecstagSetslengthsstates decodeFunsidxs componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoderÁs c Cs|i||ƒ} d}x¿|o¨y|i| |ƒ}Wnti j o t }nX| o| |fSn|||ƒ\}}|t ijoPn|i| ||ƒ}| i||ƒ|d}qWtidƒ‚t| dƒo| iƒn| iƒ| |fSdS(Niis!No EOO seen before substrate endsssetDefaultComponents(sselfs_createComponentstagSetsasn1Specsrsidxs substrates_getAsn1SpecByPositionserrors PyAsn1ErrorsNones decodeFuns componentseoos endOfOctetss_getPositionByTypessetComponentByPositionsSubstrateUnderrunErrorshasattrssetDefaultComponentssverifySizeSpec( sselfs substratesasn1SpecstagSetslengthsstates decodeFunsidxs componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysindefLenValueDecoderÔs*  ( s__name__s __module__sunivsSequencesprotoComponents_getAsn1SpecByPositions_getPositionByTypes valueDecodersindefLenValueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysSequenceDecoder¯s    s SetDecodercBs&tZeiƒZd„Zd„ZRS(NcCs9|iƒtj o"t|dƒo|iƒSq5ndS(NsgetComponentTypeMap(stsgetComponentTypesNoneshasattrsgetComponentTypeMap(sselfstsidx((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_getAsn1SpecByPositionðscCse|iƒtj oJ|iƒo t|dƒo)t|d|iƒƒ}|i|ƒSq]n|SdS(NsgetComponentPositionByTypesgetEffectiveTagSet( stsgetComponentTypesNoneshasattrsgetattrscs getTagSetseffectiveTagSetsgetComponentPositionByTypesidx(sselfstscsidxseffectiveTagSet((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_getPositionByTypeõs (s__name__s __module__sunivsSetsprotoComponents_getAsn1SpecByPositions_getPositionByType(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys SetDecoderîs  s ChoiceDecodercBs#tZeiƒZd„ZeZRS(Nc Cs‚|i||ƒ}| o||fSn|||iƒ|||ƒ\}}t |d|i ƒƒ} |i| |ƒ||fSdS(NsgetEffectiveTagSet(sselfs_createComponentstagSetsasn1Specsrs decodeFuns substratesgetComponentTypeMapslengthsstates componentsgetattrs getTagSetseffectiveTagSetssetComponentByType( sselfs substratesasn1SpecstagSetslengthsstates decodeFuns componentsrseffectiveTagSet((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoders$(s__name__s __module__sunivsChoicesprotoComponents valueDecodersindefLenValueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys ChoiceDecoderþs  sUTF8StringDecodercBstZeiƒZRS(N(s__name__s __module__schars UTF8StringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysUTF8StringDecoderssNumericStringDecodercBstZeiƒZRS(N(s__name__s __module__schars NumericStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysNumericStringDecoderssPrintableStringDecodercBstZeiƒZRS(N(s__name__s __module__scharsPrintableStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysPrintableStringDecoderssTeletexStringDecodercBstZeiƒZRS(N(s__name__s __module__schars TeletexStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysTeletexStringDecoderssVideotexStringDecodercBstZeiƒZRS(N(s__name__s __module__scharsVideotexStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysVideotexStringDecoderssIA5StringDecodercBstZeiƒZRS(N(s__name__s __module__schars IA5StringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysIA5StringDecoderssGraphicStringDecodercBstZeiƒZRS(N(s__name__s __module__schars GraphicStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysGraphicStringDecoderssVisibleStringDecodercBstZeiƒZRS(N(s__name__s __module__schars VisibleStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysVisibleStringDecoderssGeneralStringDecodercBstZeiƒZRS(N(s__name__s __module__schars GeneralStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysGeneralStringDecoder!ssUniversalStringDecodercBstZeiƒZRS(N(s__name__s __module__scharsUniversalStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysUniversalStringDecoder#ssBMPStringDecodercBstZeiƒZRS(N(s__name__s __module__schars BMPStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysBMPStringDecoder%ssGeneralizedTimeDecodercBstZeiƒZRS(N(s__name__s __module__susefulsGeneralizedTimesprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysGeneralizedTimeDecoder)ssUTCTimeDecodercBstZeiƒZRS(N(s__name__s __module__susefulsUTCTimesprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysUTCTimeDecoder+sisDecodercBs)tZd„Zeeeedd„ZRS(NcCs ||_dS(N(scodecMapsselfs_Decoder__codecMap(sselfscodecMap((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys__init__OsicCsÆxµ|tjo§|tjo«t|ƒ} | djotid| ƒ‚nt|dƒ}t i d|d@d|d@d|d @ƒ} |tjot if| ƒ}n | |}|d }t}n|tjo.t|dƒ}|d jod } d }n­|d jo|d f\}} nŠ|d @} d}|d | d !}t|ƒ| jo&tid| t|ƒ|fƒ‚nx"|D]} |d>t| ƒB}q†W| d } t}|| }|d jot|ƒ|jo!tid|t|ƒƒ‚qn|tjo!|tjo t}q1t}n|tjoT|ii|ƒ}|o t}q’|ii|d ƒ}|o t}q’t}n|tjo|t i!i"ƒjo|i|}t}qnt#|ƒt$i%jo|i|ƒ} n|tj o |} nt} | tjp| i'ƒi(|ƒ o t}q±| i"ƒi)ƒ}|ot i||ƒ}n t iƒ}|ii|ƒ}|o| }t}q±t}n|tjoO| d t i,jo| dt i-jo t}q ti.d||fƒ‚n|tjo™|o |}nt}|d jo(|i1||||t|ƒ\}}nD|i3|| |||t|ƒ\}}|o||}n|}t}qqW||fSdS(NisShort octet stream (%d octets)istagClassiÀs tagFormati stagIdiii€iÿÿÿÿis %s<%s at %sis%d-octet shorts%s not in asn1Spec: %s(5sstatesstStops stDecodeTagslens substrates lenOfStreamserrorsSubstrateUnderrunErrorsordststagsTagslastTagstagSetsNonesTagSetsstDecodeLengths firstOctetssizeslengths lengthStringscharsstGetValueDecodersasn1SpecsstGetValueDecoderByTagsstGetValueDecoderByAsn1Specsselfs_Decoder__codecMapsgetsconcreteDecoders stDecodeValuesstTryAsExplicitTagseoos endOfOctetss getTagSetstypestypessDictTypes_Decoder__chosenSpecs getTypeMapshas_keys getBaseTagsbaseTags baseTagSetstagFormatConstructedstagClassUniversals PyAsn1Errors recursiveFlags decodeFunsindefLenValueDecodersvalues valueDecoders _substrate(sselfs substratesasn1SpecstagSetslengthsstates recursiveFlagsbaseTags decodeFunscharslastTags lenOfStreamssizes_Decoder__chosenSpecsconcreteDecoders firstOctetsvalues baseTagSets lengthStringsts _substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys__call__Qs¬              &   %            $     (    (s__name__s __module__s__init__sNones stDecodeTags__call__(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysDecoderNs (Gstypess pyasn1.typestagsunivscharsusefulspyasn1.codec.berseoospyasn1serrorsAbstractDecodersEndOfOctetsDecodersIntegerDecodersBooleanDecodersBitStringDecodersOctetStringDecoders NullDecodersObjectIdentifierDecodersSequenceDecoders SetDecoders ChoiceDecodersUTF8StringDecodersNumericStringDecodersPrintableStringDecodersTeletexStringDecodersVideotexStringDecodersIA5StringDecodersGraphicStringDecodersVisibleStringDecodersGeneralStringDecodersUniversalStringDecodersBMPStringDecodersGeneralizedTimeDecodersUTCTimeDecoders endOfOctetsstagSetsIntegersBooleans BitStrings OctetStringsNullsObjectIdentifiers EnumeratedsSequencesSetsChoices UTF8Strings NumericStringsPrintableStrings TeletexStringsVideotexStrings IA5Strings GraphicStrings VisibleStrings GeneralStringsUniversalStrings BMPStringsGeneralizedTimesUTCTimescodecMapsranges stDecodeTagsstDecodeLengthsstGetValueDecodersstGetValueDecoderByAsn1SpecsstGetValueDecoderByTagsstTryAsExplicitTags stDecodeValuesstStopsDecodersdecode(*sEndOfOctetsDecodersusefulsGeneralStringDecodersSequenceDecodersNumericStringDecoderscharsObjectIdentifierDecodersIA5StringDecodersBooleanDecodersunivs SetDecoders NullDecodersIntegerDecodersstTryAsExplicitTagsUTF8StringDecodersOctetStringDecodersstGetValueDecoderByTagsstGetValueDecodersstGetValueDecoderByAsn1SpecsstDecodeLengthsAbstractDecodersdecodesBMPStringDecodersDecoderscodecMapsUTCTimeDecoders stDecodeValuesGeneralizedTimeDecodersstStopsTeletexStringDecodersVideotexStringDecodersBitStringDecoderstypessPrintableStringDecoders stDecodeTagsVisibleStringDecoderseoosGraphicStringDecoders ChoiceDecoderstagserrorsUniversalStringDecoder((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys?s@    2  &?ÿ·$’PKPœ(8í@Ц¼¼pyasn1/v1/codec/ber/eoo.pyo;ò àLDc@s9dklZlZdeifd„ƒYZeƒZdS((sbasestags EndOfOctetscBs2tZdZeieieieidƒƒZRS(Ni( s__name__s __module__s defaultValuestags initTagSetsTagstagClassUniversalstagFormatSimplestagSet(((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/eoo.pys EndOfOctetssN(s pyasn1.typesbasestagsAbstractSimpleAsn1Items EndOfOctetss endOfOctets(sbasestags EndOfOctetss endOfOctets((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/eoo.pys?sPK{fÂ4¨Å§3M3Mpyasn1/v1/codec/ber/decoder.py# BER decoder import types from pyasn1.type import tag, univ, char, useful from pyasn1.codec.ber import eoo from pyasn1 import error class AbstractDecoder: protoComponent = None def _createComponent(self, tagSet, asn1Spec): if asn1Spec is None: return self.protoComponent.clone(tagSet=tagSet) else: return asn1Spec.clone() def valueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): raise error.PyAsn1Error('Decoder not implemented for %s' % tagSet) class EndOfOctetsDecoder(AbstractDecoder): def valueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): return eoo.endOfOctets, substrate class IntegerDecoder(AbstractDecoder): protoComponent = univ.Integer(0) def valueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): if not substrate: raise error.PyAsn1Error('Empty substrate') octets = map(ord, substrate) if octets[0] & 0x80: value = -1L else: value = 0L for octet in octets: value = value << 8 | octet try: value = int(value) except OverflowError: pass return self._createComponent(tagSet, asn1Spec).clone(value), substrate class BooleanDecoder(IntegerDecoder): protoComponent = univ.Boolean(0) class BitStringDecoder(AbstractDecoder): protoComponent = univ.BitString(()) def valueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): r = self._createComponent(tagSet, asn1Spec) # XXX use default tagset if tagSet[0][1] == tag.tagFormatSimple: # XXX what tag to check? if not substrate: raise error.PyAsn1Error('Missing initial octet') trailingBits = ord(substrate[0]) if trailingBits > 7: raise error.PyAsn1Error( 'Trailing bits overflow %s' % trailingBits ) substrate = substrate[1:] lsb = p = 0; l = len(substrate)-1; b = [] while p <= l: if p == l: lsb = trailingBits j = 7 o = ord(substrate[p]) while j >= lsb: b.append((o>>j)&0x01) j = j - 1 p = p + 1 return r.clone(tuple(b)), '' if r: r = r.clone(value=()) if not decodeFun: return r, substrate while substrate: component, substrate = decodeFun(substrate) r = r + component return r, substrate def indefLenValueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): r = self._createComponent(tagSet, asn1Spec) # XXX use default tagset if r: r = r.clone(value='') if not decodeFun: return r, substrate while substrate: component, substrate = decodeFun(substrate) if component == eoo.endOfOctets: break r = r + component else: raise error.SubstrateUnderrunError( 'No EOO seen before substrate ends' ) return r, substrate class OctetStringDecoder(AbstractDecoder): protoComponent = univ.OctetString('') def valueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): r = self._createComponent(tagSet, asn1Spec) # XXX use default tagset if tagSet[0][1] == tag.tagFormatSimple: # XXX what tag to check? return r.clone(str(substrate)), '' if r: r = r.clone(value='') if not decodeFun: return r, substrate while substrate: component, substrate = decodeFun(substrate) r = r + component return r, substrate def indefLenValueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): r = self._createComponent(tagSet, asn1Spec) # XXX use default tagset if r: r = r.clone(value='') if not decodeFun: return r, substrate while substrate: component, substrate = decodeFun(substrate) if component == eoo.endOfOctets: break r = r + component else: raise error.SubstrateUnderrunError( 'No EOO seen before substrate ends' ) return r, substrate class NullDecoder(AbstractDecoder): protoComponent = univ.Null('') def valueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): r = self._createComponent(tagSet, asn1Spec) # XXX use default tagset if substrate: raise error.PyAsn1Error('Unexpected substrate for Null') return r, substrate class ObjectIdentifierDecoder(AbstractDecoder): protoComponent = univ.ObjectIdentifier(()) def valueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): r = self._createComponent(tagSet, asn1Spec) # XXX use default tagset if not substrate: raise error.PyAsn1Error('Empty substrate') oid = []; index = 0 # Get the first subid subId = ord(substrate[index]) oid.append(int(subId / 40)) oid.append(int(subId % 40)) index = index + 1 substrateLen = len(substrate) while index < substrateLen: subId = ord(substrate[index]) if subId < 128: oid.append(subId) index = index + 1 else: # Construct subid from a number of octets nextSubId = subId subId = 0 while nextSubId >= 128 and index < substrateLen: subId = (subId << 7) + (nextSubId & 0x7F) index = index + 1 nextSubId = ord(substrate[index]) if index == substrateLen: raise error.SubstrateUnderrunError( 'Short substrate for OID %s' % oid ) subId = (subId << 7) + nextSubId oid.append(subId) index = index + 1 return r.clone(tuple(oid)), substrate[index:] class SequenceDecoder(AbstractDecoder): protoComponent = univ.Sequence() def _getAsn1SpecByPosition(self, t, idx): if t.getComponentType() is not None: if hasattr(t, 'getComponentTypeMapNearPosition'): return t.getComponentTypeMapNearPosition(idx) # Sequence elif hasattr(t, 'getComponentTypeMap'): # XXX return t.getComponentTypeMap() # SequenceOf # or no asn1Specs def _getPositionByType(self, t, c, idx): if t.getComponentType() is not None: if hasattr(t, 'getComponentPositionNearType'): effectiveTagSet = getattr( c, 'getEffectiveTagSet', c.getTagSet )() return t.getComponentPositionNearType(effectiveTagSet, idx) # Sequence return idx # SequenceOf or w/o asn1Specs def valueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): r = self._createComponent(tagSet, asn1Spec) idx = 0 if not decodeFun: return r, substrate while substrate: asn1Spec = self._getAsn1SpecByPosition(r, idx) component, substrate = decodeFun( substrate, asn1Spec ) idx = self._getPositionByType(r, component, idx) r.setComponentByPosition(idx, component) idx = idx + 1 if hasattr(r, 'setDefaultComponents'): r.setDefaultComponents() r.verifySizeSpec() return r, substrate def indefLenValueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): r = self._createComponent(tagSet, asn1Spec) idx = 0 while substrate: try: asn1Spec = self._getAsn1SpecByPosition(r, idx) except error.PyAsn1Error: asn1Spec = None # XXX if not decodeFun: return r, substrate component, substrate = decodeFun(substrate, asn1Spec) if component == eoo.endOfOctets: break idx = self._getPositionByType(r, component, idx) r.setComponentByPosition(idx, component) idx = idx + 1 else: raise error.SubstrateUnderrunError( 'No EOO seen before substrate ends' ) if hasattr(r, 'setDefaultComponents'): r.setDefaultComponents() r.verifySizeSpec() return r, substrate class SetDecoder(SequenceDecoder): protoComponent = univ.Set() def _getAsn1SpecByPosition(self, t, idx): if t.getComponentType() is not None: if hasattr(t, 'getComponentTypeMap'): return t.getComponentTypeMap() # Set/SetOf # or no asn1Specs def _getPositionByType(self, t, c, idx): if t.getComponentType() is not None: if t.getComponentType() and hasattr(t, 'getComponentPositionByType'): effectiveTagSet = getattr( c, 'getEffectiveTagSet', c.getTagSet )() return t.getComponentPositionByType(effectiveTagSet) # Set return idx # SetOf or w/o asn1Specs class ChoiceDecoder(AbstractDecoder): protoComponent = univ.Choice() def valueDecoder(self, substrate, asn1Spec, tagSet, length, state, decodeFun): r = self._createComponent(tagSet, asn1Spec) if not decodeFun: return r, substrate component, substrate = decodeFun( substrate, r.getComponentTypeMap(), tagSet, length, state ) effectiveTagSet = getattr( component, 'getEffectiveTagSet', component.getTagSet )() r.setComponentByType(effectiveTagSet, component) return r, substrate indefLenValueDecoder = valueDecoder # character string types class UTF8StringDecoder(OctetStringDecoder): protoComponent = char.UTF8String() class NumericStringDecoder(OctetStringDecoder): protoComponent = char.NumericString() class PrintableStringDecoder(OctetStringDecoder): protoComponent = char.PrintableString() class TeletexStringDecoder(OctetStringDecoder): protoComponent = char.TeletexString() class VideotexStringDecoder(OctetStringDecoder): protoComponent = char.VideotexString() class IA5StringDecoder(OctetStringDecoder): protoComponent = char.IA5String() class GraphicStringDecoder(OctetStringDecoder): protoComponent = char.GraphicString() class VisibleStringDecoder(OctetStringDecoder): protoComponent = char.VisibleString() class GeneralStringDecoder(OctetStringDecoder): protoComponent = char.GeneralString() class UniversalStringDecoder(OctetStringDecoder): protoComponent = char.UniversalString() class BMPStringDecoder(OctetStringDecoder): protoComponent = char.BMPString() # "useful" types class GeneralizedTimeDecoder(OctetStringDecoder): protoComponent = useful.GeneralizedTime() class UTCTimeDecoder(OctetStringDecoder): protoComponent = useful.UTCTime() codecMap = { eoo.endOfOctets.tagSet: EndOfOctetsDecoder(), univ.Integer.tagSet: IntegerDecoder(), univ.Boolean.tagSet: BooleanDecoder(), univ.BitString.tagSet: BitStringDecoder(), univ.OctetString.tagSet: OctetStringDecoder(), univ.Null.tagSet: NullDecoder(), univ.ObjectIdentifier.tagSet: ObjectIdentifierDecoder(), univ.Enumerated.tagSet: IntegerDecoder(), univ.Sequence.tagSet: SequenceDecoder(), univ.Set.tagSet: SetDecoder(), univ.Choice.tagSet: ChoiceDecoder(), # character string types char.UTF8String.tagSet: UTF8StringDecoder(), char.NumericString.tagSet: NumericStringDecoder(), char.PrintableString.tagSet: PrintableStringDecoder(), char.TeletexString.tagSet: TeletexStringDecoder(), char.VideotexString.tagSet: VideotexStringDecoder(), char.IA5String.tagSet: IA5StringDecoder(), char.GraphicString.tagSet: GraphicStringDecoder(), char.VisibleString.tagSet: VisibleStringDecoder(), char.GeneralString.tagSet: GeneralStringDecoder(), char.UniversalString.tagSet: UniversalStringDecoder(), char.BMPString.tagSet: BMPStringDecoder(), # useful types useful.GeneralizedTime.tagSet: GeneralizedTimeDecoder(), useful.UTCTime.tagSet: UTCTimeDecoder() } ( stDecodeTag, stDecodeLength, stGetValueDecoder, stGetValueDecoderByAsn1Spec, stGetValueDecoderByTag, stTryAsExplicitTag, stDecodeValue, stStop ) = range(8) class Decoder: def __init__(self, codecMap): self.__codecMap = codecMap def __call__(self, substrate, asn1Spec=None, tagSet=None, length=None, state=stDecodeTag, recursiveFlag=1): # Decode tag & length while state != stStop: if state == stDecodeTag: # Decode tag lenOfStream = len(substrate) if lenOfStream < 2: raise error.SubstrateUnderrunError( 'Short octet stream (%d octets)' % lenOfStream ) t = ord(substrate[0]) lastTag = tag.Tag( tagClass=(t&0xC0), tagFormat=(t&0x20), tagId=t&0x1F ) if tagSet is None: tagSet = tag.TagSet((), lastTag) # base tag not recovered else: tagSet = lastTag + tagSet substrate = substrate[1:] state = stDecodeLength if state == stDecodeLength: # Decode length (we know there's at least 2 bytes from above) firstOctet = ord(substrate[0]) if firstOctet == 128: size = 1 length = -1 elif firstOctet < 128: length, size = firstOctet, 1 else: size = firstOctet & 0x7F # encoded in size bytes length = 0 lengthString = substrate[1:size+1] # missing check on maximum size, which shouldn't be a # problem, we can handle more than is possible if len(lengthString) != size: raise error.SubstrateUnderrunError( '%s<%s at %s' % (size, len(lengthString), tagSet) ) for char in lengthString: length = (length << 8) | ord(char) size = size + 1 state = stGetValueDecoder substrate = substrate[size:] if length != -1 and len(substrate) < length: raise error.SubstrateUnderrunError( '%d-octet short' % (length - len(substrate)) ) if state == stGetValueDecoder: if asn1Spec is None: state = stGetValueDecoderByTag else: state = stGetValueDecoderByAsn1Spec # # There're two ways of creating subtypes in ASN.1 what influences # decoder operation. These methods are: # 1) Either base types used in or no IMPLICIT tagging has been # applied on subtyping. # 2) Subtype syntax drops base type information (by means of # IMPLICIT tagging. # The first case allows for complete tag recovery from substrate # while the second one requires original ASN.1 type spec for # decoding. # # In either case a set of tags (tagSet) is coming from substrate # in an incremental, tag-by-tag fashion (this is the case of # EXPLICIT tag which is most basic). Outermost tag comes first # from the wire. # if state == stGetValueDecoderByTag: concreteDecoder = self.__codecMap.get(tagSet) if concreteDecoder: state = stDecodeValue else: concreteDecoder = self.__codecMap.get(tagSet[:1]) if concreteDecoder: state = stDecodeValue else: state = stTryAsExplicitTag if state == stGetValueDecoderByAsn1Spec: if tagSet == eoo.endOfOctets.getTagSet(): concreteDecoder = self.__codecMap[tagSet] state = stDecodeValue continue if type(asn1Spec) == types.DictType: __chosenSpec = asn1Spec.get(tagSet) elif asn1Spec is not None: __chosenSpec = asn1Spec else: __chosenSpec = None if __chosenSpec is None or not\ __chosenSpec.getTypeMap().has_key(tagSet): state = stTryAsExplicitTag else: # use base type for codec lookup to recover untagged types baseTag = __chosenSpec.getTagSet().getBaseTag() if baseTag: # XXX ugly baseTagSet = tag.TagSet(baseTag, baseTag) else: baseTagSet = tag.TagSet() concreteDecoder = self.__codecMap.get( # tagged subtype baseTagSet ) if concreteDecoder: asn1Spec = __chosenSpec state = stDecodeValue else: state = stTryAsExplicitTag if state == stTryAsExplicitTag: if lastTag[1] == tag.tagFormatConstructed and \ lastTag[0] != tag.tagClassUniversal: # Assume explicit tagging state = stDecodeTag else: raise error.PyAsn1Error( '%s not in asn1Spec: %s' % (tagSet, asn1Spec) ) if state == stDecodeValue: if recursiveFlag: decodeFun = self else: decodeFun = None if length == -1: # indef length value, substrate = concreteDecoder.indefLenValueDecoder( substrate, asn1Spec, tagSet, length, stGetValueDecoder, decodeFun ) else: value, _substrate = concreteDecoder.valueDecoder( substrate[:length], asn1Spec, tagSet, length, stGetValueDecoder, decodeFun ) if recursiveFlag: substrate = substrate[length:] else: substrate = _substrate state = stStop return value, substrate decode = Decoder(codecMap) # XXX # non-recursive decoding; return position rather than substrate PKsÎ2pyasn1/v1/codec/ber/__init__.pyPKOœ(8ÈöÑÆ pyasn1/v1/codec/ber/__init__.pyo;ò [€®Bc@sdS(N((((s@build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/__init__.pys?sPK²Qµ4§i÷R$R$pyasn1/v1/codec/ber/encoder.py# BER encoder import string from pyasn1.type import base, tag, univ, char, useful from pyasn1.codec.ber import eoo from pyasn1 import error class Error(Exception): pass class AbstractItemEncoder: supportIndefLenMode = 1 def _encodeTag(self, t, isConstructed): if isConstructed: return chr(t[0]|t[1]|t[2]|tag.tagFormatConstructed) else: return chr(t[0]|t[1]|t[2]) def _encodeLength(self, length, defMode): if not defMode and self.supportIndefLenMode: return '\x80' if length < 0x80: return chr(length) elif length < 0xFF: return '\x81%c' % length elif length < 0xFFFF: return '\x82%c%c' % ( (length >> 8) & 0xFF, length & 0xFF ) elif length < 0xFFFFFF: return '\x83%c%c%c' % ( (length >> 16) & 0xFF, (length >> 8) & 0xFF, length & 0xFF ) #...more octets may be added else: raise Error( 'Too large length (%d)' % length ) def _encodeValue(self, encodeFun, value, defMode, maxChunkSize): raise Error('Not implemented') def _encodeEndOfOctets(self, encodeFun, defMode): if defMode or not self.supportIndefLenMode: return '' else: return encodeFun(eoo.endOfOctets, defMode) def encode(self, encodeFun, value, defMode, maxChunkSize): substrate, isConstructed = self._encodeValue( encodeFun, value, defMode, maxChunkSize ) tagSet = value.getTagSet() if tagSet: if not isConstructed: # primitive form implies definite mode defMode = 1 return self._encodeTag( tagSet[-1], isConstructed ) + self._encodeLength( len(substrate), defMode ) + substrate + self._encodeEndOfOctets(encodeFun, defMode) else: return substrate # untagged value class EndOfOctetsEncoder(AbstractItemEncoder): def _encodeValue(self, encodeFun, value, defMode, maxChunkSize): return '', 0 class ExplicitlyTaggedItemEncoder(AbstractItemEncoder): def _encodeValue(self, encodeFun, value, defMode, maxChunkSize): if isinstance(value, base.AbstractConstructedAsn1Item): value = value.clone(tagSet=value.getTagSet()[:-1], cloneValueFlag=1) else: value = value.clone(tagSet=value.getTagSet()[:-1]) return encodeFun(value, defMode, maxChunkSize), 1 explicitlyTaggedItemEncoder = ExplicitlyTaggedItemEncoder() class IntegerEncoder(AbstractItemEncoder): supportIndefLenMode = 0 def _encodeValue(self, encodeFun, value, defMode, maxChunkSize): octets = [] value = long(value) # to save on ops on asn1 type while 1: octets.insert(0, value & 0xff) if value == 0 or value == -1: break value = value >> 8 if value == 0 and octets[0] & 0x80: octets.insert(0, 0) while len(octets) > 1 and \ (octets[0] == 0 and octets[1] & 0x80 == 0 or \ octets[0] == 0xff and octets[1] & 0x80 != 0): del octets[0] return string.join(map(chr, octets), ''), 0 class BitStringEncoder(AbstractItemEncoder): def _encodeValue(self, encodeFun, value, defMode, maxChunkSize): if not maxChunkSize or len(value) <= maxChunkSize*8: r = {}; l = len(value); p = j = 0 while p < l: i, j = divmod(p, 8) r[i] = r.get(i,0) | value[p]<<(7-j) p = p + 1 keys = r.keys(); keys.sort() return chr(7-j) + string.join( map(lambda k,r=r: chr(r[k]), keys),'' ), 0 else: pos = 0; substrate = '' while 1: # count in octets v = value.clone(value[pos*8:pos*8+maxChunkSize*8]) if not v: break substrate = substrate + encodeFun(v, defMode, maxChunkSize) pos = pos + maxChunkSize return substrate, 1 class OctetStringEncoder(AbstractItemEncoder): def _encodeValue(self, encodeFun, value, defMode, maxChunkSize): if not maxChunkSize or len(value) <= maxChunkSize: return str(value), 0 else: pos = 0; substrate = '' while 1: v = value.clone(value[pos:pos+maxChunkSize]) if not v: break substrate = substrate + encodeFun(v, defMode, maxChunkSize) pos = pos + maxChunkSize return substrate, 1 class NullEncoder(AbstractItemEncoder): supportIndefLenMode = 0 def _encodeValue(self, encodeFun, value, defMode, maxChunkSize): return '', 0 class ObjectIdentifierEncoder(AbstractItemEncoder): supportIndefLenMode = 0 def _encodeValue(self, encodeFun, value, defMode, maxChunkSize): oid = tuple(value) if len(oid) < 2: raise error.PyAsn1Error('Short OID %s' % value) # Build the first twos index = 0 subid = oid[index] * 40 subid = subid + oid[index+1] if 0 > subid > 0xff: raise error.PyAsn1Error( 'Initial sub-ID overflow %s in OID %s' % (oid[index:], value) ) octets = [ chr(subid) ] index = index + 2 # Cycle through subids for subid in oid[index:]: if subid > -1 and subid < 128: # Optimize for the common case octets.append(chr(subid & 0x7f)) elif subid < 0 or subid > 0xFFFFFFFFL: raise error.PyAsn1Error( 'SubId overflow %s in %s' % (subid, value) ) else: # Pack large Sub-Object IDs res = [ chr(subid & 0x7f) ] subid = subid >> 7 while subid > 0: res.insert(0, chr(0x80 | (subid & 0x7f))) subid = subid >> 7 # Convert packed Sub-Object ID to string and add packed # it to resulted Object ID octets.append(string.join(res, '')) return string.join(octets, ''), 0 class SequenceOfEncoder(AbstractItemEncoder): def _encodeValue(self, encodeFun, value, defMode, maxChunkSize): if hasattr(value, 'setDefaultComponents'): value.setDefaultComponents() value.verifySizeSpec() substrate = ''; idx = len(value) while idx > 0: idx = idx - 1 if value[idx] is None: # Optional component continue if hasattr(value, 'getDefaultComponentByPosition'): if value.getDefaultComponentByPosition(idx) == value[idx]: continue substrate = encodeFun( value[idx], defMode, maxChunkSize ) + substrate return substrate, 1 codecMap = { eoo.endOfOctets.tagSet: EndOfOctetsEncoder(), univ.Boolean.tagSet: IntegerEncoder(), univ.Integer.tagSet: IntegerEncoder(), univ.BitString.tagSet: BitStringEncoder(), univ.OctetString.tagSet: OctetStringEncoder(), univ.Null.tagSet: NullEncoder(), univ.ObjectIdentifier.tagSet: ObjectIdentifierEncoder(), univ.Enumerated.tagSet: IntegerEncoder(), # Sequence & Set have same tags as SequenceOf & SetOf univ.SequenceOf.tagSet: SequenceOfEncoder(), univ.SetOf.tagSet: SequenceOfEncoder(), univ.Choice.tagSet: SequenceOfEncoder(), # character string types char.UTF8String.tagSet: OctetStringEncoder(), char.NumericString.tagSet: OctetStringEncoder(), char.PrintableString.tagSet: OctetStringEncoder(), char.TeletexString.tagSet: OctetStringEncoder(), char.VideotexString.tagSet: OctetStringEncoder(), char.IA5String.tagSet: OctetStringEncoder(), char.GraphicString.tagSet: OctetStringEncoder(), char.VisibleString.tagSet: OctetStringEncoder(), char.GeneralString.tagSet: OctetStringEncoder(), char.UniversalString.tagSet: OctetStringEncoder(), char.BMPString.tagSet: OctetStringEncoder(), # useful types useful.GeneralizedTime.tagSet: OctetStringEncoder(), useful.UTCTime.tagSet: OctetStringEncoder() } class Encoder: def __init__(self, _codecMap): self.__codecMap = _codecMap def __call__(self, value, defMode=1, maxChunkSize=0): tagSet = value.getTagSet() if len(tagSet) > 1: concreteEncoder = explicitlyTaggedItemEncoder else: concreteEncoder = self.__codecMap.get(tagSet) if not concreteEncoder: concreteEncoder = self.__codecMap.get( tag.TagSet(tagSet.getBaseTag(), tagSet.getBaseTag()) # XXX ) if concreteEncoder: return concreteEncoder.encode( self, value, defMode, maxChunkSize ) else: raise Error('No encoder for %s' % value) encode = Encoder(codecMap) PKJœ(8í@Ц¼¼pyasn1/v1/codec/ber/eoo.pyc;ò àLDc@s9dklZlZdeifd„ƒYZeƒZdS((sbasestags EndOfOctetscBs2tZdZeieieieidƒƒZRS(Ni( s__name__s __module__s defaultValuestags initTagSetsTagstagClassUniversalstagFormatSimplestagSet(((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/eoo.pys EndOfOctetssN(s pyasn1.typesbasestagsAbstractSimpleAsn1Items EndOfOctetss endOfOctets(sbasestags EndOfOctetss endOfOctets((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/eoo.pys?sPKJœ(8ÈöÑÆ pyasn1/v1/codec/ber/__init__.pyc;ò [€®Bc@sdS(N((((s@build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/__init__.pys?sPKJœ(8'«­ò~2~2pyasn1/v1/codec/ber/encoder.pyc;ò ‘upDc@sdkZdklZlZlZlZlZdklZdk l Z de fd„ƒYZ dfd„ƒYZ de fd „ƒYZd e fd „ƒYZeƒZd e fd „ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZheiieƒ<eiieƒ<eiieƒ<eiieƒ<eiieƒ<eiieƒ<eiieƒ<eiieƒ<ei ieƒ<ei!ieƒ<ei"ieƒ<ei#ieƒ<ei$ieƒ<ei%ieƒ<ei&ieƒ<ei'ieƒ<ei(ieƒ<ei)ieƒ<ei*ieƒ<ei+ieƒ<ei,ieƒ<ei-ieƒ<ei.ieƒ<ei/ieƒB| |<| d} q>W| i ƒ} | i ƒt d|ƒt it| d„| ƒdƒdfSnyd} d} x_noW|i|| d| d|d!ƒ}| oPn| ||||ƒ} | |} qøW| dfSdS(NiiiicCst||ƒS(N(schrsrsk(sksr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pyslss(s maxChunkSizeslensvaluesrslspsjsdivmodsisgetskeysssortschrsstringsjoinsmapsposs substratesclonesvs encodeFunsdefMode(sselfs encodeFunsvaluesdefModes maxChunkSizesvsisjslsposspsrskeyss substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValuecs$ &7 &(s__name__s __module__s _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysBitStringEncoderbssOctetStringEncodercBstZd„ZRS(NcCsŸ| pt|ƒ|jot|ƒdfSnmd}d}xSnoK|i||||!ƒ}| oPn|||||ƒ}||}qEW|dfSdS(Nisi( s maxChunkSizeslensvaluesstrsposs substratesclonesvs encodeFunsdefMode(sselfs encodeFunsvaluesdefModes maxChunkSizesvsposs substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValuezs (s__name__s __module__s _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysOctetStringEncoderyss NullEncodercBstZdZd„ZRS(NicCsddfSdS(Nsi((sselfs encodeFunsvaluesdefModes maxChunkSize((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValue‰s(s__name__s __module__ssupportIndefLenModes _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys NullEncoder‡ssObjectIdentifierEncodercBstZdZd„ZRS(Nic CsÂt|ƒ}t|ƒdjotid|ƒ‚nd}||d} | ||d} d| jo djno!tid|||fƒ‚nt| ƒg}|d}xñ||D]å} | djo | d jo|i t| d @ƒƒq¿| djp | d jotid | |fƒ‚q¿t| d @ƒg}| d ?} x:| djo,|i dtd | d @Bƒƒ| d ?} qQW|i t i|dƒƒq¿Wt i|dƒdfSdS(Nis Short OID %sii(iiÿs$Initial sub-ID overflow %s in OID %siÿÿÿÿi€ilÿÿsSubId overflow %s in %sis(stuplesvaluesoidslenserrors PyAsn1Errorsindexssubidschrsoctetssappendsressinsertsstringsjoin( sselfs encodeFunsvaluesdefModes maxChunkSizesindexsressoidsoctetsssubid((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValueŽs0 !    (s__name__s __module__ssupportIndefLenModes _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysObjectIdentifierEncoderŒssSequenceOfEncodercBstZd„ZRS(NcCsÎt|dƒo|iƒn|iƒd}t|ƒ}xƒ|djou|d}||tjoq=nt|dƒo%|i|ƒ||joq=q¡n|||||ƒ|}q=W|dfSdS(NssetDefaultComponentssiisgetDefaultComponentByPosition( shasattrsvaluessetDefaultComponentssverifySizeSpecs substrateslensidxsNonesgetDefaultComponentByPositions encodeFunsdefModes maxChunkSize(sselfs encodeFunsvaluesdefModes maxChunkSizesidxs substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys _encodeValue´s    (s__name__s __module__s _encodeValue(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysSequenceOfEncoder³ssEncodercBs tZd„Zddd„ZRS(NcCs ||_dS(N(s _codecMapsselfs_Encoder__codecMap(sselfs _codecMap((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys__init__äsiicCs¦|iƒ}t|ƒdjo t}nI|ii|ƒ}| o.|iit i |i ƒ|i ƒƒƒ}n|o|i ||||ƒSntd|ƒ‚dS(NisNo encoder for %s(svalues getTagSetstagSetslensexplicitlyTaggedItemEncodersconcreteEncodersselfs_Encoder__codecMapsgetstagsTagSets getBaseTagsencodesdefModes maxChunkSizesError(sselfsvaluesdefModes maxChunkSizesconcreteEncoderstagSet((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys__call__çs  .(s__name__s __module__s__init__s__call__(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pysEncoderãs (3sstrings pyasn1.typesbasestagsunivscharsusefulspyasn1.codec.berseoospyasn1serrors ExceptionsErrorsAbstractItemEncodersEndOfOctetsEncodersExplicitlyTaggedItemEncodersexplicitlyTaggedItemEncodersIntegerEncodersBitStringEncodersOctetStringEncoders NullEncodersObjectIdentifierEncodersSequenceOfEncoders endOfOctetsstagSetsBooleansIntegers BitStrings OctetStringsNullsObjectIdentifiers Enumerateds SequenceOfsSetOfsChoices UTF8Strings NumericStringsPrintableStrings TeletexStringsVideotexStrings IA5Strings GraphicStrings VisibleStrings GeneralStringsUniversalStrings BMPStringsGeneralizedTimesUTCTimescodecMapsEncodersencode(susefulseooscharstagsExplicitlyTaggedItemEncodersSequenceOfEncodersEndOfOctetsEncodersOctetStringEncodersunivsObjectIdentifierEncodersEncodersencodescodecMapsstrings NullEncodersexplicitlyTaggedItemEncodersBitStringEncodersbasesErrorsIntegerEncodersAbstractItemEncoderserror((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/encoder.pys?s$ %  8 'ÿ·PKJœ(8Î(ˆr]r]pyasn1/v1/codec/ber/decoder.pyc;ò ªl€Dc@sLdkZdklZlZlZlZdklZdkl Z dfd„ƒYZ de fd„ƒYZ de fd „ƒYZ d e fd „ƒYZ d e fd „ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZdefd„ƒYZde fd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZd efd!„ƒYZd"efd#„ƒYZd$efd%„ƒYZd&efd'„ƒYZd(efd)„ƒYZd*efd+„ƒYZd,efd-„ƒYZd.efd/„ƒYZd0efd1„ƒYZ d2efd3„ƒYZ!hei"i#e ƒ<ei$i#e ƒ<ei%i#e ƒ<ei&i#eƒ<ei'i#eƒ<ei(i#eƒ<ei)i#eƒ<ei*i#e ƒ<ei+i#eƒ<ei,i#eƒ<ei-i#eƒ<ei.i#eƒ<ei/i#eƒ<ei0i#eƒ<ei1i#eƒ<ei2i#eƒ<ei3i#eƒ<ei4i#eƒ<ei5i#eƒ<ei6i#eƒ<ei7i#eƒ<ei8i#eƒ<ei9i#e ƒ<ei:i#e!ƒZ?Z@ZAZBZCZDd5fd6„ƒYZEeEe;ƒZFdS(7N(stagsunivscharsuseful(seoo(serrorsAbstractDecodercBs tZeZd„Zd„ZRS(NcCs2|tjo|iid|ƒSn |iƒSdS(NstagSet(sasn1SpecsNonesselfsprotoComponentsclonestagSet(sselfstagSetsasn1Spec((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_createComponent s cCstid|ƒ‚dS(NsDecoder not implemented for %s(serrors PyAsn1ErrorstagSet(sselfs substratesasn1SpecstagSetslengthsstates decodeFun((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoders(s__name__s __module__sNonesprotoComponents_createComponents valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysAbstractDecoders sEndOfOctetsDecodercBstZd„ZRS(NcCsti|fSdS(N(seoos endOfOctetss substrate(sselfs substratesasn1SpecstagSetslengthsstates decodeFun((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoders(s__name__s __module__s valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysEndOfOctetsDecoderssIntegerDecodercBs tZeidƒZd„ZRS(Nic Cs±| otidƒ‚ntt|ƒ}|dd@o d} nd} x|D]}| d>|B} qPWyt| ƒ} Wnt j onX|i ||ƒi| ƒ|fSdS(NsEmpty substrateii€lÿÿÿÿli(s substrateserrors PyAsn1Errorsmapsordsoctetssvaluesoctetsints OverflowErrorsselfs_createComponentstagSetsasn1Specsclone( sselfs substratesasn1SpecstagSetslengthsstates decodeFunsoctetsoctetssvalue((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoders (s__name__s __module__sunivsIntegersprotoComponents valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysIntegerDecoderssBooleanDecodercBstZeidƒZRS(Ni(s__name__s __module__sunivsBooleansprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysBooleanDecoder+ssBitStringDecodercBs)tZeifƒZd„Zd„ZRS(NcCs¬|i||ƒ} |ddtijo| oti dƒ‚nt |dƒ}|djoti d|ƒ‚n|d}d}} t|ƒd} g}x}| | joo| | jo |}nd} t || ƒ}x1| |jo#|i|| ?d@ƒ| d} qãW| d} q¦W| it|ƒƒdfSn| o| idfƒ} n| o| |fSnx(|o ||ƒ\} }| | } qvW| |fSdS(NiisMissing initial octetisTrailing bits overflow %sssvalue(sselfs_createComponentstagSetsasn1SpecsrstagstagFormatSimples substrateserrors PyAsn1Errorsords trailingBitsslsbspslenslsbsjsosappendsclonestuples decodeFuns component(sselfs substratesasn1SpecstagSetslengthsstates decodeFunsosbs componentsjslspsrs trailingBitsslsb((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoder0s<       c Cs¢|i||ƒ}|o|iddƒ}n| o||fSnxL|o5||ƒ\}}|t i joPn||}qHWt i dƒ‚||fSdS(Nsvaluess!No EOO seen before substrate ends( sselfs_createComponentstagSetsasn1Specsrsclones decodeFuns substrates componentseoos endOfOctetsserrorsSubstrateUnderrunError( sselfs substratesasn1SpecstagSetslengthsstates decodeFuns componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysindefLenValueDecoderOs(s__name__s __module__sunivs BitStringsprotoComponents valueDecodersindefLenValueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysBitStringDecoder.s sOctetStringDecodercBs)tZeidƒZd„Zd„ZRS(Nsc Cs³|i||ƒ}|ddtijo|it|ƒƒdfSn|o|iddƒ}n| o||fSnx(|o ||ƒ\}}||}q}W||fSdS(Niissvalue( sselfs_createComponentstagSetsasn1SpecsrstagstagFormatSimplesclonesstrs substrates decodeFuns component( sselfs substratesasn1SpecstagSetslengthsstates decodeFuns componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoderbsc Cs¢|i||ƒ}|o|iddƒ}n| o||fSnxL|o5||ƒ\}}|t i joPn||}qHWt i dƒ‚||fSdS(Nsvaluess!No EOO seen before substrate ends( sselfs_createComponentstagSetsasn1Specsrsclones decodeFuns substrates componentseoos endOfOctetsserrorsSubstrateUnderrunError( sselfs substratesasn1SpecstagSetslengthsstates decodeFuns componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysindefLenValueDecoderos(s__name__s __module__sunivs OctetStringsprotoComponents valueDecodersindefLenValueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysOctetStringDecoder`s s NullDecodercBs tZeidƒZd„ZRS(NscCs:|i||ƒ}|otidƒ‚n||fSdS(NsUnexpected substrate for Null(sselfs_createComponentstagSetsasn1Specsrs substrateserrors PyAsn1Error(sselfs substratesasn1SpecstagSetslengthsstates decodeFunsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoder‚s(s__name__s __module__sunivsNullsprotoComponents valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys NullDecoder€ssObjectIdentifierDecodercBs tZeifƒZd„ZRS(Nc Csž|i||ƒ} | otidƒ‚ng}d}t ||ƒ} |i t | dƒƒ|i t | dƒƒ|d}t|ƒ} xí|| joßt ||ƒ} | djo|i | ƒ|d}q| } d} xK| djo || jo0| d>| d@} |d}t ||ƒ} qäW|| jotid|ƒ‚n| d>| } |i | ƒ|d}qW| it|ƒƒ||fSdS( NsEmpty substrateii(ii€iisShort substrate for OID %s(sselfs_createComponentstagSetsasn1Specsrs substrateserrors PyAsn1ErrorsoidsindexsordssubIdsappendsintslens substrateLens nextSubIdsSubstrateUnderrunErrorsclonestuple( sselfs substratesasn1SpecstagSetslengthsstates decodeFunsindexsoidssubIdsrs substrateLens nextSubId((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoder‹s8         (s__name__s __module__sunivsObjectIdentifiersprotoComponents valueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysObjectIdentifierDecoder‰ssSequenceDecodercBs8tZeiƒZd„Zd„Zd„Zd„ZRS(NcCsZ|iƒtj oCt|dƒo|i|ƒSqVt|dƒo|iƒSqVndS(NsgetComponentTypeMapNearPositionsgetComponentTypeMap(stsgetComponentTypesNoneshasattrsgetComponentTypeMapNearPositionsidxsgetComponentTypeMap(sselfstsidx((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_getAsn1SpecByPosition±s cCs[|iƒtj o@t|dƒo,t|d|iƒƒ}|i||ƒSqSn|SdS(NsgetComponentPositionNearTypesgetEffectiveTagSet( stsgetComponentTypesNoneshasattrsgetattrscs getTagSetseffectiveTagSetsgetComponentPositionNearTypesidx(sselfstscsidxseffectiveTagSet((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_getPositionByType¸s c CsÉ|i||ƒ} d}| o| |fSnxb|oZ|i| |ƒ}|||ƒ\}}|i | ||ƒ}| i ||ƒ|d}q1Wt | dƒo| i ƒn| iƒ| |fSdS(NiissetDefaultComponents(sselfs_createComponentstagSetsasn1Specsrsidxs decodeFuns substrates_getAsn1SpecByPositions components_getPositionByTypessetComponentByPositionshasattrssetDefaultComponentssverifySizeSpec( sselfs substratesasn1SpecstagSetslengthsstates decodeFunsidxs componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoderÁs c Cs|i||ƒ} d}x¿|o¨y|i| |ƒ}Wnti j o t }nX| o| |fSn|||ƒ\}}|t ijoPn|i| ||ƒ}| i||ƒ|d}qWtidƒ‚t| dƒo| iƒn| iƒ| |fSdS(Niis!No EOO seen before substrate endsssetDefaultComponents(sselfs_createComponentstagSetsasn1Specsrsidxs substrates_getAsn1SpecByPositionserrors PyAsn1ErrorsNones decodeFuns componentseoos endOfOctetss_getPositionByTypessetComponentByPositionsSubstrateUnderrunErrorshasattrssetDefaultComponentssverifySizeSpec( sselfs substratesasn1SpecstagSetslengthsstates decodeFunsidxs componentsr((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysindefLenValueDecoderÔs*  ( s__name__s __module__sunivsSequencesprotoComponents_getAsn1SpecByPositions_getPositionByTypes valueDecodersindefLenValueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysSequenceDecoder¯s    s SetDecodercBs&tZeiƒZd„Zd„ZRS(NcCs9|iƒtj o"t|dƒo|iƒSq5ndS(NsgetComponentTypeMap(stsgetComponentTypesNoneshasattrsgetComponentTypeMap(sselfstsidx((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_getAsn1SpecByPositionðscCse|iƒtj oJ|iƒo t|dƒo)t|d|iƒƒ}|i|ƒSq]n|SdS(NsgetComponentPositionByTypesgetEffectiveTagSet( stsgetComponentTypesNoneshasattrsgetattrscs getTagSetseffectiveTagSetsgetComponentPositionByTypesidx(sselfstscsidxseffectiveTagSet((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys_getPositionByTypeõs (s__name__s __module__sunivsSetsprotoComponents_getAsn1SpecByPositions_getPositionByType(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys SetDecoderîs  s ChoiceDecodercBs#tZeiƒZd„ZeZRS(Nc Cs‚|i||ƒ}| o||fSn|||iƒ|||ƒ\}}t |d|i ƒƒ} |i| |ƒ||fSdS(NsgetEffectiveTagSet(sselfs_createComponentstagSetsasn1Specsrs decodeFuns substratesgetComponentTypeMapslengthsstates componentsgetattrs getTagSetseffectiveTagSetssetComponentByType( sselfs substratesasn1SpecstagSetslengthsstates decodeFuns componentsrseffectiveTagSet((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys valueDecoders$(s__name__s __module__sunivsChoicesprotoComponents valueDecodersindefLenValueDecoder(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys ChoiceDecoderþs  sUTF8StringDecodercBstZeiƒZRS(N(s__name__s __module__schars UTF8StringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysUTF8StringDecoderssNumericStringDecodercBstZeiƒZRS(N(s__name__s __module__schars NumericStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysNumericStringDecoderssPrintableStringDecodercBstZeiƒZRS(N(s__name__s __module__scharsPrintableStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysPrintableStringDecoderssTeletexStringDecodercBstZeiƒZRS(N(s__name__s __module__schars TeletexStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysTeletexStringDecoderssVideotexStringDecodercBstZeiƒZRS(N(s__name__s __module__scharsVideotexStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysVideotexStringDecoderssIA5StringDecodercBstZeiƒZRS(N(s__name__s __module__schars IA5StringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysIA5StringDecoderssGraphicStringDecodercBstZeiƒZRS(N(s__name__s __module__schars GraphicStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysGraphicStringDecoderssVisibleStringDecodercBstZeiƒZRS(N(s__name__s __module__schars VisibleStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysVisibleStringDecoderssGeneralStringDecodercBstZeiƒZRS(N(s__name__s __module__schars GeneralStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysGeneralStringDecoder!ssUniversalStringDecodercBstZeiƒZRS(N(s__name__s __module__scharsUniversalStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysUniversalStringDecoder#ssBMPStringDecodercBstZeiƒZRS(N(s__name__s __module__schars BMPStringsprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysBMPStringDecoder%ssGeneralizedTimeDecodercBstZeiƒZRS(N(s__name__s __module__susefulsGeneralizedTimesprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysGeneralizedTimeDecoder)ssUTCTimeDecodercBstZeiƒZRS(N(s__name__s __module__susefulsUTCTimesprotoComponent(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysUTCTimeDecoder+sisDecodercBs)tZd„Zeeeedd„ZRS(NcCs ||_dS(N(scodecMapsselfs_Decoder__codecMap(sselfscodecMap((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys__init__OsicCsÆxµ|tjo§|tjo«t|ƒ} | djotid| ƒ‚nt|dƒ}t i d|d@d|d@d|d @ƒ} |tjot if| ƒ}n | |}|d }t}n|tjo.t|dƒ}|d jod } d }n­|d jo|d f\}} nŠ|d @} d}|d | d !}t|ƒ| jo&tid| t|ƒ|fƒ‚nx"|D]} |d>t| ƒB}q†W| d } t}|| }|d jot|ƒ|jo!tid|t|ƒƒ‚qn|tjo!|tjo t}q1t}n|tjoT|ii|ƒ}|o t}q’|ii|d ƒ}|o t}q’t}n|tjo|t i!i"ƒjo|i|}t}qnt#|ƒt$i%jo|i|ƒ} n|tj o |} nt} | tjp| i'ƒi(|ƒ o t}q±| i"ƒi)ƒ}|ot i||ƒ}n t iƒ}|ii|ƒ}|o| }t}q±t}n|tjoO| d t i,jo| dt i-jo t}q ti.d||fƒ‚n|tjo™|o |}nt}|d jo(|i1||||t|ƒ\}}nD|i3|| |||t|ƒ\}}|o||}n|}t}qqW||fSdS(NisShort octet stream (%d octets)istagClassiÀs tagFormati stagIdiii€iÿÿÿÿis %s<%s at %sis%d-octet shorts%s not in asn1Spec: %s(5sstatesstStops stDecodeTagslens substrates lenOfStreamserrorsSubstrateUnderrunErrorsordststagsTagslastTagstagSetsNonesTagSetsstDecodeLengths firstOctetssizeslengths lengthStringscharsstGetValueDecodersasn1SpecsstGetValueDecoderByTagsstGetValueDecoderByAsn1Specsselfs_Decoder__codecMapsgetsconcreteDecoders stDecodeValuesstTryAsExplicitTagseoos endOfOctetss getTagSetstypestypessDictTypes_Decoder__chosenSpecs getTypeMapshas_keys getBaseTagsbaseTags baseTagSetstagFormatConstructedstagClassUniversals PyAsn1Errors recursiveFlags decodeFunsindefLenValueDecodersvalues valueDecoders _substrate(sselfs substratesasn1SpecstagSetslengthsstates recursiveFlagsbaseTags decodeFunscharslastTags lenOfStreamssizes_Decoder__chosenSpecsconcreteDecoders firstOctetsvalues baseTagSets lengthStringsts _substrate((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys__call__Qs¬              &   %            $     (    (s__name__s __module__s__init__sNones stDecodeTags__call__(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pysDecoderNs (Gstypess pyasn1.typestagsunivscharsusefulspyasn1.codec.berseoospyasn1serrorsAbstractDecodersEndOfOctetsDecodersIntegerDecodersBooleanDecodersBitStringDecodersOctetStringDecoders NullDecodersObjectIdentifierDecodersSequenceDecoders SetDecoders ChoiceDecodersUTF8StringDecodersNumericStringDecodersPrintableStringDecodersTeletexStringDecodersVideotexStringDecodersIA5StringDecodersGraphicStringDecodersVisibleStringDecodersGeneralStringDecodersUniversalStringDecodersBMPStringDecodersGeneralizedTimeDecodersUTCTimeDecoders endOfOctetsstagSetsIntegersBooleans BitStrings OctetStringsNullsObjectIdentifiers EnumeratedsSequencesSetsChoices UTF8Strings NumericStringsPrintableStrings TeletexStringsVideotexStrings IA5Strings GraphicStrings VisibleStrings GeneralStringsUniversalStrings BMPStringsGeneralizedTimesUTCTimescodecMapsranges stDecodeTagsstDecodeLengthsstGetValueDecodersstGetValueDecoderByAsn1SpecsstGetValueDecoderByTagsstTryAsExplicitTags stDecodeValuesstStopsDecodersdecode(*sEndOfOctetsDecodersusefulsGeneralStringDecodersSequenceDecodersNumericStringDecoderscharsObjectIdentifierDecodersIA5StringDecodersBooleanDecodersunivs SetDecoders NullDecodersIntegerDecodersstTryAsExplicitTagsUTF8StringDecodersOctetStringDecodersstGetValueDecoderByTagsstGetValueDecodersstGetValueDecoderByAsn1SpecsstDecodeLengthsAbstractDecodersdecodesBMPStringDecodersDecoderscodecMapsUTCTimeDecoders stDecodeValuesGeneralizedTimeDecodersstStopsTeletexStringDecodersVideotexStringDecodersBitStringDecoderstypessPrintableStringDecoders stDecodeTagsVisibleStringDecoderseoosGraphicStringDecoders ChoiceDecoderstagserrorsUniversalStringDecoder((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/ber/decoder.pys?s@    2  &?ÿ·$’PKRS˜4µç”×íípyasn1/v1/codec/ber/eoo.pyfrom pyasn1.type import base, tag class EndOfOctets(base.AbstractSimpleAsn1Item): defaultValue = 0 tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x00) ) endOfOctets = EndOfOctets() PKPœ(8õ[„u¾¾pyasn1/v1/codec/der/encoder.pyo;ò í;£Cc@s½dklZdklZdeifd„ƒYZeiiƒZeiheii eii ƒ<ei i eii ƒ<ei ƒi eƒ<ƒdeifd„ƒYZeeƒZdS((suniv(sencoders SetOfEncodercBstZd„ZRS(NcCs5tt|d|iƒƒt|d|iƒƒƒSdS(NsgetEffectiveTagSet(scmpsgetattrsc1s getTagSetsc2(sselfsc1sc2((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pys_cmpSetComponentss(s__name__s __module__s_cmpSetComponents(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pys SetOfEncoderssEncodercBstZddd„ZRS(NiicCstii||||ƒSdS(N(sencodersEncoders__call__sselfsclientsdefModes maxChunkSize(sselfsclientsdefModes maxChunkSize((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pys__call__s(s__name__s __module__s__call__(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pysEncodersN(s pyasn1.typesunivspyasn1.codec.cersencoders SetOfEncoderscodecMapscopysupdates BitStringstagSetsBitStringEncoders OctetStringsOctetStringEncodersSetOfsEncodersencode(s SetOfEncodersunivsEncodersencodesencoderscodecMap((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pys?s  RPKPœ(8¹Ã/\\pyasn1/v1/codec/der/decoder.pyo;ò [€®Bc@s0dklZdklZeieiƒZdS((suniv(sdecoderN(s pyasn1.typesunivspyasn1.codec.cersdecodersDecoderscodecMapsdecode(sdecodesunivsdecoder((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/decoder.pys?s  PKsÎ2ˆ¤Ï||pyasn1/v1/codec/der/decoder.py# DER decoder from pyasn1.type import univ from pyasn1.codec.cer import decoder decode = decoder.Decoder(decoder.codecMap) PKsÎ2pyasn1/v1/codec/der/__init__.pyPKPœ(8ø¼“O pyasn1/v1/codec/der/__init__.pyo;ò [€®Bc@sdS(N((((s@build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/__init__.pys?sPK ‰3Yí„WWpyasn1/v1/codec/der/encoder.py# DER encoder from pyasn1.type import univ from pyasn1.codec.cer import encoder class SetOfEncoder(encoder.SetOfEncoder): def _cmpSetComponents(self, c1, c2): return cmp( getattr(c1, 'getEffectiveTagSet', c1.getTagSet)(), getattr(c2, 'getEffectiveTagSet', c2.getTagSet)() ) codecMap = encoder.codecMap.copy() codecMap.update({ # Overload CER encodrs with BER ones (a bit hackerish XXX) univ.BitString.tagSet: encoder.encoder.BitStringEncoder(), univ.OctetString.tagSet: encoder.encoder.OctetStringEncoder(), # Set & SetOf have same tags univ.SetOf().tagSet: SetOfEncoder() }) class Encoder(encoder.Encoder): def __call__(self, client, defMode=1, maxChunkSize=0): return encoder.Encoder.__call__(self, client, defMode, maxChunkSize) encode = Encoder(codecMap) PKKœ(8ø¼“O pyasn1/v1/codec/der/__init__.pyc;ò [€®Bc@sdS(N((((s@build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/__init__.pys?sPKKœ(8õ[„u¾¾pyasn1/v1/codec/der/encoder.pyc;ò í;£Cc@s½dklZdklZdeifd„ƒYZeiiƒZeiheii eii ƒ<ei i eii ƒ<ei ƒi eƒ<ƒdeifd„ƒYZeeƒZdS((suniv(sencoders SetOfEncodercBstZd„ZRS(NcCs5tt|d|iƒƒt|d|iƒƒƒSdS(NsgetEffectiveTagSet(scmpsgetattrsc1s getTagSetsc2(sselfsc1sc2((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pys_cmpSetComponentss(s__name__s __module__s_cmpSetComponents(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pys SetOfEncoderssEncodercBstZddd„ZRS(NiicCstii||||ƒSdS(N(sencodersEncoders__call__sselfsclientsdefModes maxChunkSize(sselfsclientsdefModes maxChunkSize((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pys__call__s(s__name__s __module__s__call__(((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pysEncodersN(s pyasn1.typesunivspyasn1.codec.cersencoders SetOfEncoderscodecMapscopysupdates BitStringstagSetsBitStringEncoders OctetStringsOctetStringEncodersSetOfsEncodersencode(s SetOfEncodersunivsEncodersencodesencoderscodecMap((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/encoder.pys?s  RPKKœ(8¹Ã/\\pyasn1/v1/codec/der/decoder.pyc;ò [€®Bc@s0dklZdklZeieiƒZdS((suniv(sdecoderN(s pyasn1.typesunivspyasn1.codec.cersdecodersDecoderscodecMapsdecode(sdecodesunivsdecoder((s?build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/codec/der/decoder.pys?s  PKKœ(8“0º†#†#pyasn1/v1/type/namedtype.pyc;ò »É±Bc@scdklZdfd„ƒYZdefd„ƒYZdefd„ƒYZdfd„ƒYZd S( (serrors NamedTypecBsAtZdZdZd„Zd„Zd„Zd„Zd„ZRS(NicCs||_||_dS(N(snamesselfs_NamedType__namests_NamedType__type(sselfsnamest((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pys__init__scCs-d|iit|iƒt|iƒfSdS(Ns %s(%s, %s)(sselfs __class__s__name__sreprs_NamedType__names_NamedType__type(sself((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pys__repr__ scCs |iSdS(N(sselfs_NamedType__type(sself((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pysgetType scCs |iSdS(N(sselfs_NamedType__name(sself((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pysgetName scCs=|djo |iSn|djo |iSntƒ‚dS(Nii(sidxsselfs_NamedType__names_NamedType__types IndexError(sselfsidx((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pys __getitem__s   ( s__name__s __module__s isOptionals isDefaulteds__init__s__repr__sgetTypesgetNames __getitem__(((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pys NamedTypes    sOptionalNamedTypecBstZdZRS(Ni(s__name__s __module__s isOptional(((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pysOptionalNamedTypessDefaultedNamedTypecBstZdZRS(Ni(s__name__s __module__s isDefaulted(((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pysDefaultedNamedTypess NamedTypescBs‰tZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zed„ZRS(NcGs:||_t|_h|_h|_h|_h|_dS(N( s namedTypessselfs_NamedTypes__namedTypessNones_NamedTypes__minTagSets_NamedTypes__typeMaps_NamedTypes__tagMaps_NamedTypes__nameMaps_NamedTypes__ambigiousTypes(sselfs namedTypes((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pys__init__s  cCsDd|ii}x%|iD]}|dt|ƒ}qW|dSdS(Ns%s(s%s, s)(sselfs __class__s__name__srs_NamedTypes__namedTypessnsrepr(sselfsrsn((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pys__repr__s  cCs|i|SdS(N(sselfs_NamedTypes__namedTypessidx(sselfsidx((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pys __getitem__%scCs|iodSndSdS(Nii(sselfs_NamedTypes__namedTypes(sself((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pys __nonzero__'s cCst|iƒSdS(N(slensselfs_NamedTypes__namedTypes(sself((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pys__len__*scCs>y|i|iƒSWn"tj otidƒ‚nXdS(NsType position out of range(sselfs_NamedTypes__namedTypessidxsgetTypes IndexErrorserrors PyAsn1Error(sselfsidx((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pysgetTypeByPosition,scCsÚ|i o“t|iƒ}x|djoo|d}x^|i|iƒiƒiƒD]=}|ii |ƒot i d|ƒ‚n||i|y|i|iƒSWn"tj otidƒ‚nXdS(NsType position out of range(sselfs_NamedTypes__namedTypessidxsgetNames IndexErrorserrors PyAsn1Error(sselfsidx((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pysgetNameByPosition?scCsÃ|i o|t|iƒ}xj|djoX|d}|i|iƒ}|ii|ƒoti d|ƒ‚n||i|ƒSdS(N(sselfsclones_valuesvalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __lshift__-scCs|i|i|?ƒSdS(N(sselfsclones_valuesvalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __rshift__.scCst|iƒSdS(N(sintsselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__int__/scCst|iƒSdS(N(slongsselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__long__0scCst|iƒSdS(N(sfloatsselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __float__1scCst|iƒSdS(N(sabssselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__abs__2scCs˜t|ƒtijot|ƒSn|ii|ƒ}|t j o|Snyt i |ƒSWn5yt i |ƒSWq”t id|ƒ‚q”XnXdS(NsCan't coerce %s into integer(stypesvaluestypess StringTypeslongsselfs_Integer__namedValuessgetValuesrsNonesstringsatoisatolserrors PyAsn1Error(sselfsvaluesr((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysprettyIn4s cCs?|ii|ƒ}|tj od||fSn t|ƒSdS(Ns%s(%s)(sselfs_Integer__namedValuessgetNamesvaluesrsNonesstr(sselfsvaluesr((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys prettyOutDs cCs |iSdS(N(sselfs_Integer__namedValues(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetNamedValuesKscCs¾|tjo$|tjo|tjo |tjo|Sn|tjo |i}n|tjo |i}n|tjo |i}n|tjo |i }n|i ||||ƒSdS(N( svaluesNonestagSets subtypeSpecs namedValuessselfs_values_tagSets _subtypeSpecs_Integer__namedValuess __class__(sselfsvaluestagSets subtypeSpecs namedValues((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pyscloneMs4        cCsÑ|tjo |i}n|tj o|ii|ƒ}n-|tj o|ii |ƒ}n |i}|tjo |i }n||i }|tjo |i }n||i }|i||||ƒSdS(N(svaluesNonesselfs_values implicitTags_tagSets tagImplicitlystagSets explicitTags tagExplicitlys subtypeSpecs _subtypeSpecs namedValuess_Integer__namedValuess __class__(sselfsvalues implicitTags explicitTags subtypeSpecs namedValuesstagSet((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pyssubtype\s           (*s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSetsnamedvals NamedValuess namedValuessNones__init__s__and__s__rand__s__or__s__ror__s__xor__s__rxor__s__add__s__radd__s__sub__s__rsub__s__mul__s__rmul__s__div__s__rdiv__s__mod__s__rmod__s__pow__s__rpow__s __lshift__s __rshift__s__int__s__long__s __float__s__abs__sprettyIns prettyOutsgetNamedValuessclonessubtype(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysInteger s@$                            sBooleancBsftZeieieieidƒƒZei e i ddƒZ ei i ddfddfƒZ RS(NiisFalsesTrue(s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSetsIntegers subtypeSpecs constraintsSingleValueConstraints namedValuessclone(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysBooleanps$s BitStringcBsîtZeieieieidƒƒZei ƒZ e e e e d„Z e e e e d„Z e e e e e d„Zd„Zd„Zd„Zd„Zd „Zd „Zd „Zeid d fjo d„Znd„Zd„ZRS(NicCsC|tjo|i|_n ||_tii||||ƒdS(N( s namedValuessNonesselfs_BitString__namedValuessbasesAbstractSimpleAsn1Items__init__svaluestagSets subtypeSpec(sselfsvaluestagSets subtypeSpecs namedValues((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__init__|s  cCs¾|tjo$|tjo|tjo |tjo|Sn|tjo |i}n|tjo |i}n|tjo |i}n|tjo |i }n|i ||||ƒSdS(N( svaluesNonestagSets subtypeSpecs namedValuessselfs_values_tagSets _subtypeSpecs_BitString__namedValuess __class__(sselfsvaluestagSets subtypeSpecs namedValues((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysclone†s4        cCsÑ|tjo |i}n|tj o|ii|ƒ}n-|tj o|ii |ƒ}n |i}|tjo |i }n||i }|tjo |i }n||i }|i||||ƒSdS(N(svaluesNonesselfs_values implicitTags_tagSets tagImplicitlystagSets explicitTags tagExplicitlys subtypeSpecs _subtypeSpecs namedValuess_BitString__namedValuess __class__(sselfsvalues implicitTags explicitTags subtypeSpecs namedValuesstagSet((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pyssubtype•s           cCstt|ƒƒSdS(N(sstrstuplesself(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__str__©scCst|iƒSdS(N(slensselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__len__­scCsNt|ƒtijo)|iti|i|i |i ƒƒSn |i|SdS(N( stypesistypess SliceTypesselfsclonesoperatorsgetslices_valuesstartsstop(sselfsi((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __getitem__®s)cCs|i|i|ƒSdS(N(sselfsclones_valuesvalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__add__³scCs|i||iƒSdS(N(sselfsclonesvalues_value(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__radd__´scCs|i|i|ƒSdS(N(sselfsclones_valuesvalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__mul__µscCs|i|ƒSdS(N(sselfs__mul__svalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__rmul__¶siicCs'|td|ƒtd|ƒd…SdS(Ni(sselfsmaxsisj(sselfsisj((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __getslice__ºscCs³g}| ofSnt|ƒtijo|Snr|ddjoÊ|ddjo/x²|dd!D]}|it|ƒƒqdWq¥|ddjobxr|dd!D]L}d}t i |dƒ}x+|o#|d}|i||?d@ƒqÅWq¤Wq¥t i d |ƒ‚n—x“t i |d ƒD]}|ii|ƒ}|tjot i d |ƒ‚n|t|ƒjo&|idg|t|ƒdƒnd|| tuple of numerics OID converters.is Malformed Object ID %s at %s: %sN(stypesvaluestypess TupleTypes StringTypestuplesrsfiltersNonesstringssplitselementsappendsatois atoi_errorsatols atol_errorswhyserrors PyAsn1Errorsstrsselfs __class__s__name__(sselfsvalueselementsrswhy((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysprettyIn"s 6cCsxg}x[|D]S}|it|ƒƒ|do|dddjo|dd |dd dotted string OID converteriÿÿÿÿsLs.N(srsvaluessubOidsappendsstrsstringsjoin(sselfsvaluesrssubOid((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys prettyOut6s (s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSets__add__s__radd__s__len__s __getitem__sbases version_infos __getslice__sindexs isPrefixOfsprettyIns prettyOut(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysObjectIdentifiers$        sRealcBs,tZeieieieidƒƒZRS(Ni (s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSet(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysReal?ss EnumeratedcBs,tZeieieieidƒƒZRS(Ni (s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSet(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys EnumeratedDssSetOfcBsntZeZeieieieidƒƒZ d„Z d„Z d„Z ed„Z d„Zdd„ZRS( NicCsŸd}t|iƒ}xƒ||jou|i|}|tj oMt|ti ƒo |i ||i d|ƒƒqŒ|i ||i ƒƒn|d}qWdS(NiscloneValueFlagi(sidxslensselfs_componentValuesslscsNones isinstancesbasesAbstractConstructedAsn1ItemsmyClonessetComponentByPositionsclonescloneValueFlag(sselfsmyClonescloneValueFlagsidxscsl((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys_cloneComponentValuesQs    cCs?|itj o|ii|ƒ otid|ƒ‚ndS(NsComponent type error %s(sselfs_componentTypesNones isSuperTypeOfsvalueserrors PyAsn1Error(sselfsidxsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys_verifyComponent^s$cCs|i|SdS(N(sselfs_componentValuessidx(sselfsidx((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentByPositioncscCsct|iƒ}||jo#|i||dtg|_n|tjoY|i|tjo=|itjoti dƒ‚n|ii ƒ|i|tZeieieieidƒƒZd„Zd„Z RS(NicCs|ii|ƒSdS(N(sselfs_componentTypesgetTypeMapNearPositionsidx(sselfsidx((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentTypeMapNearPositionôscCs|ii||ƒSdS(N(sselfs_componentTypesgetPositionNearTypestagSetsidx(sselfstagSetsidx((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentPositionNearType÷s( s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatConstructedstagSetsgetComponentTypeMapNearPositionsgetComponentPositionNearType(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysSequenceïs$ sSetcBsYtZeieieieidƒƒZdd„Ze dd„Z d„Z d„Z RS(NiicCsK|i|ii|ƒƒ}|o t|dƒo|idƒSn|SdS(Ns getComponenti( sselfsgetComponentByPositions_componentTypesgetPositionByTypestagSetscs innerFlagshasattrs getComponent(sselfstagSets innerFlagsc((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentByTypeÿscCs|ii|ƒ}|ii|ƒ}|oP|iƒo|i ||ƒq‹|i |ƒi |ƒ}|i |||ƒn|i ||ƒdS(N( sselfs_componentTypesgetPositionByTypestagSetsidxsgetTypeByPositionsts innerFlags getTagSetssetComponentByPositionsvaluesgetComponentByPositionssetComponentByType(sselfstagSetsvalues innerFlagsidxst((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pyssetComponentByType s cCs|iidƒSdS(Ni(sselfs_componentTypes getTypeMap(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentTypeMapscCs|ii|ƒSdS(N(sselfs_componentTypesgetPositionByTypestagSet(sselfstagSet((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentPositionByTypes( s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatConstructedstagSetsgetComponentByTypesNonessetComponentByTypesgetComponentTypeMapsgetComponentPositionByType(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysSetús $  sChoicecBs†tZeiƒZeieiddƒƒZd„Z d„Z d„Z e d„Z d„Zd„Zd„Zd d „Zd „ZRS( NicCs-|iot|i|i|ƒSndSdS(Niÿÿÿÿ(sselfs_componentValuesscmps _currentIdxsother(sselfsother((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__cmp__!s cCs'|idt|iƒtj ƒƒdS(Ns (sselfs _sizeSpecsints getComponentsNone(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysverifySizeSpec&scCsŽy|iƒ}Wntij oncXt|d|iƒƒ}t|t i ƒo |i ||i d|ƒƒn|i ||i ƒƒdS(NsgetEffectiveTagSetscloneValueFlag(sselfs getComponentscserrors PyAsn1Errorsgetattrs getTagSetstagSets isinstancesbasesAbstractConstructedAsn1ItemsmyClonessetComponentByTypesclonescloneValueFlag(sselfsmyClonescloneValueFlagscstagSet((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys_cloneComponentValues*s cCs<t|iƒ}||jo#|i||dtg|_nt|dƒot|i|i;d !PKMœ(8T÷H{½5½5pyasn1/v1/type/constraint.pyc;ò ÝLdEc@sdZdkZdkZdklZdfd„ƒYZdefd„ƒYZdefd„ƒYZd efd „ƒYZd efd „ƒYZ d efd„ƒYZ defd„ƒYZ defd„ƒYZ defd„ƒYZ de fd„ƒYZde fd„ƒYZdS(s¿ ASN.1 subtype constraints classes. Constraints are relatively rare, but every ASN1 object is doing checks all the time for whether they have any constraints and whether they are applicable to the object. What we're going to do is define objects/functions that can be called unconditionally if they are present, and that are simply not present if there are no constraints. Original concept and code by Mike C. Fletcher. N(serrorsAbstractConstraintcBsttZdZd„Zed„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „ZRS( s§Abstract base-class for constraint objects Constraints should be stored in a simple sequence in the namespace of their client Asn1Item sub-classes. cGs#h|_|i|ƒt|_dS(N(sselfs _valueMaps _setValuessvaluessNones!_AbstractConstraint__hashedValues(sselfsvalues((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__init__s  cCsLy|i||ƒWn1tij o"}tid||fƒ‚nXdS(Ns%s failed at: %s(sselfs _testValuesvaluesidxserrorsValueConstraintErrorswhy(sselfsvaluesidxswhy((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__call__scCs3d|iititd„|iƒdƒfSdS(Ns%s(%s)cCs t|ƒS(N(sstrsx(sx((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys&ss, (sselfs __class__s__name__sstringsjoinsmaps_values(sself((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__repr__#scCs1||jodpt|i|if|ƒSdS(Ni(sselfsotherscmps __class__s_values(sselfsother((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__cmp__)scCs+||jpt|i|if|ƒ SdS(N(sselfsotherscmps __class__s_values(sselfsother((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__eq__-scCs:|itjot|i|ifƒ|_n|iSdS(N(sselfs!_AbstractConstraint__hashedValuessNoneshashs __class__s_values(sself((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__hash__1scCs ||_dS(N(svaluessselfs_values(sselfsvalues((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _setValues5scCsti|ƒ‚dS(N(serrorsValueConstraintErrorsvalue(sselfsvaluesidx((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValue6scCs |iSdS(N(sselfs _valueMap(sself((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys getValueMap:scCs1|iƒi|ƒp||jp ||jSdS(N(sotherConstraints getValueMapshas_keysself(sselfsotherConstraint((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys isSuperTypeOf;scCs.|ii|ƒp||jp ||jSdS(N(sselfs _valueMapshas_keysotherConstraint(sselfsotherConstraint((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys isSubTypeOf>s(s__name__s __module__s__doc__s__init__sNones__call__s__repr__s__cmp__s__eq__s__hash__s _setValuess _testValues getValueMaps isSuperTypeOfs isSubTypeOf(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysAbstractConstraints           sSingleValueConstraintcBstZdZd„ZRS(s/Value must be part of defined values constraintcCs'||ijoti|ƒ‚ndS(N(svaluesselfs_valuesserrorsValueConstraintError(sselfsvaluesidx((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValueDs(s__name__s __module__s__doc__s _testValue(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysSingleValueConstraintBs sContainedSubtypeConstraintcBstZdZd„ZRS(s4Value must satisfy all of defined set of constraintscCs%x|iD]}|||ƒq WdS(N(sselfs_valuesscsvaluesidx(sselfsvaluesidxsc((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValueKs (s__name__s __module__s__doc__s _testValue(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysContainedSubtypeConstraintIs sValueRangeConstraintcBs tZdZd„Zd„ZRS(s6Value must be within start and stop values (inclusive)cCs7||ijp ||ijoti|ƒ‚ndS(N(svaluesselfsstartsstopserrorsValueConstraintError(sselfsvaluesidx((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValueQs cCs˜t|ƒdjo tid|iifƒ‚n|\|_|_|i|ijo,tid|ii|i|ifƒ‚nt i ||ƒdS(Nis%s: bad constraint valuess5%s: screwed constraint values (start > stop): %s > %s( slensvaluesserrors PyAsn1Errorsselfs __class__s__name__sstartsstopsAbstractConstraints _setValues(sselfsvalues((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _setValuesUs  ,(s__name__s __module__s__doc__s _testValues _setValues(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysValueRangeConstraintOs  sValueSizeConstraintcBstZdZd„ZRS(s;len(value) must be within start and stop values (inclusive)cCsCt|ƒ}||ijp ||ijoti|ƒ‚ndS(N(slensvalueslsselfsstartsstopserrorsValueConstraintError(sselfsvaluesidxsl((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValuefs  (s__name__s __module__s__doc__s _testValue(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysValueSizeConstraintds sPermittedAlphabetConstraintcBstZRS(N(s__name__s __module__(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysPermittedAlphabetConstraintkssInnerTypeConstraintcBs tZdZd„Zd„ZRS(s0Value must satisfy type and presense constraintscCs‘|io|i|ƒns|ioh|ii|ƒ oti|ƒ‚n|i|\}}|djoti|ƒ‚n||ƒndS(NsABSENT( sselfs*_InnerTypeConstraint__singleTypeConstraintsvalues,_InnerTypeConstraint__multipleTypeConstraintshas_keysidxserrorsValueConstraintErrors constraintsstatus(sselfsvaluesidxsstatuss constraint((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValueps   cCsyh|_t|_xP|D]H}t|ƒtijo#|d|df|i|dy|i|iƒSWn"tj otidƒ‚nXdS(NsType position out of range(sselfs_NamedTypes__namedTypessidxsgetTypes IndexErrorserrors PyAsn1Error(sselfsidx((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pysgetTypeByPosition,scCsÚ|i o“t|iƒ}x|djoo|d}x^|i|iƒiƒiƒD]=}|ii |ƒot i d|ƒ‚n||i|y|i|iƒSWn"tj otidƒ‚nXdS(NsType position out of range(sselfs_NamedTypes__namedTypessidxsgetNames IndexErrorserrors PyAsn1Error(sselfsidx((s<build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedtype.pysgetNameByPosition?scCsÃ|i o|t|iƒ}xj|djoX|d}|i|iƒ}|ii|ƒoti d|ƒ‚n||i|ƒSdS(N(sselfsclones_valuesvalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __lshift__-scCs|i|i|?ƒSdS(N(sselfsclones_valuesvalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __rshift__.scCst|iƒSdS(N(sintsselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__int__/scCst|iƒSdS(N(slongsselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__long__0scCst|iƒSdS(N(sfloatsselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __float__1scCst|iƒSdS(N(sabssselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__abs__2scCs˜t|ƒtijot|ƒSn|ii|ƒ}|t j o|Snyt i |ƒSWn5yt i |ƒSWq”t id|ƒ‚q”XnXdS(NsCan't coerce %s into integer(stypesvaluestypess StringTypeslongsselfs_Integer__namedValuessgetValuesrsNonesstringsatoisatolserrors PyAsn1Error(sselfsvaluesr((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysprettyIn4s cCs?|ii|ƒ}|tj od||fSn t|ƒSdS(Ns%s(%s)(sselfs_Integer__namedValuessgetNamesvaluesrsNonesstr(sselfsvaluesr((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys prettyOutDs cCs |iSdS(N(sselfs_Integer__namedValues(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetNamedValuesKscCs¾|tjo$|tjo|tjo |tjo|Sn|tjo |i}n|tjo |i}n|tjo |i}n|tjo |i }n|i ||||ƒSdS(N( svaluesNonestagSets subtypeSpecs namedValuessselfs_values_tagSets _subtypeSpecs_Integer__namedValuess __class__(sselfsvaluestagSets subtypeSpecs namedValues((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pyscloneMs4        cCsÑ|tjo |i}n|tj o|ii|ƒ}n-|tj o|ii |ƒ}n |i}|tjo |i }n||i }|tjo |i }n||i }|i||||ƒSdS(N(svaluesNonesselfs_values implicitTags_tagSets tagImplicitlystagSets explicitTags tagExplicitlys subtypeSpecs _subtypeSpecs namedValuess_Integer__namedValuess __class__(sselfsvalues implicitTags explicitTags subtypeSpecs namedValuesstagSet((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pyssubtype\s           (*s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSetsnamedvals NamedValuess namedValuessNones__init__s__and__s__rand__s__or__s__ror__s__xor__s__rxor__s__add__s__radd__s__sub__s__rsub__s__mul__s__rmul__s__div__s__rdiv__s__mod__s__rmod__s__pow__s__rpow__s __lshift__s __rshift__s__int__s__long__s __float__s__abs__sprettyIns prettyOutsgetNamedValuessclonessubtype(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysInteger s@$                            sBooleancBsftZeieieieidƒƒZei e i ddƒZ ei i ddfddfƒZ RS(NiisFalsesTrue(s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSetsIntegers subtypeSpecs constraintsSingleValueConstraints namedValuessclone(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysBooleanps$s BitStringcBsîtZeieieieidƒƒZei ƒZ e e e e d„Z e e e e d„Z e e e e e d„Zd„Zd„Zd„Zd„Zd „Zd „Zd „Zeid d fjo d„Znd„Zd„ZRS(NicCsC|tjo|i|_n ||_tii||||ƒdS(N( s namedValuessNonesselfs_BitString__namedValuessbasesAbstractSimpleAsn1Items__init__svaluestagSets subtypeSpec(sselfsvaluestagSets subtypeSpecs namedValues((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__init__|s  cCs¾|tjo$|tjo|tjo |tjo|Sn|tjo |i}n|tjo |i}n|tjo |i}n|tjo |i }n|i ||||ƒSdS(N( svaluesNonestagSets subtypeSpecs namedValuessselfs_values_tagSets _subtypeSpecs_BitString__namedValuess __class__(sselfsvaluestagSets subtypeSpecs namedValues((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysclone†s4        cCsÑ|tjo |i}n|tj o|ii|ƒ}n-|tj o|ii |ƒ}n |i}|tjo |i }n||i }|tjo |i }n||i }|i||||ƒSdS(N(svaluesNonesselfs_values implicitTags_tagSets tagImplicitlystagSets explicitTags tagExplicitlys subtypeSpecs _subtypeSpecs namedValuess_BitString__namedValuess __class__(sselfsvalues implicitTags explicitTags subtypeSpecs namedValuesstagSet((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pyssubtype•s           cCstt|ƒƒSdS(N(sstrstuplesself(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__str__©scCst|iƒSdS(N(slensselfs_value(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__len__­scCsNt|ƒtijo)|iti|i|i |i ƒƒSn |i|SdS(N( stypesistypess SliceTypesselfsclonesoperatorsgetslices_valuesstartsstop(sselfsi((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __getitem__®s)cCs|i|i|ƒSdS(N(sselfsclones_valuesvalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__add__³scCs|i||iƒSdS(N(sselfsclonesvalues_value(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__radd__´scCs|i|i|ƒSdS(N(sselfsclones_valuesvalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__mul__µscCs|i|ƒSdS(N(sselfs__mul__svalue(sselfsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__rmul__¶siicCs'|td|ƒtd|ƒd…SdS(Ni(sselfsmaxsisj(sselfsisj((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys __getslice__ºscCs³g}| ofSnt|ƒtijo|Snr|ddjoÊ|ddjo/x²|dd!D]}|it|ƒƒqdWq¥|ddjobxr|dd!D]L}d}t i |dƒ}x+|o#|d}|i||?d@ƒqÅWq¤Wq¥t i d |ƒ‚n—x“t i |d ƒD]}|ii|ƒ}|tjot i d |ƒ‚n|t|ƒjo&|idg|t|ƒdƒnd|| tuple of numerics OID converters.is Malformed Object ID %s at %s: %sN(stypesvaluestypess TupleTypes StringTypestuplesrsfiltersNonesstringssplitselementsappendsatois atoi_errorsatols atol_errorswhyserrors PyAsn1Errorsstrsselfs __class__s__name__(sselfsvalueselementsrswhy((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysprettyIn"s 6cCsxg}x[|D]S}|it|ƒƒ|do|dddjo|dd |dd dotted string OID converteriÿÿÿÿsLs.N(srsvaluessubOidsappendsstrsstringsjoin(sselfsvaluesrssubOid((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys prettyOut6s (s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSets__add__s__radd__s__len__s __getitem__sbases version_infos __getslice__sindexs isPrefixOfsprettyIns prettyOut(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysObjectIdentifiers$        sRealcBs,tZeieieieidƒƒZRS(Ni (s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSet(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysReal?ss EnumeratedcBs,tZeieieieidƒƒZRS(Ni (s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatSimplestagSet(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys EnumeratedDssSetOfcBsntZeZeieieieidƒƒZ d„Z d„Z d„Z ed„Z d„Zdd„ZRS( NicCsŸd}t|iƒ}xƒ||jou|i|}|tj oMt|ti ƒo |i ||i d|ƒƒqŒ|i ||i ƒƒn|d}qWdS(NiscloneValueFlagi(sidxslensselfs_componentValuesslscsNones isinstancesbasesAbstractConstructedAsn1ItemsmyClonessetComponentByPositionsclonescloneValueFlag(sselfsmyClonescloneValueFlagsidxscsl((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys_cloneComponentValuesQs    cCs?|itj o|ii|ƒ otid|ƒ‚ndS(NsComponent type error %s(sselfs_componentTypesNones isSuperTypeOfsvalueserrors PyAsn1Error(sselfsidxsvalue((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys_verifyComponent^s$cCs|i|SdS(N(sselfs_componentValuessidx(sselfsidx((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentByPositioncscCsct|iƒ}||jo#|i||dtg|_n|tjoY|i|tjo=|itjoti dƒ‚n|ii ƒ|i|tZeieieieidƒƒZd„Zd„Z RS(NicCs|ii|ƒSdS(N(sselfs_componentTypesgetTypeMapNearPositionsidx(sselfsidx((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentTypeMapNearPositionôscCs|ii||ƒSdS(N(sselfs_componentTypesgetPositionNearTypestagSetsidx(sselfstagSetsidx((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentPositionNearType÷s( s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatConstructedstagSetsgetComponentTypeMapNearPositionsgetComponentPositionNearType(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysSequenceïs$ sSetcBsYtZeieieieidƒƒZdd„Ze dd„Z d„Z d„Z RS(NiicCsK|i|ii|ƒƒ}|o t|dƒo|idƒSn|SdS(Ns getComponenti( sselfsgetComponentByPositions_componentTypesgetPositionByTypestagSetscs innerFlagshasattrs getComponent(sselfstagSets innerFlagsc((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentByTypeÿscCs|ii|ƒ}|ii|ƒ}|oP|iƒo|i ||ƒq‹|i |ƒi |ƒ}|i |||ƒn|i ||ƒdS(N( sselfs_componentTypesgetPositionByTypestagSetsidxsgetTypeByPositionsts innerFlags getTagSetssetComponentByPositionsvaluesgetComponentByPositionssetComponentByType(sselfstagSetsvalues innerFlagsidxst((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pyssetComponentByType s cCs|iidƒSdS(Ni(sselfs_componentTypes getTypeMap(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentTypeMapscCs|ii|ƒSdS(N(sselfs_componentTypesgetPositionByTypestagSet(sselfstagSet((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysgetComponentPositionByTypes( s__name__s __module__stags initTagSetsTagstagClassUniversalstagFormatConstructedstagSetsgetComponentByTypesNonessetComponentByTypesgetComponentTypeMapsgetComponentPositionByType(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysSetús $  sChoicecBs†tZeiƒZeieiddƒƒZd„Z d„Z d„Z e d„Z d„Zd„Zd„Zd d „Zd „ZRS( NicCs-|iot|i|i|ƒSndSdS(Niÿÿÿÿ(sselfs_componentValuesscmps _currentIdxsother(sselfsother((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys__cmp__!s cCs'|idt|iƒtj ƒƒdS(Ns (sselfs _sizeSpecsints getComponentsNone(sself((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pysverifySizeSpec&scCsŽy|iƒ}Wntij oncXt|d|iƒƒ}t|t i ƒo |i ||i d|ƒƒn|i ||i ƒƒdS(NsgetEffectiveTagSetscloneValueFlag(sselfs getComponentscserrors PyAsn1Errorsgetattrs getTagSetstagSets isinstancesbasesAbstractConstructedAsn1ItemsmyClonessetComponentByTypesclonescloneValueFlag(sselfsmyClonescloneValueFlagscstagSet((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/univ.pys_cloneComponentValues*s cCs<t|iƒ}||jo#|i||dtg|_nt|dƒot|i|i;d !PKRœ(8T÷H{½5½5pyasn1/v1/type/constraint.pyo;ò ÝLdEc@sdZdkZdkZdklZdfd„ƒYZdefd„ƒYZdefd„ƒYZd efd „ƒYZd efd „ƒYZ d efd„ƒYZ defd„ƒYZ defd„ƒYZ defd„ƒYZ de fd„ƒYZde fd„ƒYZdS(s¿ ASN.1 subtype constraints classes. Constraints are relatively rare, but every ASN1 object is doing checks all the time for whether they have any constraints and whether they are applicable to the object. What we're going to do is define objects/functions that can be called unconditionally if they are present, and that are simply not present if there are no constraints. Original concept and code by Mike C. Fletcher. N(serrorsAbstractConstraintcBsttZdZd„Zed„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „ZRS( s§Abstract base-class for constraint objects Constraints should be stored in a simple sequence in the namespace of their client Asn1Item sub-classes. cGs#h|_|i|ƒt|_dS(N(sselfs _valueMaps _setValuessvaluessNones!_AbstractConstraint__hashedValues(sselfsvalues((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__init__s  cCsLy|i||ƒWn1tij o"}tid||fƒ‚nXdS(Ns%s failed at: %s(sselfs _testValuesvaluesidxserrorsValueConstraintErrorswhy(sselfsvaluesidxswhy((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__call__scCs3d|iititd„|iƒdƒfSdS(Ns%s(%s)cCs t|ƒS(N(sstrsx(sx((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys&ss, (sselfs __class__s__name__sstringsjoinsmaps_values(sself((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__repr__#scCs1||jodpt|i|if|ƒSdS(Ni(sselfsotherscmps __class__s_values(sselfsother((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__cmp__)scCs+||jpt|i|if|ƒ SdS(N(sselfsotherscmps __class__s_values(sselfsother((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__eq__-scCs:|itjot|i|ifƒ|_n|iSdS(N(sselfs!_AbstractConstraint__hashedValuessNoneshashs __class__s_values(sself((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys__hash__1scCs ||_dS(N(svaluessselfs_values(sselfsvalues((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _setValues5scCsti|ƒ‚dS(N(serrorsValueConstraintErrorsvalue(sselfsvaluesidx((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValue6scCs |iSdS(N(sselfs _valueMap(sself((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys getValueMap:scCs1|iƒi|ƒp||jp ||jSdS(N(sotherConstraints getValueMapshas_keysself(sselfsotherConstraint((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys isSuperTypeOf;scCs.|ii|ƒp||jp ||jSdS(N(sselfs _valueMapshas_keysotherConstraint(sselfsotherConstraint((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys isSubTypeOf>s(s__name__s __module__s__doc__s__init__sNones__call__s__repr__s__cmp__s__eq__s__hash__s _setValuess _testValues getValueMaps isSuperTypeOfs isSubTypeOf(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysAbstractConstraints           sSingleValueConstraintcBstZdZd„ZRS(s/Value must be part of defined values constraintcCs'||ijoti|ƒ‚ndS(N(svaluesselfs_valuesserrorsValueConstraintError(sselfsvaluesidx((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValueDs(s__name__s __module__s__doc__s _testValue(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysSingleValueConstraintBs sContainedSubtypeConstraintcBstZdZd„ZRS(s4Value must satisfy all of defined set of constraintscCs%x|iD]}|||ƒq WdS(N(sselfs_valuesscsvaluesidx(sselfsvaluesidxsc((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValueKs (s__name__s __module__s__doc__s _testValue(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysContainedSubtypeConstraintIs sValueRangeConstraintcBs tZdZd„Zd„ZRS(s6Value must be within start and stop values (inclusive)cCs7||ijp ||ijoti|ƒ‚ndS(N(svaluesselfsstartsstopserrorsValueConstraintError(sselfsvaluesidx((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValueQs cCs˜t|ƒdjo tid|iifƒ‚n|\|_|_|i|ijo,tid|ii|i|ifƒ‚nt i ||ƒdS(Nis%s: bad constraint valuess5%s: screwed constraint values (start > stop): %s > %s( slensvaluesserrors PyAsn1Errorsselfs __class__s__name__sstartsstopsAbstractConstraints _setValues(sselfsvalues((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _setValuesUs  ,(s__name__s __module__s__doc__s _testValues _setValues(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysValueRangeConstraintOs  sValueSizeConstraintcBstZdZd„ZRS(s;len(value) must be within start and stop values (inclusive)cCsCt|ƒ}||ijp ||ijoti|ƒ‚ndS(N(slensvalueslsselfsstartsstopserrorsValueConstraintError(sselfsvaluesidxsl((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValuefs  (s__name__s __module__s__doc__s _testValue(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysValueSizeConstraintds sPermittedAlphabetConstraintcBstZRS(N(s__name__s __module__(((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pysPermittedAlphabetConstraintkssInnerTypeConstraintcBs tZdZd„Zd„ZRS(s0Value must satisfy type and presense constraintscCs‘|io|i|ƒns|ioh|ii|ƒ oti|ƒ‚n|i|\}}|djoti|ƒ‚n||ƒndS(NsABSENT( sselfs*_InnerTypeConstraint__singleTypeConstraintsvalues,_InnerTypeConstraint__multipleTypeConstraintshas_keysidxserrorsValueConstraintErrors constraintsstatus(sselfsvaluesidxsstatuss constraint((s=build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/constraint.pys _testValueps   cCsyh|_t|_xP|D]H}t|ƒtijo#|d|df|i|d 0: idx = idx - 1 for t in self.__namedTypes[idx].getType().getTypeMap().keys(): if self.__tagMap.has_key(t): raise error.PyAsn1Error('Duplicate type %s' % t) self.__tagMap[t] = idx try: return self.__tagMap[tagSet] except KeyError: raise error.PyAsn1Error('Type %s not found' % tagSet) def getNameByPosition(self, idx): try: return self.__namedTypes[idx].getName() except IndexError: raise error.PyAsn1Error('Type position out of range') def getPositionByName(self, name): if not self.__nameMap: idx = len(self.__namedTypes) while idx > 0: idx = idx - 1 n = self.__namedTypes[idx].getName() if self.__nameMap.has_key(n): raise error.PyAsn1Error('Duplicate name %s' % n) self.__nameMap[n] = idx try: return self.__nameMap[name] except KeyError: raise error.PyAsn1Error('Name %s not found' % name) def __buildAmbigiousTagMap(self): ambigiousTypes = () idx = len(self.__namedTypes) while idx > 0: idx = idx - 1 t = self.__namedTypes[idx] if t.isOptional or t.isDefaulted: ambigiousTypes = (t, ) + ambigiousTypes else: ambigiousTypes = (t, ) self.__ambigiousTypes[idx] = apply(NamedTypes, ambigiousTypes) def getTypeMapNearPosition(self, idx): if not self.__ambigiousTypes: self.__buildAmbigiousTagMap() try: return self.__ambigiousTypes[idx].getTypeMap() except KeyError: raise error.PyAsn1Error('Type position out of range') def getPositionNearType(self, tagSet, idx): if not self.__ambigiousTypes: self.__buildAmbigiousTagMap() try: return idx+self.__ambigiousTypes[idx].getPositionByType(tagSet) except KeyError: raise error.PyAsn1Error('Type position out of range') def genMinTagSet(self): if self.__minTagSet is None: for t in self.__namedTypes: __type = t.getType() tagSet = getattr(__type,'getMinTagSet',__type.getTagSet)() if self.__minTagSet is None or tagSet < self.__minTagSet: self.__minTagSet = tagSet return self.__minTagSet def getTypeMap(self, uniq=None): if not self.__typeMap: for t in self.__namedTypes: __type = t.getType() typeMap = __type.getTypeMap() if uniq: for k in typeMap.keys(): if self.__typeMap.has_key(k): raise error.PyAsn1Error( 'Duplicate type %s in map %s'%(k,self.__typeMap) ) self.__typeMap[k] = __type else: for k in typeMap.keys(): self.__typeMap[k] = __type return self.__typeMap PKÉQÛ2 ñSópyasn1/v1/type/namedval.py# ASN.1 named integers from types import TupleType from pyasn1 import error __all__ = [ 'NamedValues' ] class NamedValues: def __init__(self, *namedValues): self.nameToValIdx = {}; self.valToNameIdx = {} self.namedValues = () automaticVal = 1 for namedValue in namedValues: if type(namedValue) == TupleType: name, val = namedValue else: name = namedValue val = automaticVal if self.nameToValIdx.has_key(name): raise error.PyAsn1Error('Duplicate name %s' % name) self.nameToValIdx[name] = val if self.valToNameIdx.has_key(val): raise error.PyAsn1Error('Duplicate value %s' % name) self.valToNameIdx[val] = name self.namedValues = self.namedValues + ((name, val),) automaticVal = automaticVal + 1 def __str__(self): return str(self.namedValues) def getName(self, value): return self.valToNameIdx.get(value) def getValue(self, name): return self.nameToValIdx.get(name) def __getitem__(self, i): return self.namedValues[i] def __len__(self): return len(self.namedValues) def __add__(self, namedValues): return apply(self.__class__, self.namedValues + namedValues) def __radd__(self, namedValues): return apply(self.__class__, namedValues + tuple(self)) def clone(self, *namedValues): return apply(self.__class__, tuple(self) + namedValues) # XXX clone/subtype? PKQœ(8¸)¡((pyasn1/v1/type/useful.pyo;ò [€®Bc@sIdklZlZdeifd„ƒYZdeifd„ƒYZdS((scharstagsGeneralizedTimecBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__schars VisibleStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s9build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/useful.pysGeneralizedTimessUTCTimecBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__schars VisibleStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s9build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/useful.pysUTCTime sN(s pyasn1.typescharstags VisibleStringsGeneralizedTimesUTCTime(scharsUTCTimestagsGeneralizedTime((s9build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/useful.pys?sPKLœ(8q ##pyasn1/v1/type/tag.pyc;ò ÖØ3Dc@sÐydklZWnej oddfZnXdklZdklZdklZdk l Z dZ dZ dZ dZdZd Zd Zd Zd Zd fd„ƒYZdfd„ƒYZd„ZdS((s version_infoi(sgetslice(s SliceType(sjoin(serrori@i€iÀi iiisTagcBsYtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z RS( NcCs7|||f|_||f|_t|iƒ|_dS(N(stagClasss tagFormatstagIdsselfs _Tag__tags _Tag__uniqTagshashs_Tag__hashedUniqTag(sselfstagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__init__scCsd|iif|iSdS(Ns'%s(tagClass=%s, tagFormat=%s, tagId=%s)(sselfs __class__s__name__s _Tag__tag(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__repr__scCst|i|ƒSdS(N(scmpsselfs _Tag__uniqTagsother(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__cmp__ scCs||jp |i|jSdS(N(sselfsothers_Tag__hashedUniqTag(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__eq__!scCs||j o |i|jSdS(N(sselfsothers_Tag__hashedUniqTag(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__ne__#scCs |iSdS(N(sselfs_Tag__hashedUniqTag(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__hash__%scCs|i|SdS(N(sselfs _Tag__tagsidx(sselfsidx((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys __getitem__&scCs;|\}}}|i|i|@|i|@|i|@ƒSdS(N(stagClasss tagFormatstagIdsselfs __class__s _Tag__tag(sselfs.2stagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__and__'scCsG|\}}}|i|id|B|id|B|id|BƒSdS(Niii(stagClasss tagFormatstagIdsselfs __class__s _Tag__tag(sselfs.2stagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__or__+s( s__name__s __module__s__init__s__repr__s__cmp__s__eq__s__ne__s__hash__s __getitem__s__and__s__or__(((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pysTags        sTagSetcBs©tZfd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z e d d fjo d „Z nd „Z d „Z d„Zd„Zd„Zd„ZRS(NcGs4||_||_t|ƒ|_t|ƒ|_dS(N( sbaseTagsselfs_TagSet__baseTags superTagss_TagSet__superTagsshashs_TagSet__hashedSuperTagsslens_TagSet__lenOfSuperTags(sselfsbaseTags superTags((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__init__1s  cCs0d|iittd„|iƒdƒfSdS(Ns%s(%s)cCs t|ƒS(N(sreprsx(sx((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys:ss, (sselfs __class__s__name__sjoinsmaps_TagSet__superTags(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__repr__7scCs(t|i|if|i|fƒSdS(N(sapplysselfs __class__s_TagSet__baseTags_TagSet__superTagsssuperTag(sselfssuperTag((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__add__=scCs$t|i|i|f|iƒSdS(N(sapplysselfs __class__s_TagSet__baseTagssuperTags_TagSet__superTags(sselfssuperTag((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__radd__AscCs^|\}}}|tjotidƒ‚n|tjot|t|ƒ}n||SdS(Ns"Can't tag with UNIVERSAL-class tag( ssuperTagstagClasss tagFormatstagIdstagClassUniversalserrorsBadArgumentErrorstagFormatConstructedsTagsself(sselfssuperTagstagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys tagExplicitlyFs   cCsJ|\}}}|io!t||idd|ƒ}n|d |SdS(Niÿÿÿÿi(ssuperTagstagClasss tagFormatstagIdsselfs_TagSet__superTagssTag(sselfssuperTagstagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys tagImplicitlyPs !cCs |iSdS(N(sselfs_TagSet__baseTag(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys getBaseTagVscCsUt|ƒtjo3t|i|ift|i|i |i ƒƒSn|i|SdS(N( stypesidxs SliceTypesapplysselfs __class__s_TagSet__baseTagsgetslices_TagSet__superTagssstartsstop(sselfsidx((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys __getitem__Ws  iicCs'|td|ƒtd|ƒd…SdS(Ni(sselfsmaxsisj(sselfsisj((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys __getslice__^scCst|i|ƒSdS(N(scmpsselfs_TagSet__superTagssother(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__cmp__`scCs||jp |i|jSdS(N(sselfsothers_TagSet__hashedSuperTags(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__eq__ascCs||j o |i|jSdS(N(sselfsothers_TagSet__hashedSuperTags(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__ne__cscCs |iSdS(N(sselfs_TagSet__hashedSuperTags(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__hash__escCs |iSdS(N(sselfs_TagSet__lenOfSuperTags(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__len__fscCsrt|ƒ|ijodSn|id}x<|djo.|i|||jodSn|d}q.WdSdS(Nii(slenstagSetsselfs_TagSet__lenOfSuperTagssidxs_TagSet__superTags(sselfstagSetsidx((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pysisSuperTagSetOfgs  (s__name__s __module__s__init__s__repr__s__add__s__radd__s tagExplicitlys tagImplicitlys getBaseTags __getitem__s version_infos __getslice__s__cmp__s__eq__s__ne__s__hash__s__len__sisSuperTagSetOf(((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pysTagSet0s              cCst||ƒSdS(N(sTagSetstag(stag((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys initTagSetqsN(ssyss version_infos ImportErrorsoperatorsgetslicestypess SliceTypesstringsjoinspyasn1serrorstagClassUniversalstagClassApplicationstagClassContextstagClassPrivatestagFormatSimplestagFormatConstructedstagCategoryImplicitstagCategoryExplicitstagCategoryUntaggedsTagsTagSets initTagSet(sjoinsTagSets version_infosgetslicestagFormatConstructedstagCategoryImplicitstagCategoryExplicitstagClassApplicationsTags initTagSetstagClassContextserrorstagFormatSimplestagClassUniversalstagCategoryUntaggedstagClassPrivates SliceType((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys?s&    APKV…4©®§¢¢pyasn1/v1/type/tag.py# ASN.1 types tags try: from sys import version_info except ImportError: version_info = (0, 0) # a really early version from operator import getslice from types import SliceType from string import join from pyasn1 import error tagClassUniversal = 0x00 tagClassApplication = 0x40 tagClassContext = 0x80 tagClassPrivate = 0xC0 tagFormatSimple = 0x00 tagFormatConstructed = 0x20 tagCategoryImplicit = 0x01 tagCategoryExplicit = 0x02 tagCategoryUntagged = 0x04 class Tag: def __init__(self, tagClass, tagFormat, tagId): self.__tag = (tagClass, tagFormat, tagId) self.__uniqTag = (tagClass, tagId) self.__hashedUniqTag = hash(self.__uniqTag) def __repr__(self): return '%s(tagClass=%s, tagFormat=%s, tagId=%s)' % ( (self.__class__.__name__,) + self.__tag ) def __cmp__(self, other): return cmp(self.__uniqTag, other) def __eq__(self, other): return self is other or self.__hashedUniqTag == other def __ne__(self, other): return not (self is other) and self.__hashedUniqTag != other def __hash__(self): return self.__hashedUniqTag def __getitem__(self, idx): return self.__tag[idx] def __and__(self, (tagClass, tagFormat, tagId)): return self.__class__( self.__tag&tagClass, self.__tag&tagFormat, self.__tag&tagId ) def __or__(self, (tagClass, tagFormat, tagId)): return self.__class__( self.__tag[0]|tagClass, self.__tag[1]|tagFormat, self.__tag[2]|tagId ) class TagSet: def __init__(self, baseTag=(), *superTags): self.__baseTag = baseTag self.__superTags = superTags self.__hashedSuperTags = hash(superTags) self.__lenOfSuperTags = len(superTags) def __repr__(self): return '%s(%s)' % ( self.__class__.__name__, join(map(lambda x: repr(x), self.__superTags), ', ') ) def __add__(self, superTag): return apply( self.__class__, (self.__baseTag,) + self.__superTags + (superTag,) ) def __radd__(self, superTag): return apply( self.__class__, (self.__baseTag, superTag) + self.__superTags ) def tagExplicitly(self, superTag): tagClass, tagFormat, tagId = superTag if tagClass == tagClassUniversal: raise error.BadArgumentError( 'Can\'t tag with UNIVERSAL-class tag' ) if tagFormat != tagFormatConstructed: superTag = Tag(tagClass, tagFormatConstructed, tagId) return self + superTag def tagImplicitly(self, superTag): tagClass, tagFormat, tagId = superTag if self.__superTags: superTag = Tag(tagClass, self.__superTags[-1][1], tagId) return self[:-1] + superTag def getBaseTag(self): return self.__baseTag def __getitem__(self, idx): if type(idx) == SliceType: return apply(self.__class__, (self.__baseTag,) + getslice(self.__superTags, idx.start, idx.stop)) return self.__superTags[idx] if version_info < (2, 0): def __getslice__(self, i, j): return self[max(0, i):max(0, j):] def __cmp__(self, other): return cmp(self.__superTags, other) def __eq__(self, other): return self is other or self.__hashedSuperTags == other def __ne__(self, other): return not (self is other) and self.__hashedSuperTags != other def __hash__(self): return self.__hashedSuperTags def __len__(self): return self.__lenOfSuperTags def isSuperTagSetOf(self, tagSet): if len(tagSet) < self.__lenOfSuperTags: return idx = self.__lenOfSuperTags - 1 while idx >= 0: if self.__superTags[idx] != tagSet[idx]: return idx = idx - 1 return 1 def initTagSet(tag): return TagSet(tag, tag) PKQœ(8o›Õ§Œ Œ pyasn1/v1/type/namedval.pyo;ò » ÀBc@s:dklZdklZdgZdfd„ƒYZdS((s TupleType(serrors NamedValuescBsYtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z RS( NcGsöh|_h|_f|_d}xÎ|D]Æ}t|ƒtjo|\}}n |}|}|ii |ƒot i d|ƒ‚n||i|<|ii |ƒot i d|ƒ‚n||i|<|i||ff|_|d}q(WdS(NisDuplicate name %ssDuplicate value %s( sselfs nameToValIdxs valToNameIdxs namedValuess automaticVals namedValuestypes TupleTypesnamesvalshas_keyserrors PyAsn1Error(sselfs namedValuessnamesvals automaticVals namedValue((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pys__init__s"   cCst|iƒSdS(N(sstrsselfs namedValues(sself((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pys__str__scCs|ii|ƒSdS(N(sselfs valToNameIdxsgetsvalue(sselfsvalue((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pysgetNamescCs|ii|ƒSdS(N(sselfs nameToValIdxsgetsname(sselfsname((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pysgetValuescCs|i|SdS(N(sselfs namedValuessi(sselfsi((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pys __getitem__scCst|iƒSdS(N(slensselfs namedValues(sself((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pys__len__ scCst|i|i|ƒSdS(N(sapplysselfs __class__s namedValues(sselfs namedValues((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pys__add__"scCst|i|t|ƒƒSdS(N(sapplysselfs __class__s namedValuesstuple(sselfs namedValues((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pys__radd__$scGst|it|ƒ|ƒSdS(N(sapplysselfs __class__stuples namedValues(sselfs namedValues((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pysclone's( s__name__s __module__s__init__s__str__sgetNamesgetValues __getitem__s__len__s__add__s__radd__sclone(((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pys NamedValuess        N(stypess TupleTypespyasn1serrors__all__s NamedValues(s NamedValuess TupleTypes__all__serror((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/namedval.pys?s   PKKœ(8+ÎÔT‹‹pyasn1/v1/type/__init__.pyc;ò [€®Bc@sdS(N((((s;build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/__init__.pys?sPKQœ(8q ##pyasn1/v1/type/tag.pyo;ò ÖØ3Dc@sÐydklZWnej oddfZnXdklZdklZdklZdk l Z dZ dZ dZ dZdZd Zd Zd Zd Zd fd„ƒYZdfd„ƒYZd„ZdS((s version_infoi(sgetslice(s SliceType(sjoin(serrori@i€iÀi iiisTagcBsYtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z RS( NcCs7|||f|_||f|_t|iƒ|_dS(N(stagClasss tagFormatstagIdsselfs _Tag__tags _Tag__uniqTagshashs_Tag__hashedUniqTag(sselfstagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__init__scCsd|iif|iSdS(Ns'%s(tagClass=%s, tagFormat=%s, tagId=%s)(sselfs __class__s__name__s _Tag__tag(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__repr__scCst|i|ƒSdS(N(scmpsselfs _Tag__uniqTagsother(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__cmp__ scCs||jp |i|jSdS(N(sselfsothers_Tag__hashedUniqTag(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__eq__!scCs||j o |i|jSdS(N(sselfsothers_Tag__hashedUniqTag(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__ne__#scCs |iSdS(N(sselfs_Tag__hashedUniqTag(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__hash__%scCs|i|SdS(N(sselfs _Tag__tagsidx(sselfsidx((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys __getitem__&scCs;|\}}}|i|i|@|i|@|i|@ƒSdS(N(stagClasss tagFormatstagIdsselfs __class__s _Tag__tag(sselfs.2stagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__and__'scCsG|\}}}|i|id|B|id|B|id|BƒSdS(Niii(stagClasss tagFormatstagIdsselfs __class__s _Tag__tag(sselfs.2stagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__or__+s( s__name__s __module__s__init__s__repr__s__cmp__s__eq__s__ne__s__hash__s __getitem__s__and__s__or__(((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pysTags        sTagSetcBs©tZfd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z e d d fjo d „Z nd „Z d „Z d„Zd„Zd„Zd„ZRS(NcGs4||_||_t|ƒ|_t|ƒ|_dS(N( sbaseTagsselfs_TagSet__baseTags superTagss_TagSet__superTagsshashs_TagSet__hashedSuperTagsslens_TagSet__lenOfSuperTags(sselfsbaseTags superTags((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__init__1s  cCs0d|iittd„|iƒdƒfSdS(Ns%s(%s)cCs t|ƒS(N(sreprsx(sx((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys:ss, (sselfs __class__s__name__sjoinsmaps_TagSet__superTags(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__repr__7scCs(t|i|if|i|fƒSdS(N(sapplysselfs __class__s_TagSet__baseTags_TagSet__superTagsssuperTag(sselfssuperTag((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__add__=scCs$t|i|i|f|iƒSdS(N(sapplysselfs __class__s_TagSet__baseTagssuperTags_TagSet__superTags(sselfssuperTag((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__radd__AscCs^|\}}}|tjotidƒ‚n|tjot|t|ƒ}n||SdS(Ns"Can't tag with UNIVERSAL-class tag( ssuperTagstagClasss tagFormatstagIdstagClassUniversalserrorsBadArgumentErrorstagFormatConstructedsTagsself(sselfssuperTagstagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys tagExplicitlyFs   cCsJ|\}}}|io!t||idd|ƒ}n|d |SdS(Niÿÿÿÿi(ssuperTagstagClasss tagFormatstagIdsselfs_TagSet__superTagssTag(sselfssuperTagstagClasss tagFormatstagId((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys tagImplicitlyPs !cCs |iSdS(N(sselfs_TagSet__baseTag(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys getBaseTagVscCsUt|ƒtjo3t|i|ift|i|i |i ƒƒSn|i|SdS(N( stypesidxs SliceTypesapplysselfs __class__s_TagSet__baseTagsgetslices_TagSet__superTagssstartsstop(sselfsidx((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys __getitem__Ws  iicCs'|td|ƒtd|ƒd…SdS(Ni(sselfsmaxsisj(sselfsisj((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys __getslice__^scCst|i|ƒSdS(N(scmpsselfs_TagSet__superTagssother(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__cmp__`scCs||jp |i|jSdS(N(sselfsothers_TagSet__hashedSuperTags(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__eq__ascCs||j o |i|jSdS(N(sselfsothers_TagSet__hashedSuperTags(sselfsother((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__ne__cscCs |iSdS(N(sselfs_TagSet__hashedSuperTags(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__hash__escCs |iSdS(N(sselfs_TagSet__lenOfSuperTags(sself((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys__len__fscCsrt|ƒ|ijodSn|id}x<|djo.|i|||jodSn|d}q.WdSdS(Nii(slenstagSetsselfs_TagSet__lenOfSuperTagssidxs_TagSet__superTags(sselfstagSetsidx((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pysisSuperTagSetOfgs  (s__name__s __module__s__init__s__repr__s__add__s__radd__s tagExplicitlys tagImplicitlys getBaseTags __getitem__s version_infos __getslice__s__cmp__s__eq__s__ne__s__hash__s__len__sisSuperTagSetOf(((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pysTagSet0s              cCst||ƒSdS(N(sTagSetstag(stag((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys initTagSetqsN(ssyss version_infos ImportErrorsoperatorsgetslicestypess SliceTypesstringsjoinspyasn1serrorstagClassUniversalstagClassApplicationstagClassContextstagClassPrivatestagFormatSimplestagFormatConstructedstagCategoryImplicitstagCategoryExplicitstagCategoryUntaggedsTagsTagSets initTagSet(sjoinsTagSets version_infosgetslicestagFormatConstructedstagCategoryImplicitstagCategoryExplicitstagClassApplicationsTags initTagSetstagClassContextserrorstagFormatSimplestagClassUniversalstagCategoryUntaggedstagClassPrivates SliceType((s6build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/tag.pys?s&    APKLœ(8Ýsz™™pyasn1/v1/type/char.pyc;ò [€®Bc@s*dklZlZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZd eifd „ƒYZd eifd „ƒYZ d eifd„ƒYZ deifd„ƒYZ deifd„ƒYZ deifd„ƒYZ deifd„ƒYZdS((sunivstags UTF8StringcBs2tZeiiieieiei dƒƒZRS(Ni ( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pys UTF8Stringss NumericStringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pys NumericString ssPrintableStringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pysPrintableStringss TeletexStringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pys TeletexStringssVideotexStringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pysVideotexStringss IA5StringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pys IA5Stringss GraphicStringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pys GraphicString"ss VisibleStringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pys VisibleString'ss GeneralStringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pys GeneralString,ssUniversalStringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pysUniversalString1ss BMPStringcBs2tZeiiieieiei dƒƒZRS(Ni( s__name__s __module__sunivs OctetStringstagSets tagImplicitlystagsTagstagClassUniversalstagFormatSimple(((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pys BMPString6sN(s pyasn1.typesunivstags OctetStrings UTF8Strings NumericStringsPrintableStrings TeletexStringsVideotexStrings IA5Strings GraphicStrings VisibleStrings GeneralStringsUniversalStrings BMPString( s TeletexStrings GraphicStringsUniversalStrings VisibleStringsVideotexStrings GeneralStrings NumericStrings UTF8StringsPrintableStrings IA5Stringstags BMPStringsuniv((s7build/bdist.darwin-8.0.1-x86/egg/pyasn1/v1/type/char.pys?sPKsÎ2_¾RMTTpyasn1/v1/type/error.pyfrom pyasn1.error import PyAsn1Error class ValueConstraintError(PyAsn1Error): pass PKsÎ2PÙ3z‰‰pyasn1/v1/type/useful.py# ASN.1 "useful" types from pyasn1.type import char, tag class GeneralizedTime(char.VisibleString): tagSet = char.VisibleString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 24) ) class UTCTime(char.VisibleString): tagSet = char.VisibleString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 23) ) PKq{«4ÊmÆF¬\¬\pyasn1/v1/type/univ.py# ASN.1 "universal" data types import string import types import operator from pyasn1.type import base, tag, constraint, namedtype, namedval from pyasn1 import error # "Simple" ASN.1 types (yet incomplete) class Integer(base.AbstractSimpleAsn1Item): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x02) ) namedValues = namedval.NamedValues() def __init__(self, value=None, tagSet=None, subtypeSpec=None, namedValues=None): if namedValues is None: self.__namedValues = self.namedValues else: self.__namedValues = namedValues base.AbstractSimpleAsn1Item.__init__( self, value, tagSet, subtypeSpec ) #XXX def __coerce__(self, other): return long(self), long(other) def __and__(self, value): return self.clone(self._value & value) def __rand__(self, value): return self.clone(value & self._value) def __or__(self, value): return self.clone(self._value | value) def __ror__(self, value): return self.clone(value | self._value) def __xor__(self, value): return self.clone(self._value ^ value) def __rxor__(self, value): return self.clone(value ^ self._value) def __add__(self, value): return self.clone(self._value + value) def __radd__(self, value): return self.clone(value + self._value) def __sub__(self, value): return self.clone(self._value - value) def __rsub__(self, value): return self.clone(value - self._value) def __mul__(self, value): return self.clone(self._value * value) def __rmul__(self, value): return self.clone(value * self._value) def __div__(self, value): return self.clone(self._value / value) def __rdiv__(self, value): return self.clone(value / self._value) def __mod__(self, value): return self.clone(self._value % value) def __rmod__(self, value): return self.clone(value % self._value) def __pow__(self, value, modulo=None): return self.clone(pow(self._value, value, modulo)) def __rpow__(self, value): return self.clone(pow(value, self._value)) def __lshift__(self, value): return self.clone(self._value << value) def __rshift__(self, value): return self.clone(self._value >> value) def __int__(self): return int(self._value) def __long__(self): return long(self._value) def __float__(self): return float(self._value) def __abs__(self): return abs(self._value) def prettyIn(self, value): if type(value) != types.StringType: return long(value) r = self.__namedValues.getValue(value) if r is not None: return r try: return string.atoi(value) except: try: return string.atol(value) except: raise error.PyAsn1Error( 'Can\'t coerce %s into integer' % value ) def prettyOut(self, value): r = self.__namedValues.getName(value) if r is not None: return '%s(%s)' % (r, value) else: return str(value) def getNamedValues(self): return self.__namedValues def clone(self, value=None, tagSet=None, subtypeSpec=None, namedValues=None): if value is None and tagSet is None and subtypeSpec is None \ and namedValues is None: return self if value is None: value = self._value if tagSet is None: tagSet = self._tagSet if subtypeSpec is None: subtypeSpec = self._subtypeSpec if namedValues is None: namedValues = self.__namedValues return self.__class__(value, tagSet, subtypeSpec, namedValues) def subtype(self, value=None, implicitTag=None, explicitTag=None, subtypeSpec=None, namedValues=None): if value is None: value = self._value if implicitTag is not None: tagSet = self._tagSet.tagImplicitly(implicitTag) elif explicitTag is not None: tagSet = self._tagSet.tagExplicitly(explicitTag) else: tagSet = self._tagSet if subtypeSpec is None: subtypeSpec = self._subtypeSpec else: subtypeSpec = subtypeSpec + self._subtypeSpec if namedValues is None: namedValues = self.__namedValues else: namedValues = namedValues + self.__namedValues return self.__class__(value, tagSet, subtypeSpec, namedValues) class Boolean(Integer): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x01), ) subtypeSpec = Integer.subtypeSpec+constraint.SingleValueConstraint(0,1) namedValues = Integer.namedValues.clone(('False', 0), ('True', 1)) class BitString(base.AbstractSimpleAsn1Item): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x03) ) namedValues = namedval.NamedValues() def __init__(self, value=None, tagSet=None, subtypeSpec=None, namedValues=None): if namedValues is None: self.__namedValues = self.namedValues else: self.__namedValues = namedValues base.AbstractSimpleAsn1Item.__init__( self, value, tagSet, subtypeSpec ) def clone(self, value=None, tagSet=None, subtypeSpec=None, namedValues=None): if value is None and tagSet is None and subtypeSpec is None \ and namedValues is None: return self if value is None: value = self._value if tagSet is None: tagSet = self._tagSet if subtypeSpec is None: subtypeSpec = self._subtypeSpec if namedValues is None: namedValues = self.__namedValues return self.__class__(value, tagSet, subtypeSpec, namedValues) def subtype(self, value=None, implicitTag=None, explicitTag=None, subtypeSpec=None, namedValues=None): if value is None: value = self._value if implicitTag is not None: tagSet = self._tagSet.tagImplicitly(implicitTag) elif explicitTag is not None: tagSet = self._tagSet.tagExplicitly(explicitTag) else: tagSet = self._tagSet if subtypeSpec is None: subtypeSpec = self._subtypeSpec else: subtypeSpec = subtypeSpec + self._subtypeSpec if namedValues is None: namedValues = self.__namedValues else: namedValues = namedValues + self.__namedValues return self.__class__(value, tagSet, subtypeSpec, namedValues) def __str__(self): return str(tuple(self)) # Immutable sequence object protocol def __len__(self): return len(self._value) def __getitem__(self, i): if type(i) == types.SliceType: return self.clone(operator.getslice(self._value, i.start, i.stop)) else: return self._value[i] def __add__(self, value): return self.clone(self._value + value) def __radd__(self, value): return self.clone(value + self._value) def __mul__(self, value): return self.clone(self._value * value) def __rmul__(self, value): return self.__mul__(value) # They won't be defined if version is at least 2.0 final if base.version_info < (2, 0): def __getslice__(self, i, j): return self[max(0, i):max(0, j):] def prettyIn(self, value): r = [] if not value: return () elif type(value) != types.StringType: return value elif value[0] == '\'': if value[-2:] == '\'B': for v in value[1:-2]: r.append(int(v)) elif value[-2:] == '\'H': for v in value[1:-2]: i = 4 v = string.atoi(v, 16) while i: i = i - 1 r.append((v>>i)&0x01) else: raise error.PyAsn1Error( 'Bad bitstring value notation %s' % value ) else: for i in string.split(value, ','): i = self.__namedValues.getValue(i) if i is None: raise error.PyAsn1Error( 'Unknown identifier \'%s\'' % i ) if i >= len(r): r.extend([0]*(i-len(r)+1)) r[i] = 1 return tuple(r) def prettyOut(self, value): return '\'%s\'B' % string.join(map(str, value), '') class OctetString(base.AbstractSimpleAsn1Item): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x04) ) def prettyOut(self, value): return repr(str(value)) def prettyIn(self, value): return str(value) # Immutable sequence object protocol def __len__(self): return len(self._value) def __getitem__(self, i): if type(i) == types.SliceType: return self.clone(operator.getslice(self._value, i.start, i.stop)) else: return self._value[i] def __add__(self, value): return self.clone(self._value + value) def __radd__(self, value): return self.clone(value + self._value) def __mul__(self, value): return self.clone(self._value * value) def __rmul__(self, value): return self.__mul__(value) # They won't be defined if version is at least 2.0 final if base.version_info < (2, 0): def __getslice__(self, i, j): return self[max(0, i):max(0, j):] class Null(OctetString): defaultValue = '' # This is tightly constrained tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x05) ) subtypeSpec = OctetString.subtypeSpec+constraint.SingleValueConstraint('') class ObjectIdentifier(base.AbstractSimpleAsn1Item): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x06) ) def __add__(self, other): return self.clone(self._value + other) def __radd__(self, other): return self.clone(other + self._value) # Sequence object protocol def __len__(self): return len(self._value) def __getitem__(self, i): if type(i) == types.SliceType: return self.clone( operator.getslice(self._value, i.start, i.stop) ) else: return self._value[i] # They won't be defined if version is at least 2.0 final if base.version_info < (2, 0): def __getslice__(self, i, j): return self[max(0, i):max(0, j):] def index(self, suboid): return self._value.index(suboid) def isPrefixOf(self, value): """Returns true if argument OID resides deeper in the OID tree""" l = len(self._value) if l <= len(value): if self._value[:l] == value[:l]: return 1 return 0 def prettyIn(self, value): """Dotted -> tuple of numerics OID converter""" if type(value) is types.TupleType: return value if type(value) is not types.StringType: return tuple(value) r = [] for element in filter(None, string.split(value, '.')): try: r.append(string.atoi(element, 0)) except string.atoi_error: try: r.append(string.atol(element, 0)) except string.atol_error, why: raise error.PyAsn1Error( 'Malformed Object ID %s at %s: %s' % (str(value), self.__class__.__name__, why) ) return tuple(r) def prettyOut(self, value): """Tuple of numerics -> dotted string OID converter""" r = [] for subOid in value: r.append(str(subOid)) if r[-1] and r[-1][-1] == 'L': r[-1][-1] = r[-1][:-1] return string.join(r, '.') class Real(base.AbstractSimpleAsn1Item): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x09) ) class Enumerated(Integer): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x0A) ) # "Structured" ASN.1 types class SetOf(base.AbstractConstructedAsn1Item): componentType = None tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatConstructed, 0x11) ) def _cloneComponentValues(self, myClone, cloneValueFlag): idx = 0; l = len(self._componentValues) while idx < l: c = self._componentValues[idx] if c is not None: if isinstance(c, base.AbstractConstructedAsn1Item): myClone.setComponentByPosition( idx, c.clone(cloneValueFlag=cloneValueFlag) ) else: myClone.setComponentByPosition(idx, c.clone()) idx = idx + 1 def _verifyComponent(self, idx, value): if self._componentType is not None and \ not self._componentType.isSuperTypeOf(value): raise error.PyAsn1Error('Component type error %s' % value) def getComponentByPosition(self, idx): return self._componentValues[idx] def setComponentByPosition(self, idx, value=None): l = len(self._componentValues) if idx >= l: self._componentValues = self._componentValues + (idx-l+1)*[None] if value is None: if self._componentValues[idx] is None: if self._componentType is None: raise error.PyAsn1Error('Component type not defined') self._componentValues[idx] = self._componentType.clone() return self elif type(value) != types.InstanceType: if self._componentType is None: raise error.PyAsn1Error('Component type not defined') if isinstance(self._componentType, base.AbstractSimpleAsn1Item): value = self._componentType.clone(value=value) else: raise error.PyAsn1Error('Instance value required') if self._componentType: self._verifyComponent(idx, value) self._verifySubtypeSpec(value, idx) self._componentValues[idx] = value return self def getComponentTypeMap(self): if self._componentType is not None: return self._componentType.getTypeMap() def prettyPrint(self, scope=0): scope = scope + 1 r = self.__class__.__name__ + ':\n' for idx in range(len(self._componentValues)): r = r + ' '*scope + self._componentValues[idx].prettyPrint(scope) return r class SequenceOf(SetOf): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatConstructed, 0x10) ) class SequenceAndSetBase(base.AbstractConstructedAsn1Item): componentType = namedtype.NamedTypes() def _cloneComponentValues(self, myClone, cloneValueFlag): idx = 0; l = len(self._componentValues) while idx < l: c = self._componentValues[idx] if c is not None: if isinstance(c, base.AbstractConstructedAsn1Item): myClone.setComponentByPosition( idx, c.clone(cloneValueFlag=cloneValueFlag) ) else: myClone.setComponentByPosition(idx, c.clone()) idx = idx + 1 def _verifyComponent(self, idx, value): componentType = self._componentType if componentType: if idx >= len(componentType): raise error.PyAsn1Error( 'Component type error out of range' ) t = componentType[idx].getType() if not t.isSuperTypeOf(value): raise error.PyAsn1Error('Component type error %s vs %s' % (repr(t), repr(value))) def getComponentByName(self, name): return self.getComponentByPosition( self._componentType.getPositionByName(name) ) def setComponentByName(self, name, value=None): return self.setComponentByPosition( self._componentType.getPositionByName(name), value ) def getComponentByPosition(self, idx): try: return self._componentValues[idx] except IndexError: if idx < len(self._componentType): return raise def setComponentByPosition(self, idx, value=None): l = len(self._componentValues) if idx >= l: self._componentValues = self._componentValues + (idx-l+1)*[None] if value is None: if self._componentValues[idx] is None: self._componentValues[idx] = self._componentType.getTypeByPosition(idx).clone() return self elif type(value) != types.InstanceType: t = self._componentType.getTypeByPosition(idx) if isinstance(t, base.AbstractSimpleAsn1Item): value = t.clone(value=value) else: raise error.PyAsn1Error('Instance value required') if self._componentType: self._verifyComponent(idx, value) self._verifySubtypeSpec(value, idx) self._componentValues[idx] = value return self def getDefaultComponentByPosition(self, idx): if self._componentType and self._componentType[idx].isDefaulted: return self._componentType[idx].getType() def getComponentType(self): if self._componentType: return self._componentType def setDefaultComponents(self): idx = len(self._componentType) while idx: idx = idx - 1 if self._componentType[idx].isDefaulted: if self.getComponentByPosition(idx) is None: self.setComponentByPosition(idx) elif not self._componentType[idx].isOptional: if self.getComponentByPosition(idx) is None: raise error.PyAsn1Error( 'Uninitialized component #%s at %s' % (idx, repr(self)) ) def prettyPrint(self, scope=0): scope = scope+1 r = self.__class__.__name__ + ':\n' for idx in range(len(self._componentValues)): if self._componentValues[idx] is not None: r = r + ' '*scope componentType = self.getComponentType() if componentType is None: r = r + '??' else: r = r + componentType.getNameByPosition(idx) r = '%s=%s\n' % ( r, self._componentValues[idx].prettyPrint(scope) ) return r class Sequence(SequenceAndSetBase): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatConstructed, 0x10) ) def getComponentTypeMapNearPosition(self, idx): return self._componentType.getTypeMapNearPosition(idx) def getComponentPositionNearType(self, tagSet, idx): return self._componentType.getPositionNearType(tagSet, idx) class Set(SequenceAndSetBase): tagSet = tag.initTagSet( tag.Tag(tag.tagClassUniversal, tag.tagFormatConstructed, 0x11) ) def getComponentByType(self, tagSet, innerFlag=0): c = self.getComponentByPosition( self._componentType.getPositionByType(tagSet) ) if innerFlag and hasattr(c, 'getComponent'): # get inner component by inner tagSet return c.getComponent(1) else: # get outer component by inner tagSet return c def setComponentByType(self, tagSet, value=None, innerFlag=0): idx = self._componentType.getPositionByType(tagSet) t = self._componentType.getTypeByPosition(idx) if innerFlag: # set inner component by inner tagSet if t.getTagSet(): self.setComponentByPosition(idx, value) else: t = self.setComponentByPosition(idx).getComponentByPosition(idx) t.setComponentByType(tagSet, value, innerFlag) else: # set outer component by inner tagSet self.setComponentByPosition(idx, value) def getComponentTypeMap(self): return self._componentType.getTypeMap(1) def getComponentPositionByType(self, tagSet): return self._componentType.getPositionByType(tagSet) class Choice(Set): tagSet = tag.TagSet() # untagged sizeSpec = constraint.ConstraintsIntersection( constraint.ValueSizeConstraint(1, 1) ) def __cmp__(self, other): if self._componentValues: return cmp(self._componentValues[self._currentIdx], other) return -1 def verifySizeSpec(self): self._sizeSpec( ' '*int(self.getComponent() is not None) # hackerish XXX ) def _cloneComponentValues(self, myClone, cloneValueFlag): try: c = self.getComponent() except error.PyAsn1Error: pass else: tagSet = getattr(c, 'getEffectiveTagSet', c.getTagSet)() if isinstance(c, base.AbstractConstructedAsn1Item): myClone.setComponentByType( tagSet, c.clone(cloneValueFlag=cloneValueFlag) ) else: myClone.setComponentByType(tagSet, c.clone()) def setComponentByPosition(self, idx, value=None): l = len(self._componentValues) if idx >= l: self._componentValues = self._componentValues + (idx-l+1)*[None] if hasattr(self, '_currentIdx'): self._componentValues[self._currentIdx] = None if value is None: if self._componentValues[idx] is None: self._componentValues[idx] = self._componentType.getTypeByPosition(idx).clone() self._currentIdx = idx return self elif type(value) != types.InstanceType: value = self._componentType.getTypeByPosition(idx).clone( value=value ) if self._componentType: self._verifyComponent(idx, value) self._verifySubtypeSpec(value, idx) self._componentValues[idx] = value self._currentIdx = idx return self def getMinTagSet(self): if self._tagSet: return self._tagSet else: return self._componentType.genMinTagSet() def getEffectiveTagSet(self): if self._tagSet: return self._tagSet else: c = self.getComponent() return getattr(c, 'getEffectiveTagSet', c.getTagSet)() def getTypeMap(self): if self._tagSet: return Set.getTypeMap(self) else: return Set.getComponentTypeMap(self) def getComponent(self, innerFlag=0): if hasattr(self, '_currentIdx'): c = self._componentValues[self._currentIdx] if innerFlag and hasattr(c, 'getComponent'): return c.getComponent(innerFlag) else: return c else: raise error.PyAsn1Error('Component not chosen') def setDefaultComponents(self): pass # XXX # coercion rules? PKsÎ2>q„À__pyasn1/v1/type/char.py# ASN.1 "character string" types from pyasn1.type import univ, tag class UTF8String(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 12) ) class NumericString(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 18) ) class PrintableString(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 19) ) class TeletexString(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 20) ) class VideotexString(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 21) ) class IA5String(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 22) ) class GraphicString(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 25) ) class VisibleString(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 26) ) class GeneralString(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 27) ) class UniversalString(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 28) ) class BMPString(univ.OctetString): tagSet = univ.OctetString.tagSet.tagImplicitly( tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 30) ) PK Av5ŠÁ&„„pyasn1/v1/type/constraint.py""" ASN.1 subtype constraints classes. Constraints are relatively rare, but every ASN1 object is doing checks all the time for whether they have any constraints and whether they are applicable to the object. What we're going to do is define objects/functions that can be called unconditionally if they are present, and that are simply not present if there are no constraints. Original concept and code by Mike C. Fletcher. """ import types import string from pyasn1.type import error class AbstractConstraint: """Abstract base-class for constraint objects Constraints should be stored in a simple sequence in the namespace of their client Asn1Item sub-classes. """ def __init__(self, *values): self._valueMap = {} self._setValues(values) self.__hashedValues = None def __call__(self, value, idx=None): try: self._testValue(value, idx) except error.ValueConstraintError, why: raise error.ValueConstraintError('%s failed at: %s' % ( self, why )) def __repr__(self): return '%s(%s)' % ( self.__class__.__name__, string.join(map(lambda x: str(x), self._values), ', ') ) # __cmp__ must accompany __hash__ def __cmp__(self, other): return self is other and 0 or cmp( (self.__class__, self._values), other ) def __eq__(self, other): return self is other or not cmp( (self.__class__, self._values), other ) def __hash__(self): if self.__hashedValues is None: self.__hashedValues = hash((self.__class__, self._values)) return self.__hashedValues def _setValues(self, values): self._values = values def _testValue(self, value, idx): raise error.ValueConstraintError(value) # Constraints derivation logic def getValueMap(self): return self._valueMap def isSuperTypeOf(self, otherConstraint): return otherConstraint.getValueMap().has_key(self) or \ otherConstraint is self or otherConstraint == self def isSubTypeOf(self, otherConstraint): return self._valueMap.has_key(otherConstraint) or \ otherConstraint is self or otherConstraint == self class SingleValueConstraint(AbstractConstraint): """Value must be part of defined values constraint""" def _testValue(self, value, idx): # XXX index vals for performance? if value not in self._values: raise error.ValueConstraintError(value) class ContainedSubtypeConstraint(AbstractConstraint): """Value must satisfy all of defined set of constraints""" def _testValue(self, value, idx): for c in self._values: c(value, idx) class ValueRangeConstraint(AbstractConstraint): """Value must be within start and stop values (inclusive)""" def _testValue(self, value, idx): if value < self.start or value > self.stop: raise error.ValueConstraintError(value) def _setValues(self, values): if len(values) != 2: raise error.PyAsn1Error( '%s: bad constraint values' % (self.__class__.__name__,) ) self.start, self.stop = values if self.start > self.stop: raise error.PyAsn1Error( '%s: screwed constraint values (start > stop): %s > %s' % ( self.__class__.__name__, self.start, self.stop ) ) AbstractConstraint._setValues(self, values) class ValueSizeConstraint(ValueRangeConstraint): """len(value) must be within start and stop values (inclusive)""" def _testValue(self, value, idx): l = len(value) if l < self.start or l > self.stop: raise error.ValueConstraintError(value) class PermittedAlphabetConstraint(SingleValueConstraint): pass # This is a bit kludgy, meaning two op modes within a single constraing class InnerTypeConstraint(AbstractConstraint): """Value must satisfy type and presense constraints""" def _testValue(self, value, idx): if self.__singleTypeConstraint: self.__singleTypeConstraint(value) elif self.__multipleTypeConstraint: if not self.__multipleTypeConstraint.has_key(idx): raise error.ValueConstraintError(value) constraint, status = self.__multipleTypeConstraint[idx] if status == 'ABSENT': # XXX presense is not checked! raise error.ValueConstraintError(value) constraint(value) def _setValues(self, values): self.__multipleTypeConstraint = {} self.__singleTypeConstraint = None for v in values: if type(v) == types.TupleType: self.__multipleTypeConstraint[v[0]] = v[1], v[2] else: self.__singleTypeConstraint = v AbstractConstraint._setValues(self, values) # Boolean ops on constraints class ConstraintsExclusion(AbstractConstraint): """Value must not fit the single constraint""" def _testValue(self, value, idx): try: self._values[0](value, idx) except error.ValueConstraintError: return else: raise error.ValueConstraintError(value) def _setValues(self, values): if len(values) != 1: raise error.PyAsn1Error('Single constraint expected') AbstractConstraint._setValues(self, values) class AbstractConstraintSet(AbstractConstraint): """Value must not satisfy the single constraint""" def __getitem__(self, idx): return self._values[idx] def __add__(self, value): return self.__class__(self, value) def __radd__(self, value): return self.__class__(self, value) def __len__(self): return len(self._values) # Constraints inclusion in sets def _setValues(self, values): self._values = values for v in values: self._valueMap[v] = 1 self._valueMap.update(v.getValueMap()) class ConstraintsIntersection(AbstractConstraintSet): """Value must satisfy all constraints""" def _testValue(self, value, idx): for v in self._values: v(value, idx) class ConstraintsUnion(AbstractConstraintSet): """Value must satisfy at least one constraint""" def _testValue(self, value, idx): for v in self._values: try: v(value, idx) except error.ValueConstraintError: pass else: return raise error.ValueConstraintError( 'all of %s failed for %s' % (self._values, value) ) # XXX # add tests for type check PK=œ(8(/aѤEGG-INFO/SOURCES.txtPK<œ(8“×2¤BEGG-INFO/dependency_links.txtPK<œ(8ò”—îî¤~EGG-INFO/PKG-INFOPK<œ(8U 0䤛EGG-INFO/top_level.txtPKTœ(8“×2¤ÖEGG-INFO/not-zip-safePK–mq5×ù¸‚..¤ pyasn1/__init__.pyPKNœ(8Õ¦ll¤hpyasn1/__init__.pyoPKIœ(8Õ¦ll¤pyasn1/__init__.pycPKsÎ2-<Ùš¤¢pyasn1/v1/__init__.pyPKIœ(8¼0†Š°°¤êpyasn1/v1/error.pycPKNœ(8¥F ¸¸¤Ëpyasn1/v1/__init__.pyoPKNœ(8¼0†Š°°¤·pyasn1/v1/error.pyoPKIœ(8¥F ¸¸¤˜pyasn1/v1/__init__.pycPKsÎ2MÇä……¤„pyasn1/v1/error.pyPKsÎ2¤9pyasn1/v1/codec/__init__.pyPKNœ(8*!‹`ŒŒ¤rpyasn1/v1/codec/__init__.pyoPKIœ(8*!‹`ŒŒ¤8pyasn1/v1/codec/__init__.pycPKOœ(8*z9bb¤þpyasn1/v1/codec/cer/encoder.pyoPKNœ(8ý6~~¤2pyasn1/v1/codec/cer/decoder.pyoPKpS˜4 IÝQ¤X9pyasn1/v1/codec/cer/decoder.pyPKsÎ2¤£<pyasn1/v1/codec/cer/__init__.pyPKOœ(8À±ú ¤à<pyasn1/v1/codec/cer/__init__.pyoPK:…4„qê@ ¤®=pyasn1/v1/codec/cer/encoder.pyPKJœ(8À±ú ¤óIpyasn1/v1/codec/cer/__init__.pycPKJœ(8*z9bb¤ÁJpyasn1/v1/codec/cer/encoder.pycPKIœ(8ý6~~¤`]pyasn1/v1/codec/cer/decoder.pycPKOœ(8'«­ò~2~2¤dpyasn1/v1/codec/ber/encoder.pyoPKOœ(8Î(ˆr]r]¤Ö–pyasn1/v1/codec/ber/decoder.pyoPKPœ(8í@Ц¼¼¤…ôpyasn1/v1/codec/ber/eoo.pyoPK{fÂ4¨Å§3M3M¤z÷pyasn1/v1/codec/ber/decoder.pyPKsÎ2¤éDpyasn1/v1/codec/ber/__init__.pyPKOœ(8ÈöÑÆ ¤&Epyasn1/v1/codec/ber/__init__.pyoPK²Qµ4§i÷R$R$¤ôEpyasn1/v1/codec/ber/encoder.pyPKJœ(8í@Ц¼¼¤‚jpyasn1/v1/codec/ber/eoo.pycPKJœ(8ÈöÑÆ ¤wmpyasn1/v1/codec/ber/__init__.pycPKJœ(8'«­ò~2~2¤Enpyasn1/v1/codec/ber/encoder.pycPKJœ(8Î(ˆr]r]¤¡pyasn1/v1/codec/ber/decoder.pycPKRS˜4µç”×íí¤¯þpyasn1/v1/codec/ber/eoo.pyPKPœ(8õ[„u¾¾¤Ôÿpyasn1/v1/codec/der/encoder.pyoPKPœ(8¹Ã/\\¤Ïpyasn1/v1/codec/der/decoder.pyoPKsÎ2ˆ¤Ï||¤hpyasn1/v1/codec/der/decoder.pyPKsÎ2¤ pyasn1/v1/codec/der/__init__.pyPKPœ(8ø¼“O ¤] pyasn1/v1/codec/der/__init__.pyoPK ‰3Yí„WW¤+ pyasn1/v1/codec/der/encoder.pyPKKœ(8ø¼“O ¤¾ pyasn1/v1/codec/der/__init__.pycPKKœ(8õ[„u¾¾¤Œpyasn1/v1/codec/der/encoder.pycPKKœ(8¹Ã/\\¤‡pyasn1/v1/codec/der/decoder.pycPKKœ(8“0º†#†#¤ pyasn1/v1/type/namedtype.pycPKRœ(8Ýsz™™¤à:pyasn1/v1/type/char.pyoPKsÎ2¤®Mpyasn1/v1/type/__init__.pyPKRœ(8"¥”G†˜†˜¤æMpyasn1/v1/type/univ.pyoPKMœ(8T÷H{½5½5¤¡æpyasn1/v1/type/constraint.pycPKLœ(8LÇkróó¤™pyasn1/v1/type/error.pycPKLœ(8¸)¡((¤Âpyasn1/v1/type/useful.pycPKKœ(88PT+¦3¦3¤!#pyasn1/v1/type/base.pycPKPœ(8+ÎÔT‹‹¤üVpyasn1/v1/type/__init__.pyoPKLœ(8o›Õ§Œ Œ ¤ÀWpyasn1/v1/type/namedval.pycPKPœ(88PT+¦3¦3¤…dpyasn1/v1/type/base.pyoPKQœ(8“0º†#†#¤`˜pyasn1/v1/type/namedtype.pyoPKLœ(8"¥”G†˜†˜¤ ¼pyasn1/v1/type/univ.pycPKRœ(8T÷H{½5½5¤ÛTpyasn1/v1/type/constraint.pyoPK`}«4u®âzz¤ÓŠpyasn1/v1/type/base.pyPKQœ(8LÇkróó¤ªpyasn1/v1/type/error.pyoPK/vÐ2”l Ýݤª¬pyasn1/v1/type/namedtype.pyPKÉQÛ2 ñSó¤À¿pyasn1/v1/type/namedval.pyPKQœ(8¸)¡((¤ Æpyasn1/v1/type/useful.pyoPKLœ(8q ##¤lÊpyasn1/v1/type/tag.pycPKV…4©®§¢¢¤-îpyasn1/v1/type/tag.pyPKQœ(8o›Õ§Œ Œ ¤þpyasn1/v1/type/namedval.pyoPKKœ(8+ÎÔT‹‹¤Ç pyasn1/v1/type/__init__.pycPKQœ(8q ##¤‹ pyasn1/v1/type/tag.pyoPKLœ(8Ýsz™™¤L/pyasn1/v1/type/char.pycPKsÎ2_¾RMTT¤Bpyasn1/v1/type/error.pyPKsÎ2PÙ3z‰‰¤£Bpyasn1/v1/type/useful.pyPKq{«4ÊmÆF¬\¬\¤bDpyasn1/v1/type/univ.pyPKsÎ2>q„À__¤B¡pyasn1/v1/type/char.pyPK Av5ŠÁ&„„¤Õ¨pyasn1/v1/type/constraint.pyPKMMÓÃ