/*! OpenPGPjs.org this is LGPL licensed code, see LICENSE/our website for more information.- v0.8.2 - 2014-10-29 */!function(a){"object"==typeofexports?module.exports=a():"function"==typeofdefine&&define.amd?define(a):"undefined"!=typeofwindow?window.openpgp=a():"undefined"!=typeofglobal?global.openpgp=a():"undefined"!=typeofself&&(self.openpgp=a())}(function(){returnfunctiona(b,c,d){functione(g,h){if(!c[g]){if(!b[g]){vari="function"==typeofrequire&&require;if(!h&&i)returni(g,!0);if(f)returnf(g,!0);thrownewError("Cannot find module '"+g+"'")}varj=c[g]={exports:{}};b[g][0].call(j.exports,function(a){varc=b[g][1][a];returne(c?c:a)},j,j.exports,a,b,c,d)}returnc[g].exports}for(varf="function"==typeofrequire&&require,g=0;g<d.length;g++)e(d[g]);returne}({1:[function(a,b){varc=b.exports={};c.nextTick=function(){vara="undefined"!=typeofwindow&&window.setImmediate,b="undefined"!=typeofwindow&&window.postMessage&&window.addEventListener;if(a)returnfunction(a){returnwindow.setImmediate(a)};if(b){varc=[];returnwindow.addEventListener("message",function(a){varb=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){vard=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}returnfunction(a){setTimeout(a,0)}}(),c.title="browser",c.browser=!0,c.env={},c.argv=[],c.binding=function(){thrownewError("process.binding is not supported")},c.cwd=function(){return"/"},c.chdir=function(){thrownewError("process.chdir is not supported")}},{}],2:[function(a,b,c){"use strict";vard=a("./promise/promise").Promise,e=a("./promise/polyfill").polyfill;c.Promise=d,c.polyfill=e},{"./promise/polyfill":6,"./promise/promise":7}],3:[function(a,b,c){"use strict";functiond(a){varb=this;if(!e(a))thrownewTypeError("You must pass an array to all.");returnnewb(function(b,c){functiond(a){returnfunction(b){e(a,b)}}functione(a,c){h[a]=c,0===--i&&b(h)}varg,h=[],i=a.length;0===i&&b([]);for(varj=0;j<a.length;j++)g=a[j],g&&f(g.then)?g.then(d(j),c):e(j,g)})}vare=a("./utils").isArray,f=a("./utils").isFunction;c.all=d},{"./utils":11}],4:[function(a,b,c){functiond(){returnfunction(){j.nextTick(g)}}functione(){vara=0,b=newm(g),c=document.createTextNode("");returnb.observe(c,{characterData:!0}),function(){c.data=a=++a%2}}functionf(){returnfunction(){n.setTimeout(g,1)}}functiong(){for(vara=0;a<o.length;a++){varb=o[a],c=b[0],d=b[1];c(d)}o=[]}functionh(a,b){varc=o.push([a,b]);1===c&&i()}vari,j=a("__browserify_process"),k="undefined"!=typeofself?self:"undefined"!=typeofwindow?window:{},l="undefined"!=typeofwindow?window:{},m=l.MutationObserver||l.WebKitMutationObserver,n="undefined"!=typeofk?k:void0===this?window:this,o=[];i="undefined"!=typeofj&&"[object process]"==={}.toString.call(j)?d():m?e():f(),c.asap=h},{__browserify_process:1}],5:[function(a,b,c){"use strict";functiond(a,b){return2!==arguments.length?e[a]:void(e[a]=b)}vare={instrument:!1};c.config=e,c.configure=d},{}],6:[function(a,b,c){functiond(){vara;a="undefined"!=typeofe?e:"undefined"!=typeofwindow&&window.document?window:self;varb="Promise"ina&&"resolve"ina.Promise&&"reject"ina.Promise&&"all"ina.Promise&&"race"ina.Promise&&function(){varb;returnnewa.Promise(function(a){b=a}),g(b)}();b||(a.Promise=f)}vare="undefined"!=typeofself?self:"undefined"!=typeofwindow?window:{},f=a("./promise").Promise,g=a("./utils").isFunction;c.polyfill=d},{"./promise":7,"./utils":11}],7:[function(a,b,c){"use strict";functiond(a){if(!q(a))thrownewTypeError("You must pass a resolver function as the first argument to the promise constructor");if(!(thisinstanceofd))thrownewTypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._subscribers=[],e(a,this)}functione(a,b){functionc(a){j(b,a)}functiond(a){l(b,a)}try{a(c,d)}catch(e){d(e)}}functionf(a,b,c,d){vare,f,g,h,k=q(c);if(k)try{e=c(d),g=!0}catch(m){h=!0,f=m}elsee=d,g=!0;i(b,e)||(k&&g?j(b,e):h?l(b,f):a===y?j(b,e):a===z&&l(b,e))}functiong(a,b,c,d){var
});for(varb=0;b<a.length;b++)if(a[b].user.isValidSelfCertificate(this.primaryKey,a[b].selfCertificate))returna[b];returnnull},d.prototype.update=function(a){varb=this;if(a.verifyPrimaryKey()!==o.keyStatus.invalid){if(this.primaryKey.getFingerprint()!==a.primaryKey.getFingerprint())thrownewError("Key update method: fingerprints of keys not equal");if(this.isPublic()&&a.isPrivate()){varc=(this.subKeys&&this.subKeys.length)===(a.subKeys&&a.subKeys.length)&&(!this.subKeys||this.subKeys.every(function(b){returna.subKeys.some(function(a){returnb.subKey.getFingerprint()===a.subKey.getFingerprint()})}));if(!c)thrownewError("Cannot update public key with private key if subkey mismatch");this.primaryKey=a.primaryKey}this.revocationSignature||!a.revocationSignature||a.revocationSignature.isExpired()||!a.revocationSignature.verified&&!a.revocationSignature.verify(a.primaryKey,{key:a.primaryKey})||(this.revocationSignature=a.revocationSignature),h(a,this,"directSignatures"),a.users.forEach(function(a){for(varc=!1,d=0;d<b.users.length;d++)if(a.userId&&a.userId.userid===b.users[d].userId.userid||a.userAttribute&&a.userAttribute.equals(b.users[d].userAttribute)){b.users[d].update(a,b.primaryKey),c=!0;break}c||b.users.push(a)}),a.subKeys&&a.subKeys.forEach(function(a){for(varc=!1,d=0;d<b.subKeys.length;d++)if(a.subKey.getFingerprint()===b.subKeys[d].subKey.getFingerprint()){b.subKeys[d].update(a,b.primaryKey),c=!0;break}c||b.subKeys.push(a)})}},d.prototype.revoke=function(){},i.prototype.toPacketlist=function(){vara=newn.List;returna.push(this.userId||this.userAttribute),a.concat(this.revocationCertifications),a.concat(this.selfCertifications),a.concat(this.otherCertifications),a},i.prototype.isRevoked=function(a,b){if(this.revocationCertifications){varc=this;returnthis.revocationCertifications.some(function(d){returnd.issuerKeyId.equals(a.issuerKeyId)&&!d.isExpired()&&(d.verified||d.verify(b,{userid:c.userId||c.userAttribute,key:b}))})}return!1},i.prototype.getValidSelfCertificate=function(a){if(!this.selfCertifications)returnnull;for(varb=this.selfCertifications.sort(function(a,b){returna=a.created,b=b.created,a>b?-1:b>a?1:0}),c=0;c<b.length;c++)if(this.isValidSelfCertificate(a,b[c]))returnb[c];returnnull},i.prototype.isValidSelfCertificate=function(a,b){returnthis.isRevoked(b,a)?!1:b.isExpired()||!b.verified&&!b.verify(a,{userid:this.userId||this.userAttribute,key:a})?!1:!0},i.prototype.verify=function(a){if(!this.selfCertifications)returno.keyStatus.no_self_cert;for(varb,c=0;c<this.selfCertifications.length;c++)if(this.isRevoked(this.selfCertifications[c],a))b=o.keyStatus.revoked;elseif(this.selfCertifications[c].verified||this.selfCertifications[c].verify(a,{userid:this.userId||this.userAttribute,key:a})){if(!this.selfCertifications[c].isExpired()){b=o.keyStatus.valid;break}b=o.keyStatus.expired}elseb=o.keyStatus.invalid;returnb},i.prototype.update=function(a,b){varc=this;h(a,this,"selfCertifications",function(a){returna.verified||a.verify(b,{userid:c.userId||c.userAttribute,key:b})}),h(a,this,"otherCertifications"),h(a,this,"revocationCertifications")},j.prototype.toPacketlist=function(){vara=newn.List;returna.push(this.subKey),a.push(this.revocationSignature),a.push(this.bindingSignature),a},j.prototype.isValidEncryptionKey=function(a){returnthis.verify(a)==o.keyStatus.valid&&e(this.subKey,this.bindingSignature)},j.prototype.isValidSigningKey=function(a){returnthis.verify(a)==o.keyStatus.valid&&f(this.subKey,this.bindingSignature)},j.prototype.verify=function(a){returnthis.revocationSignature&&!this.revocationSignature.isExpired()&&(this.revocationSignature.verified||this.revocationSignature.verify(a,{key:a,bind:this.subKey}))?o.keyStatus.revoked:3==this.subKey.version&&0!==this.subKey.expirationTimeV3&&Date.now()>this.subKey.created.getTime()+24*this.subKey.expirationTimeV3*3600*1e3?o.keyStatus.expired:this.bindingSignature?this.bindingSignature.isExpired()?o.keyStatus.expired:this.bindingSignature.verified||this.bindingSignature.verify(a,{key:a,bind:this.subKey})?4==this.subKey.version&&thi
vari=this.encrypted.substr(d,l.cipher[b].blockSize);d+=i.length;vark,m=this.encrypted.substr(d);k=l.cfb.normalDecrypt(b,c,m,i);varo=254==e?"sha1":"mod",p=f(o,k,this.algorithm);returnpinstanceofError?!1:(this.mpi=this.mpi.concat(p),this.isDecrypted=!0,!0)},c.prototype.generate=function(a){varb=this;returnl.generateMpi(b.algorithm,a).then(function(a){b.mpi=a,b.isDecrypted=!0})},c.prototype.clearPrivateMPIs=function(){if(!this.encrypted)thrownewError("If secret key is not encrypted, clearing private MPIs is irreversible.");this.mpi=this.mpi.slice(0,l.getPublicMpiCount(this.algorithm)),this.isDecrypted=!1}},{"../crypto":30,"../enums.js":41,"../type/mpi.js":70,"../type/s2k.js":71,"../util.js":72,"./public_key.js":57}],61:[function(a,b){functionc(){d.call(this),this.tag=e.packet.secretSubkey}b.exports=c;vard=a("./secret_key.js"),e=a("../enums.js");c.prototype=newd,c.prototype.constructor=c},{"../enums.js":41,"./secret_key.js":60}],62:[function(a,b){functionc(){this.tag=g.packet.signature,this.version=4,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=null,this.signedHashValue=null,this.created=newDate,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyId=newj,this.notation=null,this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserId=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.verified=!1}functiond(a,b){varc="";returnc+=f.writeSimpleLength(b.length+1),c+=String.fromCharCode(a),c+=b}b.exports=c;vare=a("../util.js"),f=a("./packet.js"),g=a("../enums.js"),h=a("../crypto"),i=a("../type/mpi.js"),j=a("../type/keyid.js");c.prototype.read=function(a){functionb(a){for(varb=e.readNumber(a.substr(0,2)),c=2;2+b>c;){vard=f.readSimpleLength(a.substr(c));c+=d.offset,this.read_sub_packet(a.substr(c,d.len)),c+=d.len}returnc}varc=0;switch(this.version=a.charCodeAt(c++),this.version){case3:5!=a.charCodeAt(c++)&&e.print_debug("packet/signature.js\ninvalid One-octet length of following hashed material.MUST be 5. @:"+(c-1));vard=c;this.signatureType=a.charCodeAt(c++),this.created=e.readDate(a.substr(c,4)),c+=4,this.signatureData=a.substring(d,c),this.issuerKeyId.read(a.substring(c,c+8)),c+=8,this.publicKeyAlgorithm=a.charCodeAt(c++),this.hashAlgorithm=a.charCodeAt(c++);break;case4:this.signatureType=a.charCodeAt(c++),this.publicKeyAlgorithm=a.charCodeAt(c++),this.hashAlgorithm=a.charCodeAt(c++),c+=b.call(this,a.substr(c),!0),this.signatureData=a.substr(0,c);varg=c;c+=b.call(this,a.substr(c),!1),this.unhashedSubpackets=a.substr(g,c-g);break;default:thrownewError("Version "+this.version+" of the signature is unsupported.")}this.signedHashValue=a.substr(c,2),c+=2,this.signature=a.substr(c)},c.prototype.write=function(){vara="";switch(this.version){case3:a+=String.fromCharCode(3),a+=String.fromCharCode(5),a+=this.signatureData,a+=this.issuerKeyId.write(),a+=String.fromCharCode(this.publicKeyAlgorithm),a+=String.fromCharCode(this.hashAlgorithm);break;case4:a+=this.signatureData,a+=this.unhashedSubpackets?this.unhashedSubpackets:e.writeNumber(0,2)}returna+=this.signedHashValue+this.signature},c.prototype.sign=function(a,b){varc=g.write(g.signature,this.signatureType),d=g.write(g.publicKey,this.publicKeyAlgorithm),e=g.write(g.hash,this.hashAlgorithm),f=String.fromCharCode(4);f+=String.fromCharCode(c),f+=String.fromCharCode(d),f+=String.fromCharCode(e),this.issuerKeyId=a.g