appium-ios-device 2.4.2 → 2.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -226,13 +226,9 @@ class DTXMessageAuxBuffer {
226
226
 
227
227
  appendSignedLong(value) {
228
228
  const buf = Buffer.alloc(16);
229
-
230
- this._buf.writeUInt32LE(DTX_AUXILIARY_MAGIC, 0);
231
-
232
- this._buf.writeUInt32LE(6, 4);
233
-
234
- this._buf.writeBigInt64LE(value, 8);
235
-
229
+ buf.writeUInt32LE(DTX_AUXILIARY_MAGIC, 0);
230
+ buf.writeUInt32LE(6, 4);
231
+ buf.writeBigInt64LE(value, 8);
236
232
  this._buf = Buffer.concat([this._buf, buf]);
237
233
  }
238
234
 
@@ -370,4 +366,4 @@ class DTXMessage {
370
366
  exports.DTXMessage = DTXMessage;require('source-map-support').install();
371
367
 
372
368
 
373
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2luc3RydW1lbnQvaGVhZGVycy5qcyIsIm5hbWVzIjpbIkRUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCIsIkRUWF9NRVNTQUdFX0hFQURFUl9MRU5HVEgiLCJEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMiLCJEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUNfTEVOIiwiRFRYX01FU1NBR0VfQVVYX0hFQURFUiIsIkRUWF9BVVhJTElBUllfTUFHSUMiLCJGTEFHX1RZUEVTIiwiT2JqZWN0IiwiZnJlZXplIiwicHVzaCIsInJlY3YiLCJzZW5kIiwicmVwbHkiLCJBVVhfVFlQRVMiLCJUZXh0IiwiTlNLZXllZCIsIlVJbnQzMkxFIiwiQmlnVUludDY0TEUiLCJCaWdJbnQ2NExFIiwiRFRYTWVzc2FnZUhlYWRlciIsImJ1aWxkIiwiZGF0YSIsIm1lc3NhZ2VIZWFkZXIiLCJCdWZmZXIiLCJhbGxvYyIsIndyaXRlVUludDMyTEUiLCJ3cml0ZVVJbnQxNkxFIiwicGF5bG9hZExlbmd0aCIsImlkZW50aWZpZXIiLCJjb252ZXJzYXRpb25JbmRleCIsImNoYW5uZWxDb2RlIiwiZXhwZWN0c1JlcGx5IiwicGFyc2UiLCJoZWFkZXJCdWZmZXIiLCJtYWdpYyIsInJlYWRVSW50MzJMRSIsImhlYWRlckxlbmd0aCIsImZyYWdtZW50SWQiLCJyZWFkVUludDE2TEUiLCJmcmFnbWVudENvdW50IiwiY2hhbm5lbCIsIkRUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyIiwiZmxhZ3MiLCJhdXhMZW5ndGgiLCJ3cml0ZUJpZ1VJbnQ2NExFIiwidG90YWxMZW5ndGgiLCJyZWFkQmlnSW50NjRMRSIsIkRUWE1lc3NhZ2VBdXgiLCJjb25zdHJ1Y3RvciIsIm1lc3NhZ2VBdXgiLCJEVFhNZXNzYWdlQXV4QnVmZmVyIiwiYnVmIiwibGVuZ3RoIiwiYXJnIiwiY29uY2F0IiwiZ2V0Qnl0ZXMiLCJfIiwiaXNOdW1iZXIiLCJhcHBlbmRJbnQiLCJhcHBlbmRMb25nIiwiYXBwZW5kT2JqZWN0IiwicGF5bG9hZEhlYWRlciIsImN1cnNvciIsIm0iLCJFcnJvciIsInR5cGUiLCJzdHJMZW4iLCJzbGljZSIsImFyY2hpdmVkX2RhdGEiLCJ1bmFyY2hpdmUiLCJyZWFkQmlnVUludDY0TEUiLCJJbnN0cnVtZW50UlBDUGFyc2VFcnJvciIsIl9idWYiLCJ2YWx1ZSIsImFwcGVuZFNpZ25lZEludCIsIndyaXRlSW50MzJMRSIsImFwcGVuZFNpZ25lZExvbmciLCJ3cml0ZUJpZ0ludDY0TEUiLCJhcmNoaXZlIiwiYnVmMiIsIm91dCIsIkRUWE1lc3NhZ2UiLCJvcHRzIiwic2VsZWN0b3IiLCJfbWVzc2FnZUhlYWRlciIsInVuZGVmaW5lZCIsIl9wYXlsb2FkSGVhZGVyIiwiX2lkZW50aWZpZXIiLCJfY2hhbm5lbENvZGUiLCJfZXhwZWN0c1JlcGx5IiwiX3NlbGVjdG9yIiwiX2NvbnZlcnNhdGlvbkluZGV4IiwiX2ZsYWdzIiwiYXV4aWxpYXJpZXMiLCJzZWwiLCJhdXgiLCJCaWdJbnQiLCJoZWFkZXJCdWYiLCJwYXlsb2FkQnVmIiwicmV0IiwiZnVuIiwicGxpc3RsaWIiLCJwYXJzZUJ1ZmZlciIsImUiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvaW5zdHJ1bWVudC9oZWFkZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXJjaGl2ZSwgdW5hcmNoaXZlfSBmcm9tICcuL3RyYW5zZm9ybWVyL25za2V5ZWQnO1xuaW1wb3J0IHBsaXN0bGliIGZyb20gJ2JwbGlzdC1wYXJzZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuY29uc3QgRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RIID0gMTY7XG5jb25zdCBEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RIID0gMzI7XG5jb25zdCBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMgPSAweDFGM0Q1Qjc5O1xuY29uc3QgRFRYX01FU1NBR0VfSEVBREVSX01BR0lDX0xFTiA9IDQ7XG5jb25zdCBEVFhfTUVTU0FHRV9BVVhfSEVBREVSID0gMHgwMUYwO1xuY29uc3QgRFRYX0FVWElMSUFSWV9NQUdJQyA9IDB4YTtcblxuY29uc3QgRkxBR19UWVBFUyA9IE9iamVjdC5mcmVlemUoe1xuICBwdXNoOiAwLFxuICByZWN2OiAxLFxuICBzZW5kOiAyLFxuICByZXBseTogM1xufSk7XG5cbmNvbnN0IEFVWF9UWVBFUyA9IE9iamVjdC5mcmVlemUoe1xuICBUZXh0OiAxLFxuICBOU0tleWVkOiAyLFxuICBVSW50MzJMRTogMyxcbiAgQmlnVUludDY0TEU6IDQsXG4gIEJpZ0ludDY0TEU6IDZcbn0pO1xuXG4vKipcbiAqIERUWE1lc3NhZ2VIZWFkZXIgbGVuZ3RoIDMyXG4gKiBzdHJ1Y3QgRFRYTWVzc2FnZUhlYWRlciB7XG4gKiAgICAgdTMyIG1hZ2ljIERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ1xuICogICAgIHUzMiBoZWFkZXJMZW5ndGhcbiAqICAgICB1MTYgZnJhZ21lbnRJZCAgIHBhY2tldCBudW1iZXJcbiAqICAgICB1MTYgZnJhZ21lbnRDb3VudCAgcGFja2V0cyB0b3RhbCBudW1iZXJcbiAqICAgICB1MzIgcGF5bG9hZExlbmd0aFxuICogICAgIHUzMiBpZGVudGlmaWVyXG4gKiAgICAgdTMyIGNvbnZlcnNhdGlvbkluZGV4XG4gKiAgICAgdTMyIGNoYW5uZWxcbiAqICAgICB1MzIgZXhwZWN0c1JlcGx5XG4gKiAgICAgfVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRFRYTWVzc2FnZU9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpZGVudGlmaWVyIHBhY2tldCB0cmFuc21pc3Npb24gc2VxdWVuY2UsIHRoaXMgdmFsdWUgaXMgaW5jcmVtZW50ZWQgZm9yIGVhY2ggcmVxdWVzdFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNoYW5uZWxDb2RlIHRoZSBkYXRhIHRyYW5zbWlzc2lvbiBvZiB0aGUgc2VydmljZSB3aWxsIHVzZSB0aGlzIGNoYW5uZWwgY29kZS5cbiAqIEVhY2ggc2VydmljZSBoYXMgYSBzZXBhcmF0ZSBjaGFubmVsXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHBheWxvYWRMZW5ndGggRFRYTWVzc2FnZUF1eEJ1ZmZlci5sZW5ndGgobnVsbGFibGUpICsgc2VsZWN0b3JCdWZmZXIubGVuZ3RoKG51bGxhYmxlKVxuICogQHByb3BlcnR5IHtib29sZWFufSBleHBlY3RzUmVwbHkgaWYgdHJ1ZSByZXBseSBhIGFjayBtZXNzYWdlXG4gKiBAcHJvcGVydHkge251bWJlcn0gY29udmVyc2F0aW9uSW5kZXggIHJhdyBkYXRhICsxIGluZGljYXRlIGEgcmVwbHkgbWVzc2FnZVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGZsYWdzIG1lc3NhZ2Ugc3RhdHVzXG4gKi9cblxuY2xhc3MgRFRYTWVzc2FnZUhlYWRlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0RUWE1lc3NhZ2VPcHRpb25zfSBkYXRhXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IERUWE1lc3NhZ2VIZWFkZXJCdWZmZXJcbiAgICovXG4gIHN0YXRpYyBidWlsZCAoZGF0YSkge1xuICAgIGNvbnN0IG1lc3NhZ2VIZWFkZXIgPSBCdWZmZXIuYWxsb2MoRFRYX01FU1NBR0VfSEVBREVSX0xFTkdUSCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQywgMCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKERUWF9NRVNTQUdFX0hFQURFUl9MRU5HVEgsIDQpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MTZMRSgwLCA4KTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDE2TEUoMSwgMTApO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLnBheWxvYWRMZW5ndGgsIDEyKTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDMyTEUoZGF0YS5pZGVudGlmaWVyLCAxNik7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKGRhdGEuY29udmVyc2F0aW9uSW5kZXgsIDIwKTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDMyTEUoZGF0YS5jaGFubmVsQ29kZSwgMjQpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLmV4cGVjdHNSZXBseSwgMjgpO1xuICAgIHJldHVybiBtZXNzYWdlSGVhZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBoZWFkZXJCdWZmZXIgRFRYTWVzc2FnZUhlYWRlckJ1ZmZlclxuICAgKiBAcmV0dXJucyB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIHBhcnNlIChoZWFkZXJCdWZmZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWFnaWM6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMCksXG4gICAgICBoZWFkZXJMZW5ndGg6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoNCksXG4gICAgICBmcmFnbWVudElkOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQxNkxFKDgpLFxuICAgICAgZnJhZ21lbnRDb3VudDogaGVhZGVyQnVmZmVyLnJlYWRVSW50MTZMRSgxMCksXG4gICAgICBwYXlsb2FkTGVuZ3RoOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDEyKSxcbiAgICAgIGlkZW50aWZpZXI6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMTYpLFxuICAgICAgY29udmVyc2F0aW9uSW5kZXg6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMjApLFxuICAgICAgY2hhbm5lbDogaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRSgyNCksXG4gICAgICBleHBlY3RzUmVwbHk6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMjgpLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciBsZW5ndGggMTZcbiAqIHN0cnVjdCBEVFhNZXNzYWdlSGVhZGVyIHtcbiAqICAgICB1MzIgZmxhZ3MgRkxBR19UWVBFU1xuICogICAgIHUzMiBhdXhMZW5ndGhcbiAqICAgICB1NjQgdG90YWxMZW5ndGhcbiAqICAgICB9XG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlck9iamVjdFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGZsYWdzIG1lc3NhZ2Ugc3RhdHVzXG4gKiBAcHJvcGVydHkge251bWJlcn0gYXV4TGVuZ3RoIERUWE1lc3NhZ2VBdXhCdWZmZXIubGVuZ3RoKG51bGxhYmxlKVxuICogQHByb3BlcnR5IHtiaWdpbnR9IHRvdGFsTGVuZ3RoIERUWE1lc3NhZ2VBdXhCdWZmZXIubGVuZ3RoKG51bGxhYmxlKSArIHNlbGVjdG9yQnVmZmVyLmxlbmd0aFxuICovXG5jbGFzcyBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0YSB7RFRYTWVzc2FnZVBheWxvYWRIZWFkZXJPYmplY3R9XG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IERUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyQnVmZmVyXG4gICAqL1xuICBzdGF0aWMgYnVpbGQgKGRhdGEpIHtcbiAgICBjb25zdCBtZXNzYWdlSGVhZGVyID0gQnVmZmVyLmFsbG9jKERUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKGRhdGEuZmxhZ3MsIDApO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLmF1eExlbmd0aCwgNCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZUJpZ1VJbnQ2NExFKGRhdGEudG90YWxMZW5ndGgsIDgpO1xuICAgIHJldHVybiBtZXNzYWdlSGVhZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBoZWFkZXJCdWZmZXJcbiAgICogQHJldHVybnMge0RUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyT2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIHBhcnNlIChoZWFkZXJCdWZmZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZmxhZ3M6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMCksXG4gICAgICBhdXhMZW5ndGg6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoNCksXG4gICAgICB0b3RhbExlbmd0aDogaGVhZGVyQnVmZmVyLnJlYWRCaWdJbnQ2NExFKDgpXG4gICAgfTtcbiAgfVxufVxuXG5cbmNsYXNzIERUWE1lc3NhZ2VBdXgge1xuICBjb25zdHJ1Y3RvciAoZGF0YSA9IFtdKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBKUyBBcnJheSB0byBBcHBsZSBOU0tleWVkIEJ1ZmZlclxuICAgKiBAcmV0dXJucyB7QnVmZmVyfVxuICAgKi9cbiAgYnVpbGQgKCkge1xuICAgIGNvbnN0IG1lc3NhZ2VBdXggPSBuZXcgRFRYTWVzc2FnZUF1eEJ1ZmZlcigpO1xuICAgIGxldCBidWYgPSBCdWZmZXIuYWxsb2MoMCk7XG4gICAgaWYgKHRoaXMuZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBidWY7XG4gICAgfVxuICAgIGZvciAoY29uc3QgYXJnIG9mIHRoaXMuZGF0YSkge1xuICAgICAgaWYgKGFyZyBpbnN0YW5jZW9mIERUWE1lc3NhZ2VBdXhCdWZmZXIpIHtcbiAgICAgICAgYnVmID0gQnVmZmVyLmNvbmNhdChbYnVmLCBhcmcuZ2V0Qnl0ZXMoKV0pO1xuICAgICAgfSBlbHNlIGlmIChfLmlzTnVtYmVyKGFyZykpIHtcbiAgICAgICAgbWVzc2FnZUF1eC5hcHBlbmRJbnQoYXJnKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZyA9PSAnYmlnaW50Jykge1xuICAgICAgICBtZXNzYWdlQXV4LmFwcGVuZExvbmcoYXJnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2VBdXguYXBwZW5kT2JqZWN0KGFyZyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtidWYsIG1lc3NhZ2VBdXguZ2V0Qnl0ZXMoKV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlcyBuc2tleWVkIEJ1ZmZlciBpbnRvIGpzIGFycmF5XG4gICAqIEBwYXJhbSB7QnVmZmVyfSBoZWFkZXJCdWZmZXJcbiAgICogQHBhcmFtIHtEVFhNZXNzYWdlUGF5bG9hZEhlYWRlck9iamVjdH0gcGF5bG9hZEhlYWRlclxuICAgKiBAcmV0dXJucyB7QXJyYXl9XG4gICAqL1xuICBzdGF0aWMgcGFyc2UgKGhlYWRlckJ1ZmZlciwgcGF5bG9hZEhlYWRlcikge1xuICAgIGxldCBjdXJzb3IgPSAwO1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICBjb25zdCBsZW5ndGggPSBoZWFkZXJCdWZmZXIucmVhZEJpZ0ludDY0TEUoOCk7XG4gICAgY3Vyc29yICs9IDE2O1xuICAgIHdoaWxlIChjdXJzb3IgPD0gbGVuZ3RoKSB7XG4gICAgICBpZiAocGF5bG9hZEhlYWRlci5mbGFncyAhPT0gRkxBR19UWVBFUy5wdXNoKSB7XG4gICAgICAgIGNvbnN0IG0gPSBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKGN1cnNvcik7XG4gICAgICAgIGN1cnNvciArPSA0O1xuICAgICAgICBpZiAobSAhPT0gRFRYX0FVWElMSUFSWV9NQUdJQykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgaW5jb3JyZWN0IGF1eGlsaWFyeSBtYWdpYzogJHttfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCB0eXBlID0gaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRShjdXJzb3IpO1xuICAgICAgY3Vyc29yICs9IDQ7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBBVVhfVFlQRVMuVGV4dDoge1xuICAgICAgICAgIGNvbnN0IHN0ckxlbiA9IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoY3Vyc29yKTtcbiAgICAgICAgICBjdXJzb3IgKz0gNDtcbiAgICAgICAgICBkYXRhLnB1c2goaGVhZGVyQnVmZmVyLnNsaWNlKGN1cnNvciwgY3Vyc29yICsgc3RyTGVuKSk7XG4gICAgICAgICAgY3Vyc29yICs9IHN0ckxlbjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFVWF9UWVBFUy5OU0tleWVkOiB7XG4gICAgICAgICAgY29uc3Qgc3RyTGVuID0gaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRShjdXJzb3IpO1xuICAgICAgICAgIGN1cnNvciArPSA0O1xuICAgICAgICAgIGNvbnN0IGFyY2hpdmVkX2RhdGEgPSBoZWFkZXJCdWZmZXIuc2xpY2UoY3Vyc29yLCBjdXJzb3IgKyBzdHJMZW4pO1xuICAgICAgICAgIGRhdGEucHVzaCh1bmFyY2hpdmUoYXJjaGl2ZWRfZGF0YSkpO1xuICAgICAgICAgIGN1cnNvciArPSBzdHJMZW47XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBVVhfVFlQRVMuVUludDMyTEU6XG4gICAgICAgICAgZGF0YS5wdXNoKGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoY3Vyc29yKSk7XG4gICAgICAgICAgY3Vyc29yICs9IDQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQVVYX1RZUEVTLkJpZ1VJbnQ2NExFOlxuICAgICAgICAgIGRhdGEucHVzaChoZWFkZXJCdWZmZXIucmVhZEJpZ1VJbnQ2NExFKGN1cnNvcikpO1xuICAgICAgICAgIGN1cnNvciArPSA4O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEFVWF9UWVBFUy5CaWdJbnQ2NExFOlxuICAgICAgICAgIGRhdGEucHVzaChoZWFkZXJCdWZmZXIucmVhZEJpZ0ludDY0TEUoY3Vyc29yKSk7XG4gICAgICAgICAgY3Vyc29yICs9IDg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHR5cGUgJHt0eXBlfWApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxufVxuXG5jbGFzcyBJbnN0cnVtZW50UlBDUGFyc2VFcnJvciB7XG4gIGNvbnN0cnVjdG9yIChkYXRhKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxufVxuXG5jbGFzcyBEVFhNZXNzYWdlQXV4QnVmZmVyIHtcbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHRoaXMuX2J1ZiA9IEJ1ZmZlci5hbGxvYygwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWVcbiAgICovXG4gIGFwcGVuZEludCAodmFsdWUpIHtcbiAgICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoMTIpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKERUWF9BVVhJTElBUllfTUFHSUMsIDApO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKDMsIDQpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKHZhbHVlLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1Zl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YmlnaW50fSB2YWx1ZVxuICAgKi9cbiAgYXBwZW5kTG9uZyAodmFsdWUpIHtcbiAgICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoMTYpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKERUWF9BVVhJTElBUllfTUFHSUMsIDApO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKDQsIDQpO1xuICAgIGJ1Zi53cml0ZUJpZ1VJbnQ2NExFKHZhbHVlLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1Zl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICAgKi9cbiAgYXBwZW5kU2lnbmVkSW50ICh2YWx1ZSkge1xuICAgIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5hbGxvYygxMik7XG4gICAgYnVmLndyaXRlVUludDMyTEUoRFRYX0FVWElMSUFSWV9NQUdJQywgMCk7XG4gICAgYnVmLndyaXRlVUludDMyTEUoMywgNCk7XG4gICAgYnVmLndyaXRlSW50MzJMRSh2YWx1ZSwgOCk7XG4gICAgdGhpcy5fYnVmID0gQnVmZmVyLmNvbmNhdChbdGhpcy5fYnVmLCBidWZdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2JpZ2ludH0gdmFsdWVcbiAgICovXG4gIGFwcGVuZFNpZ25lZExvbmcgKHZhbHVlKSB7XG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKDE2KTtcbiAgICB0aGlzLl9idWYud3JpdGVVSW50MzJMRShEVFhfQVVYSUxJQVJZX01BR0lDLCAwKTtcbiAgICB0aGlzLl9idWYud3JpdGVVSW50MzJMRSg2LCA0KTtcbiAgICB0aGlzLl9idWYud3JpdGVCaWdJbnQ2NExFKHZhbHVlLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1Zl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZVxuICAgKi9cbiAgYXBwZW5kT2JqZWN0ICh2YWx1ZSkge1xuICAgIGNvbnN0IGJ1ZiA9IGFyY2hpdmUodmFsdWUpO1xuICAgIGNvbnN0IGJ1ZjIgPSBCdWZmZXIuYWxsb2MoMTIpO1xuICAgIGJ1ZjIud3JpdGVVSW50MzJMRShEVFhfQVVYSUxJQVJZX01BR0lDLCAwKTtcbiAgICBidWYyLndyaXRlVUludDMyTEUoMiwgNCk7XG4gICAgYnVmMi53cml0ZVVJbnQzMkxFKGJ1Zi5sZW5ndGgsIDgpO1xuICAgIHRoaXMuX2J1ZiA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuX2J1ZiwgYnVmMiwgYnVmXSk7XG4gIH1cblxuICBnZXRCeXRlcyAoKSB7XG4gICAgY29uc3Qgb3V0ID0gQnVmZmVyLmFsbG9jKDE2KTtcbiAgICBvdXQud3JpdGVVSW50MzJMRShEVFhfTUVTU0FHRV9BVVhfSEVBREVSLCAwKTtcbiAgICBvdXQud3JpdGVVSW50MzJMRSh0aGlzLl9idWYubGVuZ3RoLCA4KTtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbb3V0LCB0aGlzLl9idWZdKTtcbiAgfVxufVxuXG5cblxuY2xhc3MgRFRYTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0RUWE1lc3NhZ2VPcHRpb25zfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgaWRlbnRpZmllcixcbiAgICAgIGNoYW5uZWxDb2RlLFxuICAgICAgc2VsZWN0b3IsXG4gICAgICBleHBlY3RzUmVwbHksXG4gICAgICBjb252ZXJzYXRpb25JbmRleCA9IDAsXG4gICAgICBmbGFncyA9IEZMQUdfVFlQRVMuc2VuZFxuICAgIH0gPSBvcHRzO1xuICAgIHRoaXMuX21lc3NhZ2VIZWFkZXIgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fcGF5bG9hZEhlYWRlciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjtcbiAgICB0aGlzLl9jaGFubmVsQ29kZSA9IGNoYW5uZWxDb2RlO1xuICAgIHRoaXMuX2V4cGVjdHNSZXBseSA9IGV4cGVjdHNSZXBseTtcbiAgICB0aGlzLl9zZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgIHRoaXMuX2NvbnZlcnNhdGlvbkluZGV4ID0gY29udmVyc2F0aW9uSW5kZXg7XG4gICAgdGhpcy5fZmxhZ3MgPSBmbGFncztcbiAgICB0aGlzLmF1eGlsaWFyaWVzID0gbmV3IERUWE1lc3NhZ2VBdXgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgRFRYTWVzc2FnZUhlYWRlciBpZGVudGlmaWVyLiBQYWNrZXQgdHJhbnNtaXNzaW9uIHNlcXVlbmNlXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgaWRlbnRpZmllciAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VIZWFkZXI/LmlkZW50aWZpZXI7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IERUWE1lc3NhZ2VIZWFkZXIgY2hhbm5lbENvZGUuXG4gICAqIFBhY2tldCB0cmFuc21pc3Npb24gY2hhbm5lbENvZGUuIFVzZSB0aGlzIHZhbHVlIHRvIGRpc3Rpbmd1aXNoIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGNoYW5uZWxzXG4gICAqIGNhbGwgdGhpcyBtZXRob2QgYEluc3RydW1lbnRTZXJ2aWNlLnJlZ2lzdGVyQ2hhbm5lbENhbGxiYWNrYCBnZXQgdGhlIGNoYW5uZWwgbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGNoYW5uZWxDb2RlICgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZUhlYWRlcj8uY2hhbm5lbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgRFRYTWVzc2FnZUhlYWRlciBleHBlY3RzUmVwbHkuIFdoZXRoZXIgdG8gbmVlZCBhY2sgbWVzc2FnZVxuICAgKiBpZiBleHBlY3RzUmVwbHkgaXMgdHJ1ZSBtdXN0IHJlcGx5IGFjayBtZXNzYWdlXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGV4cGVjdHNSZXBseSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VIZWFkZXI/LmV4cGVjdHNSZXBseTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIHRoaXMgbWV0aG9kIGBJbnN0cnVtZW50U2VydmljZS5yZWdpc3RlclNlbGVjdG9yQ2FsbGJhY2tgIGdldCB0aGUgc2VsZWN0b3IgbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7Kn0gVW5rbm93biBkYXRhXG4gICAqL1xuICBnZXQgc2VsZWN0b3IgKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0YVxuICAgKi9cbiAgc2V0IHNlbGVjdG9yIChkYXRhKSB7XG4gICAgdGhpcy5fc2VsZWN0b3IgPSBkYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBEVFhNZXNzYWdlSGVhZGVyIGNvbnZlcnNhdGlvbkluZGV4XG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgY29udmVyc2F0aW9uSW5kZXggKCkge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlSGVhZGVyPy5jb252ZXJzYXRpb25JbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEVFhNZXNzYWdlIEJ1ZmZlcjogRFRYTWVzc2FnZUhlYWRlciArIFBheWxvYWRIZWFkZXIgKyBEVFhNZXNzYWdlQXV4QnVmZmVyKG51bGxhYmxlKSArIHNlbGVjdG9yKG51bGxhYmxlKVxuICAgKiBAcmV0dXJucyB7QnVmZmVyfVxuICAgKi9cbiAgYnVpbGQgKCkge1xuICAgIGNvbnN0IHNlbCA9IHRoaXMuX3NlbGVjdG9yID8gYXJjaGl2ZSh0aGlzLl9zZWxlY3RvcikgOiBCdWZmZXIuYWxsb2MoMCk7XG4gICAgY29uc3QgYXV4ID0gdGhpcy5hdXhpbGlhcmllcy5idWlsZCgpO1xuICAgIGNvbnN0IHBheWxvYWRIZWFkZXIgPSBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlci5idWlsZCh7XG4gICAgICBmbGFnczogdGhpcy5fZmxhZ3MsXG4gICAgICBhdXhMZW5ndGg6IGF1eC5sZW5ndGgsXG4gICAgICAvLyBuZWVkIHRvIGNvbnZlcnQgdG8gYmlnaW50IGluIGFueSBjYXNlXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgICAgIHRvdGFsTGVuZ3RoOiBCaWdJbnQoYXV4Lmxlbmd0aCArIHNlbC5sZW5ndGgpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbWVzc2FnZUhlYWRlciA9IERUWE1lc3NhZ2VIZWFkZXIuYnVpbGQoe1xuICAgICAgcGF5bG9hZExlbmd0aDogRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RIICsgYXV4Lmxlbmd0aCArIHNlbC5sZW5ndGgsXG4gICAgICBpZGVudGlmaWVyOiB0aGlzLl9pZGVudGlmaWVyLFxuICAgICAgY29udmVyc2F0aW9uSW5kZXg6IHRoaXMuX2NvbnZlcnNhdGlvbkluZGV4LFxuICAgICAgY2hhbm5lbENvZGU6IHRoaXMuX2NoYW5uZWxDb2RlLFxuICAgICAgZXhwZWN0c1JlcGx5OiB0aGlzLl9leHBlY3RzUmVwbHlcbiAgICB9KTtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbbWVzc2FnZUhlYWRlciwgcGF5bG9hZEhlYWRlciwgYXV4LCBzZWxdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZXMgRFRYIGJ1ZmZlciBpbnRvIGFuIGpzIG9iamVjdC4gUmV0dXJuZWQgaW4gRFRYRGVjb2RlciBTdHJlYW0uVHJhbnNmb3JtXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBoZWFkZXJCdWYgIERUWE1lc3NhZ2VIZWFkZXIgYnVmZmVyXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBwYXlsb2FkQnVmICBQYXlsb2FkSGVhZGVyQnVmZmVyICsgRFRYTWVzc2FnZUF1eEJ1ZmZlcihudWxsYWJsZSkgKyBzZWxlY3RvckJ1ZmZlcihudWxsYWJsZSlcbiAgICogQHJldHVybnMge0RUWE1lc3NhZ2V9XG4gICAqL1xuICBzdGF0aWMgcGFyc2UgKGhlYWRlckJ1ZiwgcGF5bG9hZEJ1Zikge1xuICAgIGxldCBjdXJzb3IgPSAwO1xuICAgIGNvbnN0IHJldCA9IG5ldyBEVFhNZXNzYWdlKCk7XG4gICAgcmV0Ll9tZXNzYWdlSGVhZGVyID0gRFRYTWVzc2FnZUhlYWRlci5wYXJzZShoZWFkZXJCdWYpO1xuICAgIGlmIChyZXQuX21lc3NhZ2VIZWFkZXIucGF5bG9hZExlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG4gICAgcmV0Ll9wYXlsb2FkSGVhZGVyID0gRFRYTWVzc2FnZVBheWxvYWRIZWFkZXIucGFyc2UocGF5bG9hZEJ1Zi5zbGljZShjdXJzb3IsIERUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCkpO1xuICAgIGN1cnNvciArPSBEVFhfTUVTU0FHRV9QQVlMT0FEX0hFQURFUl9MRU5HVEg7XG4gICAgLy8gdG90YWxMZW5ndGggaXMgYmlnaW50IHVzZSAwblxuICAgIGlmIChyZXQuX3BheWxvYWRIZWFkZXIudG90YWxMZW5ndGggPT09IDBuKSB7XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cbiAgICBpZiAocmV0Ll9wYXlsb2FkSGVhZGVyLmF1eExlbmd0aCA+IDApIHtcbiAgICAgIHJldC5hdXhpbGlhcmllcyA9IERUWE1lc3NhZ2VBdXgucGFyc2UocGF5bG9hZEJ1Zi5zbGljZShjdXJzb3IsIGN1cnNvciArIHJldC5fcGF5bG9hZEhlYWRlci5hdXhMZW5ndGgpLCByZXQuX3BheWxvYWRIZWFkZXIpO1xuICAgICAgY3Vyc29yICs9IHJldC5fcGF5bG9hZEhlYWRlci5hdXhMZW5ndGg7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHBheWxvYWRCdWYuc2xpY2UoY3Vyc29yLCBjdXJzb3IgKyBwYXlsb2FkQnVmLmxlbmd0aCk7XG4gICAgcmV0LnNlbGVjdG9yID0gZGF0YTtcbiAgICBpZiAoZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGZ1biBvZiBbdW5hcmNoaXZlLCBwbGlzdGxpYi5wYXJzZUJ1ZmZlcl0pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXQuc2VsZWN0b3IgPSBmdW4oZGF0YSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXQuc2VsZWN0b3IgPSBuZXcgSW5zdHJ1bWVudFJQQ1BhcnNlRXJyb3IoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxufVxuXG5leHBvcnQgeyBEVFhNZXNzYWdlSGVhZGVyLCBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciwgRFRYTWVzc2FnZUF1eEJ1ZmZlciwgRFRYTWVzc2FnZUF1eCwgRFRYTWVzc2FnZSxcbiAgRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RILCBEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RILCBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMsIERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ19MRU4sXG4gIEZMQUdfVFlQRVN9OyJdLCJtYXBwaW5ncyI6Ijs7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
369
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2luc3RydW1lbnQvaGVhZGVycy5qcyIsIm5hbWVzIjpbIkRUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCIsIkRUWF9NRVNTQUdFX0hFQURFUl9MRU5HVEgiLCJEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMiLCJEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUNfTEVOIiwiRFRYX01FU1NBR0VfQVVYX0hFQURFUiIsIkRUWF9BVVhJTElBUllfTUFHSUMiLCJGTEFHX1RZUEVTIiwiT2JqZWN0IiwiZnJlZXplIiwicHVzaCIsInJlY3YiLCJzZW5kIiwicmVwbHkiLCJBVVhfVFlQRVMiLCJUZXh0IiwiTlNLZXllZCIsIlVJbnQzMkxFIiwiQmlnVUludDY0TEUiLCJCaWdJbnQ2NExFIiwiRFRYTWVzc2FnZUhlYWRlciIsImJ1aWxkIiwiZGF0YSIsIm1lc3NhZ2VIZWFkZXIiLCJCdWZmZXIiLCJhbGxvYyIsIndyaXRlVUludDMyTEUiLCJ3cml0ZVVJbnQxNkxFIiwicGF5bG9hZExlbmd0aCIsImlkZW50aWZpZXIiLCJjb252ZXJzYXRpb25JbmRleCIsImNoYW5uZWxDb2RlIiwiZXhwZWN0c1JlcGx5IiwicGFyc2UiLCJoZWFkZXJCdWZmZXIiLCJtYWdpYyIsInJlYWRVSW50MzJMRSIsImhlYWRlckxlbmd0aCIsImZyYWdtZW50SWQiLCJyZWFkVUludDE2TEUiLCJmcmFnbWVudENvdW50IiwiY2hhbm5lbCIsIkRUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyIiwiZmxhZ3MiLCJhdXhMZW5ndGgiLCJ3cml0ZUJpZ1VJbnQ2NExFIiwidG90YWxMZW5ndGgiLCJyZWFkQmlnSW50NjRMRSIsIkRUWE1lc3NhZ2VBdXgiLCJjb25zdHJ1Y3RvciIsIm1lc3NhZ2VBdXgiLCJEVFhNZXNzYWdlQXV4QnVmZmVyIiwiYnVmIiwibGVuZ3RoIiwiYXJnIiwiY29uY2F0IiwiZ2V0Qnl0ZXMiLCJfIiwiaXNOdW1iZXIiLCJhcHBlbmRJbnQiLCJhcHBlbmRMb25nIiwiYXBwZW5kT2JqZWN0IiwicGF5bG9hZEhlYWRlciIsImN1cnNvciIsIm0iLCJFcnJvciIsInR5cGUiLCJzdHJMZW4iLCJzbGljZSIsImFyY2hpdmVkX2RhdGEiLCJ1bmFyY2hpdmUiLCJyZWFkQmlnVUludDY0TEUiLCJJbnN0cnVtZW50UlBDUGFyc2VFcnJvciIsIl9idWYiLCJ2YWx1ZSIsImFwcGVuZFNpZ25lZEludCIsIndyaXRlSW50MzJMRSIsImFwcGVuZFNpZ25lZExvbmciLCJ3cml0ZUJpZ0ludDY0TEUiLCJhcmNoaXZlIiwiYnVmMiIsIm91dCIsIkRUWE1lc3NhZ2UiLCJvcHRzIiwic2VsZWN0b3IiLCJfbWVzc2FnZUhlYWRlciIsInVuZGVmaW5lZCIsIl9wYXlsb2FkSGVhZGVyIiwiX2lkZW50aWZpZXIiLCJfY2hhbm5lbENvZGUiLCJfZXhwZWN0c1JlcGx5IiwiX3NlbGVjdG9yIiwiX2NvbnZlcnNhdGlvbkluZGV4IiwiX2ZsYWdzIiwiYXV4aWxpYXJpZXMiLCJzZWwiLCJhdXgiLCJCaWdJbnQiLCJoZWFkZXJCdWYiLCJwYXlsb2FkQnVmIiwicmV0IiwiZnVuIiwicGxpc3RsaWIiLCJwYXJzZUJ1ZmZlciIsImUiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvaW5zdHJ1bWVudC9oZWFkZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXJjaGl2ZSwgdW5hcmNoaXZlfSBmcm9tICcuL3RyYW5zZm9ybWVyL25za2V5ZWQnO1xuaW1wb3J0IHBsaXN0bGliIGZyb20gJ2JwbGlzdC1wYXJzZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuY29uc3QgRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RIID0gMTY7XG5jb25zdCBEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RIID0gMzI7XG5jb25zdCBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMgPSAweDFGM0Q1Qjc5O1xuY29uc3QgRFRYX01FU1NBR0VfSEVBREVSX01BR0lDX0xFTiA9IDQ7XG5jb25zdCBEVFhfTUVTU0FHRV9BVVhfSEVBREVSID0gMHgwMUYwO1xuY29uc3QgRFRYX0FVWElMSUFSWV9NQUdJQyA9IDB4YTtcblxuY29uc3QgRkxBR19UWVBFUyA9IE9iamVjdC5mcmVlemUoe1xuICBwdXNoOiAwLFxuICByZWN2OiAxLFxuICBzZW5kOiAyLFxuICByZXBseTogM1xufSk7XG5cbmNvbnN0IEFVWF9UWVBFUyA9IE9iamVjdC5mcmVlemUoe1xuICBUZXh0OiAxLFxuICBOU0tleWVkOiAyLFxuICBVSW50MzJMRTogMyxcbiAgQmlnVUludDY0TEU6IDQsXG4gIEJpZ0ludDY0TEU6IDZcbn0pO1xuXG4vKipcbiAqIERUWE1lc3NhZ2VIZWFkZXIgbGVuZ3RoIDMyXG4gKiBzdHJ1Y3QgRFRYTWVzc2FnZUhlYWRlciB7XG4gKiAgICAgdTMyIG1hZ2ljIERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ1xuICogICAgIHUzMiBoZWFkZXJMZW5ndGhcbiAqICAgICB1MTYgZnJhZ21lbnRJZCAgIHBhY2tldCBudW1iZXJcbiAqICAgICB1MTYgZnJhZ21lbnRDb3VudCAgcGFja2V0cyB0b3RhbCBudW1iZXJcbiAqICAgICB1MzIgcGF5bG9hZExlbmd0aFxuICogICAgIHUzMiBpZGVudGlmaWVyXG4gKiAgICAgdTMyIGNvbnZlcnNhdGlvbkluZGV4XG4gKiAgICAgdTMyIGNoYW5uZWxcbiAqICAgICB1MzIgZXhwZWN0c1JlcGx5XG4gKiAgICAgfVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRFRYTWVzc2FnZU9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpZGVudGlmaWVyIHBhY2tldCB0cmFuc21pc3Npb24gc2VxdWVuY2UsIHRoaXMgdmFsdWUgaXMgaW5jcmVtZW50ZWQgZm9yIGVhY2ggcmVxdWVzdFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNoYW5uZWxDb2RlIHRoZSBkYXRhIHRyYW5zbWlzc2lvbiBvZiB0aGUgc2VydmljZSB3aWxsIHVzZSB0aGlzIGNoYW5uZWwgY29kZS5cbiAqIEVhY2ggc2VydmljZSBoYXMgYSBzZXBhcmF0ZSBjaGFubmVsXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHBheWxvYWRMZW5ndGggRFRYTWVzc2FnZUF1eEJ1ZmZlci5sZW5ndGgobnVsbGFibGUpICsgc2VsZWN0b3JCdWZmZXIubGVuZ3RoKG51bGxhYmxlKVxuICogQHByb3BlcnR5IHtib29sZWFufSBleHBlY3RzUmVwbHkgaWYgdHJ1ZSByZXBseSBhIGFjayBtZXNzYWdlXG4gKiBAcHJvcGVydHkge251bWJlcn0gY29udmVyc2F0aW9uSW5kZXggIHJhdyBkYXRhICsxIGluZGljYXRlIGEgcmVwbHkgbWVzc2FnZVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGZsYWdzIG1lc3NhZ2Ugc3RhdHVzXG4gKi9cblxuY2xhc3MgRFRYTWVzc2FnZUhlYWRlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0RUWE1lc3NhZ2VPcHRpb25zfSBkYXRhXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IERUWE1lc3NhZ2VIZWFkZXJCdWZmZXJcbiAgICovXG4gIHN0YXRpYyBidWlsZCAoZGF0YSkge1xuICAgIGNvbnN0IG1lc3NhZ2VIZWFkZXIgPSBCdWZmZXIuYWxsb2MoRFRYX01FU1NBR0VfSEVBREVSX0xFTkdUSCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQywgMCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKERUWF9NRVNTQUdFX0hFQURFUl9MRU5HVEgsIDQpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MTZMRSgwLCA4KTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDE2TEUoMSwgMTApO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLnBheWxvYWRMZW5ndGgsIDEyKTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDMyTEUoZGF0YS5pZGVudGlmaWVyLCAxNik7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKGRhdGEuY29udmVyc2F0aW9uSW5kZXgsIDIwKTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDMyTEUoZGF0YS5jaGFubmVsQ29kZSwgMjQpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLmV4cGVjdHNSZXBseSwgMjgpO1xuICAgIHJldHVybiBtZXNzYWdlSGVhZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBoZWFkZXJCdWZmZXIgRFRYTWVzc2FnZUhlYWRlckJ1ZmZlclxuICAgKiBAcmV0dXJucyB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIHBhcnNlIChoZWFkZXJCdWZmZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWFnaWM6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMCksXG4gICAgICBoZWFkZXJMZW5ndGg6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoNCksXG4gICAgICBmcmFnbWVudElkOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQxNkxFKDgpLFxuICAgICAgZnJhZ21lbnRDb3VudDogaGVhZGVyQnVmZmVyLnJlYWRVSW50MTZMRSgxMCksXG4gICAgICBwYXlsb2FkTGVuZ3RoOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDEyKSxcbiAgICAgIGlkZW50aWZpZXI6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMTYpLFxuICAgICAgY29udmVyc2F0aW9uSW5kZXg6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMjApLFxuICAgICAgY2hhbm5lbDogaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRSgyNCksXG4gICAgICBleHBlY3RzUmVwbHk6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMjgpLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciBsZW5ndGggMTZcbiAqIHN0cnVjdCBEVFhNZXNzYWdlSGVhZGVyIHtcbiAqICAgICB1MzIgZmxhZ3MgRkxBR19UWVBFU1xuICogICAgIHUzMiBhdXhMZW5ndGhcbiAqICAgICB1NjQgdG90YWxMZW5ndGhcbiAqICAgICB9XG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlck9iamVjdFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGZsYWdzIG1lc3NhZ2Ugc3RhdHVzXG4gKiBAcHJvcGVydHkge251bWJlcn0gYXV4TGVuZ3RoIERUWE1lc3NhZ2VBdXhCdWZmZXIubGVuZ3RoKG51bGxhYmxlKVxuICogQHByb3BlcnR5IHtiaWdpbnR9IHRvdGFsTGVuZ3RoIERUWE1lc3NhZ2VBdXhCdWZmZXIubGVuZ3RoKG51bGxhYmxlKSArIHNlbGVjdG9yQnVmZmVyLmxlbmd0aFxuICovXG5jbGFzcyBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0YSB7RFRYTWVzc2FnZVBheWxvYWRIZWFkZXJPYmplY3R9XG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IERUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyQnVmZmVyXG4gICAqL1xuICBzdGF0aWMgYnVpbGQgKGRhdGEpIHtcbiAgICBjb25zdCBtZXNzYWdlSGVhZGVyID0gQnVmZmVyLmFsbG9jKERUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKGRhdGEuZmxhZ3MsIDApO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLmF1eExlbmd0aCwgNCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZUJpZ1VJbnQ2NExFKGRhdGEudG90YWxMZW5ndGgsIDgpO1xuICAgIHJldHVybiBtZXNzYWdlSGVhZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBoZWFkZXJCdWZmZXJcbiAgICogQHJldHVybnMge0RUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyT2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIHBhcnNlIChoZWFkZXJCdWZmZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZmxhZ3M6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMCksXG4gICAgICBhdXhMZW5ndGg6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoNCksXG4gICAgICB0b3RhbExlbmd0aDogaGVhZGVyQnVmZmVyLnJlYWRCaWdJbnQ2NExFKDgpXG4gICAgfTtcbiAgfVxufVxuXG5cbmNsYXNzIERUWE1lc3NhZ2VBdXgge1xuICBjb25zdHJ1Y3RvciAoZGF0YSA9IFtdKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBKUyBBcnJheSB0byBBcHBsZSBOU0tleWVkIEJ1ZmZlclxuICAgKiBAcmV0dXJucyB7QnVmZmVyfVxuICAgKi9cbiAgYnVpbGQgKCkge1xuICAgIGNvbnN0IG1lc3NhZ2VBdXggPSBuZXcgRFRYTWVzc2FnZUF1eEJ1ZmZlcigpO1xuICAgIGxldCBidWYgPSBCdWZmZXIuYWxsb2MoMCk7XG4gICAgaWYgKHRoaXMuZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBidWY7XG4gICAgfVxuICAgIGZvciAoY29uc3QgYXJnIG9mIHRoaXMuZGF0YSkge1xuICAgICAgaWYgKGFyZyBpbnN0YW5jZW9mIERUWE1lc3NhZ2VBdXhCdWZmZXIpIHtcbiAgICAgICAgYnVmID0gQnVmZmVyLmNvbmNhdChbYnVmLCBhcmcuZ2V0Qnl0ZXMoKV0pO1xuICAgICAgfSBlbHNlIGlmIChfLmlzTnVtYmVyKGFyZykpIHtcbiAgICAgICAgbWVzc2FnZUF1eC5hcHBlbmRJbnQoYXJnKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZyA9PSAnYmlnaW50Jykge1xuICAgICAgICBtZXNzYWdlQXV4LmFwcGVuZExvbmcoYXJnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2VBdXguYXBwZW5kT2JqZWN0KGFyZyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtidWYsIG1lc3NhZ2VBdXguZ2V0Qnl0ZXMoKV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlcyBuc2tleWVkIEJ1ZmZlciBpbnRvIGpzIGFycmF5XG4gICAqIEBwYXJhbSB7QnVmZmVyfSBoZWFkZXJCdWZmZXJcbiAgICogQHBhcmFtIHtEVFhNZXNzYWdlUGF5bG9hZEhlYWRlck9iamVjdH0gcGF5bG9hZEhlYWRlclxuICAgKiBAcmV0dXJucyB7QXJyYXl9XG4gICAqL1xuICBzdGF0aWMgcGFyc2UgKGhlYWRlckJ1ZmZlciwgcGF5bG9hZEhlYWRlcikge1xuICAgIGxldCBjdXJzb3IgPSAwO1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICBjb25zdCBsZW5ndGggPSBoZWFkZXJCdWZmZXIucmVhZEJpZ0ludDY0TEUoOCk7XG4gICAgY3Vyc29yICs9IDE2O1xuICAgIHdoaWxlIChjdXJzb3IgPD0gbGVuZ3RoKSB7XG4gICAgICBpZiAocGF5bG9hZEhlYWRlci5mbGFncyAhPT0gRkxBR19UWVBFUy5wdXNoKSB7XG4gICAgICAgIGNvbnN0IG0gPSBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKGN1cnNvcik7XG4gICAgICAgIGN1cnNvciArPSA0O1xuICAgICAgICBpZiAobSAhPT0gRFRYX0FVWElMSUFSWV9NQUdJQykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgaW5jb3JyZWN0IGF1eGlsaWFyeSBtYWdpYzogJHttfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCB0eXBlID0gaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRShjdXJzb3IpO1xuICAgICAgY3Vyc29yICs9IDQ7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBBVVhfVFlQRVMuVGV4dDoge1xuICAgICAgICAgIGNvbnN0IHN0ckxlbiA9IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoY3Vyc29yKTtcbiAgICAgICAgICBjdXJzb3IgKz0gNDtcbiAgICAgICAgICBkYXRhLnB1c2goaGVhZGVyQnVmZmVyLnNsaWNlKGN1cnNvciwgY3Vyc29yICsgc3RyTGVuKSk7XG4gICAgICAgICAgY3Vyc29yICs9IHN0ckxlbjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFVWF9UWVBFUy5OU0tleWVkOiB7XG4gICAgICAgICAgY29uc3Qgc3RyTGVuID0gaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRShjdXJzb3IpO1xuICAgICAgICAgIGN1cnNvciArPSA0O1xuICAgICAgICAgIGNvbnN0IGFyY2hpdmVkX2RhdGEgPSBoZWFkZXJCdWZmZXIuc2xpY2UoY3Vyc29yLCBjdXJzb3IgKyBzdHJMZW4pO1xuICAgICAgICAgIGRhdGEucHVzaCh1bmFyY2hpdmUoYXJjaGl2ZWRfZGF0YSkpO1xuICAgICAgICAgIGN1cnNvciArPSBzdHJMZW47XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBVVhfVFlQRVMuVUludDMyTEU6XG4gICAgICAgICAgZGF0YS5wdXNoKGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoY3Vyc29yKSk7XG4gICAgICAgICAgY3Vyc29yICs9IDQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQVVYX1RZUEVTLkJpZ1VJbnQ2NExFOlxuICAgICAgICAgIGRhdGEucHVzaChoZWFkZXJCdWZmZXIucmVhZEJpZ1VJbnQ2NExFKGN1cnNvcikpO1xuICAgICAgICAgIGN1cnNvciArPSA4O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEFVWF9UWVBFUy5CaWdJbnQ2NExFOlxuICAgICAgICAgIGRhdGEucHVzaChoZWFkZXJCdWZmZXIucmVhZEJpZ0ludDY0TEUoY3Vyc29yKSk7XG4gICAgICAgICAgY3Vyc29yICs9IDg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHR5cGUgJHt0eXBlfWApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxufVxuXG5jbGFzcyBJbnN0cnVtZW50UlBDUGFyc2VFcnJvciB7XG4gIGNvbnN0cnVjdG9yIChkYXRhKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxufVxuXG5jbGFzcyBEVFhNZXNzYWdlQXV4QnVmZmVyIHtcbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHRoaXMuX2J1ZiA9IEJ1ZmZlci5hbGxvYygwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWVcbiAgICovXG4gIGFwcGVuZEludCAodmFsdWUpIHtcbiAgICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoMTIpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKERUWF9BVVhJTElBUllfTUFHSUMsIDApO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKDMsIDQpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKHZhbHVlLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1Zl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YmlnaW50fSB2YWx1ZVxuICAgKi9cbiAgYXBwZW5kTG9uZyAodmFsdWUpIHtcbiAgICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoMTYpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKERUWF9BVVhJTElBUllfTUFHSUMsIDApO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKDQsIDQpO1xuICAgIGJ1Zi53cml0ZUJpZ1VJbnQ2NExFKHZhbHVlLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1Zl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICAgKi9cbiAgYXBwZW5kU2lnbmVkSW50ICh2YWx1ZSkge1xuICAgIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5hbGxvYygxMik7XG4gICAgYnVmLndyaXRlVUludDMyTEUoRFRYX0FVWElMSUFSWV9NQUdJQywgMCk7XG4gICAgYnVmLndyaXRlVUludDMyTEUoMywgNCk7XG4gICAgYnVmLndyaXRlSW50MzJMRSh2YWx1ZSwgOCk7XG4gICAgdGhpcy5fYnVmID0gQnVmZmVyLmNvbmNhdChbdGhpcy5fYnVmLCBidWZdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2JpZ2ludH0gdmFsdWVcbiAgICovXG4gIGFwcGVuZFNpZ25lZExvbmcgKHZhbHVlKSB7XG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKDE2KTtcbiAgICBidWYud3JpdGVVSW50MzJMRShEVFhfQVVYSUxJQVJZX01BR0lDLCAwKTtcbiAgICBidWYud3JpdGVVSW50MzJMRSg2LCA0KTtcbiAgICBidWYud3JpdGVCaWdJbnQ2NExFKHZhbHVlLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1Zl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZVxuICAgKi9cbiAgYXBwZW5kT2JqZWN0ICh2YWx1ZSkge1xuICAgIGNvbnN0IGJ1ZiA9IGFyY2hpdmUodmFsdWUpO1xuICAgIGNvbnN0IGJ1ZjIgPSBCdWZmZXIuYWxsb2MoMTIpO1xuICAgIGJ1ZjIud3JpdGVVSW50MzJMRShEVFhfQVVYSUxJQVJZX01BR0lDLCAwKTtcbiAgICBidWYyLndyaXRlVUludDMyTEUoMiwgNCk7XG4gICAgYnVmMi53cml0ZVVJbnQzMkxFKGJ1Zi5sZW5ndGgsIDgpO1xuICAgIHRoaXMuX2J1ZiA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuX2J1ZiwgYnVmMiwgYnVmXSk7XG4gIH1cblxuICBnZXRCeXRlcyAoKSB7XG4gICAgY29uc3Qgb3V0ID0gQnVmZmVyLmFsbG9jKDE2KTtcbiAgICBvdXQud3JpdGVVSW50MzJMRShEVFhfTUVTU0FHRV9BVVhfSEVBREVSLCAwKTtcbiAgICBvdXQud3JpdGVVSW50MzJMRSh0aGlzLl9idWYubGVuZ3RoLCA4KTtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbb3V0LCB0aGlzLl9idWZdKTtcbiAgfVxufVxuXG5cblxuY2xhc3MgRFRYTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0RUWE1lc3NhZ2VPcHRpb25zfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgaWRlbnRpZmllcixcbiAgICAgIGNoYW5uZWxDb2RlLFxuICAgICAgc2VsZWN0b3IsXG4gICAgICBleHBlY3RzUmVwbHksXG4gICAgICBjb252ZXJzYXRpb25JbmRleCA9IDAsXG4gICAgICBmbGFncyA9IEZMQUdfVFlQRVMuc2VuZFxuICAgIH0gPSBvcHRzO1xuICAgIHRoaXMuX21lc3NhZ2VIZWFkZXIgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fcGF5bG9hZEhlYWRlciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjtcbiAgICB0aGlzLl9jaGFubmVsQ29kZSA9IGNoYW5uZWxDb2RlO1xuICAgIHRoaXMuX2V4cGVjdHNSZXBseSA9IGV4cGVjdHNSZXBseTtcbiAgICB0aGlzLl9zZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgIHRoaXMuX2NvbnZlcnNhdGlvbkluZGV4ID0gY29udmVyc2F0aW9uSW5kZXg7XG4gICAgdGhpcy5fZmxhZ3MgPSBmbGFncztcbiAgICB0aGlzLmF1eGlsaWFyaWVzID0gbmV3IERUWE1lc3NhZ2VBdXgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgRFRYTWVzc2FnZUhlYWRlciBpZGVudGlmaWVyLiBQYWNrZXQgdHJhbnNtaXNzaW9uIHNlcXVlbmNlXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgaWRlbnRpZmllciAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VIZWFkZXI/LmlkZW50aWZpZXI7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IERUWE1lc3NhZ2VIZWFkZXIgY2hhbm5lbENvZGUuXG4gICAqIFBhY2tldCB0cmFuc21pc3Npb24gY2hhbm5lbENvZGUuIFVzZSB0aGlzIHZhbHVlIHRvIGRpc3Rpbmd1aXNoIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGNoYW5uZWxzXG4gICAqIGNhbGwgdGhpcyBtZXRob2QgYEluc3RydW1lbnRTZXJ2aWNlLnJlZ2lzdGVyQ2hhbm5lbENhbGxiYWNrYCBnZXQgdGhlIGNoYW5uZWwgbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGNoYW5uZWxDb2RlICgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZUhlYWRlcj8uY2hhbm5lbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgRFRYTWVzc2FnZUhlYWRlciBleHBlY3RzUmVwbHkuIFdoZXRoZXIgdG8gbmVlZCBhY2sgbWVzc2FnZVxuICAgKiBpZiBleHBlY3RzUmVwbHkgaXMgdHJ1ZSBtdXN0IHJlcGx5IGFjayBtZXNzYWdlXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGV4cGVjdHNSZXBseSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VIZWFkZXI/LmV4cGVjdHNSZXBseTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIHRoaXMgbWV0aG9kIGBJbnN0cnVtZW50U2VydmljZS5yZWdpc3RlclNlbGVjdG9yQ2FsbGJhY2tgIGdldCB0aGUgc2VsZWN0b3IgbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7Kn0gVW5rbm93biBkYXRhXG4gICAqL1xuICBnZXQgc2VsZWN0b3IgKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0YVxuICAgKi9cbiAgc2V0IHNlbGVjdG9yIChkYXRhKSB7XG4gICAgdGhpcy5fc2VsZWN0b3IgPSBkYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBEVFhNZXNzYWdlSGVhZGVyIGNvbnZlcnNhdGlvbkluZGV4XG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgY29udmVyc2F0aW9uSW5kZXggKCkge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlSGVhZGVyPy5jb252ZXJzYXRpb25JbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEVFhNZXNzYWdlIEJ1ZmZlcjogRFRYTWVzc2FnZUhlYWRlciArIFBheWxvYWRIZWFkZXIgKyBEVFhNZXNzYWdlQXV4QnVmZmVyKG51bGxhYmxlKSArIHNlbGVjdG9yKG51bGxhYmxlKVxuICAgKiBAcmV0dXJucyB7QnVmZmVyfVxuICAgKi9cbiAgYnVpbGQgKCkge1xuICAgIGNvbnN0IHNlbCA9IHRoaXMuX3NlbGVjdG9yID8gYXJjaGl2ZSh0aGlzLl9zZWxlY3RvcikgOiBCdWZmZXIuYWxsb2MoMCk7XG4gICAgY29uc3QgYXV4ID0gdGhpcy5hdXhpbGlhcmllcy5idWlsZCgpO1xuICAgIGNvbnN0IHBheWxvYWRIZWFkZXIgPSBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlci5idWlsZCh7XG4gICAgICBmbGFnczogdGhpcy5fZmxhZ3MsXG4gICAgICBhdXhMZW5ndGg6IGF1eC5sZW5ndGgsXG4gICAgICAvLyBuZWVkIHRvIGNvbnZlcnQgdG8gYmlnaW50IGluIGFueSBjYXNlXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgICAgIHRvdGFsTGVuZ3RoOiBCaWdJbnQoYXV4Lmxlbmd0aCArIHNlbC5sZW5ndGgpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbWVzc2FnZUhlYWRlciA9IERUWE1lc3NhZ2VIZWFkZXIuYnVpbGQoe1xuICAgICAgcGF5bG9hZExlbmd0aDogRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RIICsgYXV4Lmxlbmd0aCArIHNlbC5sZW5ndGgsXG4gICAgICBpZGVudGlmaWVyOiB0aGlzLl9pZGVudGlmaWVyLFxuICAgICAgY29udmVyc2F0aW9uSW5kZXg6IHRoaXMuX2NvbnZlcnNhdGlvbkluZGV4LFxuICAgICAgY2hhbm5lbENvZGU6IHRoaXMuX2NoYW5uZWxDb2RlLFxuICAgICAgZXhwZWN0c1JlcGx5OiB0aGlzLl9leHBlY3RzUmVwbHlcbiAgICB9KTtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbbWVzc2FnZUhlYWRlciwgcGF5bG9hZEhlYWRlciwgYXV4LCBzZWxdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZXMgRFRYIGJ1ZmZlciBpbnRvIGFuIGpzIG9iamVjdC4gUmV0dXJuZWQgaW4gRFRYRGVjb2RlciBTdHJlYW0uVHJhbnNmb3JtXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBoZWFkZXJCdWYgIERUWE1lc3NhZ2VIZWFkZXIgYnVmZmVyXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBwYXlsb2FkQnVmICBQYXlsb2FkSGVhZGVyQnVmZmVyICsgRFRYTWVzc2FnZUF1eEJ1ZmZlcihudWxsYWJsZSkgKyBzZWxlY3RvckJ1ZmZlcihudWxsYWJsZSlcbiAgICogQHJldHVybnMge0RUWE1lc3NhZ2V9XG4gICAqL1xuICBzdGF0aWMgcGFyc2UgKGhlYWRlckJ1ZiwgcGF5bG9hZEJ1Zikge1xuICAgIGxldCBjdXJzb3IgPSAwO1xuICAgIGNvbnN0IHJldCA9IG5ldyBEVFhNZXNzYWdlKCk7XG4gICAgcmV0Ll9tZXNzYWdlSGVhZGVyID0gRFRYTWVzc2FnZUhlYWRlci5wYXJzZShoZWFkZXJCdWYpO1xuICAgIGlmIChyZXQuX21lc3NhZ2VIZWFkZXIucGF5bG9hZExlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG4gICAgcmV0Ll9wYXlsb2FkSGVhZGVyID0gRFRYTWVzc2FnZVBheWxvYWRIZWFkZXIucGFyc2UocGF5bG9hZEJ1Zi5zbGljZShjdXJzb3IsIERUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCkpO1xuICAgIGN1cnNvciArPSBEVFhfTUVTU0FHRV9QQVlMT0FEX0hFQURFUl9MRU5HVEg7XG4gICAgLy8gdG90YWxMZW5ndGggaXMgYmlnaW50IHVzZSAwblxuICAgIGlmIChyZXQuX3BheWxvYWRIZWFkZXIudG90YWxMZW5ndGggPT09IDBuKSB7XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cbiAgICBpZiAocmV0Ll9wYXlsb2FkSGVhZGVyLmF1eExlbmd0aCA+IDApIHtcbiAgICAgIHJldC5hdXhpbGlhcmllcyA9IERUWE1lc3NhZ2VBdXgucGFyc2UocGF5bG9hZEJ1Zi5zbGljZShjdXJzb3IsIGN1cnNvciArIHJldC5fcGF5bG9hZEhlYWRlci5hdXhMZW5ndGgpLCByZXQuX3BheWxvYWRIZWFkZXIpO1xuICAgICAgY3Vyc29yICs9IHJldC5fcGF5bG9hZEhlYWRlci5hdXhMZW5ndGg7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHBheWxvYWRCdWYuc2xpY2UoY3Vyc29yLCBjdXJzb3IgKyBwYXlsb2FkQnVmLmxlbmd0aCk7XG4gICAgcmV0LnNlbGVjdG9yID0gZGF0YTtcbiAgICBpZiAoZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGZ1biBvZiBbdW5hcmNoaXZlLCBwbGlzdGxpYi5wYXJzZUJ1ZmZlcl0pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXQuc2VsZWN0b3IgPSBmdW4oZGF0YSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXQuc2VsZWN0b3IgPSBuZXcgSW5zdHJ1bWVudFJQQ1BhcnNlRXJyb3IoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxufVxuXG5leHBvcnQgeyBEVFhNZXNzYWdlSGVhZGVyLCBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciwgRFRYTWVzc2FnZUF1eEJ1ZmZlciwgRFRYTWVzc2FnZUF1eCwgRFRYTWVzc2FnZSxcbiAgRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RILCBEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RILCBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMsIERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ19MRU4sXG4gIEZMQUdfVFlQRVN9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztB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
@@ -265,9 +265,9 @@ class DTXMessageAuxBuffer {
265
265
  */
266
266
  appendSignedLong (value) {
267
267
  const buf = Buffer.alloc(16);
268
- this._buf.writeUInt32LE(DTX_AUXILIARY_MAGIC, 0);
269
- this._buf.writeUInt32LE(6, 4);
270
- this._buf.writeBigInt64LE(value, 8);
268
+ buf.writeUInt32LE(DTX_AUXILIARY_MAGIC, 0);
269
+ buf.writeUInt32LE(6, 4);
270
+ buf.writeBigInt64LE(value, 8);
271
271
  this._buf = Buffer.concat([this._buf, buf]);
272
272
  }
273
273
 
@@ -434,4 +434,4 @@ class DTXMessage {
434
434
 
435
435
  export { DTXMessageHeader, DTXMessagePayloadHeader, DTXMessageAuxBuffer, DTXMessageAux, DTXMessage,
436
436
  DTX_MESSAGE_PAYLOAD_HEADER_LENGTH, DTX_MESSAGE_HEADER_LENGTH, DTX_MESSAGE_HEADER_MAGIC, DTX_MESSAGE_HEADER_MAGIC_LEN,
437
- FLAG_TYPES};
437
+ FLAG_TYPES};
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "keywords": [
5
5
  "appium"
6
6
  ],
7
- "version": "2.4.2",
7
+ "version": "2.4.3",
8
8
  "author": "appium",
9
9
  "license": "Apache-2.0",
10
10
  "repository": {