(function(e){vari=function(e,i){Object.defineProperty(module.exports,e,{get:function(){returnrequire(i)}})};i("Bignum","bignum"),Object.defineProperty(module.exports,"bignum",{get:function(){returnconsole.log('bignum (with a lower-case "b") is deprecated. Use bitcore.Bignum (capital "B") instead.'),require("bignum")}}),i("Base58","./lib/Base58"),Object.defineProperty(module.exports,"base58",{get:function(){returnconsole.log('base58 (with a lower-case "b") is deprecated. Use bitcore.Base58 (capital "B") instead.'),require("./lib/Base58")}}),i("bufferput","bufferput"),i("buffertools","buffertools"),i("Buffers.monkey","./patches/Buffers.monkey"),i("config","./config"),i("const","./const"),i("Deserialize","./lib/Deserialize"),i("ECIES","./lib/ECIES"),i("log","./util/log"),i("networks","./networks"),i("SecureRandom","./lib/SecureRandom"),i("sjcl","./lib/sjcl"),i("util","./util/util"),i("EncodedData","./util/EncodedData"),i("VersionedData","./util/VersionedData"),i("BinaryParser","./util/BinaryParser"),i("Address","./lib/Address"),i("AuthMessage","./lib/AuthMessage"),i("HierarchicalKey","./lib/HierarchicalKey"),i("BIP21","./lib/BIP21"),Object.defineProperty(module.exports,"BIP32",{get:function(){returnconsole.log("BIP32 is deprecated. Use bitcore.HierarchicalKey instead."),require("./lib/HierarchicalKey")}}),i("BIP39","./lib/BIP39"),i("BIP39WordlistEn","./lib/BIP39WordlistEn"),i("Point","./lib/Point"),i("Opcode","./lib/Opcode"),i("Script","./lib/Script"),i("Transaction","./lib/Transaction"),i("TransactionBuilder","./lib/TransactionBuilder"),i("Connection","./lib/Connection"),i("PayPro","./lib/PayPro"),i("Peer","./lib/Peer"),i("Block","./lib/Block"),i("ScriptInterpreter","./lib/ScriptInterpreter"),i("Bloom","./lib/Bloom"),i("Key","./lib/Key"),Object.defineProperty(module.exports,"KeyModule",{get:function(){returnconsole.log("KeyModule is deprecated."),require("bindings")("KeyModule")}}),i("SINKey","./lib/SINKey"),i("SIN","./lib/SIN"),i("PrivateKey","./lib/PrivateKey"),i("RpcClient","./lib/RpcClient"),i("Wallet","./lib/Wallet"),i("WalletKey","./lib/WalletKey"),i("PeerManager","./lib/PeerManager"),i("Message","./lib/Message"),i("Electrum","./lib/Electrum"),i("Armory","./lib/Armory"),i("NetworkMonitor","./lib/NetworkMonitor"),module.exports.Buffer=e}).call(this,require("buffer").Buffer);
(function(e){"use strict";functionr(t,n){if(n&&n.length&&(!e.isBuffer(n)||20!=n.length))thrownewError("Hash must be 20 bytes");r.super_.call(this,t,n)}vart=require("../util"),n=require("../util/VersionedData"),i=require("../util/EncodedData"),s=require("../networks"),o=require("./Script"),u=require("util");u.inherits(r,n),i.applyEncodingsTo(r),r.fromPubKey=function(e,n){if(n||(n="livenet"),33!==e.length&&65!==e.length)thrownewError("Invalid public key");vari=s[n].addressVersion,o=t.sha256ripe160(e);returnnewr(i,o)},r.fromKey=function(e,t){returnr.fromPubKey(e.public,t)},r.fromPubKeys=function(e,t,n,i){n||(n="livenet");for(varsint){varu=t[s];if(33!=u.length&&65!=u.length)thrownewError("Invalid public key")}vara=o.createMultisig(e,t,i);returnr.fromScript(a,n)},r.fromScript=function(n,i){i||(i="livenet"),"string"==typeofn&&(n=newo(newe(n,"hex")));varu=s[i].P2SHVersion,a=n.getBuffer(),f=t.sha256ripe160(a);returnnewr(u,f)},r.fromScriptPubKey=function(n,i){"string"==typeofn&&(n=newo(newe(n,"hex"))),i||(i="livenet");varu,a=[],f=n.capture();if(f){varc=n.classify();switch(c){caseo.TX_PUBKEY:f[0]=t.sha256ripe160(f[0]),u=s[i].addressVersion;break;caseo.TX_PUBKEYHASH:u=s[i].addressVersion;break;caseo.TX_MULTISIG:u=s[i].addressVersion;for(varlinf)f[l]=t.sha256ripe160(f[l]);break;caseo.TX_SCRIPTHASH:u=s[i].P2SHVersion}for(varlinf)a.push(newr(u,f[l]))}returna},r.prototype.validate=function(){if(this.doAsBinary(function(){if(r.super_.prototype.validate.apply(this),21!==this.data.length)thrownewError("invalid data length")}),"undefined"==typeofthis.network())thrownewError("invalid network")},r.prototype.network=function(){vare,r=this.version(),t=s.livenet,n=s.testnet;returnr===t.addressVersion||r===t.P2SHVersion?e=t:(r===n.addressVersion||r===n.P2SHVersion)&&(e=n),e},r.prototype.isScript=function(){returnthis.isValid()&&this.version()===this.network().P2SHVersion},r.prototype.getScriptPubKey=function(){vare,r=this.version(),t=s.livenet,n=s.testnet;if(r===t.addressVersion||r===n.addressVersion)e=o.createPubKeyHashOut(this.payload());else{if(r!==t.P2SHVersion&&r!==n.P2SHVersion)thrownewError("invalid address - unknown version");e=o.createP2SH(this.payload())}returne},r.fromPubkeyHashScriptSig=function(e,t){returnr.fromPubKey(e.chunks[1],t)},r.fromScriptSig=function(t,n){if("string"==typeoft){try{vari=newe(t,"hex")}catch(s){returnnull}t=newo(i)}n||(n="livenet");t.chunks;return2===t.chunks.length?r.fromPubkeyHashScriptSig(t,n):null},r.getScriptPubKeyFor=function(e){returnnewr(e).getScriptPubKey()},r.validate=function(e){returnnewr(e).isValid()},module.exports=r}).call(this,require("buffer").Buffer);
(function(r){"use strict";vare=require("./Message"),n=require("./ECIES"),t=require("preconditions").singleton(),o=require("./Key"),i=1,c=0,a=function(){};a.setVersion=function(r,e){i=r,c=e},a.encode=function(e,n,u,f){t.checkArgument(ninstanceofo,"fromkey"),"string"==typeofe&&(e=newr(e,"hex")),uinstanceofr||(u=newr(JSON.stringify(u)));vars=newr([i]),h=newr([c]);if(f&&f.nonce&&r.isBuffer(f.nonce)&&8==f.nonce.length)varv=f.nonce;else{varv=newr(8);v.fill(0)}varw=r.concat([s,h,v,u]),y=newr(w.toString("hex")),d=a._encrypt(e,y),g=a._sign(n,d),p={pubkey:n.public.toString("hex"),sig:g.toString("hex"),encrypted:d.toString("hex"),to:e.toString("hex")};returnp},a.decode=function(e,n,t){if(t&&t.prevnonce&&r.isBuffer(t.prevnonce)&&8==t.prevnonce.length)varo=t.prevnonce;else{varo=newr(8);o.fill(0)}try{varc=newr(n.pubkey,"hex")}catch(u){thrownewError("Error decoding public key: "+u)}try{varf=newr(n.sig,"hex"),s=newr(n.encrypted,"hex")}catch(u){thrownewError("Error decoding data: "+u)}try{varh=a._verify(c,f,s)}catch(u){thrownewError("Error verifying signature: "+u)}if(!h)thrownewError("Invalid signature");try{varv=a._decrypt(e.private,s),w=newr(v.toString(),"hex")}catch(u){thrownewError("Cannot decrypt data: "+u)}try{vary=w[0],d=w[1],g=w.slice(2,10),p=w.slice(10)}catch(u){thrownewError("Cannot parse decrypted data: "+u)}if(0===p.length)thrownewError("No data present");if(y!==i)thrownewError("Invalid version number");if(!a._noncegt(g,o)&&"0000000000000000"!==o.toString("hex"))thrownewError("Nonce not equal to zero and not greater than the previous nonce");try{p=JSON.parse(p)}catch(u){if(!(uinstanceofSyntaxError))throwu}varl={version1:y,version2:d,nonce:g,payload:p};returnl},a._noncegt=function(r,e){varn=r.slice(0,4).readUInt32BE(0),t=e.slice(0,4).readUInt32BE(0);if(n>t)return!0;if(t>n)return!1;varo=r.slice(4,8).readUInt32BE(0),i=e.slice(4,8).readUInt32BE(0);returno>i?!0:!1},a._encrypt=function(r,e,t,o){vari=n.encrypt(r,e,t,o);returni},a._decrypt=function(r,e){vart=n.decrypt(r,e);returnt},a._sign=function(r,n){vart=e.sign(n,r);returnt},a._verify=function(r,n,t){varo=e.verifyWithPubKey(r,t,n);returno},module.exports=a}).call(this,require("buffer").Buffer);
(function(e){functionr(r){returnnewe(t.createHash("sha256").update(r).digest("binary"),"binary")}functionn(e){returnr(r(e))}for(vart=require("crypto"),o=require("bignum"),i=newe(1024),c=newe(0),f="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",u=f[0],a=newe(f,"ascii"),h={},d=0;d<f.length;d++)h[f[d]]=d;varl={encode:function(r){varn,t,c=o.fromBuffer(r);n=r.length<512?i:newe(r.length<<1);for(varf=n.length-1;c.gt(0);)t=c.mod(58),c=c.div(58),n[f]=a[t.toNumber()],f--;for(varu=0;0==r[u];)n[f]=a[0],u++,f--;returnn.slice(f+1,n.length).toString("ascii")},decode:function(r){if(0==r.length)returnc;for(varn=o(0),t=0;t<r.length;t++)n=n.mul(58),n=n.add(h[r[t]]);for(vart=0;t<r.length&&r[t]==u;)t++;if(t>0){vari=newe(t);returni.fill(0),t==r.length?i:(n=n.toBuffer(),e.concat([i,n],t+n.length))}returnn.toBuffer()}},s={encode:function(r){vart=newe(r.length+4),o=n(r);returnr.copy(t),o.copy(t,r.length),l.encode(t)},decode:function(e){varr=l.decode(e);if(r.length<4)thrownewError("invalid input: too short");vart=r.slice(0,-4),o=r.slice(-4),i=n(t),c=i.slice(0,4);if(o.toString("hex")!==c.toString("hex"))thrownewError("checksum mismatch");returnt}};exports.setBuffer=function(e){i=e},exports.base58=l,exports.base58Check=s,exports.encode=l.encode,exports.decode=l.decode}).call(this,require("buffer").Buffer);
(function(e){"use strict";varr=require("../util"),i=require("./Key"),n=require("bignum"),r=require("../util"),t=function(){};t.sign=function(e,r){vari=t.magicHash(e),n=r.signSync(i);returnn},t.verifyWithPubKey=function(e,r,n){varu=t.magicHash(r),a=newi;return65==e.length&&(a.compressed=!1),a.public=e,a.verifySignatureSync(u,n)},t.signMessage=function(e,r){varu=t.magicHash(e),a=n.fromBuffer(r.private),s=i.signCompressed(u,a);returns},t.verifyMessage=function(e,r,n){varu=t.magicHash(r);returni.verifyCompressed(u,n,e)},t.magicBytes=newe("Bitcoin Signed Message:\n"),t.magicHash=function(i){varn=t.magicBytes,u=r.varIntBuf(n.length),a=newe(i),s=r.varIntBuf(a.length),c=e.concat([u,n,s,a]),f=r.twoSha256(c);returnf},module.exports=t}).call(this,require("buffer").Buffer);
(function(t){"use strict";functioni(n,r){if("number"!=typeofn)returnvoidi.super_.call(this,n,r);if(!t.isBuffer(r)||20!=r.length)thrownewError("Payload must be 20 bytes");this.data=newt(2+r.length),this.converters=this.encodings.binary.converters,this._encoding=this.encodings.binary._encoding,this.encoding("binary"),this.prefix(15),this.type(n),this.payload(r)}varn=require("../util/VersionedData"),r=require("../util/EncodedData"),e=require("util"),o=require("../util");e.inherits(i,n),r.applyEncodingsTo(i),i.SIN_PERSIST_MAINNET=1,i.SIN_PERSIST_TESTNET=17,i.SIN_EPHEM=2,i.prototype.prefix=function(t){returnt||0===t?(this.doAsBinary(function(){this.data.writeUInt8(t,0)}),t):this.as("binary").readUInt8(0)},i.prototype.type=function(t){returnt||0===t?(this.doAsBinary(function(){this.data.writeUInt8(t,1)}),t):this.as("binary").readUInt8(1)},i.prototype.payload=function(t){returnt?(this.doAsBinary(function(){t.copy(this.data,2)}),t):this.as("binary").slice(1)},i.prototype.validate=function(){this.doAsBinary(function(){if(i.super_.prototype.validate.call(this),22!=this.data.length)thrownewError("invalid data length")})},i.fromPubKey=function(n,r){if(r||(r=i.SIN_EPHEM),!t.isBuffer(n)||33!==n.length&&65!=n.length)thrownewError("Invalid public key");vare=o.sha256ripe160(n);returnnewi(e,r)},module.exports=i}).call(this,require("buffer").Buffer);
(function(t){functione(t){this.buffer=t?t:f.EMPTY_BUFFER,this.chunks=[],this.parse()}functionr(t){returnt==h.map.OP_0||t>=h.map.OP_1&&t<=h.map.OP_16}functionn(t){returnt<h.map.OP_PUSHDATA1?1:255>=t?2:65535>=t?3:5}functions(e){varr=void0;returne<h.map.OP_PUSHDATA1?(r=newt(1),r.writeUInt8(e,0)):255>=e?(r=newt(2),r.writeUInt8(h.map.OP_PUSHDATA1,0),r.writeUInt8(e,1)):65535>=e?(r=newt(3),r.writeUInt8(h.map.OP_PUSHDATA2,0),r.writeUInt16LE(e,1)):(r=newt(5),r.writeUInt8(h.map.OP_PUSHDATA4,0),r.writeUInt32LE(e,1)),r}varu=(require("../config"),require("../util/log")),h=require("./Opcode"),o=require("buffertools"),f=require("../util/util"),c=require("../util/BinaryParser"),p=require("bufferput"),a=0,l=1,g=2,k=3,y=4,S=5,P=["unknown","pubkey","pubkeyhash","multisig","scripthash","return"];e.TX_UNKNOWN=a,e.TX_PUBKEY=l,e.TX_PUBKEYHASH=g,e.TX_MULTISIG=k,e.TX_SCRIPTHASH=y,e.TX_RETURN=S,e.prototype.parse=function(){this.chunks=[];for(vart=newc(this.buffer);!t.eof();){vare,r,n=t.word8();n>0&&n<h.map.OP_PUSHDATA1?this.chunks.push(t.buffer(n)):n===h.map.OP_PUSHDATA1?(e=t.word8(),r=t.buffer(e),this.chunks.push(r)):n===h.map.OP_PUSHDATA2?(e=t.word16le(),r=t.buffer(e),this.chunks.push(r)):n===h.map.OP_PUSHDATA4?(e=t.word32le(),r=t.buffer(e),this.chunks.push(r)):this.chunks.push(n)}},e.prototype.isPushOnly=function(){for(vare=0;e<this.chunks.length;e++){varr=this.chunks[e];if(!t.isBuffer(r)&&r>h.map.OP_16)return!1}return!0},e.prototype.isP2SH=function(){return3==this.chunks.length&&this.chunks[0]==h.map.OP_HASH160&&t.isBuffer(this.chunks[1])&&20==this.chunks[1].length&&this.chunks[2]==h.map.OP_EQUAL},e.prototype.isPubkey=function(){return2==this.chunks.length&&t.isBuffer(this.chunks[0])&&this.chunks[1]==h.map.OP_CHECKSIG},e.prototype.isReturn=function(){return2==this.chunks.length&&t.isBuffer(this.chunks[1])&&this.chunks[0]==h.map.OP_RETURN},e.prototype.isPubkeyHash=function(){return5==this.chunks.length&&this.chunks[0]==h.map.OP_DUP&&this.chunks[1]==h.map.OP_HASH160&&t.isBuffer(this.chunks[2])&&20==this.chunks[2].length&&this.chunks[3]==h.map.OP_EQUALVERIFY&&this.chunks[4]==h.map.OP_CHECKSIG},e.prototype.isMultiSig=function(){returnthis.chunks.length>3&&r(this.chunks[0])&&this.chunks.slice(1,this.chunks.length-2).every(function(e){returnt.isBuffer(e)})&&r(this.chunks[this.chunks.length-2])&&this.chunks[this.chunks.length-1]==h.map.OP_CHECKMULTISIG},e.prototype.isPubkeyHashScriptSig=function(){return2==this.chunks.length&&t.isBuffer(this.chunks[0])&&t.isBuffer(this.chunks[1])},e.prototype.isP2shScriptSig=function(){if(!r(this.chunks[0])||0!==this.chunks[0])return!1;vart=newe(this.chunks[this.chunks.length-1]),n=t.classify();returnn!==a},e.prototype.isMultiSigScriptSig=function(){returnr(this.chunks[0])&&0===this.chunks[0]?!this.isP2shScriptSig():!1},e.prototype.isPubkeyScriptSig=function(){return1==this.chunks.length&&t.isBuffer(this.chunks[0])},e.prototype.countSignatures=function(){vart=0,e=this.chunks.length;returnt=this.isMultiSigScriptSig()?e-1:this.isP2shScriptSig()?e-2:this.isPubkeyHashScriptSig()?1:0},e.prototype.getSignatures=function(){ret=[];vart=this.chunks.length;if(this.isMultiSigScriptSig())for(vare=1;t>e;e++)ret.push(this.chunks[e]);elseif(this.isP2shScriptSig())for(vare=1;t-1>e;e++)ret.push(this.chunks[e]);elsethis.isPubkeyHashScriptSig()&&ret.push(this.chunks[0]);returnret},e.prototype.getHashType=function(){for(vart=this.getSignatures(),e=null,r=0;r<t.length;r++){varn=t[r],i=n[n.length-1];if(null!==e&&e!==i)returnnull;e=i}returne},e.prototype.countMissingSignatures=function(){if(this.isMultiSig())returnu.debug("Can not count missing signatures on normal Multisig script"),null;vart=0,n=this.chunks.length;if(r(this.chunks[0])&&0===this.chunks[0]){vari=newe(this.chunks[n-1]);if(r(i.chunks[0])){vars=i.chunks[0]-80;t=s-(n-2)}elseu.debug("Unrecognized script type")}else0===o.compare(this.getBuffer(),f.EMPTY_BUFFER)&&(t=1);returnt},e.prototype.finishedMultiSig=function(){vart=this.countMissingSignatures();returnnull===t?null:0===t},e.prototype.getMultiSigInfo=function(){if(!this.i
(function(t){"use strict";functione(t){returnt=t||{},this.vanilla={},this.vanilla.scriptSig=[],this.vanilla.opts=JSON.stringify(t),this.lockTime=t.lockTime||0,this.spendUnconfirmed=t.spendUnconfirmed||!1,this.givenFeeSat="undefined"!=typeoft.fee?t.fee*n.COIN:t.feeSat,this.remainderOut=t.remainderOut,this.signhash=t.signhash||f.SIGHASH_ALL,this.tx={},this.inputsSigned=0,this}vari=require("./Address"),r=require("./Script"),n=require("../util"),s=require("bignum"),u=require("buffertools"),o=require("../networks"),a=require("./WalletKey"),h=require("./PrivateKey"),p=require("./Key"),c=require("../util/log"),f=require("./Transaction"),g=parseInt(1e-4*n.COIN),l=1;e.FEE_PER_1000B_SAT=g,e._scriptForPubkeys=function(e){for(vari=e.pubkeys.length,n=[],s=0;i>s;s++)n.push(newt(e.pubkeys[s],"hex"));returnr.createMultisig(e.nreq,n)},e._scriptForOut=function(t){vare;if(t.address)e=newi(t.address).getScriptPubKey();else{if(!(t.pubkeys||t.nreq||t.nreq>1))thrownewError("unknown out type");e=this._scriptForPubkeys(t)}returne},e.infoForP2sh=function(t,e){varr=this._scriptForOut(t),s=n.sha256ripe160(r.getBuffer()),u="testnet"===e?o.testnet.P2SHVersion:o.livenet.P2SHVersion,a=newi(u,s),h=a.as("base58");return{script:r,scriptBufHex:r.getBuffer().toString("hex"),hash:s,address:h}},e.prototype.setUnspent=function(t){returnthis.vanilla.utxos=JSON.stringify(t),this.utxos=t,this},e.prototype._setInputMap=function(){for(vare=[],i=this.selectedUtxos.length,n=0;i>n;n++){vars=this.selectedUtxos[n],u=newt(s.scriptPubKey,"hex"),o=newr(u),a=o.classify();if(a===r.TX_UNKNOWN)thrownewError("Unknown scriptPubKey type at:"+n+" Type:"+o.getRawOutType());e.push({address:s.address,scriptPubKey:o,scriptType:a,i:n})}returnthis.inputMap=e,this},e.prototype.getSelectedUnspent=function(){returnthis.selectedUtxos},e.prototype._selectUnspent=function(t){if(!this.utxos||!this.utxos.length)thrownewError("unspent not set");vare=[6,1];this.spendUnconfirmed&&e.push(0);vari=[],r=s(0),u=!1,o=null,a=this.utxos.length;do{for(varh=e.shift(),p=0;a>p;p++){varc=this.utxos[p],f=c.confirmations||0;if(!(h>f||o&&f>=o)){varg=c.amountSat||n.parseValue(c.amount);if(r=r.add(g),i.push(c),r.cmp(t)>=0){u=!0;break}}}o=h}while(!u&&e.length);if(!u)thrownewError("not enough unspent tx outputs to fulfill totalNeededAmount [SAT]:"+t);returnthis.selectedUtxos=i,this._setInputMap(),this},e.prototype._setInputs=function(e){vari=this.selectedUtxos,r=i.length,o=s(0);e.ins=[];for(vara=0;r>a;a++){o=o.add(n.parseValue(i[a].amount));varh={};h.s=n.EMPTY_BUFFER,h.q=4294967295;varp=newt(i[a].txid,"hex"),c=u.reverse(p),f=parseInt(i[a].vout),g=newt(4);g.writeUInt32LE(f,0),h.o=t.concat([c,g]),e.ins.push(h)}returnthis.valueInSat=o,this},e.prototype._setFee=function(t){if("undefined"==typeofthis.valueOutSat)thrownewError("valueOutSat undefined");vare=this.valueOutSat.add(t);if(this.valueInSat.cmp(e)<0){vari=this.valueInSat.toString(),r=e.toString();thrownewError("transaction input amount is less than outputs: "+i+" < "+r+" [SAT]")}returnthis.feeSat=t,this},e.prototype._setRemainder=function(t,i){if("undefined"==typeofthis.valueInSat||"undefined"==typeofthis.valueOutSat)thrownewError("valueInSat / valueOutSat undefined");varr=this.valueInSat.sub(this.valueOutSat).sub(this.feeSat),u=t.outs.length;if(this.remainderSat=s(0),u>i&&t.outs.pop(),r.cmp(0)>0){varo=this.remainderOut||this.selectedUtxos[0],a=n.bigIntToValue(r),h=e._scriptForOut(o),p={v:a,s:h.getBuffer()};t.outs.push(p),this.remainderSat=r}returnthis},e.prototype._setFeeAndRemainder=function(t){vare,i=500,r=t.outs.length;do{e=parseInt(i/1e3)+1;varn="undefined"!=typeofthis.givenFeeSat?this.givenFeeSat:e*g,s=this.valueOutSat.add(n);this._selectUnspent(s)._setInputs(t)._setFee(n)._setRemainder(t,r),i=newf(t).getSize()}while(i>1e3*(e+1));returnthis},e.prototype.setOutputs=function(t){this.vanilla.outs=JSON.stringify(t);vari=s(0),r={};r.version=1,r.lock_time=this.lockTime||0,r.ins=[],r.outs=[];for(varu=t.length,o=0;u>o;o++){vara=t[o].amountSat||t[o].amountSatStr?s(t[o].amountSatStr):n.parseValue(t[o].amou
(function(e){"use strict";vart=require("../sjcl"),c=require("../common/ECIES");c.symmetricEncrypt=function(c,r,o){vari=t.codec.hex.toBits(c.toString("hex")),s=t.codec.hex.toBits(r.toString("hex")),n=t.codec.hex.toBits(o.toString("hex"));t.beware["CBC mode is dangerous because it doesn't protect message integrity."]();varh=newt.cipher.aes(i),d=t.mode.cbc.encrypt(h,n,s),a=newe(t.codec.hex.fromBits(d),"hex"),x=e.concat([r,a]);returnx},c.symmetricDecrypt=function(c,r){varo=t.codec.hex.toBits(c.toString("hex")),i=r.slice(0,16),s=r.slice(16,r.length);t.beware["CBC mode is dangerous because it doesn't protect message integrity."]();varn=t.codec.hex.toBits(s.toString("hex")),h=t.codec.hex.toBits(i.toString("hex")),d=newt.cipher.aes(o),a=t.mode.cbc.decrypt(d,n,h),x=newe(t.codec.hex.fromBits(a),"hex");returnx},module.exports=c}).call(this,require("buffer").Buffer);
(function(e){varr=require("../SecureRandom"),t=require("bignum"),i=require("elliptic"),n=require("./Point"),s=require("../common/Key"),o=(require("util"),function(){this._pub=null,this._compressed=!0});for(varuins)s.hasOwnProperty(u)&&(o[u]=s[u]);o.bufferToArray=function(e){for(varr=[],t=e.length,i=0;t>i;i++)r.push(e.readUInt8(i));returnr};Object.defineProperty(o.prototype,"public",{set:function(r){if(!e.isBuffer(r))thrownewError("Arg should be a buffer");vart=r[0];this._compressed=4!==t,this._pub=r},get:function(){returnthis._pub}}),Object.defineProperty(o.prototype,"compressed",{set:function(r){vars=this._compressed;if(this._compressed=!!r,s!=this._compressed){{this._pub}if(this._pub)if(this._compressed){varo=this._pub.slice(1,33),u=this._pub.slice(33,65),f=newt(o),c=newt(u),p=newn(f,c);this._pub=p.toCompressedPubKey()}else{vara=i.curves.secp256k1,o=this._pub.slice(1,33),h=3==this._pub[0]?!0:!1,p=a.curve.pointFromX(h,o),u=newe(p.y.toArray()),v=newt(o),y=newt(u),m=newn(v,y);this._pub=m.toUncompressedPubKey()}!this._compressed}},get:function(){returnthis._compressed}}),o.generateSync=function(){for(vare,n=i.curves.secp256k1;;)if(e=r.getRandomBuffer(32),t.fromBuffer(e,{size:32}).cmp(n.n)<0)break;vars=newo;returns.private=e,s.regenerateSync(),s},o.prototype.regenerateSync=function(){if(!this.private)thrownewError("Key does not have a private key set");vare=i.curves.secp256k1,r=(e.g,e.g.mul(this.private)),s=newt(r.x.toArray()),o=newt(r.y.toArray()),u=newn(s,o);returnthis._pub=this.compressed?u.toCompressedPubKey():u.toUncompressedPubKey(),this},o.prototype.signSync=function(r){i.curves.secp256k1;if(!this.private)thrownewError("Key does not have a private key set");if(!e.isBuffer(r)||32!==r.length)thrownewError("Arg should be a 32 bytes hash buffer");varn=newt(this.private),s=o.sign(r,n),u=o.rs2DER(s.r,s.s);returnu},o.prototype.verifySignature=function(e,r,t){try{vari=this.verifySignatureSync(e,r);t(null,i)}catch(n){t(n)}},o.prototype.verifySignatureSync=function(e,r){vart=newi.ec(i.curves.secp256k1),n=e.toString("hex"),s=this._pub.toString("hex"),r=r.toString("hex"),o=t.verify(n,r,s);returno},o.sign=function(e,r,i){vars=r,u=n.getN(),f=newt(e);dovari=i||o.genk(),c=n.getG(),p=n.multiply(c,i),a=p.x.mod(u),h=i.invm(u).mul(f.add(s.mul(a))).mod(u);while(a.cmp(newt(0))<=0||h.cmp(newt(0))<=0);return{r:a,s:h}},o.signCompressed=function(r,i,s){varu=o.sign(r,i,s),f=u.r,c=u.s,p=t.fromBuffer(r),a=n.getG(),h=n.multiply(a,i),v=o.calcPubKeyRecoveryParam(p,f,c,h),y=f.toBuffer({size:32}),m=c.toBuffer({size:32}),l=newe([v]),b=e.concat([l,y,m]);returnb},o.verifyCompressed=function(e,r){if(65!==r.length)thrownewError("Invalid length for sigbuf");vari=r[0];if(0>i||i>3)thrownewError("Invalid value for i");varn=r.slice(1,33),s=r.slice(33,65),u=t.fromBuffer(n),f=t.fromBuffer(s),c=o.rs2DER(u,f),p=t.fromBuffer(e),a=newo,h=o.recoverPubKey(p,u,f,i),v=h.toCompressedPubKey();returna.public=v,a.verifySignatureSync(e,c)},module.exports=o}).call(this,require("buffer").Buffer);
(function(e){"use strict";varr=(require("./Key"),require("bignum")),u=(require("assert"),require("elliptic")),i=require("../common/Point");i.add=function(e,r){vart=u.curves.secp256k1,n=t.curve.point(e.x,e.y),s=t.curve.point(r.x,r.y),c=n.add(s),f=newi(c.x,c.y);returnf},i.multiply=function(t,n){if(e.isBuffer(n)&&32!==n.length)thrownewError("if x is a buffer, it must be 32 bytes");vars=u.curves.secp256k1,c=s.curve.point(t.x,t.y);"string"==typeofn&&(n=newr(n));varf=c.mul(n),o=newi(f.x,f.y);returno},module.exports=i}).call(this,require("buffer").Buffer);
(function(o){varr=require("../common/SecureRandom");r.getRandomBuffer=function(r){if(!window.crypto&&!window.msCrypto)thrownewError("window.crypto not available");if(window.crypto&&window.crypto.getRandomValues)vare=window.crypto;else{if(!window.msCrypto||!window.msCrypto.getRandomValues)thrownewError("window.crypto.getRandomValues not available");vare=window.msCrypto}varn=newUint8Array(r);e.getRandomValues(n);varw=newo(n);returnw},module.exports=r}).call(this,require("buffer").Buffer);
(function(e){"use strict";varr=require("../../util"),t=require("../Point"),i=require("../SecureRandom"),n=require("../Key"),c=function(){};c.encryptObj=function(e,r,t,n){vars=newc;s.KB=e,s.message=r,t=s.getRandomSeed(t);varo=(s.R,s.S=s.getSfromPubkey()),u=c.kdf(o),a=s.kE=u.slice(0,32),p=s.kM=u.slice(32,64);n=n||i.getRandomBuffer(16);{varf=s.c=c.symmetricEncrypt(a,n,r);s.d=c.mac(p,f)}returns},c.encrypt=function(r,t,i,s){varo=c.encryptObj(r,t,i,s),u=newn;u.compressed=!1,u.public=o.R.toUncompressedPubKey(),u.compressed=!0;vara=u.public,p=e.concat([a,o.c,o.d]);returnp},c.decryptObj=function(e){varr=e.kB,i=e.R,n=e.c,s=e.d,o=t.multiply(i,r),u=o.x.toBuffer({size:32}),a=c.kdf(u),p=e.kE=a.slice(0,32),f=e.kM=a.slice(32,64),y=c.mac(f,n);if(s.toString("hex")!==y.toString("hex"))thrownewError("MAC check incorrect. Data is invalid.");varh=c.symmetricDecrypt(p,n);returnh},c.decrypt=function(e,r){if(r.length<97)thrownewError("invalid length of encrypted data");vari=newc;i.kB=e;vars=r.slice(0,33),o=newn;returno.public=s,o.compressed=!1,i.R=t.fromUncompressedPubKey(o.public),i.c=r.slice(33,r.length-64),i.d=r.slice(r.length-64,r.length),c.decryptObj(i)},c.kdf=function(e){vart=r.sha512(e);returnt},c.mac=function(e,t){vari=r.sha512hmac(e,t);returni},c.prototype.getRandomSeed=function(e){returne?(this.key=newn,this.key.private=e,this.key.regenerateSync()):this.key=n.generateSync(),this.r=this.key.private,this.key.compressed=!1,this.R=t.fromUncompressedPubKey(this.key.public),this.r},c.prototype.getSfromPubkey=function(){vare=newn;e.public=this.KB,e.compressed=!1;varr=t.fromUncompressedPubKey(e.public);returnthis.P=t.multiply(r,this.r),this.S=this.P.x.toBuffer({size:32}),this.S},c.prototype.getSfromPrivkey=function(){vare=this.R,r=this.kB,i=t.multiply(e,r),n=i.x.toBuffer({size:32});returnn},module.exports=c}).call(this,require("buffer").Buffer);
(function(r){vare=require("../Point"),n=require("../SecureRandom"),t=require("bignum"),o=require("elliptic"),f=function(){};f.parseDERsig=function(e){if(!r.isBuffer(e))thrownewError("DER formatted signature should be a buffer");varn=e[0];if(48!==n)thrownewError("Header byte should be 0x30");varo=e[1];if(o!==e.slice(2).length)thrownewError("Length byte should length of what follows");varf=e[2];if(2!==f)thrownewError("Integer byte for r should be 0x02");vari=e[3],u=e.slice(4,4+i),a=t.fromBuffer(u),c=0===e[4]?!0:!1;if(i!==u.length)thrownewError("Length of r incorrect");varh=e[4+i+0];if(2!==h)thrownewError("Integer byte for s should be 0x02");varl=e[4+i+1],g=e.slice(4+i+2,4+i+2+l),s=t.fromBuffer(g),w=0===e[4+i+2+2]?!0:!1;if(l!==g.length)thrownewError("Length of s incorrect");varv=4+i+2+l;if(o!==v-2)thrownewError("Length of signature incorrect");vard={header:n,length:o,rheader:f,rlength:i,rneg:c,rbuf:u,r:a,sheader:h,slength:l,sneg:w,sbuf:g,s:s};returnd},f.rs2DER=function(e,n){vart=e.toBuffer(),o=n.toBuffer(),f=128&t[0]?!0:!1,i=128&o[0]?!0:!1,u=f?r.concat([newr([0]),t]):t,a=i?r.concat([newr([0]),o]):o,c=2+u.length+2+a.length,h=u.length,l=a.length,g=2,s=2,w=48,v=r.concat([newr([w,c,g,h]),u,newr([s,l]),a]);returnv},f.recoverPubKey=function(r,n,f,i){varu=require("bn.js");if(i>3||0>i)thrownewError("Recovery param is more than two bits");r=newu(r.toBuffer({size:32})),n=newu(n.toBuffer({size:32})),f=newu(f.toBuffer({size:32}));vara=o.curves.secp256k1,c=1&i,h=i>>1,l=a.curve.n,g=a.curve.g,s=h?n.add(l):n,w=a.curve.pointFromX(c,s.toArray()),v=(w.mul(l),r.neg().mod(l)),d=n.invm(l),b=w.mul(f).add(g.mul(v)).mul(d);a.curve.validate(b);varm=newe;returnm.x=t(b.x.toString()),m.y=t(b.y.toString()),m},f.calcPubKeyRecoveryParam=function(r,e,n,t){for(varo=0;4>o;o++){vari=f.recoverPubKey(r,e,n,o);if(i.x.toString()==t.x.toString()&&i.y.toString()==t.y.toString())returno}thrownewError("Unable to find valid recovery factor")},f.genk=function(){varr=newt(n.getRandomBuffer(32));returnr},module.exports=f}).call(this,require("buffer").Buffer);
"GTE CyberTrust Global Root":"-----BEGIN CERTIFICATE-----\nMIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9H\nVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5j\nLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAw\nWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0\naW9uMScwJQYDVQQLEx5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMT\nGkdURSBDeWJlclRydXN0IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB\ngQCVD6C28FCc6HrHiM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwef\nU/ltWJTSr41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4\n04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR\n22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq\n81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0PlZPvy5TYnh+dXIVtx6quTx8i\ntc2VrbqnzPmrC3p/\n-----END CERTIFICATE-----\n",
"Thawte Server CA":"-----BEGIN CERTIFICATE-----\nMIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNV\nBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUg\nQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lv\nbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNl\ncnRzQHRoYXd0ZS5jb20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkG\nA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0w\nGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\nZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3\nDQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC\n6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCXL+eQbcAoQpnXTEPew/UhbVSf\nXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJ\nKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllD\nfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAb\ni8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=\n-----END CERTIFICATE-----\n",
"Thawte Premium Server CA":"-----BEGIN CERTIFICATE-----\nMIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNV\nBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUg\nQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lv\nbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlw\ncmVtaXVtLXNlcnZlckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1\nOVowgc4xCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNh\ncGUgVG93bjEdMBsGA1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRp\nZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl\ncnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzAN\nBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhI\nNTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQug2SBhRz1JPLlyoAnFxODLz6\nFVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/qgeN9EJN50CdHDcCAwEAAaMTMBEw\nDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJ\neGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu\n1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcU\nQg==\n-----END CERTIFICATE-----\n",
"Digital Signature Trust Co. Global CA 1":"-----BEGIN CERTIFICATE-----\nMIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIG\nA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAe\nFw05ODEyMTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQK\nExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0G\nCSqGSIb3DQEBAQUAA4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlR\nEmlvMVW5SXIACH7TpWJENySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR\n6Hh8AMthyUQncWlVSn5JTe2io74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEg\nMBEGCWCGSAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx\nJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0Eg\nRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIx\nMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4\nMB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAMBgNVHRMEBTADAQH/MBkGCSqGSIb2\nfQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GBACIS2Hod3IEGtgllsofIH160\nL+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEqkzaFI4iKPANo08kJD038\nbKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4RbyhkwS7hp86W0N6\nw4pl\n-----END CERTIFICATE-----\n",
"Digital Signature Trust Co. Global CA 3":"-----BEGIN CERTIFICATE-----\nMIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIG\nA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAe\nFw05ODEyMDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQK\nExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0G\nCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fB\nw18DW9Fvrn5C6mYjuGODVvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyM\nvMa1795JJ/9IKn3oTQPMx7JSxhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEg\nMBEGCWCGSAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx\nJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0Eg\nRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIw\nOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFB6CTShlgDzJQW6sNS5ay97u+Dlb\nMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAMBgNVHRMEBTADAQH/MBkGCSqGSIb2\nfQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GBAEeNg61i8tuwnkUiBbmi1gMO\nOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfiup/1902lMXucKS1M/mQ+\n7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1mPnHfxsb1gYgAlih\nw6ID\n-----END CERTIFICATE-----\n",
"Verisign Class 3 Public Primary Certification Authority":"-----BEGIN CERTIFICATE-----\nMIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMC\nVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQ\ncmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgw\nMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYD\nVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGf\nMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ\n2RHP7gJYHyX3KqhEBarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaO\nIG+YD/isI19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\nCSqGSIb3DQEBBQUAA4GBABByUqkFFBkyCEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNh\nkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWXbj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khV\ndWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/D/xwzoiQ\n-----END CERTIFICATE-----\n",
"Verisign Class 3 Public Primary Certification Authority - G2":"-----BEGIN CERTIFICATE-----\nMIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYT\nAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg\nUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5\nOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZW\nZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVow\ngcExCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh\nc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYD\nVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5\nMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GN\nADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXX\nwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg013gfqLptQ5GVj0VXXn7F+8qk\nBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFFN\nzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzo\nKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcm\neQD2+A2iMzAo1KpYoJ2daZH9\n-----END CERTIFICATE-----\n",
"GeoTrust Global CA":"-----BEGIN CERTIFICATE-----\nMIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYD\nVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIw\nNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2Vv\nVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEH\nCIjaWC9mOSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIu\nT8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386D\nGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+\nbw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvo\ncWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9\nqn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1luMrMTjANBgkqhkiG9w0BAQUF\nAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VS\nsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfO\nEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQd\ntqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeX\nxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==\n-----END CERTIFICATE-----\n",
"GeoTrust Global CA 2":"-----BEGIN CERTIFICATE-----\nMIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UE\nChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQw\nMzA0MDUwMDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2Vv\nVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3\nDQEBAQUAA4IBDwAwggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6Csgncbz\nYEbYwbLVjDHZ3CB5JIG/NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5S\nJBri1WeR0IIQ13hLTytCOb1kLUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHq\nZ38MN5aL5mkWRxHCJ1kDs6ZgwiFAVvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7\nS4wMcoKK+xfNAGw6EzywhIdLFnopsk/bHdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/\nXvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266\nZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNHK266ZUapEBVYIAUJMA4GA1UdDwEB/wQE\nAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7srJerJsOflN4WT5CBP51o62sgU7X\nAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6YvhZJFiCzkIjKx0nVnZellSlxG5\nFntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqLOzRldRtxIR0sFAqwlpW4\n1uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkCx1YAzUm5s2x7UwQa\n4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqFH4z1Ir+rzoPz\n4iIprn2DQKi6bA==\n-----END CERTIFICATE-----\n",
"Camerfirma Chambers of Commerce Root":"-----BEGIN CERTIFICATE-----\nMIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UE\nChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3\nLmNoYW1iZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAe\nFw0wMzA5MzAxNjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQK\nEx5BQyBDYW1lcmZpcm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cu\nY2hhbWJlcnNpZ24ub3JnMSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIB\nIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1\nc2VHfRtbunXF/KGIJPov7coISjlUxFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0d\nBmpAPrMMhe5cG3nCYsS4No41XQEMIwRHNaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IU\ntdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jWDA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUM\nI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFVd9oKDMyXroDclDZK9D7ONhMeU+SsTjoF\n7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1UdEwEB/wQIMAYBAf8CAQwwPAYDVR0f\nBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5vcmcvY2hhbWJlcnNyb290LmNy\nbDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0PAQH/BAQDAgEGMBEGCWCG\nSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hhbWJlcnNpZ24ub3Jn\nMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYDVR0gBFEwTzBN\nBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJzaWduLm9y\nZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAifJ/7\nkPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD\nL8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QU\nu/wNUPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34Oi\nrsrXdx/nADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuz\nPu5ifdmA6Ap1erfutGWaIZDgqtCYvDi1czyL+Nw=\n-----END CERTIFICATE-----\n",
"Camerfirma Global Chambersign Root":"-----BEGIN CERTIFICATE-----\nMIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UE\nChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3\nLmNoYW1iZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcN\nMDMwOTMwMTYxNDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe\nQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNo\nYW1iZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0G\nCSqGSIb3DQEBAQUAA4IBDQAwggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQK\nkotgVvq0Mi+ITaFgCPS3CU6gSS9J1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/s\nQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8Oby4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjq\nGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8Co\nX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oP\nX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/BAgwBgEB/wIBDDA/BgNVHR8EODA2\nMDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9jaGFtYmVyc2lnbnJvb3QuY3Js\nMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8BAf8EBAMCAQYwEQYJYIZI\nAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBjaGFtYmVyc2lnbi5v\ncmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9yZzBbBgNVHSAE\nVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hhbWJlcnNp\nZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEAPDtw\nkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y\ngOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76Svpyk\nBMdJPJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHR\nJw0lyDL4IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxK\noHflCStFREest2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==\n-----END CERTIFICATE-----\n",
"NetLock Notary (Class A) Root":"-----BEGIN CERTIFICATE-----\nMIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYD\nVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxv\nemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UE\nAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5\nMDIyNDIzMTQ0N1oXDTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdI\ndW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6\ndG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0\nTG9jayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSMD7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWB\nxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZz+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QV\nOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWo\nDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7tqyF/7AlT3Rj5xMHpQqPBffAZG9+\npyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR64sKtlz2O1cH5VqNQ6ca0+pii\n7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIGA1UdEwEB/wQIMAYBAf8C\nAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEg\nRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFz\naSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0\nZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJp\nenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0\nZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGph\ncmFzIGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxh\ncGphbiBhIGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRv\nIGF6IGVsbGVub3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRo\nZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3Qg\ndG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5l\ndC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUA\nA4IBAQBIJEb3ulZv+sgoA0BO5TE5ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXH\njFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjPytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jy\nf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJBCWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEV\nZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdrKuZoPL9coAob4Q566eKAw+np9v1sEZ7Q\n5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM8CgHrTwXZoi1/baI\n-----END CERTIFICATE-----\n",
"NetLock Business (Class B) Root":"-----BEGIN CERTIFICATE-----\nMIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNV\nBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4x\nGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAo\nQ2xhc3MgQikgVGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEw\nMjJaMIGZMQswCQYDVQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExv\nY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sx\nMjAwBgNVBAMTKU5ldExvY2sgVXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGf\nMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xK\ngZjupNTKihe5In+DCnVMm8Bp2GQ5o+2So/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kf\npPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4IC\nnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEB\nBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFu\neSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVu\nIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0ZWxlc2l0ZXMgZm9seWFt\nYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGku\nIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0\nIGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVn\ndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8v\nd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA\nbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQg\ndGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg\nQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUt\nbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFO\nzT4JwG06sPgzTEdM43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXa\nn3BukxowOR0w2y7jfLKRstE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgB\nazMpUIaD8QFI\n-----END CERTIFICATE-----\n",
"NetLock Express (Class C) Root":"-----BEGIN CERTIFICATE-----\nMIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNV\nBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4x\nGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6\nIChDbGFzcyBDKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0\nMDgxMVowgZsxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0\nTG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRv\nazE0MDIGA1UEAxMrTmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFk\nbzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNA\nOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3ZW3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH\n0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEA\nAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQwDgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG\n+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJNRklHWUVMRU0hIEV6ZW4gdGFudXNp\ndHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xnYWx0YXRhc2kgRmVsdGV0ZWxl\naWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIGhpdGVsZXNpdGVzIGZv\nbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1iaXp0b3NpdGFzYSB2\nZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0ZWxlIGF6IGVs\nb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBsZWlyYXNh\nIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBodHRw\nczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y\nemVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2Ug\nYW5kIHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRM\nb2NrIENQUyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBi\neSBlLW1haWwgYXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKA\nCtiG8XmYta3UzbM2xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2g\npO0u9f38vf5NNwgMvOOWgyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeA\nyNDYpQcCNJgEjTME1A==\n-----END CERTIFICATE-----\n",
"XRamp Global CA Root":"-----BEGIN CERTIFICATE-----\nMIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkG\nA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJh\nbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlm\naWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjEL\nMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMb\nWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2Vy\ndGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY\nJB69FbS638eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP\nKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5df\nT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3\nhsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSP\npuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJ\nKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O\nBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwu\neHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcN\nAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR\nvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxtqZ4Bfj8p\nzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8nnxCb\nHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz\n8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=\n-----END CERTIFICATE-----\n",
"Go Daddy Class 2 CA":"-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UE\nChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAy\nIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYy\nMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjEx\nMC8GA1UECxMoR28gRGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAw\nDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWiz\nV3GgXne77ZtJ6XCAPVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HF\niH7Eux6wwdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi\nEqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lN\nf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44\ndMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLEsNKR1EwRcbNhyz2h/t2oatTj\nMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2oatTjoWekZTBjMQswCQYDVQQGEwJV\nUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRk\neSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJ\nKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYX\nMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P\nTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQHmyW74cN\nxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VILs9R\naRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b\nvZ8=\n-----END CERTIFICATE-----\n",
"Starfield Class 2 CA":"-----BEGIN CERTIFICATE-----\nMIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UE\nChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENs\nYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5\nMTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2ll\ncywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRo\nb3JpdHkwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N\n78gDGIc/oav7PKaf8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMe\nj2YcOadN+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0\nX9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4Umkhyn\nArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W\n93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRb\nVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0fhvRbVazc1xDCDqmI56FspGowaDEL\nMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAw\nBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG\nA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1ep\noXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D\neruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJlxy16paq8\nU4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJDKVtH\nCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3\nQBFGmh95DmK/D5fs4C8fF5Q=\n-----END CERTIFICATE-----\n",
"Swisscom Root CA 1":"-----BEGIN CERTIFICATE-----\nMIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYD\nVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNh\ndGUgU2VydmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2\nMjBaFw0yNTA4MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTEl\nMCMGA1UECxMcRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Nj\nb20gUm9vdCBDQSAxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h\n+BvVM5OAFmUgdbI9m2BtRsiMMW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrW\nW/oLJdihFvkcxC7mlSpnzNApbjyFNDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/\nTilftKaNXXsLmREDA/7n29uj/x2lzZAeAR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdnt\nMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkCb6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJ\nvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJn\nB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbNcA78yeNmuk6NO4HLFWR7uZToXTNS\nhXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUpWyL3Ic6DXqTz3kvTaI9GdVyD\nCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5haa2Y0EQs3MevNP6yn0W\nR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNYMUJDLXT5xp6mig/p\n/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0hBBYw\nFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0jBBgwFoAU\nAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9MA0G\nCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn\njgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzn\neAXQMbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL\n0iT43R4HVtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZ\nNuR55LU/vJtlvrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLH\nUKKwf4ipmXeascClOS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HH\nb6D0jqTsNFFbjCYDcKF31QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBa\nZmBwXarNeNQk7shBoJMBkpxqnvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7G\nh0Xp/jKgGg0TpJRVcaUWi7rKibCyx/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5g\nmwBBZPCqKuy2QkPOiWaByIufOVQDJdMWNY6E0F/6MBr1mmz0DlP5OlvRHA==\n-----END CERTIFICATE-----\n",
"DigiCert Assured ID Root CA":"-----BEGIN CERTIFICATE-----\nMIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYD\nVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu\nY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAw\nMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQg\nSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1\ncmVkIElEIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOA\nXLGH87dg+XESpa7cJpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lT\nXDGEKvYPmDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+\nwRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/l\nbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcX\nxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQE\nAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF66Kv9JLLgjEtUYunpyGd823IDzAf\nBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog68\n3+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqo\nR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+\nfT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx\nH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe+o0bJW1s\nj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==\n-----END CERTIFICATE-----\n",
"DigiCert Global Root CA":"-----BEGIN CERTIFICATE-----\nMIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYD\nVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu\nY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBa\nFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMx\nGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBS\nb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKP\nC3eQyaKl7hLOllsBCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscF\ns3YnFo97nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\n43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6g\nSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSii\ncNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYD\nVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm8KPiGxvDl7I90VUwHwYDVR0jBBgw\nFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1E\nnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDi\nqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBA\nI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls\nYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQkCAUw7C29\nC79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n-----END CERTIFICATE-----\n",
"DigiCert High Assurance EV Root CA":"-----BEGIN CERTIFICATE-----\nMIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYD\nVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu\nY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2\nMTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERp\nZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNl\ncnQgSGlnaCBBc3N1cmFuY2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\nAQoCggEBAMbM5XPm+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlB\nWTrT3JTWPNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM\nxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeB\nQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5\nOYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsgEsxBu24LUTi4S8sCAwEAAaNj\nMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9H\nAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3\nDQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1\nntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VH\nMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2\nYzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCevEsXCS+0\nyx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K\n-----END CERTIFICATE-----\n",
"Certplus Class 2 Primary CA":"-----BEGIN CERTIFICATE-----\nMIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkG\nA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkg\nQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8G\nA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxv\nc0NXYKwzCkTsA18cgCSR5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLR\nYE2+L0ER4/YXJQyLkcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v\n0lPubNCdEgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas\nH7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC\n40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNV\nHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQw\nMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29tL0NSTC9jbGFzczIuY3JsMA0GCSqG\nSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5t\nn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabg\nlZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW\n2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB\nkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7l7+ijrRU\n-----END CERTIFICATE-----\n",
"DST Root CA X3":"-----BEGIN CERTIFICATE-----\nMIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYD\nVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENB\nIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRh\nbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdA\nwRgUi+DoM3ZJKuM/IUmTrE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwG\nMoOifooUMM0RoOEqOLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4X\nLh7dIN9bxiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw\n7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkq\ntilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw\nHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqGSIb3DQEBBQUAA4IBAQCjGiyb\nFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikugdB/OEIKcdBodfpga3csTS7MgROSR\n6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaL\nbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir\n/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06Xyx\nV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ\n-----END CERTIFICATE-----\n",
"DST ACES CA X6":"-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYD\nVQQGEwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERT\nVCBBQ0VTMRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzEx\nMjAyMTE5NThaMFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBU\ncnVzdDERMA8GA1UECxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5\nDgO0PWGSvSMmtWPuktKe1jzIDZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+io\nkYi5Q1K7gLFViYsx+tC3dr5BPTCapCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZH\nfAjIgrrep4c9oW24MFbCswKBXy314powGCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd7\n55jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPyMjwmR/onJALJfh1biEITajV8fTXpLmaRcpPV\nMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD\nAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3QuY29tMGIGA1UdIARbMFkwVwYKYIZI\nAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRydXN0ZHN0LmNvbS9jZXJ0aWZp\nY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQUCXIGThhDD+XWzMNqizF7\neI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V25FYrnJmQ6AgwbN99\nPe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6tFr8hlxCBPeP/\nh40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQqnExaBqXp\nIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXsvFcj\n4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3\noKfN5XozNmr6mis=\n-----END CERTIFICATE-----\n",
"Secure Global CA":"-----BEGIN CERTIFICATE-----\nMIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYD\nVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNl\nY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYD\nVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNl\nY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxV\naQZx5RNoJLNP2MwhR/jxYDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6Mpjh\nHZevj8fcyTiW89sa/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ\n/kG5VacJjnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI\nHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPi\nXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGC\nNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9E\nBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJl\ndHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IB\nAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQV\nDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895\nP4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY\niNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xcf8LDmBxr\nThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW\n-----END CERTIFICATE-----\n",
"Security Communication EV RootCA1":"-----BEGIN CERTIFICATE-----\nMIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UE\nChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29t\nbXVuaWNhdGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlow\nYDELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4x\nKjAoBgNVBAsTIVNlY3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1\nOXj/l3X3L+SqawSERMqm4miO/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1\nV4qe70gOzXppFodEtZDkBp2uoQSXWHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5\nbmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4zZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5\nkd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+z\nyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK9U2vP9eCOKyrcWUXdYydVZPmMA4GA1Ud\nDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCoh+ns+EBn\nXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xmiEHO6Pzk2x6Ipu0nUBsCMCRG\nef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGGAv8mjMSIkh1W/hln8lXk\ngKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnWmHyojf6GPgcWkuF7\n5x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEWT1MKZPlO9L9O\nVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490\n-----END CERTIFICATE-----\n",
"OISTE WISeKey Global Root GA CA":"-----BEGIN CERTIFICATE-----\nMIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkG\nA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAw\nNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUg\nV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5\nNTFaMIGKMQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJp\nZ2h0IChjKSAyMDA1MSIwIAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYD\nVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR\nVVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSL\ntZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dy\noJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg4E8HsChWjBgbl0SOid3gF27n\nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3RLoGbw9ho972WG6xwsRYUC9tguSYB\nBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+\nrja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEB\nAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VF\nvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8\nvPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXahNVQA7bi\nhKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEYokxS\ndsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=\n-----END CERTIFICATE-----\n",
"TC TrustCenter Class 2 CA II":"-----BEGIN CERTIFICATE-----\nMIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UE\nBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0\nQ2VudGVyIENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0Eg\nSUkwHhcNMDYwMTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoG\nA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xh\nc3MgMiBDQTElMCMGA1UEAxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/R\nKrLqk2jftMjWQ+nEdVl//OEd+DFwIxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKg\nuNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqki\nRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQXa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9\nH7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7uSNQZu+995OKdy1u2bv/jzVrndIIFuoAl\nOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD\nAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB7QYDVR0fBIHlMIHiMIHfoIHc\noIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90Y19jbGFzc18yX2NhX0lJ\nLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBUcnVzdENlbnRlciUy\nMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21iSCxPVT1yb290\nY2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9i\nYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4GdXpo\nUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ\nKNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1\nKdsjTYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbq\nNZn1l7kPJOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcX\njFq32nQozZfkvQ==\n-----END CERTIFICATE-----\n",
"TC TrustCenter Class 3 CA II":"-----BEGIN CERTIFICATE-----\nMIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UE\nBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0\nQ2VudGVyIENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0Eg\nSUkwHhcNMDYwMTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoG\nA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xh\nc3MgMyBDQTElMCMGA1UEAxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJ\nDRoeIMJWHt4bNwcwIi9v8Qbxq63WyKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+Q\nVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogk\nAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZuV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdz\ns5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5\nSpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD\nAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB7QYDVR0fBIHlMIHiMIHfoIHc\noIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90Y19jbGFzc18zX2NhX0lJ\nLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBUcnVzdENlbnRlciUy\nMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21iSCxPVT1yb290\nY2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9i\nYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzEO2ea\ntN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8\nyRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL\n2NV9IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+Gzj\nBgnyXlal092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v\n+5ZWgOI2F9Hc5A==\n-----END CERTIFICATE-----\n",
"TC TrustCenter Universal CA I":"-----BEGIN CERTIFICATE-----\nMIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UE\nBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0\nQ2VudGVyIFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2Fs\nIENBIEkwHhcNMDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEc\nMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIg\nVW5pdmVyc2FsIENBMSYwJAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B\n6DGtxnSRJJZ4Hgmgm5qVSkr1YnwCqMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3T\nfCZdzHd55yx4Oagmcw6iXSVphU9VDprvxrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPi\nUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtwag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+\nF1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9OgdwZu5GQfezmlwQek8wiSdeXhrYTCjxD\nI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0jBBgwFoAUkqR1LKSevoFE63n8isWV\npesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFJKkdSyk\nnr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG1eb4e/CX3CJrO5UUVg8R\nMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/CyvwbZ71q+s2IhtNer\nNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3ghUJGooWMNjs\nydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPTujdEWBF6\nAmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a7CIM\nHOCkoj3w6DnPgcB77V0fb8XQC9eY\n-----END CERTIFICATE-----\n",
"Deutsche Telekom Root CA 2":"-----BEGIN CERTIFICATE-----\nMIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UE\nChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRl\ncjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAw\nWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVs\nZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1\ndHNjaGUgVGVsZWtvbSBSb290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQCrC6M14IspFLEUha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1c\nOs7TuKhCQN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr\nrFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1\nUdrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFh\nmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0G\nA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB\n/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f7\n6Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSY\nSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juw\nzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+\nxbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mUCm26OWMo\nhpLzGITY+9HPBVZkVw==\n-----END CERTIFICATE-----\n",
"Cybertrust Global Root":"-----BEGIN CERTIFICATE-----\nMIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMP\nQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2\nMTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5j\nMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO2\n1O1fWLE3TdVJDm71aofW0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2O\nlTEQXO2iLb3VOm2yHLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeW\nP032a7iPt3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz\nFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQID\nAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2\nCHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJs\naWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8GA1UdIwQYMBaAFLYIew16zKwgTIZW\nMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ej\nhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24C\nJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+z\nv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc\nA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jWWL1WMRJO\nEcgh4LMRkWXbtKaIOM5V\n-----END CERTIFICATE-----\n",
"Buypass Class 2 CA 1":"-----BEGIN CERTIFICATE-----\nMIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UE\nCgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAx\nMB4XDTA2MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNV\nBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0Eg\nMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE4\n25KEHK8T1A9vNkYgxC7McXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2l\nFYxuyHyXA8vmIPLXl18xoS830r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTX\njAePzdVBHfCuuCkslFJgNJQ72uA40Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B\n5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/RuFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9E\ndrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E\nFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUA\nA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV1Xp+DCmsNx4cfHZSldq1fyOhKXdl\nyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt7h5HZPb3J31cKA9FxVxiXqaa\nkZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2fZleHwzoq0QkKXJAPTZS\nr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5wwDX3OaJdZtB7WZ+o\nRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho\n-----END CERTIFICATE-----\n",
"Buypass Class 3 CA 1":"-----BEGIN CERTIFICATE-----\nMIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UE\nCgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAx\nMB4XDTA1MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNV\nBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0Eg\nMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZE\nC4DVC69TB4sSveZn8AKxifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhj\nP5JW3SROjvi6K//zNIqeKNc0n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IX\nF4Rs4HyI+MkcVyzwPX6UvCWThOiaAJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2R\nhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3\nlRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E\nFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUA\nA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7pYmrEzMqnji3jG8CcmPHc3ceCQa6\nOyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bAEllNC1QCkoS72xLvg3BweMhT\n+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5htOzdlSY9EqBs1OdTUDs\n5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQjel/wroQk5PMr+4ok\noyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915\n-----END CERTIFICATE-----\n",
"EBG Elektronik Sertifika Hizmet SaÄlayıcısı":"-----BEGIN CERTIFICATE-----\nMIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VC\nRyBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQK\nDC5FQkcgQmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYD\nVQQGEwJUUjAeFw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9F\nQkcgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UE\nCgwuRUJHIEJpbGnFn2ltIFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkG\nA1UEBhMCVFIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4\nf6en5f2h4fuXd7hxlugTlkaDT7byX3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAk\ntiHq6yOU/im/+4mRDGSaBUorzAzu8T2bgmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggD\ng3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfreYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3M\nenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZTqNGFav4c0JqwmZ2sQomFd2TkuzbqV9U\nIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGyY5lhcucqZJnSuOl14nypqZoaqsNW\n2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1ZnuqMLfdb3ic1nobc6HmZP9qBV\nFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJIqkuNKgPlV5EQ9GooFW5H\nd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vmExH8nYQKE3vwO9D8\nowrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0Nokb+Clsi7n2\nl9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wWZ5b6\nSqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t\nFcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVG\noGgmzJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswno\nT4cCB64kXPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7\ns9QJ/XvCgKqTbCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKf\nAB5UVUJnxk1Gj7sURT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4Q\nDgZxGhBM/nV+/x5XOULK1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN\n4KIYEsxVL0e3p5sC/kH2iExt2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP\n14kOpmciY/SDQSsGS7tY1dHXt7kQY9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3\nx0miIZpKlVIglnKaZsv30oZDfCK+lvm9AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIU\npgqT\n-----END CERTIFICATE-----\n",
"VeriSign Class 3 Public Primary Certification Authority - G4":"-----BEGIN CERTIFICATE-----\nMIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UE\nBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\ndCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo\nb3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt\nYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgw\nMTE4MjM1OTU5WjCByjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8w\nHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJp\nU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln\nbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmD\niWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3vefLK+ymVhAIau2o970ImtTR1Z\nmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYI\nKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoas\njY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYw\nHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgm\nYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga\nFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==\n-----END CERTIFICATE-----\n",
"NetLock Arany (Class Gold) Főtanúsítvány":"-----BEGIN CERTIFICATE-----\nMIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTER\nMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFu\nw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwws\nTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjEx\nMTUwODIxWhcNMjgxMjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFw\nZXN0MRUwEwYDVQQKDAxOZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lh\nZMOzayAoQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkg\nKENsYXNzIEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\nMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFtt\nvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn\n7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5VA1lddkVQZQBr17s9o3x/61k\n/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7\nGRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiL\no0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpn\nk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ\n5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C\n+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzCbLBQWV2Q\nWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5KfnaNwUA\nSZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu\ndZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=\n-----END CERTIFICATE-----\n",
"Staat der Nederlanden Root CA - G2":"-----BEGIN CERTIFICATE-----\nMIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwG\nA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJs\nYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjEL\nMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwi\nU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQAD\nggIPADCCAgoCggIBAMVZ5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZ\nqhQlEq0i6ABtQ8SpuOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU2\n54DBtvPUZ5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE\npMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV\n3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9\nwhUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2U\nuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V6548r6f1CGPqI0GAwJaCgRHOThuVw+\nR7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/\nPlemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymY\nNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYD\nVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov\nL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNVHQ8BAf8E\nBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUAA4IC\nAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz\n+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUX\nvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sU\nOlWDuYaNkqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fM\ndWVSSt7wsKfkCpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2t\nUKRXCnxLvJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm\nbEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8s\nV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXq\nZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOL\nnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ==\n-----END CERTIFICATE-----\n",
"Hongkong Post Root CA 1":"-----BEGIN CERTIFICATE-----\nMIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNV\nBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4X\nDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT\nDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSS\nHSL22oVyaf7XPwnU3ZG1ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8g\nPW2iNr4joLFutbEnPzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7j\nEAaPIpjhZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9\nnnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208\no1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQE\nAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsCmEEIjEy82tvuJxuC52pF7BaL\nT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37piol7Yutmcn1KZJ/RyTZXaeQi/cImya\nT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgC\nIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES\n7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4Jx\nHYB0yvbiAmvZWg==\n-----END CERTIFICATE-----\n",
"Microsec e-Szigno Root CA 2009":"-----BEGIN CERTIFICATE-----\nMIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJI\nVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMM\nHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0Bl\nLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQG\nEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNV\nBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5m\nb0BlLXN6aWduby5odTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG\n2KfgQvvPkd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc\ncbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDH\nQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqp\nGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV\n87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQF\nMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAf\nBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3pp\nZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5Dw\npL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk\nddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775tyERzAMB\nVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02yULy\nMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi\nLXpUq3DDfSJlgnCW\n-----END CERTIFICATE-----\n",
"E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi":"-----BEGIN CERTIFICATE-----\nMIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYD\nVQQGEwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoG\nA1UEAxMzZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWlj\naXNpMB4XDTA3MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAm\nBgNVBAoTH0VsZWt0cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2\nZW4gS29rIEVsZWt0cm9uaWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDB\nS75+PNdUMZTe1RK6UxYC6lhj71vY8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlT\nL/jDj/6z/P2douNffb7tC+Bg62nsM+3YjfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy\n2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAIJjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+T\nzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+t\niEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w\nHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqGSIb3DQEBBQUAA4IBAQB/X7lT\nW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5dF4dvaAXBlGzZXd/aslnL\npRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwqD2fK/A+JYZ1lpTzl\nvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4Vwpm+Vganf2X\nKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtqfJ7lddK2\nl4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX\n-----END CERTIFICATE-----\n",
"GlobalSign Root CA - R3":"-----BEGIN CERTIFICATE-----\nMIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMX\nR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMT\nCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQL\nExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UE\nAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5Bngi\nFvXAg7aEyiie/QV2EcWtiHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0M\nK66X17YUhhB5uzsTgHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL\n0gRgykmmKPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd\nQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613\nt2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQD\nAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0G\nCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7lgAJQayzE4aGKAczymvmdLm6AC2u\npArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdW\nPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0\n095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJr\nlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH\nWD9f\n-----END CERTIFICATE-----\n",
"TC TrustCenter Universal CA III":"-----BEGIN CERTIFICATE-----\nMIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UE\nBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0\nQ2VudGVyIFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2Fs\nIENBIElJSTAeFw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRF\nMRwwGgYDVQQKExNUQyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRl\nciBVbml2ZXJzYWwgQ0ExKDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJ\nSUkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmz\nNEubkKLF5+cvAqBNLaT6hdqbJYUtQCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYv\nDIRlzg9uwliT6CwLOunBjvvya8o84pxOjuT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f\n/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+EutCHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkht\nWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1M4BDj5yjdipFtK+/fz6HP3bFzSreIMUW\nWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8GA1UdIwQYMBaAFFbn4VslQ4Dg9ozh\ncbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRW\n5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEAg8ev6n9NCjw5sWi+e22J\nLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+KGwWaODIl0YgoGhn\nYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhKBgePxLcHsU0G\nDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZVCIgJwcyR\nGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIqwoII\nlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg==\n-----END CERTIFICATE-----\n",
"Autoridad de Certificacion Firmaprofesional CIF A62634068":"-----BEGIN CERTIFICATE-----\nMIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMx\nQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwg\nQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNV\nBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zl\nc2lvbmFsIENJRiBBNjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDK\nlmuO6vj78aI14H9M2uDDUtd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOS\nL/UR5GLXMnE42QQMcas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9\nqFD0sefGL9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i\nNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2\nf3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44\nI8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCyZ/QYFpM6/EfY0XiWMR+6Kwxf\nXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy\n9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF\n8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mV\nBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8C\nAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD\nVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZpcm1hcHJv\nZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAAbABh\nACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx\nADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+\nxDLx51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5x\nhOW1//qkR71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5\neTSSPi5E6PaPT481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5Fl\nClrD2VQS3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k\nSeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2\ngHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYD\nNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhr\nJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIyS\nxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V\n-----END CERTIFICATE-----\n",
"Security Communication RootCA2":"-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UE\nChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29t\nbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTEL\nMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAl\nBgNVBAsTHlNlY3VyaXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz3\n35c9S672XewhtUGrzbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonC\nv/Q4EpVMVAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ\nhNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhw\nHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCca\ndfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQE\nAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBMOqNErLlFsceTfsgL\nCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8\nAynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g6\n9ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR\n50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/\nSjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03\n-----END CERTIFICATE-----\n",
"Hellenic Academic and Research Institutions RootCA 2011":"-----BEGIN CERTIFICATE-----\nMIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNV\nBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4g\nQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5z\ndGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1Mlow\ngZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFy\nY2ggSW5zdGl0dXRpb25zIENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNh\nZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz\ndYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0a\ne50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsm\nLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD75O6aRXxYp2fmTmCobd0LovU\nxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH3N6sQWRstBmbAmNtJGSPRLIl6s5d\ndAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNV\nHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUw\nBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3\nDQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p\n6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8TqBTnbI6\nnOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD/md9\nzU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N\n7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4\n-----END CERTIFICATE-----\n",
functionNode(e,t){varr={};this._baseState=r,r.enc=e,r.parent=t||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r["default"]=null,r.explicit=null,r.implicit=null,r.parent||(r.children=[],this._wrap())}varassert=require("assert"),Reporter=require("../base").Reporter,EncoderBuffer=require("../base").EncoderBuffer,tags=["seq","seqof","set","setof","octstr","bitstr","objid","bool","gentime","utctime","null_","enum","int"],methods=["key","obj","use","optional","explicit","implicit","def","choice","any"].concat(tags),overrided=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];module.exports=Node;varstateProps=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit"];Node.prototype.clone=function(){vare=this._baseState,t={};stateProps.forEach(function(r){t[r]=e[r]});varr=newthis.constructor(t.parent);returnr._baseState=t,r},Node.prototype._wrap=function(){vare=this._baseState;methods.forEach(function(t){this[t]=function(){varr=newthis.constructor(this);returne.children.push(r),r[t].apply(r,arguments)}},this)},Node.prototype._init=function(e){vart=this._baseState;assert(null===t.parent),e.call(this),t.children=t.children.filter(function(e){returne._baseState.parent===this},this),assert.equal(t.children.length,1,"Root node can have only one child")},Node.prototype._useArgs=function(e){vart=this._baseState,r=e.filter(function(e){returneinstanceofthis.constructor},this);e=e.filter(function(e){return!(einstanceofthis.constructor)},this),0!==r.length&&(assert(null===t.children),t.children=r,r.forEach(function(e){e._baseState.parent=this},this)),0!==e.length&&(assert(null===t.args),t.args=e,t.reverseArgs=e.map(function(e){if("object"!=typeofe||e.constructor!==Object)returne;vart={};returnObject.keys(e).forEach(function(r){r==(0|r)&&(r|=0);vari=e[r];t[i]=r}),t}))},overrided.forEach(function(e){Node.prototype[e]=function(){vart=this._baseState;thrownewError(e+" not implemented for encoding: "+t.enc)}}),tags.forEach(function(e){Node.prototype[e]=function(){vart=this._baseState,r=Array.prototype.slice.call(arguments);returnassert(null===t.tag),t.tag=e,this._useArgs(r),this}}),Node.prototype.use=function(e){vart=this._baseState;returnassert(null===t.use),t.use=e,this},Node.prototype.optional=function(){vare=this._baseState;returne.optional=!0,this},Node.prototype.def=function(e){vart=this._baseState;returnassert(null===t["default"]),t["default"]=e,t.optional=!0,this},Node.prototype.explicit=function(e){vart=this._baseState;returnassert(null===t.explicit&&null===t.implicit),t.explicit=e,this},Node.prototype.implicit=function(e){vart=this._baseState;returnassert(null===t.explicit&&null===t.implicit),t.implicit=e,this},Node.prototype.obj=function(){vare=this._baseState,t=Array.prototype.slice.call(arguments);returne.obj=!0,0!==t.length&&this._useArgs(t),this},Node.prototype.key=functione(e){vart=this._baseState;returnassert(null===t.key),t.key=e,this},Node.prototype.any=function(){vare=this._baseState;returne.any=!0,this},Node.prototype.choice=function(e){vart=this._baseState;returnassert(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map(function(t){returne[t]})),this},Node.prototype._decode=function(e){vart=this._baseState;if(null===t.parent)returne.wrapResult(t.children[0]._decode(e));varr,i=t["default"],o=!0;if(null!==t.key&&(r=e.enterKey(t.key)),t.optional&&(o=this._peekTag(e,null!==t.explicit?t.explicit:null!==t.implicit?t.implicit:t.tag||0),e.isError(o)))returno;varn;if(t.obj&&o&&(n=e.enterObject()),o){if(null!==t.explicit){vars=this._decodeTag(e,t.explicit);if(e.isError(s))returns;e=s}if(null===t.use&&null===t.choice){if(t.any)vara=e.save();varc=this._decodeTag(e,null!==t.implicit?t.implicit:t.tag,t.any)
functionDERDecoder(r){this.enc="der",this.name=r.name,this.entity=r,this.tree=newDERNode,this.tree._init(r.body)}functionDERNode(r){base.Node.call(this,"der",r)}functionderDecodeTag(r,e){vart=r.readUInt8(e);if(r.isError(t))returnt;vari=der.tagClass[t>>6],o=0===(32&t);if(31===(31&t)){varn=t;for(t=0;128===(128&n);){if(n=r.readUInt8(e),r.isError(n))returnn;t<<=7,t|=127&n}}elset&=31;vard=der.tag[t];return{cls:i,primitive:o,tag:t,tagStr:d}}functionderDecodeLen(r,e,t){vari=r.readUInt8(t);if(r.isError(i))returni;if(!e&&128===i)returnnull;if(0===(128&i))returni;varo=127&i;if(o>=4)returnr.error("length octect is too long");i=0;for(varn=0;o>n;n++){i<<=8;vard=r.readUInt8(t);if(r.isError(d))returnd;i|=d}returni}varutil=require("util"),asn1=require("../../asn1"),base=asn1.base,bignum=asn1.bignum,der=asn1.constants.der;module.exports=DERDecoder,DERDecoder.prototype.decode=function(r,e){returnrinstanceofbase.DecoderBuffer||(r=newbase.DecoderBuffer(r,e)),this.tree._decode(r,e)},util.inherits(DERNode,base.Node),DERNode.prototype._peekTag=function(r,e){if(r.isEmpty())return!1;vart=r.save(),i=derDecodeTag(r,'Failed to peek tag: "'+e+'"');returnr.isError(i)?i:(r.restore(t),i.tag===e||i.tagStr===e)},DERNode.prototype._decodeTag=function(r,e,t){vari=derDecodeTag(r,'Failed to decode tag of "'+e+'"');if(r.isError(i))returni;varo=derDecodeLen(r,i.primitive,'Failed to get length of "'+e+'"');if(r.isError(o))returno;if(!t&&i.tag!==e&&i.tagStr!==e&&i.tagStr+"of"!==e)returnr.error('Failed to match tag: "'+e+'"');if(i.primitive||null!==o)returnr.skip(o,'Failed to match body of: "'+e+'"');varn=r.start(),d=this._skipUntilEnd(r,'Failed to skip indefinite length body: "'+this.tag+'"');returnr.isError(d)?d:r.cut(n)},DERNode.prototype._skipUntilEnd=function(r,e){for(;;){vart=derDecodeTag(r,e);if(r.isError(t))returnt;vari=derDecodeLen(r,t.primitive,e);if(r.isError(i))returni;varo;if(o=t.primitive||null!==i?r.skip(i):this._skipUntilEnd(r,e),r.isError(o))returno;if("end"===t.tagStr)break}},DERNode.prototype._decodeList=function(r,e,t){for(vari=[];!r.isEmpty();){varo=this._peekTag(r,"end");if(r.isError(o))returno;varn=t.decode(r,"der");if(r.isError(n)&&o)break;i.push(n)}returni},DERNode.prototype._decodeStr=function(r,e){if("octstr"===e)returnr.raw();if("bitstr"===e){vart=r.readUInt8();returnr.isError(t)?t:{unused:t,data:r.raw()}}returnthis.error("Decoding of string type: "+e+" unsupported")},DERNode.prototype._decodeObjid=function(r,e,t){for(vari=[],o=0;!r.isEmpty();){varn=r.readUInt8();o<<=7,o|=127&n,0===(128&n)&&(i.push(o),o=0)}128&n&&i.push(o);vard=i[0]/40|0,a=i[0]%40;returnresult=t?i:[d,a].concat(i.slice(1)),e&&(result=e[result.join(" ")]),result},DERNode.prototype._decodeTime=function(r,e){vart=r.raw().toString();if("gentime"===e)vari=0|t.slice(0,4),o=0|t.slice(4,6),n=0|t.slice(6,8),d=0|t.slice(8,10),a=0|t.slice(10,12),s=0|t.slice(12,14);else{if("utctime"!==e)returnthis.error("Decoding "+e+" time is not supported yet");vari=0|t.slice(0,2),o=0|t.slice(2,4),n=0|t.slice(4,6),d=0|t.slice(6,8),a=0|t.slice(8,10),s=0|t.slice(10,12);i=70>i?2e3+i:1900+i}returnDate.UTC(i,o-1,n,d,a,s,0)},DERNode.prototype._decodeNull=function(){returnnull},DERNode.prototype._decodeBool=function(r){vare=r.readUInt8();returnr.isError(e)?e:0!==e},DERNode.prototype._decodeInt=function(r,e){vart=0,i=r.raw();if(i.length>3)returnnewbignum(i);for(;!r.isEmpty();){t<<=8;varo=r.readUInt8();if(r.isError(o))returno;t|=o}returne&&(t=e[t]||t),t},DERNode.prototype._use=function(r){returnr._getDecoder("der").tree};
functionDEREncoder(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=newDERNode,this.tree._init(e.body)}functionDERNode(e){base.Node.call(this,"der",e)}functiontwo(e){return10>=e?"0"+e:e}functionencodeTag(e,r,t,n){varo;if("seqof"===e?e="seq":"setof"===e&&(e="set"),der.tagByName.hasOwnProperty(e))o=der.tagByName[e];else{if("number"!=typeofe||(0|e)!==e)returnn.error("Unknown tag: "+e);o=e}returno>=31?n.error("Multi-octet tag encoding unsupported"):(r||(o|=32),o|=der.tagClassByName[t||"universal"]<<6)}varutil=require("util"),Buffer=require("buffer").Buffer,asn1=require("../../asn1"),base=asn1.base,bignum=asn1.bignum,der=asn1.constants.der;module.exports=DEREncoder,DEREncoder.prototype.encode=function(e,r){returnthis.tree._encode(e,r).join()},util.inherits(DERNode,base.Node),DERNode.prototype._encodeComposite=function(e,r,t,n){varo=encodeTag(e,r,t,this.reporter);if(n.length<128){vari=newBuffer(2);returni[0]=o,i[1]=n.length,this._createEncoderBuffer([i,n])}for(varu=1,f=n.length;f>=256;f>>=8)u++;vari=newBuffer(2+u);i[0]=o,i[1]=128|u;for(varf=1+u,s=n.length;s>0;f--,s>>=8)i[f]=255&s;returnthis._createEncoderBuffer([i,n])},DERNode.prototype._encodeStr=function(e,r){return"octstr"===r?this._createEncoderBuffer(e):"bitstr"===r?this._createEncoderBuffer([0|e.unused,e.data]):this.reporter.error("Encoding of string type: "+r+" unsupported")},DERNode.prototype._encodeObjid=function(e,r,t){if("string"==typeofe){if(!r)returnthis.reporter.error("string objid given, but no values map found");if(!r.hasOwnProperty(e))returnthis.reporter.error("objid not found in values map");e=r[e].split(/\s+/g);for(varn=0;n<e.length;n++)e[n]|=0}if(!Array.isArray(e))returnthis.reporter.error("objid() should be either array or string, got: "+JSON.stringify(e));if(!t){if(e[1]>=40)returnthis.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}for(varo=0,n=0;n<e.length;n++){vari=e[n];for(o++;i>=128;i>>=7)o++}for(varu=newBuffer(o),f=u.length-1,n=e.length-1;n>=0;n--){vari=e[n];for(u[f--]=127&i;(i>>=7)>0;)u[f--]=128|127&i}returnthis._createEncoderBuffer(u)},DERNode.prototype._encodeTime=function(e,r){vart,n=newDate(e);return"gentime"===r?t=[n.getFullYear(),two(n.getUTCMonth()+1),two(n.getUTCDate()),two(n.getUTCHours()),two(n.getUTCMinutes()),two(n.getUTCSeconds()),"Z"].join(""):"utctime"===r?t=[n.getFullYear()%100,two(n.getUTCMonth()+1),two(n.getUTCDate()),two(n.getUTCHours()),two(n.getUTCMinutes()),two(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+r+" time is not supported yet"),this._encodeStr(t,"octstr")},DERNode.prototype._encodeNull=function(){returnthis._createEncoderBuffer("")},DERNode.prototype._encodeInt=function(e,r){if("string"==typeofe){if(!r)returnthis.reporter.error("String int or enum given, but no values map");if(!r.hasOwnProperty(e))returnthis.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=r[e]}if(null!==bignum&&einstanceofbignum&&(e=newBuffer(e.toArray())),Buffer.isBuffer(e)){vart=e.length;0===e.length&&t++;varn=newBuffer(t);returne.copy(n),0===e.length&&(n[0]=0),this._createEncoderBuffer(n)}if(256>e)returnthis._createEncoderBuffer(e);for(vart=1,o=e;o>=256;o>>=8)t++;for(varn=newBuffer(t),o=n.length-1;o>=0;o--)n[o]=255&e,e>>=8;returnthis._createEncoderBuffer(n)},DERNode.prototype._encodeBool=function(e){returnthis._createEncoderBuffer(e?255:0)},DERNode.prototype._use=function(e){returne._getEncoder("der").tree};
(function(t){functionn(t){for(varn=0,e=0;e<t.length;e++)n+=Math.pow(256,e)*t[e];returnn}functione(t){for(varn=0,e=0;e<t.length;e++)n+=Math.pow(256,t.length-e-1)*t[e];returnn}functionr(t){varn=e(t);return128==(128&t[0])&&(n-=Math.pow(256,t.length)),n}functiono(t){vare=n(t);return128==(128&t[t.length-1])&&(e-=Math.pow(256,t.length)),e}functioni(t){vari={};return[1,2,4,8].forEach(function(u){vars=8*u;i["word"+s+"le"]=i["word"+s+"lu"]=t(u,n),i["word"+s+"ls"]=t(u,o),i["word"+s+"be"]=i["word"+s+"bu"]=t(u,e),i["word"+s+"bs"]=t(u,r)}),i.word8=i.word8u=i.word8be,i.word8s=i.word8bs,i}varu=require("chainsaw"),s=require("events").EventEmitter,f=require("buffers"),c=require("./lib/vars.js"),l=require("stream").Stream;exports=module.exports=function(n,e){if(t.isBuffer(n))returnexports.parse(n);varr=exports.stream();returnn&&n.pipe?n.pipe(r):n&&(n.on(e||"data",function(t){r.write(t)}),n.on("end",function(){r.end()})),r},exports.stream=function(n){functione(t,n,e){a={bytes:t,skip:e,cb:function(t){a=null,n(t)}},r()}functionr(){if(!a)returnvoid(b&&(w=!0));if("function"==typeofa)a();else{vart=p+a.bytes;if(g.length>=t){varn;null==p?(n=g.splice(0,t),a.skip||(n=n.slice())):(a.skip||(n=g.slice(p,t)),p=t),a.skip?a.cb():a.cb(n)}}}functiono(n){functiono(){w||n.next()}varu=i(function(t,n){returnfunction(r){e(t,function(t){v.set(r,n(t)),o()})}});returnu.tap=function(t){n.nest(t,v.store)},u.into=function(t,e){v.get(t)||v.set(t,{});varr=v;v=c(r.get(t)),n.nest(function(){e.apply(this,arguments),this.tap(function(){v=r})},v.store)},u.flush=function(){v.store={},o()},u.loop=function(t){vare=!1;n.nest(!1,functionr(){this.vars=v.store,t.call(this,function(){e=!0,o()},v.store),this.tap(function(){e?n.next():r.call(this)}.bind(this))},v.store)},u.buffer=function(t,n){"string"==typeofn&&(n=v.get(n)),e(n,function(n){v.set(t,n),o()})},u.skip=function(t){"string"==typeoft&&(t=v.get(t)),e(t,function(){o()})},u.scan=function(n,e){if("string"==typeofe)e=newt(e);elseif(!t.isBuffer(e))thrownewError("search must be a Buffer or a string");vari=0;a=function(){vart=g.indexOf(e,p+i),u=t-p-i;-1!==t?(a=null,null!=p?(v.set(n,g.slice(p,p+i+u)),p+=i+u+e.length):(v.set(n,g.slice(0,i+u)),g.splice(0,i+u+e.length)),o(),r()):u=Math.max(g.length-e.length-p-i,0),i+=u},r()},u.peek=function(t){p=0,n.nest(function(){t.call(this,v.store),this.tap(function(){p=null})})},u}if(n)returnexports.apply(null,arguments);vara=null,p=null,h=u.light(o);h.writable=!0;varg=f();h.write=function(t){g.push(t),r()};varv=c(),w=!1,b=!1;returnh.end=function(){b=!0},h.pipe=l.prototype.pipe,Object.getOwnPropertyNames(s.prototype).forEach(function(t){h[t]=s.prototype[t]}),h},exports.parse=function(n){vare=i(function(t,i){returnfunction(u){if(r+t<=n.length){vars=n.slice(r,r+t);r+=t,o.set(u,i(s))}elseo.set(u,null);returne}}),r=0,o=c();returne.vars=o.store,e.tap=function(t){returnt.call(e,o.store),e},e.into=function(t,n){o.get(t)||o.set(t,{});varr=o;returno=c(r.get(t)),n.call(e,o.store),o=r,e},e.loop=function(t){for(varn=!1,r=function(){n=!0};n===!1;)t.call(e,r,o.store);returne},e.buffer=function(t,i){"string"==typeofi&&(i=o.get(i));varu=n.slice(r,Math.min(n.length,r+i));returnr+=i,o.set(t,u),e},e.skip=function(t){return"string"==typeoft&&(t=o.get(t)),r+=t,e},e.scan=function(i,u){if("string"==typeofu)u=newt(u);elseif(!t.isBuffer(u))thrownewError("search must be a Buffer or a string");o.set(i,null);for(vars=0;s+r<=n.length-u.length+1;s++){for(varf=0;f<u.length&&n[r+s+f]===u[f];f++);if(f===u.length)break}returno.set(i,n.slice(r,r+s)),r+=s+u.length,e},e.peek=function(t){varn=r;returnt.call(e,o.store),r=n,e},e.flush=function(){returno.store={},e},e.eof=function(){returnr>=n.length},e}}).call(this,require("buffer").Buffer);
(function(n){functiont(n){vare=t.saw(n,{}),r=n.call(e.handlers,e);returnvoid0!==r&&(e.handlers=r),e.record(),e.chain()}functione(n){n.step=0,n.pop=function(){returnn.actions[n.step++]},n.trap=function(t,e){varr=Array.isArray(t)?t:[t];n.actions.push({path:r,step:n.step,cb:e,trap:!0})},n.down=function(t){vare=(Array.isArray(t)?t:[t]).join("/"),r=n.actions.slice(n.step).map(function(t){returnt.trap&&t.step<=n.step?!1:t.path.join("/")==e}).indexOf(!0);r>=0?n.step+=r:n.step=n.actions.length;vara=n.actions[n.step-1];a&&a.trap?(n.step=a.step,a.cb()):n.next()},n.jump=function(t){n.step=t,n.next()}}varr=require("traverse"),a=require("events").EventEmitter;module.exports=t,t.light=function(n){vare=t.saw(n,{}),r=n.call(e.handlers,e);returnvoid0!==r&&(e.handlers=r),e.chain()},t.saw=function(s,o){vari=newa;returni.handlers=o,i.actions=[],i.chain=function(){vart=r(i.handlers).map(function(n){if(this.isRoot)returnn;vare=this.path;"function"==typeofn&&this.update(function(){returni.actions.push({path:e,args:[].slice.call(arguments)}),t})});returnn.nextTick(function(){i.emit("begin"),i.next()}),t},i.pop=function(){returni.actions.shift()},i.next=function(){varn=i.pop();if(n){if(!n.trap){vart=i.handlers;n.path.forEach(function(n){t=t[n]}),t.apply(i.handlers,n.args)}}elsei.emit("end")},i.nest=function(n){vare=[].slice.call(arguments,1),r=!0;if("boolean"==typeofn){varr=n;n=e.shift()}vara=t.saw(s,{}),o=s.call(a.handlers,a);void0!==o&&(a.handlers=o),"undefined"!=typeofi.step&&a.record(),n.apply(a.chain(),e),r!==!1&&a.on("end",i.next)},i.record=function(){e(i)},["trap","down","jump"].forEach(function(n){i[n]=function(){thrownewError("To use the trap, down and jump features, please call record() first to start recording actions.")}}),i}}).call(this,require("/Users/ematiu/devel/bitcore/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"));
functionTraverse(e){returnthisinstanceofTraverse?void(this.value=e):newTraverse(e)}functionwalk(e,t,r){varn=[],o=[],a=!0;returnfunctioni(e){varc=r?copy(e):e,s={},f={node:c,node_:e,path:[].concat(n),parent:o.slice(-1)[0],key:n.slice(-1)[0],isRoot:0===n.length,level:n.length,circular:null,update:function(e){f.isRoot||(f.parent.node[f.key]=e),f.node=e},"delete":function(){deletef.parent.node[f.key]},remove:function(){Array.isArray(f.parent.node)?f.parent.node.splice(f.key,1):deletef.parent.node[f.key]},before:function(e){s.before=e},after:function(e){s.after=e},pre:function(e){s.pre=e},post:function(e){s.post=e},stop:function(){a=!1}};if(!a)returnf;if("object"==typeofc&&null!==c){f.isLeaf=0==Object.keys(c).length;for(varu=0;u<o.length;u++)if(o[u].node_===e){f.circular=o[u];break}}elsef.isLeaf=!0;f.notLeaf=!f.isLeaf,f.notRoot=!f.isRoot;varl=t.call(f,f.node);if(void0!==l&&f.update&&f.update(l),s.before&&s.before.call(f,f.node),"object"==typeoff.node&&null!==f.node&&!f.circular){o.push(f);varp=Object.keys(f.node);p.forEach(function(e,t){n.push(e),s.pre&&s.pre.call(f,f.node[e],e);varo=i(f.node[e]);r&&Object.hasOwnProperty.call(f.node,e)&&(f.node[e]=o.node),o.isLast=t==p.length-1,o.isFirst=0==t,s.post&&s.post.call(f,o),n.pop()}),o.pop()}returns.after&&s.after.call(f,f.node),f}(e).node}functioncopy(e){if("object"==typeofe&&null!==e){vart;returnt=Array.isArray(e)?[]:einstanceofDate?newDate(e):einstanceofBoolean?newBoolean(e):einstanceofNumber?newNumber(e):einstanceofString?newString(e):Object.create(Object.getPrototypeOf(e)),Object.keys(e).forEach(function(r){t[r]=e[r]}),t}returne}module.exports=Traverse,Traverse.prototype.get=function(e){for(vart=this.value,r=0;r<e.length;r++){varn=e[r];if(!Object.hasOwnProperty.call(t,n)){t=void0;break}t=t[n]}returnt},Traverse.prototype.set=function(e,t){for(varr=this.value,n=0;n<e.length-1;n++){varo=e[n];Object.hasOwnProperty.call(r,o)||(r[o]={}),r=r[o]}returnr[e[n]]=t,t},Traverse.prototype.map=function(e){returnwalk(this.value,e,!0)},Traverse.prototype.forEach=function(e){returnthis.value=walk(this.value,e,!1),this.value},Traverse.prototype.reduce=function(e,t){varr=1===arguments.length,n=r?this.value:t;returnthis.forEach(function(t){this.isRoot&&r||(n=e.call(this,n,t))}),n},Traverse.prototype.deepEqual=function(e){if(1!==arguments.length)thrownewError("deepEqual requires exactly one object to compare against");vart=!0,r=e;returnthis.forEach(function(n){varo=function(){returnvoid(t=!1)}.bind(this);if(!this.isRoot){if("object"!=typeofr)returno();r=r[this.key]}vara=r;this.post(function(){r=a});vari=function(e){returnObject.prototype.toString.call(e)};if(this.circular)Traverse(e).get(this.circular.path)!==a&&o();elseif(typeofa!=typeofn)o();elseif(null===a||null===n||void0===a||void0===n)a!==n&&o();elseif(a.__proto__!==n.__proto__)o();elseif(a===n);elseif("function"==typeofa)ainstanceofRegExp?a.toString()!=n.toString()&&o():a!==n&&o();elseif("object"==typeofa)if("[object Arguments]"===i(n)||"[object Arguments]"===i(a))i(a)!==i(n)&&o();elseif(ainstanceofDate||ninstanceofDate)ainstanceofDate&&ninstanceofDate&&a.getTime()===n.getTime()||o();else{varc=Object.keys(a),s=Object.keys(n);if(c.length!==s.length)returno();for(varf=0;f<c.length;f++){varu=c[f];Object.hasOwnProperty.call(n,u)||o()}}}),t},Traverse.prototype.paths=function(){vare=[];returnthis.forEach(function(){e.push(this.path)}),e},Traverse.prototype.nodes=function(){vare=[];returnthis.forEach(function(){e.push(this.node)}),e},Traverse.prototype.clone=function(){vare=[],t=[];returnfunctionr(n){for(varo=0;o<e.length;o++)if(e[o]===n)returnt[o];if("object"==typeofn&&null!==n){vara=copy(n);returne.push(n),t.push(a),Object.keys(n).forEach(function(e){a[e]=r(n[e])}),e.pop(),t.pop(),a}returnn}(this.value)},Object.keys(Traverse.prototype).forEach(function(e){Traverse[e]=function(t){varr=[].slice.call(arguments,1),n=Traverse(t);returnn[e].apply(n,r)}});
(function(e,r){functiono(e){"string"==typeofe?e={bindings:e}:e||(e={}),e.__proto__=a,e.module_root||(e.module_root=exports.getRoot(exports.getFileName())),".node"!=i.extname(e.bindings)&&(e.bindings+=".node");for(varr,o,n,s=[],d=0,u=e.try.length;u>d;d++){r=t.apply(null,e.try[d].map(function(r){returne[r]||r})),s.push(r);try{returno=e.path?require.resolve(r):require(r),e.path||(o.path=r),o}catch(l){if(!/not find/i.test(l.message))throwl}}thrown=newError("Could not locate the bindings file. Tried:\n"+s.map(function(r){returne.arrow+r}).join("\n")),n.tries=s,n}varn=require("fs"),i=require("path"),t=i.join,s=i.dirname,d=n.existsSync||i.existsSync,a={arrow:e.env.NODE_BINDINGS_ARROW||" → ",compiled:e.env.NODE_BINDINGS_COMPILED_DIR||"compiled",platform:e.platform,arch:e.arch,version:e.versions.node,bindings:"bindings.node","try":[["module_root","build","bindings"],["module_root","build","Debug","bindings"],["module_root","build","Release","bindings"],["module_root","out","Debug","bindings"],["module_root","Debug","bindings"],["module_root","out","Release","bindings"],["module_root","Release","bindings"],["module_root","build","default","bindings"],["module_root","compiled","version","platform","arch","bindings"]]};module.exports=exports=o,exports.getFileName=function(){vare,o=Error.prepareStackTrace,n=Error.stackTraceLimit,i={};returnError.stackTraceLimit=10,Error.prepareStackTrace=function(o,n){for(vari=0,t=n.length;t>i;i++)if(e=n[i].getFileName(),e!==r)return},Error.captureStackTrace(i),i.stack,Error.prepareStackTrace=o,Error.stackTraceLimit=n,e},exports.getRoot=function(r){for(varo,n=s(r);;){if("."===n&&(n=e.cwd()),d(t(n,"package.json"))||d(t(n,"node_modules")))returnn;if(o===n)thrownewError('Could not find module root given file: "'+r+'". Do you have a `package.json` file? ');o=n,n=t(n,"..")}}}).call(this,require("/Users/ematiu/devel/bitcore/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"),"/node_modules/bindings/bindings.js");
(function(t){"use strict";functionr(){this.writable=!0,this.buffer=null}vare=require("events"),n=require("util"),i={};module.exports.Buffer=t;varo=function(r){returnrinstanceoft||rinstanceofUint8Array},f=function(t){returnfunction(){varr=this;if(o(r));else{if(!o(arguments[0]))thrownewError("Argument should be a buffer object.");r=arguments[0],Array.prototype.shift.apply(arguments)}returnt.apply(r,arguments)}},u=function(t){returnfunction(){varr=this;if(o(r));else{if(!o(arguments[0]))throwError("Argument should be a buffer object.");r=arguments[0],Array.prototype.shift.apply(arguments)}vare=arguments[0];if("string"==typeofe||einstanceofString||o(e))returnt.apply(r,arguments);thrownewError("Second argument must be a string or a buffer.")}};i.clear=f(function(){for(vart=0;t<this.length;t++)this[t]=0;returnthis}),i.fill=f(function(t){for(varr="undefined"==typeoft.length?1:t.length,e=0;e<this.length;e+=r)for(varn=0;r>n;n++)this[e+n]="undefined"==typeoft.length?t:"string"==typeoft[n]?t[n].charCodeAt(0):t[n];returnthis}),i.indexOf=f(function(t,r){if(r=r||0,0===t.length)return-1;for(vare=r;e<this.length-t.length+1;e+=1){for(varn=!0,i=0;i<t.length;i++){varo=this[e+i],f=t[i];if("string"==typeoff&&(f=f.charCodeAt(0)),o!==f){n=!1;break}}if(n)returne}return-1}),i.equals=u(function(t){return0===i.compare(this,t)}),i.compare=u(function(t){varr=this,e=r.length,n=t.length;if(e!==n)returne>n?1:-1;for(vari=0;e>i;i++){varo=r[i],f=t[i];if("string"==typeoff&&(f=f.charCodeAt(0)),o!==f)returno>f?1:-1}return0}),i.concat=function(){for(varr=0,e=0;e<arguments.length;e++){if(void0===arguments[e].length)throwError("all arguments must be strings or Buffers");r+=arguments[e].length}for(varn=newt(r),i=0,e=0;e<arguments.length;e++)for(varo=0;o<arguments[e].length;o++)n[i++]="string"==typeofarguments[e][o]?arguments[e][o].charCodeAt(0):arguments[e][o];returnn},i.reverse=f(function(){for(varr=newt(this.length),e=0;e<this.length;e++)r[e]=this[this.length-e-1];returnr}),i.toHex=f(function(){for(vart="",r=0;r<this.length;r++){vare=this[r].toString(16);1==e.length&&(e="0"+e),e.length>2&&(e=e.substring(1,3)),t+=e}returnt}),i.fromHex=f(function(){varr=this.length;if(r%2!==0)thrownewError("Invalid hex string length");for(vare=newt(r/2),n=0;n<e.length;n++){vari=String.fromCharCode(this[2*n]),o=String.fromCharCode(this[2*n+1]);e[n]=parseInt(i+o,16)}returne}),exports.extend=function(){varr;r=arguments.length>0?Array.prototype.slice.call(arguments):"function"==typeofUint8Array?[t.prototype,Uint8Array.prototype]:[t.prototype];for(vare=0,n=r.length;n>e;e+=1){varo=r[e];for(varfini)o[f]=i[f];o!==exports&&(o.concat=function(){vart=[this].concat(Array.prototype.slice.call(arguments));returni.concat.apply(i,t)})}},exports.extend(exports),n.inherits(r,e.EventEmitter),r.prototype._append=function(r,e){if(!this.writable)thrownewError("Stream is not writable.");if(t.isBuffer(r));else{if("string"!=typeofr)thrownewError("Argument should be either a buffer or a string.");r=newt(r,e||"utf8")}this.buffer?this.buffer=i.concat(this.buffer,r):(this.buffer=newt(r.length),r.copy(this.buffer))},r.prototype.write=function(t,r){returnthis._append(t,r),!0},r.prototype.end=function(t,r){t&&this._append(t,r),this.emit("close"),this.writable=!1},r.prototype.getBuffer=function(){returnthis.buffer?this.buffer:newt(0)},r.prototype.toString=function(){returnthis.getBuffer().toString()},exports.WritableBufferStream=r}).call(this,require("buffer").Buffer);
functionBuffer(e,t,r){if(!(thisinstanceofBuffer))returnnewBuffer(e,t,r);varn=typeofe;if("base64"===t&&"string"===n)for(e=stringtrim(e);e.length%4!==0;)e+="=";vari;if("number"===n)i=coerce(e);elseif("string"===n)i=Buffer.byteLength(e,t);else{if("object"!==n)thrownewError("First argument needs to be a number, array or string.");i=coerce(e.length)}vars;Buffer._useTypedArrays?s=Buffer._augment(newUint8Array(i)):(s=this,s.length=i,s._isBuffer=!0);vara;if(Buffer._useTypedArrays&&"number"==typeofe.byteLength)s._set(e);elseif(isArrayish(e))for(a=0;i>a;a++)s[a]=Buffer.isBuffer(e)?e.readUInt8(a):e[a];elseif("string"===n)s.write(e,0,t);elseif("number"===n&&!Buffer._useTypedArrays&&!r)for(a=0;i>a;a++)s[a]=0;returns}function_hexWrite(e,t,r,n){r=Number(r)||0;vari=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;vars=t.length;assert(s%2===0,"Invalid hex string"),n>s/2&&(n=s/2);for(vara=0;n>a;a++){varo=parseInt(t.substr(2*a,2),16);assert(!isNaN(o),"Invalid hex string"),e[r+a]=o}returnBuffer._charsWritten=2*a,a}function_utf8Write(e,t,r,n){vari=Buffer._charsWritten=blitBuffer(utf8ToBytes(t),e,r,n);returni}function_asciiWrite(e,t,r,n){vari=Buffer._charsWritten=blitBuffer(asciiToBytes(t),e,r,n);returni}function_binaryWrite(e,t,r,n){return_asciiWrite(e,t,r,n)}function_base64Write(e,t,r,n){vari=Buffer._charsWritten=blitBuffer(base64ToBytes(t),e,r,n);returni}function_utf16leWrite(e,t,r,n){vari=Buffer._charsWritten=blitBuffer(utf16leToBytes(t),e,r,n);returni}function_base64Slice(e,t,r){returnbase64.fromByteArray(0===t&&r===e.length?e:e.slice(t,r))}function_utf8Slice(e,t,r){varn="",i="";r=Math.min(e.length,r);for(vars=t;r>s;s++)e[s]<=127?(n+=decodeUtf8Char(i)+String.fromCharCode(e[s]),i=""):i+="%"+e[s].toString(16);returnn+decodeUtf8Char(i)}function_asciiSlice(e,t,r){varn="";r=Math.min(e.length,r);for(vari=t;r>i;i++)n+=String.fromCharCode(e[i]);returnn}function_binarySlice(e,t,r){return_asciiSlice(e,t,r)}function_hexSlice(e,t,r){varn=e.length;(!t||0>t)&&(t=0),(!r||0>r||r>n)&&(r=n);for(vari="",s=t;r>s;s++)i+=toHex(e[s]);returni}function_utf16leSlice(e,t,r){for(varn=e.slice(t,r),i="",s=0;s<n.length;s+=2)i+=String.fromCharCode(n[s]+256*n[s+1]);returni}function_readUInt16(e,t,r,n){n||(assert("boolean"==typeofr,"missing or invalid endian"),assert(void0!==t&&null!==t,"missing offset"),assert(t+1<e.length,"Trying to read beyond buffer length"));vari=e.length;if(!(t>=i)){vars;returnr?(s=e[t],i>t+1&&(s|=e[t+1]<<8)):(s=e[t]<<8,i>t+1&&(s|=e[t+1])),s}}function_readUInt32(e,t,r,n){n||(assert("boolean"==typeofr,"missing or invalid endian"),assert(void0!==t&&null!==t,"missing offset"),assert(t+3<e.length,"Trying to read beyond buffer length"));vari=e.length;if(!(t>=i)){vars;returnr?(i>t+2&&(s=e[t+2]<<16),i>t+1&&(s|=e[t+1]<<8),s|=e[t],i>t+3&&(s+=e[t+3]<<24>>>0)):(i>t+1&&(s=e[t+1]<<16),i>t+2&&(s|=e[t+2]<<8),i>t+3&&(s|=e[t+3]),s+=e[t]<<24>>>0),s}}function_readInt16(e,t,r,n){n||(assert("boolean"==typeofr,"missing or invalid endian"),assert(void0!==t&&null!==t,"missing offset"),assert(t+1<e.length,"Trying to read beyond buffer length"));vari=e.length;if(!(t>=i)){vars=_readUInt16(e,t,r,!0),a=32768&s;returna?-1*(65535-s+1):s}}function_readInt32(e,t,r,n){n||(assert("boolean"==typeofr,"missing or invalid endian"),assert(void0!==t&&null!==t,"missing offset"),assert(t+3<e.length,"Trying to read beyond buffer length"));vari=e.length;if(!(t>=i)){vars=_readUInt32(e,t,r,!0),a=2147483648&s;returna?-1*(4294967295-s+1):s}}function_readFloat(e,t,r,n){returnn||(assert("boolean"==typeofr,"missing or invalid endian"),assert(t+3<e.length,"Trying to read beyond buffer length")),ieee754.read(e,t,r,23,4)}function_readDouble(e,t,r,n){returnn||(assert("boolean"==typeofr,"missing or invalid endian"),assert(t+7<e.length,"Trying to read beyond buffer length")),ieee754.read(e,t,r,52,8)}function_writeUInt16(e,t,r,n,i){i||(assert(void0!==t&&null!==t,"missing value"),assert("boolean"==typeofn,"missing or invalid endian"),assert(void0!==r&&null!==r,"missing offset"),assert(r+1<e.length,"tryingtowritebeyondb
varlookup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(t){"use strict";functionr(t){varr=t.charCodeAt(0);returnr===h?62:r===c?63:o>r?-1:o+10>r?r-o+26+26:i+26>r?r-i:A+26>r?r-A+26:void0}functione(t){functione(t){i[f++]=t}varn,h,c,o,A,i;if(t.length%4>0)thrownewError("Invalid string. Length must be a multiple of 4");varu=t.length;A="="===t.charAt(u-2)?2:"="===t.charAt(u-1)?1:0,i=newa(3*t.length/4-A),c=A>0?t.length-4:t.length;varf=0;for(n=0,h=0;c>n;n+=4,h+=3)o=r(t.charAt(n))<<18|r(t.charAt(n+1))<<12|r(t.charAt(n+2))<<6|r(t.charAt(n+3)),e((16711680&o)>>16),e((65280&o)>>8),e(255&o);return2===A?(o=r(t.charAt(n))<<2|r(t.charAt(n+1))>>4,e(255&o)):1===A&&(o=r(t.charAt(n))<<10|r(t.charAt(n+1))<<4|r(t.charAt(n+2))>>2,e(o>>8&255),e(255&o)),i}functionn(t){functionr(t){returnlookup.charAt(t)}functione(t){returnr(t>>18&63)+r(t>>12&63)+r(t>>6&63)+r(63&t)}varn,a,h,c=t.length%3,o="";for(n=0,h=t.length-c;h>n;n+=3)a=(t[n]<<16)+(t[n+1]<<8)+t[n+2],o+=e(a);switch(c){case1:a=t[t.length-1],o+=r(a>>2),o+=r(a<<4&63),o+="==";break;case2:a=(t[t.length-2]<<8)+t[t.length-1],o+=r(a>>10),o+=r(a>>4&63),o+=r(a<<2&63),o+="="}returno}vara="undefined"!=typeofUint8Array?Uint8Array:Array,h="+".charCodeAt(0),c="/".charCodeAt(0),o="0".charCodeAt(0),A="a".charCodeAt(0),i="A".charCodeAt(0);t.toByteArray=e,t.fromByteArray=n}("undefined"==typeofexports?this.base64js={}:exports);
functionEventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void0}functionisFunction(e){return"function"==typeofe}functionisNumber(e){return"number"==typeofe}functionisObject(e){return"object"==typeofe&&null!==e}functionisUndefined(e){returnvoid0===e}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void0,EventEmitter.prototype._maxListeners=void0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(e){if(!isNumber(e)||0>e||isNaN(e))throwTypeError("n must be a positive number");returnthis._maxListeners=e,this},EventEmitter.prototype.emit=function(e){vart,n,s,i,r,o;if(this._events||(this._events={}),"error"===e&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length))throwt=arguments[1],tinstanceofError?t:TypeError('Uncaught, unspecified "error" event.');if(n=this._events[e],isUndefined(n))return!1;if(isFunction(n))switch(arguments.length){case1:n.call(this);break;case2:n.call(this,arguments[1]);break;case3:n.call(this,arguments[1],arguments[2]);break;default:for(s=arguments.length,i=newArray(s-1),r=1;s>r;r++)i[r-1]=arguments[r];n.apply(this,i)}elseif(isObject(n)){for(s=arguments.length,i=newArray(s-1),r=1;s>r;r++)i[r-1]=arguments[r];for(o=n.slice(),s=o.length,r=0;s>r;r++)o[r].apply(this,i)}return!0},EventEmitter.prototype.addListener=function(e,t){varn;if(!isFunction(t))throwTypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,isFunction(t.listener)?t.listener:t),this._events[e]?isObject(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,isObject(this._events[e])&&!this._events[e].warned){varn;n=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,n&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeofconsole.trace&&console.trace())}returnthis},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(e,t){functionn(){this.removeListener(e,n),s||(s=!0,t.apply(this,arguments))}if(!isFunction(t))throwTypeError("listener must be a function");vars=!1;returnn.listener=t,this.on(e,n),this},EventEmitter.prototype.removeListener=function(e,t){varn,s,i,r;if(!isFunction(t))throwTypeError("listener must be a function");if(!this._events||!this._events[e])returnthis;if(n=this._events[e],i=n.length,s=-1,n===t||isFunction(n.listener)&&n.listener===t)deletethis._events[e],this._events.removeListener&&this.emit("removeListener",e,t);elseif(isObject(n)){for(r=i;r-->0;)if(n[r]===t||n[r].listener&&n[r].listener===t){s=r;break}if(0>s)returnthis;1===n.length?(n.length=0,deletethis._events[e]):n.splice(s,1),this._events.removeListener&&this.emit("removeListener",e,t)}returnthis},EventEmitter.prototype.removeAllListeners=function(e){vart,n;if(!this._events)returnthis;if(!this._events.removeListener)return0===arguments.length?this._events={}:this._events[e]&&deletethis._events[e],this;if(0===arguments.length){for(tinthis._events)"removeListener"!==t&&this.removeAllListeners(t);returnthis.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],isFunction(n))this.removeListener(e,n);elsefor(;n.length;)this.removeListener(e,n[n.length-1]);returndeletethis._events[e],this},EventEmitter.prototype.listeners=function(e){vart;returnt=this._events&&this._events[e]?isFunction(this._events[e])?[this._events[e]]:this._events[e].slice():[]},EventEmitter.listenerCount=function(e,t){varn;returnn=e._events&&e._events[t]?isFunction(e._events[t])?1:e._events[t].length:0};
functionnoop(){}varprocess=module.exports={};process.nextTick=function(){varo="undefined"!=typeofwindow&&window.setImmediate,e="undefined"!=typeofwindow&&window.postMessage&&window.addEventListener;if(o)returnfunction(o){returnwindow.setImmediate(o)};if(e){varn=[];returnwindow.addEventListener("message",function(o){vare=o.source;if((e===window||null===e)&&"process-tick"===o.data&&(o.stopPropagation(),n.length>0)){vars=n.shift();s()}},!0),function(o){n.push(o),window.postMessage("process-tick","*")}}returnfunction(o){setTimeout(o,0)}}(),process.title="browser",process.browser=!0,process.env={},process.argv=[],process.on=noop,process.once=noop,process.off=noop,process.emit=noop,process.binding=function(){thrownewError("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(){thrownewError("process.chdir is not supported")};
(function(r){functiont(r,t){for(vare=0,n=r.length-1;n>=0;n--){vars=r[n];"."===s?r.splice(n,1):".."===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");returnr}functione(r,t){if(r.filter)returnr.filter(t);for(vare=[],n=0;n<r.length;n++)t(r[n],n,r)&&e.push(r[n]);returne}varn=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,s=function(r){returnn.exec(r).slice(1)};exports.resolve=function(){for(varn="",s=!1,o=arguments.length-1;o>=-1&&!s;o--){vari=o>=0?arguments[o]:r.cwd();if("string"!=typeofi)thrownewTypeError("Arguments to path.resolve must be strings");i&&(n=i+"/"+n,s="/"===i.charAt(0))}returnn=t(e(n.split("/"),function(r){return!!r}),!s).join("/"),(s?"/":"")+n||"."},exports.normalize=function(r){varn=exports.isAbsolute(r),s="/"===o(r,-1);returnr=t(e(r.split("/"),function(r){return!!r}),!n).join("/"),r||n||(r="."),r&&s&&(r+="/"),(n?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){varr=Array.prototype.slice.call(arguments,0);returnexports.normalize(e(r,function(r){if("string"!=typeofr)thrownewTypeError("Arguments to path.join must be strings");returnr}).join("/"))},exports.relative=function(r,t){functione(r){for(vart=0;t<r.length&&""===r[t];t++);for(vare=r.length-1;e>=0&&""===r[e];e--);returnt>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(varn=e(r.split("/")),s=e(t.split("/")),o=Math.min(n.length,s.length),i=o,u=0;o>u;u++)if(n[u]!==s[u]){i=u;break}for(varl=[],u=i;u<n.length;u++)l.push("..");returnl=l.concat(s.slice(i)),l.join("/")},exports.sep="/",exports.delimiter=":",exports.dirname=function(r){vart=s(r),e=t[0],n=t[1];returne||n?(n&&(n=n.substr(0,n.length-1)),e+n):"."},exports.basename=function(r,t){vare=s(r)[2];returnt&&e.substr(-1*t.length)===t&&(e=e.substr(0,e.length-t.length)),e},exports.extname=function(r){returns(r)[3]};varo="b"==="ab".substr(-1)?function(r,t,e){returnr.substr(t,e)}:function(r,t,e){return0>t&&(t=r.length+t),r.substr(t,e)}}).call(this,require("/Users/ematiu/devel/bitcore/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"));
varprocess=module.exports={};process.nextTick=function(){vare="undefined"!=typeofwindow&&window.setImmediate,n="undefined"!=typeofwindow&&window.postMessage&&window.addEventListener;if(e)returnfunction(e){returnwindow.setImmediate(e)};if(n){varo=[];returnwindow.addEventListener("message",function(e){varn=e.source;if((n===window||null===n)&&"process-tick"===e.data&&(e.stopPropagation(),o.length>0)){varr=o.shift();r()}},!0),function(e){o.push(e),window.postMessage("process-tick","*")}}returnfunction(e){setTimeout(e,0)}}(),process.title="browser",process.browser=!0,process.env={},process.argv=[],process.binding=function(){thrownewError("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(){thrownewError("process.chdir is not supported")};
(function(e){functiont(e){e=e||{};vart=e.highWaterMark;this.highWaterMark=t||0===t?t:16384,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=!1,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.calledRead=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!e.objectMode,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(_||(_=require("string_decoder").StringDecoder),this.decoder=new_(e.encoding),this.encoding=e.encoding)}functionn(e){returnthisinstanceofn?(this._readableState=newt(e,this),this.readable=!0,voidS.call(this)):newn(e)}functionr(e,t,n,r,a){varo=d(t,n);if(o)e.emit("error",o);elseif(null===n||void0===n)t.reading=!1,t.ended||s(e,t);elseif(t.objectMode||n&&n.length>0)if(t.ended&&!a){varu=newError("stream.push() after EOF");e.emit("error",u)}elseif(t.endEmitted&&a){varu=newError("stream.unshift() after end event");e.emit("error",u)}else!t.decoder||a||r||(n=t.decoder.write(n)),t.length+=t.objectMode?1:n.length,a?t.buffer.unshift(n):(t.reading=!1,t.buffer.push(n)),t.needReadable&&l(e),h(e,t);elsea||(t.reading=!1);returni(t)}functioni(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}functiona(e){if(e>=L)e=L;else{e--;for(vart=1;32>t;t<<=1)e|=e>>t;e++}returne}functiono(e,t){return0===t.length&&t.ended?0:t.objectMode?0===e?0:1:isNaN(e)||null===e?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:0>=e?0:(e>t.highWaterMark&&(t.highWaterMark=a(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}functiond(e,t){varn=null;returnR.isBuffer(t)||"string"==typeoft||null===t||void0===t||e.objectMode||n||(n=newTypeError("Invalid non-string/buffer chunk")),n}functions(e,t){if(t.decoder&&!t.ended){varn=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.length>0?l(e):v(e)}functionl(e){vart=e._readableState;t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,t.sync?E(function(){u(e)}):u(e))}functionu(e){e.emit("readable")}functionh(e,t){t.readingMore||(t.readingMore=!0,E(function(){f(e,t)}))}functionf(e,t){for(varn=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}functionp(e){returnfunction(){vart=e._readableState;t.awaitDrain--,0===t.awaitDrain&&c(e)}}functionc(e){functiont(e){vart=e.write(n);!1===t&&r.awaitDrain++}varn,r=e._readableState;for(r.awaitDrain=0;r.pipesCount&&null!==(n=e.read());)if(1===r.pipesCount?t(r.pipes,0,null):w(r.pipes,t),e.emit("data",n),r.awaitDrain>0)return;return0===r.pipesCount?(r.flowing=!1,void(M.listenerCount(e,"data")>0&&b(e))):void(r.ranOut=!0)}functiong(){this._readableState.ranOut&&(this._readableState.ranOut=!1,c(this))}functionb(e,t){varn=e._readableState;if(n.flowing)thrownewError("Cannot switch to old mode now.");varr=t||!1,i=!1;e.readable=!0,e.pipe=S.prototype.pipe,e.on=e.addListener=S.prototype.on,e.on("readable",function(){i=!0;for(vart;!r&&null!==(t=e.read());)e.emit("data",t);null===t&&(i=!1,e._readableState.needReadable=!0)}),e.pause=function(){r=!0,this.emit("pause")},e.resume=function(){r=!1,i?E(function(){e.emit("readable")}):this.read(0),this.emit("resume")},e.emit("readable")}functionm(e,t){varn,r=t.buffer,i=t.length,a=!!t.decoder,o=!!t.objectMode;if(0===r.length)returnnull;if(0===i)n=null;elseif(o)n=r.shift();elseif(!e||e>=i)n=a?r.join(""):R.concat(r,i),r.length=0;elseif(e<r[0].length){vard=r[0];n=d.slice(0,e),r[0]=d.slice(e)}elseif(e===r[0].length)n=r.shift();else{n=a?"":newR(e);for(vars=0,l=0,u=r.length;u>l&&e>s;l++){vard=r[0],h=Math.min(e-s,d.length);a?n+=d.slice(0,h):d.copy(n,s,0,h),h<d.length?r[0]=d.slice(h):r.shift(),s+=h}}returnn}functionv(e){vart=e._readableState;if(t.length>0)thrownewError("endReadable called on non-empty stream");!t.endEmitted&&t.calledRead&&(t.ended=!0,E(function(){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.r
functionTransformState(r,t){this.afterTransform=function(r,n){returnafterTransform(t,r,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null}functionafterTransform(r,t,n){vare=r._transformState;e.transforming=!1;vara=e.writecb;if(!a)returnr.emit("error",newError("no writecb in Transform class"));e.writechunk=null,e.writecb=null,null!==n&&void0!==n&&r.push(n),a&&a(t);vari=r._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&r._read(i.highWaterMark)}functionTransform(r){if(!(thisinstanceofTransform))returnnewTransform(r);Duplex.call(this,r);vart=(this._transformState=newTransformState(r,this),this);this._readableState.needReadable=!0,this._readableState.sync=!1,this.once("finish",function(){"function"==typeofthis._flush?this._flush(function(r){done(t,r)}):done(t)})}functiondone(r,t){if(t)returnr.emit("error",t);varn=r._writableState,e=(r._readableState,r._transformState);if(n.length)thrownewError("calling transform done when ws.length != 0");if(e.transforming)thrownewError("calling transform done when still transforming");returnr.push(null)}module.exports=Transform;varDuplex=require("./duplex.js"),inherits=require("inherits");inherits(Transform,Duplex),Transform.prototype.push=function(r,t){returnthis._transformState.needTransform=!1,Duplex.prototype.push.call(this,r,t)},Transform.prototype._transform=function(){thrownewError("not implemented")},Transform.prototype._write=function(r,t,n){vare=this._transformState;if(e.writecb=n,e.writechunk=r,e.writeencoding=t,!e.transforming){vara=this._readableState;(e.needTransform||a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}},Transform.prototype._read=function(){varr=this._transformState;r.writechunk&&r.writecb&&!r.transforming?(r.transforming=!0,this._transform(r.writechunk,r.writeencoding,r.afterTransform)):r.needTransform=!0};
functionWriteReq(e,t,r){this.chunk=e,this.encoding=t,this.callback=r}functionWritableState(e,t){e=e||{};varr=e.highWaterMark;this.highWaterMark=r||0===r?r:16384,this.objectMode=!!e.objectMode,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;vari=e.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){onwrite(t,e)},this.writecb=null,this.writelen=0,this.buffer=[]}functionWritable(e){returnthisinstanceofWritable||thisinstanceofStream.Duplex?(this._writableState=newWritableState(e,this),this.writable=!0,voidStream.call(this)):newWritable(e)}functionwriteAfterEnd(e,t,r){vari=newError("write after end");e.emit("error",i),setImmediate(function(){r(i)})}functionvalidChunk(e,t,r,i){varn=!0;if(!Buffer.isBuffer(r)&&"string"!=typeofr&&null!==r&&void0!==r&&!t.objectMode){varf=newTypeError("Invalid non-string/buffer chunk");e.emit("error",f),setImmediate(function(){i(f)}),n=!1}returnn}functiondecodeChunk(e,t,r){returne.objectMode||e.decodeStrings===!1||"string"!=typeoft||(t=newBuffer(t,r)),t}functionwriteOrBuffer(e,t,r,i,n){r=decodeChunk(t,r,i);varf=t.objectMode?1:r.length;t.length+=f;varo=t.length<t.highWaterMark;returnt.needDrain=!o,t.writing?t.buffer.push(newWriteReq(r,i,n)):doWrite(e,t,f,r,i,n),o}functiondoWrite(e,t,r,i,n,f){t.writelen=r,t.writecb=f,t.writing=!0,t.sync=!0,e._write(i,n,t.onwrite),t.sync=!1}functiononwriteError(e,t,r,i,n){r?setImmediate(function(){n(i)}):n(i),e.emit("error",i)}functiononwriteStateUpdate(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}functiononwrite(e,t){varr=e._writableState,i=r.sync,n=r.writecb;if(onwriteStateUpdate(r),t)onwriteError(e,r,i,t,n);else{varf=needFinish(e,r);f||r.bufferProcessing||!r.buffer.length||clearBuffer(e,r),i?setImmediate(function(){afterWrite(e,r,f,n)}):afterWrite(e,r,f,n)}}functionafterWrite(e,t,r,i){r||onwriteDrain(e,t),i(),r&&finishMaybe(e,t)}functiononwriteDrain(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}functionclearBuffer(e,t){t.bufferProcessing=!0;for(varr=0;r<t.buffer.length;r++){vari=t.buffer[r],n=i.chunk,f=i.encoding,o=i.callback,a=t.objectMode?1:n.length;if(doWrite(e,t,a,n,f,o),t.writing){r++;break}}t.bufferProcessing=!1,r<t.buffer.length?t.buffer=t.buffer.slice(r):t.buffer.length=0}functionneedFinish(e,t){returnt.ending&&0===t.length&&!t.finished&&!t.writing}functionfinishMaybe(e,t){varr=needFinish(e,t);returnr&&(t.finished=!0,e.emit("finish")),r}functionendWritable(e,t,r){t.ending=!0,finishMaybe(e,t),r&&(t.finished?setImmediate(r):e.once("finish",r)),t.ended=!0}module.exports=Writable,Writable.WritableState=WritableState;varisUint8Array="undefined"!=typeofUint8Array?function(e){returneinstanceofUint8Array}:function(e){returne&&e.constructor&&"Uint8Array"===e.constructor.name},isArrayBuffer="undefined"!=typeofArrayBuffer?function(e){returneinstanceofArrayBuffer}:function(e){returne&&e.constructor&&"ArrayBuffer"===e.constructor.name},inherits=require("inherits"),Stream=require("./index.js"),setImmediate=require("process/browser.js").nextTick,Buffer=require("buffer").Buffer;inherits(Writable,Stream),Writable.prototype.pipe=function(){this.emit("error",newError("Cannot pipe. Not readable."))},Writable.prototype.write=function(e,t,r){vari=this._writableState,n=!1;return"function"==typeoft&&(r=t,t=null),!Buffer.isBuffer(e)&&isUint8Array(e)&&(e=newBuffer(e)),isArrayBuffer(e)&&"undefined"!=typeofUint8Array&&(e=newBuffer(newUint8Array(e))),Buffer.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),"function"!=typeofr&&(r=function(){}),i.ended?writeAfterEnd(this,i,r):validChunk(this,i,e,r)&&(n=writeOrBuffer(this,i,e,t,r)),n},Writable.prototype._write=function(e,t,r){r(newError("not implemented"))},Writable.prototype.end=function(e,t,r){vari=this._writableState;"function"==typeofe?(r=e,e=null,t=null):"function"==typeoft&&(r=t,t=null),"undefined"!=typeofe&&null!==e&&this.write(e,t),i.endin
!function(){"use strict";functiont(t,h,a){if(t&&"object"==typeoft&&t.href)returnt;if("string"!=typeoft)thrownewTypeError("Parameter 'url' must be a string, not "+typeoft);varn={},p=t;p=p.trim();vari=r.exec(p);if(i){i=i[0];varq=i.toLowerCase();n.protocol=q,p=p.substr(i.length)}if(a||i||p.match(/^\/\/[^@\/]+@[^@\/]+/)){varj="//"===p.substr(0,2);!j||i&&g[i]||(p=p.substr(2),n.slashes=!0)}if(!g[i]&&(j||i&&!y[i])){varx=p.indexOf("@");if(-1!==x){for(varA=p.slice(0,x),O=!0,z=0,C=m.length;C>z;z++)if(-1!==A.indexOf(m[z])){O=!1;break}O&&(n.auth=decodeURIComponent(A),p=p.substr(x+1))}for(varZ=-1,z=0,C=f.length;C>z;z++){vark=p.indexOf(f[z]);-1!==k&&(0>Z||Z>k)&&(Z=k)}-1!==Z?(n.host=p.substr(0,Z),p=p.substr(Z)):(n.host=p,p="");for(varw=s(n.host),I=Object.keys(w),z=0,C=I.length;C>z;z++){varR=I[z];n[R]=w[R]}n.hostname=n.hostname||"";varU="["===n.hostname[0]&&"]"===n.hostname[n.hostname.length-1];if(n.hostname.length>l)n.hostname="";elseif(!U)for(var$=n.hostname.split(/\./),z=0,C=$.length;C>z;z++){var_=$[z];if(_&&!_.match(u)){for(varL="",E=0,P=_.length;P>E;E++)L+=_.charCodeAt(E)>127?"x":_[E];if(!L.match(u)){varT=$.slice(0,z),B=$.slice(z+1),D=_.match(v);D&&(T.push(D[1]),B.unshift(D[2])),B.length&&(p="/"+B.join(".")+p),n.hostname=T.join(".");break}}}if(n.hostname=n.hostname.toLowerCase(),!U){for(varF=n.hostname.split("."),G=[],z=0;z<F.length;++z){varH=F[z];G.push(H.match(/[^A-Za-z0-9_-]/)?"xn--"+o.encode(H):H)}n.hostname=G.join(".")}n.host=(n.hostname||"")+(n.port?":"+n.port:""),n.href+=n.host,U&&(n.hostname=n.hostname.substr(1,n.hostname.length-2),"/"!==p[0]&&(p="/"+p))}if(!d[q])for(varz=0,C=c.length;C>z;z++){varJ=c[z],K=encodeURIComponent(J);K===J&&(K=escape(J)),p=p.split(J).join(K)}varM=p.indexOf("#");-1!==M&&(n.hash=p.substr(M),p=p.slice(0,M));varN=p.indexOf("?");return-1!==N?(n.search=p.substr(N),n.query=p.substr(N+1),h&&(n.query=b.parse(n.query)),p=p.slice(0,N)):h&&(n.search="",n.query={}),p&&(n.pathname=p),y[i]&&n.hostname&&!n.pathname&&(n.pathname="/"),(n.pathname||n.search)&&(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=e(n),n}functione(e){"string"==typeofe&&(e=t(e));varh=e.auth||"";h&&(h=encodeURIComponent(h),h=h.replace(/%3A/i,":"),h+="@");vara=e.protocol||"",s=e.pathname||"",o=e.hash||"",r=!1,n="";void0!==e.host?r=h+e.host:void0!==e.hostname&&(r=h+(-1===e.hostname.indexOf(":")?e.hostname:"["+e.hostname+"]"),e.port&&(r+=":"+e.port)),e.query&&"object"==typeofe.query&&Object.keys(e.query).length&&(n=b.stringify(e.query));varp=e.search||n&&"?"+n||"";returna&&":"!==a.substr(-1)&&(a+=":"),e.slashes||(!a||y[a])&&r!==!1?(r="//"+(r||""),s&&"/"!==s.charAt(0)&&(s="/"+s)):r||(r=""),o&&"#"!==o.charAt(0)&&(o="#"+o),p&&"?"!==p.charAt(0)&&(p="?"+p),a+r+s+p+o}functionh(t,h){returne(a(t,h))}functiona(h,a){if(!h)returna;if(h=t(e(h),!1,!0),a=t(e(a),!1,!0),h.hash=a.hash,""===a.href)returnh.href=e(h),h;if(a.slashes&&!a.protocol)returna.protocol=h.protocol,y[a.protocol]&&a.hostname&&!a.pathname&&(a.path=a.pathname="/"),a.href=e(a),a;if(a.protocol&&a.protocol!==h.protocol){if(!y[a.protocol])returna.href=e(a),a;if(h.protocol=a.protocol,!a.host&&!g[a.protocol]){for(vars=(a.pathname||"").split("/");s.length&&!(a.host=s.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==s[0]&&s.unshift(""),s.length<2&&s.unshift(""),a.pathname=s.join("/")}returnh.pathname=a.pathname,h.search=a.search,h.query=a.query,h.host=a.host||"",h.auth=a.auth,h.hostname=a.hostname||a.host,h.port=a.port,(void0!==h.pathname||void0!==h.search)&&(h.path=(h.pathname?h.pathname:"")+(h.search?h.search:"")),h.slashes=h.slashes||a.slashes,h.href=e(h),h}varo=h.pathname&&"/"===h.pathname.charAt(0),r=void0!==a.host||a.pathname&&"/"===a.pathname.charAt(0),n=r||o||h.host&&a.pathname,p=n,i=h.pathname&&h.pathname.split("/")||[],s=a.pathname&&a.pathname.split("/")||[],c=h.protocol&&!y[h.protocol];if(c&&(deleteh.hostname,deleteh.port,h.host&&(""===i[0]?i[0]=h.host:i.unshift(h.host)),deleteh.host,a.protocol&&(deletea.hostname,deletea.port,a.host&&(""===s[0]?s[0]=a.host:s.unshift(a.host)),deletea.host),n=n&&(""===s[
functionContext(){}varindexOf=require("indexof"),Object_keys=function(e){if(Object.keys)returnObject.keys(e);vart=[];for(varrine)t.push(r);returnt},forEach=function(e,t){if(e.forEach)returne.forEach(t);for(varr=0;r<e.length;r++)t(e[r],r,e)},defineProp=function(){try{returnObject.defineProperty({},"_",{}),function(e,t,r){Object.defineProperty(e,t,{writable:!0,enumerable:!1,configurable:!0,value:r})}}catch(e){returnfunction(e,t,r){e[t]=r}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];Context.prototype={};varScript=exports.Script=function(e){returnthisinstanceofScript?void(this.code=e):newScript(e)};Script.prototype.runInContext=function(e){if(!(einstanceofContext))thrownewTypeError("needs a 'context' argument.");vart=document.createElement("iframe");t.style||(t.style={}),t.style.display="none",document.body.appendChild(t);varr=t.contentWindow,n=r.eval,o=r.execScript;!n&&o&&(o.call(r,"null"),n=r.eval),forEach(Object_keys(e),function(t){r[t]=e[t]}),forEach(globals,function(t){e[t]&&(r[t]=e[t])});varc=Object_keys(r),i=n.call(r,this.code);returnforEach(Object_keys(r),function(t){(tine||-1===indexOf(c,t))&&(e[t]=r[t])}),forEach(globals,function(t){tine||defineProp(e,t,r[t])}),document.body.removeChild(t),i},Script.prototype.runInThisContext=function(){returneval(this.code)},Script.prototype.runInNewContext=function(e){vart=Script.createContext(e),r=this.runInContext(t);returnforEach(Object_keys(t),function(r){e[r]=t[r]}),r},forEach(Object_keys(Script.prototype),function(e){exports[e]=Script[e]=function(t){varr=Script(t);returnr[e].apply(r,[].slice.call(arguments,1))}}),exports.createScript=function(e){returnexports.Script(e)},exports.createContext=Script.createContext=function(e){vart=newContext;return"object"==typeofe&&forEach(Object_keys(e),function(r){t[r]=e[r]}),t};
(function(t){functione(t){returnthisinstanceofe?(this.buffers=t||[],void(this.length=this.buffers.reduce(function(t,e){returnt+e.length},0))):newe(t)}module.exports=e,e.prototype.push=function(){for(vare=0;e<arguments.length;e++)if(!t.isBuffer(arguments[e]))thrownewTypeError("Tried to push a non-buffer");for(vare=0;e<arguments.length;e++){varr=arguments[e];this.buffers.push(r),this.length+=r.length}returnthis.length},e.prototype.unshift=function(){for(vare=0;e<arguments.length;e++)if(!t.isBuffer(arguments[e]))thrownewTypeError("Tried to unshift a non-buffer");for(vare=0;e<arguments.length;e++){varr=arguments[e];this.buffers.unshift(r),this.length+=r.length}returnthis.length},e.prototype.copy=function(t,e,r,n){returnthis.slice(r,n).copy(t,e,0,n-r)},e.prototype.splice=function(r,n){vars=this.buffers,i=r>=0?r:this.length-r,h=[].slice.call(arguments,2);void0===n?n=this.length-i:n>this.length-i&&(n=this.length-i);for(varr=0;r<h.length;r++)this.length+=h[r].length;for(varf=newe,o=0,l=0;l<s.length&&o+s[l].length<i;l++)o+=s[l].length;if(i-o>0){varu=i-o;if(u+n<s[l].length){f.push(s[l].slice(u,u+n));for(varg=s[l],p=newt(u),r=0;u>r;r++)p[r]=g[r];for(vara=newt(g.length-u-n),r=u+n;r<g.length;r++)a[r-n-u]=g[r];if(h.length>0){varc=h.slice();c.unshift(p),c.push(a),s.splice.apply(s,[l,1].concat(c)),l+=c.length,h=[]}elses.splice(l,1,p,a),l+=2}elsef.push(s[l].slice(u)),s[l]=s[l].slice(0,u),l++}for(h.length>0&&(s.splice.apply(s,[l,0].concat(h)),l+=h.length);f.length<n;){varv=s[l],b=v.length,y=Math.min(b,n-f.length);y===b?(f.push(v),s.splice(l,1)):(f.push(v.slice(0,y)),s[l]=s[l].slice(y))}returnthis.length-=f.length,f},e.prototype.slice=function(e,r){varn=this.buffers;void0===r&&(r=this.length),void0===e&&(e=0),r>this.length&&(r=this.length);for(vars=0,i=0;i<n.length&&s+n[i].length<=e;i++)s+=n[i].length;for(varh=newt(r-e),f=0,o=i;r-e>f&&o<n.length;o++){varl=n[o].length,u=0===f?e-s:0,g=f+l>=r-e?Math.min(u+(r-e)-f,l):l;n[o].copy(h,f,u,g),f+=g-u}returnh},e.prototype.pos=function(t){if(0>t||t>=this.length)thrownewError("oob");for(vare=t,r=0,n=null;;){if(n=this.buffers[r],e<n.length)return{buf:r,offset:e};e-=n.length,r++}},e.prototype.get=function(t){vare=this.pos(t);returnthis.buffers[e.buf].get(e.offset)},e.prototype.set=function(t,e){varr=this.pos(t);returnthis.buffers[r.buf].set(r.offset,e)},e.prototype.indexOf=function(e,r){if("string"==typeofe)e=newt(e);elseif(!(einstanceoft))thrownewError("Invalid type for a search string");if(!e.length)return0;if(!this.length)return-1;varn,s=0,i=0,h=0,f=0;if(r){varo=this.pos(r);s=o.buf,i=o.offset,f=r}for(;;){for(;i>=this.buffers[s].length;)if(i=0,s++,s>=this.buffers.length)return-1;varl=this.buffers[s][i];if(l==e[h]){if(0==h&&(n={i:s,j:i,pos:f}),h++,h==e.length)returnn.pos}else0!=h&&(s=n.i,i=n.j,f=n.pos,h=0);i++,f++}},e.prototype.toBuffer=function(){returnthis.slice()},e.prototype.toString=function(t,e,r){returnthis.slice(e,r).toString(t)}}).call(this,require("buffer").Buffer);
functionEdwardsCurve(t){this.twisted=1!=t.a,this.mOneA=this.twisted&&-1==t.a,this.extended=this.mOneA,Base.call(this,"mont",t),this.a=newbn(t.a,16).mod(this.red.m).toRed(this.red),this.c=newbn(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=newbn(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==t.c}functionPoint(t,e,r,i,d){Base.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=newbn(e,16),this.y=newbn(r,16),this.z=i?newbn(i,16):this.curve.one,this.t=d&&newbn(d,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}varassert=require("assert"),curve=require("../curve"),elliptic=require("../../elliptic"),bn=require("bn.js"),inherits=require("inherits"),Base=curve.base,getNAF=elliptic.utils.getNAF;inherits(EdwardsCurve,Base),module.exports=EdwardsCurve,EdwardsCurve.prototype._mulA=function(t){returnthis.mOneA?t.redNeg():this.a.redMul(t)},EdwardsCurve.prototype._mulC=function(t){returnthis.oneC?t:this.c.redMul(t)},EdwardsCurve.prototype.point=function(t,e,r,i){returnnewPoint(this,t,e,r,i)},EdwardsCurve.prototype.jpoint=function(t,e,r,i){returnthis.point(t,e,r,i)},EdwardsCurve.prototype.pointFromJSON=function(t){returnPoint.fromJSON(this,t)},EdwardsCurve.prototype.pointFromX=function(t,e){e=newbn(e,16),e.red||(e=e.toRed(this.red));varr=e.redSqr(),i=this.c2.redSub(this.a.redMul(r)),d=this.one.redSub(this.c2.redMul(this.d).redMul(r)),s=i.redMul(d.redInvm()).redSqrt(),u=s.fromRed().isOdd();return(t&&!u||!t&&u)&&(s=s.redNeg()),this.point(e,s,curve.one)},EdwardsCurve.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();vare=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),d=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return0===i.cmp(d)},inherits(Point,Base.BasePoint),Point.fromJSON=function(t,e){returnnewPoint(t,e[0],e[1],e[2])},Point.prototype.inspect=function(){returnthis.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return0===this.x.cmpn(0)&&0===this.y.cmp(this.z)},Point.prototype._extDbl=function(){vart=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);vari=this.curve._mulA(t),d=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),s=i.redAdd(e),u=s.redSub(r),n=i.redSub(e),h=d.redMul(u),o=s.redMul(n),l=d.redMul(n),c=u.redMul(s);returnthis.curve.point(h,o,c,l)},Point.prototype._projDbl=function(){vart=this.x.redAdd(this.y).redSqr(),e=this.x.redSqr(),r=this.y.redSqr();if(this.curve.twisted){vari=this.curve._mulA(e),d=i.redAdd(r);if(this.zOne)vars=t.redSub(e).redSub(r).redMul(d.redSub(this.curve.two)),u=d.redMul(i.redSub(r)),n=d.redSqr().redSub(d).redSub(d);elsevarh=this.z.redSqr(),o=d.redSub(h).redISub(h),s=t.redSub(e).redISub(r).redMul(o),u=d.redMul(i.redSub(r)),n=d.redMul(o)}elsevari=e.redAdd(r),h=this.curve._mulC(redMul(this.z)).redSqr(),o=i.redSub(h).redSub(h),s=this.curve._mulC(t.redISub(i)).redMul(o),u=this.curve._mulC(i).redMul(e.redISub(r)),n=i.redMul(o);returnthis.curve.point(s,u,n)},Point.prototype.dbl=function(){returnthis.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Point.prototype._extAdd=function(t){vare=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),d=this.z.redMul(t.z.redAdd(t.z)),s=r.redSub(e),u=d.redSub(i),n=d.redAdd(i),h=r.redAdd(e),o=s.redMul(u),l=n.redMul(h),c=s.redMul(h),p=u.redMul(n);returnthis.curve.point(o,l,p,c)},Point.prototype._projAdd=f
functionMontCurve(t){Base.call(this,"mont",t),this.a=newbn(t.a,16).toRed(this.red),this.b=newbn(t.b,16).toRed(this.red),this.i4=newbn(4).toRed(this.red).redInvm(),this.two=newbn(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}functionPoint(t,e,r){Base.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=newbn(e,16),this.z=newbn(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}varassert=require("assert"),curve=require("../curve"),elliptic=require("../../elliptic"),bn=require("bn.js"),inherits=require("inherits"),Base=curve.base,getNAF=elliptic.utils.getNAF;inherits(MontCurve,Base),module.exports=MontCurve,MontCurve.prototype.point=function(t,e){returnnewPoint(this,t,e)},MontCurve.prototype.pointFromJSON=function(t){returnPoint.fromJSON(this,t)},MontCurve.prototype.validate=function(t){vare=t.normalize().x,r=e.redSqr(),i=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e),n=i.redSqrt();return0===n.redSqr().cmp(i)},inherits(Point,Base.BasePoint),Point.prototype.precompute=function(){},Point.fromJSON=function(t,e){returnnewPoint(t,e[0],e[1]||t.one)},Point.prototype.inspect=function(){returnthis.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return0===this.z.cmpn(0)},Point.prototype.dbl=function(){vart=this.x.redAdd(this.z),e=t.redSqr(),r=this.x.redSub(this.z),i=r.redSqr(),n=e.redSub(i),o=e.redMul(i),d=n.redMul(i.redAdd(this.curve.a24.redMul(n)));returnthis.curve.point(o,d)},Point.prototype.add=function(){thrownewError("Not supported on Montgomery curve")},Point.prototype.diffAdd=function(t,e){varr=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=t.x.redAdd(t.z),o=t.x.redSub(t.z),d=o.redMul(r),s=n.redMul(i),u=e.z.redMul(d.redAdd(s).redSqr()),h=e.x.redMul(d.redISub(s).redSqr());returnthis.curve.point(u,h)},Point.prototype.mul=function(t){for(vare=t.clone(),r=this,i=this.curve.point(null,null),n=this,o=[];0!==e.cmpn(0);e.ishrn(1))o.push(e.andln(1));for(vard=o.length-1;d>=0;d--)0===o[d]?(r=r.diffAdd(i,n),i=i.dbl()):(i=r.diffAdd(i,n),r=r.dbl());returni},Point.prototype.mulAdd=function(){thrownewError("Not supported on Montgomery curve")},Point.prototype.normalize=function(){returnthis.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Point.prototype.getX=function(){returnthis.normalize(),this.x.fromRed()};
functionKeyPair(t,i,e){returniinstanceofKeyPair?i:einstanceofKeyPair?e:(i||(i=e,e=null),null!==i&&"object"==typeofi&&(i.x?(e=i,i=null):(i.priv||i.pub)&&(e=i.pub,i=i.priv)),this.ec=t,this.priv=null,this.pub=null,void(this._importPublicHex(i,e)||("hex"===e&&(e=null),i&&this._importPrivate(i),e&&this._importPublic(e))))}varassert=require("assert"),bn=require("bn.js"),elliptic=require("../../elliptic"),utils=elliptic.utils;module.exports=KeyPair,KeyPair.prototype.validate=function(){vart=this.getPublic();returnt.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},KeyPair.prototype.getPublic=function(t,i){if(this.pub||(this.pub=this.ec.g.mul(this.priv)),"string"==typeoft&&(i=t,t=null),!i)returnthis.pub;for(vare=this.ec.curve.p.byteLength(),r=this.pub.getX().toArray(),n=r.length;e>n;n++)r.unshift(0);if(t)varu=[this.pub.getY().isEven()?2:3].concat(r);else{for(vars=this.pub.getY().toArray(),n=s.length;e>n;n++)s.unshift(0);varu=[4].concat(r,s)}returnutils.encode(u,i)},KeyPair.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},KeyPair.prototype._importPrivate=function(t){this.priv=newbn(t,16),this.priv=this.priv.mod(this.ec.curve.n)},KeyPair.prototype._importPublic=function(t){this.pub=this.ec.curve.point(t.x,t.y)},KeyPair.prototype._importPublicHex=function(t,i){t=utils.toArray(t,i);vare=this.ec.curve.p.byteLength();if(4===t[0]&&t.length-1===2*e)this.pub=this.ec.curve.point(t.slice(1,1+e),t.slice(1+e,1+2*e));else{if(2!==t[0]&&3!==t[0]||t.length-1!==e)return!1;this.pub=this.ec.curve.pointFromX(3===t[0],t.slice(1,1+e))}return!0},KeyPair.prototype.derive=function(t){returnt.mul(this.priv).getX()},KeyPair.prototype.sign=function(t){returnthis.ec.sign(t,this)},KeyPair.prototype.verify=function(t,i){returnthis.ec.verify(t,i,this)},KeyPair.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};
functionSignature(t,r){returntinstanceofSignature?t:void(this._importDER(t,r)||(assert(t&&r,"Signature without r or s"),this.r=newbn(t,16),this.s=newbn(r,16)))}varassert=require("assert"),bn=require("bn.js"),elliptic=require("../../elliptic"),utils=elliptic.utils;module.exports=Signature,Signature.prototype._importDER=function(t,r){if(t=utils.toArray(t,r),t.length<6||48!==t[0]||2!==t[2])return!1;vare=t[1];if(1+e>t.length)return!1;varn=t[3];if(n>=128)return!1;if(4+n+2>=t.length)return!1;if(2!==t[4+n])return!1;vari=t[5+n];returni>=128?!1:4+n+2+i>t.length?!1:(this.r=newbn(t.slice(4,4+n)),this.s=newbn(t.slice(4+n+2,4+n+2+i)),!0)},Signature.prototype.toDER=function(t){varr=this.r.toArray(),e=this.s.toArray();128&r[0]&&(r=[0].concat(r)),128&e[0]&&(e=[0].concat(e));varn=r.length+e.length+4,i=[48,n,2,r.length];returni=i.concat(r,[2,e.length],e),utils.encode(i,t)};
functionHmacDRBG(t){if(!(thisinstanceofHmacDRBG))returnnewHmacDRBG(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this.reseed=null,this.reseedInterval=null,this.K=null,this.V=null;vare=utils.toArray(t.entropy,t.entropyEnc),i=utils.toArray(t.nonce,t.nonceEnc),s=utils.toArray(t.pers,t.persEnc);assert(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,i,s)}varassert=require("assert"),hash=require("hash.js"),elliptic=require("../elliptic"),utils=elliptic.utils;module.exports=HmacDRBG,HmacDRBG.prototype._init=function(t,e,i){vars=t.concat(e).concat(i);this.K=newArray(this.outLen/8),this.V=newArray(this.outLen/8);for(varh=0;h<this.V.length;h++)this.K[h]=0,this.V[h]=1;this._update(s),this.reseed=1,this.reseedInterval=281474976710656},HmacDRBG.prototype._hmac=function(){returnnewhash.hmac(this.hash,this.K)},HmacDRBG.prototype._update=function(t){vare=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},HmacDRBG.prototype.reseed=function(t,e,i,s){"string"!=typeofe&&(s=i,i=e,e=null),t=utils.toBuffer(t,e),i=utils.toBuffer(i,s),assert(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(i||[])),this.reseed=1},HmacDRBG.prototype.generate=function(t,e,i,s){if(this.reseed>this.reseedInterval)thrownewError("Reseed is required");"string"!=typeofe&&(s=i,i=e,e=null),i&&(i=utils.toArray(i,s),this._update(i));for(varh=[];h.length<t;)this.V=this._hmac().update(this.V).digest(),h=h.concat(this.V);varr=h.slice(0,t);returnthis._update(i),this.reseed++,utils.encode(r,e)};
}function_rsasign_signWithMessageHash(t,e){varr=KJUR.crypto.Util.getPaddedDigestInfoHex(t,e,this.n.bitLength()),i=parseBigInt(r,16),n=this.doPrivate(i),s=n.toString(16);return_zeroPaddingOfSignature(s,this.n.bitLength())}function_rsasign_signStringWithSHA1(t){return_rsasign_signString.call(this,t,"sha1")}function_rsasign_signStringWithSHA256(t){return_rsasign_signString.call(this,t,"sha256")}functionpss_mgf1_str(t,e,r){for(vari="",n=0;i.length<e;)i+=hextorstr(r(rstrtohex(t+String.fromCharCode.apply(String,[(4278190080&n)>>24,(16711680&n)>>16,(65280&n)>>8,255&n])))),n+=1;returni}function_rsasign_signStringPSS(t,e,r){vari=function(t){returnKJUR.crypto.Util.hashHex(t,e)},n=i(rstrtohex(t));returnvoid0===r&&(r=-1),this.signWithMessageHashPSS(n,e,r)}function_rsasign_signWithMessageHashPSS(t,e,r){vari,n=hextorstr(t),s=n.length,o=this.n.bitLength()-1,a=Math.ceil(o/8),h=function(t){returnKJUR.crypto.Util.hashHex(t,e)};if(-1===r||void0===r)r=s;elseif(-2===r)r=a-s-2;elseif(-2>r)throw"invalid salt length";if(s+r+2>a)throw"data too long";varu="";r>0&&(u=newArray(r),(newSecureRandom).nextBytes(u),u=String.fromCharCode.apply(String,u));varc=hextorstr(h(rstrtohex("\x00\x00\x00\x00\x00\x00\x00\x00"+n+u))),g=[];for(i=0;a-r-s-2>i;i+=1)g[i]=0;varf=String.fromCharCode.apply(String,g)+""+u,p=pss_mgf1_str(c,f.length,h),l=[];for(i=0;i<f.length;i+=1)l[i]=f.charCodeAt(i)^p.charCodeAt(i);vard=65280>>8*a-o&255;for(l[0]&=~d,i=0;s>i;i++)l.push(c.charCodeAt(i));returnl.push(188),_zeroPaddingOfSignature(this.doPrivate(newBigInteger(l)).toString(16),this.n.bitLength())}function_rsasign_getDecryptSignatureBI(t,e,r){vari=newRSAKey;i.setPublic(e,r);varn=i.doPublic(t);returnn}function_rsasign_getHexDigestInfoFromSig(t,e,r){vari=_rsasign_getDecryptSignatureBI(t,e,r),n=i.toString(16).replace(/^1f+00/,"");returnn}function_rsasign_getAlgNameAndHashFromHexDisgestInfo(t){for(vareinKJUR.crypto.Util.DIGESTINFOHEAD){varr=KJUR.crypto.Util.DIGESTINFOHEAD[e],i=r.length;if(t.substring(0,i)==r){varn=[e,t.substring(i)];returnn}}return[]}function_rsasign_verifySignatureWithArgs(t,e,r,i){varn=_rsasign_getHexDigestInfoFromSig(e,r,i),s=_rsasign_getAlgNameAndHashFromHexDisgestInfo(n);if(0==s.length)return!1;varo=s[0],a=s[1],h=function(t){returnKJUR.crypto.Util.hashString(t,o)},u=h(t);returna==u}function_rsasign_verifyHexSignatureForMessage(t,e){varr=parseBigInt(t,16),i=_rsasign_verifySignatureWithArgs(e,r,this.n.toString(16),this.e.toString(16));returni}function_rsasign_verifyString(t,e){e=e.replace(_RE_HEXDECONLY,""),e=e.replace(/[ \n]+/g,"");varr=parseBigInt(e,16);if(r.bitLength()>this.n.bitLength())return0;vari=this.doPublic(r),n=i.toString(16).replace(/^1f+00/,""),s=_rsasign_getAlgNameAndHashFromHexDisgestInfo(n);if(0==s.length)return!1;varo=s[0],a=s[1],h=function(t){returnKJUR.crypto.Util.hashString(t,o)},u=h(t);returna==u}function_rsasign_verifyWithMessageHash(t,e){e=e.replace(_RE_HEXDECONLY,""),e=e.replace(/[ \n]+/g,"");varr=parseBigInt(e,16);if(r.bitLength()>this.n.bitLength())return0;vari=this.doPublic(r),n=i.toString(16).replace(/^1f+00/,""),s=_rsasign_getAlgNameAndHashFromHexDisgestInfo(n);if(0==s.length)return!1;varo=(s[0],s[1]);returno==t}function_rsasign_verifyStringPSS(t,e,r,i){varn=function(t){returnKJUR.crypto.Util.hashHex(t,r)},s=n(rstrtohex(t));returnvoid0===i&&(i=-1),this.verifyWithMessageHashPSS(s,e,r,i)}function_rsasign_verifyWithMessageHashPSS(t,e,r,i){varn=newBigInteger(e,16);if(n.bitLength()>this.n.bitLength())return!1;vars,o=function(t){returnKJUR.crypto.Util.hashHex(t,r)},a=hextorstr(t),h=a.length,u=this.n.bitLength()-1,c=Math.ceil(u/8);if(-1===i||void0===i)i=h;elseif(-2===i)i=c-h-2;elseif(-2>i)throw"invalid salt length";if(h+i+2>c)throw"data too long";varg=this.doPublic(n).toByteArray();for(s=0;s<g.length;s+=1)g[s]&=255;for(;g.length<c;)g.unshift(0);if(188!==g[c-1])throw"encoded message does not end in 0xbc";g=String.fromCharCode.apply(String,g);varf=g.substr(0,c-h-1),p=g.substr(f.length,h),l=65280>>8*c-u&255;if(0!==(f.charCodeAt(0)&l))throw"bitsbeyondkeysizenotzer
},"undefined"!=typeoft&&("string"==typeoft&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):"undefined"!=typeoft.hex?this.setHexValueIncludingUnusedBits(t.hex):"undefined"!=typeoft.bin?this.setByBinaryString(t.bin):"undefined"!=typeoft.array&&this.setByBooleanArray(t.array))},YAHOO.lang.extend(KJUR.asn1.DERBitString,KJUR.asn1.ASN1Object),KJUR.asn1.DEROctetString=function(t){KJUR.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},YAHOO.lang.extend(KJUR.asn1.DEROctetString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNull=function(){KJUR.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},YAHOO.lang.extend(KJUR.asn1.DERNull,KJUR.asn1.ASN1Object),KJUR.asn1.DERObjectIdentifier=function(t){vare=function(t){vare=t.toString(16);return1==e.length&&(e="0"+e),e},r=function(t){varr="",i=newBigInteger(t,10),n=i.toString(2),s=7-n.length%7;7==s&&(s=0);for(varo="",a=0;s>a;a++)o+="0";n=o+n;for(vara=0;a<n.length-1;a+=7){varh=n.substr(a,7);a!=n.length-7&&(h="1"+h),r+=e(parseInt(h,2))}returnr};KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;vari="",n=t.split("."),s=40*parseInt(n[0])+parseInt(n[1]);i+=e(s),n.splice(0,2);for(varo=0;o<n.length;o++)i+=r(n[o]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=i},this.setValueName=function(t){if("undefined"==typeofKJUR.asn1.x509.OID.name2oidList[t])throw"DERObjectIdentifier oidName undefined: "+t;vare=KJUR.asn1.x509.OID.name2oidList[t];this.setValueOidString(e)},this.getFreshValueHex=function(){returnthis.hV},"undefined"!=typeoft&&("string"==typeoft&&t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):void0!==KJUR.asn1.x509.OID.name2oidList[t]?this.setValueOidString(KJUR.asn1.x509.OID.name2oidList[t]):"undefined"!=typeoft.oid?this.setValueOidString(t.oid):"undefined"!=typeoft.hex?this.setValueHex(t.hex):"undefined"!=typeoft.name&&this.setValueName(t.name))},YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier,KJUR.asn1.ASN1Object),KJUR.asn1.DERUTF8String=function(t){KJUR.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},YAHOO.lang.extend(KJUR.asn1.DERUTF8String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNumericString=function(t){KJUR.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},YAHOO.lang.extend(KJUR.asn1.DERNumericString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERPrintableString=function(t){KJUR.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},YAHOO.lang.extend(KJUR.asn1.DERPrintableString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERTeletexString=function(t){KJUR.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},YAHOO.lang.extend(KJUR.asn1.DERTeletexString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERIA5String=function(t){KJUR.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},YAHOO.lang.extend(KJUR.asn1.DERIA5String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERUTCTime=function(t){KJUR.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},"undefined"!=typeoft&&("undefined"!=typeoft.str?this.setString(t.str):"string"==typeoft&&t.match(/^[0-9]{12}Z$/)?this.setString(t):"undefined"!=typeoft.hex?this.setStringHex(t.hex):"undefined"!=typeoft.date&&this.setByDate(t.date))},YAHOO.lang.extend(KJUR.asn1.DERUTCTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERGeneralizedTime=function(t){KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"gen"),this.hV=stohex(this.s)},"undefined"!=typeoft&&("undefined"!=typeoft.str?this.setString(t.str):"string"==typeoft&&t.match(/^[0-9]{14}Z$/)?this.setString(t):"undefined"!=typeoft.hex?this.setS
returnthis.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){vari=this.getDigestInfoHex(t,e),n=r/4;if(i.length+22>n)throw"key is too short for SigAlg: keylen="+r+","+e;for(vars="0001",o="00"+i,a="",h=n-s.length-o.length,u=0;h>u;u+=2)a+="ff";varc=s+a+o;returnc},this.hashString=function(t,e){varr=newKJUR.crypto.MessageDigest({alg:e});returnr.digestString(t)},this.hashHex=function(t,e){varr=newKJUR.crypto.MessageDigest({alg:e});returnr.digestHex(t)},this.sha1=function(t){vare=newKJUR.crypto.MessageDigest({alg:"sha1",prov:"cryptojs"});returne.digestString(t)},this.sha256=function(t){vare=newKJUR.crypto.MessageDigest({alg:"sha256",prov:"cryptojs"});returne.digestString(t)},this.sha256Hex=function(t){vare=newKJUR.crypto.MessageDigest({alg:"sha256",prov:"cryptojs"});returne.digestHex(t)},this.sha512=function(t){vare=newKJUR.crypto.MessageDigest({alg:"sha512",prov:"cryptojs"});returne.digestString(t)},this.sha512Hex=function(t){vare=newKJUR.crypto.MessageDigest({alg:"sha512",prov:"cryptojs"});returne.digestHex(t)},this.md5=function(t){vare=newKJUR.crypto.MessageDigest({alg:"md5",prov:"cryptojs"});returne.digestString(t)},this.ripemd160=function(t){vare=newKJUR.crypto.MessageDigest({alg:"ripemd160",prov:"cryptojs"});returne.digestString(t)},this.getCryptoJSMDByName=function(){}},KJUR.crypto.MessageDigest=function(params){varmd=null,algName=null,provName=null;this.setAlgAndProvider=function(alg,prov){if(null!=alg&&void0===prov&&(prov=KJUR.crypto.Util.DEFAULTPROVIDER[alg]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(alg)&&"cryptojs"==prov){try{this.md=eval(KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[alg]).create()}catch(ex){throw"setAlgAndProvider hash alg set fail alg="+alg+"/"+ex}this.updateString=function(t){this.md.update(t)},this.updateHex=function(t){vare=CryptoJS.enc.Hex.parse(t);this.md.update(e)},this.digest=function(){vart=this.md.finalize();returnt.toString(CryptoJS.enc.Hex)},this.digestString=function(t){returnthis.updateString(t),this.digest()},this.digestHex=function(t){returnthis.updateHex(t),this.digest()}}if(-1!=":sha256:".indexOf(alg)&&"sjcl"==prov){try{this.md=newsjcl.hash.sha256}catch(ex){throw"setAlgAndProvider hash alg set fail alg="+alg+"/"+ex}this.updateString=function(t){this.md.update(t)},this.updateHex=function(t){vare=sjcl.codec.hex.toBits(t);this.md.update(e)},this.digest=function(){vart=this.md.finalize();returnsjcl.codec.hex.fromBits(t)},this.digestString=function(t){returnthis.updateString(t),this.digest()},this.digestHex=function(t){returnthis.updateHex(t),this.digest()}}},this.updateString=function(){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void0!==params&&void0!==params.alg&&(this.algName=params.alg,void0===params.prov&&(this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},KJUR.crypto.Mac=function(params){varmac=null,pass=null,algName=null,provName=null,algProv=null;this.setAlgAndProvider=function(alg,prov){if(null==alg&&(alg="hmacsha1"),alg=alg.toLowerCase(),"hmac"!=alg.substr(0,4))throw"setAlgAndProvider unsupported HMAC alg: "+alg;void0===prov&&(prov=KJUR.crypto.Util.DEFAULTPROVIDER[alg]),this.algProv=alg+"/"+prov;varhashAlg=alg.substr(4);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(hashAlg)&&"cryptojs"==prov){try{varmdObj=eval(KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[hashAlg]);this.mac=CryptoJS.algo.HMAC.create(mdObj,this.pass)}catch(ex){throw"setAlgAndProvider hash alg set fail hashAlg="+hashAlg+"/"+ex}this.updateString=function(t)
},getKeyFromPlainPrivatePKCS8PEM:function(t){vare=this.getHexFromPEM(t,"PRIVATE KEY"),r=this.getKeyFromPlainPrivatePKCS8Hex(e);returnr},getKeyFromPlainPrivatePKCS8Hex:function(t){vare=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==e.algoid){this.parsePrivateRawRSAKeyHexAtObj(t,e);varr=e.key,i=newRSAKey;returni.setPrivateEx(r.n,r.e,r.d,r.p,r.q,r.dp,r.dq,r.co),i}if("2a8648ce3d0201"==e.algoid){if(this.parsePrivateRawECKeyHexAtObj(t,e),void0===KJUR.crypto.OID.oidhex2name[e.algparam])throw"KJUR.crypto.OID.oidhex2name undefined: "+e.algparam;varn=KJUR.crypto.OID.oidhex2name[e.algparam],i=newKJUR.crypto.ECDSA({curve:n,prv:e.key});returni}throw"unsupported private key algorithm"},getRSAKeyFromPublicPKCS8PEM:function(t){vare=this.getHexFromPEM(t,"PUBLIC KEY"),r=this.getRSAKeyFromPublicPKCS8Hex(e);returnr},getKeyFromPublicPKCS8PEM:function(t){vare=this.getHexFromPEM(t,"PUBLIC KEY"),r=this.getKeyFromPublicPKCS8Hex(e);returnr},getKeyFromPublicPKCS8Hex:function(t){vare=this.parsePublicPKCS8Hex(t);if("2a864886f70d010101"==e.algoid){varr=this.parsePublicRawRSAKeyHex(e.key),i=newRSAKey;returni.setPublic(r.n,r.e),i}if("2a8648ce3d0201"==e.algoid){if(void0===KJUR.crypto.OID.oidhex2name[e.algparam])throw"KJUR.crypto.OID.oidhex2name undefined: "+e.algparam;varn=KJUR.crypto.OID.oidhex2name[e.algparam],i=newKJUR.crypto.ECDSA({curve:n,pub:e.key});returni}throw"unsupported public key algorithm"},parsePublicRawRSAKeyHex:function(t){vare={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";varr=ASN1HEX.getPosArrayOfChildren_AtObj(t,0);if(2!=r.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(r[0],2))throw"malformed RSA key(code:003)";if(e.n=ASN1HEX.getHexOfV_AtObj(t,r[0]),"02"!=t.substr(r[1],2))throw"malformed RSA key(code:004)";returne.e=ASN1HEX.getHexOfV_AtObj(t,r[1]),e},parsePrivateRawRSAKeyHexAtObj:function(t,e){varr=e.keyidx;if("30"!=t.substr(r,2))throw"malformed RSA private key(code:001)";vari=ASN1HEX.getPosArrayOfChildren_AtObj(t,r);if(9!=i.length)throw"malformed RSA private key(code:002)";e.key={},e.key.n=ASN1HEX.getHexOfV_AtObj(t,i[1]),e.key.e=ASN1HEX.getHexOfV_AtObj(t,i[2]),e.key.d=ASN1HEX.getHexOfV_AtObj(t,i[3]),e.key.p=ASN1HEX.getHexOfV_AtObj(t,i[4]),e.key.q=ASN1HEX.getHexOfV_AtObj(t,i[5]),e.key.dp=ASN1HEX.getHexOfV_AtObj(t,i[6]),e.key.dq=ASN1HEX.getHexOfV_AtObj(t,i[7]),e.key.co=ASN1HEX.getHexOfV_AtObj(t,i[8])},parsePrivateRawECKeyHexAtObj:function(t,e){varr=e.keyidx;if("30"!=t.substr(r,2))throw"malformed ECC private key(code:001)";vari=ASN1HEX.getPosArrayOfChildren_AtObj(t,r);if(3!=i.length)throw"malformed ECC private key(code:002)";if("04"!=t.substr(i[1],2))throw"malformed ECC private key(code:003)";e.key=ASN1HEX.getHexOfV_AtObj(t,i[1])},parsePublicPKCS8Hex:function(t){vare={};e.algparam=null;varr=ASN1HEX.getPosArrayOfChildren_AtObj(t,0);if(2!=r.length)throw"outer DERSequence shall have 2 elements: "+r.length;vari=r[0];if("30"!=t.substr(i,2))throw"malformed PKCS8 public key(code:001)";varn=ASN1HEX.getPosArrayOfChildren_AtObj(t,i);if(2!=n.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(n[0],2))throw"malformed PKCS8 public key(code:003)";if(e.algoid=ASN1HEX.getHexOfV_AtObj(t,n[0]),"06"==t.substr(n[1],2)&&(e.algparam=ASN1HEX.getHexOfV_AtObj(t,n[1])),"03"!=t.substr(r[1],2))throw"malformed PKCS8 public key(code:004)";returne.key=ASN1HEX.getHexOfV_AtObj(t,r[1]).substr(2),e},getRSAKeyFromPublicPKCS8Hex:function(t){vare=ASN1HEX.getPosArrayOfChildren_AtObj(t,0);if(2!=e.length)throw"outer DERSequence shall have 2 elements: "+e.length;varr=ASN1HEX.getHexOfTLV_AtObj(t,e[0]);if("300d06092a864886f70d0101010500"!=r)throw"PKCS8 AlgorithmId is not rsaEncryption";if("03"!=t.substr(e[1],2))throw"PKCS8 Public Key is not BITSTRING encapslated.";vari=ASN1HEX.getStartPosOfV_AtObj(t,e[1])+2;if("30"!=t.substr(i,2))throw"PKCS8 Public Key is not SEQUENCE.";varn=ASN1HEX.getPosArrayOfChildren_AtObj(t,i);if(2!=n.length)throw"inner DERSequence shall have 2 elements: "+n.length;if("02"!=t.substr(n[0],2))throw"N is not ASN.1 INTEGER";if("02"!=t.substr(n[1],2))throw"EisnotASN
}functione(t){vare=t.alg,r="";if("RS256"!=e&&"RS512"!=e&&"PS256"!=e&&"PS512"!=e)throw"JWS signature algorithm not supported: "+e;return"256"==e.substr(2)&&(r="sha256"),"512"==e.substr(2)&&(r="sha512"),r}functionr(t){returne(jsonParse(t))}functioni(t,e,i,n,s,o){vara=newRSAKey;a.setPrivate(n,s,o);varh=r(t),u=a.signString(i,h);returnu}functionn(t,i,n,s,o){vara=null;a="undefined"==typeofo?r(t):e(o);varh="PS"==o.alg.substr(0,2);returns.hashAndSign?b64tob64u(s.hashAndSign(a,n,"binary","base64",h)):hextob64u(h?s.signStringPSS(n,a):s.signString(n,a))}functions(t,e,i,n){vars=newRSAKey;s.readPrivateKeyFromPEMString(n);varo=r(t),a=s.signString(i,o);returna}this.parseJWS=function(t,e){if(void0===this.parsedJWS||!e&&void0===this.parsedJWS.sigvalH){if(null==t.match(/^([^.]+)\.([^.]+)\.([^.]+)$/))throw"JWS signature is not a form of 'Head.Payload.SigValue'.";varr=RegExp.$1,i=RegExp.$2,n=RegExp.$3,s=r+"."+i;if(this.parsedJWS={},this.parsedJWS.headB64U=r,this.parsedJWS.payloadB64U=i,this.parsedJWS.sigvalB64U=n,this.parsedJWS.si=s,!e){varo=b64utohex(n),a=parseBigInt(o,16);this.parsedJWS.sigvalH=o,this.parsedJWS.sigvalBI=a}varh=b64utoutf8(r),u=b64utoutf8(i);if(this.parsedJWS.headS=h,this.parsedJWS.payloadS=u,!this.isSafeJSONString(h,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+h}},this.verifyJWSByNE=function(t,e,r){returnthis.parseJWS(t),_rsasign_verifySignatureWithArgs(this.parsedJWS.si,this.parsedJWS.sigvalBI,e,r)},this.verifyJWSByKey=function(t,r){this.parseJWS(t);vari=e(this.parsedJWS.headP),n="PS"==this.parsedJWS.headP.alg.substr(0,2);returnr.hashAndVerify?r.hashAndVerify(i,newBuffer(this.parsedJWS.si,"utf8").toString("base64"),b64utob64(this.parsedJWS.sigvalB64U),"base64",n):n?r.verifyStringPSS(this.parsedJWS.si,this.parsedJWS.sigvalH,i):r.verifyString(this.parsedJWS.si,this.parsedJWS.sigvalH)},this.verifyJWSByPemX509Cert=function(t,e){this.parseJWS(t);varr=newX509;returnr.readCertPEM(e),r.subjectPublicKeyRSA.verifyString(this.parsedJWS.si,this.parsedJWS.sigvalH)},this.generateJWSByNED=function(e,r,n,s,o){if(!this.isSafeJSONString(e))throw"JWS Head is not safe JSON string: "+e;vara=t(e,r),h=i(e,r,a,n,s,o),u=hextob64u(h);returnthis.parsedJWS={},this.parsedJWS.headB64U=a.split(".")[0],this.parsedJWS.payloadB64U=a.split(".")[1],this.parsedJWS.sigvalB64U=u,a+"."+u},this.generateJWSByKey=function(e,r,i){vars={};if(!this.isSafeJSONString(e,s,"headP"))throw"JWS Head is not safe JSON string: "+e;varo=t(e,r),a=n(e,r,o,i,s.headP);returnthis.parsedJWS={},this.parsedJWS.headB64U=o.split(".")[0],this.parsedJWS.payloadB64U=o.split(".")[1],this.parsedJWS.sigvalB64U=a,o+"."+a},this.generateJWSByP1PrvKey=function(e,r,i){if(!this.isSafeJSONString(e))throw"JWS Head is not safe JSON string: "+e;varn=t(e,r),o=s(e,r,n,i),a=hextob64u(o);returnthis.parsedJWS={},this.parsedJWS.headB64U=n.split(".")[0],this.parsedJWS.payloadB64U=n.split(".")[1],this.parsedJWS.sigvalB64U=a,n+"."+a}},KJUR.jws.JWS.sign=function(t,e,r,i,n){vars=KJUR.jws.JWS;if(!s.isSafeJSONString(e))throw"JWS Head is not safe JSON string: "+sHead;varo=s.readSafeJSONString(e);""!=t&&null!=t||void0===o.alg||(t=o.alg),""!=t&&null!=t&&void0===o.alg&&(o.alg=t,e=JSON.stringify(o));vara=null;if(void0===s.jwsalg2sigalg[t])throw"unsupported alg name: "+t;a=s.jwsalg2sigalg[t];varh=utf8tob64u(e),u=utf8tob64u(r),c=h+"."+u,g="";if("Hmac"==a.substr(0,4)){if(void0===i)throw"hexadecimal key shall be specified for HMAC";varf=newKJUR.crypto.Mac({alg:a,pass:hextorstr(i)});f.updateString(c),g=f.doFinal()}elseif(-1!=a.indexOf("withECDSA")){varp=newKJUR.crypto.Signature({alg:a});p.init(i,n),p.updateString(c),hASN1Sig=p.sign(),g=KJUR.crypto.ECDSA.asn1SigToConcatSig(hASN1Sig)}elseif("none"!=a){varp=newKJUR.crypto.Signature({alg:a});p.init(i,n),p.updateString(c),g=p.sign()}varl=hextob64u(g);returnc+"."+l},KJUR.jws.JWS.verify=function(t,e){varr=KJUR.jws.JWS,i=t.split("."),n=i[0],s=i[1],o=n+"."+s,a=b64utohex(i[2]),h=r.readSafeJSONString(b64utoutf8(i[0])),u=null;if(void0===h.alg)throw"algorithm not specified in header";u=h.alg;varc=null;if(vo
(function(){varn=this,t=n._,r={},e=Array.prototype,u=Object.prototype,i=Function.prototype,a=e.push,o=e.slice,c=e.concat,l=u.toString,f=u.hasOwnProperty,s=e.forEach,p=e.map,h=e.reduce,v=e.reduceRight,g=e.filter,d=e.every,m=e.some,y=e.indexOf,b=e.lastIndexOf,x=Array.isArray,w=Object.keys,_=i.bind,j=function(n){returnninstanceofj?n:thisinstanceofj?void(this._wrapped=n):newj(n)};"undefined"!=typeofexports?("undefined"!=typeofmodule&&module.exports&&(exports=module.exports=j),exports._=j):n._=j,j.VERSION="1.6.0";varA=j.each=j.forEach=function(n,t,e){if(null==n)returnn;if(s&&n.forEach===s)n.forEach(t,e);elseif(n.length===+n.length){for(varu=0,i=n.length;i>u;u++)if(t.call(e,n[u],u,n)===r)return}elsefor(vara=j.keys(n),u=0,i=a.length;i>u;u++)if(t.call(e,n[a[u]],a[u],n)===r)return;returnn};j.map=j.collect=function(n,t,r){vare=[];returnnull==n?e:p&&n.map===p?n.map(t,r):(A(n,function(n,u,i){e.push(t.call(r,n,u,i))}),e)};varO="Reduce of empty array with no initial value";j.reduce=j.foldl=j.inject=function(n,t,r,e){varu=arguments.length>2;if(null==n&&(n=[]),h&&n.reduce===h)returne&&(t=j.bind(t,e)),u?n.reduce(t,r):n.reduce(t);if(A(n,function(n,i,a){u?r=t.call(e,r,n,i,a):(r=n,u=!0)}),!u)thrownewTypeError(O);returnr},j.reduceRight=j.foldr=function(n,t,r,e){varu=arguments.length>2;if(null==n&&(n=[]),v&&n.reduceRight===v)returne&&(t=j.bind(t,e)),u?n.reduceRight(t,r):n.reduceRight(t);vari=n.length;if(i!==+i){vara=j.keys(n);i=a.length}if(A(n,function(o,c,l){c=a?a[--i]:--i,u?r=t.call(e,r,n[c],c,l):(r=n[c],u=!0)}),!u)thrownewTypeError(O);returnr},j.find=j.detect=function(n,t,r){vare;returnk(n,function(n,u,i){returnt.call(r,n,u,i)?(e=n,!0):void0}),e},j.filter=j.select=function(n,t,r){vare=[];returnnull==n?e:g&&n.filter===g?n.filter(t,r):(A(n,function(n,u,i){t.call(r,n,u,i)&&e.push(n)}),e)},j.reject=function(n,t,r){returnj.filter(n,function(n,e,u){return!t.call(r,n,e,u)},r)},j.every=j.all=function(n,t,e){t||(t=j.identity);varu=!0;returnnull==n?u:d&&n.every===d?n.every(t,e):(A(n,function(n,i,a){return(u=u&&t.call(e,n,i,a))?void0:r}),!!u)};vark=j.some=j.any=function(n,t,e){t||(t=j.identity);varu=!1;returnnull==n?u:m&&n.some===m?n.some(t,e):(A(n,function(n,i,a){returnu||(u=t.call(e,n,i,a))?r:void0}),!!u)};j.contains=j.include=function(n,t){returnnull==n?!1:y&&n.indexOf===y?-1!=n.indexOf(t):k(n,function(n){returnn===t})},j.invoke=function(n,t){varr=o.call(arguments,2),e=j.isFunction(t);returnj.map(n,function(n){return(e?t:n[t]).apply(n,r)})},j.pluck=function(n,t){returnj.map(n,j.property(t))},j.where=function(n,t){returnj.filter(n,j.matches(t))},j.findWhere=function(n,t){returnj.find(n,j.matches(t))},j.max=function(n,t,r){if(!t&&j.isArray(n)&&n[0]===+n[0]&&n.length<65535)returnMath.max.apply(Math,n);vare=-1/0,u=-1/0;returnA(n,function(n,i,a){varo=t?t.call(r,n,i,a):n;o>u&&(e=n,u=o)}),e},j.min=function(n,t,r){if(!t&&j.isArray(n)&&n[0]===+n[0]&&n.length<65535)returnMath.min.apply(Math,n);vare=1/0,u=1/0;returnA(n,function(n,i,a){varo=t?t.call(r,n,i,a):n;u>o&&(e=n,u=o)}),e},j.shuffle=function(n){vart,r=0,e=[];returnA(n,function(n){t=j.random(r++),e[r-1]=e[t],e[t]=n}),e},j.sample=function(n,t,r){returnnull==t||r?(n.length!==+n.length&&(n=j.values(n)),n[j.random(n.length-1)]):j.shuffle(n).slice(0,Math.max(0,t))};varE=function(n){returnnull==n?j.identity:j.isFunction(n)?n:j.property(n)};j.sortBy=function(n,t,r){returnt=E(t),j.pluck(j.map(n,function(n,e,u){return{value:n,index:e,criteria:t.call(r,n,e,u)}}).sort(function(n,t){varr=n.criteria,e=t.criteria;if(r!==e){if(r>e||void0===r)return1;if(e>r||void0===e)return-1}returnn.index-t.index}),"value")};varF=function(n){returnfunction(t,r,e){varu={};returnr=E(r),A(t,function(i,a){varo=r.call(e,i,a,t);n(u,o,i)}),u}};j.groupBy=F(function(n,t,r){j.has(n,t)?n[t].push(r):n[t]=[r]}),j.indexBy=F(function(n,t,r){n[t]=r}),j.countBy=F(function(n,t){j.has(n,t)?n[t]++:n[t]=1}),j.sortedIndex=function(n,t,r,e){r=E(r);for(varu=r.call(e,t),i=0,a=n.length;a>i;){varo=i+a>>>1;r.call(e,n[o])<u?i=o+1:a=o}returni},j.toArray=function(n){returnn?j.isArray
exports.ShouldBeDefined="Variable should be defined.",exports.ShouldBeUndefined="Variable should be undefined.",exports.ShouldBeArray="Variable should be of type Array.",exports.ShouldNotBeArray="Variable should NOT be of type Array.",exports.ShouldBeObject="Variable should be of type Object.",exports.ShouldNotBeObject="Variable should NOT be of type Object.",exports.ShouldBeEmpty="Array or object should be empty.",exports.ShouldNotBeEmpty="Array or object should NOT be empty.",exports.ShouldBeFunction="Variable should be a Function.",exports.ShouldNotBeFunction="Variable should NOT be a Function.",exports.ShouldBeString="Variable should be a String.",exports.ShouldNotBeString="Variable should NOT be a String.",exports.ShouldBeNumber="Variable should be a Number.",exports.ShouldNotBeNumber="Variable should NOT be a Number.",exports.ShouldBeFinite="Variable should be Finite (i.e. not infinity).",exports.ShouldBeInfinite="Variable should be Infinite.",exports.ShouldBeBoolean="Variable should be a Boolean.",exports.ShouldNotBeBoolean="Variable should NOT be a Boolean.",exports.ShouldBeDate="Variable should be a Date.",exports.ShouldNotBeDate="Variable should NOT be a Date.",exports.ShouldBeRegExp="Variable should be a RegExp.",exports.ShouldNotBeRegExp="Variable should NOT be a RegExp.",exports.ShouldBeFalsey="Variable should be falsey.",exports.ShouldNotBeFalsey="Variable should NOT be falsey.",exports.IllegalArgument="Illegal Argument.",exports.IllegalState="Illegal State.",exports.ShouldHaveValidIndex="Index should be between between 0 (inclusive) and size (exclusive).",exports.ShouldHaveValidPosition="Index should be between index between 0 (inclusive) and size (inclusive).",exports.ShouldHaveValidPositions="Start and End should be between valid sub range between 0 (inclusive) and size (inclusive).",exports.StartBeforeEnd="Start value should be less than the end value.";
!function(e){"use strict";functiont(e){if(!e||!e.VERSION||e.VERSION.split(".")[0]<3)throwError("ProtoBuf.js requires ByteBuffer.js >=3");vart={};returnt.VERSION="3.0.0",t.WIRE_TYPES={},t.WIRE_TYPES.VARINT=0,t.WIRE_TYPES.BITS64=1,t.WIRE_TYPES.LDELIM=2,t.WIRE_TYPES.STARTGROUP=3,t.WIRE_TYPES.ENDGROUP=4,t.WIRE_TYPES.BITS32=5,t.PACKABLE_WIRE_TYPES=[t.WIRE_TYPES.VARINT,t.WIRE_TYPES.BITS64,t.WIRE_TYPES.BITS32],t.TYPES={int32:{name:"int32",wireType:t.WIRE_TYPES.VARINT},uint32:{name:"uint32",wireType:t.WIRE_TYPES.VARINT},sint32:{name:"sint32",wireType:t.WIRE_TYPES.VARINT},int64:{name:"int64",wireType:t.WIRE_TYPES.VARINT},uint64:{name:"uint64",wireType:t.WIRE_TYPES.VARINT},sint64:{name:"sint64",wireType:t.WIRE_TYPES.VARINT},bool:{name:"bool",wireType:t.WIRE_TYPES.VARINT},"double":{name:"double",wireType:t.WIRE_TYPES.BITS64},string:{name:"string",wireType:t.WIRE_TYPES.LDELIM},bytes:{name:"bytes",wireType:t.WIRE_TYPES.LDELIM},fixed32:{name:"fixed32",wireType:t.WIRE_TYPES.BITS32},sfixed32:{name:"sfixed32",wireType:t.WIRE_TYPES.BITS32},fixed64:{name:"fixed64",wireType:t.WIRE_TYPES.BITS64},sfixed64:{name:"sfixed64",wireType:t.WIRE_TYPES.BITS64},"float":{name:"float",wireType:t.WIRE_TYPES.BITS32},"enum":{name:"enum",wireType:t.WIRE_TYPES.VARINT},message:{name:"message",wireType:t.WIRE_TYPES.LDELIM},group:{name:"group",wireType:t.WIRE_TYPES.STARTGROUP}},t.ID_MIN=1,t.ID_MAX=536870911,t.ByteBuffer=e,t.Long=e.Long||null,t.convertFieldsToCamelCase=!1,t.Util=function(){Object.create||(Object.create=function(e){functiont(){}if(arguments.length>1)thrownewError("Object.create implementation only accepts the first parameter.");returnt.prototype=e,newt});vare={};e.IS_NODE=!1;try{e.IS_NODE="function"==typeofrequire&&"function"==typeofrequire("fs").readFileSync&&"function"==typeofrequire("path").resolve}catch(t){}returne.XHR=function(){for(vare=[function(){returnnewXMLHttpRequest},function(){returnnewActiveXObject("Msxml2.XMLHTTP")},function(){returnnewActiveXObject("Msxml3.XMLHTTP")},function(){returnnewActiveXObject("Microsoft.XMLHTTP")}],t=null,n=0;n<e.length;n++){try{t=e[n]()}catch(i){continue}break}if(!t)thrownewError("XMLHttpRequest is not supported");returnt},e.fetch=function(t,n){if(n&&"function"!=typeofn&&(n=null),e.IS_NODE)if(n)require("fs").readFile(t,function(e,t){n(e?null:""+t)});elsetry{returnrequire("fs").readFileSync(t)}catch(i){returnnull}else{varr=e.XHR();if(r.open("GET",t,n?!0:!1),r.setRequestHeader("Accept","text/plain"),"function"==typeofr.overrideMimeType&&r.overrideMimeType("text/plain"),!n)returnr.send(null),200==r.status||0==r.status&&"string"==typeofr.responseText?r.responseText:null;if(r.onreadystatechange=function(){4==r.readyState&&n(200==r.status||0==r.status&&"string"==typeofr.responseText?r.responseText:null)},4==r.readyState)return;r.send(null)}},e.isArray=function(e){returne?einstanceofArray?!0:Array.isArray?Array.isArray(e):"[object Array]"===Object.prototype.toString.call(e):!1},e}(),t.Lang={OPEN:"{",CLOSE:"}",OPTOPEN:"[",OPTCLOSE:"]",OPTEND:",",EQUAL:"=",END:";",STRINGOPEN:'"',STRINGCLOSE:'"',STRINGOPEN_SQ:"'",STRINGCLOSE_SQ:"'",COPTOPEN:"(",COPTCLOSE:")",DELIM:/[\s\{\}=;\[\],'"\(\)]/g,RULE:/^(?:required|optional|repeated)$/,TYPE:/^(?:double|float|int32|uint32|sint32|int64|uint64|sint64|fixed32|sfixed32|fixed64|sfixed64|bool|string|bytes)$/,NAME:/^[a-zA-Z_][a-zA-Z_0-9]*$/,TYPEDEF:/^[a-zA-Z][a-zA-Z_0-9]*$/,TYPEREF:/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)+$/,FQTYPEREF:/^(?:\.[a-zA-Z][a-zA-Z_0-9]*)+$/,NUMBER:/^-?(?:[1-9][0-9]*|0|0x[0-9a-fA-F]+|0[0-7]+|([0-9]*\.[0-9]+([Ee][+-]?[0-9]+)?))$/,NUMBER_DEC:/^(?:[1-9][0-9]*|0)$/,NUMBER_HEX:/^0x[0-9a-fA-F]+$/,NUMBER_OCT:/^0[0-7]+$/,NUMBER_FLT:/^[0-9]*\.[0-9]+([Ee][+-]?[0-9]+)?$/,ID:/^(?:[1-9][0-9]*|0|0x[0-9a-fA-F]+|0[0-7]+)$/,NEGID:/^\-?(?:[1-9][0-9]*|0|0x[0-9a-fA-F]+|0[0-7]+)$/,WHITESPACE:/\s/,STRING:/['"]([^'"\\]*(\\.[^"\\]*)*)['"]/g,BOOL:/^(?:true|false)$/i},t.DotProto=function(e,t){varn={},i=function(e){this.source=""+e,this.index=0,this.line=1,this.stack=[],this.readingString=!1,this.stringEndsWith=t.STRINGCLOSE};i.prototype._readString=fu
break;caset.TYPES.sint64:i.writeVarint64ZigZag(n);break;caset.TYPES.fixed64:i.writeUint64(n);break;caset.TYPES.sfixed64:i.writeInt64(n);break;caset.TYPES.bool:i.writeVarint32("string"==typeofn?"false"===n.toLowerCase()?0:!!n:n?1:0);break;caset.TYPES["enum"]:i.writeVarint32(n);break;caset.TYPES["float"]:i.writeFloat32(n);break;caset.TYPES["double"]:i.writeFloat64(n);break;caset.TYPES.string:i.writeVString(n);break;caset.TYPES.bytes:n.offset>n.length&&(i=i.clone().flip());varr=n.offset;i.writeVarint32(n.remaining()),i.append(n),n.offset=r;break;caset.TYPES.message:vars=(newe).LE();this.resolvedType.encode(n,s),i.writeVarint32(s.offset),i.append(s.flip());break;caset.TYPES.group:this.resolvedType.encode(n,i),i.writeVarint32(this.id<<3|t.WIRE_TYPES.ENDGROUP);break;default:thrownewError("[INTERNAL] Illegal value to encode in "+this.toString(!0)+": "+n+" (unknown type)")}returni}},l.prototype.decode=function(e,n,i){varr,s;if(e!=this.type.wireType&&(i||e!=t.WIRE_TYPES.LDELIM||!this.repeated))thrownewError("Illegal wire type for field "+this.toString(!0)+": "+e+" ("+this.type.wireType+" expected)");if(e==t.WIRE_TYPES.LDELIM&&this.repeated&&this.options.packed&&!i){s=n.readVarint32(),s=n.offset+s;for(varo=[];n.offset<s;)o.push(this.decode(this.type.wireType,n,!0));returno}switch(this.type){caset.TYPES.int32:return0|n.readVarint32();caset.TYPES.uint32:returnn.readVarint32()>>>0;caset.TYPES.sint32:return0|n.readVarint32ZigZag();caset.TYPES.fixed32:returnn.readUint32()>>>0;caset.TYPES.sfixed32:return0|n.readInt32();caset.TYPES.int64:returnn.readVarint64();caset.TYPES.uint64:returnn.readVarint64().toUnsigned();caset.TYPES.sint64:returnn.readVarint64ZigZag();caset.TYPES.fixed64:returnn.readUint64();caset.TYPES.sfixed64:returnn.readInt64();caset.TYPES.bool:return!!n.readVarint32();caset.TYPES["enum"]:returnn.readVarint32();caset.TYPES["float"]:returnn.readFloat();caset.TYPES["double"]:returnn.readDouble();caset.TYPES.string:returnn.readVString();caset.TYPES.bytes:if(s=n.readVarint32(),n.remaining()<s)thrownewError("Illegal number of bytes for "+this.toString(!0)+": "+s+" required but got only "+n.remaining());returnr=n.clone(),r.limit=r.offset+s,n.offset+=s,r;caset.TYPES.message:returns=n.readVarint32(),this.resolvedType.decode(n,s);caset.TYPES.group:returnthis.resolvedType.decode(n,-1,this.id)}thrownewError("[INTERNAL] Illegal wire type for "+this.toString(!0)+": "+e)},r.Message.Field=l;varf=function(e,t,n){o.call(this,e,t,n),this.className="Enum",this.object=null};f.prototype=Object.create(o.prototype),f.prototype.build=function(){for(vare={},t=this.getChildren(f.Value),n=0;n<t.length;n++)e[t[n].name]=t[n].id;returnObject.defineProperty&&Object.defineProperty(e,"$options",{value:this.buildOpt(),enumerable:!1,configurable:!1,writable:!1}),this.object=e},r.Enum=f;varp=function(e,t,n){s.call(this,e,t),this.className="Enum.Value",this.id=n};p.prototype=Object.create(s.prototype),r.Enum.Value=p;varh=function(e,t,n){o.call(this,e,t,n),this.className="Service",this.clazz=null};h.prototype=Object.create(o.prototype),h.prototype.build=function(e){returnthis.clazz&&!e?this.clazz:this.clazz=function(e,t){varn=function(t){e.Builder.Service.call(this),this.rpcImpl=t||function(e,t,n){setTimeout(n.bind(this,newError("Not implemented, see: https://github.com/dcodeIO/ProtoBuf.js/wiki/Services")),0)}};n.prototype=Object.create(e.Builder.Service.prototype),Object.defineProperty&&(Object.defineProperty(n,"$options",{value:t.buildOpt(),enumerable:!1,configurable:!1,writable:!1}),Object.defineProperty(n.prototype,"$options",{value:n.$options,enumerable:!1,configurable:!1,writable:!1}));for(vari=t.getChildren(e.Reflect.Service.RPCMethod),r=0;r<i.length;r++)!function(e){n.prototype[e.name]=function(n,i){try{n&&ninstanceofe.resolvedRequestType.clazz||setTimeout(i.bind(this,newError("Illegal request type provided to service method "+t.name+"#"+e.name)),0),this.rpcImpl(e.fqn(),n,function(n,r){if(n)returnvoidi(n);try{r=e.resolvedResponseType.clazz.decode(r)}catch(s){}returnr&&rinstan
!function(e){functiont(e){functiont(e,n,i){if("undefined"==typeofe&&(e=t.DEFAULT_CAPACITY),"undefined"==typeofn&&(n=t.DEFAULT_ENDIAN),"undefined"==typeofi&&(i=t.DEFAULT_NOASSERT),!i){if(e|=0,0>e)thrownewRangeError("Illegal capacity: 0 <= "+e);if("boolean"!=typeofn)thrownewTypeError("Illegal littleEndian: Not a boolean");if("boolean"!=typeofi)thrownewTypeError("Illegal noAssert: Not a boolean")}this.buffer=0===e?r:newArrayBuffer(e),this.view=0===e?null:newDataView(this.buffer),this.offset=0,this.markedOffset=-1,this.limit=e,this.littleEndian="undefined"!=typeofn?!!n:!1,this.noAssert=!!i}t.VERSION="3.1.0",t.LITTLE_ENDIAN=!0,t.BIG_ENDIAN=!1,t.DEFAULT_CAPACITY=16,t.DEFAULT_ENDIAN=t.BIG_ENDIAN,t.DEFAULT_NOASSERT=!1,t.Long=e||null;varr=newArrayBuffer(0);t.allocate=function(e,r,n){returnnewt(e,r,n)},t.concat=function(e,r,n,i){("boolean"==typeofr||"string"!=typeofr)&&(i=n,n=r,r=void0);for(varf,o=0,s=0,h=e.length;h>s;++s)t.isByteBuffer(e[s])||(e[s]=t.wrap(e[s],r)),f=e[s].limit-e[s].offset,f>0&&(o+=f);if(0===o)returnnewt(0,n,i);for(r=newt(o,n,i),i=newUint8Array(r.buffer),s=0;h>s;)n=e[s++],f=n.limit-n.offset,0>=f||(i.set(newUint8Array(n.buffer).subarray(n.offset,n.limit),r.offset),r.offset+=f);returnr.limit=r.offset,r.offset=0,r},t.isByteBuffer=function(e){returne&&einstanceoft},t.type=function(){returnArrayBuffer},t.wrap=function(e,r,n,f){if("string"!=typeofr&&(f=n,n=r,r=void0),"string"==typeofe)switch("undefined"==typeofr&&(r="utf8"),r){case"base64":returnt.fromBase64(e,n);case"hex":returnt.fromHex(e,n);case"binary":returnt.fromBinary(e,n);case"utf8":returnt.fromUTF8(e,n);case"debug":returnt.fromDebug(e,n);default:thrownewTypeError("Unsupported encoding: "+r)}if(null===e||"object"!=typeofe)thrownewTypeError("Illegal buffer: null or non-object");if(t.isByteBuffer(e))returnr=t.prototype.clone.call(e),r.markedOffset=-1,r;if(einstanceofUint8Array)r=newt(0,n,f),0<e.length&&(r.buffer=e.buffer,r.offset=e.byteOffset,r.limit=e.byteOffset+e.length,r.view=0<e.length?newDataView(e.buffer):null);elseif(einstanceofArrayBuffer)r=newt(0,n,f),0<e.byteLength&&(r.buffer=e,r.offset=0,r.limit=e.byteLength,r.view=0<e.byteLength?newDataView(e):null);else{if("[object Array]"!==Object.prototype.toString.call(e))thrownewTypeError("Illegal buffer");for(r=newt(e.length,n,f),r.limit=e.length,i=0;i<e.length;++i)r.view.setUint8(i,e[i])}returnr},t.prototype.writeInt8=function(e,t){varr="undefined"==typeoft;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeofe||0!==e%1)thrownewTypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeoft||0!==t%1)thrownewTypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,0>t||t+0>this.buffer.byteLength)thrownewRangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=1;varn=this.buffer.byteLength;returnt>n&&this.resize((n*=2)>t?n:t),this.view.setInt8(t-1,e),r&&(this.offset+=1),this},t.prototype.writeByte=t.prototype.writeInt8,t.prototype.readInt8=function(e){vart="undefined"==typeofe;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeofe||0!==e%1)thrownewTypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,0>e||e+1>this.buffer.byteLength)thrownewRangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}returne=this.view.getInt8(e),t&&(this.offset+=1),e},t.prototype.readByte=t.prototype.readInt8,t.prototype.writeUint8=function(e,t){varr="undefined"==typeoft;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeofe||0!==e%1)thrownewTypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeoft||0!==t%1)thrownewTypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,0>t||t+0>this.buffer.byteLength)thrownewRangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=1;varn=this.buffer.byteLength;returnt>n&&this.resize((n*=2)>t?n:t),this.view.setUint8(t-1,e),r&&(this.offset+=1),this},t.prototype.readUint8=function(e){vart="undefined"==typeofe;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeofe||0!==e%1)thrownewTypeE
},t.prototype.toBuffer=function(e){vart=this.offset,n=this.limit;if(t>n)vari=t,t=n,n=i;if(!this.noAssert){if("number"!=typeoft||0!==t%1)thrownewTypeError("Illegal offset: Not an integer");if(t>>>=0,"number"!=typeofn||0!==n%1)thrownewTypeError("Illegal limit: Not an integer");if(n>>>=0,0>t||t>n||n>this.buffer.byteLength)thrownewRangeError("Illegal range: 0 <= "+t+" <= "+n+" <= "+this.buffer.byteLength)}returne||0!==t||n!==this.buffer.byteLength?t===n?r:(e=newArrayBuffer(n-t),newUint8Array(e).set(newUint8Array(this.buffer).subarray(t,n),0),e):this.buffer},t.prototype.toArrayBuffer=t.prototype.toBuffer,t.prototype.toString=function(e){if("undefined"==typeofe)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(e){case"utf8":returnthis.toUTF8();case"base64":returnthis.toBase64();case"hex":returnthis.toHex();case"binary":returnthis.toBinary();case"debug":returnthis.toDebug();case"columns":returnthis.o();default:throwError("Unsupported encoding: "+e)}};varn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n=n+"";t.prototype.toBase64=function(e,t){if("undefined"==typeofe&&(e=this.offset),"undefined"==typeoft&&(t=this.limit),!this.noAssert){if("number"!=typeofe||0!==e%1)thrownewTypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeoft||0!==t%1)thrownewTypeError("Illegal end: Not an integer");if(t>>>=0,0>e||e>t||t>this.buffer.byteLength)thrownewRangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}if(e===t)return"";for(varr,i,f,o,s,h,a="";t>e;)r=this.view.getUint8(e++),i=(o=t>e)?this.view.getUint8(e++):0,f=(s=t>e)?this.view.getUint8(e++):0,h=r>>2,r=(3&r)<<4|i>>4,i=(15&i)<<2|f>>6,f&=63,s||(f=64,o||(i=64)),a+=n.charAt(h)+n.charAt(r)+n.charAt(i)+n.charAt(f);returna},t.fromBase64=function(e,r,i){if(!i){if("string"!=typeofe)thrownewTypeError("Illegal str: Not a string");if(0!==e.length%4)thrownewTypeError("Illegal str: Length not a multiple of 4")}varf,o=e.length,s=0;for(f=e.length-1;f>=0&&"="===e.charAt(f);--f)s++;if(s>2)thrownewTypeError("Illegal str: Suffix is too large");if(0===o)returnnewt(0,r,i);varh,a,l,u=newt(o/4*3-s,r,i);for(r=f=0;o>f;){if(s=n.indexOf(e.charAt(f++)),h=o>f?n.indexOf(e.charAt(f++)):0,a=o>f?n.indexOf(e.charAt(f++)):0,l=o>f?n.indexOf(e.charAt(f++)):0,!i&&(0>s||0>h||0>a||0>l))thrownewTypeError("Illegal str: Contains non-base64 characters");u.view.setUint8(r++,s<<2|h>>4),64!==a&&(u.view.setUint8(r++,h<<4&240|a>>2,r),64!==l&&u.view.setUint8(r++,a<<6&192|l))}returnu.limit=r,u},t.btoa=function(e){returnt.fromBinary(e).toBase64()},t.atob=function(e){returnt.fromBase64(e).toBinary()},t.prototype.toBinary=function(e,t){if(e="undefined"==typeofe?this.offset:e,t="undefined"==typeoft?this.limit:t,!this.noAssert){if("number"!=typeofe||0!==e%1)thrownewTypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeoft||0!==t%1)thrownewTypeError("Illegal end: Not an integer");if(t>>>=0,0>e||e>t||t>this.buffer.byteLength)thrownewRangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}if(e===t)return"";for(varr=[];t>e;)r.push(this.view.getUint8(e++));returnString.fromCharCode.apply(String,r)},t.fromBinary=function(e,r,n){if(!n&&"string"!=typeofe)thrownewTypeError("Illegal str: Not a string");for(vari=0,f=e.length,o=newt(f,r,n);f>i;){if(r=e.charCodeAt(i),!n&&r>255)thrownewTypeError("Illegal charCode at "+i+": 0 <= "+r+" <= 255");o.view.setUint8(i++,r)}returno.limit=f,o},t.prototype.toDebug=function(e){for(vart,r=-1,n=this.buffer.byteLength,i="",f="",o="";n>r;){if(-1!==r&&(t=this.view.getUint8(r),i=16>t?i+("0"+t.toString(16).toUpperCase()):i+t.toString(16).toUpperCase(),e&&(f+=t>32&&127>t?String.fromCharCode(t):".")),++r,e&&r>0&&0===r%16&&r!==n){for(;51>i.length;)i+=" ";o+=i+f+"\n",i=f=""}i=r===this.offset&&r===this.limit?i+(r===this.markedOffset?"!":"|"):r===this.offset?i+(r===this.markedOffset?"[":"<"):r===this.limit?i+(r===this.markedOffset?"]":">"):i+(r===this.markedOffset?"'":e||0!==r&&r!==n?" "
!function(t){"use strict";vari=function(t,i,r){t&&"object"==typeoft&&(i=t.high,r=t.unsigned,t=t.low),this.low=0|t,this.high=0|i,this.unsigned=!!r},r={},e={};i.fromInt=function(t,n){varo,s;returnn?(t>>>=0,t>=0&&256>t&&(s=e[t])?s:(o=newi(t,0>(0|t)?-1:0,!0),t>=0&&256>t&&(e[t]=o),o)):(t=0|t,t>=-128&&128>t&&(s=r[t])?s:(o=newi(t,0>t?-1:0,!1),t>=-128&&128>t&&(r[t]=o),o))},i.fromNumber=function(t,r){returnr=!!r,isNaN(t)||!isFinite(t)?i.ZERO:!r&&-h>=t?i.MIN_SIGNED_VALUE:r&&0>=t?i.MIN_UNSIGNED_VALUE:!r&&t+1>=h?i.MAX_SIGNED_VALUE:r&&t>=s?i.MAX_UNSIGNED_VALUE:0>t?i.fromNumber(-t,!1).negate():newi(t%o|0,t/o|0,r)},i.fromBits=function(t,r,e){returnnewi(t,r,e)},i.from28Bits=function(t,r,e,n){returni.fromBits(t|r<<28,r>>>4|e<<24,n)},i.fromString=function(t,r,e){if(0==t.length)thrownewError("number format error: empty string");if("NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)returni.ZERO;if("number"==typeofr&&(e=r,r=!1),e=e||10,2>e||e>36)thrownewError("radix out of range: "+e);if("-"==t.charAt(0))returni.fromString(t.substring(1),r,e).negate();if(t.indexOf("-")>=0)thrownewError('number format error: interior "-" character: '+t);for(varn=i.fromNumber(Math.pow(e,8)),o=i.ZERO,s=0;s<t.length;s+=8){varh=Math.min(8,t.length-s),u=parseInt(t.substring(s,s+h),e);if(8>h){varf=i.fromNumber(Math.pow(e,h));o=o.multiply(f).add(i.fromNumber(u))}elseo=o.multiply(n),o=o.add(i.fromNumber(u))}returno.unsigned=r,o};varn=65536,o=n*n,s=o*o,h=s/2,u=i.fromInt(1<<24);i.ZERO=i.fromInt(0),i.UZERO=i.fromInt(0,!0),i.ONE=i.fromInt(1),i.UONE=i.fromInt(1,!0),i.NEG_ONE=i.fromInt(-1),i.MAX_SIGNED_VALUE=i.fromBits(-1,2147483647,!1),i.MAX_UNSIGNED_VALUE=i.fromBits(-1,-1,!0),i.MAX_VALUE=i.MAX_SIGNED_VALUE,i.MIN_SIGNED_VALUE=i.fromBits(0,-2147483648,!1),i.MIN_UNSIGNED_VALUE=i.fromBits(0,0,!0),i.MIN_VALUE=i.MIN_SIGNED_VALUE,i.prototype.toInt=function(){returnthis.unsigned?this.low>>>0:this.low},i.prototype.toNumber=function(){returnthis.unsigned?(this.high>>>0)*o+(this.low>>>0):this.high*o+(this.low>>>0)},i.prototype.toString=function(t){if(t=t||10,2>t||t>36)thrownewError("radix out of range: "+t);if(this.isZero())return"0";varr;if(this.isNegative()){if(this.equals(i.MIN_SIGNED_VALUE)){vare=i.fromNumber(t),n=this.div(e);returnr=n.multiply(e).subtract(this),n.toString(t)+r.toInt().toString(t)}return"-"+this.negate().toString(t)}varo=i.fromNumber(Math.pow(t,6));r=this;for(vars="";;){varh=r.div(o),u=r.subtract(h.multiply(o)).toInt(),f=u.toString(t);if(r=h,r.isZero())returnf+s;for(;f.length<6;)f="0"+f;s=""+f+s}},i.prototype.getHighBits=function(){returnthis.high},i.prototype.getHighBitsUnsigned=function(){returnthis.high>>>0},i.prototype.getLowBits=function(){returnthis.low},i.prototype.getLowBitsUnsigned=function(){returnthis.low>>>0},i.prototype.getNumBitsAbs=function(){if(this.isNegative())returnthis.equals(i.MIN_SIGNED_VALUE)?64:this.negate().getNumBitsAbs();for(vart=0!=this.high?this.high:this.low,r=31;r>0&&0==(t&1<<r);r--);return0!=this.high?r+33:r+1},i.prototype.isZero=function(){return0==this.high&&0==this.low},i.prototype.isNegative=function(){return!this.unsigned&&this.high<0},i.prototype.isOdd=function(){return1==(1&this.low)},i.prototype.isEven=function(){return0==(1&this.low)},i.prototype.equals=function(t){returnthis.unsigned!=t.unsigned&&this.high>>>31!=t.high>>>31?!1:this.high==t.high&&this.low==t.low},i.prototype.notEquals=function(t){return!this.equals(t)},i.prototype.lessThan=function(t){returnthis.compare(t)<0},i.prototype.lessThanOrEqual=function(t){returnthis.compare(t)<=0},i.prototype.greaterThan=function(t){returnthis.compare(t)>0},i.prototype.greaterThanOrEqual=function(t){returnthis.compare(t)>=0},i.prototype.compare=function(t){if(this.equals(t))return0;vari=this.isNegative(),r=t.isNegative();returni&&!r?-1:!i&&r?1:this.unsigned?t.high>>>0>this.high>>>0||t.high==this.high&&t.low>>>0>this.low>>>0?-1:1:this.subtract(t).isNegative()?-1:1},i.prototype.negate=function(){return!this.unsigned&&this.equals(i.MIN_SIGNED_VALUE)?i.MIN_SIGNED_VALUE:this.not().add(i.ONE)},i.prototype.add=function(t