for-modules 1.1.5 → 1.1.7

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.
@@ -8,7 +8,6 @@ var _events = require("events");
8
8
  var _Utils = require("./Utils");
9
9
  var _collection = require("@discordjs/collection");
10
10
  var _ManagerCheck = _interopRequireDefault(require("../Utils/ManagerCheck"));
11
- var _TikTok = require("./TikTok");
12
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
12
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
14
13
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
@@ -99,9 +98,10 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
99
98
  _step2;
100
99
  try {
101
100
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
101
+ var _node$options$identif;
102
102
  var nodeOptions = _step2.value;
103
103
  var node = new (_Utils.Structure.get("Node"))(nodeOptions);
104
- _this.nodes.set(node.options.identifier, node);
104
+ _this.nodes.set((_node$options$identif = node.options.identifier) !== null && _node$options$identif !== void 0 ? _node$options$identif : node.options.host, node);
105
105
  }
106
106
  } catch (err) {
107
107
  _iterator2.e(err);
@@ -127,8 +127,9 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
127
127
  return this.nodes.filter(function (node) {
128
128
  return node.connected;
129
129
  }).sort(function (a, b) {
130
- var aload = a.stats.cpu ? a.stats.cpu.lavalinkLoad / a.stats.cpu.cores * 100 : 0;
131
- var bload = b.stats.cpu ? b.stats.cpu.lavalinkLoad / b.stats.cpu.cores * 100 : 0;
130
+ var _a$stats, _b$stats;
131
+ var aload = (_a$stats = a.stats) !== null && _a$stats !== void 0 && _a$stats.cpu ? a.stats.cpu.lavalinkLoad / a.stats.cpu.cores * 100 : 0;
132
+ var bload = (_b$stats = b.stats) !== null && _b$stats !== void 0 && _b$stats.cpu ? b.stats.cpu.lavalinkLoad / b.stats.cpu.cores * 100 : 0;
132
133
  return aload - bload;
133
134
  });
134
135
  }
@@ -140,7 +141,8 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
140
141
  return this.nodes.filter(function (node) {
141
142
  return node.connected;
142
143
  }).sort(function (a, b) {
143
- return a.stats.players - b.stats.players;
144
+ var _a$stats$players, _a$stats2, _b$stats$players, _b$stats2;
145
+ return ((_a$stats$players = (_a$stats2 = a.stats) === null || _a$stats2 === void 0 ? void 0 : _a$stats2.players) !== null && _a$stats$players !== void 0 ? _a$stats$players : 0) - ((_b$stats$players = (_b$stats2 = b.stats) === null || _b$stats2 === void 0 ? void 0 : _b$stats2.players) !== null && _b$stats$players !== void 0 ? _b$stats$players : 0);
144
146
  });
145
147
  }
146
148
 
@@ -149,15 +151,18 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
149
151
  key: "priorityNode",
150
152
  get: function get() {
151
153
  var filteredNodes = this.nodes.filter(function (node) {
152
- return node.connected && node.options.priority > 0;
154
+ var _node$options$priorit;
155
+ return node.connected && ((_node$options$priorit = node.options.priority) !== null && _node$options$priorit !== void 0 ? _node$options$priorit : 0) > 0;
153
156
  });
154
157
  var totalWeight = filteredNodes.reduce(function (total, node) {
155
- return total + node.options.priority;
158
+ var _node$options$priorit2;
159
+ return total + ((_node$options$priorit2 = node.options.priority) !== null && _node$options$priorit2 !== void 0 ? _node$options$priorit2 : 0);
156
160
  }, 0);
157
161
  var weightedNodes = filteredNodes.map(function (node) {
162
+ var _node$options$priorit3;
158
163
  return {
159
164
  node: node,
160
- weight: node.options.priority / totalWeight
165
+ weight: ((_node$options$priorit3 = node.options.priority) !== null && _node$options$priorit3 !== void 0 ? _node$options$priorit3 : 0) / totalWeight
161
166
  };
162
167
  });
163
168
  var randomNumber = Math.random();
@@ -226,7 +231,7 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
226
231
  value: (function () {
227
232
  var _search = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(query, requester) {
228
233
  var _Manager$DEFAULT_SOUR, _query$source;
229
- var node, data, _query, _source, search, tiktokResult, res, searchData, playlistData, tracks, playlist, result, tracksToReplace, _iterator5, _step5, track, _track$title$split$ma, _track$title$split$ma2, author, title, isYouTubeURL;
234
+ var node, data, _query, _source, search, res, searchData, playlistData, tracks, playlist, result, tracksToReplace, _result$playlist$trac, _result$playlist, _iterator5, _step5, track, _track$title$split$ma, _track$title$split$ma2, author, title, isYouTubeURL;
230
235
  return _regeneratorRuntime().wrap(function _callee$(_context) {
231
236
  while (1) switch (_context.prev = _context.next) {
232
237
  case 0:
@@ -265,48 +270,34 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
265
270
  }
266
271
  throw new TypeError("Query must be a string.");
267
272
  case 14:
268
- if (!_TikTok.TikTok.isTikTokURL(query)) {
269
- _context.next = 19;
270
- break;
271
- }
273
+ _context.prev = 14;
272
274
  _context.next = 17;
273
- return _TikTok.TikTok.searchTikTok(query, requester);
274
- case 17:
275
- tiktokResult = _context.sent;
276
- return _context.abrupt("return", {
277
- loadType: tiktokResult.loadType,
278
- tracks: tiktokResult.tracks
279
- });
280
- case 19:
281
- _context.prev = 19;
282
- _context.next = 22;
283
275
  return node.rest.get("/v4/loadtracks?identifier=".concat(encodeURIComponent(search)));
284
- case 22:
276
+ case 17:
285
277
  res = _context.sent;
286
278
  if (res) {
287
- _context.next = 25;
279
+ _context.next = 20;
288
280
  break;
289
281
  }
290
282
  throw new Error("Query not found.");
291
- case 25:
283
+ case 20:
292
284
  searchData = [];
293
285
  _context.t0 = res.loadType;
294
- _context.next = _context.t0 === "search" ? 29 : _context.t0 === "track" ? 31 : _context.t0 === "playlist" ? 33 : 35;
286
+ _context.next = _context.t0 === "search" ? 24 : _context.t0 === "track" ? 26 : _context.t0 === "playlist" ? 28 : 30;
295
287
  break;
296
- case 29:
288
+ case 24:
297
289
  searchData = res.data;
298
- return _context.abrupt("break", 35);
299
- case 31:
290
+ return _context.abrupt("break", 30);
291
+ case 26:
300
292
  searchData = [res.data];
301
- return _context.abrupt("break", 35);
302
- case 33:
293
+ return _context.abrupt("break", 30);
294
+ case 28:
303
295
  playlistData = res.data;
304
- return _context.abrupt("break", 35);
305
- case 35:
296
+ return _context.abrupt("break", 30);
297
+ case 30:
306
298
  tracks = searchData.map(function (track) {
307
299
  return _Utils.TrackUtils.build(track, requester);
308
300
  });
309
- playlist = null;
310
301
  if (res.loadType === "playlist") {
311
302
  playlist = {
312
303
  name: playlistData.info.name,
@@ -326,7 +317,7 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
326
317
  if (this.options.replaceYouTubeCredentials) {
327
318
  tracksToReplace = [];
328
319
  if (result.loadType === "playlist") {
329
- tracksToReplace = result.playlist.tracks;
320
+ tracksToReplace = (_result$playlist$trac = (_result$playlist = result.playlist) === null || _result$playlist === void 0 ? void 0 : _result$playlist.tracks) !== null && _result$playlist$trac !== void 0 ? _result$playlist$trac : [];
330
321
  } else {
331
322
  tracksToReplace = result.tracks;
332
323
  }
@@ -354,15 +345,15 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
354
345
  }
355
346
  if (this.options.caches.enabled && this.options.caches.time > 0) this.caches.set(search, result);
356
347
  return _context.abrupt("return", result);
357
- case 44:
358
- _context.prev = 44;
359
- _context.t1 = _context["catch"](19);
360
- throw new Error(_context.t1);
361
- case 47:
348
+ case 38:
349
+ _context.prev = 38;
350
+ _context.t1 = _context["catch"](14);
351
+ throw new Error(_context.t1 instanceof Error ? _context.t1.message : String(_context.t1));
352
+ case 41:
362
353
  case "end":
363
354
  return _context.stop();
364
355
  }
365
- }, _callee, this, [[19, 44]]);
356
+ }, _callee, this, [[14, 38]]);
366
357
  }));
367
358
  function search(_x, _x2) {
368
359
  return _search.apply(this, arguments);
@@ -506,11 +497,12 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
506
497
  key: "updateVoiceState",
507
498
  value: (function () {
508
499
  var _updateVoiceState = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(data) {
509
- var update, player, _player$voiceState, sessionId, _player$voiceState$ev, token, endpoint;
500
+ var _data$t;
501
+ var update, player, _player$voiceChannel, _player$voiceState, sessionId, _player$voiceState$ev, token, endpoint;
510
502
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
511
503
  while (1) switch (_context4.prev = _context4.next) {
512
504
  case 0:
513
- if (!("t" in data && !["VOICE_STATE_UPDATE", "VOICE_SERVER_UPDATE"].includes(data.t))) {
505
+ if (!("t" in data && !["VOICE_STATE_UPDATE", "VOICE_SERVER_UPDATE"].includes((_data$t = data.t) !== null && _data$t !== void 0 ? _data$t : ""))) {
514
506
  _context4.next = 2;
515
507
  break;
516
508
  }
@@ -543,7 +535,8 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
543
535
  voice: {
544
536
  token: token,
545
537
  endpoint: endpoint,
546
- sessionId: sessionId
538
+ sessionId: sessionId !== null && sessionId !== void 0 ? sessionId : "",
539
+ channelId: (_player$voiceChannel = player.voiceChannel) !== null && _player$voiceChannel !== void 0 ? _player$voiceChannel : ""
547
540
  }
548
541
  }
549
542
  });
@@ -594,7 +587,6 @@ _defineProperty(Manager, "DEFAULT_SOURCES", {
594
587
  deezer: "dzsearch",
595
588
  tidal: "tdsearch",
596
589
  applemusic: "amsearch",
597
- bandcamp: "bcsearch",
598
- tiktok: "tiktok"
590
+ bandcamp: "bcsearch"
599
591
  });
600
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9VdGlscyIsIl9jb2xsZWN0aW9uIiwiX01hbmFnZXJDaGVjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfVGlrVG9rIiwiZSIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwidCIsInIiLCJPYmplY3QiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiaSIsImEiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImNhbGwiLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJBcnJheSIsImlzQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9uIiwiRiIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJmcm9tIiwidGVzdCIsIm93bktleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfb2JqZWN0U3ByZWFkIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemVkIiwiUmVmZXJlbmNlRXJyb3IiLCJCb29sZWFuIiwidmFsdWVPZiIsImJpbmQiLCJfaW5oZXJpdHMiLCJfc2V0UHJvdG90eXBlT2YiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIk1hbmFnZXIiLCJleHBvcnRzIiwiX0V2ZW50RW1pdHRlciIsIm9wdGlvbnMiLCJfdGhpcyIsIkNvbGxlY3Rpb24iLCJtYW5hZ2VyQ2hlY2siLCJTdHJ1Y3R1cmUiLCJnZXQiLCJpbml0IiwiVHJhY2tVdGlscyIsInRyYWNrUGFydGlhbCIsInNldFRyYWNrUGFydGlhbCIsInBsdWdpbnMiLCJub2RlcyIsImlkZW50aWZpZXIiLCJob3N0IiwicmVzdW1lU3RhdHVzIiwicmVzdW1lVGltZW91dCIsInNoYXJkcyIsImF1dG9QbGF5IiwidXNlUHJpb3JpdHkiLCJjbGllbnROYW1lIiwiZGVmYXVsdFNlYXJjaFBsYXRmb3JtIiwidXNlTm9kZSIsIl9pdGVyYXRvciIsImVudHJpZXMiLCJfc3RlcCIsIl9zdGVwJHZhbHVlIiwiaW5kZXgiLCJwbHVnaW4iLCJQbHVnaW4iLCJSYW5nZUVycm9yIiwiY29uY2F0IiwibG9hZCIsImVyciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJub2RlT3B0aW9ucyIsIm5vZGUiLCJzZXQiLCJzZXRJbnRlcnZhbCIsImNhY2hlcyIsImNsZWFyIiwidGltZSIsImNvbm5lY3RlZCIsInNvcnQiLCJiIiwiYWxvYWQiLCJzdGF0cyIsImNwdSIsImxhdmFsaW5rTG9hZCIsImNvcmVzIiwiYmxvYWQiLCJwbGF5ZXJzIiwiZmlsdGVyZWROb2RlcyIsInByaW9yaXR5IiwidG90YWxXZWlnaHQiLCJyZWR1Y2UiLCJ0b3RhbCIsIndlaWdodGVkTm9kZXMiLCJtYXAiLCJ3ZWlnaHQiLCJyYW5kb21OdW1iZXIiLCJNYXRoIiwicmFuZG9tIiwiY3VtdWxhdGl2ZVdlaWdodCIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJfc3RlcDMkdmFsdWUiLCJsZWFzdExvYWROb2RlIiwiZmlyc3QiLCJsZWFzdFBsYXllcnNOb2RlIiwicHJpb3JpdHlOb2RlIiwiY2xpZW50SWQiLCJpbml0aWF0ZWQiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiY29ubmVjdCIsImVtaXQiLCJfc2VhcmNoIiwiX2NhbGxlZSIsInF1ZXJ5IiwicmVxdWVzdGVyIiwiX01hbmFnZXIkREVGQVVMVF9TT1VSIiwiX3F1ZXJ5JHNvdXJjZSIsImRhdGEiLCJfcXVlcnkiLCJfc291cmNlIiwic2VhcmNoIiwidGlrdG9rUmVzdWx0IiwicmVzIiwic2VhcmNoRGF0YSIsInBsYXlsaXN0RGF0YSIsInRyYWNrcyIsInBsYXlsaXN0IiwicmVzdWx0IiwidHJhY2tzVG9SZXBsYWNlIiwiX2l0ZXJhdG9yNSIsIl9zdGVwNSIsInRyYWNrIiwiX3RyYWNrJHRpdGxlJHNwbGl0JG1hIiwiX3RyYWNrJHRpdGxlJHNwbGl0JG1hMiIsImF1dGhvciIsInRpdGxlIiwiaXNZb3VUdWJlVVJMIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsIl9pc1lvdVR1YmVVUkwiLCJ1cmkiLCJpbmNsdWRlcyIsInVzZWFibGVOb2RlcyIsImVuYWJsZWQiLCJERUZBVUxUX1NPVVJDRVMiLCJzb3VyY2UiLCJUaWtUb2siLCJpc1Rpa1Rva1VSTCIsInNlYXJjaFRpa1RvayIsImxvYWRUeXBlIiwicmVzdCIsImVuY29kZVVSSUNvbXBvbmVudCIsInQwIiwiYnVpbGQiLCJpbmZvIiwiZHVyYXRpb24iLCJhY2MiLCJjdXIiLCJyZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzIiwicmVwbGFjZSIsInNwbGl0Iiwic3RyIiwidHJpbSIsInQxIiwiX3giLCJfeDIiLCJkZWNvZGVUcmFja3MiLCJfdGhpczIiLCJfcmVmIiwiX2NhbGxlZTIiLCJyZWplY3QiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJwb3N0IiwiSlNPTiIsInN0cmluZ2lmeSIsIl94MyIsIl94NCIsIl9kZWNvZGVUcmFjayIsIl9jYWxsZWUzIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiZGVjb2RlVHJhY2siLCJfeDUiLCJoYXMiLCJndWlsZCIsImRlc3Ryb3kiLCJjcmVhdGVOb2RlIiwiZGVzdHJveU5vZGUiLCJfdXBkYXRlVm9pY2VTdGF0ZSIsIl9jYWxsZWU0IiwidXBkYXRlIiwicGxheWVyIiwiX3BsYXllciR2b2ljZVN0YXRlIiwic2Vzc2lvbklkIiwiX3BsYXllciR2b2ljZVN0YXRlJGV2IiwidG9rZW4iLCJlbmRwb2ludCIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsImd1aWxkX2lkIiwidm9pY2VTdGF0ZSIsImV2ZW50IiwidXBkYXRlUGxheWVyIiwiZ3VpbGRJZCIsInZvaWNlIiwidXNlcl9pZCIsImNoYW5uZWxfaWQiLCJ2b2ljZUNoYW5uZWwiLCJzZXNzaW9uX2lkIiwiYXNzaWduIiwidXBkYXRlVm9pY2VTdGF0ZSIsIl94NiIsIkV2ZW50RW1pdHRlciIsInlvdXR1YmUiLCJzcG90aWZ5Iiwiamlvc2Fhdm4iLCJzb3VuZGNsb3VkIiwiZGVlemVyIiwidGlkYWwiLCJhcHBsZW11c2ljIiwiYmFuZGNhbXAiLCJ0aWt0b2siXSwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RydWN0dXJlcy9NYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWFzeW5jLXByb21pc2UtZXhlY3V0b3IgKi9cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gXCJldmVudHNcIjtcbmltcG9ydCB7XG5cdExvYWRUeXBlLFxuXHRQbHVnaW4sXG5cdFN0cnVjdHVyZSxcblx0VHJhY2tEYXRhLFxuXHRUcmFja0VuZEV2ZW50LFxuXHRUcmFja0V4Y2VwdGlvbkV2ZW50LFxuXHRUcmFja1N0YXJ0RXZlbnQsXG5cdFRyYWNrU3R1Y2tFdmVudCxcblx0VHJhY2tVdGlscyxcblx0Vm9pY2VQYWNrZXQsXG5cdFZvaWNlU2VydmVyLFxuXHRXZWJTb2NrZXRDbG9zZWRFdmVudCxcbn0gZnJvbSBcIi4vVXRpbHNcIjtcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tIFwiQGRpc2NvcmRqcy9jb2xsZWN0aW9uXCI7XG5pbXBvcnQgeyBOb2RlLCBOb2RlT3B0aW9ucyB9IGZyb20gXCIuL05vZGVcIjtcbmltcG9ydCB7IFBsYXllciwgUGxheWVyT3B0aW9ucywgVHJhY2ssIFVucmVzb2x2ZWRUcmFjayB9IGZyb20gXCIuL1BsYXllclwiO1xuaW1wb3J0IHsgVm9pY2VTdGF0ZSB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IG1hbmFnZXJDaGVjayBmcm9tIFwiLi4vVXRpbHMvTWFuYWdlckNoZWNrXCI7XG5pbXBvcnQgeyBDbGllbnRVc2VyLCBVc2VyIH0gZnJvbSBcImRpc2NvcmQuanNcIjtcbmltcG9ydCB7IFRpa1RvayB9IGZyb20gXCIuL1Rpa1Rva1wiO1xuXG5cblxuLyoqXG4gKiBUaGUgbWFpbiBodWIgZm9yIGludGVyYWN0aW5nIHdpdGggTGF2YWxpbmsgYW5kIHVzaW5nIE1hZ21hc3RyZWFtLFxuICovXG5leHBvcnQgY2xhc3MgTWFuYWdlciBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9TT1VSQ0VTOiBSZWNvcmQ8U2VhcmNoUGxhdGZvcm0sIHN0cmluZz4gPSB7XG5cdFx0XCJ5b3V0dWJlIG11c2ljXCI6IFwieXRtc2VhcmNoXCIsXG5cdFx0eW91dHViZTogXCJ5dHNlYXJjaFwiLFxuXHRcdHNwb3RpZnk6IFwic3BzZWFyY2hcIixcblx0XHRqaW9zYWF2bjogXCJqc3NlYXJjaFwiLFxuXHRcdHNvdW5kY2xvdWQ6IFwic2NzZWFyY2hcIixcblx0XHRkZWV6ZXI6IFwiZHpzZWFyY2hcIixcblx0XHR0aWRhbDogXCJ0ZHNlYXJjaFwiLFxuXHRcdGFwcGxlbXVzaWM6IFwiYW1zZWFyY2hcIixcblx0XHRiYW5kY2FtcDogXCJiY3NlYXJjaFwiLFxuXHRcdHRpa3RvazogXCJ0aWt0b2tcIixcblx0fTtcblxuXHQvKiogVGhlIG1hcCBvZiBwbGF5ZXJzLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgcGxheWVycyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgUGxheWVyPigpO1xuXHQvKiogVGhlIG1hcCBvZiBub2Rlcy4gKi9cblx0cHVibGljIHJlYWRvbmx5IG5vZGVzID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBOb2RlPigpO1xuXHQvKiogVGhlIG9wdGlvbnMgdGhhdCB3ZXJlIHNldC4gKi9cblx0cHVibGljIHJlYWRvbmx5IG9wdGlvbnM6IE1hbmFnZXJPcHRpb25zO1xuXHRwcml2YXRlIGluaXRpYXRlZCA9IGZhbHNlO1xuXHRwdWJsaWMgY2FjaGVzID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBTZWFyY2hSZXN1bHQ+KCk7XG5cblx0LyoqIFJldHVybnMgdGhlIG5vZGVzIHRoYXQgaGFzIHRoZSBsZWFzdCBsb2FkLiAqL1xuXHRwdWJsaWMgZ2V0IGxlYXN0TG9hZE5vZGUoKTogQ29sbGVjdGlvbjxzdHJpbmcsIE5vZGU+IHtcblx0XHRyZXR1cm4gdGhpcy5ub2Rlc1xuXHRcdFx0LmZpbHRlcigobm9kZSkgPT4gbm9kZS5jb25uZWN0ZWQpXG5cdFx0XHQuc29ydCgoYSwgYikgPT4ge1xuXHRcdFx0XHRjb25zdCBhbG9hZCA9IGEuc3RhdHMuY3B1ID8gKGEuc3RhdHMuY3B1LmxhdmFsaW5rTG9hZCAvIGEuc3RhdHMuY3B1LmNvcmVzKSAqIDEwMCA6IDA7XG5cdFx0XHRcdGNvbnN0IGJsb2FkID0gYi5zdGF0cy5jcHUgPyAoYi5zdGF0cy5jcHUubGF2YWxpbmtMb2FkIC8gYi5zdGF0cy5jcHUuY29yZXMpICogMTAwIDogMDtcblx0XHRcdFx0cmV0dXJuIGFsb2FkIC0gYmxvYWQ7XG5cdFx0XHR9KTtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIHRoZSBub2RlcyB0aGF0IGhhcyB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMuICovXG5cdHByaXZhdGUgZ2V0IGxlYXN0UGxheWVyc05vZGUoKTogQ29sbGVjdGlvbjxzdHJpbmcsIE5vZGU+IHtcblx0XHRyZXR1cm4gdGhpcy5ub2Rlcy5maWx0ZXIoKG5vZGUpID0+IG5vZGUuY29ubmVjdGVkKS5zb3J0KChhLCBiKSA9PiBhLnN0YXRzLnBsYXllcnMgLSBiLnN0YXRzLnBsYXllcnMpO1xuXHR9XG5cblx0XG5cblx0LyoqIFJldHVybnMgYSBub2RlIGJhc2VkIG9uIHByaW9yaXR5LiAqL1xuXHRwcml2YXRlIGdldCBwcmlvcml0eU5vZGUoKTogTm9kZSB7XG5cdFx0Y29uc3QgZmlsdGVyZWROb2RlcyA9IHRoaXMubm9kZXMuZmlsdGVyKChub2RlKSA9PiBub2RlLmNvbm5lY3RlZCAmJiBub2RlLm9wdGlvbnMucHJpb3JpdHkgPiAwKTtcblx0XHRjb25zdCB0b3RhbFdlaWdodCA9IGZpbHRlcmVkTm9kZXMucmVkdWNlKCh0b3RhbCwgbm9kZSkgPT4gdG90YWwgKyBub2RlLm9wdGlvbnMucHJpb3JpdHksIDApO1xuXHRcdGNvbnN0IHdlaWdodGVkTm9kZXMgPSBmaWx0ZXJlZE5vZGVzLm1hcCgobm9kZSkgPT4gKHtcblx0XHRcdG5vZGUsXG5cdFx0XHR3ZWlnaHQ6IG5vZGUub3B0aW9ucy5wcmlvcml0eSAvIHRvdGFsV2VpZ2h0LFxuXHRcdH0pKTtcblx0XHRjb25zdCByYW5kb21OdW1iZXIgPSBNYXRoLnJhbmRvbSgpO1xuXG5cdFx0bGV0IGN1bXVsYXRpdmVXZWlnaHQgPSAwO1xuXG5cdFx0Zm9yIChjb25zdCB7IG5vZGUsIHdlaWdodCB9IG9mIHdlaWdodGVkTm9kZXMpIHtcblx0XHRcdGN1bXVsYXRpdmVXZWlnaHQgKz0gd2VpZ2h0O1xuXHRcdFx0aWYgKHJhbmRvbU51bWJlciA8PSBjdW11bGF0aXZlV2VpZ2h0KSB7XG5cdFx0XHRcdHJldHVybiBub2RlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLm9wdGlvbnMudXNlTm9kZSA9PT0gXCJsZWFzdExvYWRcIiA/IHRoaXMubGVhc3RMb2FkTm9kZS5maXJzdCgpIDogdGhpcy5sZWFzdFBsYXllcnNOb2RlLmZpcnN0KCk7XG5cdH1cblxuXHQvKiogUmV0dXJucyB0aGUgbm9kZSB0byB1c2UuICovXG5cdHB1YmxpYyBnZXQgdXNlYWJsZU5vZGVzKCk6IE5vZGUge1xuXHRcdHJldHVybiB0aGlzLm9wdGlvbnMudXNlUHJpb3JpdHkgPyB0aGlzLnByaW9yaXR5Tm9kZSA6IHRoaXMub3B0aW9ucy51c2VOb2RlID09PSBcImxlYXN0TG9hZFwiID8gdGhpcy5sZWFzdExvYWROb2RlLmZpcnN0KCkgOiB0aGlzLmxlYXN0UGxheWVyc05vZGUuZmlyc3QoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbml0aWF0ZXMgdGhlIE1hbmFnZXIgY2xhc3MuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihvcHRpb25zOiBNYW5hZ2VyT3B0aW9ucykge1xuXHRcdHN1cGVyKCk7XG5cblx0XHRtYW5hZ2VyQ2hlY2sob3B0aW9ucyk7XG5cdFx0U3RydWN0dXJlLmdldChcIlBsYXllclwiKS5pbml0KHRoaXMpO1xuXHRcdFN0cnVjdHVyZS5nZXQoXCJOb2RlXCIpLmluaXQodGhpcyk7XG5cdFx0VHJhY2tVdGlscy5pbml0KHRoaXMpO1xuXHRcdFxuXHRcdGlmIChvcHRpb25zLnRyYWNrUGFydGlhbCkge1xuXHRcdFx0VHJhY2tVdGlscy5zZXRUcmFja1BhcnRpYWwob3B0aW9ucy50cmFja1BhcnRpYWwpO1xuXHRcdFx0ZGVsZXRlIG9wdGlvbnMudHJhY2tQYXJ0aWFsO1xuXHRcdH1cblxuXHRcdHRoaXMub3B0aW9ucyA9IHtcblx0XHRcdHBsdWdpbnM6IFtdLFxuXHRcdFx0bm9kZXM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlkZW50aWZpZXI6IFwiZGVmYXVsdFwiLFxuXHRcdFx0XHRcdGhvc3Q6IFwibG9jYWxob3N0XCIsXG5cdFx0XHRcdFx0cmVzdW1lU3RhdHVzOiBmYWxzZSxcblx0XHRcdFx0XHRyZXN1bWVUaW1lb3V0OiAxMDAwLFxuXHRcdFx0XHR9LFxuXHRcdFx0XSxcblx0XHRcdHNoYXJkczogMSxcblx0XHRcdGF1dG9QbGF5OiB0cnVlLFxuXHRcdFx0dXNlUHJpb3JpdHk6IGZhbHNlLFxuXHRcdFx0Y2xpZW50TmFtZTogXCJGb3IgdjMuMFwiLFxuXHRcdFx0ZGVmYXVsdFNlYXJjaFBsYXRmb3JtOiBcInlvdXR1YmVcIixcblx0XHRcdHVzZU5vZGU6IFwibGVhc3RQbGF5ZXJzXCIsXG5cdFx0XHQuLi5vcHRpb25zLFxuXHRcdH07XG5cblx0XHRcblxuXHRcdGlmICh0aGlzLm9wdGlvbnMucGx1Z2lucykge1xuXHRcdFx0Zm9yIChjb25zdCBbaW5kZXgsIHBsdWdpbl0gb2YgdGhpcy5vcHRpb25zLnBsdWdpbnMuZW50cmllcygpKSB7XG5cdFx0XHRcdGlmICghKHBsdWdpbiBpbnN0YW5jZW9mIFBsdWdpbikpIHRocm93IG5ldyBSYW5nZUVycm9yKGBQbHVnaW4gYXQgaW5kZXggJHtpbmRleH0gZG9lcyBub3QgZXh0ZW5kIFBsdWdpbi5gKTtcblx0XHRcdFx0cGx1Z2luLmxvYWQodGhpcyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMub3B0aW9ucy5ub2Rlcykge1xuXHRcdFx0Zm9yIChjb25zdCBub2RlT3B0aW9ucyBvZiB0aGlzLm9wdGlvbnMubm9kZXMpIHtcblx0XHRcdFx0Y29uc3Qgbm9kZSA9IG5ldyAoU3RydWN0dXJlLmdldChcIk5vZGVcIikpKG5vZGVPcHRpb25zKTtcblx0XHRcdFx0dGhpcy5ub2Rlcy5zZXQobm9kZS5vcHRpb25zLmlkZW50aWZpZXIsIG5vZGUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRzZXRJbnRlcnZhbCgoKSA9PiB7XG5cdFx0XHR0aGlzLmNhY2hlcy5jbGVhcigpO1xuXHRcdH0sIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSk7XG5cdH1cblxuXG5cdC8qKlxuXHQgKiBJbml0aWF0ZXMgdGhlIE1hbmFnZXIuXG5cdCAqIEBwYXJhbSBjbGllbnRJZFxuXHQgKi9cblx0cHVibGljIGluaXQoY2xpZW50SWQ/OiBzdHJpbmcpOiB0aGlzIHtcblx0XHRpZiAodGhpcy5pbml0aWF0ZWQpIHJldHVybiB0aGlzO1xuXHRcdGlmICh0eXBlb2YgY2xpZW50SWQgIT09IFwidW5kZWZpbmVkXCIpIHRoaXMub3B0aW9ucy5jbGllbnRJZCA9IGNsaWVudElkO1xuXG5cdFx0aWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuY2xpZW50SWQgIT09IFwic3RyaW5nXCIpIHRocm93IG5ldyBFcnJvcignXCJjbGllbnRJZFwiIHNldCBpcyBub3QgdHlwZSBvZiBcInN0cmluZ1wiJyk7XG5cblx0XHRpZiAoIXRoaXMub3B0aW9ucy5jbGllbnRJZCkgdGhyb3cgbmV3IEVycm9yKCdcImNsaWVudElkXCIgaXMgbm90IHNldC4gUGFzcyBpdCBpbiBNYW5hZ2VyI2luaXQoKSBvciBhcyBhIG9wdGlvbiBpbiB0aGUgY29uc3RydWN0b3IuJyk7XG5cblx0XHRmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5ub2Rlcy52YWx1ZXMoKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0bm9kZS5jb25uZWN0KCk7XG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0dGhpcy5lbWl0KFwiTm9kZUVycm9yXCIsIG5vZGUsIGVycik7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5pbml0aWF0ZWQgPSB0cnVlO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlYXJjaGVzIHRoZSBlbmFibGVkIHNvdXJjZXMgYmFzZWQgb2ZmIHRoZSBVUkwgb3IgdGhlIGBzb3VyY2VgIHByb3BlcnR5LlxuXHQgKiBAcGFyYW0gcXVlcnlcblx0ICogQHBhcmFtIHJlcXVlc3RlclxuXHQgKiBAcmV0dXJucyBUaGUgc2VhcmNoIHJlc3VsdC5cblx0ICovXG5cdHB1YmxpYyBhc3luYyBzZWFyY2gocXVlcnk6IHN0cmluZyB8IFNlYXJjaFF1ZXJ5LCByZXF1ZXN0ZXI/OiBVc2VyIHwgQ2xpZW50VXNlcik6IFByb21pc2U8U2VhcmNoUmVzdWx0PiB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMudXNlYWJsZU5vZGVzO1xuXG5cdFx0aWYgKCFub2RlKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5vcHRpb25zLmNhY2hlcy5lbmFibGVkICYmIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSA+IDAgJiYgdHlwZW9mIHF1ZXJ5ID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRjb25zdCBkYXRhID0gdGhpcy5jYWNoZXMuZ2V0KHF1ZXJ5KTtcblx0XHRcdGlmIChkYXRhKSByZXR1cm4gZGF0YTtcblx0XHR9XG5cdFx0Y29uc3QgX3F1ZXJ5OiBTZWFyY2hRdWVyeSA9IHR5cGVvZiBxdWVyeSA9PT0gXCJzdHJpbmdcIiA/IHsgcXVlcnkgfSA6IHF1ZXJ5O1xuXHRcdGNvbnN0IF9zb3VyY2UgPSBNYW5hZ2VyLkRFRkFVTFRfU09VUkNFU1tfcXVlcnkuc291cmNlID8/IHRoaXMub3B0aW9ucy5kZWZhdWx0U2VhcmNoUGxhdGZvcm1dID8/IF9xdWVyeS5zb3VyY2U7XG5cdFx0bGV0IHNlYXJjaCA9IF9xdWVyeS5xdWVyeTtcblxuXHRcdGlmICghL15odHRwcz86XFwvXFwvLy50ZXN0KHNlYXJjaCkpIHtcblx0XHRcdHNlYXJjaCA9IGAke19zb3VyY2V9OiR7c2VhcmNofWA7XG5cdFx0fVxuXG5cdFx0aWYgKHR5cGVvZiBxdWVyeSAhPT0gXCJzdHJpbmdcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlF1ZXJ5IG11c3QgYmUgYSBzdHJpbmcuXCIpO1xuXG5cdFx0aWYgKFRpa1Rvay5pc1Rpa1Rva1VSTChxdWVyeSkpIHtcblx0XHRcdGNvbnN0IHRpa3Rva1Jlc3VsdCA9IGF3YWl0IFRpa1Rvay5zZWFyY2hUaWtUb2socXVlcnksIHJlcXVlc3Rlcik7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRsb2FkVHlwZTogdGlrdG9rUmVzdWx0LmxvYWRUeXBlIGFzIExvYWRUeXBlLFxuXHRcdFx0XHR0cmFja3M6IHRpa3Rva1Jlc3VsdC50cmFja3MsXG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCByZXMgPSAoYXdhaXQgbm9kZS5yZXN0LmdldChgL3Y0L2xvYWR0cmFja3M/aWRlbnRpZmllcj0ke2VuY29kZVVSSUNvbXBvbmVudChzZWFyY2gpfWApKSBhcyBMYXZhbGlua1Jlc3BvbnNlO1xuXHRcdFx0aWYgKCFyZXMpIHRocm93IG5ldyBFcnJvcihcIlF1ZXJ5IG5vdCBmb3VuZC5cIik7XG5cblx0XHRcdGxldCBzZWFyY2hEYXRhID0gW107XG5cdFx0XHRsZXQgcGxheWxpc3REYXRhOiBQbGF5bGlzdFJhd0RhdGEgfCB1bmRlZmluZWQ7XG5cblx0XHRcdHN3aXRjaCAocmVzLmxvYWRUeXBlKSB7XG5cdFx0XHRcdGNhc2UgXCJzZWFyY2hcIjpcblx0XHRcdFx0XHRzZWFyY2hEYXRhID0gcmVzLmRhdGEgYXMgVHJhY2tEYXRhW107XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInRyYWNrXCI6XG5cdFx0XHRcdFx0c2VhcmNoRGF0YSA9IFtyZXMuZGF0YSBhcyBUcmFja0RhdGFbXV07XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInBsYXlsaXN0XCI6XG5cdFx0XHRcdFx0cGxheWxpc3REYXRhID0gcmVzLmRhdGEgYXMgUGxheWxpc3RSYXdEYXRhO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB0cmFja3MgPSBzZWFyY2hEYXRhLm1hcCgodHJhY2spID0+IFRyYWNrVXRpbHMuYnVpbGQodHJhY2ssIHJlcXVlc3RlcikpO1xuXHRcdFx0bGV0IHBsYXlsaXN0ID0gbnVsbDtcblxuXHRcdFx0aWYgKHJlcy5sb2FkVHlwZSA9PT0gXCJwbGF5bGlzdFwiKSB7XG5cdFx0XHRcdHBsYXlsaXN0ID0ge1xuXHRcdFx0XHRcdG5hbWU6IHBsYXlsaXN0RGF0YSEuaW5mby5uYW1lLFxuXHRcdFx0XHRcdHRyYWNrczogcGxheWxpc3REYXRhIS50cmFja3MubWFwKCh0cmFjaykgPT4gVHJhY2tVdGlscy5idWlsZCh0cmFjaywgcmVxdWVzdGVyKSksXG5cdFx0XHRcdFx0ZHVyYXRpb246IHBsYXlsaXN0RGF0YSEudHJhY2tzLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIChjdXIuaW5mby5sZW5ndGggfHwgMCksIDApLFxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCByZXN1bHQ6IFNlYXJjaFJlc3VsdCA9IHtcblx0XHRcdFx0bG9hZFR5cGU6IHJlcy5sb2FkVHlwZSxcblx0XHRcdFx0dHJhY2tzLFxuXHRcdFx0XHRwbGF5bGlzdCxcblx0XHRcdH07XG5cblx0XHRcdGlmICh0aGlzLm9wdGlvbnMucmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscykge1xuXHRcdFx0XHRsZXQgdHJhY2tzVG9SZXBsYWNlOiBUcmFja1tdID0gW107XG5cdFx0XHRcdGlmIChyZXN1bHQubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRcdHRyYWNrc1RvUmVwbGFjZSA9IHJlc3VsdC5wbGF5bGlzdC50cmFja3M7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dHJhY2tzVG9SZXBsYWNlID0gcmVzdWx0LnRyYWNrcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGZvciAoY29uc3QgdHJhY2sgb2YgdHJhY2tzVG9SZXBsYWNlKSB7XG5cdFx0XHRcdFx0aWYgKGlzWW91VHViZVVSTCh0cmFjay51cmkpKSB7XG5cdFx0XHRcdFx0XHR0cmFjay5hdXRob3IgPSB0cmFjay5hdXRob3IucmVwbGFjZShcIi0gVG9waWNcIiwgXCJcIik7XG5cdFx0XHRcdFx0XHR0cmFjay50aXRsZSA9IHRyYWNrLnRpdGxlLnJlcGxhY2UoXCJUb3BpYyAtXCIsIFwiXCIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAodHJhY2sudGl0bGUuaW5jbHVkZXMoXCItXCIpKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBbYXV0aG9yLCB0aXRsZV0gPSB0cmFjay50aXRsZS5zcGxpdChcIi1cIikubWFwKChzdHI6IHN0cmluZykgPT4gc3RyLnRyaW0oKSk7XG5cdFx0XHRcdFx0XHR0cmFjay5hdXRob3IgPSBhdXRob3I7XG5cdFx0XHRcdFx0XHR0cmFjay50aXRsZSA9IHRpdGxlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMub3B0aW9ucy5jYWNoZXMuZW5hYmxlZCAmJiB0aGlzLm9wdGlvbnMuY2FjaGVzLnRpbWUgPiAwKSB0aGlzLmNhY2hlcy5zZXQoc2VhcmNoLCByZXN1bHQpO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihlcnIpO1xuXHRcdH1cblxuXHRcdGZ1bmN0aW9uIGlzWW91VHViZVVSTCh1cmk6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdFx0cmV0dXJuIHVyaS5pbmNsdWRlcyhcInlvdXR1YmUuY29tXCIpIHx8IHVyaS5pbmNsdWRlcyhcInlvdXR1LmJlXCIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBEZWNvZGVzIHRoZSBiYXNlNjQgZW5jb2RlZCB0cmFja3MgYW5kIHJldHVybnMgYSBUcmFja0RhdGEgYXJyYXkuXG5cdCAqIEBwYXJhbSB0cmFja3Ncblx0ICovXG5cdHB1YmxpYyBkZWNvZGVUcmFja3ModHJhY2tzOiBzdHJpbmdbXSk6IFByb21pc2U8VHJhY2tEYXRhW10+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRjb25zdCBub2RlID0gdGhpcy5ub2Rlcy5maXJzdCgpO1xuXHRcdFx0aWYgKCFub2RlKSB7XG5cdFx0XHRcdHJldHVybiByZWplY3QobmV3IEVycm9yKFwiTm8gYXZhaWxhYmxlIG5vZGVzLlwiKSk7XG5cdFx0XHR9XG5cdFxuXHRcdFx0YXdhaXQgbm9kZS5yZXN0LnBvc3QoXCIvdjQvZGVjb2RldHJhY2tzXCIsIEpTT04uc3RyaW5naWZ5KHRyYWNrcykpXG5cdFx0XHRcdC50aGVuKChyZXMpID0+IHtcblx0XHRcdFx0XHRpZiAoIXJlcykgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoXCJObyBkYXRhIHJldHVybmVkIGZyb20gcXVlcnkuXCIpKTtcblx0XHRcdFx0XHRyZXNvbHZlKHJlcyBhcyBUcmFja0RhdGFbXSk7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaCgoZXJyKSA9PiByZWplY3QoZXJyKSk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVjb2RlcyB0aGUgYmFzZTY0IGVuY29kZWQgdHJhY2sgYW5kIHJldHVybnMgYSBUcmFja0RhdGEuXG5cdCAqIEBwYXJhbSB0cmFja1xuXHQgKi9cblx0cHVibGljIGFzeW5jIGRlY29kZVRyYWNrKHRyYWNrOiBzdHJpbmcpOiBQcm9taXNlPFRyYWNrRGF0YT4ge1xuXHRcdGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuZGVjb2RlVHJhY2tzKFt0cmFja10pO1xuXHRcdHJldHVybiByZXNbMF07XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIHBsYXllciBvciByZXR1cm5zIG9uZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cblx0ICogQHBhcmFtIG9wdGlvbnNcblx0ICovXG5cdHB1YmxpYyBjcmVhdGUob3B0aW9uczogUGxheWVyT3B0aW9ucyk6IFBsYXllciB7XG5cdFx0aWYgKHRoaXMucGxheWVycy5oYXMob3B0aW9ucy5ndWlsZCkpIHtcblx0XHRcdHJldHVybiB0aGlzLnBsYXllcnMuZ2V0KG9wdGlvbnMuZ3VpbGQpO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgKFN0cnVjdHVyZS5nZXQoXCJQbGF5ZXJcIikpKG9wdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYSBwbGF5ZXIgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuXHQgKiBAcGFyYW0gZ3VpbGRcblx0ICovXG5cdHB1YmxpYyBnZXQoZ3VpbGQ6IHN0cmluZyk6IFBsYXllciB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucGxheWVycy5nZXQoZ3VpbGQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlc3Ryb3lzIGEgcGxheWVyIGlmIGl0IGV4aXN0cy5cblx0ICogQHBhcmFtIGd1aWxkXG5cdCAqL1xuXHRwdWJsaWMgZGVzdHJveShndWlsZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5wbGF5ZXJzLmRlbGV0ZShndWlsZCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5vZGUgb3IgcmV0dXJucyBvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlTm9kZShvcHRpb25zOiBOb2RlT3B0aW9ucyk6IE5vZGUge1xuXHRcdGlmICh0aGlzLm5vZGVzLmhhcyhvcHRpb25zLmlkZW50aWZpZXIgfHwgb3B0aW9ucy5ob3N0KSkge1xuXHRcdFx0cmV0dXJuIHRoaXMubm9kZXMuZ2V0KG9wdGlvbnMuaWRlbnRpZmllciB8fCBvcHRpb25zLmhvc3QpO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgKFN0cnVjdHVyZS5nZXQoXCJOb2RlXCIpKShvcHRpb25zKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZXN0cm95cyBhIG5vZGUgaWYgaXQgZXhpc3RzLlxuXHQgKiBAcGFyYW0gaWRlbnRpZmllclxuXHQgKi9cblx0cHVibGljIGRlc3Ryb3lOb2RlKGlkZW50aWZpZXI6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IG5vZGUgPSB0aGlzLm5vZGVzLmdldChpZGVudGlmaWVyKTtcblx0XHRpZiAoIW5vZGUpIHJldHVybjtcblx0XHRub2RlLmRlc3Ryb3koKTtcblx0XHR0aGlzLm5vZGVzLmRlbGV0ZShpZGVudGlmaWVyKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZW5kcyB2b2ljZSBkYXRhIHRvIHRoZSBMYXZhbGluayBzZXJ2ZXIuXG5cdCAqIEBwYXJhbSBkYXRhXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgdXBkYXRlVm9pY2VTdGF0ZShkYXRhOiBWb2ljZVBhY2tldCB8IFZvaWNlU2VydmVyIHwgVm9pY2VTdGF0ZSk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmIChcInRcIiBpbiBkYXRhICYmICFbXCJWT0lDRV9TVEFURV9VUERBVEVcIiwgXCJWT0lDRV9TRVJWRVJfVVBEQVRFXCJdLmluY2x1ZGVzKGRhdGEudCkpIHJldHVybjtcblxuXHRcdGNvbnN0IHVwZGF0ZSA9IFwiZFwiIGluIGRhdGEgPyBkYXRhLmQgOiBkYXRhO1xuXG5cdFx0aWYgKCF1cGRhdGUgfHwgKCEoXCJ0b2tlblwiIGluIHVwZGF0ZSkgJiYgIShcInNlc3Npb25faWRcIiBpbiB1cGRhdGUpKSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgcGxheWVyID0gdGhpcy5wbGF5ZXJzLmdldCh1cGRhdGUuZ3VpbGRfaWQpO1xuXG5cdFx0aWYgKCFwbGF5ZXIpIHJldHVybjtcblx0XHRpZiAoXCJ0b2tlblwiIGluIHVwZGF0ZSkge1xuXHRcdFx0cGxheWVyLnZvaWNlU3RhdGUuZXZlbnQgPSB1cGRhdGU7XG5cblx0XHRcdGNvbnN0IHtcblx0XHRcdFx0c2Vzc2lvbklkLFxuXHRcdFx0XHRldmVudDogeyB0b2tlbiwgZW5kcG9pbnQgfSxcblx0XHRcdH0gPSBwbGF5ZXIudm9pY2VTdGF0ZTtcblxuXHRcdFx0YXdhaXQgcGxheWVyLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0XHRndWlsZElkOiBwbGF5ZXIuZ3VpbGQsXG5cdFx0XHRcdGRhdGE6IHsgdm9pY2U6IHsgdG9rZW4sIGVuZHBvaW50LCBzZXNzaW9uSWQgfSB9LFxuXHRcdFx0fSk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAodXBkYXRlLnVzZXJfaWQgIT09IHRoaXMub3B0aW9ucy5jbGllbnRJZCkgcmV0dXJuO1xuXHRcdGlmICh1cGRhdGUuY2hhbm5lbF9pZCkge1xuXHRcdFx0aWYgKHBsYXllci52b2ljZUNoYW5uZWwgIT09IHVwZGF0ZS5jaGFubmVsX2lkKSB7XG5cdFx0XHRcdHRoaXMuZW1pdChcIlBsYXllck1vdmVcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsLCB1cGRhdGUuY2hhbm5lbF9pZCk7XG5cdFx0XHR9XG5cblx0XHRcdHBsYXllci52b2ljZVN0YXRlLnNlc3Npb25JZCA9IHVwZGF0ZS5zZXNzaW9uX2lkO1xuXHRcdFx0cGxheWVyLnZvaWNlQ2hhbm5lbCA9IHVwZGF0ZS5jaGFubmVsX2lkO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuZW1pdChcIlBsYXllckRpc2Nvbm5lY3RcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsKTtcblx0XHRwbGF5ZXIudm9pY2VDaGFubmVsID0gbnVsbDtcblx0XHRwbGF5ZXIudm9pY2VTdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30pO1xuXHRcdHBsYXllci5kZXN0cm95KCk7XG5cdFx0cmV0dXJuO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZCB7XG5cdC8qKiBUaGUgT1AgY29kZSAqL1xuXHRvcDogbnVtYmVyO1xuXHRkOiB7XG5cdFx0Z3VpbGRfaWQ6IHN0cmluZztcblx0XHRjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsO1xuXHRcdHNlbGZfbXV0ZTogYm9vbGVhbjtcblx0XHRzZWxmX2RlYWY6IGJvb2xlYW47XG5cdH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlck9wdGlvbnMge1xuXHQvKiogVXNlIHByaW9yaXR5IG1vZGUgb3ZlciBsZWFzdCBhbW91bnQgb2YgcGxheWVyIG9yIGxvYWQ/ICovXG5cdHVzZVByaW9yaXR5PzogYm9vbGVhbjtcblx0LyoqIFVzZSB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMgb3IgbGVhc3QgbG9hZD8gKi9cblx0dXNlTm9kZT86IFwibGVhc3RMb2FkXCIgfCBcImxlYXN0UGxheWVyc1wiO1xuXHQvKiogVGhlIGFycmF5IG9mIG5vZGVzIHRvIGNvbm5lY3QgdG8uICovXG5cdG5vZGVzPzogTm9kZU9wdGlvbnNbXTtcblx0LyoqIFRoZSBjbGllbnQgSUQgdG8gdXNlLiAqL1xuXHRjbGllbnRJZD86IHN0cmluZztcblx0LyoqIFZhbHVlIHRvIHVzZSBmb3IgdGhlIGBDbGllbnQtTmFtZWAgaGVhZGVyLiAqL1xuXHRjbGllbnROYW1lPzogc3RyaW5nO1xuXHQvKiogVGhlIHNoYXJkIGNvdW50LiAqL1xuXHRzaGFyZHM/OiBudW1iZXI7XG5cdC8qKiBBIGFycmF5IG9mIHBsdWdpbnMgdG8gdXNlLiAqL1xuXHRwbHVnaW5zPzogUGx1Z2luW107XG5cdC8qKiBXaGV0aGVyIHBsYXllcnMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgcGxheSB0aGUgbmV4dCBzb25nLiAqL1xuXHRhdXRvUGxheT86IGJvb2xlYW47XG5cdC8qKiBBbiBhcnJheSBvZiB0cmFjayBwcm9wZXJ0aWVzIHRvIGtlZXAuIGB0cmFja2Agd2lsbCBhbHdheXMgYmUgcHJlc2VudC4gKi9cblx0dHJhY2tQYXJ0aWFsPzogc3RyaW5nW107XG5cdC8qKiBUaGUgZGVmYXVsdCBzZWFyY2ggcGxhdGZvcm0gdG8gdXNlLCBjYW4gYmUgXCJ5b3V0dWJlXCIsIFwieW91dHViZSBtdXNpY1wiLCBcInNvdW5kY2xvdWRcIiBvciBkZWV6ZXIuICovXG5cdGRlZmF1bHRTZWFyY2hQbGF0Zm9ybT86IFNlYXJjaFBsYXRmb3JtO1xuXHQvKiogV2hldGhlciB0aGUgWW91VHViZSB2aWRlbyB0aXRsZXMgc2hvdWxkIGJlIHJlcGxhY2VkIGlmIHRoZSBBdXRob3IgZG9lcyBub3QgZXhhY3RseSBtYXRjaC4gKi9cblx0cmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscz86IGJvb2xlYW47XG5cdGNhY2hlczoge1xuXHRcdC8qKiBXaGV0aGVyIHRvIGNhY2hlIHRoZSBzZWFyY2ggcmVzdWx0cy4gKi9cblx0XHRlbmFibGVkOiBib29sZWFuO1xuXHRcdC8qKiBUaGUgdGltZSB0byBjYWNoZSB0aGUgc2VhcmNoIHJlc3VsdHMuICovXG5cdFx0dGltZTogbnVtYmVyO1xuXHR9XG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBzZW5kIGRhdGEgdG8gdGhlIHdlYnNvY2tldC5cblx0ICogQHBhcmFtIGlkXG5cdCAqIEBwYXJhbSBwYXlsb2FkXG5cdCAqL1xuXHRzZW5kKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFBheWxvYWQpOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBTZWFyY2hQbGF0Zm9ybSA9IFwiZGVlemVyXCIgfCBcInNvdW5kY2xvdWRcIiB8IFwieW91dHViZSBtdXNpY1wiIHwgXCJ5b3V0dWJlXCIgfCBcInNwb3RpZnlcIiB8IFwiamlvc2Fhdm5cIiB8IFwidGlkYWxcIiB8IFwiYXBwbGVtdXNpY1wiIHwgXCJiYW5kY2FtcFwiIHwgXCJ0aWt0b2tcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hRdWVyeSB7XG5cdC8qKiBUaGUgc291cmNlIHRvIHNlYXJjaCBmcm9tLiAqL1xuXHRzb3VyY2U/OiBTZWFyY2hQbGF0Zm9ybSB8IHN0cmluZztcblx0LyoqIFRoZSBxdWVyeSB0byBzZWFyY2ggZm9yLiAqL1xuXHRxdWVyeTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhdmFsaW5rUmVzcG9uc2Uge1xuXHRsb2FkVHlwZTogTG9hZFR5cGU7XG5cdGRhdGE6IFRyYWNrRGF0YVtdIHwgUGxheWxpc3RSYXdEYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFJlc3VsdCB7XG5cdC8qKiBUaGUgbG9hZCB0eXBlIG9mIHRoZSByZXN1bHQuICovXG5cdGxvYWRUeXBlOiBMb2FkVHlwZTtcblx0LyoqIFRoZSBhcnJheSBvZiB0cmFja3MgZnJvbSB0aGUgcmVzdWx0LiAqL1xuXHR0cmFja3M6IFRyYWNrW107XG5cdC8qKiBUaGUgcGxheWxpc3QgaW5mbyBpZiB0aGUgbG9hZCB0eXBlIGlzICdwbGF5bGlzdCcuICovXG5cdHBsYXlsaXN0PzogUGxheWxpc3REYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYXlsaXN0UmF3RGF0YSB7XG5cdGluZm86IHtcblx0XHQvKiogVGhlIHBsYXlsaXN0IG5hbWUuICovXG5cdFx0bmFtZTogc3RyaW5nO1xuXHR9O1xuXHQvKiogQWRkaXRpb24gaW5mbyBwcm92aWRlZCBieSBwbHVnaW5zLiAqL1xuXHRwbHVnaW5JbmZvOiBvYmplY3Q7XG5cdC8qKiBUaGUgdHJhY2tzIG9mIHRoZSBwbGF5bGlzdCAqL1xuXHR0cmFja3M6IFRyYWNrRGF0YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYXlsaXN0RGF0YSB7XG5cdC8qKiBUaGUgcGxheWxpc3QgbmFtZS4gKi9cblx0bmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIGxlbmd0aCBvZiB0aGUgcGxheWxpc3QuICovXG5cdGR1cmF0aW9uOiBudW1iZXI7XG5cdC8qKiBUaGUgc29uZ3Mgb2YgdGhlIHBsYXlsaXN0LiAqL1xuXHR0cmFja3M6IFRyYWNrW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlckV2ZW50cyB7XG5cdE5vZGVDcmVhdGU6IChub2RlOiBOb2RlKSA9PiB2b2lkO1xuXHROb2RlRGVzdHJveTogKG5vZGU6IE5vZGUpID0+IHZvaWQ7XG5cdE5vZGVDb25uZWN0OiAobm9kZTogTm9kZSkgPT4gdm9pZDtcblx0Tm9kZVJlY29ubmVjdDogKG5vZGU6IE5vZGUpID0+IHZvaWQ7XG5cdE5vZGVEaXNjb25uZWN0OiAobm9kZTogTm9kZSwgcmVhc29uOiB7IGNvZGU/OiBudW1iZXI7IHJlYXNvbj86IHN0cmluZyB9KSA9PiB2b2lkO1xuXHROb2RlRXJyb3I6IChub2RlOiBOb2RlLCBlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG5cdE5vZGVSYXc6IChwYXlsb2FkOiB1bmtub3duKSA9PiB2b2lkO1xuXHRQbGF5ZXJDcmVhdGU6IChwbGF5ZXI6IFBsYXllcikgPT4gdm9pZDtcblx0UGxheWVyRGVzdHJveTogKHBsYXllcjogUGxheWVyKSA9PiB2b2lkO1xuXHRQbGF5ZXJTdGF0ZVVwZGF0ZTogKG9sZFBsYXllcjogUGxheWVyLCBuZXdQbGF5ZXI6IFBsYXllcikgPT4gdm9pZDtcblx0UGxheWVyTW92ZTogKHBsYXllcjogUGxheWVyLCBpbml0Q2hhbm5lbDogc3RyaW5nLCBuZXdDaGFubmVsOiBzdHJpbmcpID0+IHZvaWQ7XG5cdFBsYXllckRpc2Nvbm5lY3Q6IChwbGF5ZXI6IFBsYXllciwgb2xkQ2hhbm5lbDogc3RyaW5nKSA9PiB2b2lkO1xuXHRRdWV1ZUVuZDogKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2sgfCBVbnJlc29sdmVkVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpID0+IHZvaWQ7XG5cdFNvY2tldENsb3NlZDogKHBsYXllcjogUGxheWVyLCBwYXlsb2FkOiBXZWJTb2NrZXRDbG9zZWRFdmVudCkgPT4gdm9pZDtcblx0VHJhY2tTdGFydDogKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrU3RhcnRFdmVudCkgPT4gdm9pZDtcblx0VHJhY2tFbmQ6IChwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrLCBwYXlsb2FkOiBUcmFja0VuZEV2ZW50KSA9PiB2b2lkO1xuXHRUcmFja1N0dWNrOiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tTdHVja0V2ZW50KSA9PiB2b2lkO1xuXHRUcmFja0Vycm9yOiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGF5bG9hZDogVHJhY2tFeGNlcHRpb25FdmVudCkgPT4gdm9pZDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBY0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBSUEsSUFBQUcsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQWtDLFNBQUFJLHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSxRQUFBQyxDQUFB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
592
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9VdGlscyIsIl9jb2xsZWN0aW9uIiwiX01hbmFnZXJDaGVjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJ0IiwiciIsIk9iamVjdCIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiYSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiY2FsbCIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0Iiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9kZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwiYmluZCIsIl9pbmhlcml0cyIsIl9zZXRQcm90b3R5cGVPZiIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiTWFuYWdlciIsImV4cG9ydHMiLCJfRXZlbnRFbWl0dGVyIiwib3B0aW9ucyIsIl90aGlzIiwiQ29sbGVjdGlvbiIsIm1hbmFnZXJDaGVjayIsIlN0cnVjdHVyZSIsImdldCIsImluaXQiLCJUcmFja1V0aWxzIiwidHJhY2tQYXJ0aWFsIiwic2V0VHJhY2tQYXJ0aWFsIiwicGx1Z2lucyIsIm5vZGVzIiwiaWRlbnRpZmllciIsImhvc3QiLCJyZXN1bWVTdGF0dXMiLCJyZXN1bWVUaW1lb3V0Iiwic2hhcmRzIiwiYXV0b1BsYXkiLCJ1c2VQcmlvcml0eSIsImNsaWVudE5hbWUiLCJkZWZhdWx0U2VhcmNoUGxhdGZvcm0iLCJ1c2VOb2RlIiwiX2l0ZXJhdG9yIiwiZW50cmllcyIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJpbmRleCIsInBsdWdpbiIsIlBsdWdpbiIsIlJhbmdlRXJyb3IiLCJjb25jYXQiLCJsb2FkIiwiZXJyIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsIl9ub2RlJG9wdGlvbnMkaWRlbnRpZiIsIm5vZGVPcHRpb25zIiwibm9kZSIsInNldCIsInNldEludGVydmFsIiwiY2FjaGVzIiwiY2xlYXIiLCJ0aW1lIiwiY29ubmVjdGVkIiwic29ydCIsImIiLCJfYSRzdGF0cyIsIl9iJHN0YXRzIiwiYWxvYWQiLCJzdGF0cyIsImNwdSIsImxhdmFsaW5rTG9hZCIsImNvcmVzIiwiYmxvYWQiLCJfYSRzdGF0cyRwbGF5ZXJzIiwiX2Ekc3RhdHMyIiwiX2Ikc3RhdHMkcGxheWVycyIsIl9iJHN0YXRzMiIsInBsYXllcnMiLCJmaWx0ZXJlZE5vZGVzIiwiX25vZGUkb3B0aW9ucyRwcmlvcml0IiwicHJpb3JpdHkiLCJ0b3RhbFdlaWdodCIsInJlZHVjZSIsInRvdGFsIiwiX25vZGUkb3B0aW9ucyRwcmlvcml0MiIsIndlaWdodGVkTm9kZXMiLCJtYXAiLCJfbm9kZSRvcHRpb25zJHByaW9yaXQzIiwid2VpZ2h0IiwicmFuZG9tTnVtYmVyIiwiTWF0aCIsInJhbmRvbSIsImN1bXVsYXRpdmVXZWlnaHQiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiX3N0ZXAzJHZhbHVlIiwibGVhc3RMb2FkTm9kZSIsImZpcnN0IiwibGVhc3RQbGF5ZXJzTm9kZSIsInByaW9yaXR5Tm9kZSIsImNsaWVudElkIiwiaW5pdGlhdGVkIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsImNvbm5lY3QiLCJlbWl0IiwiX3NlYXJjaCIsIl9jYWxsZWUiLCJxdWVyeSIsInJlcXVlc3RlciIsIl9NYW5hZ2VyJERFRkFVTFRfU09VUiIsIl9xdWVyeSRzb3VyY2UiLCJkYXRhIiwiX3F1ZXJ5IiwiX3NvdXJjZSIsInNlYXJjaCIsInJlcyIsInNlYXJjaERhdGEiLCJwbGF5bGlzdERhdGEiLCJ0cmFja3MiLCJwbGF5bGlzdCIsInJlc3VsdCIsInRyYWNrc1RvUmVwbGFjZSIsIl9yZXN1bHQkcGxheWxpc3QkdHJhYyIsIl9yZXN1bHQkcGxheWxpc3QiLCJfaXRlcmF0b3I1IiwiX3N0ZXA1IiwidHJhY2siLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEiLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEyIiwiYXV0aG9yIiwidGl0bGUiLCJpc1lvdVR1YmVVUkwiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiX2lzWW91VHViZVVSTCIsInVyaSIsImluY2x1ZGVzIiwidXNlYWJsZU5vZGVzIiwiZW5hYmxlZCIsIkRFRkFVTFRfU09VUkNFUyIsInNvdXJjZSIsInJlc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJ0MCIsImxvYWRUeXBlIiwiYnVpbGQiLCJpbmZvIiwiZHVyYXRpb24iLCJhY2MiLCJjdXIiLCJyZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzIiwicmVwbGFjZSIsInNwbGl0Iiwic3RyIiwidHJpbSIsInQxIiwibWVzc2FnZSIsIl94IiwiX3gyIiwiZGVjb2RlVHJhY2tzIiwiX3RoaXMyIiwiX3JlZiIsIl9jYWxsZWUyIiwicmVqZWN0IiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwicG9zdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJfeDMiLCJfeDQiLCJfZGVjb2RlVHJhY2siLCJfY2FsbGVlMyIsIl9jYWxsZWUzJCIsIl9jb250ZXh0MyIsImRlY29kZVRyYWNrIiwiX3g1IiwiaGFzIiwiZ3VpbGQiLCJkZXN0cm95IiwiY3JlYXRlTm9kZSIsImRlc3Ryb3lOb2RlIiwiX3VwZGF0ZVZvaWNlU3RhdGUiLCJfY2FsbGVlNCIsIl9kYXRhJHQiLCJ1cGRhdGUiLCJwbGF5ZXIiLCJfcGxheWVyJHZvaWNlQ2hhbm5lbCIsIl9wbGF5ZXIkdm9pY2VTdGF0ZSIsInNlc3Npb25JZCIsIl9wbGF5ZXIkdm9pY2VTdGF0ZSRldiIsInRva2VuIiwiZW5kcG9pbnQiLCJfY2FsbGVlNCQiLCJfY29udGV4dDQiLCJndWlsZF9pZCIsInZvaWNlU3RhdGUiLCJldmVudCIsInVwZGF0ZVBsYXllciIsImd1aWxkSWQiLCJ2b2ljZSIsImNoYW5uZWxJZCIsInZvaWNlQ2hhbm5lbCIsInVzZXJfaWQiLCJjaGFubmVsX2lkIiwic2Vzc2lvbl9pZCIsImFzc2lnbiIsInVwZGF0ZVZvaWNlU3RhdGUiLCJfeDYiLCJFdmVudEVtaXR0ZXIiLCJ5b3V0dWJlIiwic3BvdGlmeSIsImppb3NhYXZuIiwic291bmRjbG91ZCIsImRlZXplciIsInRpZGFsIiwiYXBwbGVtdXNpYyIsImJhbmRjYW1wIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0cnVjdHVyZXMvTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1hc3luYy1wcm9taXNlLWV4ZWN1dG9yICovXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiZXZlbnRzXCI7XG5pbXBvcnQge1xuXHRMb2FkVHlwZSxcblx0UGx1Z2luLFxuXHRTdHJ1Y3R1cmUsXG5cdFRyYWNrRGF0YSxcblx0VHJhY2tFbmRFdmVudCxcblx0VHJhY2tFeGNlcHRpb25FdmVudCxcblx0VHJhY2tTdGFydEV2ZW50LFxuXHRUcmFja1N0dWNrRXZlbnQsXG5cdFRyYWNrVXRpbHMsXG5cdFZvaWNlUGFja2V0LFxuXHRWb2ljZVNlcnZlcixcblx0V2ViU29ja2V0Q2xvc2VkRXZlbnQsXG59IGZyb20gXCIuL1V0aWxzXCI7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSBcIkBkaXNjb3JkanMvY29sbGVjdGlvblwiO1xuaW1wb3J0IHsgTm9kZSwgTm9kZU9wdGlvbnMgfSBmcm9tIFwiLi9Ob2RlXCI7XG5pbXBvcnQgeyBQbGF5ZXIsIFBsYXllck9wdGlvbnMsIFRyYWNrLCBVbnJlc29sdmVkVHJhY2sgfSBmcm9tIFwiLi9QbGF5ZXJcIjtcbmltcG9ydCB7IFZvaWNlU3RhdGUgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCBtYW5hZ2VyQ2hlY2sgZnJvbSBcIi4uL1V0aWxzL01hbmFnZXJDaGVja1wiO1xuaW1wb3J0IHsgQ2xpZW50VXNlciwgVXNlciB9IGZyb20gXCJkaXNjb3JkLmpzXCI7XG5cblxuXG4vKipcbiAqIFRoZSBtYWluIGh1YiBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBMYXZhbGluayBhbmQgdXNpbmcgTWFnbWFzdHJlYW0sXG4gKi9cbmV4cG9ydCBjbGFzcyBNYW5hZ2VyIGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcblx0cHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1NPVVJDRVM6IFJlY29yZDxTZWFyY2hQbGF0Zm9ybSwgc3RyaW5nPiA9IHtcblx0XHRcInlvdXR1YmUgbXVzaWNcIjogXCJ5dG1zZWFyY2hcIixcblx0XHR5b3V0dWJlOiBcInl0c2VhcmNoXCIsXG5cdFx0c3BvdGlmeTogXCJzcHNlYXJjaFwiLFxuXHRcdGppb3NhYXZuOiBcImpzc2VhcmNoXCIsXG5cdFx0c291bmRjbG91ZDogXCJzY3NlYXJjaFwiLFxuXHRcdGRlZXplcjogXCJkenNlYXJjaFwiLFxuXHRcdHRpZGFsOiBcInRkc2VhcmNoXCIsXG5cdFx0YXBwbGVtdXNpYzogXCJhbXNlYXJjaFwiLFxuXHRcdGJhbmRjYW1wOiBcImJjc2VhcmNoXCIsXG5cdH07XG5cblx0LyoqIFRoZSBtYXAgb2YgcGxheWVycy4gKi9cblx0cHVibGljIHJlYWRvbmx5IHBsYXllcnMgPSBuZXcgQ29sbGVjdGlvbjxzdHJpbmcsIFBsYXllcj4oKTtcblx0LyoqIFRoZSBtYXAgb2Ygbm9kZXMuICovXG5cdHB1YmxpYyByZWFkb25seSBub2RlcyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgTm9kZT4oKTtcblx0LyoqIFRoZSBvcHRpb25zIHRoYXQgd2VyZSBzZXQuICovXG5cdHB1YmxpYyByZWFkb25seSBvcHRpb25zOiBNYW5hZ2VyT3B0aW9ucztcblx0cHJpdmF0ZSBpbml0aWF0ZWQgPSBmYWxzZTtcblx0cHVibGljIGNhY2hlcyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgU2VhcmNoUmVzdWx0PigpO1xuXG5cdC8qKiBSZXR1cm5zIHRoZSBub2RlcyB0aGF0IGhhcyB0aGUgbGVhc3QgbG9hZC4gKi9cblx0cHVibGljIGdldCBsZWFzdExvYWROb2RlKCk6IENvbGxlY3Rpb248c3RyaW5nLCBOb2RlPiB7XG5cdFx0cmV0dXJuIHRoaXMubm9kZXNcblx0XHRcdC5maWx0ZXIoKG5vZGUpID0+IG5vZGUuY29ubmVjdGVkKVxuXHRcdFx0LnNvcnQoKGEsIGIpID0+IHtcblx0XHRcdFx0Y29uc3QgYWxvYWQgPSBhLnN0YXRzPy5jcHUgPyAoYS5zdGF0cy5jcHUubGF2YWxpbmtMb2FkIC8gYS5zdGF0cy5jcHUuY29yZXMpICogMTAwIDogMDtcblx0XHRcdFx0Y29uc3QgYmxvYWQgPSBiLnN0YXRzPy5jcHUgPyAoYi5zdGF0cy5jcHUubGF2YWxpbmtMb2FkIC8gYi5zdGF0cy5jcHUuY29yZXMpICogMTAwIDogMDtcblx0XHRcdFx0cmV0dXJuIGFsb2FkIC0gYmxvYWQ7XG5cdFx0XHR9KTtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIHRoZSBub2RlcyB0aGF0IGhhcyB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMuICovXG5cdHByaXZhdGUgZ2V0IGxlYXN0UGxheWVyc05vZGUoKTogQ29sbGVjdGlvbjxzdHJpbmcsIE5vZGU+IHtcblx0XHRyZXR1cm4gdGhpcy5ub2Rlcy5maWx0ZXIoKG5vZGUpID0+IG5vZGUuY29ubmVjdGVkKS5zb3J0KChhLCBiKSA9PiAoYS5zdGF0cz8ucGxheWVycyA/PyAwKSAtIChiLnN0YXRzPy5wbGF5ZXJzID8/IDApKTtcblx0fVxuXG5cdFxuXG5cdC8qKiBSZXR1cm5zIGEgbm9kZSBiYXNlZCBvbiBwcmlvcml0eS4gKi9cblx0cHJpdmF0ZSBnZXQgcHJpb3JpdHlOb2RlKCk6IE5vZGUge1xuXHRcdGNvbnN0IGZpbHRlcmVkTm9kZXMgPSB0aGlzLm5vZGVzLmZpbHRlcigobm9kZSkgPT4gbm9kZS5jb25uZWN0ZWQgJiYgKG5vZGUub3B0aW9ucy5wcmlvcml0eSA/PyAwKSA+IDApO1xuXHRcdGNvbnN0IHRvdGFsV2VpZ2h0ID0gZmlsdGVyZWROb2Rlcy5yZWR1Y2UoKHRvdGFsLCBub2RlKSA9PiB0b3RhbCArIChub2RlLm9wdGlvbnMucHJpb3JpdHkgPz8gMCksIDApO1xuXHRcdGNvbnN0IHdlaWdodGVkTm9kZXMgPSBmaWx0ZXJlZE5vZGVzLm1hcCgobm9kZSkgPT4gKHtcblx0XHRcdG5vZGUsXG5cdFx0XHR3ZWlnaHQ6IChub2RlLm9wdGlvbnMucHJpb3JpdHkgPz8gMCkgLyB0b3RhbFdlaWdodCxcblx0XHR9KSk7XG5cdFx0Y29uc3QgcmFuZG9tTnVtYmVyID0gTWF0aC5yYW5kb20oKTtcblxuXHRcdGxldCBjdW11bGF0aXZlV2VpZ2h0ID0gMDtcblxuXHRcdGZvciAoY29uc3QgeyBub2RlLCB3ZWlnaHQgfSBvZiB3ZWlnaHRlZE5vZGVzKSB7XG5cdFx0XHRjdW11bGF0aXZlV2VpZ2h0ICs9IHdlaWdodDtcblx0XHRcdGlmIChyYW5kb21OdW1iZXIgPD0gY3VtdWxhdGl2ZVdlaWdodCkge1xuXHRcdFx0XHRyZXR1cm4gbm9kZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gKHRoaXMub3B0aW9ucy51c2VOb2RlID09PSBcImxlYXN0TG9hZFwiID8gdGhpcy5sZWFzdExvYWROb2RlLmZpcnN0KCkgOiB0aGlzLmxlYXN0UGxheWVyc05vZGUuZmlyc3QoKSkgYXMgTm9kZTtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIHRoZSBub2RlIHRvIHVzZS4gKi9cblx0cHVibGljIGdldCB1c2VhYmxlTm9kZXMoKTogTm9kZSB7XG5cdFx0cmV0dXJuICh0aGlzLm9wdGlvbnMudXNlUHJpb3JpdHkgPyB0aGlzLnByaW9yaXR5Tm9kZSA6IHRoaXMub3B0aW9ucy51c2VOb2RlID09PSBcImxlYXN0TG9hZFwiID8gdGhpcy5sZWFzdExvYWROb2RlLmZpcnN0KCkgOiB0aGlzLmxlYXN0UGxheWVyc05vZGUuZmlyc3QoKSkgYXMgTm9kZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbml0aWF0ZXMgdGhlIE1hbmFnZXIgY2xhc3MuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihvcHRpb25zOiBNYW5hZ2VyT3B0aW9ucykge1xuXHRcdHN1cGVyKCk7XG5cblx0XHRtYW5hZ2VyQ2hlY2sob3B0aW9ucyk7XG5cdFx0U3RydWN0dXJlLmdldChcIlBsYXllclwiKS5pbml0KHRoaXMpO1xuXHRcdFN0cnVjdHVyZS5nZXQoXCJOb2RlXCIpLmluaXQodGhpcyk7XG5cdFx0VHJhY2tVdGlscy5pbml0KHRoaXMpO1xuXHRcdFxuXHRcdGlmIChvcHRpb25zLnRyYWNrUGFydGlhbCkge1xuXHRcdFx0VHJhY2tVdGlscy5zZXRUcmFja1BhcnRpYWwob3B0aW9ucy50cmFja1BhcnRpYWwpO1xuXHRcdFx0ZGVsZXRlIG9wdGlvbnMudHJhY2tQYXJ0aWFsO1xuXHRcdH1cblxuXHRcdHRoaXMub3B0aW9ucyA9IHtcblx0XHRcdHBsdWdpbnM6IFtdLFxuXHRcdFx0bm9kZXM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlkZW50aWZpZXI6IFwiZGVmYXVsdFwiLFxuXHRcdFx0XHRcdGhvc3Q6IFwibG9jYWxob3N0XCIsXG5cdFx0XHRcdFx0cmVzdW1lU3RhdHVzOiBmYWxzZSxcblx0XHRcdFx0XHRyZXN1bWVUaW1lb3V0OiAxMDAwLFxuXHRcdFx0XHR9LFxuXHRcdFx0XSxcblx0XHRcdHNoYXJkczogMSxcblx0XHRcdGF1dG9QbGF5OiB0cnVlLFxuXHRcdFx0dXNlUHJpb3JpdHk6IGZhbHNlLFxuXHRcdFx0Y2xpZW50TmFtZTogXCJGb3IgdjMuMFwiLFxuXHRcdFx0ZGVmYXVsdFNlYXJjaFBsYXRmb3JtOiBcInlvdXR1YmVcIixcblx0XHRcdHVzZU5vZGU6IFwibGVhc3RQbGF5ZXJzXCIsXG5cdFx0XHQuLi5vcHRpb25zLFxuXHRcdH07XG5cblx0XHRcblxuXHRcdGlmICh0aGlzLm9wdGlvbnMucGx1Z2lucykge1xuXHRcdFx0Zm9yIChjb25zdCBbaW5kZXgsIHBsdWdpbl0gb2YgdGhpcy5vcHRpb25zLnBsdWdpbnMuZW50cmllcygpKSB7XG5cdFx0XHRcdGlmICghKHBsdWdpbiBpbnN0YW5jZW9mIFBsdWdpbikpIHRocm93IG5ldyBSYW5nZUVycm9yKGBQbHVnaW4gYXQgaW5kZXggJHtpbmRleH0gZG9lcyBub3QgZXh0ZW5kIFBsdWdpbi5gKTtcblx0XHRcdFx0cGx1Z2luLmxvYWQodGhpcyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMub3B0aW9ucy5ub2Rlcykge1xuXHRcdFx0Zm9yIChjb25zdCBub2RlT3B0aW9ucyBvZiB0aGlzLm9wdGlvbnMubm9kZXMpIHtcblx0XHRcdFx0Y29uc3Qgbm9kZSA9IG5ldyAoU3RydWN0dXJlLmdldChcIk5vZGVcIikpKG5vZGVPcHRpb25zKTtcblx0XHRcdFx0dGhpcy5ub2Rlcy5zZXQobm9kZS5vcHRpb25zLmlkZW50aWZpZXIgPz8gbm9kZS5vcHRpb25zLmhvc3QsIG5vZGUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRzZXRJbnRlcnZhbCgoKSA9PiB7XG5cdFx0XHR0aGlzLmNhY2hlcy5jbGVhcigpO1xuXHRcdH0sIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSk7XG5cdH1cblxuXG5cdC8qKlxuXHQgKiBJbml0aWF0ZXMgdGhlIE1hbmFnZXIuXG5cdCAqIEBwYXJhbSBjbGllbnRJZFxuXHQgKi9cblx0cHVibGljIGluaXQoY2xpZW50SWQ/OiBzdHJpbmcpOiB0aGlzIHtcblx0XHRpZiAodGhpcy5pbml0aWF0ZWQpIHJldHVybiB0aGlzO1xuXHRcdGlmICh0eXBlb2YgY2xpZW50SWQgIT09IFwidW5kZWZpbmVkXCIpIHRoaXMub3B0aW9ucy5jbGllbnRJZCA9IGNsaWVudElkO1xuXG5cdFx0aWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuY2xpZW50SWQgIT09IFwic3RyaW5nXCIpIHRocm93IG5ldyBFcnJvcignXCJjbGllbnRJZFwiIHNldCBpcyBub3QgdHlwZSBvZiBcInN0cmluZ1wiJyk7XG5cblx0XHRpZiAoIXRoaXMub3B0aW9ucy5jbGllbnRJZCkgdGhyb3cgbmV3IEVycm9yKCdcImNsaWVudElkXCIgaXMgbm90IHNldC4gUGFzcyBpdCBpbiBNYW5hZ2VyI2luaXQoKSBvciBhcyBhIG9wdGlvbiBpbiB0aGUgY29uc3RydWN0b3IuJyk7XG5cblx0XHRmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5ub2Rlcy52YWx1ZXMoKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0bm9kZS5jb25uZWN0KCk7XG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0dGhpcy5lbWl0KFwiTm9kZUVycm9yXCIsIG5vZGUsIGVycik7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5pbml0aWF0ZWQgPSB0cnVlO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlYXJjaGVzIHRoZSBlbmFibGVkIHNvdXJjZXMgYmFzZWQgb2ZmIHRoZSBVUkwgb3IgdGhlIGBzb3VyY2VgIHByb3BlcnR5LlxuXHQgKiBAcGFyYW0gcXVlcnlcblx0ICogQHBhcmFtIHJlcXVlc3RlclxuXHQgKiBAcmV0dXJucyBUaGUgc2VhcmNoIHJlc3VsdC5cblx0ICovXG5cdHB1YmxpYyBhc3luYyBzZWFyY2gocXVlcnk6IHN0cmluZyB8IFNlYXJjaFF1ZXJ5LCByZXF1ZXN0ZXI/OiBVc2VyIHwgQ2xpZW50VXNlcik6IFByb21pc2U8U2VhcmNoUmVzdWx0PiB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMudXNlYWJsZU5vZGVzO1xuXG5cdFx0aWYgKCFub2RlKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5vcHRpb25zLmNhY2hlcy5lbmFibGVkICYmIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSA+IDAgJiYgdHlwZW9mIHF1ZXJ5ID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRjb25zdCBkYXRhID0gdGhpcy5jYWNoZXMuZ2V0KHF1ZXJ5KTtcblx0XHRcdGlmIChkYXRhKSByZXR1cm4gZGF0YTtcblx0XHR9XG5cdFx0Y29uc3QgX3F1ZXJ5OiBTZWFyY2hRdWVyeSA9IHR5cGVvZiBxdWVyeSA9PT0gXCJzdHJpbmdcIiA/IHsgcXVlcnkgfSA6IHF1ZXJ5O1xuXHRcdGNvbnN0IF9zb3VyY2UgPSBNYW5hZ2VyLkRFRkFVTFRfU09VUkNFU1soX3F1ZXJ5LnNvdXJjZSA/PyB0aGlzLm9wdGlvbnMuZGVmYXVsdFNlYXJjaFBsYXRmb3JtKSBhcyBTZWFyY2hQbGF0Zm9ybV0gPz8gX3F1ZXJ5LnNvdXJjZTtcblx0XHRsZXQgc2VhcmNoID0gX3F1ZXJ5LnF1ZXJ5O1xuXG5cdFx0aWYgKCEvXmh0dHBzPzpcXC9cXC8vLnRlc3Qoc2VhcmNoKSkge1xuXHRcdFx0c2VhcmNoID0gYCR7X3NvdXJjZX06JHtzZWFyY2h9YDtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIHF1ZXJ5ICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiUXVlcnkgbXVzdCBiZSBhIHN0cmluZy5cIik7XG5cdFx0fVxuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHJlcyA9IChhd2FpdCBub2RlLnJlc3QuZ2V0KGAvdjQvbG9hZHRyYWNrcz9pZGVudGlmaWVyPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNlYXJjaCl9YCkpIGFzIExhdmFsaW5rUmVzcG9uc2U7XG5cdFx0XHRpZiAoIXJlcykgdGhyb3cgbmV3IEVycm9yKFwiUXVlcnkgbm90IGZvdW5kLlwiKTtcblxuXHRcdFx0bGV0IHNlYXJjaERhdGE6IFRyYWNrRGF0YVtdID0gW107XG5cdFx0XHRsZXQgcGxheWxpc3REYXRhOiBQbGF5bGlzdFJhd0RhdGEgfCB1bmRlZmluZWQ7XG5cblx0XHRcdHN3aXRjaCAocmVzLmxvYWRUeXBlKSB7XG5cdFx0XHRcdGNhc2UgXCJzZWFyY2hcIjpcblx0XHRcdFx0XHRzZWFyY2hEYXRhID0gcmVzLmRhdGEgYXMgVHJhY2tEYXRhW107XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInRyYWNrXCI6XG5cdFx0XHRcdFx0c2VhcmNoRGF0YSA9IFtyZXMuZGF0YSBhcyB1bmtub3duIGFzIFRyYWNrRGF0YV07XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInBsYXlsaXN0XCI6XG5cdFx0XHRcdFx0cGxheWxpc3REYXRhID0gcmVzLmRhdGEgYXMgUGxheWxpc3RSYXdEYXRhO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB0cmFja3MgPSBzZWFyY2hEYXRhLm1hcCgodHJhY2spID0+IFRyYWNrVXRpbHMuYnVpbGQodHJhY2ssIHJlcXVlc3RlcikpO1xuXHRcdFx0bGV0IHBsYXlsaXN0OiBQbGF5bGlzdERhdGEgfCB1bmRlZmluZWQ7XG5cblx0XHRcdGlmIChyZXMubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRwbGF5bGlzdCA9IHtcblx0XHRcdFx0XHRuYW1lOiBwbGF5bGlzdERhdGEhLmluZm8ubmFtZSxcblx0XHRcdFx0XHR0cmFja3M6IHBsYXlsaXN0RGF0YSEudHJhY2tzLm1hcCgodHJhY2spID0+IFRyYWNrVXRpbHMuYnVpbGQodHJhY2ssIHJlcXVlc3RlcikpLFxuXHRcdFx0XHRcdGR1cmF0aW9uOiBwbGF5bGlzdERhdGEhLnRyYWNrcy5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKyAoY3VyLmluZm8ubGVuZ3RoIHx8IDApLCAwKSxcblx0XHRcdFx0fTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgcmVzdWx0OiBTZWFyY2hSZXN1bHQgPSB7XG5cdFx0XHRcdGxvYWRUeXBlOiByZXMubG9hZFR5cGUsXG5cdFx0XHRcdHRyYWNrcyxcblx0XHRcdFx0cGxheWxpc3QsXG5cdFx0XHR9O1xuXG5cdFx0XHRpZiAodGhpcy5vcHRpb25zLnJlcGxhY2VZb3VUdWJlQ3JlZGVudGlhbHMpIHtcblx0XHRcdFx0bGV0IHRyYWNrc1RvUmVwbGFjZTogVHJhY2tbXSA9IFtdO1xuXHRcdFx0XHRpZiAocmVzdWx0LmxvYWRUeXBlID09PSBcInBsYXlsaXN0XCIpIHtcblx0XHRcdFx0XHR0cmFja3NUb1JlcGxhY2UgPSByZXN1bHQucGxheWxpc3Q/LnRyYWNrcyA/PyBbXTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0cmFja3NUb1JlcGxhY2UgPSByZXN1bHQudHJhY2tzO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Zm9yIChjb25zdCB0cmFjayBvZiB0cmFja3NUb1JlcGxhY2UpIHtcblx0XHRcdFx0XHRpZiAoaXNZb3VUdWJlVVJMKHRyYWNrLnVyaSkpIHtcblx0XHRcdFx0XHRcdHRyYWNrLmF1dGhvciA9IHRyYWNrLmF1dGhvci5yZXBsYWNlKFwiLSBUb3BpY1wiLCBcIlwiKTtcblx0XHRcdFx0XHRcdHRyYWNrLnRpdGxlID0gdHJhY2sudGl0bGUucmVwbGFjZShcIlRvcGljIC1cIiwgXCJcIik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmICh0cmFjay50aXRsZS5pbmNsdWRlcyhcIi1cIikpIHtcblx0XHRcdFx0XHRcdGNvbnN0IFthdXRob3IsIHRpdGxlXSA9IHRyYWNrLnRpdGxlLnNwbGl0KFwiLVwiKS5tYXAoKHN0cjogc3RyaW5nKSA9PiBzdHIudHJpbSgpKTtcblx0XHRcdFx0XHRcdHRyYWNrLmF1dGhvciA9IGF1dGhvcjtcblx0XHRcdFx0XHRcdHRyYWNrLnRpdGxlID0gdGl0bGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5vcHRpb25zLmNhY2hlcy5lbmFibGVkICYmIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSA+IDApIHRoaXMuY2FjaGVzLnNldChzZWFyY2gsIHJlc3VsdCk7XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBTdHJpbmcoZXJyKSk7XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gaXNZb3VUdWJlVVJMKHVyaTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0XHRyZXR1cm4gdXJpLmluY2x1ZGVzKFwieW91dHViZS5jb21cIikgfHwgdXJpLmluY2x1ZGVzKFwieW91dHUuYmVcIik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIERlY29kZXMgdGhlIGJhc2U2NCBlbmNvZGVkIHRyYWNrcyBhbmQgcmV0dXJucyBhIFRyYWNrRGF0YSBhcnJheS5cblx0ICogQHBhcmFtIHRyYWNrc1xuXHQgKi9cblx0cHVibGljIGRlY29kZVRyYWNrcyh0cmFja3M6IHN0cmluZ1tdKTogUHJvbWlzZTxUcmFja0RhdGFbXT4ge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZShhc3luYyhyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdGNvbnN0IG5vZGUgPSB0aGlzLm5vZGVzLmZpcnN0KCk7XG5cdFx0XHRpZiAoIW5vZGUpIHtcblx0XHRcdFx0cmV0dXJuIHJlamVjdChuZXcgRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpKTtcblx0XHRcdH1cblx0XG5cdFx0XHRhd2FpdCBub2RlLnJlc3QucG9zdChcIi92NC9kZWNvZGV0cmFja3NcIiwgSlNPTi5zdHJpbmdpZnkodHJhY2tzKSlcblx0XHRcdFx0LnRoZW4oKHJlcykgPT4ge1xuXHRcdFx0XHRcdGlmICghcmVzKSByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcIk5vIGRhdGEgcmV0dXJuZWQgZnJvbSBxdWVyeS5cIikpO1xuXHRcdFx0XHRcdHJlc29sdmUocmVzIGFzIFRyYWNrRGF0YVtdKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKChlcnIpID0+IHJlamVjdChlcnIpKTtcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWNvZGVzIHRoZSBiYXNlNjQgZW5jb2RlZCB0cmFjayBhbmQgcmV0dXJucyBhIFRyYWNrRGF0YS5cblx0ICogQHBhcmFtIHRyYWNrXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgZGVjb2RlVHJhY2sodHJhY2s6IHN0cmluZyk6IFByb21pc2U8VHJhY2tEYXRhPiB7XG5cdFx0Y29uc3QgcmVzID0gYXdhaXQgdGhpcy5kZWNvZGVUcmFja3MoW3RyYWNrXSk7XG5cdFx0cmV0dXJuIHJlc1swXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgcGxheWVyIG9yIHJldHVybnMgb25lIGlmIGl0IGFscmVhZHkgZXhpc3RzLlxuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0cHVibGljIGNyZWF0ZShvcHRpb25zOiBQbGF5ZXJPcHRpb25zKTogUGxheWVyIHtcblx0XHRpZiAodGhpcy5wbGF5ZXJzLmhhcyhvcHRpb25zLmd1aWxkKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGxheWVycy5nZXQob3B0aW9ucy5ndWlsZCkgYXMgUGxheWVyO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgKFN0cnVjdHVyZS5nZXQoXCJQbGF5ZXJcIikpKG9wdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYSBwbGF5ZXIgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuXHQgKiBAcGFyYW0gZ3VpbGRcblx0ICovXG5cdHB1YmxpYyBnZXQoZ3VpbGQ6IHN0cmluZyk6IFBsYXllciB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucGxheWVycy5nZXQoZ3VpbGQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlc3Ryb3lzIGEgcGxheWVyIGlmIGl0IGV4aXN0cy5cblx0ICogQHBhcmFtIGd1aWxkXG5cdCAqL1xuXHRwdWJsaWMgZGVzdHJveShndWlsZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5wbGF5ZXJzLmRlbGV0ZShndWlsZCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5vZGUgb3IgcmV0dXJucyBvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlTm9kZShvcHRpb25zOiBOb2RlT3B0aW9ucyk6IE5vZGUge1xuXHRcdGlmICh0aGlzLm5vZGVzLmhhcyhvcHRpb25zLmlkZW50aWZpZXIgfHwgb3B0aW9ucy5ob3N0KSkge1xuXHRcdFx0cmV0dXJuIHRoaXMubm9kZXMuZ2V0KG9wdGlvbnMuaWRlbnRpZmllciB8fCBvcHRpb25zLmhvc3QpIGFzIE5vZGU7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG5ldyAoU3RydWN0dXJlLmdldChcIk5vZGVcIikpKG9wdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlc3Ryb3lzIGEgbm9kZSBpZiBpdCBleGlzdHMuXG5cdCAqIEBwYXJhbSBpZGVudGlmaWVyXG5cdCAqL1xuXHRwdWJsaWMgZGVzdHJveU5vZGUoaWRlbnRpZmllcjogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMubm9kZXMuZ2V0KGlkZW50aWZpZXIpO1xuXHRcdGlmICghbm9kZSkgcmV0dXJuO1xuXHRcdG5vZGUuZGVzdHJveSgpO1xuXHRcdHRoaXMubm9kZXMuZGVsZXRlKGlkZW50aWZpZXIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlbmRzIHZvaWNlIGRhdGEgdG8gdGhlIExhdmFsaW5rIHNlcnZlci5cblx0ICogQHBhcmFtIGRhdGFcblx0ICovXG5cdHB1YmxpYyBhc3luYyB1cGRhdGVWb2ljZVN0YXRlKGRhdGE6IFZvaWNlUGFja2V0IHwgVm9pY2VTZXJ2ZXIgfCBWb2ljZVN0YXRlKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKFwidFwiIGluIGRhdGEgJiYgIVtcIlZPSUNFX1NUQVRFX1VQREFURVwiLCBcIlZPSUNFX1NFUlZFUl9VUERBVEVcIl0uaW5jbHVkZXMoZGF0YS50ID8/IFwiXCIpKSByZXR1cm47XG5cblx0XHRjb25zdCB1cGRhdGUgPSBcImRcIiBpbiBkYXRhID8gZGF0YS5kIDogZGF0YTtcblxuXHRcdGlmICghdXBkYXRlIHx8ICghKFwidG9rZW5cIiBpbiB1cGRhdGUpICYmICEoXCJzZXNzaW9uX2lkXCIgaW4gdXBkYXRlKSkpIHJldHVybjtcblxuXHRcdGNvbnN0IHBsYXllciA9IHRoaXMucGxheWVycy5nZXQodXBkYXRlLmd1aWxkX2lkKTtcblxuXHRcdGlmICghcGxheWVyKSByZXR1cm47XG5cdFx0aWYgKFwidG9rZW5cIiBpbiB1cGRhdGUpIHtcblx0XHRcdHBsYXllci52b2ljZVN0YXRlLmV2ZW50ID0gdXBkYXRlO1xuXG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdHNlc3Npb25JZCxcblx0XHRcdFx0ZXZlbnQ6IHsgdG9rZW4sIGVuZHBvaW50IH0sXG5cdFx0XHR9ID0gcGxheWVyLnZvaWNlU3RhdGU7XG5cblx0XHRcdGF3YWl0IHBsYXllci5ub2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdFx0Z3VpbGRJZDogcGxheWVyLmd1aWxkLFxuXHRcdFx0XHRkYXRhOiB7IHZvaWNlOiB7IHRva2VuLCBlbmRwb2ludCwgc2Vzc2lvbklkOiBzZXNzaW9uSWQgPz8gXCJcIiwgY2hhbm5lbElkOiBwbGF5ZXIudm9pY2VDaGFubmVsID8/IFwiXCIgfSB9LFxuXHRcdFx0fSk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAodXBkYXRlLnVzZXJfaWQgIT09IHRoaXMub3B0aW9ucy5jbGllbnRJZCkgcmV0dXJuO1xuXHRcdGlmICh1cGRhdGUuY2hhbm5lbF9pZCkge1xuXHRcdFx0aWYgKHBsYXllci52b2ljZUNoYW5uZWwgIT09IHVwZGF0ZS5jaGFubmVsX2lkKSB7XG5cdFx0XHRcdHRoaXMuZW1pdChcIlBsYXllck1vdmVcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsLCB1cGRhdGUuY2hhbm5lbF9pZCk7XG5cdFx0XHR9XG5cblx0XHRcdHBsYXllci52b2ljZVN0YXRlLnNlc3Npb25JZCA9IHVwZGF0ZS5zZXNzaW9uX2lkO1xuXHRcdFx0cGxheWVyLnZvaWNlQ2hhbm5lbCA9IHVwZGF0ZS5jaGFubmVsX2lkO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuZW1pdChcIlBsYXllckRpc2Nvbm5lY3RcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsKTtcblx0XHRwbGF5ZXIudm9pY2VDaGFubmVsID0gbnVsbDtcblx0XHRwbGF5ZXIudm9pY2VTdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30pO1xuXHRcdHBsYXllci5kZXN0cm95KCk7XG5cdFx0cmV0dXJuO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZCB7XG5cdC8qKiBUaGUgT1AgY29kZSAqL1xuXHRvcDogbnVtYmVyO1xuXHRkOiB7XG5cdFx0Z3VpbGRfaWQ6IHN0cmluZztcblx0XHRjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsO1xuXHRcdHNlbGZfbXV0ZTogYm9vbGVhbjtcblx0XHRzZWxmX2RlYWY6IGJvb2xlYW47XG5cdH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlck9wdGlvbnMge1xuXHQvKiogVXNlIHByaW9yaXR5IG1vZGUgb3ZlciBsZWFzdCBhbW91bnQgb2YgcGxheWVyIG9yIGxvYWQ/ICovXG5cdHVzZVByaW9yaXR5PzogYm9vbGVhbjtcblx0LyoqIFVzZSB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMgb3IgbGVhc3QgbG9hZD8gKi9cblx0dXNlTm9kZT86IFwibGVhc3RMb2FkXCIgfCBcImxlYXN0UGxheWVyc1wiO1xuXHQvKiogVGhlIGFycmF5IG9mIG5vZGVzIHRvIGNvbm5lY3QgdG8uICovXG5cdG5vZGVzPzogTm9kZU9wdGlvbnNbXTtcblx0LyoqIFRoZSBjbGllbnQgSUQgdG8gdXNlLiAqL1xuXHRjbGllbnRJZD86IHN0cmluZztcblx0LyoqIFZhbHVlIHRvIHVzZSBmb3IgdGhlIGBDbGllbnQtTmFtZWAgaGVhZGVyLiAqL1xuXHRjbGllbnROYW1lPzogc3RyaW5nO1xuXHQvKiogVGhlIHNoYXJkIGNvdW50LiAqL1xuXHRzaGFyZHM/OiBudW1iZXI7XG5cdC8qKiBBIGFycmF5IG9mIHBsdWdpbnMgdG8gdXNlLiAqL1xuXHRwbHVnaW5zPzogUGx1Z2luW107XG5cdC8qKiBXaGV0aGVyIHBsYXllcnMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgcGxheSB0aGUgbmV4dCBzb25nLiAqL1xuXHRhdXRvUGxheT86IGJvb2xlYW47XG5cdC8qKiBBbiBhcnJheSBvZiB0cmFjayBwcm9wZXJ0aWVzIHRvIGtlZXAuIGB0cmFja2Agd2lsbCBhbHdheXMgYmUgcHJlc2VudC4gKi9cblx0dHJhY2tQYXJ0aWFsPzogc3RyaW5nW107XG5cdC8qKiBUaGUgZGVmYXVsdCBzZWFyY2ggcGxhdGZvcm0gdG8gdXNlLCBjYW4gYmUgXCJ5b3V0dWJlXCIsIFwieW91dHViZSBtdXNpY1wiLCBcInNvdW5kY2xvdWRcIiBvciBkZWV6ZXIuICovXG5cdGRlZmF1bHRTZWFyY2hQbGF0Zm9ybT86IFNlYXJjaFBsYXRmb3JtO1xuXHQvKiogV2hldGhlciB0aGUgWW91VHViZSB2aWRlbyB0aXRsZXMgc2hvdWxkIGJlIHJlcGxhY2VkIGlmIHRoZSBBdXRob3IgZG9lcyBub3QgZXhhY3RseSBtYXRjaC4gKi9cblx0cmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscz86IGJvb2xlYW47XG5cdGNhY2hlczoge1xuXHRcdC8qKiBXaGV0aGVyIHRvIGNhY2hlIHRoZSBzZWFyY2ggcmVzdWx0cy4gKi9cblx0XHRlbmFibGVkOiBib29sZWFuO1xuXHRcdC8qKiBUaGUgdGltZSB0byBjYWNoZSB0aGUgc2VhcmNoIHJlc3VsdHMuICovXG5cdFx0dGltZTogbnVtYmVyO1xuXHR9XG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBzZW5kIGRhdGEgdG8gdGhlIHdlYnNvY2tldC5cblx0ICogQHBhcmFtIGlkXG5cdCAqIEBwYXJhbSBwYXlsb2FkXG5cdCAqL1xuXHRzZW5kKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFBheWxvYWQpOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBTZWFyY2hQbGF0Zm9ybSA9IFwiZGVlemVyXCIgfCBcInNvdW5kY2xvdWRcIiB8IFwieW91dHViZSBtdXNpY1wiIHwgXCJ5b3V0dWJlXCIgfCBcInNwb3RpZnlcIiB8IFwiamlvc2Fhdm5cIiB8IFwidGlkYWxcIiB8IFwiYXBwbGVtdXNpY1wiIHwgXCJiYW5kY2FtcFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFF1ZXJ5IHtcblx0LyoqIFRoZSBzb3VyY2UgdG8gc2VhcmNoIGZyb20uICovXG5cdHNvdXJjZT86IFNlYXJjaFBsYXRmb3JtIHwgc3RyaW5nO1xuXHQvKiogVGhlIHF1ZXJ5IHRvIHNlYXJjaCBmb3IuICovXG5cdHF1ZXJ5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF2YWxpbmtSZXNwb25zZSB7XG5cdGxvYWRUeXBlOiBMb2FkVHlwZTtcblx0ZGF0YTogVHJhY2tEYXRhW10gfCBQbGF5bGlzdFJhd0RhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0IHtcblx0LyoqIFRoZSBsb2FkIHR5cGUgb2YgdGhlIHJlc3VsdC4gKi9cblx0bG9hZFR5cGU6IExvYWRUeXBlO1xuXHQvKiogVGhlIGFycmF5IG9mIHRyYWNrcyBmcm9tIHRoZSByZXN1bHQuICovXG5cdHRyYWNrczogVHJhY2tbXTtcblx0LyoqIFRoZSBwbGF5bGlzdCBpbmZvIGlmIHRoZSBsb2FkIHR5cGUgaXMgJ3BsYXlsaXN0Jy4gKi9cblx0cGxheWxpc3Q/OiBQbGF5bGlzdERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheWxpc3RSYXdEYXRhIHtcblx0aW5mbzoge1xuXHRcdC8qKiBUaGUgcGxheWxpc3QgbmFtZS4gKi9cblx0XHRuYW1lOiBzdHJpbmc7XG5cdH07XG5cdC8qKiBBZGRpdGlvbiBpbmZvIHByb3ZpZGVkIGJ5IHBsdWdpbnMuICovXG5cdHBsdWdpbkluZm86IG9iamVjdDtcblx0LyoqIFRoZSB0cmFja3Mgb2YgdGhlIHBsYXlsaXN0ICovXG5cdHRyYWNrczogVHJhY2tEYXRhW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheWxpc3REYXRhIHtcblx0LyoqIFRoZSBwbGF5bGlzdCBuYW1lLiAqL1xuXHRuYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgbGVuZ3RoIG9mIHRoZSBwbGF5bGlzdC4gKi9cblx0ZHVyYXRpb246IG51bWJlcjtcblx0LyoqIFRoZSBzb25ncyBvZiB0aGUgcGxheWxpc3QuICovXG5cdHRyYWNrczogVHJhY2tbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYW5hZ2VyRXZlbnRzIHtcblx0Tm9kZUNyZWF0ZTogKG5vZGU6IE5vZGUpID0+IHZvaWQ7XG5cdE5vZGVEZXN0cm95OiAobm9kZTogTm9kZSkgPT4gdm9pZDtcblx0Tm9kZUNvbm5lY3Q6IChub2RlOiBOb2RlKSA9PiB2b2lkO1xuXHROb2RlUmVjb25uZWN0OiAobm9kZTogTm9kZSkgPT4gdm9pZDtcblx0Tm9kZURpc2Nvbm5lY3Q6IChub2RlOiBOb2RlLCByZWFzb246IHsgY29kZT86IG51bWJlcjsgcmVhc29uPzogc3RyaW5nIH0pID0+IHZvaWQ7XG5cdE5vZGVFcnJvcjogKG5vZGU6IE5vZGUsIGVycm9yOiBFcnJvcikgPT4gdm9pZDtcblx0Tm9kZVJhdzogKHBheWxvYWQ6IHVua25vd24pID0+IHZvaWQ7XG5cdFBsYXllckNyZWF0ZTogKHBsYXllcjogUGxheWVyKSA9PiB2b2lkO1xuXHRQbGF5ZXJEZXN0cm95OiAocGxheWVyOiBQbGF5ZXIpID0+IHZvaWQ7XG5cdFBsYXllclN0YXRlVXBkYXRlOiAob2xkUGxheWVyOiBQbGF5ZXIsIG5ld1BsYXllcjogUGxheWVyKSA9PiB2b2lkO1xuXHRQbGF5ZXJNb3ZlOiAocGxheWVyOiBQbGF5ZXIsIGluaXRDaGFubmVsOiBzdHJpbmcsIG5ld0NoYW5uZWw6IHN0cmluZykgPT4gdm9pZDtcblx0UGxheWVyRGlzY29ubmVjdDogKHBsYXllcjogUGxheWVyLCBvbGRDaGFubmVsOiBzdHJpbmcpID0+IHZvaWQ7XG5cdFF1ZXVlRW5kOiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGF5bG9hZDogVHJhY2tFbmRFdmVudCkgPT4gdm9pZDtcblx0U29ja2V0Q2xvc2VkOiAocGxheWVyOiBQbGF5ZXIsIHBheWxvYWQ6IFdlYlNvY2tldENsb3NlZEV2ZW50KSA9PiB2b2lkO1xuXHRUcmFja1N0YXJ0OiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tTdGFydEV2ZW50KSA9PiB2b2lkO1xuXHRUcmFja0VuZDogKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpID0+IHZvaWQ7XG5cdFRyYWNrU3R1Y2s6IChwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrLCBwYXlsb2FkOiBUcmFja1N0dWNrRXZlbnQpID0+IHZvaWQ7XG5cdFRyYWNrRXJyb3I6IChwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrLCBwYXlsb2FkOiBUcmFja0V4Y2VwdGlvbkV2ZW50KSA9PiB2b2lkO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBY0EsSUFB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
@@ -8,7 +8,7 @@ export declare class Node {
8
8
  /** The socket for the node. */
9
9
  socket: WebSocket | null;
10
10
  /** The stats for the node. */
11
- stats: NodeStats;
11
+ stats: NodeStats | undefined;
12
12
  manager: Manager;
13
13
  /** The node's session ID. */
14
14
  sessionId: string | null;