diff --git a/README.md b/README.md index d760c924..121ca49e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -OpenPGP.js [![Build Status](https://travis-ci.org/openpgpjs/openpgpjs.svg?branch=master)](https://travis-ci.org/openpgpjs/openpgpjs) +OpenPGP.js [![Build Status](https://travis-ci.org/openpgpjs/openpgpjs.svg?branch=master)](https://travis-ci.org/openpgpjs/openpgpjs) [![Join the chat on Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/openpgpjs/openpgpjs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) ========== [OpenPGP.js](https://openpgpjs.org/) is a JavaScript implementation of the OpenPGP protocol. This is defined in [RFC 4880](https://tools.ietf.org/html/rfc4880). @@ -379,17 +379,17 @@ var options = { openpgp.generateKey(options).then(function(key) { var privkey = key.privateKeyArmored; // '-----BEGIN PGP PRIVATE KEY BLOCK ... ' var pubkey = key.publicKeyArmored; // '-----BEGIN PGP PUBLIC KEY BLOCK ... ' - var revocationSignature = key.revocationSignature; // '-----BEGIN PGP PUBLIC KEY BLOCK ... ' + var revocationCertificate = key.revocationCertificate; // '-----BEGIN PGP PUBLIC KEY BLOCK ... ' }); ``` #### Revoke a key -Using a revocation signature: +Using a revocation certificate: ```js var options = { key: openpgp.key.readArmored(pubkey).keys[0], - revocationSignature: revocationSignature + revocationCertificate: revocationCertificate }; ``` @@ -587,7 +587,7 @@ For debugging browser errors, you can open `test/unittests.html` in a browser or ### How do I get involved? -You want to help, great! Go ahead and fork our repo, make your changes and send us a pull request. +You want to help, great! It's probably best to send us a message on [Gitter](https://gitter.im/openpgpjs/openpgpjs) before you start your undertaking, to make sure nobody else is working on it, and so we can discuss the best course of action. Other than that, just go ahead and fork our repo, make your changes and send us a pull request! :) ### License diff --git a/bower.json b/bower.json index 8ac58877..eed4c6c7 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "openpgp", - "version": "4.2.2", + "version": "4.3.0", "license": "LGPL-3.0+", "homepage": "https://openpgpjs.org/", "authors": [ diff --git a/dist/compat/openpgp.js b/dist/compat/openpgp.js index d69a80b8..02b5343f 100644 --- a/dist/compat/openpgp.js +++ b/dist/compat/openpgp.js @@ -25583,6 +25583,8 @@ if (hadRuntime) { ); },{}],329:[function(_dereq_,module,exports){ +'use strict'; + /* node-bzip - a pure-javascript Node.JS module for decoding bzip2 data @@ -25615,14 +25617,14 @@ Robert Sedgewick, and Jon L. Bentley. var BITMASK = [0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF]; // offset in bytes -var BitReader = function(stream) { +var BitReader = function BitReader(stream) { this.stream = stream; this.bitOffset = 0; this.curByte = 0; this.hasByte = false; }; -BitReader.prototype._ensureByte = function() { +BitReader.prototype._ensureByte = function () { if (!this.hasByte) { this.curByte = this.stream.readByte(); this.hasByte = true; @@ -25630,7 +25632,7 @@ BitReader.prototype._ensureByte = function() { }; // reads bits from the buffer -BitReader.prototype.read = function(bits) { +BitReader.prototype.read = function (bits) { var result = 0; while (bits > 0) { this._ensureByte(); @@ -25645,7 +25647,7 @@ BitReader.prototype.read = function(bits) { } else { result <<= bits; var shift = remaining - bits; - result |= (this.curByte & (BITMASK[bits] << shift)) >> shift; + result |= (this.curByte & BITMASK[bits] << shift) >> shift; this.bitOffset += bits; bits = 0; } @@ -25654,7 +25656,7 @@ BitReader.prototype.read = function(bits) { }; // seek to an arbitrary point in the buffer (expressed in bits) -BitReader.prototype.seek = function(pos) { +BitReader.prototype.seek = function (pos) { var n_bit = pos % 8; var n_byte = (pos - n_bit) / 8; this.bitOffset = n_bit; @@ -25663,8 +25665,9 @@ BitReader.prototype.seek = function(pos) { }; // reads 6 bytes worth of data using the read method -BitReader.prototype.pi = function() { - var buf = new Uint8Array(6), i; +BitReader.prototype.pi = function () { + var buf = new Uint8Array(6), + i; for (i = 0; i < buf.length; i++) { buf[i] = this.read(8); } @@ -25672,12 +25675,16 @@ BitReader.prototype.pi = function() { }; function bufToHex(buf) { - return Array.prototype.map.call(buf, x => ('00' + x.toString(16)).slice(-2)).join(''); + return Array.prototype.map.call(buf, function (x) { + return ('00' + x.toString(16)).slice(-2); + }).join(''); } module.exports = BitReader; },{}],330:[function(_dereq_,module,exports){ +"use strict"; + /* CRC32, used in Bzip2 implementation. * This is a port of CRC32.java from the jbzip2 implementation at * https://code.google.com/p/jbzip2 @@ -25708,47 +25715,14 @@ module.exports = BitReader; * Copyright (c) 2013 C. Scott Ananian * with the same licensing terms as Matthew Francis' original implementation. */ -module.exports = (function() { +module.exports = function () { /** * A static CRC lookup table */ - var crc32Lookup = new Uint32Array([ - 0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005, - 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd, - 0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac, 0x5bd4b01b, 0x569796c2, 0x52568b75, - 0x6a1936c8, 0x6ed82b7f, 0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a, 0x745e66cd, - 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039, 0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, - 0xbe2b5b58, 0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033, 0xa4ad16ea, 0xa06c0b5d, - 0xd4326d90, 0xd0f37027, 0xddb056fe, 0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95, - 0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4, 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, - 0x34867077, 0x30476dc0, 0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5, 0x2ac12072, - 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16, 0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, - 0x7897ab07, 0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c, 0x6211e6b5, 0x66d0fb02, - 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1, 0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba, - 0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b, 0xbb60adfc, 0xb6238b25, 0xb2e29692, - 0x8aad2b2f, 0x8e6c3698, 0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d, 0x94ea7b2a, - 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e, 0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, - 0xc6bcf05f, 0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34, 0xdc3abded, 0xd8fba05a, - 0x690ce0ee, 0x6dcdfd59, 0x608edb80, 0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb, - 0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a, 0x58c1663d, 0x558240e4, 0x51435d53, - 0x251d3b9e, 0x21dc2629, 0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c, 0x3b5a6b9b, - 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff, 0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, - 0xf12f560e, 0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65, 0xeba91bbc, 0xef68060b, - 0xd727bbb6, 0xd3e6a601, 0xdea580d8, 0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3, - 0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2, 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, - 0x9b3660c6, 0x9ff77d71, 0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74, 0x857130c3, - 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640, 0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, - 0x7b827d21, 0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a, 0x61043093, 0x65c52d24, - 0x119b4be9, 0x155a565e, 0x18197087, 0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec, - 0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d, 0x2056cd3a, 0x2d15ebe3, 0x29d4f654, - 0xc5a92679, 0xc1683bce, 0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, 0xdbee767c, - 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18, 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, - 0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c, - 0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4 - ]); + var crc32Lookup = new Uint32Array([0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd, 0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac, 0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f, 0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a, 0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039, 0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58, 0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033, 0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe, 0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95, 0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4, 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0, 0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5, 0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16, 0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07, 0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c, 0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1, 0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba, 0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b, 0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698, 0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d, 0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e, 0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, 0xc6bcf05f, 0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34, 0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80, 0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb, 0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a, 0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629, 0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c, 0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff, 0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e, 0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65, 0xeba91bbc, 0xef68060b, 0xd727bbb6, 0xd3e6a601, 0xdea580d8, 0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3, 0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2, 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71, 0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74, 0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640, 0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21, 0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a, 0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0x18197087, 0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec, 0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d, 0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce, 0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, 0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18, 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4]); - var CRC32 = function() { + var CRC32 = function CRC32() { /** * The current CRC */ @@ -25757,16 +25731,16 @@ module.exports = (function() { /** * @return The current CRC */ - this.getCRC = function() { - return (~crc) >>> 0; // return an unsigned value + this.getCRC = function () { + return ~crc >>> 0; // return an unsigned value }; /** * Update the CRC with a single byte * @param value The value to update the CRC with */ - this.updateCRC = function(value) { - crc = (crc << 8) ^ crc32Lookup[((crc >>> 24) ^ value) & 0xff]; + this.updateCRC = function (value) { + crc = crc << 8 ^ crc32Lookup[(crc >>> 24 ^ value) & 0xff]; }; /** @@ -25774,16 +25748,18 @@ module.exports = (function() { * @param value The value to update the CRC with * @param count The number of bytes */ - this.updateCRCRun = function(value, count) { + this.updateCRCRun = function (value, count) { while (count-- > 0) { - crc = (crc << 8) ^ crc32Lookup[((crc >>> 24) ^ value) & 0xff]; + crc = crc << 8 ^ crc32Lookup[(crc >>> 24 ^ value) & 0xff]; } }; }; return CRC32; -})(); +}(); },{}],331:[function(_dereq_,module,exports){ +'use strict'; + /* seek-bzip - a pure-javascript module for seeking within bzip2 data @@ -25832,10 +25808,11 @@ var GROUP_SIZE = 50; var WHOLEPI = "314159265359"; var SQRTPI = "177245385090"; -var mtf = function(array, index) { - var src = array[index], i; +var mtf = function mtf(array, index) { + var src = array[index], + i; for (i = index; i > 0; i--) { - array[i] = array[i-1]; + array[i] = array[i - 1]; } array[0] = src; return src; @@ -25853,30 +25830,32 @@ var Err = { END_OF_BLOCK: -8 }; var ErrorMessages = {}; -ErrorMessages[Err.LAST_BLOCK] = "Bad file checksum"; -ErrorMessages[Err.NOT_BZIP_DATA] = "Not bzip data"; -ErrorMessages[Err.UNEXPECTED_INPUT_EOF] = "Unexpected input EOF"; +ErrorMessages[Err.LAST_BLOCK] = "Bad file checksum"; +ErrorMessages[Err.NOT_BZIP_DATA] = "Not bzip data"; +ErrorMessages[Err.UNEXPECTED_INPUT_EOF] = "Unexpected input EOF"; ErrorMessages[Err.UNEXPECTED_OUTPUT_EOF] = "Unexpected output EOF"; -ErrorMessages[Err.DATA_ERROR] = "Data error"; -ErrorMessages[Err.OUT_OF_MEMORY] = "Out of memory"; +ErrorMessages[Err.DATA_ERROR] = "Data error"; +ErrorMessages[Err.OUT_OF_MEMORY] = "Out of memory"; ErrorMessages[Err.OBSOLETE_INPUT] = "Obsolete (pre 0.9.5) bzip format not supported."; -var _throw = function(status, optDetail) { +var _throw = function _throw(status, optDetail) { var msg = ErrorMessages[status] || 'unknown error'; - if (optDetail) { msg += ': '+optDetail; } + if (optDetail) { + msg += ': ' + optDetail; + } var e = new TypeError(msg); e.errorCode = status; throw e; }; -var Bunzip = function(inputStream, outputStream) { +var Bunzip = function Bunzip(inputStream, outputStream) { this.writePos = this.writeCurrent = this.writeCount = 0; this._start_bunzip(inputStream, outputStream); }; -Bunzip.prototype._init_block = function() { +Bunzip.prototype._init_block = function () { var moreBlocks = this._get_next_block(); - if ( !moreBlocks ) { + if (!moreBlocks) { this.writeCount = -1; return false; /* no more blocks */ } @@ -25884,16 +25863,13 @@ Bunzip.prototype._init_block = function() { return true; }; /* XXX micro-bunzip uses (inputStream, inputBuffer, len) as arguments */ -Bunzip.prototype._start_bunzip = function(inputStream, outputStream) { +Bunzip.prototype._start_bunzip = function (inputStream, outputStream) { /* Ensure that file starts with "BZh['1'-'9']." */ var buf = new Uint8Array(4); - if (inputStream.read(buf, 0, 4) !== 4 || - String.fromCharCode(buf[0], buf[1], buf[2]) !== 'BZh') - _throw(Err.NOT_BZIP_DATA, 'bad magic'); + if (inputStream.read(buf, 0, 4) !== 4 || String.fromCharCode(buf[0], buf[1], buf[2]) !== 'BZh') _throw(Err.NOT_BZIP_DATA, 'bad magic'); var level = buf[3] - 0x30; - if (level < 1 || level > 9) - _throw(Err.NOT_BZIP_DATA, 'level out of range'); + if (level < 1 || level > 9) _throw(Err.NOT_BZIP_DATA, 'level out of range'); this.reader = new BitReader(inputStream); @@ -25904,78 +25880,75 @@ Bunzip.prototype._start_bunzip = function(inputStream, outputStream) { this.outputStream = outputStream; this.streamCRC = 0; }; -Bunzip.prototype._get_next_block = function() { +Bunzip.prototype._get_next_block = function () { var i, j, k; var reader = this.reader; // this is get_next_block() function from micro-bunzip: /* Read in header signature and CRC, then validate signature. (last block signature means CRC is for whole file, return now) */ var h = reader.pi(); - if (h === SQRTPI) { // last block + if (h === SQRTPI) { + // last block return false; /* no more blocks */ } - if (h !== WHOLEPI) - _throw(Err.NOT_BZIP_DATA); + if (h !== WHOLEPI) _throw(Err.NOT_BZIP_DATA); this.targetBlockCRC = reader.read(32) >>> 0; // (convert to unsigned) - this.streamCRC = (this.targetBlockCRC ^ - ((this.streamCRC << 1) | (this.streamCRC>>>31))) >>> 0; + this.streamCRC = (this.targetBlockCRC ^ (this.streamCRC << 1 | this.streamCRC >>> 31)) >>> 0; /* We can add support for blockRandomised if anybody complains. There was some code for this in busybox 1.0.0-pre3, but nobody ever noticed that it didn't actually work. */ - if (reader.read(1)) - _throw(Err.OBSOLETE_INPUT); + if (reader.read(1)) _throw(Err.OBSOLETE_INPUT); var origPointer = reader.read(24); - if (origPointer > this.dbufSize) - _throw(Err.DATA_ERROR, 'initial position out of bounds'); + if (origPointer > this.dbufSize) _throw(Err.DATA_ERROR, 'initial position out of bounds'); /* mapping table: if some byte values are never used (encoding things like ascii text), the compression code removes the gaps to have fewer symbols to deal with, and writes a sparse bitfield indicating which values were present. We make a translation table to convert the symbols back to the corresponding bytes. */ var t = reader.read(16); - var symToByte = new Uint8Array(256), symTotal = 0; + var symToByte = new Uint8Array(256), + symTotal = 0; for (i = 0; i < 16; i++) { - if (t & (1 << (0xF - i))) { + if (t & 1 << 0xF - i) { var o = i * 16; k = reader.read(16); - for (j = 0; j < 16; j++) - if (k & (1 << (0xF - j))) - symToByte[symTotal++] = o + j; + for (j = 0; j < 16; j++) { + if (k & 1 << 0xF - j) symToByte[symTotal++] = o + j; + } } } /* How many different huffman coding groups does this block use? */ var groupCount = reader.read(3); - if (groupCount < MIN_GROUPS || groupCount > MAX_GROUPS) - _throw(Err.DATA_ERROR); + if (groupCount < MIN_GROUPS || groupCount > MAX_GROUPS) _throw(Err.DATA_ERROR); /* nSelectors: Every GROUP_SIZE many symbols we select a new huffman coding group. Read in the group selector list, which is stored as MTF encoded bit runs. (MTF=Move To Front, as each value is used it's moved to the start of the list.) */ var nSelectors = reader.read(15); - if (nSelectors === 0) - _throw(Err.DATA_ERROR); + if (nSelectors === 0) _throw(Err.DATA_ERROR); var mtfSymbol = new Uint8Array(256); - for (i = 0; i < groupCount; i++) + for (i = 0; i < groupCount; i++) { mtfSymbol[i] = i; - - var selectors = new Uint8Array(nSelectors); // was 32768... + }var selectors = new Uint8Array(nSelectors); // was 32768... for (i = 0; i < nSelectors; i++) { /* Get next value */ - for (j = 0; reader.read(1); j++) + for (j = 0; reader.read(1); j++) { if (j >= groupCount) _throw(Err.DATA_ERROR); - /* Decode MTF to get the next selector */ + } /* Decode MTF to get the next selector */ selectors[i] = mtf(mtfSymbol, j); } /* Read the huffman coding tables for each group, which code for symTotal literal symbols, plus two run symbols (RUNA, RUNB) */ var symCount = symTotal + 2; - var groups = [], hufGroup; + var groups = [], + hufGroup; for (j = 0; j < groupCount; j++) { - var length = new Uint8Array(symCount), temp = new Uint16Array(MAX_HUFCODE_BITS + 1); + var length = new Uint8Array(symCount), + temp = new Uint16Array(MAX_HUFCODE_BITS + 1); /* Read huffman code lengths for each symbol. They're stored in a way similar to mtf; record a starting value for the first symbol, and an offset from the previous value for everys symbol after that. */ @@ -25985,24 +25958,17 @@ Bunzip.prototype._get_next_block = function() { if (t < 1 || t > MAX_HUFCODE_BITS) _throw(Err.DATA_ERROR); /* If first bit is 0, stop. Else second bit indicates whether to increment or decrement the value. */ - if(!reader.read(1)) - break; - if(!reader.read(1)) - t++; - else - t--; + if (!reader.read(1)) break; + if (!reader.read(1)) t++;else t--; } length[i] = t; } /* Find largest and smallest lengths in this group */ - var minLen, maxLen; + var minLen, maxLen; minLen = maxLen = length[0]; for (i = 1; i < symCount; i++) { - if (length[i] > maxLen) - maxLen = length[i]; - else if (length[i] < minLen) - minLen = length[i]; + if (length[i] > maxLen) maxLen = length[i];else if (length[i] < minLen) minLen = length[i]; } /* Calculate permute[], base[], and limit[] tables from length[]. @@ -26026,17 +25992,17 @@ Bunzip.prototype._get_next_block = function() { var pp = 0; for (i = minLen; i <= maxLen; i++) { temp[i] = hufGroup.limit[i] = 0; - for (t = 0; t < symCount; t++) - if (length[t] === i) - hufGroup.permute[pp++] = t; + for (t = 0; t < symCount; t++) { + if (length[t] === i) hufGroup.permute[pp++] = t; + } } /* Count symbols coded for at each bit length */ - for (i = 0; i < symCount; i++) + for (i = 0; i < symCount; i++) { temp[length[i]]++; - /* Calculate limit[] (the largest symbol-coding value at each bit - * length, which is (previous limit<<1)+symbols at this level), and - * base[] (number of symbols to ignore at each bit length, which is - * limit minus the cumulative count of symbols coded for already). */ + } /* Calculate limit[] (the largest symbol-coding value at each bit + * length, which is (previous limit<<1)+symbols at this level), and + * base[] (number of symbols to ignore at each bit length, which is + * limit minus the cumulative count of symbols coded for already). */ pp = t = 0; for (i = minLen; i < maxLen; i++) { pp += temp[i]; @@ -26061,31 +26027,39 @@ Bunzip.prototype._get_next_block = function() { /* Initialize symbol occurrence counters and symbol Move To Front table */ var byteCount = new Uint32Array(256); - for (i = 0; i < 256; i++) + for (i = 0; i < 256; i++) { mtfSymbol[i] = i; - /* Loop through compressed symbols. */ - var runPos = 0, dbufCount = 0, selector = 0, uc; + } /* Loop through compressed symbols. */ + var runPos = 0, + dbufCount = 0, + selector = 0, + uc; var dbuf = this.dbuf = new Uint32Array(this.dbufSize); symCount = 0; for (;;) { /* Determine which huffman coding group to use. */ - if (!(symCount--)) { + if (!symCount--) { symCount = GROUP_SIZE - 1; - if (selector >= nSelectors) { _throw(Err.DATA_ERROR); } + if (selector >= nSelectors) { + _throw(Err.DATA_ERROR); + } hufGroup = groups[selectors[selector++]]; } /* Read next huffman-coded symbol. */ i = hufGroup.minLen; j = reader.read(i); - for (;;i++) { - if (i > hufGroup.maxLen) { _throw(Err.DATA_ERROR); } - if (j <= hufGroup.limit[i]) - break; - j = (j << 1) | reader.read(1); + for (;; i++) { + if (i > hufGroup.maxLen) { + _throw(Err.DATA_ERROR); + } + if (j <= hufGroup.limit[i]) break; + j = j << 1 | reader.read(1); } /* Huffman decode value to get nextSym (with bounds checking) */ j -= hufGroup.base[i]; - if (j < 0 || j >= MAX_SYMBOLS) { _throw(Err.DATA_ERROR); } + if (j < 0 || j >= MAX_SYMBOLS) { + _throw(Err.DATA_ERROR); + } var nextSym = hufGroup.permute[j]; /* We have now decoded the symbol, which indicates either a new literal byte, or a repeated run of the most recent literal byte. First, @@ -26093,7 +26067,7 @@ Bunzip.prototype._get_next_block = function() { how many times to repeat the last literal. */ if (nextSym === SYMBOL_RUNA || nextSym === SYMBOL_RUNB) { /* If this is the start of a new run, zero out counter */ - if (!runPos){ + if (!runPos) { runPos = 1; t = 0; } @@ -26104,10 +26078,7 @@ Bunzip.prototype._get_next_block = function() { the basic or 0/1 method (except all bits 0, which would use no symbols, but a run of length 0 doesn't mean anything in this context). Thus space is saved. */ - if (nextSym === SYMBOL_RUNA) - t += runPos; - else - t += 2 * runPos; + if (nextSym === SYMBOL_RUNA) t += runPos;else t += 2 * runPos; runPos <<= 1; continue; } @@ -26115,17 +26086,19 @@ Bunzip.prototype._get_next_block = function() { how many times to repeat the last literal, so append that many copies to our buffer of decoded symbols (dbuf) now. (The last literal used is the one at the head of the mtfSymbol array.) */ - if (runPos){ + if (runPos) { runPos = 0; - if (dbufCount + t > this.dbufSize) { _throw(Err.DATA_ERROR); } + if (dbufCount + t > this.dbufSize) { + _throw(Err.DATA_ERROR); + } uc = symToByte[mtfSymbol[0]]; byteCount[uc] += t; - while (t--) + while (t--) { dbuf[dbufCount++] = uc; + } } /* Is this the terminating symbol? */ - if (nextSym > symTotal) - break; + if (nextSym > symTotal) break; /* At this point, nextSym indicates a new literal character. Subtract one to get the position in the MTF array at which this literal is currently to be found. (Note that the result can't be -1 or 0, @@ -26133,7 +26106,9 @@ Bunzip.prototype._get_next_block = function() { first symbol in the mtf array, position 0, would have been handled as part of a run above. Therefore 1 unused mtf position minus 2 non-literal nextSym values equals -1.) */ - if (dbufCount >= this.dbufSize) { _throw(Err.DATA_ERROR); } + if (dbufCount >= this.dbufSize) { + _throw(Err.DATA_ERROR); + } i = nextSym - 1; uc = mtf(mtfSymbol, i); uc = symToByte[uc]; @@ -26147,7 +26122,9 @@ Bunzip.prototype._get_next_block = function() { Now undo the Burrows-Wheeler transform on dbuf. See http://dogma.net/markn/articles/bwt/bwt.htm */ - if (origPointer < 0 || origPointer >= dbufCount) { _throw(Err.DATA_ERROR); } + if (origPointer < 0 || origPointer >= dbufCount) { + _throw(Err.DATA_ERROR); + } /* Turn byteCount into cumulative occurrence counts of 0 to n-1. */ j = 0; for (i = 0; i < 256; i++) { @@ -26158,16 +26135,18 @@ Bunzip.prototype._get_next_block = function() { /* Figure out what order dbuf would be in if we sorted it. */ for (i = 0; i < dbufCount; i++) { uc = dbuf[i] & 0xff; - dbuf[byteCount[uc]] |= (i << 8); + dbuf[byteCount[uc]] |= i << 8; byteCount[uc]++; } /* Decode first byte by hand to initialize "previous" byte. Note that it doesn't get output, and if the first three characters are identical it doesn't qualify as a run (hence writeRunCountdown=5). */ - var pos = 0, current = 0, run = 0; + var pos = 0, + current = 0, + run = 0; if (dbufCount) { pos = dbuf[origPointer]; - current = (pos & 0xff); + current = pos & 0xff; pos >>= 8; run = -1; } @@ -26184,17 +26163,22 @@ Bunzip.prototype._get_next_block = function() { error (all errors are negative numbers). If out_fd!=-1, outbuf and len are ignored, data is written to out_fd and return is RETVAL_OK or error. */ -Bunzip.prototype._read_bunzip = function(outputBuffer, len) { - var copies, previous, outbyte; - /* james@jamestaylor.org: writeCount goes to -1 when the buffer is fully - decoded, which results in this returning RETVAL_LAST_BLOCK, also - equal to -1... Confusing, I'm returning 0 here to indicate no - bytes written into the buffer */ - if (this.writeCount < 0) { return 0; } +Bunzip.prototype._read_bunzip = function (outputBuffer, len) { + var copies, previous, outbyte; + /* james@jamestaylor.org: writeCount goes to -1 when the buffer is fully + decoded, which results in this returning RETVAL_LAST_BLOCK, also + equal to -1... Confusing, I'm returning 0 here to indicate no + bytes written into the buffer */ + if (this.writeCount < 0) { + return 0; + } var gotcount = 0; - var dbuf = this.dbuf, pos = this.writePos, current = this.writeCurrent; - var dbufCount = this.writeCount, outputsize = this.outputsize; + var dbuf = this.dbuf, + pos = this.writePos, + current = this.writeCurrent; + var dbufCount = this.writeCount, + outputsize = this.outputsize; var run = this.writeRun; while (dbufCount) { @@ -26203,7 +26187,7 @@ Bunzip.prototype._read_bunzip = function(outputBuffer, len) { pos = dbuf[pos]; current = pos & 0xff; pos >>= 8; - if (run++ === 3){ + if (run++ === 3) { copies = current; outbyte = previous; current = -1; @@ -26216,33 +26200,38 @@ Bunzip.prototype._read_bunzip = function(outputBuffer, len) { this.outputStream.writeByte(outbyte); this.nextoutput++; } - if (current != previous) - run = 0; + if (current != previous) run = 0; } this.writeCount = dbufCount; // check CRC if (this.blockCRC.getCRC() !== this.targetBlockCRC) { - _throw(Err.DATA_ERROR, "Bad block CRC "+ - "(got "+this.blockCRC.getCRC().toString(16)+ - " expected "+this.targetBlockCRC.toString(16)+")"); + _throw(Err.DATA_ERROR, "Bad block CRC " + "(got " + this.blockCRC.getCRC().toString(16) + " expected " + this.targetBlockCRC.toString(16) + ")"); } return this.nextoutput; }; -var coerceInputStream = function(input) { - if ('readByte' in input) { return input; } +var coerceInputStream = function coerceInputStream(input) { + if ('readByte' in input) { + return input; + } var inputStream = new Stream(); inputStream.pos = 0; - inputStream.readByte = function() { return input[this.pos++]; }; - inputStream.seek = function(pos) { this.pos = pos; }; - inputStream.eof = function() { return this.pos >= input.length; }; + inputStream.readByte = function () { + return input[this.pos++]; + }; + inputStream.seek = function (pos) { + this.pos = pos; + }; + inputStream.eof = function () { + return this.pos >= input.length; + }; return inputStream; }; -var coerceOutputStream = function(output) { +var coerceOutputStream = function coerceOutputStream(output) { var outputStream = new Stream(); var resizeOk = true; if (output) { - if (typeof(output)==='number') { + if (typeof output === 'number') { outputStream.buffer = new Uint8Array(output); resizeOk = false; } else if ('writeByte' in output) { @@ -26255,19 +26244,18 @@ var coerceOutputStream = function(output) { outputStream.buffer = new Uint8Array(16384); } outputStream.pos = 0; - outputStream.writeByte = function(_byte) { + outputStream.writeByte = function (_byte) { if (resizeOk && this.pos >= this.buffer.length) { - var newBuffer = new Uint8Array(this.buffer.length*2); + var newBuffer = new Uint8Array(this.buffer.length * 2); newBuffer.set(this.buffer); this.buffer = newBuffer; } this.buffer[this.pos++] = _byte; }; - outputStream.getBuffer = function() { + outputStream.getBuffer = function () { // trim buffer if (this.pos !== this.buffer.length) { - if (!resizeOk) - throw new TypeError('outputsize does not match decoded input'); + if (!resizeOk) throw new TypeError('outputsize does not match decoded input'); var newBuffer = new Uint8Array(this.pos); newBuffer.set(this.buffer.subarray(0, this.pos)); this.buffer = newBuffer; @@ -26282,7 +26270,7 @@ var coerceOutputStream = function(output) { Bunzip.Err = Err; // 'input' can be a stream or a buffer // 'output' can be a stream or a buffer or a number (buffer size) -Bunzip.decode = function(input, output, multistream) { +Bunzip.decode = function (input, output, multistream) { // make a stream from a buffer, if necessary var inputStream = coerceInputStream(input); var outputStream = coerceOutputStream(output); @@ -26295,22 +26283,17 @@ Bunzip.decode = function(input, output, multistream) { } else { var targetStreamCRC = bz.reader.read(32) >>> 0; // (convert to unsigned) if (targetStreamCRC !== bz.streamCRC) { - _throw(Err.DATA_ERROR, "Bad stream CRC "+ - "(got "+bz.streamCRC.toString(16)+ - " expected "+targetStreamCRC.toString(16)+")"); + _throw(Err.DATA_ERROR, "Bad stream CRC " + "(got " + bz.streamCRC.toString(16) + " expected " + targetStreamCRC.toString(16) + ")"); } - if (multistream && - 'eof' in inputStream && - !inputStream.eof()) { + if (multistream && 'eof' in inputStream && !inputStream.eof()) { // note that start_bunzip will also resync the bit reader to next byte bz._start_bunzip(inputStream, outputStream); } else break; } } - if ('getBuffer' in outputStream) - return outputStream.getBuffer(); + if ('getBuffer' in outputStream) return outputStream.getBuffer(); }; -Bunzip.decodeBlock = function(input, pos, output) { +Bunzip.decodeBlock = function (input, pos, output) { // make a stream from a buffer, if necessary var inputStream = coerceInputStream(input); var outputStream = coerceOutputStream(output); @@ -26329,19 +26312,18 @@ Bunzip.decodeBlock = function(input, pos, output) { bz._read_bunzip(); // XXX keep writing? } - if ('getBuffer' in outputStream) - return outputStream.getBuffer(); + if ('getBuffer' in outputStream) return outputStream.getBuffer(); }; /* Reads bzip2 file from stream or buffer `input`, and invoke * `callback(position, size)` once for each bzip2 block, * where position gives the starting position (in *bits*) * and size gives uncompressed size of the block (in *bytes*). */ -Bunzip.table = function(input, callback, multistream) { +Bunzip.table = function (input, callback, multistream) { // make a stream from a buffer, if necessary var inputStream = new Stream(); inputStream.delegate = coerceInputStream(input); inputStream.pos = 0; - inputStream.readByte = function() { + inputStream.readByte = function () { this.pos++; return this.delegate.readByte(); }; @@ -26350,15 +26332,19 @@ Bunzip.table = function(input, callback, multistream) { } var outputStream = new Stream(); outputStream.pos = 0; - outputStream.writeByte = function() { this.pos++; }; + outputStream.writeByte = function () { + this.pos++; + }; var bz = new Bunzip(inputStream, outputStream); var blockSize = bz.dbufSize; while (true) { if ('eof' in inputStream && inputStream.eof()) break; - var position = inputStream.pos*8 + bz.reader.bitOffset; - if (bz.reader.hasByte) { position -= 8; } + var position = inputStream.pos * 8 + bz.reader.bitOffset; + if (bz.reader.hasByte) { + position -= 8; + } if (bz._init_block()) { var start = outputStream.pos; @@ -26366,13 +26352,10 @@ Bunzip.table = function(input, callback, multistream) { callback(position, outputStream.pos - start); } else { var crc = bz.reader.read(32); // (but we ignore the crc) - if (multistream && - 'eof' in inputStream && - !inputStream.eof()) { + if (multistream && 'eof' in inputStream && !inputStream.eof()) { // note that start_bunzip will also resync the bit reader to next byte bz._start_bunzip(inputStream, outputStream); - console.assert(bz.dbufSize === blockSize, - "shouldn't change block size within multistream file"); + console.assert(bz.dbufSize === blockSize, "shouldn't change block size within multistream file"); } else break; } } @@ -26386,46 +26369,47 @@ Bunzip.license = pjson.license; module.exports = Bunzip; },{"../package.json":333,"./bitreader":329,"./crc32":330,"./stream":332}],332:[function(_dereq_,module,exports){ +"use strict"; + /* very simple input/output stream interface */ -var Stream = function() { -}; +var Stream = function Stream() {}; // input streams ////////////// /** Returns the next byte, or -1 for EOF. */ -Stream.prototype.readByte = function() { +Stream.prototype.readByte = function () { throw new Error("abstract method readByte() not implemented"); }; /** Attempts to fill the buffer; returns number of bytes read, or * -1 for EOF. */ -Stream.prototype.read = function(buffer, bufOffset, length) { +Stream.prototype.read = function (buffer, bufOffset, length) { var bytesRead = 0; while (bytesRead < length) { var c = this.readByte(); - if (c < 0) { // EOF - return (bytesRead===0) ? -1 : bytesRead; + if (c < 0) { + // EOF + return bytesRead === 0 ? -1 : bytesRead; } buffer[bufOffset++] = c; bytesRead++; } return bytesRead; }; -Stream.prototype.seek = function(new_pos) { +Stream.prototype.seek = function (new_pos) { throw new Error("abstract method seek() not implemented"); }; // output streams /////////// -Stream.prototype.writeByte = function(_byte) { +Stream.prototype.writeByte = function (_byte) { throw new Error("abstract method readByte() not implemented"); }; -Stream.prototype.write = function(buffer, bufOffset, length) { +Stream.prototype.write = function (buffer, bufOffset, length) { var i; - for (i=0; i= 1) { + // If it is included and not in first place, + algos.splice(configIndex, 1); // remove it. + } + if (configIndex !== 0) { + // If it was included and not in first place, or wasn't included, + algos.unshift(configAlgo); // add it to the front. + } + } + return algos; + }; + userIdPacket = new _packet2.default.Userid(); userIdPacket.format(userId); @@ -40050,33 +40037,23 @@ var wrapKeyObject = function () { signaturePacket.signatureType = _enums2.default.signature.cert_generic; signaturePacket.publicKeyAlgorithm = secretKeyPacket.algorithm; - _context53.next = 10; + _context53.next = 11; return getPreferredHashAlgo(null, secretKeyPacket); - case 10: + case 11: signaturePacket.hashAlgorithm = _context53.sent; signaturePacket.keyFlags = [_enums2.default.keyFlags.certify_keys | _enums2.default.keyFlags.sign_data]; - signaturePacket.preferredSymmetricAlgorithms = []; + signaturePacket.preferredSymmetricAlgorithms = createdPreferredAlgos([ // prefer aes256, aes128, then aes192 (no WebCrypto support: https://www.chromium.org/blink/webcrypto#TOC-AES-support) - signaturePacket.preferredSymmetricAlgorithms.push(_enums2.default.symmetric.aes256); - signaturePacket.preferredSymmetricAlgorithms.push(_enums2.default.symmetric.aes128); - signaturePacket.preferredSymmetricAlgorithms.push(_enums2.default.symmetric.aes192); - signaturePacket.preferredSymmetricAlgorithms.push(_enums2.default.symmetric.cast5); - signaturePacket.preferredSymmetricAlgorithms.push(_enums2.default.symmetric.tripledes); + _enums2.default.symmetric.aes256, _enums2.default.symmetric.aes128, _enums2.default.symmetric.aes192, _enums2.default.symmetric.cast5, _enums2.default.symmetric.tripledes], _config2.default.encryption_cipher); if (_config2.default.aead_protect && _config2.default.aead_protect_version === 4) { - signaturePacket.preferredAeadAlgorithms = []; - signaturePacket.preferredAeadAlgorithms.push(_enums2.default.aead.eax); - signaturePacket.preferredAeadAlgorithms.push(_enums2.default.aead.ocb); + signaturePacket.preferredAeadAlgorithms = createdPreferredAlgos([_enums2.default.aead.eax, _enums2.default.aead.ocb], _config2.default.aead_mode); } - signaturePacket.preferredHashAlgorithms = []; + signaturePacket.preferredHashAlgorithms = createdPreferredAlgos([ // prefer fast asm.js implementations (SHA-256). SHA-1 will not be secure much longer...move to bottom of list - signaturePacket.preferredHashAlgorithms.push(_enums2.default.hash.sha256); - signaturePacket.preferredHashAlgorithms.push(_enums2.default.hash.sha512); - signaturePacket.preferredHashAlgorithms.push(_enums2.default.hash.sha1); - signaturePacket.preferredCompressionAlgorithms = []; - signaturePacket.preferredCompressionAlgorithms.push(_enums2.default.compression.zlib); - signaturePacket.preferredCompressionAlgorithms.push(_enums2.default.compression.zip); + _enums2.default.hash.sha256, _enums2.default.hash.sha512, _enums2.default.hash.sha1], _config2.default.prefer_hash_algorithm); + signaturePacket.preferredCompressionAlgorithms = createdPreferredAlgos([_enums2.default.compression.zlib, _enums2.default.compression.zip], _config2.default.compression); if (index === 0) { signaturePacket.isPrimaryUserID = true; } @@ -40093,13 +40070,13 @@ var wrapKeyObject = function () { signaturePacket.keyExpirationTime = options.keyExpirationTime; signaturePacket.keyNeverExpires = false; } - _context53.next = 32; + _context53.next = 23; return signaturePacket.sign(secretKeyPacket, dataToSign); - case 32: + case 23: return _context53.abrupt('return', { userIdPacket: userIdPacket, signaturePacket: signaturePacket }); - case 33: + case 24: case 'end': return _context53.stop(); } @@ -40462,7 +40439,7 @@ var getPreferredAlgo = exports.getPreferredAlgo = function () { switch (_context61.prev = _context61.next) { case 0: prefProperty = type === 'symmetric' ? 'preferredSymmetricAlgorithms' : 'preferredAeadAlgorithms'; - defaultAlgo = type === 'symmetric' ? _config2.default.encryption_cipher : _config2.default.aead_mode; + defaultAlgo = type === 'symmetric' ? _enums2.default.symmetric.aes128 : _enums2.default.aead.eax; prioMap = {}; _context61.next = 5; return _promise2.default.all(keys.map(function () { @@ -44003,40 +43980,40 @@ var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); * @async */ var encryptSessionKey = exports.encryptSessionKey = function () { - var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(sessionKey, symAlgo, aeadAlgo, publicKeys, passwords) { + var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(sessionKey, symAlgo, aeadAlgo, publicKeys, passwords) { var wildcard = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; var date = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : new Date(); var userId = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : {}; var packetlist, results, testDecrypt, sum, encryptPassword, _results; - return _regenerator2.default.wrap(function _callee11$(_context11) { + return _regenerator2.default.wrap(function _callee12$(_context12) { while (1) { - switch (_context11.prev = _context11.next) { + switch (_context12.prev = _context12.next) { case 0: packetlist = new _packet2.default.List(); if (!publicKeys) { - _context11.next = 6; + _context12.next = 6; break; } - _context11.next = 4; + _context12.next = 4; return _promise2.default.all(publicKeys.map(function () { - var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(publicKey) { + var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(publicKey) { var encryptionKey, pkESKeyPacket; - return _regenerator2.default.wrap(function _callee8$(_context8) { + return _regenerator2.default.wrap(function _callee9$(_context9) { while (1) { - switch (_context8.prev = _context8.next) { + switch (_context9.prev = _context9.next) { case 0: - _context8.next = 2; + _context9.next = 2; return publicKey.getEncryptionKey(undefined, date, userId); case 2: - encryptionKey = _context8.sent; + encryptionKey = _context9.sent; if (encryptionKey) { - _context8.next = 5; + _context9.next = 5; break; } @@ -44049,65 +44026,65 @@ var encryptSessionKey = exports.encryptSessionKey = function () { pkESKeyPacket.publicKeyAlgorithm = encryptionKey.keyPacket.algorithm; pkESKeyPacket.sessionKey = sessionKey; pkESKeyPacket.sessionKeyAlgorithm = symAlgo; - _context8.next = 12; + _context9.next = 12; return pkESKeyPacket.encrypt(encryptionKey.keyPacket); case 12: delete pkESKeyPacket.sessionKey; // delete plaintext session key after encryption - return _context8.abrupt('return', pkESKeyPacket); + return _context9.abrupt('return', pkESKeyPacket); case 14: case 'end': - return _context8.stop(); + return _context9.stop(); } } - }, _callee8, this); + }, _callee9, this); })); - return function (_x26) { - return _ref9.apply(this, arguments); + return function (_x27) { + return _ref10.apply(this, arguments); }; }())); case 4: - results = _context11.sent; + results = _context12.sent; packetlist.concat(results); case 6: if (!passwords) { - _context11.next = 14; + _context12.next = 14; break; } testDecrypt = function () { - var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(keyPacket, password) { - return _regenerator2.default.wrap(function _callee9$(_context9) { + var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(keyPacket, password) { + return _regenerator2.default.wrap(function _callee10$(_context10) { while (1) { - switch (_context9.prev = _context9.next) { + switch (_context10.prev = _context10.next) { case 0: - _context9.prev = 0; - _context9.next = 3; + _context10.prev = 0; + _context10.next = 3; return keyPacket.decrypt(password); case 3: - return _context9.abrupt('return', 1); + return _context10.abrupt('return', 1); case 6: - _context9.prev = 6; - _context9.t0 = _context9['catch'](0); - return _context9.abrupt('return', 0); + _context10.prev = 6; + _context10.t0 = _context10['catch'](0); + return _context10.abrupt('return', 0); case 9: case 'end': - return _context9.stop(); + return _context10.stop(); } } - }, _callee9, this, [[0, 6]]); + }, _callee10, this, [[0, 6]]); })); - return function testDecrypt(_x27, _x28) { - return _ref10.apply(this, arguments); + return function testDecrypt(_x28, _x29) { + return _ref11.apply(this, arguments); }; }(); @@ -44116,12 +44093,12 @@ var encryptSessionKey = exports.encryptSessionKey = function () { }; encryptPassword = function () { - var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(sessionKey, symAlgo, aeadAlgo, password) { + var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(sessionKey, symAlgo, aeadAlgo, password) { var symEncryptedSessionKeyPacket, _results2; - return _regenerator2.default.wrap(function _callee10$(_context10) { + return _regenerator2.default.wrap(function _callee11$(_context11) { while (1) { - switch (_context10.prev = _context10.next) { + switch (_context11.prev = _context11.next) { case 0: symEncryptedSessionKeyPacket = new _packet2.default.SymEncryptedSessionKey(); @@ -44130,71 +44107,71 @@ var encryptSessionKey = exports.encryptSessionKey = function () { if (aeadAlgo) { symEncryptedSessionKeyPacket.aeadAlgorithm = aeadAlgo; } - _context10.next = 6; + _context11.next = 6; return symEncryptedSessionKeyPacket.encrypt(password); case 6: if (!_config2.default.password_collision_check) { - _context10.next = 12; + _context11.next = 12; break; } - _context10.next = 9; + _context11.next = 9; return _promise2.default.all(passwords.map(function (pwd) { return testDecrypt(symEncryptedSessionKeyPacket, pwd); })); case 9: - _results2 = _context10.sent; + _results2 = _context11.sent; if (!(_results2.reduce(sum) !== 1)) { - _context10.next = 12; + _context11.next = 12; break; } - return _context10.abrupt('return', encryptPassword(sessionKey, symAlgo, password)); + return _context11.abrupt('return', encryptPassword(sessionKey, symAlgo, password)); case 12: delete symEncryptedSessionKeyPacket.sessionKey; // delete plaintext session key after encryption - return _context10.abrupt('return', symEncryptedSessionKeyPacket); + return _context11.abrupt('return', symEncryptedSessionKeyPacket); case 14: case 'end': - return _context10.stop(); + return _context11.stop(); } } - }, _callee10, this); + }, _callee11, this); })); - return function encryptPassword(_x29, _x30, _x31, _x32) { - return _ref11.apply(this, arguments); + return function encryptPassword(_x30, _x31, _x32, _x33) { + return _ref12.apply(this, arguments); }; }(); - _context11.next = 12; + _context12.next = 12; return _promise2.default.all(passwords.map(function (pwd) { return encryptPassword(sessionKey, symAlgo, aeadAlgo, pwd); })); case 12: - _results = _context11.sent; + _results = _context12.sent; packetlist.concat(_results); case 14: - return _context11.abrupt('return', new Message(packetlist)); + return _context12.abrupt('return', new Message(packetlist)); case 15: case 'end': - return _context11.stop(); + return _context12.stop(); } } - }, _callee11, this); + }, _callee12, this); })); - return function encryptSessionKey(_x18, _x19, _x20, _x21, _x22) { - return _ref8.apply(this, arguments); + return function encryptSessionKey(_x19, _x20, _x21, _x22, _x23) { + return _ref9.apply(this, arguments); }; }(); @@ -44220,7 +44197,7 @@ var encryptSessionKey = exports.encryptSessionKey = function () { * @async */ var createSignaturePackets = exports.createSignaturePackets = function () { - var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(literalDataPacket, privateKeys) { + var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(literalDataPacket, privateKeys) { var signature = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var _this = this; @@ -44228,57 +44205,57 @@ var createSignaturePackets = exports.createSignaturePackets = function () { var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); var userId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; var packetlist, signatureType, existingSigPacketlist; - return _regenerator2.default.wrap(function _callee16$(_context16) { + return _regenerator2.default.wrap(function _callee17$(_context17) { while (1) { - switch (_context16.prev = _context16.next) { + switch (_context17.prev = _context17.next) { case 0: packetlist = new _packet2.default.List(); // If data packet was created from Uint8Array, use binary, otherwise use text signatureType = literalDataPacket.text === null ? _enums2.default.signature.binary : _enums2.default.signature.text; - _context16.next = 4; + _context17.next = 4; return _promise2.default.all(privateKeys.map(function () { - var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(privateKey) { + var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(privateKey) { var signingKey; - return _regenerator2.default.wrap(function _callee15$(_context15) { + return _regenerator2.default.wrap(function _callee16$(_context16) { while (1) { - switch (_context15.prev = _context15.next) { + switch (_context16.prev = _context16.next) { case 0: if (!privateKey.isPublic()) { - _context15.next = 2; + _context16.next = 2; break; } throw new Error('Need private key for signing'); case 2: - _context15.next = 4; + _context16.next = 4; return privateKey.getSigningKey(undefined, date, userId); case 4: - signingKey = _context15.sent; + signingKey = _context16.sent; if (signingKey) { - _context15.next = 7; + _context16.next = 7; break; } throw new Error('Could not find valid signing key packet in key ' + privateKey.getKeyId().toHex()); case 7: - return _context15.abrupt('return', (0, _key.createSignaturePacket)(literalDataPacket, privateKey, signingKey.keyPacket, { signatureType: signatureType }, date, userId)); + return _context16.abrupt('return', (0, _key.createSignaturePacket)(literalDataPacket, privateKey, signingKey.keyPacket, { signatureType: signatureType }, date, userId)); case 8: case 'end': - return _context15.stop(); + return _context16.stop(); } } - }, _callee15, _this); + }, _callee16, _this); })); - return function (_x48) { - return _ref16.apply(this, arguments); + return function (_x49) { + return _ref17.apply(this, arguments); }; }())).then(function (signatureList) { signatureList.forEach(function (signaturePacket) { @@ -44293,18 +44270,18 @@ var createSignaturePackets = exports.createSignaturePackets = function () { packetlist.concat(existingSigPacketlist); } - return _context16.abrupt('return', packetlist); + return _context17.abrupt('return', packetlist); case 6: case 'end': - return _context16.stop(); + return _context17.stop(); } } - }, _callee16, this); + }, _callee17, this); })); - return function createSignaturePackets(_x43, _x44) { - return _ref15.apply(this, arguments); + return function createSignaturePackets(_x44, _x45) { + return _ref16.apply(this, arguments); }; }(); @@ -44330,77 +44307,165 @@ var createSignaturePackets = exports.createSignaturePackets = function () { * @async */ var createVerificationObject = function () { - var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(signature, literalDataList, keys) { + var _ref23 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(signature, literalDataList, keys) { + var _this3 = this; + var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); - var keyPacket, verifiedSig; - return _regenerator2.default.wrap(function _callee22$(_context22) { + var primaryKey, signingKey, signaturePacket, verifiedSig; + return _regenerator2.default.wrap(function _callee25$(_context25) { while (1) { - switch (_context22.prev = _context22.next) { + switch (_context25.prev = _context25.next) { case 0: - keyPacket = null; - _context22.next = 3; + primaryKey = null; + signingKey = null; + _context25.next = 4; return _promise2.default.all(keys.map(function () { - var _ref23 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(key) { + var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(key) { var result; - return _regenerator2.default.wrap(function _callee21$(_context21) { + return _regenerator2.default.wrap(function _callee22$(_context22) { while (1) { - switch (_context21.prev = _context21.next) { + switch (_context22.prev = _context22.next) { case 0: - _context21.next = 2; - return key.getSigningKey(signature.issuerKeyId, date); + _context22.next = 2; + return key.getSigningKey(signature.issuerKeyId, null); case 2: - result = _context21.sent; + result = _context22.sent; if (result) { - keyPacket = result.keyPacket; + primaryKey = key; + signingKey = result; } case 4: case 'end': - return _context21.stop(); + return _context22.stop(); } } - }, _callee21, this); + }, _callee22, this); })); - return function (_x59) { - return _ref23.apply(this, arguments); + return function (_x60) { + return _ref24.apply(this, arguments); }; }())); - case 3: + case 4: + signaturePacket = signature.correspondingSig || signature; verifiedSig = { keyid: signature.issuerKeyId, - verified: keyPacket ? signature.verify(keyPacket, signature.signatureType, literalDataList[0]) : _promise2.default.resolve(null) + verified: (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23() { + var verified, sig; + return _regenerator2.default.wrap(function _callee23$(_context23) { + while (1) { + switch (_context23.prev = _context23.next) { + case 0: + if (signingKey) { + _context23.next = 2; + break; + } + + return _context23.abrupt('return', null); + + case 2: + _context23.next = 4; + return signature.verify(signingKey.keyPacket, signature.signatureType, literalDataList[0]); + + case 4: + verified = _context23.sent; + _context23.next = 7; + return signaturePacket; + + case 7: + sig = _context23.sent; + _context23.t0 = sig.isExpired(date); + + if (_context23.t0) { + _context23.next = 18; + break; + } + + _context23.t1 = sig.created >= signingKey.getCreationTime(); + + if (!_context23.t1) { + _context23.next = 17; + break; + } + + _context23.t2 = sig.created; + _context23.next = 15; + return signingKey === primaryKey ? signingKey.getExpirationTime() : signingKey.getExpirationTime(primaryKey, date); + + case 15: + _context23.t3 = _context23.sent; + _context23.t1 = _context23.t2 < _context23.t3; + + case 17: + _context23.t0 = !_context23.t1; + + case 18: + if (!_context23.t0) { + _context23.next = 20; + break; + } + + return _context23.abrupt('return', null); + + case 20: + return _context23.abrupt('return', verified); + + case 21: + case 'end': + return _context23.stop(); + } + } + }, _callee23, _this3); + }))(), + signature: (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24() { + var sig, packetlist; + return _regenerator2.default.wrap(function _callee24$(_context24) { + while (1) { + switch (_context24.prev = _context24.next) { + case 0: + _context24.next = 2; + return signaturePacket; + + case 2: + sig = _context24.sent; + packetlist = new _packet2.default.List(); + + packetlist.push(sig); + return _context24.abrupt('return', new _signature.Signature(packetlist)); + + case 6: + case 'end': + return _context24.stop(); + } + } + }, _callee24, _this3); + }))() }; - - verifiedSig.signature = _promise2.default.resolve(signature.correspondingSig || signature).then(function (signature) { - var packetlist = new _packet2.default.List(); - packetlist.push(signature); - return new _signature.Signature(packetlist); - }); - // Mark potential promise rejections as "handled". This is needed because in // some cases, we reject them before the user has a reasonable chance to // handle them (e.g. `await readToEnd(result.data); await result.verified` and // the data stream errors). + verifiedSig.signature.catch(function () {}); verifiedSig.verified.catch(function () {}); - return _context22.abrupt('return', verifiedSig); + return _context25.abrupt('return', verifiedSig); - case 8: + case 9: case 'end': - return _context22.stop(); + return _context25.stop(); } } - }, _callee22, this); + }, _callee25, this); })); - return function createVerificationObject(_x55, _x56, _x57) { - return _ref22.apply(this, arguments); + return function createVerificationObject(_x56, _x57, _x58) { + return _ref23.apply(this, arguments); }; }(); @@ -44418,45 +44483,45 @@ var createVerificationObject = function () { var createVerificationObjects = exports.createVerificationObjects = function () { - var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24(signatureList, literalDataList, keys) { + var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(signatureList, literalDataList, keys) { var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); - return _regenerator2.default.wrap(function _callee24$(_context24) { + return _regenerator2.default.wrap(function _callee27$(_context27) { while (1) { - switch (_context24.prev = _context24.next) { + switch (_context27.prev = _context27.next) { case 0: - return _context24.abrupt('return', _promise2.default.all(signatureList.filter(function (signature) { + return _context27.abrupt('return', _promise2.default.all(signatureList.filter(function (signature) { return ['text', 'binary'].includes(_enums2.default.read(_enums2.default.signature, signature.signatureType)); }).map(function () { - var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(signature) { - return _regenerator2.default.wrap(function _callee23$(_context23) { + var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(signature) { + return _regenerator2.default.wrap(function _callee26$(_context26) { while (1) { - switch (_context23.prev = _context23.next) { + switch (_context26.prev = _context26.next) { case 0: - return _context23.abrupt('return', createVerificationObject(signature, literalDataList, keys, date)); + return _context26.abrupt('return', createVerificationObject(signature, literalDataList, keys, date)); case 1: case 'end': - return _context23.stop(); + return _context26.stop(); } } - }, _callee23, this); + }, _callee26, this); })); - return function (_x64) { - return _ref25.apply(this, arguments); + return function (_x65) { + return _ref28.apply(this, arguments); }; }()))); case 1: case 'end': - return _context24.stop(); + return _context27.stop(); } } - }, _callee24, this); + }, _callee27, this); })); - return function createVerificationObjects(_x60, _x61, _x62) { - return _ref24.apply(this, arguments); + return function createVerificationObjects(_x61, _x62, _x63) { + return _ref27.apply(this, arguments); }; }(); @@ -44474,11 +44539,11 @@ var createVerificationObjects = exports.createVerificationObjects = function () * @static */ var readArmored = exports.readArmored = function () { - var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(armoredText) { + var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee29(armoredText) { var streamType, input; - return _regenerator2.default.wrap(function _callee26$(_context26) { + return _regenerator2.default.wrap(function _callee29$(_context29) { while (1) { - switch (_context26.prev = _context26.next) { + switch (_context29.prev = _context29.next) { case 0: //TODO how do we want to handle bad text? Exception throwing //TODO don't accept non-message armored texts @@ -44487,23 +44552,23 @@ var readArmored = exports.readArmored = function () { if (streamType === 'node') { armoredText = _webStreamTools2.default.nodeToWeb(armoredText); } - _context26.next = 4; + _context29.next = 4; return _armor2.default.decode(armoredText); case 4: - input = _context26.sent; - return _context26.abrupt('return', read(input.data, streamType)); + input = _context29.sent; + return _context29.abrupt('return', read(input.data, streamType)); case 6: case 'end': - return _context26.stop(); + return _context29.stop(); } } - }, _callee26, this); + }, _callee29, this); })); - return function readArmored(_x66) { - return _ref27.apply(this, arguments); + return function readArmored(_x67) { + return _ref30.apply(this, arguments); }; }(); @@ -44518,12 +44583,12 @@ var readArmored = exports.readArmored = function () { var read = exports.read = function () { - var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(input) { + var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee30(input) { var fromStream = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util2.default.isStream(input); var streamType, packetlist, message; - return _regenerator2.default.wrap(function _callee27$(_context27) { + return _regenerator2.default.wrap(function _callee30$(_context30) { while (1) { - switch (_context27.prev = _context27.next) { + switch (_context30.prev = _context30.next) { case 0: streamType = _util2.default.isStream(input); @@ -44531,25 +44596,25 @@ var read = exports.read = function () { input = _webStreamTools2.default.nodeToWeb(input); } packetlist = new _packet2.default.List(); - _context27.next = 5; + _context30.next = 5; return packetlist.read(input); case 5: message = new Message(packetlist); message.fromStream = fromStream; - return _context27.abrupt('return', message); + return _context30.abrupt('return', message); case 8: case 'end': - return _context27.stop(); + return _context30.stop(); } } - }, _callee27, this); + }, _callee30, this); })); - return function read(_x67) { - return _ref28.apply(this, arguments); + return function read(_x68) { + return _ref31.apply(this, arguments); }; }(); @@ -44806,30 +44871,31 @@ Message.prototype.decrypt = function () { * @async */ Message.prototype.decryptSessionKeys = function () { - var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(privateKeys, passwords) { - var keyPackets, symESKeyPacketlist, pkESKeyPacketlist, seen; - return _regenerator2.default.wrap(function _callee6$(_context6) { + var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(privateKeys, passwords) { + var keyPackets, exception, symESKeyPacketlist, pkESKeyPacketlist, seen; + return _regenerator2.default.wrap(function _callee7$(_context7) { while (1) { - switch (_context6.prev = _context6.next) { + switch (_context7.prev = _context7.next) { case 0: keyPackets = []; + exception = void 0; if (!passwords) { - _context6.next = 9; + _context7.next = 10; break; } symESKeyPacketlist = this.packets.filterByTag(_enums2.default.packet.symEncryptedSessionKey); if (symESKeyPacketlist) { - _context6.next = 5; + _context7.next = 6; break; } throw new Error('No symmetrically encrypted session key packet found.'); - case 5: - _context6.next = 7; + case 6: + _context7.next = 8; return _promise2.default.all(passwords.map(function () { var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(password, i) { var packets; @@ -44904,85 +44970,125 @@ Message.prototype.decryptSessionKeys = function () { }; }())); - case 7: - _context6.next = 18; + case 8: + _context7.next = 19; break; - case 9: + case 10: if (!privateKeys) { - _context6.next = 17; + _context7.next = 18; break; } pkESKeyPacketlist = this.packets.filterByTag(_enums2.default.packet.publicKeyEncryptedSessionKey); if (pkESKeyPacketlist) { - _context6.next = 13; + _context7.next = 14; break; } throw new Error('No public key encrypted session key packet found.'); - case 13: - _context6.next = 15; + case 14: + _context7.next = 16; return _promise2.default.all(pkESKeyPacketlist.map(function () { - var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(keyPacket) { - var privateKeyPackets; - return _regenerator2.default.wrap(function _callee5$(_context5) { + var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(keyPacket) { + return _regenerator2.default.wrap(function _callee6$(_context6) { while (1) { - switch (_context5.prev = _context5.next) { + switch (_context6.prev = _context6.next) { case 0: - privateKeyPackets = new _packet2.default.List(); - - privateKeys.forEach(function (privateKey) { - privateKeyPackets.concat(privateKey.getKeys(keyPacket.publicKeyId).map(function (key) { - return key.keyPacket; - })); - }); - _context5.next = 4; - return _promise2.default.all(privateKeyPackets.map(function () { - var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(privateKeyPacket) { - return _regenerator2.default.wrap(function _callee4$(_context4) { + _context6.next = 2; + return _promise2.default.all(privateKeys.map(function () { + var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(privateKey) { + var primaryUser, algos, privateKeyPackets; + return _regenerator2.default.wrap(function _callee5$(_context5) { while (1) { - switch (_context4.prev = _context4.next) { + switch (_context5.prev = _context5.next) { case 0: - if (privateKeyPacket) { - _context4.next = 2; - break; - } - - return _context4.abrupt('return'); + _context5.next = 2; + return privateKey.getPrimaryUser(); case 2: - if (privateKeyPacket.isDecrypted()) { - _context4.next = 4; - break; + primaryUser = _context5.sent; + // TODO: Pass userId from somewhere. + algos = [_enums2.default.symmetric.aes256, // Old OpenPGP.js default fallback + _enums2.default.symmetric.aes128, // RFC4880bis fallback + _enums2.default.symmetric.tripledes // RFC4880 fallback + ]; + + if (primaryUser && primaryUser.selfCertification.preferredSymmetricAlgorithms) { + algos = algos.concat(primaryUser.selfCertification.preferredSymmetricAlgorithms); } - throw new Error('Private key is not decrypted.'); + privateKeyPackets = privateKey.getKeys(keyPacket.publicKeyId).map(function (key) { + return key.keyPacket; + }); + _context5.next = 8; + return _promise2.default.all(privateKeyPackets.map(function () { + var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(privateKeyPacket) { + return _regenerator2.default.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + if (privateKeyPacket) { + _context4.next = 2; + break; + } - case 4: - _context4.prev = 4; - _context4.next = 7; - return keyPacket.decrypt(privateKeyPacket); + return _context4.abrupt('return'); - case 7: - keyPackets.push(keyPacket); - _context4.next = 13; - break; + case 2: + if (privateKeyPacket.isDecrypted()) { + _context4.next = 4; + break; + } - case 10: - _context4.prev = 10; - _context4.t0 = _context4['catch'](4); + throw new Error('Private key is not decrypted.'); - _util2.default.print_debug_error(_context4.t0); + case 4: + _context4.prev = 4; + _context4.next = 7; + return keyPacket.decrypt(privateKeyPacket); - case 13: + case 7: + if (algos.includes(_enums2.default.write(_enums2.default.symmetric, keyPacket.sessionKeyAlgorithm))) { + _context4.next = 9; + break; + } + + throw new Error('A non-preferred symmetric algorithm was used.'); + + case 9: + keyPackets.push(keyPacket); + _context4.next = 16; + break; + + case 12: + _context4.prev = 12; + _context4.t0 = _context4['catch'](4); + + _util2.default.print_debug_error(_context4.t0); + exception = _context4.t0; + + case 16: + case 'end': + return _context4.stop(); + } + } + }, _callee4, this, [[4, 12]]); + })); + + return function (_x12) { + return _ref7.apply(this, arguments); + }; + }())); + + case 8: case 'end': - return _context4.stop(); + return _context5.stop(); } } - }, _callee4, this, [[4, 10]]); + }, _callee5, this); })); return function (_x11) { @@ -44990,16 +45096,16 @@ Message.prototype.decryptSessionKeys = function () { }; }())); - case 4: + case 2: _webStreamTools2.default.cancel(keyPacket.encrypted); // Don't keep copy of encrypted data in memory. keyPacket.encrypted = null; - case 6: + case 4: case 'end': - return _context5.stop(); + return _context6.stop(); } } - }, _callee5, this); + }, _callee6, this); })); return function (_x10) { @@ -45007,16 +45113,16 @@ Message.prototype.decryptSessionKeys = function () { }; }())); - case 15: - _context6.next = 18; + case 16: + _context7.next = 19; break; - case 17: + case 18: throw new Error('No key or password specified.'); - case 18: + case 19: if (!keyPackets.length) { - _context6.next = 21; + _context7.next = 22; break; } @@ -45034,19 +45140,19 @@ Message.prototype.decryptSessionKeys = function () { }); } - return _context6.abrupt('return', keyPackets.map(function (packet) { + return _context7.abrupt('return', keyPackets.map(function (packet) { return { data: packet.sessionKey, algorithm: packet.sessionKeyAlgorithm }; })); - case 21: - throw new Error('Session key decryption failed.'); - case 22: + throw exception || new Error('Session key decryption failed.'); + + case 23: case 'end': - return _context6.stop(); + return _context7.stop(); } } - }, _callee6, this); + }, _callee7, this); })); return function (_x5, _x6) { @@ -45059,7 +45165,8 @@ Message.prototype.decryptSessionKeys = function () { * @returns {(Uint8Array|null)} literal body of the message as Uint8Array */ Message.prototype.getLiteralData = function () { - var literal = this.packets.findPacket(_enums2.default.packet.literal); + var msg = this.unwrapCompressed(); + var literal = msg.packets.findPacket(_enums2.default.packet.literal); return literal && literal.getBytes() || null; }; @@ -45068,7 +45175,8 @@ Message.prototype.getLiteralData = function () { * @returns {(String|null)} filename of literal data packet as string */ Message.prototype.getFilename = function () { - var literal = this.packets.findPacket(_enums2.default.packet.literal); + var msg = this.unwrapCompressed(); + var literal = msg.packets.findPacket(_enums2.default.packet.literal); return literal && literal.getFilename() || null; }; @@ -45077,7 +45185,8 @@ Message.prototype.getFilename = function () { * @returns {(String|null)} literal body of the message interpreted as text */ Message.prototype.getText = function () { - var literal = this.packets.findPacket(_enums2.default.packet.literal); + var msg = this.unwrapCompressed(); + var literal = msg.packets.findPacket(_enums2.default.packet.literal); if (literal) { return literal.getText(); } @@ -45097,27 +45206,27 @@ Message.prototype.getText = function () { * @async */ Message.prototype.encrypt = function () { - var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(keys, passwords, sessionKey) { + var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(keys, passwords, sessionKey) { var wildcard = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var date = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : new Date(); var userId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; var streaming = arguments[6]; var symAlgo, aeadAlgo, symEncryptedPacket, msg; - return _regenerator2.default.wrap(function _callee7$(_context7) { + return _regenerator2.default.wrap(function _callee8$(_context8) { while (1) { - switch (_context7.prev = _context7.next) { + switch (_context8.prev = _context8.next) { case 0: symAlgo = void 0; aeadAlgo = void 0; symEncryptedPacket = void 0; if (!sessionKey) { - _context7.next = 11; + _context8.next = 11; break; } if (!(!_util2.default.isUint8Array(sessionKey.data) || !_util2.default.isString(sessionKey.algorithm))) { - _context7.next = 6; + _context8.next = 6; break; } @@ -45127,64 +45236,64 @@ Message.prototype.encrypt = function () { symAlgo = sessionKey.algorithm; aeadAlgo = sessionKey.aeadAlgorithm; sessionKey = sessionKey.data; - _context7.next = 38; + _context8.next = 38; break; case 11: if (!(keys && keys.length)) { - _context7.next = 32; + _context8.next = 32; break; } - _context7.t0 = _enums2.default; - _context7.t1 = _enums2.default.symmetric; - _context7.next = 16; + _context8.t0 = _enums2.default; + _context8.t1 = _enums2.default.symmetric; + _context8.next = 16; return (0, _key.getPreferredAlgo)('symmetric', keys, date, userId); case 16: - _context7.t2 = _context7.sent; - symAlgo = _context7.t0.read.call(_context7.t0, _context7.t1, _context7.t2); - _context7.t3 = _config2.default.aead_protect && _config2.default.aead_protect_version === 4; + _context8.t2 = _context8.sent; + symAlgo = _context8.t0.read.call(_context8.t0, _context8.t1, _context8.t2); + _context8.t3 = _config2.default.aead_protect && _config2.default.aead_protect_version === 4; - if (!_context7.t3) { - _context7.next = 23; + if (!_context8.t3) { + _context8.next = 23; break; } - _context7.next = 22; + _context8.next = 22; return (0, _key.isAeadSupported)(keys, date, userId); case 22: - _context7.t3 = _context7.sent; + _context8.t3 = _context8.sent; case 23: - if (!_context7.t3) { - _context7.next = 30; + if (!_context8.t3) { + _context8.next = 30; break; } - _context7.t4 = _enums2.default; - _context7.t5 = _enums2.default.aead; - _context7.next = 28; + _context8.t4 = _enums2.default; + _context8.t5 = _enums2.default.aead; + _context8.next = 28; return (0, _key.getPreferredAlgo)('aead', keys, date, userId); case 28: - _context7.t6 = _context7.sent; - aeadAlgo = _context7.t4.read.call(_context7.t4, _context7.t5, _context7.t6); + _context8.t6 = _context8.sent; + aeadAlgo = _context8.t4.read.call(_context8.t4, _context8.t5, _context8.t6); case 30: - _context7.next = 38; + _context8.next = 38; break; case 32: if (!(passwords && passwords.length)) { - _context7.next = 37; + _context8.next = 37; break; } symAlgo = _enums2.default.read(_enums2.default.symmetric, _config2.default.encryption_cipher); aeadAlgo = _enums2.default.read(_enums2.default.aead, _config2.default.aead_mode); - _context7.next = 38; + _context8.next = 38; break; case 37: @@ -45192,22 +45301,22 @@ Message.prototype.encrypt = function () { case 38: if (sessionKey) { - _context7.next = 42; + _context8.next = 42; break; } - _context7.next = 41; + _context8.next = 41; return _crypto2.default.generateSessionKey(symAlgo); case 41: - sessionKey = _context7.sent; + sessionKey = _context8.sent; case 42: - _context7.next = 44; + _context8.next = 44; return encryptSessionKey(sessionKey, symAlgo, aeadAlgo, keys, passwords, wildcard, date, userId); case 44: - msg = _context7.sent; + msg = _context8.sent; if (_config2.default.aead_protect && (_config2.default.aead_protect_version !== 4 || aeadAlgo)) { @@ -45220,14 +45329,14 @@ Message.prototype.encrypt = function () { } symEncryptedPacket.packets = this.packets; - _context7.next = 49; + _context8.next = 49; return symEncryptedPacket.encrypt(symAlgo, sessionKey, streaming); case 49: msg.packets.push(symEncryptedPacket); symEncryptedPacket.packets = new _packet2.default.List(); // remove packets after encryption - return _context7.abrupt('return', { + return _context8.abrupt('return', { message: msg, sessionKey: { data: sessionKey, @@ -45238,31 +45347,31 @@ Message.prototype.encrypt = function () { case 52: case 'end': - return _context7.stop(); + return _context8.stop(); } } - }, _callee7, this); + }, _callee8, this); })); - return function (_x12, _x13, _x14) { - return _ref7.apply(this, arguments); + return function (_x13, _x14, _x15) { + return _ref8.apply(this, arguments); }; }();Message.prototype.sign = function () { - var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13() { + var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14() { var privateKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var signature = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var date = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Date(); var userId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; var packetlist, literalDataPacket, i, existingSigPacketlist, signatureType, signaturePacket, onePassSig; - return _regenerator2.default.wrap(function _callee13$(_context13) { + return _regenerator2.default.wrap(function _callee14$(_context14) { while (1) { - switch (_context13.prev = _context13.next) { + switch (_context14.prev = _context14.next) { case 0: packetlist = new _packet2.default.List(); literalDataPacket = this.packets.findPacket(_enums2.default.packet.literal); if (literalDataPacket) { - _context13.next = 4; + _context14.next = 4; break; } @@ -45293,30 +45402,30 @@ Message.prototype.encrypt = function () { } } - _context13.next = 10; + _context14.next = 10; return _promise2.default.all((0, _from2.default)(privateKeys).reverse().map(function () { - var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(privateKey, i) { + var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(privateKey, i) { var signingKey, onePassSig; - return _regenerator2.default.wrap(function _callee12$(_context12) { + return _regenerator2.default.wrap(function _callee13$(_context13) { while (1) { - switch (_context12.prev = _context12.next) { + switch (_context13.prev = _context13.next) { case 0: if (!privateKey.isPublic()) { - _context12.next = 2; + _context13.next = 2; break; } throw new Error('Need private key for signing'); case 2: - _context12.next = 4; + _context13.next = 4; return privateKey.getSigningKey(undefined, date, userId); case 4: - signingKey = _context12.sent; + signingKey = _context13.sent; if (signingKey) { - _context12.next = 7; + _context13.next = 7; break; } @@ -45326,29 +45435,29 @@ Message.prototype.encrypt = function () { onePassSig = new _packet2.default.OnePassSignature(); onePassSig.signatureType = signatureType; - _context12.next = 11; + _context13.next = 11; return (0, _key.getPreferredHashAlgo)(privateKey, signingKey.keyPacket, date, userId); case 11: - onePassSig.hashAlgorithm = _context12.sent; + onePassSig.hashAlgorithm = _context13.sent; onePassSig.publicKeyAlgorithm = signingKey.keyPacket.algorithm; onePassSig.issuerKeyId = signingKey.getKeyId(); if (i === privateKeys.length - 1) { onePassSig.flags = 1; } - return _context12.abrupt('return', onePassSig); + return _context13.abrupt('return', onePassSig); case 16: case 'end': - return _context12.stop(); + return _context13.stop(); } } - }, _callee12, this); + }, _callee13, this); })); - return function (_x37, _x38) { - return _ref13.apply(this, arguments); + return function (_x38, _x39) { + return _ref14.apply(this, arguments); }; }())).then(function (onePassSignatureList) { onePassSignatureList.forEach(function (onePassSig) { @@ -45359,27 +45468,27 @@ Message.prototype.encrypt = function () { case 10: packetlist.push(literalDataPacket); - _context13.t0 = packetlist; - _context13.next = 14; + _context14.t0 = packetlist; + _context14.next = 14; return createSignaturePackets(literalDataPacket, privateKeys, signature, date); case 14: - _context13.t1 = _context13.sent; + _context14.t1 = _context14.sent; - _context13.t0.concat.call(_context13.t0, _context13.t1); + _context14.t0.concat.call(_context14.t0, _context14.t1); - return _context13.abrupt('return', new Message(packetlist)); + return _context14.abrupt('return', new Message(packetlist)); case 17: case 'end': - return _context13.stop(); + return _context14.stop(); } } - }, _callee13, this); + }, _callee14, this); })); return function () { - return _ref12.apply(this, arguments); + return _ref13.apply(this, arguments); }; }(); @@ -45413,61 +45522,61 @@ Message.prototype.compress = function (compression) { * @async */ Message.prototype.signDetached = function () { - var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14() { + var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15() { var privateKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var signature = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var date = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Date(); var userId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; var literalDataPacket; - return _regenerator2.default.wrap(function _callee14$(_context14) { + return _regenerator2.default.wrap(function _callee15$(_context15) { while (1) { - switch (_context14.prev = _context14.next) { + switch (_context15.prev = _context15.next) { case 0: literalDataPacket = this.packets.findPacket(_enums2.default.packet.literal); if (literalDataPacket) { - _context14.next = 3; + _context15.next = 3; break; } throw new Error('No literal data packet to sign.'); case 3: - _context14.t0 = _signature.Signature; - _context14.next = 6; + _context15.t0 = _signature.Signature; + _context15.next = 6; return createSignaturePackets(literalDataPacket, privateKeys, signature, date, userId); case 6: - _context14.t1 = _context14.sent; - return _context14.abrupt('return', new _context14.t0(_context14.t1)); + _context15.t1 = _context15.sent; + return _context15.abrupt('return', new _context15.t0(_context15.t1)); case 8: case 'end': - return _context14.stop(); + return _context15.stop(); } } - }, _callee14, this); + }, _callee15, this); })); return function () { - return _ref14.apply(this, arguments); + return _ref15.apply(this, arguments); }; }();Message.prototype.verify = function () { - var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(keys) { + var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(keys) { var _this2 = this; var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date(); var streaming = arguments[2]; var msg, literalDataList, onePassSigList, signatureList; - return _regenerator2.default.wrap(function _callee20$(_context20) { + return _regenerator2.default.wrap(function _callee21$(_context21) { while (1) { - switch (_context20.prev = _context20.next) { + switch (_context21.prev = _context21.next) { case 0: msg = this.unwrapCompressed(); literalDataList = msg.packets.filterByTag(_enums2.default.packet.literal); if (!(literalDataList.length !== 1)) { - _context20.next = 4; + _context21.next = 4; break; } @@ -45478,145 +45587,145 @@ Message.prototype.signDetached = function () { signatureList = msg.packets.filterByTag(_enums2.default.packet.signature); if (!(onePassSigList.length && !signatureList.length && msg.packets.stream)) { - _context20.next = 11; + _context21.next = 11; break; } - _context20.next = 9; + _context21.next = 9; return _promise2.default.all(onePassSigList.map(function () { - var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(onePassSig) { - return _regenerator2.default.wrap(function _callee18$(_context18) { + var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(onePassSig) { + return _regenerator2.default.wrap(function _callee19$(_context19) { while (1) { - switch (_context18.prev = _context18.next) { + switch (_context19.prev = _context19.next) { case 0: onePassSig.correspondingSig = new _promise2.default(function (resolve, reject) { onePassSig.correspondingSigResolve = resolve; onePassSig.correspondingSigReject = reject; }); - onePassSig.signatureData = _webStreamTools2.default.fromAsync((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17() { - return _regenerator2.default.wrap(function _callee17$(_context17) { + onePassSig.signatureData = _webStreamTools2.default.fromAsync((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18() { + return _regenerator2.default.wrap(function _callee18$(_context18) { while (1) { - switch (_context17.prev = _context17.next) { + switch (_context18.prev = _context18.next) { case 0: - _context17.next = 2; + _context18.next = 2; return onePassSig.correspondingSig; case 2: - return _context17.abrupt('return', _context17.sent.signatureData); + return _context18.abrupt('return', _context18.sent.signatureData); case 3: case 'end': - return _context17.stop(); + return _context18.stop(); } } - }, _callee17, _this2); + }, _callee18, _this2); }))); - _context18.next = 4; + _context19.next = 4; return onePassSig.hash(onePassSig.signatureType, literalDataList[0], undefined, streaming); case 4: - onePassSig.hashed = _context18.sent; + onePassSig.hashed = _context19.sent; case 5: case 'end': - return _context18.stop(); + return _context19.stop(); } } - }, _callee18, _this2); + }, _callee19, _this2); })); - return function (_x51) { - return _ref18.apply(this, arguments); + return function (_x52) { + return _ref19.apply(this, arguments); }; }())); case 9: msg.packets.stream = _webStreamTools2.default.transformPair(msg.packets.stream, function () { - var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(readable, writable) { - var reader, writer, i, _ref21, signature; + var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(readable, writable) { + var reader, writer, i, _ref22, signature; - return _regenerator2.default.wrap(function _callee19$(_context19) { + return _regenerator2.default.wrap(function _callee20$(_context20) { while (1) { - switch (_context19.prev = _context19.next) { + switch (_context20.prev = _context20.next) { case 0: reader = _webStreamTools2.default.getReader(readable); writer = _webStreamTools2.default.getWriter(writable); - _context19.prev = 2; + _context20.prev = 2; i = 0; case 4: if (!(i < onePassSigList.length)) { - _context19.next = 13; + _context20.next = 13; break; } - _context19.next = 7; + _context20.next = 7; return reader.read(); case 7: - _ref21 = _context19.sent; - signature = _ref21.value; + _ref22 = _context20.sent; + signature = _ref22.value; onePassSigList[i].correspondingSigResolve(signature); case 10: i++; - _context19.next = 4; + _context20.next = 4; break; case 13: - _context19.next = 15; + _context20.next = 15; return reader.readToEnd(); case 15: - _context19.next = 17; + _context20.next = 17; return writer.ready; case 17: - _context19.next = 19; + _context20.next = 19; return writer.close(); case 19: - _context19.next = 26; + _context20.next = 26; break; case 21: - _context19.prev = 21; - _context19.t0 = _context19['catch'](2); + _context20.prev = 21; + _context20.t0 = _context20['catch'](2); onePassSigList.forEach(function (onePassSig) { - onePassSig.correspondingSigReject(_context19.t0); + onePassSig.correspondingSigReject(_context20.t0); }); - _context19.next = 26; - return writer.abort(_context19.t0); + _context20.next = 26; + return writer.abort(_context20.t0); case 26: case 'end': - return _context19.stop(); + return _context20.stop(); } } - }, _callee19, _this2, [[2, 21]]); + }, _callee20, _this2, [[2, 21]]); })); - return function (_x52, _x53) { - return _ref20.apply(this, arguments); + return function (_x53, _x54) { + return _ref21.apply(this, arguments); }; }()); - return _context20.abrupt('return', createVerificationObjects(onePassSigList, literalDataList, keys, date)); + return _context21.abrupt('return', createVerificationObjects(onePassSigList, literalDataList, keys, date)); case 11: - return _context20.abrupt('return', createVerificationObjects(signatureList, literalDataList, keys, date)); + return _context21.abrupt('return', createVerificationObjects(signatureList, literalDataList, keys, date)); case 12: case 'end': - return _context20.stop(); + return _context21.stop(); } } - }, _callee20, this); + }, _callee21, this); })); - return function (_x49) { - return _ref17.apply(this, arguments); + return function (_x50) { + return _ref18.apply(this, arguments); }; }(); @@ -45651,44 +45760,44 @@ Message.prototype.verifyDetached = function (signature, keys) { * @param {String|Uint8Array} detachedSignature The detached ASCII-armored or Uint8Array PGP signature */ Message.prototype.appendSignature = function () { - var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(detachedSignature) { - return _regenerator2.default.wrap(function _callee25$(_context25) { + var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee28(detachedSignature) { + return _regenerator2.default.wrap(function _callee28$(_context28) { while (1) { - switch (_context25.prev = _context25.next) { + switch (_context28.prev = _context28.next) { case 0: - _context25.t0 = this.packets; + _context28.t0 = this.packets; if (!_util2.default.isUint8Array(detachedSignature)) { - _context25.next = 5; + _context28.next = 5; break; } - _context25.t1 = detachedSignature; - _context25.next = 8; + _context28.t1 = detachedSignature; + _context28.next = 8; break; case 5: - _context25.next = 7; + _context28.next = 7; return _armor2.default.decode(detachedSignature); case 7: - _context25.t1 = _context25.sent.data; + _context28.t1 = _context28.sent.data; case 8: - _context25.t2 = _context25.t1; - _context25.next = 11; - return _context25.t0.read.call(_context25.t0, _context25.t2); + _context28.t2 = _context28.t1; + _context28.next = 11; + return _context28.t0.read.call(_context28.t0, _context28.t2); case 11: case 'end': - return _context25.stop(); + return _context28.stop(); } } - }, _callee25, this); + }, _callee28, this); })); - return function (_x65) { - return _ref26.apply(this, arguments); + return function (_x66) { + return _ref29.apply(this, arguments); }; }(); @@ -49362,24 +49471,12 @@ List.prototype.filterByTag = function () { /** * Traverses packet tree and returns first matching packet * @param {module:enums.packet} type The packet type - * @returns {module:packet/packet|null} + * @returns {module:packet/packet|undefined} */ List.prototype.findPacket = function (type) { - var packetlist = this.filterByTag(type); - if (packetlist.length) { - return packetlist[0]; - } - var found = null; - for (var i = 0; i < this.length; i++) { - if (this[i].packets.length) { - found = this[i].packets.findPacket(type); - if (found) { - return found; - } - } - } - - return null; + return this.find(function (packet) { + return packet.tag === type; + }); }; /** @@ -49538,6 +49635,11 @@ function PublicKey() { * @type {Date} */ this.created = _util2.default.normalizeDate(date); + /** + * Public key algorithm. + * @type {String} + */ + this.algorithm = null; /** * Algorithm specific params * @type {Array} @@ -49811,7 +49913,10 @@ function PublicKeyEncryptedSessionKey() { this.version = 3; this.publicKeyId = new _keyid2.default(); + this.publicKeyAlgorithm = null; + this.sessionKey = null; + this.sessionKeyAlgorithm = null; /** @type {Array} */ this.encrypted = []; @@ -49983,7 +50088,7 @@ PublicKeyEncryptedSessionKey.prototype.decrypt = function () { break; } - throw new Error('Checksum mismatch'); + throw new Error('Decryption error'); case 12: this.sessionKey = key; @@ -51536,43 +51641,52 @@ Signature.prototype.verify = function () { case 0: publicKeyAlgorithm = _enums2.default.write(_enums2.default.publicKey, this.publicKeyAlgorithm); hashAlgorithm = _enums2.default.write(_enums2.default.hash, this.hashAlgorithm); + + if (!(publicKeyAlgorithm !== _enums2.default.write(_enums2.default.publicKey, key.algorithm))) { + _context5.next = 4; + break; + } + + throw new Error('Public key algorithm used to sign signature does not match issuer key algorithm.'); + + case 4: toHash = void 0; hash = void 0; if (!this.hashed) { - _context5.next = 8; + _context5.next = 10; break; } hash = this.hashed; - _context5.next = 12; + _context5.next = 14; break; - case 8: + case 10: toHash = this.toHash(signatureType, data); - _context5.next = 11; + _context5.next = 13; return this.hash(signatureType, data, toHash); - case 11: + case 13: hash = _context5.sent; - case 12: - _context5.next = 14; + case 14: + _context5.next = 16; return _webStreamTools2.default.readToEnd(hash); - case 14: + case 16: hash = _context5.sent; if (!(this.signedHashValue[0] !== hash[0] || this.signedHashValue[1] !== hash[1])) { - _context5.next = 19; + _context5.next = 21; break; } this.verified = false; - _context5.next = 31; + _context5.next = 33; break; - case 19: + case 21: mpicount = 0; // Algorithm-Specific Fields for RSA signatures: // - multiprecision number (MPI) of RSA signature value m**d mod n. @@ -51592,10 +51706,10 @@ Signature.prototype.verify = function () { endian = publicKeyAlgorithm === _enums2.default.publicKey.eddsa ? 'le' : 'be'; mpi = []; i = 0; - _context5.next = 26; + _context5.next = 28; return _webStreamTools2.default.readToEnd(this.signature); - case 26: + case 28: this.signature = _context5.sent; for (j = 0; j < mpicount; j++) { @@ -51603,16 +51717,16 @@ Signature.prototype.verify = function () { i += mpi[j].read(this.signature.subarray(i, this.signature.length), endian); } - _context5.next = 30; + _context5.next = 32; return _crypto2.default.signature.verify(publicKeyAlgorithm, hashAlgorithm, mpi, key.params, toHash, hash); - case 30: + case 32: this.verified = _context5.sent; - case 31: + case 33: return _context5.abrupt('return', this.verified); - case 32: + case 34: case 'end': return _context5.stop(); } diff --git a/dist/compat/openpgp.min.js b/dist/compat/openpgp.min.js index 4120064b..5748eeb7 100644 --- a/dist/compat/openpgp.min.js +++ b/dist/compat/openpgp.min.js @@ -1,2 +1,2 @@ -/*! OpenPGP.js v4.2.2 - 2018-12-07 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).openpgp=e()}}(function(){return function(){return function e(t,r,n){function a(s,o){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=r[s]={exports:{}};t[s][0].call(f.exports,function(e){return a(t[s][1][e]||e)},f,f.exports,e,t,r,n)}return r[s].exports}for(var i="function"==typeof require&&require,s=0;s0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");mt(this)}},n(e,[{key:"closed",get:function(){return!1===pt(this)?Promise.reject(Xt("closed")):this._closedPromise}}]),e}(),lt=function(){function e(e){if(!Qe(e))throw new TypeError("ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a byte source");if(!1===Tt(e._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");if(et(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");bt(this,e),this._readIntoRequests=[]}var t=e.prototype;return t.cancel=function(e){return ht(this)?void 0===this._ownerReadableStream?Promise.reject(Yt("cancel")):yt(this,e):Promise.reject($t("cancel"))},t.read=function(e){return ht(this)?void 0===this._ownerReadableStream?Promise.reject(Yt("read from")):ArrayBuffer.isView(e)?!0===Pe(e.buffer)?Promise.reject(new TypeError("Cannot read into a view onto a detached ArrayBuffer")):0===e.byteLength?Promise.reject(new TypeError("view must have non-zero byteLength")):function(e,t){var r=e._ownerReadableStream;return r._disturbed=!0,"errored"===r._state?Promise.reject(r._storedError):function(e,t){var r=e._controlledReadableByteStream,n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);var a=t.constructor,i={buffer:Me(t.buffer),byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,ctor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(i),tt(r);if("closed"===r._state){var s=new t.constructor(i.buffer,i.byteOffset,0);return Promise.resolve(Se(s,!0))}if(e._queueTotalSize>0){if(!0===zt(e,i)){var o=Ot(i);return Nt(e),Promise.resolve(Se(o,!1))}if(!0===e._closeRequested){var u=new TypeError("Insufficient bytes to fill elements in the given buffer");return Gt(e,u),Promise.reject(u)}}e._pendingPullIntos.push(i);var c=tt(r);return Bt(e),c}(r._readableStreamController,t)}(this,e):Promise.reject(new TypeError("view must be an array buffer view")):Promise.reject($t("read"))},t.releaseLock=function(){if(!ht(this))throw $t("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");mt(this)}},n(e,[{key:"closed",get:function(){return ht(this)?this._closedPromise:Promise.reject($t("closed"))}}]),e}();function ht(e){return!!Be(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function pt(e){return!!Be(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function bt(e,t){e._ownerReadableStream=t,t._reader=e,"readable"===t._state?function(e){e._closedPromise=new Promise(function(t,r){e._closedPromise_resolve=t,e._closedPromise_reject=r})}(e):"closed"===t._state?function(e){e._closedPromise=Promise.resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}(e):(function(e,t){e._closedPromise=Promise.reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}(e,t._storedError),e._closedPromise.catch(function(){}))}function yt(e,t){return nt(e._ownerReadableStream,t)}function mt(e){"readable"===e._ownerReadableStream._state?Jt(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(e,t){e._closedPromise=Promise.reject(t)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._closedPromise.catch(function(){}),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function vt(e){var t=e._ownerReadableStream;return t._disturbed=!0,"closed"===t._state?Promise.resolve(Se(void 0,!0)):"errored"===t._state?Promise.reject(t._storedError):t._readableStreamController[Ve]()}var gt=function(){function e(){throw new TypeError}var t=e.prototype;return t.close=function(){if(!1===_t(this))throw Qt("close");if(!1===jt(this))throw new TypeError("The stream is not in a state that permits close");xt(this)},t.enqueue=function(e){if(!1===_t(this))throw Qt("enqueue");if(!1===jt(this))throw new TypeError("The stream is not in a state that permits enqueue");return At(this,e)},t.error=function(e){if(!1===_t(this))throw Qt("error");St(this,e)},t[He]=function(e){return Ke(this),this._cancelAlgorithm(e)},t[Ve]=function(){var e=this._controlledReadableStream;if(this._queue.length>0){var t=Ue(this);return!0===this._closeRequested&&0===this._queue.length?at(e):wt(this),Promise.resolve(Se(t,!1))}var r=rt(e);return wt(this),r},n(e,[{key:"desiredSize",get:function(){if(!1===_t(this))throw Qt("desiredSize");return Et(this)}}]),e}();function _t(e){return!!Be(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")}function wt(e){!1!==kt(e)&&(!0!==e._pulling?(e._pulling=!0,e._pullAlgorithm().then(function(){if(e._pulling=!1,!0===e._pullAgain)return e._pullAgain=!1,wt(e)},function(t){St(e,t)}).catch(Ie)):e._pullAgain=!0)}function kt(e){var t=e._controlledReadableStream;return!1!==jt(e)&&!1!==e._started&&(!0===et(t)&&ut(t)>0||Et(e)>0)}function xt(e){var t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&at(t)}function At(e,t){var r=e._controlledReadableStream;if(!0===et(r)&&ut(r)>0)st(r,t,!1);else{var n;try{n=e._strategySizeAlgorithm(t)}catch(t){throw St(e,t),t}try{Oe(e,t,n)}catch(t){throw St(e,t),t}}wt(e)}function St(e,t){var r=e._controlledReadableStream;"readable"===r._state&&(Ke(e),it(r,t))}function Et(e){var t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function jt(e){var t=e._controlledReadableStream._state;return!1===e._closeRequested&&"readable"===t}function Pt(e,t,r,n,a,i,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Ke(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=a,e._readableStreamController=t;var o=r();Promise.resolve(o).then(function(){t._started=!0,wt(t)},function(e){St(t,e)}).catch(Ie)}var Mt=function(){function e(){throw new TypeError("ReadableStreamBYOBRequest cannot be used directly")}var t=e.prototype;return t.respond=function(e){if(!1===Rt(this))throw er("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");if(!0===Pe(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");!function(e,t){if(t=Number(t),!1===Ee(t))throw new RangeError("bytesWritten must be a finite");qt(e,t)}(this._associatedReadableByteStreamController,e)},t.respondWithNewView=function(e){if(!1===Rt(this))throw er("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");if(!ArrayBuffer.isView(e))throw new TypeError("You can only respond with array buffer views");if(!0===Pe(e.buffer))throw new TypeError("The supplied view's buffer has been detached and so cannot be used as a response");!function(e,t){var r=e._pendingPullIntos[0];if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.byteLength!==t.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");r.buffer=t.buffer,qt(e,t.byteLength)}(this._associatedReadableByteStreamController,e)},n(e,[{key:"view",get:function(){if(!1===Rt(this))throw er("view");return this._view}}]),e}(),Ct=function(){function e(){throw new TypeError("ReadableByteStreamController constructor cannot be used directly")}var t=e.prototype;return t.close=function(){if(!1===Tt(this))throw tr("close");if(!0===this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");var e=this._controlledReadableByteStream._state;if("readable"!==e)throw new TypeError("The stream (in "+e+" state) is not in the readable state and cannot be closed");!function(e){var t=e._controlledReadableByteStream;if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0)if(e._pendingPullIntos[0].bytesFilled>0){var r=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Gt(e,r),r}at(t)}}(this)},t.enqueue=function(e){if(!1===Tt(this))throw tr("enqueue");if(!0===this._closeRequested)throw new TypeError("stream is closed or draining");var t=this._controlledReadableByteStream._state;if("readable"!==t)throw new TypeError("The stream (in "+t+" state) is not in the readable state and cannot be enqueued to");if(!ArrayBuffer.isView(e))throw new TypeError("You can only enqueue array buffer views when using a ReadableByteStreamController");if(!0===Pe(e.buffer))throw new TypeError("Cannot enqueue a view onto a detached ArrayBuffer");!function(e,t){var r=e._controlledReadableByteStream,n=t.buffer,a=t.byteOffset,i=t.byteLength,s=Me(n);if(!0===ft(r))if(0===ut(r))Kt(e,s,a,i);else{st(r,new Uint8Array(s,a,i),!1)}else!0===ct(r)?(Kt(e,s,a,i),Lt(e)):Kt(e,s,a,i);Bt(e)}(this,e)},t.error=function(e){if(!1===Tt(this))throw tr("error");Gt(this,e)},t[He]=function(e){return this._pendingPullIntos.length>0&&(this._pendingPullIntos[0].bytesFilled=0),Ke(this),this._cancelAlgorithm(e)},t[Ve]=function(){var e=this._controlledReadableByteStream;if(this._queueTotalSize>0){var t,r=this._queue.shift();this._queueTotalSize-=r.byteLength,Nt(this);try{t=new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}catch(e){return Promise.reject(e)}return Promise.resolve(Se(t,!1))}var n=this._autoAllocateChunkSize;if(void 0!==n){var a;try{a=new ArrayBuffer(n)}catch(e){return Promise.reject(e)}var i={buffer:a,byteOffset:0,byteLength:n,bytesFilled:0,elementSize:1,ctor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}var s=rt(e);return Bt(this),s},n(e,[{key:"byobRequest",get:function(){if(!1===Tt(this))throw tr("byobRequest");if(void 0===this._byobRequest&&this._pendingPullIntos.length>0){var e=this._pendingPullIntos[0],t=new Uint8Array(e.buffer,e.byteOffset+e.bytesFilled,e.byteLength-e.bytesFilled),r=Object.create(Mt.prototype);!function(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}(r,this,t),this._byobRequest=r}return this._byobRequest}},{key:"desiredSize",get:function(){if(!1===Tt(this))throw tr("desiredSize");return Ht(this)}}]),e}();function Tt(e){return!!Be(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")}function Rt(e){return!!Be(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function Bt(e){!1!==function(e){var t=e._controlledReadableByteStream;return"readable"===t._state&&(!0!==e._closeRequested&&(!1!==e._started&&(!0===ft(t)&&ut(t)>0||(!0===ct(t)&&ot(t)>0||Ht(e)>0))))}(e)&&(!0!==e._pulling?(e._pulling=!0,e._pullAlgorithm().then(function(){e._pulling=!1,!0===e._pullAgain&&(e._pullAgain=!1,Bt(e))},function(t){Gt(e,t)}).catch(Ie)):e._pullAgain=!0)}function It(e){Ft(e),e._pendingPullIntos=[]}function Ut(e,t){var r=!1;"closed"===e._state&&(r=!0);var n=Ot(t);"default"===t.readerType?st(e,n,r):function(e,t,r){e._reader._readIntoRequests.shift()._resolve(Se(t,r))}(e,n,r)}function Ot(e){var t=e.bytesFilled,r=e.elementSize;return new e.ctor(e.buffer,e.byteOffset,t/r)}function Kt(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function zt(e,t){var r=t.elementSize,n=t.bytesFilled-t.bytesFilled%r,a=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),i=t.bytesFilled+a,s=i-i%r,o=a,u=!1;s>n&&(o=s-t.bytesFilled,u=!0);for(var c=e._queue;o>0;){var f=c[0],d=Math.min(o,f.byteLength),l=t.byteOffset+t.bytesFilled;xe(t.buffer,l,f.buffer,f.byteOffset,d),f.byteLength===d?c.shift():(f.byteOffset+=d,f.byteLength-=d),e._queueTotalSize-=d,Dt(e,d,t),o-=d}return u}function Dt(e,t,r){Ft(e),r.bytesFilled+=t}function Nt(e){0===e._queueTotalSize&&!0===e._closeRequested?at(e._controlledReadableByteStream):Bt(e)}function Ft(e){void 0!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=void 0,e._byobRequest=void 0)}function Lt(e){for(;e._pendingPullIntos.length>0;){if(0===e._queueTotalSize)return;var t=e._pendingPullIntos[0];!0===zt(e,t)&&(Wt(e),Ut(e._controlledReadableByteStream,t))}}function qt(e,t){var r=e._pendingPullIntos[0];if("closed"===e._controlledReadableByteStream._state){if(0!==t)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(e,t){t.buffer=Me(t.buffer);var r=e._controlledReadableByteStream;if(!0===ct(r))for(;ot(r)>0;)Ut(r,Wt(e))}(e,r)}else!function(e,t,r){if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range");if(Dt(e,t,r),!(r.bytesFilled0){var a=r.byteOffset+r.bytesFilled,i=r.buffer.slice(a-n,a);Kt(e,i,0,i.byteLength)}r.buffer=Me(r.buffer),r.bytesFilled-=n,Ut(e._controlledReadableByteStream,r),Lt(e)}}(e,t,r);Bt(e)}function Wt(e){var t=e._pendingPullIntos.shift();return Ft(e),t}function Gt(e,t){var r=e._controlledReadableByteStream;"readable"===r._state&&(It(e),Ke(e),it(r,t))}function Ht(e){var t=e._controlledReadableByteStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function Vt(e,t,r,n,a,i,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,It(t),t._queue=t._queueTotalSize=void 0,Ke(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=Ce(i),t._pullAlgorithm=n,t._cancelAlgorithm=a,t._autoAllocateChunkSize=s,t._pendingPullIntos=[],e._readableStreamController=t;var o=r();Promise.resolve(o).then(function(){t._started=!0,Bt(t)},function(e){Gt(t,e)}).catch(Ie)}function Zt(e){return new TypeError("ReadableStream.prototype."+e+" can only be used on a ReadableStream")}function Yt(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function Xt(e){return new TypeError("ReadableStreamDefaultReader.prototype."+e+" can only be used on a ReadableStreamDefaultReader")}function Jt(e,t){e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}function $t(e){return new TypeError("ReadableStreamBYOBReader.prototype."+e+" can only be used on a ReadableStreamBYOBReader")}function Qt(e){return new TypeError("ReadableStreamDefaultController.prototype."+e+" can only be used on a ReadableStreamDefaultController")}function er(e){return new TypeError("ReadableStreamBYOBRequest.prototype."+e+" can only be used on a ReadableStreamBYOBRequest")}function tr(e){return new TypeError("ReadableByteStreamController.prototype."+e+" can only be used on a ReadableByteStreamController")}var rr=Ye.ReadableStream,nr=v.createDataProperty,ar=function(){function e(e){var t=e.highWaterMark;nr(this,"highWaterMark",t)}return e.prototype.size=function(e){return e.byteLength},e}(),ir=v.createDataProperty,sr=function(){function e(e){var t=e.highWaterMark;ir(this,"highWaterMark",t)}return e.prototype.size=function(){return 1},e}(),or=(j("streams:transform-stream:verbose"),v.InvokeOrNoop),ur=v.CreateAlgorithmFromUnderlyingMethod,cr=v.PromiseCall,fr=v.typeIsObject,dr=v.ValidateAndNormalizeHighWaterMark,lr=(v.IsNonNegativeNumber,v.MakeSizeAlgorithmFromSizeFunction),hr=Ye.CreateReadableStream,pr=Ye.ReadableStreamDefaultControllerClose,br=Ye.ReadableStreamDefaultControllerEnqueue,yr=Ye.ReadableStreamDefaultControllerError,mr=Ye.ReadableStreamDefaultControllerGetDesiredSize,vr=Ye.ReadableStreamDefaultControllerHasBackpressure,gr=Ye.ReadableStreamDefaultControllerCanCloseOrEnqueue,_r=q.CreateWritableStream,wr=q.WritableStreamDefaultControllerErrorIfNeeded,kr=function(){function e(e,t,r){if(void 0===e&&(e={}),void 0===t&&(t={}),void 0===r&&(r={}),void 0!==e.readableType)throw new RangeError("Invalid readable type specified");if(void 0!==e.writableType)throw new RangeError("Invalid writable type specified");var n=t.size,a=lr(n),i=t.highWaterMark;void 0===i&&(i=1),i=dr(i);var s,o=r.size,u=lr(o),c=r.highWaterMark;void 0===c&&(c=0),c=dr(c),xr(this,new Promise(function(e){s=e}),i,a,c,u),function(e,t){var r=Object.create(Pr.prototype),n=function(e){try{return Tr(r,e),Promise.resolve()}catch(e){return Promise.reject(e)}},a=t.transform;if(void 0!==a){if("function"!=typeof a)throw new TypeError("transform is not a method");n=function(n){return cr(a,t,[n,r]).catch(function(t){throw Sr(e,t),t})}}var i=ur(t,"flush",0,[r]);Cr(e,r,n,i)}(this,e);var f=or(e,"start",[this._transformStreamController]);s(f)}return n(e,[{key:"readable",get:function(){if(!1===Ar(this))throw Br("readable");return this._readable}},{key:"writable",get:function(){if(!1===Ar(this))throw Br("writable");return this._writable}}]),e}();function xr(e,t,r,n,a,i){function s(){return t}e._writable=_r(s,function(t){return function(e,t){var r=e._transformStreamController;return!0===e._backpressure?e._backpressureChangePromise.then(function(){var n=e._writable;if("erroring"===n._state)throw n._storedError;return r._transformAlgorithm(t)}):r._transformAlgorithm(t)}(e,t)},function(){return function(e){var t=e._readable;return e._transformStreamController._flushAlgorithm().then(function(){if("errored"===t._state)throw t._storedError;var e=t._readableStreamController;!0===gr(e)&&pr(e)}).catch(function(r){throw Sr(e,r),t._storedError})}(e)},function(t){return function(e,t){return Sr(e,t),Promise.resolve()}(e,t)},r,n),e._readable=hr(s,function(){return function(e){return jr(e,!1),e._backpressureChangePromise}(e)},function(t){return Er(e,t),Promise.resolve()},a,i),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,jr(e,!0),e._transformStreamController=void 0}function Ar(e){return!!fr(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")}function Sr(e,t){yr(e._readable._readableStreamController,t),Er(e,t)}function Er(e,t){wr(e._writable._writableStreamController,t),!0===e._backpressure&&jr(e,!1)}function jr(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=new Promise(function(t){e._backpressureChangePromise_resolve=t}),e._backpressure=t}var Pr=function(){function e(){throw new TypeError("TransformStreamDefaultController instances cannot be created directly")}var t=e.prototype;return t.enqueue=function(e){if(!1===Mr(this))throw Rr("enqueue");Tr(this,e)},t.error=function(e){if(!1===Mr(this))throw Rr("error");!function(e,t){Sr(e._controlledTransformStream,t)}(this,e)},t.terminate=function(){if(!1===Mr(this))throw Rr("terminate");var e,t;e=this._controlledTransformStream,t=e._readable._readableStreamController,!0===gr(t)&&pr(t),Er(e,new TypeError("TransformStream terminated"))},n(e,[{key:"desiredSize",get:function(){if(!1===Mr(this))throw Rr("desiredSize");var e=this._controlledTransformStream._readable._readableStreamController;return mr(e)}}]),e}();function Mr(e){return!!fr(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")}function Cr(e,t,r,n){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=n}function Tr(e,t){var r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!1===gr(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{br(n,t)}catch(e){throw Er(r,e),r._readable._storedError}vr(n)!==r._backpressure&&jr(r,!0)}function Rr(e){return new TypeError("TransformStreamDefaultController.prototype."+e+" can only be used on a TransformStreamDefaultController")}function Br(e){return new TypeError("TransformStream.prototype."+e+" can only be used on a TransformStream")}var Ir=kr;void 0!==u&&a(u,{ReadableStream:rr,WritableStream:ke,ByteLengthQueuingStrategy:ar,CountQueuingStrategy:sr,TransformStream:Ir}),t.ReadableStream=rr,t.WritableStream=ke,t.ByteLengthQueuingStrategy=ar,t.CountQueuingStrategy=sr,t.TransformStream=Ir,Object.defineProperty(t,"__esModule",{value:!0})})("object"==typeof r&&void 0!==t?r:this.WebStreamsPolyfill={})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],2:[function(e,t,r){"use strict";var n=i(e("babel-runtime/helpers/classCallCheck")),a=i(e("babel-runtime/helpers/createClass"));function i(e){return e&&e.__esModule?e:{default:e}}var s=e("email-addresses");function o(e){if("group"===e.type)return new u(e.name,e.addresses.map(o));var t=void 0;e.parts.comments&&(t=e.parts.comments.map(function(e){return e.tokens.trim()}).join(" ").trim());var r=e.local;return!e.name&&/:/.test(r)&&(r='"'+r+'"'),new c(e.name,r+"@"+e.domain,t)}r.parse=function(e,t){if(!e)throw"Nothing to parse";e=e.trim();var r=s({input:e,rfc6532:!0,partial:!1,simple:!1,strict:!1,rejectTLD:!1,startAt:t||null});if(!r)throw"No results";return r.addresses.map(o)},r.parseFrom=function(e){return r.parse(e,"from")},r.parseSender=function(e){return r.parse(e,"sender")},r.parseReplyTo=function(e){return r.parse(e,"reply-to")};var u=function(){function e(t,r){(0,n.default)(this,e),this.phrase=t,this.addresses=r}return(0,a.default)(e,[{key:"format",value:function(){return this.phrase+":"+this.addresses.map(function(e){return e.format()}).join(",")}},{key:"name",value:function(){var e=this.phrase;e&&e.length||(e=this.comment);var t=f(e);return t}}]),e}(),c=function(){function e(t,r,a){(0,n.default)(this,e),this.phrase=t||"",this.address=r||"",this.comment=a||""}return(0,a.default)(e,[{key:"host",value:function(){var e=/.*@(.*)$/.exec(this.address);return e?e[1]:null}},{key:"user",value:function(){var e=/^(.*)@/.exec(this.address);return e?e[1]:null}},{key:"format",value:function(){var e=this.phrase,t=this.address,r=this.comment,n=[],a=new RegExp("^[\\-\\w !#$%&'*+/=?^`{|}~]+$");return e&&e.length?(n.push(a.test(e.trim())?e:function(e){if(/^"/.test(e))return!0;var t=void 0;for(;t=/^[\s\S]*?([\s\S])"/.exec(e);){if("\\"!==t[1])return!0;e=e.substr(t[0].length)}return!1}(e)?e:'"'+e+'"'),t&&t.length&&n.push("<"+t+">")):t&&t.length&&n.push(t),r&&/\S/.test(r)&&(r=r.replace(/^\s*\(?/,"(").replace(/\)?\s*$/,")")),r&&r.length&&n.push(r),n.join(" ")}},{key:"name",value:function(){var e=this.phrase,t=this.address;e&&e.length||(e=this.comment);var r=f(e);if(""===r){var n=/([^%.@_]+([._][^%.@_]+)+)[@%]/.exec(t);n&&(r=n[1].replace(/[._]+/g," "),r=f(r))}if(""===r&&/\/g=/i.test(t)){var a=/\/g=([^/]*)/i.exec(t);r=f(a[1]+" "+(a=/\/s=([^/]*)/i.exec(t))[1])}return r}}]),e}();function f(e){return/=?.*?\?=/.test(e)?"":(e=(e=e.trim()).replace(/\s+/," "),/^[\d ]+$/.test(e)?"":(e=e.replace(/^\((.*)\)$/,"$1").replace(/^"(.*)"$/,"$1").replace(/\(.*?\)/g,"").replace(/\\/g,"").replace(/^"(.*)"$/,"$1").replace(/^([^\s]+) ?, ?(.*)$/,"$2 $1").replace(/,.*/,""),(r.isAllUpper(e)||r.isAllLower(e))&&(e=r.nameCase(e)),e=e.replace(/\[[^\]]*\]/g,"").replace(/(^[\s'"]+|[\s'"]+$)/g,"").replace(/\s{2,}/g," ")))}r.Address=c,r.isAllLower=function(e){return e===e.toLowerCase()},r.isAllUpper=function(e){return e===e.toUpperCase()},r.nameCase=function(e){return e.toLowerCase().replace(/\b(\w+)/g,function(e,t){return t.charAt(0).toUpperCase()+t.slice(1)}).replace(/\bMc(\w)/gi,function(e,t){return"Mc"+t.toUpperCase()}).replace(/\bo'(\w)/gi,function(e,t){return"O'"+t.toUpperCase()}).replace(/\b(x*(ix)?v*(iv)?i*)\b/gi,function(e,t){return t.toUpperCase()})}},{"babel-runtime/helpers/classCallCheck":34,"babel-runtime/helpers/createClass":35,"email-addresses":294}],3:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});r.AES_asm=function(){var e,t,r=!1;function n(r,n){var a=e[(t[r]+t[n])%255];return 0!==r&&0!==n||(a=0),a}var a,i,s,o,u=!1;function c(){function c(r){var n,a,i;for(a=i=function(r){var n=e[255-t[r]];return 0===r&&(n=0),n}(r),n=0;n<4;n++)i^=a=255&(a<<1|a>>>7);return i^=99}r||function(){e=[],t=[];var n,a,i=1;for(n=0;n<255;n++)e[n]=i,a=128&i,i<<=1,i&=255,128===a&&(i^=27),i^=e[n],t[e[n]]=n;e[255]=e[0],t[0]=0,r=!0}(),a=[],i=[],s=[[],[],[],[]],o=[[],[],[],[]];for(var f=0;f<256;f++){var d=c(f);a[f]=d,i[d]=f,s[0][f]=n(2,d)<<24|d<<16|d<<8|n(3,d),o[0][d]=n(14,f)<<24|n(9,f)<<16|n(13,f)<<8|n(11,f);for(var l=1;l<4;l++)s[l][f]=s[l-1][f]>>>8|s[l-1][f]<<24,o[l][d]=o[l-1][d]>>>8|o[l-1][d]<<24}u=!0}var f=function(e,t){u||c();var r=new Uint32Array(t);r.set(a,512),r.set(i,768);for(var n=0;n<4;n++)r.set(s[n],4096+1024*n>>2),r.set(o[n],8192+1024*n>>2);var f=function(e,t,r){"use asm";var n=0,a=0,i=0,s=0,o=0,u=0,c=0,f=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0,_=0,w=0,k=0,x=0;var A=new e.Uint32Array(r),S=new e.Uint8Array(r);function E(e,t,r,o,u,c,f,d){e=e|0;t=t|0;r=r|0;o=o|0;u=u|0;c=c|0;f=f|0;d=d|0;var l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0;l=r|0x400,h=r|0x800,p=r|0xc00;u=u^A[(e|0)>>2],c=c^A[(e|4)>>2],f=f^A[(e|8)>>2],d=d^A[(e|12)>>2];for(g=16;(g|0)<=o<<4;g=g+16|0){b=A[(r|u>>22&1020)>>2]^A[(l|c>>14&1020)>>2]^A[(h|f>>6&1020)>>2]^A[(p|d<<2&1020)>>2]^A[(e|g|0)>>2],y=A[(r|c>>22&1020)>>2]^A[(l|f>>14&1020)>>2]^A[(h|d>>6&1020)>>2]^A[(p|u<<2&1020)>>2]^A[(e|g|4)>>2],m=A[(r|f>>22&1020)>>2]^A[(l|d>>14&1020)>>2]^A[(h|u>>6&1020)>>2]^A[(p|c<<2&1020)>>2]^A[(e|g|8)>>2],v=A[(r|d>>22&1020)>>2]^A[(l|u>>14&1020)>>2]^A[(h|c>>6&1020)>>2]^A[(p|f<<2&1020)>>2]^A[(e|g|12)>>2];u=b,c=y,f=m,d=v}n=A[(t|u>>22&1020)>>2]<<24^A[(t|c>>14&1020)>>2]<<16^A[(t|f>>6&1020)>>2]<<8^A[(t|d<<2&1020)>>2]^A[(e|g|0)>>2],a=A[(t|c>>22&1020)>>2]<<24^A[(t|f>>14&1020)>>2]<<16^A[(t|d>>6&1020)>>2]<<8^A[(t|u<<2&1020)>>2]^A[(e|g|4)>>2],i=A[(t|f>>22&1020)>>2]<<24^A[(t|d>>14&1020)>>2]<<16^A[(t|u>>6&1020)>>2]<<8^A[(t|c<<2&1020)>>2]^A[(e|g|8)>>2],s=A[(t|d>>22&1020)>>2]<<24^A[(t|u>>14&1020)>>2]<<16^A[(t|c>>6&1020)>>2]<<8^A[(t|f<<2&1020)>>2]^A[(e|g|12)>>2]}function j(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;E(0x0000,0x0800,0x1000,x,e,t,r,n)}function P(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var i=0;E(0x0400,0x0c00,0x2000,x,e,n,r,t);i=a,a=s,s=i}function M(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,o^e,u^t,c^r,f^d);o=n,u=a,c=i,f=s}function C(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;var l=0;E(0x0400,0x0c00,0x2000,x,e,d,r,t);l=a,a=s,s=l;n=n^o,a=a^u,i=i^c,s=s^f;o=e,u=t,c=r,f=d}function T(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,o,u,c,f);o=n=n^e,u=a=a^t,c=i=i^r,f=s=s^d}function R(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,o,u,c,f);n=n^e,a=a^t,i=i^r,s=s^d;o=e,u=t,c=r,f=d}function B(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,o,u,c,f);o=n,u=a,c=i,f=s;n=n^e,a=a^t,i=i^r,s=s^d}function I(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;E(0x0000,0x0800,0x1000,x,d,l,h,p);p=~v&p|v&p+1;h=~m&h|m&h+((p|0)==0);l=~y&l|y&l+((h|0)==0);d=~b&d|b&d+((l|0)==0);n=n^e;a=a^t;i=i^r;s=s^o}function U(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0,i=0,s=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0;e=e^o,t=t^u,r=r^c,n=n^f;a=g|0,i=_|0,s=w|0,d=k|0;for(;(y|0)<128;y=y+1|0){if(a>>>31){l=l^e,h=h^t,p=p^r,b=b^n}a=a<<1|i>>>31,i=i<<1|s>>>31,s=s<<1|d>>>31,d=d<<1;m=n&1;n=n>>>1|r<<31,r=r>>>1|t<<31,t=t>>>1|e<<31,e=e>>>1;if(m)e=e^0xe1000000}o=l,u=h,c=p,f=b}function O(e){e=e|0;x=e}function K(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;n=e,a=t,i=r,s=o}function z(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;o=e,u=t,c=r,f=n}function D(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;d=e,l=t,h=r,p=n}function N(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;b=e,y=t,m=r,v=n}function F(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;p=~v&p|v&n,h=~m&h|m&r,l=~y&l|y&t,d=~b&d|b&e}function L(e){e=e|0;if(e&15)return-1;S[e|0]=n>>>24,S[e|1]=n>>>16&255,S[e|2]=n>>>8&255,S[e|3]=n&255,S[e|4]=a>>>24,S[e|5]=a>>>16&255,S[e|6]=a>>>8&255,S[e|7]=a&255,S[e|8]=i>>>24,S[e|9]=i>>>16&255,S[e|10]=i>>>8&255,S[e|11]=i&255,S[e|12]=s>>>24,S[e|13]=s>>>16&255,S[e|14]=s>>>8&255,S[e|15]=s&255;return 16}function q(e){e=e|0;if(e&15)return-1;S[e|0]=o>>>24,S[e|1]=o>>>16&255,S[e|2]=o>>>8&255,S[e|3]=o&255,S[e|4]=u>>>24,S[e|5]=u>>>16&255,S[e|6]=u>>>8&255,S[e|7]=u&255,S[e|8]=c>>>24,S[e|9]=c>>>16&255,S[e|10]=c>>>8&255,S[e|11]=c&255,S[e|12]=f>>>24,S[e|13]=f>>>16&255,S[e|14]=f>>>8&255,S[e|15]=f&255;return 16}function W(){j(0,0,0,0);g=n,_=a,w=i,k=s}function G(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;if(t&15)return-1;while((r|0)>=16){V[e&7](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);S[t|0]=n>>>24,S[t|1]=n>>>16&255,S[t|2]=n>>>8&255,S[t|3]=n&255,S[t|4]=a>>>24,S[t|5]=a>>>16&255,S[t|6]=a>>>8&255,S[t|7]=a&255,S[t|8]=i>>>24,S[t|9]=i>>>16&255,S[t|10]=i>>>8&255,S[t|11]=i&255,S[t|12]=s>>>24,S[t|13]=s>>>16&255,S[t|14]=s>>>8&255,S[t|15]=s&255;o=o+16|0,t=t+16|0,r=r-16|0}return o|0}function H(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;if(t&15)return-1;while((r|0)>=16){Z[e&1](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);n=n+16|0,t=t+16|0,r=r-16|0}return n|0}var V=[j,P,M,C,T,R,B,I];var Z=[M,U];return{set_rounds:O,set_state:K,set_iv:z,set_nonce:D,set_mask:N,set_counter:F,get_state:L,get_iv:q,gcm_init:W,cipher:G,mac:H}}({Uint8Array:Uint8Array,Uint32Array:Uint32Array},e,t);return f.set_key=function(e,t,n,i,s,u,c,d,l){var h=r.subarray(0,60),p=r.subarray(256,316);h.set([t,n,i,s,u,c,d,l]);for(var b=e,y=1;b<4*e+28;b++){var m=h[b-1];(b%e==0||8===e&&b%e==4)&&(m=a[m>>>24]<<24^a[m>>>16&255]<<16^a[m>>>8&255]<<8^a[255&m]),b%e==0&&(m=m<<8^m>>>24^y<<24,y=y<<1^(128&y?27:0)),h[b]=h[b-e]^m}for(var v=0;v=b-4?m:o[0][a[m>>>24]]^o[1][a[m>>>16&255]]^o[2][a[m>>>8&255]]^o[3][a[255&m]];f.set_rounds(e+5)},f};return f.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},f.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},f.MAC={CBC:0,GCM:1},f.HEAP_DATA=16384,f}()},{}],4:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES=void 0;var n=e("./aes.asm"),a=e("../other/utils"),i=e("../other/errors"),s=[],o=[],u=function(){function e(e,t,r,n){void 0===r&&(r=!0),this.pos=0,this.len=0,this.mode=n,this.pos=0,this.len=0,this.key=e,this.iv=t,this.padding=r,this.acquire_asm()}return e.prototype.acquire_asm=function(){void 0===this.heap&&void 0===this.asm&&(this.heap=s.pop()||(0,a._heap_init)().subarray(n.AES_asm.HEAP_DATA),this.asm=o.pop()||(0,n.AES_asm)(null,this.heap.buffer),this.reset(this.key,this.iv))},e.prototype.release_asm=function(){s.push(this.heap),o.push(this.asm),this.heap=void 0,this.asm=void 0},e.prototype.reset=function(e,t){var r=e.length;if(16!==r&&24!==r&&32!==r)throw new i.IllegalArgumentError("illegal key size");var n=new DataView(e.buffer,e.byteOffset,e.byteLength);if(this.asm.set_key(r>>2,n.getUint32(0),n.getUint32(4),n.getUint32(8),n.getUint32(12),r>16?n.getUint32(16):0,r>16?n.getUint32(20):0,r>24?n.getUint32(24):0,r>24?n.getUint32(28):0),void 0!==t){if(16!==t.length)throw new i.IllegalArgumentError("illegal iv size");var a=new DataView(t.buffer,t.byteOffset,t.byteLength);this.asm.set_iv(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12))}else this.asm.set_iv(0,0,0,0)},e.prototype.AES_Encrypt_process=function(e){if(!(0,a.is_bytes)(e))throw new TypeError("data isn't of expected type");this.acquire_asm();for(var t=this.asm,r=this.heap,i=n.AES_asm.ENC[this.mode],s=n.AES_asm.HEAP_DATA,o=this.pos,u=this.len,c=0,f=e.length||0,d=0,l=0,h=new Uint8Array(u+f&-16);f>0;)u+=l=(0,a._heap_write)(r,o+u,e,c,f),c+=l,f-=l,(l=t.cipher(i,s+o,u))&&h.set(r.subarray(o,o+l),d),d+=l,l0;)u+=p=(0,a._heap_write)(r,o+u,e,c,f),c+=p,f-=p,(p=t.cipher(i,s+o,u-(f?0:h)))&&b.set(r.subarray(o,o+p),d),d+=p,p0){if(o%16){if(this.hasOwnProperty("padding"))throw new i.IllegalArgumentError("data length must be a multiple of the block size");o+=16-o%16}if(e.cipher(r,a+s,o),this.hasOwnProperty("padding")&&this.padding){var c=t[s+u-1];if(c<1||c>16||c>u)throw new i.SecurityError("bad padding");for(var f=0,d=c;d>1;d--)f|=c^t[s+u-d];if(f)throw new i.SecurityError("bad padding");u-=c}}var l=new Uint8Array(u);return u>0&&l.set(t.subarray(s,s+u)),this.pos=0,this.len=0,this.release_asm(),l},e}();r.AES=u},{"../other/errors":15,"../other/utils":16,"./aes.asm":3}],5:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_CBC=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),s=e("../other/utils");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=function(e){function t(t,r,n){return void 0===n&&(n=!0),e.call(this,t,r,n,"CBC")||this}return c(t,e),t.encrypt=function(e,r,n,a){return void 0===n&&(n=!0),new t(r,a,n).encrypt(e)},t.decrypt=function(e,r,n,a){return void 0===n&&(n=!0),new t(r,a,n).decrypt(e)},t.prototype.encrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,s.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Decrypt_process(e),r=this.AES_Decrypt_finish();return(0,s.joinBytes)(t,r)},t}(i.AES);r.AES_CBC=f},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],6:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_CFB=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),s=e("../other/utils");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=function(e){function t(t,r){var n=e.call(this,t,r,!0,"CFB")||this;return delete n.padding,n}return c(t,e),t.encrypt=function(e,r,n){return new t(r,n).encrypt(e)},t.decrypt=function(e,r,n){return new t(r,n).decrypt(e)},t.prototype.encrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,s.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Decrypt_process(e),r=this.AES_Decrypt_finish();return(0,s.joinBytes)(t,r)},t}(i.AES);r.AES_CFB=f},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],7:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_CTR=void 0;var n=u(e("babel-runtime/core-js/object/create")),a=u(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),s=e("../other/errors"),o=e("../other/utils");function u(e){return e&&e.__esModule?e:{default:e}}var c,f=(c=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}c(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),d=function(e){function t(t,r){var n=e.call(this,t,void 0,!1,"CTR")||this;return delete n.padding,n.AES_CTR_set_options(r),n}return f(t,e),t.encrypt=function(e,r,n){return new t(r,n).encrypt(e)},t.decrypt=function(e,r,n){return new t(r,n).encrypt(e)},t.prototype.encrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,o.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,o.joinBytes)(t,r)},t.prototype.AES_CTR_set_options=function(e,t,r){if(void 0!==r){if(r<8||r>48)throw new s.IllegalArgumentError("illegal counter size");var n=Math.pow(2,r)-1;this.asm.set_mask(0,0,n/4294967296|0,0|n)}else r=48,this.asm.set_mask(0,0,65535,4294967295);if(void 0===e)throw new Error("nonce is required");var a=e.length;if(!a||a>16)throw new s.IllegalArgumentError("illegal nonce size");var i=new DataView(new ArrayBuffer(16));if(new Uint8Array(i.buffer).set(e),this.asm.set_nonce(i.getUint32(0),i.getUint32(4),i.getUint32(8),i.getUint32(12)),void 0!==t){if(t<0||t>=Math.pow(2,r))throw new s.IllegalArgumentError("illegal counter value");this.asm.set_counter(0,0,t/4294967296|0,0|t)}},t}(i.AES);r.AES_CTR=d},{"../other/errors":15,"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],8:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_ECB=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),s=e("../other/utils");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=function(e){function t(t,r){return void 0===r&&(r=!1),e.call(this,t,void 0,r,"ECB")||this}return c(t,e),t.encrypt=function(e,r,n){return void 0===n&&(n=!1),new t(r,n).encrypt(e)},t.decrypt=function(e,r,n){return void 0===n&&(n=!1),new t(r,n).decrypt(e)},t.prototype.encrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,s.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Decrypt_process(e),r=this.AES_Decrypt_finish();return(0,s.joinBytes)(t,r)},t}(i.AES);r.AES_ECB=f},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],9:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_GCM=void 0;var n=c(e("babel-runtime/core-js/object/create")),a=c(e("babel-runtime/core-js/object/set-prototype-of")),i=e("../other/errors"),s=e("../other/utils"),o=e("./aes"),u=e("./aes.asm");function c(e){return e&&e.__esModule?e:{default:e}}var f,d=(f=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}f(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),l=68719476704,h=function(e){function t(t,r,n,a){void 0===a&&(a=16);var s=e.call(this,t,void 0,!1,"CTR")||this;if(s.tagSize=a,s.gamma0=0,s.counter=1,s.asm.gcm_init(),s.tagSize<4||s.tagSize>16)throw new i.IllegalArgumentError("illegal tagSize value");var o=r.length||0,c=new Uint8Array(16);12!==o?(s._gcm_mac_process(r),s.heap[0]=0,s.heap[1]=0,s.heap[2]=0,s.heap[3]=0,s.heap[4]=0,s.heap[5]=0,s.heap[6]=0,s.heap[7]=0,s.heap[8]=0,s.heap[9]=0,s.heap[10]=0,s.heap[11]=o>>>29,s.heap[12]=o>>>21&255,s.heap[13]=o>>>13&255,s.heap[14]=o>>>5&255,s.heap[15]=o<<3&255,s.asm.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA,16),s.asm.get_iv(u.AES_asm.HEAP_DATA),s.asm.set_iv(0,0,0,0),c.set(s.heap.subarray(0,16))):(c.set(r),c[15]=1);var f=new DataView(c.buffer);if(s.gamma0=f.getUint32(12),s.asm.set_nonce(f.getUint32(0),f.getUint32(4),f.getUint32(8),0),s.asm.set_mask(0,0,0,4294967295),void 0!==n){if(n.length>l)throw new i.IllegalArgumentError("illegal adata length");n.length?(s.adata=n,s._gcm_mac_process(n)):s.adata=void 0}else s.adata=void 0;if(s.counter<1||s.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");return s.asm.set_counter(0,0,0,s.gamma0+s.counter|0),s}return d(t,e),t.encrypt=function(e,r,n,a,i){return new t(r,n,a,i).encrypt(e)},t.decrypt=function(e,r,n,a,i){return new t(r,n,a,i).decrypt(e)},t.prototype.encrypt=function(e){return this.AES_GCM_encrypt(e)},t.prototype.decrypt=function(e){return this.AES_GCM_decrypt(e)},t.prototype.AES_GCM_Encrypt_process=function(e){var t=0,r=e.length||0,n=this.asm,a=this.heap,i=this.counter,o=this.pos,c=this.len,f=0,d=c+r&-16,h=0;if((i-1<<4)+c+r>l)throw new RangeError("counter overflow");for(var p=new Uint8Array(d);r>0;)c+=h=(0,s._heap_write)(a,o+c,e,t,r),t+=h,r-=h,h=n.cipher(u.AES_asm.ENC.CTR,u.AES_asm.HEAP_DATA+o,c),(h=n.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA+o,h))&&p.set(a.subarray(o,o+h),f),i+=h>>>4,f+=h,h>>29,t[4]=f>>>21,t[5]=f>>>13&255,t[6]=f>>>5&255,t[7]=f<<3&255,t[8]=t[9]=t[10]=0,t[11]=d>>>29,t[12]=d>>>21&255,t[13]=d>>>13&255,t[14]=d>>>5&255,t[15]=d<<3&255,e.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA,16),e.get_iv(u.AES_asm.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(u.AES_asm.ENC.CTR,u.AES_asm.HEAP_DATA,16),o.set(t.subarray(0,n),s),this.counter=1,this.pos=0,this.len=0,o},t.prototype.AES_GCM_Decrypt_process=function(e){var t=0,r=e.length||0,n=this.asm,a=this.heap,i=this.counter,o=this.tagSize,c=this.pos,f=this.len,d=0,h=f+r>o?f+r-o&-16:0,p=f+r-h,b=0;if((i-1<<4)+f+r>l)throw new RangeError("counter overflow");for(var y=new Uint8Array(h);r>p;)f+=b=(0,s._heap_write)(a,c+f,e,t,r-p),t+=b,r-=b,b=n.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA+c,b),(b=n.cipher(u.AES_asm.DEC.CTR,u.AES_asm.HEAP_DATA+c,b))&&y.set(a.subarray(c,c+b),d),i+=b>>>4,d+=b,c=0,f=0;return r>0&&(f+=(0,s._heap_write)(a,0,e,t,r)),this.counter=i,this.pos=c,this.len=f,y},t.prototype.AES_GCM_Decrypt_finish=function(){var e=this.asm,t=this.heap,r=this.tagSize,n=this.adata,a=this.counter,s=this.pos,o=this.len,c=o-r;if(o>>29,t[4]=h>>>21,t[5]=h>>>13&255,t[6]=h>>>5&255,t[7]=h<<3&255,t[8]=t[9]=t[10]=0,t[11]=p>>>29,t[12]=p>>>21&255,t[13]=p>>>13&255,t[14]=p>>>5&255,t[15]=p<<3&255,e.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA,16),e.get_iv(u.AES_asm.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(u.AES_asm.ENC.CTR,u.AES_asm.HEAP_DATA,16);for(var b=0,y=0;y0;){for(n+=i=(0,s._heap_write)(t,0,e,n,a),a-=i;15&i;)t[i++]=0;r.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA,i)}},t}(o.AES);r.AES_GCM=h},{"../other/errors":15,"../other/utils":16,"./aes":4,"./aes.asm":3,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],10:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Hash=void 0;var n=e("../other/utils"),a=e("../other/errors"),i=function(){function e(){this.pos=0,this.len=0,this.acquire_asm()}return e.prototype.acquire_asm=function(){void 0===this.heap&&void 0===this.asm&&(this.heap=this.constructor.heap_pool.pop()||(0,n._heap_init)(),this.asm=this.constructor.asm_pool.pop()||this.constructor.asm_function({Uint8Array:Uint8Array},null,this.heap.buffer),this.reset())},e.prototype.release_asm=function(){this.constructor.heap_pool.push(this.heap),this.constructor.asm_pool.push(this.asm),this.heap=void 0,this.asm=void 0},e.prototype.reset=function(){return this.acquire_asm(),this.result=null,this.pos=0,this.len=0,this.asm.reset(),this},e.prototype.process=function(e){if(null!==this.result)throw new a.IllegalStateError("state must be reset before processing new data");this.acquire_asm();for(var t=this.asm,r=this.heap,i=this.pos,s=this.len,o=0,u=e.length,c=0;u>0;)s+=c=(0,n._heap_write)(r,i+s,e,o,u),o+=c,u-=c,i+=c=t.process(i,s),(s-=c)||(i=0);return this.pos=i,this.len=s,this},e.prototype.finish=function(){if(null!==this.result)throw new a.IllegalStateError("state must be reset before processing new data");return this.acquire_asm(),this.asm.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(this.heap.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this.release_asm(),this},e}();r.Hash=i},{"../other/errors":15,"../other/utils":16}],11:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.sha1_asm=function(e,t,r){"use asm";var n=0,a=0,i=0,s=0,o=0,u=0,c=0,f=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0,_=new e.Uint8Array(r);function w(e,t,r,u,c,f,d,l,h,p,b,y,m,v,g,_){e=e|0;t=t|0;r=r|0;u=u|0;c=c|0;f=f|0;d=d|0;l=l|0;h=h|0;p=p|0;b=b|0;y=y|0;m=m|0;v=v|0;g=g|0;_=_|0;var w=0,k=0,x=0,A=0,S=0,E=0,j=0,P=0,M=0,C=0,T=0,R=0,B=0,I=0,U=0,O=0,K=0,z=0,D=0,N=0,F=0,L=0,q=0,W=0,G=0,H=0,V=0,Z=0,Y=0,X=0,J=0,$=0,Q=0,ee=0,te=0,re=0,ne=0,ae=0,ie=0,se=0,oe=0,ue=0,ce=0,fe=0,de=0,le=0,he=0,pe=0,be=0,ye=0,me=0,ve=0,ge=0,_e=0,we=0,ke=0,xe=0,Ae=0,Se=0,Ee=0,je=0,Pe=0,Me=0,Ce=0,Te=0,Re=0,Be=0,Ie=0,Ue=0,Oe=0,Ke=0;w=n;k=a;x=i;A=s;S=o;j=e+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=t+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=r+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=u+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=c+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=f+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=d+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=l+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=h+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=p+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=b+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=y+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=m+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=v+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=g+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=_+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=v^h^r^e;P=E<<1|E>>>31;j=P+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=g^p^u^t;M=E<<1|E>>>31;j=M+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=_^b^c^r;C=E<<1|E>>>31;j=C+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=P^y^f^u;T=E<<1|E>>>31;j=T+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=M^m^d^c;R=E<<1|E>>>31;j=R+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=C^v^l^f;B=E<<1|E>>>31;j=B+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=T^g^h^d;I=E<<1|E>>>31;j=I+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=R^_^p^l;U=E<<1|E>>>31;j=U+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=B^P^b^h;O=E<<1|E>>>31;j=O+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=I^M^y^p;K=E<<1|E>>>31;j=K+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=U^C^m^b;z=E<<1|E>>>31;j=z+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=O^T^v^y;D=E<<1|E>>>31;j=D+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=K^R^g^m;N=E<<1|E>>>31;j=N+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=z^B^_^v;F=E<<1|E>>>31;j=F+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=D^I^P^g;L=E<<1|E>>>31;j=L+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=N^U^M^_;q=E<<1|E>>>31;j=q+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=F^O^C^P;W=E<<1|E>>>31;j=W+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=L^K^T^M;G=E<<1|E>>>31;j=G+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=q^z^R^C;H=E<<1|E>>>31;j=H+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=W^D^B^T;V=E<<1|E>>>31;j=V+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=G^N^I^R;Z=E<<1|E>>>31;j=Z+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=H^F^U^B;Y=E<<1|E>>>31;j=Y+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=V^L^O^I;X=E<<1|E>>>31;j=X+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Z^q^K^U;J=E<<1|E>>>31;j=J+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Y^W^z^O;$=E<<1|E>>>31;j=$+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=X^G^D^K;Q=E<<1|E>>>31;j=Q+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=J^H^N^z;ee=E<<1|E>>>31;j=ee+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=$^V^F^D;te=E<<1|E>>>31;j=te+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Q^Z^L^N;re=E<<1|E>>>31;j=re+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ee^Y^q^F;ne=E<<1|E>>>31;j=ne+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=te^X^W^L;ae=E<<1|E>>>31;j=ae+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=re^J^G^q;ie=E<<1|E>>>31;j=ie+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ne^$^H^W;se=E<<1|E>>>31;j=se+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ae^Q^V^G;oe=E<<1|E>>>31;j=oe+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ie^ee^Z^H;ue=E<<1|E>>>31;j=ue+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=se^te^Y^V;ce=E<<1|E>>>31;j=ce+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=oe^re^X^Z;fe=E<<1|E>>>31;j=fe+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ue^ne^J^Y;de=E<<1|E>>>31;j=de+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ce^ae^$^X;le=E<<1|E>>>31;j=le+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=fe^ie^Q^J;he=E<<1|E>>>31;j=he+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=de^se^ee^$;pe=E<<1|E>>>31;j=pe+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=le^oe^te^Q;be=E<<1|E>>>31;j=be+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=he^ue^re^ee;ye=E<<1|E>>>31;j=ye+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=pe^ce^ne^te;me=E<<1|E>>>31;j=me+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=be^fe^ae^re;ve=E<<1|E>>>31;j=ve+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ye^de^ie^ne;ge=E<<1|E>>>31;j=ge+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=me^le^se^ae;_e=E<<1|E>>>31;j=_e+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ve^he^oe^ie;we=E<<1|E>>>31;j=we+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ge^pe^ue^se;ke=E<<1|E>>>31;j=ke+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=_e^be^ce^oe;xe=E<<1|E>>>31;j=xe+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=we^ye^fe^ue;Ae=E<<1|E>>>31;j=Ae+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ke^me^de^ce;Se=E<<1|E>>>31;j=Se+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=xe^ve^le^fe;Ee=E<<1|E>>>31;j=Ee+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Ae^ge^he^de;je=E<<1|E>>>31;j=je+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Se^_e^pe^le;Pe=E<<1|E>>>31;j=Pe+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Ee^we^be^he;Me=E<<1|E>>>31;j=Me+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=je^ke^ye^pe;Ce=E<<1|E>>>31;j=Ce+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Pe^xe^me^be;Te=E<<1|E>>>31;j=Te+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Me^Ae^ve^ye;Re=E<<1|E>>>31;j=Re+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Ce^Se^ge^me;Be=E<<1|E>>>31;j=Be+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Te^Ee^_e^ve;Ie=E<<1|E>>>31;j=Ie+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Re^je^we^ge;Ue=E<<1|E>>>31;j=Ue+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Be^Pe^ke^_e;Oe=E<<1|E>>>31;j=Oe+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Ie^Me^xe^we;Ke=E<<1|E>>>31;j=Ke+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;n=n+w|0;a=a+k|0;i=i+x|0;s=s+A|0;o=o+S|0}function k(e){e=e|0;w(_[e|0]<<24|_[e|1]<<16|_[e|2]<<8|_[e|3],_[e|4]<<24|_[e|5]<<16|_[e|6]<<8|_[e|7],_[e|8]<<24|_[e|9]<<16|_[e|10]<<8|_[e|11],_[e|12]<<24|_[e|13]<<16|_[e|14]<<8|_[e|15],_[e|16]<<24|_[e|17]<<16|_[e|18]<<8|_[e|19],_[e|20]<<24|_[e|21]<<16|_[e|22]<<8|_[e|23],_[e|24]<<24|_[e|25]<<16|_[e|26]<<8|_[e|27],_[e|28]<<24|_[e|29]<<16|_[e|30]<<8|_[e|31],_[e|32]<<24|_[e|33]<<16|_[e|34]<<8|_[e|35],_[e|36]<<24|_[e|37]<<16|_[e|38]<<8|_[e|39],_[e|40]<<24|_[e|41]<<16|_[e|42]<<8|_[e|43],_[e|44]<<24|_[e|45]<<16|_[e|46]<<8|_[e|47],_[e|48]<<24|_[e|49]<<16|_[e|50]<<8|_[e|51],_[e|52]<<24|_[e|53]<<16|_[e|54]<<8|_[e|55],_[e|56]<<24|_[e|57]<<16|_[e|58]<<8|_[e|59],_[e|60]<<24|_[e|61]<<16|_[e|62]<<8|_[e|63])}function x(e){e=e|0;_[e|0]=n>>>24;_[e|1]=n>>>16&255;_[e|2]=n>>>8&255;_[e|3]=n&255;_[e|4]=a>>>24;_[e|5]=a>>>16&255;_[e|6]=a>>>8&255;_[e|7]=a&255;_[e|8]=i>>>24;_[e|9]=i>>>16&255;_[e|10]=i>>>8&255;_[e|11]=i&255;_[e|12]=s>>>24;_[e|13]=s>>>16&255;_[e|14]=s>>>8&255;_[e|15]=s&255;_[e|16]=o>>>24;_[e|17]=o>>>16&255;_[e|18]=o>>>8&255;_[e|19]=o&255}function A(){n=0x67452301;a=0xefcdab89;i=0x98badcfe;s=0x10325476;o=0xc3d2e1f0;u=c=0}function S(e,t,r,f,d,l,h){e=e|0;t=t|0;r=r|0;f=f|0;d=d|0;l=l|0;h=h|0;n=e;a=t;i=r;s=f;o=d;u=l;c=h}function E(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){k(e);e=e+64|0;t=t-64|0;r=r+64|0}u=u+r|0;if(u>>>0>>0)c=c+1|0;return r|0}function j(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,a=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=E(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;u=u+t|0;if(u>>>0>>0)c=c+1|0;_[e|t]=0x80;if((t|0)>=56){for(a=t+1|0;(a|0)<64;a=a+1|0){_[e|a]=0x00}k(e);t=0;_[e|0]=0}for(a=t+1|0;(a|0)<59;a=a+1|0){_[e|a]=0}_[e|56]=c>>>21&255;_[e|57]=c>>>13&255;_[e|58]=c>>>5&255;_[e|59]=c<<3&255|u>>>29;_[e|60]=u>>>21&255;_[e|61]=u>>>13&255;_[e|62]=u>>>5&255;_[e|63]=u<<3&255;k(e);if(~r)x(r);return n|0}function P(){n=f;a=d;i=l;s=h;o=p;u=64;c=0}function M(){n=b;a=y;i=m;s=v;o=g;u=64;c=0}function C(e,t,r,_,k,x,S,E,j,P,M,C,T,R,B,I){e=e|0;t=t|0;r=r|0;_=_|0;k=k|0;x=x|0;S=S|0;E=E|0;j=j|0;P=P|0;M=M|0;C=C|0;T=T|0;R=R|0;B=B|0;I=I|0;A();w(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,_^0x5c5c5c5c,k^0x5c5c5c5c,x^0x5c5c5c5c,S^0x5c5c5c5c,E^0x5c5c5c5c,j^0x5c5c5c5c,P^0x5c5c5c5c,M^0x5c5c5c5c,C^0x5c5c5c5c,T^0x5c5c5c5c,R^0x5c5c5c5c,B^0x5c5c5c5c,I^0x5c5c5c5c);b=n;y=a;m=i;v=s;g=o;A();w(e^0x36363636,t^0x36363636,r^0x36363636,_^0x36363636,k^0x36363636,x^0x36363636,S^0x36363636,E^0x36363636,j^0x36363636,P^0x36363636,M^0x36363636,C^0x36363636,T^0x36363636,R^0x36363636,B^0x36363636,I^0x36363636);f=n;d=a;l=i;h=s;p=o;u=64;c=0}function T(e,t,r){e=e|0;t=t|0;r=r|0;var u=0,c=0,f=0,d=0,l=0,h=0;if(e&63)return-1;if(~r)if(r&31)return-1;h=j(e,t,-1)|0;u=n,c=a,f=i,d=s,l=o;M();w(u,c,f,d,l,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~r)x(r);return h|0}function R(e,t,r,u,c){e=e|0;t=t|0;r=r|0;u=u|0;c=c|0;var f=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0;if(e&63)return-1;if(~c)if(c&31)return-1;_[e+t|0]=r>>>24;_[e+t+1|0]=r>>>16&255;_[e+t+2|0]=r>>>8&255;_[e+t+3|0]=r&255;T(e,t+4|0,-1)|0;f=b=n,d=y=a,l=m=i,h=v=s,p=g=o;u=u-1|0;while((u|0)>0){P();w(b,y,m,v,g,0x80000000,0,0,0,0,0,0,0,0,0,672);b=n,y=a,m=i,v=s,g=o;M();w(b,y,m,v,g,0x80000000,0,0,0,0,0,0,0,0,0,672);b=n,y=a,m=i,v=s,g=o;f=f^n;d=d^a;l=l^i;h=h^s;p=p^o;u=u-1|0}n=f;a=d;i=l;s=h;o=p;if(~c)x(c);return 0}return{reset:A,init:S,process:E,finish:j,hmac_reset:P,hmac_init:C,hmac_finish:T,pbkdf2_generate_block:R}}},{}],12:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Sha1=r._sha1_hash_size=r._sha1_block_size=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./sha1.asm"),s=e("../hash");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=r._sha1_block_size=64,d=r._sha1_hash_size=20,l=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.NAME="sha1",t.BLOCK_SIZE=f,t.HASH_SIZE=d,t}return c(t,e),t.bytes=function(e){return(new t).process(e).finish().result},t.NAME="sha1",t.heap_pool=[],t.asm_pool=[],t.asm_function=i.sha1_asm,t}(s.Hash);r.Sha1=l},{"../hash":10,"./sha1.asm":11,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],13:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.sha256_asm=function(e,t,r){"use asm";var n=0,a=0,i=0,s=0,o=0,u=0,c=0,f=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0,_=0,w=0,k=0,x=0,A=0,S=0,E=0,j=0,P=0,M=new e.Uint8Array(r);function C(e,t,r,d,l,h,p,b,y,m,v,g,_,w,k,x){e=e|0;t=t|0;r=r|0;d=d|0;l=l|0;h=h|0;p=p|0;b=b|0;y=y|0;m=m|0;v=v|0;g=g|0;_=_|0;w=w|0;k=k|0;x=x|0;var A=0,S=0,E=0,j=0,P=0,M=0,C=0,T=0;A=n;S=a;E=i;j=s;P=o;M=u;C=c;T=f;T=e+T+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x428a2f98|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;C=t+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(M^j&(P^M))+0x71374491|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;M=r+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0xb5c0fbcf|0;S=S+M|0;M=M+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;P=d+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0xe9b5dba5|0;A=A+P|0;P=P+(M&C^T&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;j=l+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x3956c25b|0;T=T+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;E=h+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x59f111f1|0;C=C+E|0;E=E+(j&P^M&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x923f82a4|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;A=b+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(C^T))+0xab1c5ed5|0;P=P+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;T=y+T+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0xd807aa98|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;C=m+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(M^j&(P^M))+0x12835b01|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;M=v+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x243185be|0;S=S+M|0;M=M+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;P=g+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x550c7dc3|0;A=A+P|0;P=P+(M&C^T&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;j=_+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x72be5d74|0;T=T+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;E=w+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x80deb1fe|0;C=C+E|0;E=E+(j&P^M&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x9bdc06a7|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;A=x+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(C^T))+0xc19bf174|0;P=P+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+m|0;T=e+T+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0xe49b69c1|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+t+v|0;C=t+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(M^j&(P^M))+0xefbe4786|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+g|0;M=r+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x0fc19dc6|0;S=S+M|0;M=M+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+_|0;P=d+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x240ca1cc|0;A=A+P|0;P=P+(M&C^T&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;l=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+l+w|0;j=l+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x2de92c6f|0;T=T+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;h=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+h+k|0;E=h+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x4a7484aa|0;C=C+E|0;E=E+(j&P^M&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;p=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+x|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x5cb0a9dc|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+b+e|0;A=b+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(C^T))+0x76f988da|0;P=P+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;y=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+t|0;T=y+T+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x983e5152|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;m=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+r|0;C=m+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(M^j&(P^M))+0xa831c66d|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;v=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+v+d|0;M=v+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0xb00327c8|0;S=S+M|0;M=M+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;g=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+g+l|0;P=g+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0xbf597fc7|0;A=A+P|0;P=P+(M&C^T&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;_=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+h|0;j=_+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0xc6e00bf3|0;T=T+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;w=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+p|0;E=w+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0xd5a79147|0;C=C+E|0;E=E+(j&P^M&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;k=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+k+b|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x06ca6351|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+x+y|0;A=x+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(C^T))+0x14292967|0;P=P+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+m|0;T=e+T+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x27b70a85|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+t+v|0;C=t+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(M^j&(P^M))+0x2e1b2138|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+g|0;M=r+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x4d2c6dfc|0;S=S+M|0;M=M+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+_|0;P=d+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x53380d13|0;A=A+P|0;P=P+(M&C^T&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;l=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+l+w|0;j=l+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x650a7354|0;T=T+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;h=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+h+k|0;E=h+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x766a0abb|0;C=C+E|0;E=E+(j&P^M&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;p=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+x|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x81c2c92e|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+b+e|0;A=b+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(C^T))+0x92722c85|0;P=P+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;y=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+t|0;T=y+T+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0xa2bfe8a1|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;m=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+r|0;C=m+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(M^j&(P^M))+0xa81a664b|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;v=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+v+d|0;M=v+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0xc24b8b70|0;S=S+M|0;M=M+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;g=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+g+l|0;P=g+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0xc76c51a3|0;A=A+P|0;P=P+(M&C^T&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;_=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+h|0;j=_+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0xd192e819|0;T=T+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;w=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+p|0;E=w+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0xd6990624|0;C=C+E|0;E=E+(j&P^M&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;k=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+k+b|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0xf40e3585|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+x+y|0;A=x+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(C^T))+0x106aa070|0;P=P+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+m|0;T=e+T+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x19a4c116|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+t+v|0;C=t+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(M^j&(P^M))+0x1e376c08|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+g|0;M=r+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x2748774c|0;S=S+M|0;M=M+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+_|0;P=d+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x34b0bcb5|0;A=A+P|0;P=P+(M&C^T&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;l=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+l+w|0;j=l+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x391c0cb3|0;T=T+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;h=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+h+k|0;E=h+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x4ed8aa4a|0;C=C+E|0;E=E+(j&P^M&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;p=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+x|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x5b9cca4f|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+b+e|0;A=b+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(C^T))+0x682e6ff3|0;P=P+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;y=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+t|0;T=y+T+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x748f82ee|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;m=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+r|0;C=m+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(M^j&(P^M))+0x78a5636f|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;v=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+v+d|0;M=v+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x84c87814|0;S=S+M|0;M=M+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;g=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+g+l|0;P=g+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x8cc70208|0;A=A+P|0;P=P+(M&C^T&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;_=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+h|0;j=_+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x90befffa|0;T=T+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;w=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+p|0;E=w+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0xa4506ceb|0;C=C+E|0;E=E+(j&P^M&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;k=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+k+b|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0xbef9a3f7|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+x+y|0;A=x+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(C^T))+0xc67178f2|0;P=P+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;n=n+A|0;a=a+S|0;i=i+E|0;s=s+j|0;o=o+P|0;u=u+M|0;c=c+C|0;f=f+T|0}function T(e){e=e|0;C(M[e|0]<<24|M[e|1]<<16|M[e|2]<<8|M[e|3],M[e|4]<<24|M[e|5]<<16|M[e|6]<<8|M[e|7],M[e|8]<<24|M[e|9]<<16|M[e|10]<<8|M[e|11],M[e|12]<<24|M[e|13]<<16|M[e|14]<<8|M[e|15],M[e|16]<<24|M[e|17]<<16|M[e|18]<<8|M[e|19],M[e|20]<<24|M[e|21]<<16|M[e|22]<<8|M[e|23],M[e|24]<<24|M[e|25]<<16|M[e|26]<<8|M[e|27],M[e|28]<<24|M[e|29]<<16|M[e|30]<<8|M[e|31],M[e|32]<<24|M[e|33]<<16|M[e|34]<<8|M[e|35],M[e|36]<<24|M[e|37]<<16|M[e|38]<<8|M[e|39],M[e|40]<<24|M[e|41]<<16|M[e|42]<<8|M[e|43],M[e|44]<<24|M[e|45]<<16|M[e|46]<<8|M[e|47],M[e|48]<<24|M[e|49]<<16|M[e|50]<<8|M[e|51],M[e|52]<<24|M[e|53]<<16|M[e|54]<<8|M[e|55],M[e|56]<<24|M[e|57]<<16|M[e|58]<<8|M[e|59],M[e|60]<<24|M[e|61]<<16|M[e|62]<<8|M[e|63])}function R(e){e=e|0;M[e|0]=n>>>24;M[e|1]=n>>>16&255;M[e|2]=n>>>8&255;M[e|3]=n&255;M[e|4]=a>>>24;M[e|5]=a>>>16&255;M[e|6]=a>>>8&255;M[e|7]=a&255;M[e|8]=i>>>24;M[e|9]=i>>>16&255;M[e|10]=i>>>8&255;M[e|11]=i&255;M[e|12]=s>>>24;M[e|13]=s>>>16&255;M[e|14]=s>>>8&255;M[e|15]=s&255;M[e|16]=o>>>24;M[e|17]=o>>>16&255;M[e|18]=o>>>8&255;M[e|19]=o&255;M[e|20]=u>>>24;M[e|21]=u>>>16&255;M[e|22]=u>>>8&255;M[e|23]=u&255;M[e|24]=c>>>24;M[e|25]=c>>>16&255;M[e|26]=c>>>8&255;M[e|27]=c&255;M[e|28]=f>>>24;M[e|29]=f>>>16&255;M[e|30]=f>>>8&255;M[e|31]=f&255}function B(){n=0x6a09e667;a=0xbb67ae85;i=0x3c6ef372;s=0xa54ff53a;o=0x510e527f;u=0x9b05688c;c=0x1f83d9ab;f=0x5be0cd19;d=l=0}function I(e,t,r,h,p,b,y,m,v,g){e=e|0;t=t|0;r=r|0;h=h|0;p=p|0;b=b|0;y=y|0;m=m|0;v=v|0;g=g|0;n=e;a=t;i=r;s=h;o=p;u=b;c=y;f=m;d=v;l=g}function U(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){T(e);e=e+64|0;t=t-64|0;r=r+64|0}d=d+r|0;if(d>>>0>>0)l=l+1|0;return r|0}function O(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,a=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=U(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;d=d+t|0;if(d>>>0>>0)l=l+1|0;M[e|t]=0x80;if((t|0)>=56){for(a=t+1|0;(a|0)<64;a=a+1|0){M[e|a]=0x00}T(e);t=0;M[e|0]=0}for(a=t+1|0;(a|0)<59;a=a+1|0){M[e|a]=0}M[e|56]=l>>>21&255;M[e|57]=l>>>13&255;M[e|58]=l>>>5&255;M[e|59]=l<<3&255|d>>>29;M[e|60]=d>>>21&255;M[e|61]=d>>>13&255;M[e|62]=d>>>5&255;M[e|63]=d<<3&255;T(e);if(~r)R(r);return n|0}function K(){n=h;a=p;i=b;s=y;o=m;u=v;c=g;f=_;d=64;l=0}function z(){n=w;a=k;i=x;s=A;o=S;u=E;c=j;f=P;d=64;l=0}function D(e,t,r,M,T,R,I,U,O,K,z,D,N,F,L,q){e=e|0;t=t|0;r=r|0;M=M|0;T=T|0;R=R|0;I=I|0;U=U|0;O=O|0;K=K|0;z=z|0;D=D|0;N=N|0;F=F|0;L=L|0;q=q|0;B();C(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,M^0x5c5c5c5c,T^0x5c5c5c5c,R^0x5c5c5c5c,I^0x5c5c5c5c,U^0x5c5c5c5c,O^0x5c5c5c5c,K^0x5c5c5c5c,z^0x5c5c5c5c,D^0x5c5c5c5c,N^0x5c5c5c5c,F^0x5c5c5c5c,L^0x5c5c5c5c,q^0x5c5c5c5c);w=n;k=a;x=i;A=s;S=o;E=u;j=c;P=f;B();C(e^0x36363636,t^0x36363636,r^0x36363636,M^0x36363636,T^0x36363636,R^0x36363636,I^0x36363636,U^0x36363636,O^0x36363636,K^0x36363636,z^0x36363636,D^0x36363636,N^0x36363636,F^0x36363636,L^0x36363636,q^0x36363636);h=n;p=a;b=i;y=s;m=o;v=u;g=c;_=f;d=64;l=0}function N(e,t,r){e=e|0;t=t|0;r=r|0;var d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0;if(e&63)return-1;if(~r)if(r&31)return-1;g=O(e,t,-1)|0;d=n,l=a,h=i,p=s,b=o,y=u,m=c,v=f;z();C(d,l,h,p,b,y,m,v,0x80000000,0,0,0,0,0,0,768);if(~r)R(r);return g|0}function F(e,t,r,d,l){e=e|0;t=t|0;r=r|0;d=d|0;l=l|0;var h=0,p=0,b=0,y=0,m=0,v=0,g=0,_=0,w=0,k=0,x=0,A=0,S=0,E=0,j=0,P=0;if(e&63)return-1;if(~l)if(l&31)return-1;M[e+t|0]=r>>>24;M[e+t+1|0]=r>>>16&255;M[e+t+2|0]=r>>>8&255;M[e+t+3|0]=r&255;N(e,t+4|0,-1)|0;h=w=n,p=k=a,b=x=i,y=A=s,m=S=o,v=E=u,g=j=c,_=P=f;d=d-1|0;while((d|0)>0){K();C(w,k,x,A,S,E,j,P,0x80000000,0,0,0,0,0,0,768);w=n,k=a,x=i,A=s,S=o,E=u,j=c,P=f;z();C(w,k,x,A,S,E,j,P,0x80000000,0,0,0,0,0,0,768);w=n,k=a,x=i,A=s,S=o,E=u,j=c,P=f;h=h^n;p=p^a;b=b^i;y=y^s;m=m^o;v=v^u;g=g^c;_=_^f;d=d-1|0}n=h;a=p;i=b;s=y;o=m;u=v;c=g;f=_;if(~l)R(l);return 0}return{reset:B,init:I,process:U,finish:O,hmac_reset:K,hmac_init:D,hmac_finish:N,pbkdf2_generate_block:F}}},{}],14:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Sha256=r._sha256_hash_size=r._sha256_block_size=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./sha256.asm"),s=e("../hash");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=r._sha256_block_size=64,d=r._sha256_hash_size=32,l=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.NAME="sha256",t.BLOCK_SIZE=f,t.HASH_SIZE=d,t}return c(t,e),t.bytes=function(e){return(new t).process(e).finish().result},t.NAME="sha256",t.heap_pool=[],t.asm_pool=[],t.asm_function=i.sha256_asm,t}(s.Hash);r.Sha256=l},{"../hash":10,"./sha256.asm":13,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],15:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.SecurityError=r.IllegalArgumentError=r.IllegalStateError=void 0;var n=i(e("babel-runtime/core-js/object/create")),a=i(e("babel-runtime/core-js/object/set-prototype-of"));function i(e){return e&&e.__esModule?e:{default:e}}var s,o=(s=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),u=function(e){function t(){for(var t=[],r=0;r>1),n=0;n>1]=parseInt(e.substr(n,2),16);return r},r.base64_to_bytes=function(e){return i(n(e))},r.bytes_to_string=s,r.bytes_to_hex=function(e){for(var t="",r=0;r>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+=1},r.is_number=function(e){return"number"==typeof e},r.is_string=function(e){return"string"==typeof e},r.is_buffer=function(e){return e instanceof ArrayBuffer},r.is_bytes=function(e){return e instanceof Uint8Array},r.is_typed_array=function(e){return e instanceof Int8Array||e instanceof Uint8Array||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array},r._heap_init=function(e,t){var r=e?e.byteLength:t||65536;if(4095&r||r<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return e=e||new Uint8Array(new ArrayBuffer(r))},r._heap_write=function(e,t,r,n,a){var i=e.length-t,s=i=r)throw new Error("Malformed string, low surrogate expected at position "+a);s=(55296^s)<<10|65536|56320^e.charCodeAt(a)}else if(!t&&s>>>8)throw new Error("Wide characters are not allowed.");!t||s<=127?n[i++]=s:s<=2047?(n[i++]=192|s>>6,n[i++]=128|63&s):s<=65535?(n[i++]=224|s>>12,n[i++]=128|s>>6&63,n[i++]=128|63&s):(n[i++]=240|s>>18,n[i++]=128|s>>12&63,n[i++]=128|s>>6&63,n[i++]=128|63&s)}return n.subarray(0,i)}function s(e,t){void 0===t&&(t=!1);for(var r=e.length,n=new Array(r),a=0,i=0;a=192&&s<224&&a+1=224&&s<240&&a+2=240&&s<248&&a+3>10,n[i++]=56320|1023&o)}}var u="";for(a=0;a=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function u(e,t,r,n){for(var a=0,i=Math.min(e.length,r),s=t;s=49?o-49+10:o>=17?o-17+10:o}return a}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var a=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&a++,16===t?this._parseHex(e,a):this._parseBase(e,t,a),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},i.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},i.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var a=0;a=0;a-=3)s=e[a]|e[a-1]<<8|e[a-2]<<16,this.words[i]|=s<>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);else if("le"===r)for(a=0,i=0;a>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)a=o(e,r,r+6),this.words[n]|=a<>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==t&&(a=o(e,t,r+6),this.words[n]|=a<>>26-i&4194303),this.strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=t)n++;n--,a=a/t|0;for(var i=e.length-r,s=i%n,o=Math.min(i,i-s)+r,c=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function l(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var a=0|e.words[0],i=0|t.words[0],s=a*i,o=67108863&s,u=s/67108864|0;r.words[0]=o;for(var c=1;c>>26,d=67108863&u,l=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=l;h++){var p=c-h|0;f+=(s=(a=0|e.words[p])*(i=0|t.words[h])+d)/67108864|0,d=67108863&s}r.words[c]=0|d,u=0|f}return 0!==u?r.words[c]=0|u:r.length--,r.strip()}i.prototype.toString=function(e,t){var r;if(e=e||10,t=0|t||1,16===e||"hex"===e){r="";for(var a=0,i=0,s=0;s>>24-a&16777215)||s!==this.length-1?c[6-u.length]+u+r:u+r,(a+=2)>=26&&(a-=26,s--)}for(0!==i&&(r=i.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var l=f[e],h=d[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var b=p.modn(h).toString(e);r=(p=p.idivn(h)).isZero()?b+r:c[l-b.length]+b+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return n(void 0!==s),this.toArrayLike(s,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,"byte array longer than desired length"),n(i>0,"Requested array length <= 0"),this.strip();var s,o,u="le"===t,c=new e(i),f=this.clone();if(u){for(o=0;!f.isZero();o++)s=f.andln(255),f.iushrn(8),c[o]=s;for(;o=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var a=0;a0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,a=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var a=0,i=0;i>>26;for(;0!==a&&i>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,a=this.cmp(e);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=e):(r=e,n=this);for(var i=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==i&&s>26,this.words[s]=67108863&t;if(0===i&&s>>13,h=0|s[1],p=8191&h,b=h>>>13,y=0|s[2],m=8191&y,v=y>>>13,g=0|s[3],_=8191&g,w=g>>>13,k=0|s[4],x=8191&k,A=k>>>13,S=0|s[5],E=8191&S,j=S>>>13,P=0|s[6],M=8191&P,C=P>>>13,T=0|s[7],R=8191&T,B=T>>>13,I=0|s[8],U=8191&I,O=I>>>13,K=0|s[9],z=8191&K,D=K>>>13,N=0|o[0],F=8191&N,L=N>>>13,q=0|o[1],W=8191&q,G=q>>>13,H=0|o[2],V=8191&H,Z=H>>>13,Y=0|o[3],X=8191&Y,J=Y>>>13,$=0|o[4],Q=8191&$,ee=$>>>13,te=0|o[5],re=8191&te,ne=te>>>13,ae=0|o[6],ie=8191&ae,se=ae>>>13,oe=0|o[7],ue=8191&oe,ce=oe>>>13,fe=0|o[8],de=8191&fe,le=fe>>>13,he=0|o[9],pe=8191&he,be=he>>>13;r.negative=e.negative^t.negative,r.length=19;var ye=(c+(n=Math.imul(d,F))|0)+((8191&(a=(a=Math.imul(d,L))+Math.imul(l,F)|0))<<13)|0;c=((i=Math.imul(l,L))+(a>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(p,F),a=(a=Math.imul(p,L))+Math.imul(b,F)|0,i=Math.imul(b,L);var me=(c+(n=n+Math.imul(d,W)|0)|0)+((8191&(a=(a=a+Math.imul(d,G)|0)+Math.imul(l,W)|0))<<13)|0;c=((i=i+Math.imul(l,G)|0)+(a>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(m,F),a=(a=Math.imul(m,L))+Math.imul(v,F)|0,i=Math.imul(v,L),n=n+Math.imul(p,W)|0,a=(a=a+Math.imul(p,G)|0)+Math.imul(b,W)|0,i=i+Math.imul(b,G)|0;var ve=(c+(n=n+Math.imul(d,V)|0)|0)+((8191&(a=(a=a+Math.imul(d,Z)|0)+Math.imul(l,V)|0))<<13)|0;c=((i=i+Math.imul(l,Z)|0)+(a>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(_,F),a=(a=Math.imul(_,L))+Math.imul(w,F)|0,i=Math.imul(w,L),n=n+Math.imul(m,W)|0,a=(a=a+Math.imul(m,G)|0)+Math.imul(v,W)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(p,V)|0,a=(a=a+Math.imul(p,Z)|0)+Math.imul(b,V)|0,i=i+Math.imul(b,Z)|0;var ge=(c+(n=n+Math.imul(d,X)|0)|0)+((8191&(a=(a=a+Math.imul(d,J)|0)+Math.imul(l,X)|0))<<13)|0;c=((i=i+Math.imul(l,J)|0)+(a>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(x,F),a=(a=Math.imul(x,L))+Math.imul(A,F)|0,i=Math.imul(A,L),n=n+Math.imul(_,W)|0,a=(a=a+Math.imul(_,G)|0)+Math.imul(w,W)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(m,V)|0,a=(a=a+Math.imul(m,Z)|0)+Math.imul(v,V)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(p,X)|0,a=(a=a+Math.imul(p,J)|0)+Math.imul(b,X)|0,i=i+Math.imul(b,J)|0;var _e=(c+(n=n+Math.imul(d,Q)|0)|0)+((8191&(a=(a=a+Math.imul(d,ee)|0)+Math.imul(l,Q)|0))<<13)|0;c=((i=i+Math.imul(l,ee)|0)+(a>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(E,F),a=(a=Math.imul(E,L))+Math.imul(j,F)|0,i=Math.imul(j,L),n=n+Math.imul(x,W)|0,a=(a=a+Math.imul(x,G)|0)+Math.imul(A,W)|0,i=i+Math.imul(A,G)|0,n=n+Math.imul(_,V)|0,a=(a=a+Math.imul(_,Z)|0)+Math.imul(w,V)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(m,X)|0,a=(a=a+Math.imul(m,J)|0)+Math.imul(v,X)|0,i=i+Math.imul(v,J)|0,n=n+Math.imul(p,Q)|0,a=(a=a+Math.imul(p,ee)|0)+Math.imul(b,Q)|0,i=i+Math.imul(b,ee)|0;var we=(c+(n=n+Math.imul(d,re)|0)|0)+((8191&(a=(a=a+Math.imul(d,ne)|0)+Math.imul(l,re)|0))<<13)|0;c=((i=i+Math.imul(l,ne)|0)+(a>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(M,F),a=(a=Math.imul(M,L))+Math.imul(C,F)|0,i=Math.imul(C,L),n=n+Math.imul(E,W)|0,a=(a=a+Math.imul(E,G)|0)+Math.imul(j,W)|0,i=i+Math.imul(j,G)|0,n=n+Math.imul(x,V)|0,a=(a=a+Math.imul(x,Z)|0)+Math.imul(A,V)|0,i=i+Math.imul(A,Z)|0,n=n+Math.imul(_,X)|0,a=(a=a+Math.imul(_,J)|0)+Math.imul(w,X)|0,i=i+Math.imul(w,J)|0,n=n+Math.imul(m,Q)|0,a=(a=a+Math.imul(m,ee)|0)+Math.imul(v,Q)|0,i=i+Math.imul(v,ee)|0,n=n+Math.imul(p,re)|0,a=(a=a+Math.imul(p,ne)|0)+Math.imul(b,re)|0,i=i+Math.imul(b,ne)|0;var ke=(c+(n=n+Math.imul(d,ie)|0)|0)+((8191&(a=(a=a+Math.imul(d,se)|0)+Math.imul(l,ie)|0))<<13)|0;c=((i=i+Math.imul(l,se)|0)+(a>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(R,F),a=(a=Math.imul(R,L))+Math.imul(B,F)|0,i=Math.imul(B,L),n=n+Math.imul(M,W)|0,a=(a=a+Math.imul(M,G)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,G)|0,n=n+Math.imul(E,V)|0,a=(a=a+Math.imul(E,Z)|0)+Math.imul(j,V)|0,i=i+Math.imul(j,Z)|0,n=n+Math.imul(x,X)|0,a=(a=a+Math.imul(x,J)|0)+Math.imul(A,X)|0,i=i+Math.imul(A,J)|0,n=n+Math.imul(_,Q)|0,a=(a=a+Math.imul(_,ee)|0)+Math.imul(w,Q)|0,i=i+Math.imul(w,ee)|0,n=n+Math.imul(m,re)|0,a=(a=a+Math.imul(m,ne)|0)+Math.imul(v,re)|0,i=i+Math.imul(v,ne)|0,n=n+Math.imul(p,ie)|0,a=(a=a+Math.imul(p,se)|0)+Math.imul(b,ie)|0,i=i+Math.imul(b,se)|0;var xe=(c+(n=n+Math.imul(d,ue)|0)|0)+((8191&(a=(a=a+Math.imul(d,ce)|0)+Math.imul(l,ue)|0))<<13)|0;c=((i=i+Math.imul(l,ce)|0)+(a>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(U,F),a=(a=Math.imul(U,L))+Math.imul(O,F)|0,i=Math.imul(O,L),n=n+Math.imul(R,W)|0,a=(a=a+Math.imul(R,G)|0)+Math.imul(B,W)|0,i=i+Math.imul(B,G)|0,n=n+Math.imul(M,V)|0,a=(a=a+Math.imul(M,Z)|0)+Math.imul(C,V)|0,i=i+Math.imul(C,Z)|0,n=n+Math.imul(E,X)|0,a=(a=a+Math.imul(E,J)|0)+Math.imul(j,X)|0,i=i+Math.imul(j,J)|0,n=n+Math.imul(x,Q)|0,a=(a=a+Math.imul(x,ee)|0)+Math.imul(A,Q)|0,i=i+Math.imul(A,ee)|0,n=n+Math.imul(_,re)|0,a=(a=a+Math.imul(_,ne)|0)+Math.imul(w,re)|0,i=i+Math.imul(w,ne)|0,n=n+Math.imul(m,ie)|0,a=(a=a+Math.imul(m,se)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,se)|0,n=n+Math.imul(p,ue)|0,a=(a=a+Math.imul(p,ce)|0)+Math.imul(b,ue)|0,i=i+Math.imul(b,ce)|0;var Ae=(c+(n=n+Math.imul(d,de)|0)|0)+((8191&(a=(a=a+Math.imul(d,le)|0)+Math.imul(l,de)|0))<<13)|0;c=((i=i+Math.imul(l,le)|0)+(a>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(z,F),a=(a=Math.imul(z,L))+Math.imul(D,F)|0,i=Math.imul(D,L),n=n+Math.imul(U,W)|0,a=(a=a+Math.imul(U,G)|0)+Math.imul(O,W)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(R,V)|0,a=(a=a+Math.imul(R,Z)|0)+Math.imul(B,V)|0,i=i+Math.imul(B,Z)|0,n=n+Math.imul(M,X)|0,a=(a=a+Math.imul(M,J)|0)+Math.imul(C,X)|0,i=i+Math.imul(C,J)|0,n=n+Math.imul(E,Q)|0,a=(a=a+Math.imul(E,ee)|0)+Math.imul(j,Q)|0,i=i+Math.imul(j,ee)|0,n=n+Math.imul(x,re)|0,a=(a=a+Math.imul(x,ne)|0)+Math.imul(A,re)|0,i=i+Math.imul(A,ne)|0,n=n+Math.imul(_,ie)|0,a=(a=a+Math.imul(_,se)|0)+Math.imul(w,ie)|0,i=i+Math.imul(w,se)|0,n=n+Math.imul(m,ue)|0,a=(a=a+Math.imul(m,ce)|0)+Math.imul(v,ue)|0,i=i+Math.imul(v,ce)|0,n=n+Math.imul(p,de)|0,a=(a=a+Math.imul(p,le)|0)+Math.imul(b,de)|0,i=i+Math.imul(b,le)|0;var Se=(c+(n=n+Math.imul(d,pe)|0)|0)+((8191&(a=(a=a+Math.imul(d,be)|0)+Math.imul(l,pe)|0))<<13)|0;c=((i=i+Math.imul(l,be)|0)+(a>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(z,W),a=(a=Math.imul(z,G))+Math.imul(D,W)|0,i=Math.imul(D,G),n=n+Math.imul(U,V)|0,a=(a=a+Math.imul(U,Z)|0)+Math.imul(O,V)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(R,X)|0,a=(a=a+Math.imul(R,J)|0)+Math.imul(B,X)|0,i=i+Math.imul(B,J)|0,n=n+Math.imul(M,Q)|0,a=(a=a+Math.imul(M,ee)|0)+Math.imul(C,Q)|0,i=i+Math.imul(C,ee)|0,n=n+Math.imul(E,re)|0,a=(a=a+Math.imul(E,ne)|0)+Math.imul(j,re)|0,i=i+Math.imul(j,ne)|0,n=n+Math.imul(x,ie)|0,a=(a=a+Math.imul(x,se)|0)+Math.imul(A,ie)|0,i=i+Math.imul(A,se)|0,n=n+Math.imul(_,ue)|0,a=(a=a+Math.imul(_,ce)|0)+Math.imul(w,ue)|0,i=i+Math.imul(w,ce)|0,n=n+Math.imul(m,de)|0,a=(a=a+Math.imul(m,le)|0)+Math.imul(v,de)|0,i=i+Math.imul(v,le)|0;var Ee=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(a=(a=a+Math.imul(p,be)|0)+Math.imul(b,pe)|0))<<13)|0;c=((i=i+Math.imul(b,be)|0)+(a>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(z,V),a=(a=Math.imul(z,Z))+Math.imul(D,V)|0,i=Math.imul(D,Z),n=n+Math.imul(U,X)|0,a=(a=a+Math.imul(U,J)|0)+Math.imul(O,X)|0,i=i+Math.imul(O,J)|0,n=n+Math.imul(R,Q)|0,a=(a=a+Math.imul(R,ee)|0)+Math.imul(B,Q)|0,i=i+Math.imul(B,ee)|0,n=n+Math.imul(M,re)|0,a=(a=a+Math.imul(M,ne)|0)+Math.imul(C,re)|0,i=i+Math.imul(C,ne)|0,n=n+Math.imul(E,ie)|0,a=(a=a+Math.imul(E,se)|0)+Math.imul(j,ie)|0,i=i+Math.imul(j,se)|0,n=n+Math.imul(x,ue)|0,a=(a=a+Math.imul(x,ce)|0)+Math.imul(A,ue)|0,i=i+Math.imul(A,ce)|0,n=n+Math.imul(_,de)|0,a=(a=a+Math.imul(_,le)|0)+Math.imul(w,de)|0,i=i+Math.imul(w,le)|0;var je=(c+(n=n+Math.imul(m,pe)|0)|0)+((8191&(a=(a=a+Math.imul(m,be)|0)+Math.imul(v,pe)|0))<<13)|0;c=((i=i+Math.imul(v,be)|0)+(a>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(z,X),a=(a=Math.imul(z,J))+Math.imul(D,X)|0,i=Math.imul(D,J),n=n+Math.imul(U,Q)|0,a=(a=a+Math.imul(U,ee)|0)+Math.imul(O,Q)|0,i=i+Math.imul(O,ee)|0,n=n+Math.imul(R,re)|0,a=(a=a+Math.imul(R,ne)|0)+Math.imul(B,re)|0,i=i+Math.imul(B,ne)|0,n=n+Math.imul(M,ie)|0,a=(a=a+Math.imul(M,se)|0)+Math.imul(C,ie)|0,i=i+Math.imul(C,se)|0,n=n+Math.imul(E,ue)|0,a=(a=a+Math.imul(E,ce)|0)+Math.imul(j,ue)|0,i=i+Math.imul(j,ce)|0,n=n+Math.imul(x,de)|0,a=(a=a+Math.imul(x,le)|0)+Math.imul(A,de)|0,i=i+Math.imul(A,le)|0;var Pe=(c+(n=n+Math.imul(_,pe)|0)|0)+((8191&(a=(a=a+Math.imul(_,be)|0)+Math.imul(w,pe)|0))<<13)|0;c=((i=i+Math.imul(w,be)|0)+(a>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(z,Q),a=(a=Math.imul(z,ee))+Math.imul(D,Q)|0,i=Math.imul(D,ee),n=n+Math.imul(U,re)|0,a=(a=a+Math.imul(U,ne)|0)+Math.imul(O,re)|0,i=i+Math.imul(O,ne)|0,n=n+Math.imul(R,ie)|0,a=(a=a+Math.imul(R,se)|0)+Math.imul(B,ie)|0,i=i+Math.imul(B,se)|0,n=n+Math.imul(M,ue)|0,a=(a=a+Math.imul(M,ce)|0)+Math.imul(C,ue)|0,i=i+Math.imul(C,ce)|0,n=n+Math.imul(E,de)|0,a=(a=a+Math.imul(E,le)|0)+Math.imul(j,de)|0,i=i+Math.imul(j,le)|0;var Me=(c+(n=n+Math.imul(x,pe)|0)|0)+((8191&(a=(a=a+Math.imul(x,be)|0)+Math.imul(A,pe)|0))<<13)|0;c=((i=i+Math.imul(A,be)|0)+(a>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(z,re),a=(a=Math.imul(z,ne))+Math.imul(D,re)|0,i=Math.imul(D,ne),n=n+Math.imul(U,ie)|0,a=(a=a+Math.imul(U,se)|0)+Math.imul(O,ie)|0,i=i+Math.imul(O,se)|0,n=n+Math.imul(R,ue)|0,a=(a=a+Math.imul(R,ce)|0)+Math.imul(B,ue)|0,i=i+Math.imul(B,ce)|0,n=n+Math.imul(M,de)|0,a=(a=a+Math.imul(M,le)|0)+Math.imul(C,de)|0,i=i+Math.imul(C,le)|0;var Ce=(c+(n=n+Math.imul(E,pe)|0)|0)+((8191&(a=(a=a+Math.imul(E,be)|0)+Math.imul(j,pe)|0))<<13)|0;c=((i=i+Math.imul(j,be)|0)+(a>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(z,ie),a=(a=Math.imul(z,se))+Math.imul(D,ie)|0,i=Math.imul(D,se),n=n+Math.imul(U,ue)|0,a=(a=a+Math.imul(U,ce)|0)+Math.imul(O,ue)|0,i=i+Math.imul(O,ce)|0,n=n+Math.imul(R,de)|0,a=(a=a+Math.imul(R,le)|0)+Math.imul(B,de)|0,i=i+Math.imul(B,le)|0;var Te=(c+(n=n+Math.imul(M,pe)|0)|0)+((8191&(a=(a=a+Math.imul(M,be)|0)+Math.imul(C,pe)|0))<<13)|0;c=((i=i+Math.imul(C,be)|0)+(a>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(z,ue),a=(a=Math.imul(z,ce))+Math.imul(D,ue)|0,i=Math.imul(D,ce),n=n+Math.imul(U,de)|0,a=(a=a+Math.imul(U,le)|0)+Math.imul(O,de)|0,i=i+Math.imul(O,le)|0;var Re=(c+(n=n+Math.imul(R,pe)|0)|0)+((8191&(a=(a=a+Math.imul(R,be)|0)+Math.imul(B,pe)|0))<<13)|0;c=((i=i+Math.imul(B,be)|0)+(a>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(z,de),a=(a=Math.imul(z,le))+Math.imul(D,de)|0,i=Math.imul(D,le);var Be=(c+(n=n+Math.imul(U,pe)|0)|0)+((8191&(a=(a=a+Math.imul(U,be)|0)+Math.imul(O,pe)|0))<<13)|0;c=((i=i+Math.imul(O,be)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Ie=(c+(n=Math.imul(z,pe))|0)+((8191&(a=(a=Math.imul(z,be))+Math.imul(D,pe)|0))<<13)|0;return c=((i=Math.imul(D,be))+(a>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,u[0]=ye,u[1]=me,u[2]=ve,u[3]=ge,u[4]=_e,u[5]=we,u[6]=ke,u[7]=xe,u[8]=Ae,u[9]=Se,u[10]=Ee,u[11]=je,u[12]=Pe,u[13]=Me,u[14]=Ce,u[15]=Te,u[16]=Re,u[17]=Be,u[18]=Ie,0!==c&&(u[19]=c,r.length++),r};function p(e,t,r){return(new b).mulp(e,t,r)}function b(e,t){this.x=e,this.y=t}Math.imul||(h=l),i.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?h(this,e,t):r<63?l(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,a=0,i=0;i>>26)|0)>>>26,s&=67108863}r.words[i]=o,n=s,s=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),r=i.prototype._countBits(e)-1,n=0;n>=1;return n},b.prototype.permute=function(e,t,r,n,a,i){for(var s=0;s>>=1)a++;return 1<>>=13,r[2*s+1]=8191&i,i>>>=13;for(s=2*t;s>=26,t+=a/67108864|0,t+=i>>>26,this.words[r]=67108863&i}return 0!==t&&(this.words[r]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>a}return t}(e);if(0===t.length)return new i(1);for(var r=this,n=0;n=0);var t,r=e%26,a=(e-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(t=0;t>>26-r}s&&(this.words[t]=s,this.length++)}if(0!==a){for(t=this.length-1;t>=0;t--)this.words[t+a]=this.words[t];for(t=0;t=0),a=t?(t-t%26)/26:0;var i=e%26,s=Math.min((e-i)/26,this.length),o=67108863^67108863>>>i<s)for(this.length-=s,c=0;c=0&&(0!==f||c>=a);c--){var d=0|this.words[c];this.words[c]=f<<26-i|d>>>i,f=d&o}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,a=1<=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var a=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[a+r]=67108863&i}for(;a>26,this.words[a+r]=67108863&i;if(0===o)return this.strip();for(n(-1===o),o=0,a=0;a>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),a=e,s=0|a.words[a.length-1];0!==(r=26-this._countBits(s))&&(a=a.ushln(r),n.iushln(r),s=0|a.words[a.length-1]);var o,u=n.length-a.length;if("mod"!==t){(o=new i(null)).length=u+1,o.words=new Array(o.length);for(var c=0;c=0;d--){var l=67108864*(0|n.words[a.length+d])+(0|n.words[a.length+d-1]);for(l=Math.min(l/s|0,67108863),n._ishlnsubmul(a,l,d);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(a,1,d),n.isZero()||(n.negative^=1);o&&(o.words[d]=l)}return o&&o.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:o||null,mod:n}},i.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(a=o.div.neg()),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:a,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(a=o.div.neg()),{div:a,mod:o.mod}):0!=(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var a,s,o},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),a=e.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,a=this.length-1;a>=0;a--)r=(t*r+(0|this.words[a]))%e;return r},i.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*t;this.words[r]=a/e|0,t=a%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a=new i(1),s=new i(0),o=new i(0),u=new i(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var f=r.clone(),d=t.clone();!t.isZero();){for(var l=0,h=1;0==(t.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(a.isOdd()||s.isOdd())&&(a.iadd(f),s.isub(d)),a.iushrn(1),s.iushrn(1);for(var p=0,b=1;0==(r.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(o.isOdd()||u.isOdd())&&(o.iadd(f),u.isub(d)),o.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(o),s.isub(u)):(r.isub(t),o.isub(a),u.isub(s))}return{a:o,b:u,gcd:r.iushln(c)}},i.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a,s=new i(1),o=new i(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var d=0,l=1;0==(r.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(r.iushrn(d);d-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(o)):(r.isub(t),o.isub(s))}return(a=0===t.cmpn(1)?s:o).cmpn(0)<0&&a.iadd(e),a},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var a=t.cmp(r);if(a<0){var i=t;t=r,r=i}else if(0===a||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,a=1<>>26,o&=67108863,this.words[s]=o}return 0!==i&&(this.words[s]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var a=0|this.words[0];t=a===e?0:ae.length)return 1;if(this.length=0;r--){var n=0|this.words[r],a=0|e.words[r];if(n!==a){na&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new k(e)},i.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function m(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function g(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function k(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function x(e){k.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},m.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):r.strip(),r},m.prototype.split=function(e,t){e.iushrn(this.n,0,t)},m.prototype.imulK=function(e){return e.imul(this.k)},a(v,m),v.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,a=i}a>>>=22,e.words[n-10]=a,0===a&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=a,t=n}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new v;else if("p224"===e)t=new g;else if("p192"===e)t=new _;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return y[e]=t,t},k.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},k.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},k.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},k.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},k.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},k.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},k.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},k.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},k.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},k.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},k.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},k.prototype.isqr=function(e){return this.imul(e,e.clone())},k.prototype.sqr=function(e){return this.mul(e,e)},k.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new i(1)).iushrn(2);return this.pow(e,r)}for(var a=this.m.subn(1),s=0;!a.isZero()&&0===a.andln(1);)s++,a.iushrn(1);n(!a.isZero());var o=new i(1).toRed(this),u=o.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new i(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var d=this.pow(f,a),l=this.pow(e,a.addn(1).iushrn(1)),h=this.pow(e,a),p=s;0!==h.cmp(o);){for(var b=h,y=0;0!==b.cmp(o);y++)b=b.redSqr();n(y=0;n--){for(var c=t.words[n],f=u-1;f>=0;f--){var d=c>>f&1;a!==r[0]&&(a=this.sqr(a)),0!==d||0!==s?(s<<=1,s|=d,(4===++o||0===n&&0===f)&&(a=this.mul(a,r[s]),o=0,s=0)):o=0}u=26}return a},k.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},k.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new x(e)},a(x,k),x.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},x.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},x.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},x.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),s=a;return a.cmp(this.m)>=0?s=a.isub(this.m):a.cmpn(0)<0&&(s=a.iadd(this.m)),s._forceRed(this)},x.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:"buffer"}],43:[function(e,t,r){var n;function a(e){this.rand=e}if(t.exports=function(e){return n||(n=new a(null)),n.generate(e)},t.exports.Rand=a,a.prototype.generate=function(e){return this._rand(e)},a.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;rf;)if((o=u[f++])!=o)return!0}else for(;c>f;f++)if((e||f in u)&&u[f]===r)return e||f||0;return!e&&-1}}},{"./_to-absolute-index":142,"./_to-iobject":144,"./_to-length":145}],74:[function(e,t,r){var n=e("./_ctx"),a=e("./_iobject"),i=e("./_to-object"),s=e("./_to-length"),o=e("./_array-species-create");t.exports=function(e,t){var r=1==e,u=2==e,c=3==e,f=4==e,d=6==e,l=5==e||d,h=t||o;return function(t,o,p){for(var b,y,m=i(t),v=a(m),g=n(o,p,3),_=s(v.length),w=0,k=r?h(t,_):u?h(t,0):void 0;_>w;w++)if((l||w in v)&&(y=g(b=v[w],w,m),e))if(r)k[w]=y;else if(y)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:k.push(b)}else if(f)return!1;return d?-1:c||f?f:k}}},{"./_array-species-create":76,"./_ctx":83,"./_iobject":98,"./_to-length":145,"./_to-object":146}],75:[function(e,t,r){var n=e("./_is-object"),a=e("./_is-array"),i=e("./_wks")("species");t.exports=function(e){var t;return a(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!a(t.prototype)||(t=void 0),n(t)&&null===(t=t[i])&&(t=void 0)),void 0===t?Array:t}},{"./_is-array":100,"./_is-object":101,"./_wks":152}],76:[function(e,t,r){var n=e("./_array-species-constructor");t.exports=function(e,t){return new(n(e))(t)}},{"./_array-species-constructor":75}],77:[function(e,t,r){var n=e("./_cof"),a=e("./_wks")("toStringTag"),i="Arguments"==n(function(){return arguments}());t.exports=function(e){var t,r,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),a))?r:i?n(t):"Object"==(s=n(t))&&"function"==typeof t.callee?"Arguments":s}},{"./_cof":78,"./_wks":152}],78:[function(e,t,r){var n={}.toString;t.exports=function(e){return n.call(e).slice(8,-1)}},{}],79:[function(e,t,r){"use strict";var n=e("./_redefine-all"),a=e("./_meta").getWeak,i=e("./_an-object"),s=e("./_is-object"),o=e("./_an-instance"),u=e("./_for-of"),c=e("./_array-methods"),f=e("./_has"),d=e("./_validate-collection"),l=c(5),h=c(6),p=0,b=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},m=function(e,t){return l(e.a,function(e){return e[0]===t})};y.prototype={get:function(e){var t=m(this,e);if(t)return t[1]},has:function(e){return!!m(this,e)},set:function(e,t){var r=m(this,e);r?r[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},t.exports={getConstructor:function(e,t,r,i){var c=e(function(e,n){o(e,c,t,"_i"),e._t=t,e._i=p++,e._l=void 0,void 0!=n&&u(n,r,e[i],e)});return n(c.prototype,{delete:function(e){if(!s(e))return!1;var r=a(e);return!0===r?b(d(this,t)).delete(e):r&&f(r,this._i)&&delete r[this._i]},has:function(e){if(!s(e))return!1;var r=a(e);return!0===r?b(d(this,t)).has(e):r&&f(r,this._i)}}),c},def:function(e,t,r){var n=a(i(t),!0);return!0===n?b(e).set(t,r):n[e._i]=r,e},ufstore:b}},{"./_an-instance":71,"./_an-object":72,"./_array-methods":74,"./_for-of":91,"./_has":93,"./_is-object":101,"./_meta":109,"./_redefine-all":130,"./_validate-collection":149}],80:[function(e,t,r){"use strict";var n=e("./_global"),a=e("./_export"),i=e("./_meta"),s=e("./_fails"),o=e("./_hide"),u=e("./_redefine-all"),c=e("./_for-of"),f=e("./_an-instance"),d=e("./_is-object"),l=e("./_set-to-string-tag"),h=e("./_object-dp").f,p=e("./_array-methods")(0),b=e("./_descriptors");t.exports=function(e,t,r,y,m,v){var g=n[e],_=g,w=m?"set":"add",k=_&&_.prototype,x={};return b&&"function"==typeof _&&(v||k.forEach&&!s(function(){(new _).entries().next()}))?(_=t(function(t,r){f(t,_,e,"_c"),t._c=new g,void 0!=r&&c(r,m,t[w],t)}),p("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in k&&(!v||"clear"!=e)&&o(_.prototype,e,function(r,n){if(f(this,_,e),!t&&v&&!d(r))return"get"==e&&void 0;var a=this._c[e](0===r?0:r,n);return t?this:a})}),v||h(_.prototype,"size",{get:function(){return this._c.size}})):(_=y.getConstructor(t,e,m,w),u(_.prototype,r),i.NEED=!0),l(_,e),x[e]=_,a(a.G+a.W+a.F,x),v||y.setStrong(_,e,m),_}},{"./_an-instance":71,"./_array-methods":74,"./_descriptors":85,"./_export":89,"./_fails":90,"./_for-of":91,"./_global":92,"./_hide":94,"./_is-object":101,"./_meta":109,"./_object-dp":114,"./_redefine-all":130,"./_set-to-string-tag":136}],81:[function(e,t,r){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},{}],82:[function(e,t,r){"use strict";var n=e("./_object-dp"),a=e("./_property-desc");t.exports=function(e,t,r){t in e?n.f(e,t,a(0,r)):e[t]=r}},{"./_object-dp":114,"./_property-desc":129}],83:[function(e,t,r){var n=e("./_a-function");t.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,a){return e.call(t,r,n,a)}}return function(){return e.apply(t,arguments)}}},{"./_a-function":69}],84:[function(e,t,r){t.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},{}],85:[function(e,t,r){t.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":90}],86:[function(e,t,r){var n=e("./_is-object"),a=e("./_global").document,i=n(a)&&n(a.createElement);t.exports=function(e){return i?a.createElement(e):{}}},{"./_global":92,"./_is-object":101}],87:[function(e,t,r){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],88:[function(e,t,r){var n=e("./_object-keys"),a=e("./_object-gops"),i=e("./_object-pie");t.exports=function(e){var t=n(e),r=a.f;if(r)for(var s,o=r(e),u=i.f,c=0;o.length>c;)u.call(e,s=o[c++])&&t.push(s);return t}},{"./_object-gops":119,"./_object-keys":122,"./_object-pie":123}],89:[function(e,t,r){var n=e("./_global"),a=e("./_core"),i=e("./_ctx"),s=e("./_hide"),o=function(e,t,r){var u,c,f,d=e&o.F,l=e&o.G,h=e&o.S,p=e&o.P,b=e&o.B,y=e&o.W,m=l?a:a[t]||(a[t]={}),v=m.prototype,g=l?n:h?n[t]:(n[t]||{}).prototype;for(u in l&&(r=t),r)(c=!d&&g&&void 0!==g[u])&&u in m||(f=c?g[u]:r[u],m[u]=l&&"function"!=typeof g[u]?r[u]:b&&c?i(f,n):y&&g[u]==f?function(e){var t=function(t,r,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,r)}return new e(t,r,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):p&&"function"==typeof f?i(Function.call,f):f,p&&((m.virtual||(m.virtual={}))[u]=f,e&o.R&&v&&!v[u]&&s(v,u,f)))};o.F=1,o.G=2,o.S=4,o.P=8,o.B=16,o.W=32,o.U=64,o.R=128,t.exports=o},{"./_core":81,"./_ctx":83,"./_global":92,"./_hide":94}],90:[function(e,t,r){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],91:[function(e,t,r){var n=e("./_ctx"),a=e("./_iter-call"),i=e("./_is-array-iter"),s=e("./_an-object"),o=e("./_to-length"),u=e("./core.get-iterator-method"),c={},f={};(r=t.exports=function(e,t,r,d,l){var h,p,b,y,m=l?function(){return e}:u(e),v=n(r,d,t?2:1),g=0;if("function"!=typeof m)throw TypeError(e+" is not iterable!");if(i(m)){for(h=o(e.length);h>g;g++)if((y=t?v(s(p=e[g])[0],p[1]):v(e[g]))===c||y===f)return y}else for(b=m.call(e);!(p=b.next()).done;)if((y=a(b,v,p.value,t))===c||y===f)return y}).BREAK=c,r.RETURN=f},{"./_an-object":72,"./_ctx":83,"./_is-array-iter":99,"./_iter-call":102,"./_to-length":145,"./core.get-iterator-method":153}],92:[function(e,t,r){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},{}],93:[function(e,t,r){var n={}.hasOwnProperty;t.exports=function(e,t){return n.call(e,t)}},{}],94:[function(e,t,r){var n=e("./_object-dp"),a=e("./_property-desc");t.exports=e("./_descriptors")?function(e,t,r){return n.f(e,t,a(1,r))}:function(e,t,r){return e[t]=r,e}},{"./_descriptors":85,"./_object-dp":114,"./_property-desc":129}],95:[function(e,t,r){var n=e("./_global").document;t.exports=n&&n.documentElement},{"./_global":92}],96:[function(e,t,r){t.exports=!e("./_descriptors")&&!e("./_fails")(function(){return 7!=Object.defineProperty(e("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":85,"./_dom-create":86,"./_fails":90}],97:[function(e,t,r){t.exports=function(e,t,r){var n=void 0===r;switch(t.length){case 0:return n?e():e.call(r);case 1:return n?e(t[0]):e.call(r,t[0]);case 2:return n?e(t[0],t[1]):e.call(r,t[0],t[1]);case 3:return n?e(t[0],t[1],t[2]):e.call(r,t[0],t[1],t[2]);case 4:return n?e(t[0],t[1],t[2],t[3]):e.call(r,t[0],t[1],t[2],t[3])}return e.apply(r,t)}},{}],98:[function(e,t,r){var n=e("./_cof");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},{"./_cof":78}],99:[function(e,t,r){var n=e("./_iterators"),a=e("./_wks")("iterator"),i=Array.prototype;t.exports=function(e){return void 0!==e&&(n.Array===e||i[a]===e)}},{"./_iterators":107,"./_wks":152}],100:[function(e,t,r){var n=e("./_cof");t.exports=Array.isArray||function(e){return"Array"==n(e)}},{"./_cof":78}],101:[function(e,t,r){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],102:[function(e,t,r){var n=e("./_an-object");t.exports=function(e,t,r,a){try{return a?t(n(r)[0],r[1]):t(r)}catch(t){var i=e.return;throw void 0!==i&&n(i.call(e)),t}}},{"./_an-object":72}],103:[function(e,t,r){"use strict";var n=e("./_object-create"),a=e("./_property-desc"),i=e("./_set-to-string-tag"),s={};e("./_hide")(s,e("./_wks")("iterator"),function(){return this}),t.exports=function(e,t,r){e.prototype=n(s,{next:a(1,r)}),i(e,t+" Iterator")}},{"./_hide":94,"./_object-create":113,"./_property-desc":129,"./_set-to-string-tag":136,"./_wks":152}],104:[function(e,t,r){"use strict";var n=e("./_library"),a=e("./_export"),i=e("./_redefine"),s=e("./_hide"),o=e("./_has"),u=e("./_iterators"),c=e("./_iter-create"),f=e("./_set-to-string-tag"),d=e("./_object-gpo"),l=e("./_wks")("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(e,t,r,b,y,m,v){c(r,t,b);var g,_,w,k=function(e){if(!h&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new r(this,e)}}return function(){return new r(this,e)}},x=t+" Iterator",A="values"==y,S=!1,E=e.prototype,j=E[l]||E["@@iterator"]||y&&E[y],P=!h&&j||k(y),M=y?A?k("entries"):P:void 0,C="Array"==t&&E.entries||j;if(C&&(w=d(C.call(new e)))!==Object.prototype&&w.next&&(f(w,x,!0),n||o(w,l)||s(w,l,p)),A&&j&&"values"!==j.name&&(S=!0,P=function(){return j.call(this)}),n&&!v||!h&&!S&&E[l]||s(E,l,P),u[t]=P,u[x]=p,y)if(g={values:A?P:k("values"),keys:m?P:k("keys"),entries:M},v)for(_ in g)_ in E||i(E,_,g[_]);else a(a.P+a.F*(h||S),t,g);return g}},{"./_export":89,"./_has":93,"./_hide":94,"./_iter-create":103,"./_iterators":107,"./_library":108,"./_object-gpo":120,"./_redefine":131,"./_set-to-string-tag":136,"./_wks":152}],105:[function(e,t,r){var n=e("./_wks")("iterator"),a=!1;try{var i=[7][n]();i.return=function(){a=!0},Array.from(i,function(){throw 2})}catch(e){}t.exports=function(e,t){if(!t&&!a)return!1;var r=!1;try{var i=[7],s=i[n]();s.next=function(){return{done:r=!0}},i[n]=function(){return s},e(i)}catch(e){}return r}},{"./_wks":152}],106:[function(e,t,r){t.exports=function(e,t){return{value:t,done:!!e}}},{}],107:[function(e,t,r){t.exports={}},{}],108:[function(e,t,r){t.exports=!0},{}],109:[function(e,t,r){var n=e("./_uid")("meta"),a=e("./_is-object"),i=e("./_has"),s=e("./_object-dp").f,o=0,u=Object.isExtensible||function(){return!0},c=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),f=function(e){s(e,n,{value:{i:"O"+ ++o,w:{}}})},d=t.exports={KEY:n,NEED:!1,fastKey:function(e,t){if(!a(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,n)){if(!u(e))return"F";if(!t)return"E";f(e)}return e[n].i},getWeak:function(e,t){if(!i(e,n)){if(!u(e))return!0;if(!t)return!1;f(e)}return e[n].w},onFreeze:function(e){return c&&d.NEED&&u(e)&&!i(e,n)&&f(e),e}}},{"./_fails":90,"./_has":93,"./_is-object":101,"./_object-dp":114,"./_uid":148}],110:[function(e,t,r){var n=e("./_global"),a=e("./_task").set,i=n.MutationObserver||n.WebKitMutationObserver,s=n.process,o=n.Promise,u="process"==e("./_cof")(s);t.exports=function(){var e,t,r,c=function(){var n,a;for(u&&(n=s.domain)&&n.exit();e;){a=e.fn,e=e.next;try{a()}catch(n){throw e?r():t=void 0,n}}t=void 0,n&&n.enter()};if(u)r=function(){s.nextTick(c)};else if(!i||n.navigator&&n.navigator.standalone)if(o&&o.resolve){var f=o.resolve();r=function(){f.then(c)}}else r=function(){a.call(n,c)};else{var d=!0,l=document.createTextNode("");new i(c).observe(l,{characterData:!0}),r=function(){l.data=d=!d}}return function(n){var a={fn:n,next:void 0};t&&(t.next=a),e||(e=a,r()),t=a}}},{"./_cof":78,"./_global":92,"./_task":141}],111:[function(e,t,r){"use strict";var n=e("./_a-function");t.exports.f=function(e){return new function(e){var t,r;this.promise=new e(function(e,n){if(void 0!==t||void 0!==r)throw TypeError("Bad Promise constructor");t=e,r=n}),this.resolve=n(t),this.reject=n(r)}(e)}},{"./_a-function":69}],112:[function(e,t,r){"use strict";var n=e("./_object-keys"),a=e("./_object-gops"),i=e("./_object-pie"),s=e("./_to-object"),o=e("./_iobject"),u=Object.assign;t.exports=!u||e("./_fails")(function(){var e={},t={},r=Symbol(),n="abcdefghijklmnopqrst";return e[r]=7,n.split("").forEach(function(e){t[e]=e}),7!=u({},e)[r]||Object.keys(u({},t)).join("")!=n})?function(e,t){for(var r=s(e),u=arguments.length,c=1,f=a.f,d=i.f;u>c;)for(var l,h=o(arguments[c++]),p=f?n(h).concat(f(h)):n(h),b=p.length,y=0;b>y;)d.call(h,l=p[y++])&&(r[l]=h[l]);return r}:u},{"./_fails":90,"./_iobject":98,"./_object-gops":119,"./_object-keys":122,"./_object-pie":123,"./_to-object":146}],113:[function(e,t,r){var n=e("./_an-object"),a=e("./_object-dps"),i=e("./_enum-bug-keys"),s=e("./_shared-key")("IE_PROTO"),o=function(){},u=function(){var t,r=e("./_dom-create")("iframe"),n=i.length;for(r.style.display="none",e("./_html").appendChild(r),r.src="javascript:",(t=r.contentWindow.document).open(),t.write("