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.
- package/LICENSE +21 -0
- package/NOTICE.txt +12 -0
- package/README.md +1 -7
- package/TikTok.txt +13 -0
- package/babel.config.json +6 -0
- package/bun.lock +686 -0
- package/dist/Structures/Filters.d.ts +5 -5
- package/dist/Structures/Filters.js +7 -7
- package/dist/Structures/Manager.d.ts +1 -1
- package/dist/Structures/Manager.js +40 -48
- package/dist/Structures/Node.d.ts +1 -1
- package/dist/Structures/Node.js +31 -19
- package/dist/Structures/Player.d.ts +1 -1
- package/dist/Structures/Player.js +64 -37
- package/dist/Structures/Queue.js +3 -2
- package/dist/Structures/Rest.d.ts +2 -0
- package/dist/Structures/Rest.js +5 -4
- package/dist/Structures/Utils.d.ts +1 -1
- package/dist/Structures/Utils.js +21 -19
- package/dist/Utils/ManagerCheck.js +2 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -12
- package/eslint.config.d.ts +2 -0
- package/eslint.config.js +12 -0
- package/ff.txt +3037 -0
- package/package.json +54 -24
- package/renovate.json +6 -0
- package/tsconfig.json +24 -0
- package/dist/Structures/TikTok.d.ts +0 -18
- package/dist/Structures/TikTok.js +0 -118
package/dist/Structures/Node.js
CHANGED
|
@@ -36,6 +36,8 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
36
36
|
_classCallCheck(this, Node);
|
|
37
37
|
/** The socket for the node. */
|
|
38
38
|
_defineProperty(this, "socket", null);
|
|
39
|
+
/** The node's session ID. */
|
|
40
|
+
_defineProperty(this, "sessionId", null);
|
|
39
41
|
_defineProperty(this, "reconnectAttempts", 1);
|
|
40
42
|
this.options = options;
|
|
41
43
|
if (!this.manager) this.manager = _Utils.Structure.get("Node")._manager;
|
|
@@ -122,7 +124,10 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
122
124
|
}, {
|
|
123
125
|
key: "destroy",
|
|
124
126
|
value: function destroy() {
|
|
125
|
-
var _this = this
|
|
127
|
+
var _this = this,
|
|
128
|
+
_this$socket,
|
|
129
|
+
_this$socket2,
|
|
130
|
+
_this$options$identif;
|
|
126
131
|
if (!this.connected) return;
|
|
127
132
|
var players = this.manager.players.filter(function (p) {
|
|
128
133
|
return p.node == _this;
|
|
@@ -130,22 +135,23 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
130
135
|
if (players.size) players.forEach(function (p) {
|
|
131
136
|
return p.destroy();
|
|
132
137
|
});
|
|
133
|
-
this.socket.close(1000, "destroy");
|
|
134
|
-
this.socket.removeAllListeners();
|
|
138
|
+
(_this$socket = this.socket) === null || _this$socket === void 0 || _this$socket.close(1000, "destroy");
|
|
139
|
+
(_this$socket2 = this.socket) === null || _this$socket2 === void 0 || _this$socket2.removeAllListeners();
|
|
135
140
|
this.socket = null;
|
|
136
141
|
this.reconnectAttempts = 1;
|
|
137
142
|
clearTimeout(this.reconnectTimeout);
|
|
138
143
|
this.manager.emit("NodeDestroy", this);
|
|
139
|
-
this.manager.destroyNode(this.options.identifier);
|
|
144
|
+
this.manager.destroyNode((_this$options$identif = this.options.identifier) !== null && _this$options$identif !== void 0 ? _this$options$identif : this.options.host);
|
|
140
145
|
}
|
|
141
146
|
}, {
|
|
142
147
|
key: "reconnect",
|
|
143
148
|
value: function reconnect() {
|
|
144
149
|
var _this2 = this;
|
|
145
150
|
this.reconnectTimeout = setTimeout(function () {
|
|
146
|
-
var _this2$socket;
|
|
147
|
-
if (_this2.reconnectAttempts >= _this2.options.retryAmount) {
|
|
148
|
-
var
|
|
151
|
+
var _this2$options$retryA, _this2$socket;
|
|
152
|
+
if (_this2.reconnectAttempts >= ((_this2$options$retryA = _this2.options.retryAmount) !== null && _this2$options$retryA !== void 0 ? _this2$options$retryA : 30)) {
|
|
153
|
+
var _this2$options$retryA2;
|
|
154
|
+
var error = new Error("Unable to connect after ".concat((_this2$options$retryA2 = _this2.options.retryAmount) !== null && _this2$options$retryA2 !== void 0 ? _this2$options$retryA2 : 30, " attempts."));
|
|
149
155
|
_this2.manager.emit("NodeError", _this2, error);
|
|
150
156
|
return _this2.destroy();
|
|
151
157
|
}
|
|
@@ -361,7 +367,8 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
361
367
|
key: "handleAutoplay",
|
|
362
368
|
value: function () {
|
|
363
369
|
var _handleAutoplay = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(player, track) {
|
|
364
|
-
var
|
|
370
|
+
var _previousTrack$uri4, _previousTrack$uri5;
|
|
371
|
+
var previousTrack, hasSpotifyURL, node, _res, info, isSpotifyPluginEnabled, isSpotifySourceManagerEnabled, _previousTrack$uri2, _previousTrack$plugin, _previousTrack$plugin2, trackID, artistID, identifier, recommendedResult, playlistData, recommendedTrack, hasYouTubeURL, videoID, _res2, randomIndex, searchURI, res, tracks, _res$playlist$tracks, _res$playlist, foundTrack, _foundTrack$title$spl, _foundTrack$title$spl2, author, title;
|
|
365
372
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
366
373
|
while (1) switch (_context3.prev = _context3.next) {
|
|
367
374
|
case 0:
|
|
@@ -373,7 +380,8 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
373
380
|
return _context3.abrupt("return");
|
|
374
381
|
case 3:
|
|
375
382
|
hasSpotifyURL = ["spotify.com", "open.spotify.com"].some(function (url) {
|
|
376
|
-
|
|
383
|
+
var _previousTrack$uri;
|
|
384
|
+
return (_previousTrack$uri = previousTrack.uri) === null || _previousTrack$uri === void 0 ? void 0 : _previousTrack$uri.includes(url);
|
|
377
385
|
});
|
|
378
386
|
if (!hasSpotifyURL) {
|
|
379
387
|
_context3.next = 28;
|
|
@@ -393,8 +401,8 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
393
401
|
_context3.next = 28;
|
|
394
402
|
break;
|
|
395
403
|
}
|
|
396
|
-
trackID = this.extractSpotifyTrackID(previousTrack.uri);
|
|
397
|
-
artistID = this.extractSpotifyArtistID(previousTrack.pluginInfo.artistUrl);
|
|
404
|
+
trackID = this.extractSpotifyTrackID((_previousTrack$uri2 = previousTrack.uri) !== null && _previousTrack$uri2 !== void 0 ? _previousTrack$uri2 : "");
|
|
405
|
+
artistID = this.extractSpotifyArtistID((_previousTrack$plugin = (_previousTrack$plugin2 = previousTrack.pluginInfo) === null || _previousTrack$plugin2 === void 0 ? void 0 : _previousTrack$plugin2.artistUrl) !== null && _previousTrack$plugin !== void 0 ? _previousTrack$plugin : "");
|
|
398
406
|
identifier = "";
|
|
399
407
|
if (trackID && artistID) {
|
|
400
408
|
identifier = "sprec:seed_artists=".concat(artistID, "&seed_tracks=").concat(trackID);
|
|
@@ -426,9 +434,10 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
426
434
|
return _context3.abrupt("return");
|
|
427
435
|
case 28:
|
|
428
436
|
hasYouTubeURL = ["youtube.com", "youtu.be"].some(function (url) {
|
|
429
|
-
|
|
437
|
+
var _previousTrack$uri3;
|
|
438
|
+
return (_previousTrack$uri3 = previousTrack.uri) === null || _previousTrack$uri3 === void 0 ? void 0 : _previousTrack$uri3.includes(url);
|
|
430
439
|
});
|
|
431
|
-
videoID = previousTrack.uri.substring(previousTrack.uri.indexOf("=") + 1);
|
|
440
|
+
videoID = ((_previousTrack$uri4 = previousTrack.uri) !== null && _previousTrack$uri4 !== void 0 ? _previousTrack$uri4 : "").substring(((_previousTrack$uri5 = previousTrack.uri) !== null && _previousTrack$uri5 !== void 0 ? _previousTrack$uri5 : "").indexOf("=") + 1);
|
|
432
441
|
if (hasYouTubeURL) {
|
|
433
442
|
_context3.next = 35;
|
|
434
443
|
break;
|
|
@@ -455,7 +464,7 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
455
464
|
case 41:
|
|
456
465
|
tracks = res.tracks;
|
|
457
466
|
if (res.loadType === "playlist") {
|
|
458
|
-
tracks = res.playlist.tracks;
|
|
467
|
+
tracks = (_res$playlist$tracks = (_res$playlist = res.playlist) === null || _res$playlist === void 0 ? void 0 : _res$playlist.tracks) !== null && _res$playlist$tracks !== void 0 ? _res$playlist$tracks : tracks;
|
|
459
468
|
}
|
|
460
469
|
foundTrack = tracks.sort(function () {
|
|
461
470
|
return Math.random() - 0.5;
|
|
@@ -491,8 +500,9 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
491
500
|
}, {
|
|
492
501
|
key: "handleFailedTrack",
|
|
493
502
|
value: function handleFailedTrack(player, track, payload) {
|
|
503
|
+
var _player$queue$shift;
|
|
494
504
|
player.queue.previous = player.queue.current;
|
|
495
|
-
player.queue.current = player.queue.shift();
|
|
505
|
+
player.queue.current = (_player$queue$shift = player.queue.shift()) !== null && _player$queue$shift !== void 0 ? _player$queue$shift : null;
|
|
496
506
|
if (!player.queue.current) {
|
|
497
507
|
this.queueEnd(player, track, payload);
|
|
498
508
|
return;
|
|
@@ -505,6 +515,7 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
505
515
|
}, {
|
|
506
516
|
key: "handleRepeatedTrack",
|
|
507
517
|
value: function handleRepeatedTrack(player, track, payload) {
|
|
518
|
+
var _queue$shift, _queue$shift2;
|
|
508
519
|
var queue = player.queue,
|
|
509
520
|
trackRepeat = player.trackRepeat,
|
|
510
521
|
queueRepeat = player.queueRepeat;
|
|
@@ -515,9 +526,9 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
515
526
|
queue.add(queue.current);
|
|
516
527
|
}
|
|
517
528
|
queue.previous = queue.current;
|
|
518
|
-
queue.current = queue.shift();
|
|
529
|
+
queue.current = (_queue$shift = queue.shift()) !== null && _queue$shift !== void 0 ? _queue$shift : null;
|
|
519
530
|
this.manager.emit("TrackEnd", player, track, payload);
|
|
520
|
-
if (payload.reason === "stopped" && !(queue.current = queue.shift())) {
|
|
531
|
+
if (payload.reason === "stopped" && !(queue.current = (_queue$shift2 = queue.shift()) !== null && _queue$shift2 !== void 0 ? _queue$shift2 : null)) {
|
|
521
532
|
this.queueEnd(player, track, payload);
|
|
522
533
|
return;
|
|
523
534
|
}
|
|
@@ -528,8 +539,9 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
528
539
|
}, {
|
|
529
540
|
key: "playNextTrack",
|
|
530
541
|
value: function playNextTrack(player, track, payload) {
|
|
542
|
+
var _player$queue$shift2;
|
|
531
543
|
player.queue.previous = player.queue.current;
|
|
532
|
-
player.queue.current = player.queue.shift();
|
|
544
|
+
player.queue.current = (_player$queue$shift2 = player.queue.shift()) !== null && _player$queue$shift2 !== void 0 ? _player$queue$shift2 : null;
|
|
533
545
|
this.manager.emit("TrackEnd", player, track, payload);
|
|
534
546
|
if (this.manager.options.autoPlay) player.play();
|
|
535
547
|
}
|
|
@@ -589,4 +601,4 @@ var Node = exports.Node = /*#__PURE__*/function () {
|
|
|
589
601
|
}
|
|
590
602
|
}]);
|
|
591
603
|
}();
|
|
592
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVXRpbHMiLCJyZXF1aXJlIiwiX1Jlc3QiLCJfTm9kZUNoZWNrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl93cyIsImUiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwiX3NsaWNlZFRvQXJyYXkiLCJyIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIlR5cGVFcnJvciIsImEiLCJfYXJyYXlMaWtlVG9BcnJheSIsInQiLCJ0b1N0cmluZyIsImNhbGwiLCJzbGljZSIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuZ3RoIiwibiIsImwiLCJpIiwidSIsImYiLCJuZXh0IiwiT2JqZWN0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImlzQXJyYXkiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiaGFzT3duUHJvcGVydHkiLCJkZWZpbmVQcm9wZXJ0eSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93Iiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9kZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIk5vZGUiLCJleHBvcnRzIiwib3B0aW9ucyIsIm1hbmFnZXIiLCJTdHJ1Y3R1cmUiLCJnZXQiLCJfbWFuYWdlciIsIlJhbmdlRXJyb3IiLCJub2RlcyIsImhhcyIsImlkZW50aWZpZXIiLCJob3N0Iiwibm9kZUNoZWNrIiwicG9ydCIsInBhc3N3b3JkIiwic2VjdXJlIiwicmV0cnlBbW91bnQiLCJyZXRyeURlbGF5IiwicHJpb3JpdHkiLCJzdGF0cyIsInBsYXllcnMiLCJwbGF5aW5nUGxheWVycyIsInVwdGltZSIsIm1lbW9yeSIsImZyZWUiLCJ1c2VkIiwiYWxsb2NhdGVkIiwicmVzZXJ2YWJsZSIsImNwdSIsImNvcmVzIiwic3lzdGVtTG9hZCIsImxhdmFsaW5rTG9hZCIsImZyYW1lU3RhdHMiLCJudWxsZWQiLCJkZWZpY2l0Iiwic2V0IiwiZW1pdCIsInJlc3QiLCJSZXN0Iiwic29ja2V0IiwicmVhZHlTdGF0ZSIsIldlYlNvY2tldCIsIk9QRU4iLCJjb25jYXQiLCJjb25uZWN0IiwiY29ubmVjdGVkIiwiaGVhZGVycyIsImFzc2lnbiIsIkF1dGhvcml6YXRpb24iLCJzaGFyZHMiLCJjbGllbnRJZCIsImNsaWVudE5hbWUiLCJhZGRyZXNzIiwib24iLCJvcGVuIiwiYmluZCIsImNsb3NlIiwibWVzc2FnZSIsImVycm9yIiwiZGVzdHJveSIsIl90aGlzIiwibm9kZSIsInNpemUiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJyZWNvbm5lY3RBdHRlbXB0cyIsImNsZWFyVGltZW91dCIsInJlY29ubmVjdFRpbWVvdXQiLCJkZXN0cm95Tm9kZSIsInJlY29ubmVjdCIsIl90aGlzMiIsInNldFRpbWVvdXQiLCJfdGhpczIkc29ja2V0IiwiZXJyIiwiY29uc29sZSIsImNvZGUiLCJyZWFzb24iLCJCdWZmZXIiLCJBcnJheUJ1ZmZlciIsInBheWxvYWQiLCJKU09OIiwicGFyc2UiLCJvcCIsInBsYXllciIsImd1aWxkSWQiLCJwb3NpdGlvbiIsInN0YXRlIiwiaGFuZGxlRXZlbnQiLCJzZXRTZXNzaW9uSWQiLCJzZXNzaW9uSWQiLCJyZXN1bWVTdGF0dXMiLCJwYXRjaCIsInJlc3VtaW5nIiwidGltZW91dCIsInJlc3VtZVRpbWVvdXQiLCJfaGFuZGxlRXZlbnQiLCJfY2FsbGVlIiwidHJhY2siLCJfcGxheWVyJG5vd1BsYXlpbmdNZXMiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicXVldWUiLCJjdXJyZW50IiwidDAiLCJ0cmFja1N0YXJ0Iiwibm93UGxheWluZ01lc3NhZ2UiLCJkZWxldGFibGUiLCJ0cmFja0VuZCIsInRyYWNrU3R1Y2siLCJ0cmFja0Vycm9yIiwic29ja2V0Q2xvc2VkIiwiX3giLCJwbGF5aW5nIiwicGF1c2VkIiwiX3RyYWNrRW5kIiwiX2NhbGxlZTIiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJpbmNsdWRlcyIsImhhbmRsZUZhaWxlZFRyYWNrIiwicHJldmlvdXMiLCJ0cmFja1JlcGVhdCIsInF1ZXVlUmVwZWF0IiwiaGFuZGxlUmVwZWF0ZWRUcmFjayIsInBsYXlOZXh0VHJhY2siLCJxdWV1ZUVuZCIsIl94MiIsIl94MyIsIl94NCIsImV4dHJhY3RTcG90aWZ5VHJhY2tJRCIsInVybCIsInJlZ2V4IiwibWF0Y2giLCJleHRyYWN0U3BvdGlmeUFydGlzdElEIiwiX2hhbmRsZUF1dG9wbGF5IiwiX2NhbGxlZTMiLCJwcmV2aW91c1RyYWNrIiwiaGFzU3BvdGlmeVVSTCIsIl9yZXMiLCJpbmZvIiwiaXNTcG90aWZ5UGx1Z2luRW5hYmxlZCIsImlzU3BvdGlmeVNvdXJjZU1hbmFnZXJFbmFibGVkIiwidHJhY2tJRCIsImFydGlzdElEIiwicmVjb21tZW5kZWRSZXN1bHQiLCJwbGF5bGlzdERhdGEiLCJyZWNvbW1lbmRlZFRyYWNrIiwiaGFzWW91VHViZVVSTCIsInZpZGVvSUQiLCJfcmVzMiIsInJhbmRvbUluZGV4Iiwic2VhcmNoVVJJIiwicmVzIiwidHJhY2tzIiwiZm91bmRUcmFjayIsIl9mb3VuZFRyYWNrJHRpdGxlJHNwbCIsIl9mb3VuZFRyYWNrJHRpdGxlJHNwbDIiLCJhdXRob3IiLCJ0aXRsZSIsIl9jYWxsZWUzJCIsIl9jb250ZXh0MyIsImlzQXV0b3BsYXkiLCJzb21lIiwidXJpIiwidXNlYWJsZU5vZGVzIiwicGx1Z2lucyIsInBsdWdpbiIsInNvdXJjZU1hbmFnZXJzIiwicGx1Z2luSW5mbyIsImFydGlzdFVybCIsImVuY29kZVVSSUNvbXBvbmVudCIsImxvYWRUeXBlIiwiZGF0YSIsImFkZCIsIlRyYWNrVXRpbHMiLCJidWlsZCIsInBsYXkiLCJzdWJzdHJpbmciLCJpbmRleE9mIiwic2VhcmNoIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwicGxheWxpc3QiLCJzb3J0IiwiZmluZCIsInNodWZmbGVkVHJhY2siLCJyZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzIiwicmVwbGFjZSIsInNwbGl0IiwibWFwIiwic3RyIiwidHJpbSIsImhhbmRsZUF1dG9wbGF5IiwiX3g1IiwiX3g2Iiwic2hpZnQiLCJhdXRvUGxheSIsInVuc2hpZnQiLCJfcXVldWVFbmQiLCJfY2FsbGVlNCIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsIl94NyIsIl94OCIsIl94OSIsImluaXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RydWN0dXJlcy9Ob2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdFBsYXllckV2ZW50LFxuXHRQbGF5ZXJFdmVudHMsXG5cdFN0cnVjdHVyZSxcblx0VHJhY2tFbmRFdmVudCxcblx0VHJhY2tFeGNlcHRpb25FdmVudCxcblx0VHJhY2tTdGFydEV2ZW50LFxuXHRUcmFja1N0dWNrRXZlbnQsXG5cdFRyYWNrVXRpbHMsXG5cdFdlYlNvY2tldENsb3NlZEV2ZW50LFxufSBmcm9tIFwiLi9VdGlsc1wiO1xuaW1wb3J0IHsgTGF2YWxpbmtSZXNwb25zZSwgTWFuYWdlciwgUGxheWxpc3RSYXdEYXRhIH0gZnJvbSBcIi4vTWFuYWdlclwiO1xuaW1wb3J0IHsgUGxheWVyLCBUcmFjaywgVW5yZXNvbHZlZFRyYWNrIH0gZnJvbSBcIi4vUGxheWVyXCI7XG5pbXBvcnQgeyBSZXN0IH0gZnJvbSBcIi4vUmVzdFwiO1xuaW1wb3J0IG5vZGVDaGVjayBmcm9tIFwiLi4vVXRpbHMvTm9kZUNoZWNrXCI7XG5pbXBvcnQgV2ViU29ja2V0IGZyb20gXCJ3c1wiO1xuXG5leHBvcnQgY2xhc3MgTm9kZSB7XG5cdC8qKiBUaGUgc29ja2V0IGZvciB0aGUgbm9kZS4gKi9cblx0cHVibGljIHNvY2tldDogV2ViU29ja2V0IHwgbnVsbCA9IG51bGw7XG5cdC8qKiBUaGUgc3RhdHMgZm9yIHRoZSBub2RlLiAqL1xuXHRwdWJsaWMgc3RhdHM6IE5vZGVTdGF0cztcblx0cHVibGljIG1hbmFnZXI6IE1hbmFnZXI7XG5cdC8qKiBUaGUgbm9kZSdzIHNlc3Npb24gSUQuICovXG5cdHB1YmxpYyBzZXNzaW9uSWQ6IHN0cmluZyB8IG51bGw7XG5cdC8qKiBUaGUgUkVTVCBpbnN0YW5jZS4gKi9cblx0cHVibGljIHJlYWRvbmx5IHJlc3Q6IFJlc3Q7XG5cblx0cHJpdmF0ZSBzdGF0aWMgX21hbmFnZXI6IE1hbmFnZXI7XG5cdHByaXZhdGUgcmVjb25uZWN0VGltZW91dD86IE5vZGVKUy5UaW1lb3V0O1xuXHRwcml2YXRlIHJlY29ubmVjdEF0dGVtcHRzID0gMTtcblxuXHQvKiogUmV0dXJucyBpZiBjb25uZWN0ZWQgdG8gdGhlIE5vZGUuICovXG5cdHB1YmxpYyBnZXQgY29ubmVjdGVkKCk6IGJvb2xlYW4ge1xuXHRcdGlmICghdGhpcy5zb2NrZXQpIHJldHVybiBmYWxzZTtcblx0XHRyZXR1cm4gdGhpcy5zb2NrZXQucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0Lk9QRU47XG5cdH1cblxuXHQvKiogUmV0dXJucyB0aGUgYWRkcmVzcyBmb3IgdGhpcyBub2RlLiAqL1xuXHRwdWJsaWMgZ2V0IGFkZHJlc3MoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYCR7dGhpcy5vcHRpb25zLmhvc3R9OiR7dGhpcy5vcHRpb25zLnBvcnR9YDtcblx0fVxuXG5cdC8qKiBAaGlkZGVuICovXG5cdHB1YmxpYyBzdGF0aWMgaW5pdChtYW5hZ2VyOiBNYW5hZ2VyKTogdm9pZCB7XG5cdFx0dGhpcy5fbWFuYWdlciA9IG1hbmFnZXI7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBOb2RlLlxuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0Y29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IE5vZGVPcHRpb25zKSB7XG5cdFx0aWYgKCF0aGlzLm1hbmFnZXIpIHRoaXMubWFuYWdlciA9IFN0cnVjdHVyZS5nZXQoXCJOb2RlXCIpLl9tYW5hZ2VyO1xuXHRcdGlmICghdGhpcy5tYW5hZ2VyKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk1hbmFnZXIgaGFzIG5vdCBiZWVuIGluaXRpYXRlZC5cIik7XG5cblx0XHRpZiAodGhpcy5tYW5hZ2VyLm5vZGVzLmhhcyhvcHRpb25zLmlkZW50aWZpZXIgfHwgb3B0aW9ucy5ob3N0KSkge1xuXHRcdFx0cmV0dXJuIHRoaXMubWFuYWdlci5ub2Rlcy5nZXQob3B0aW9ucy5pZGVudGlmaWVyIHx8IG9wdGlvbnMuaG9zdCk7XG5cdFx0fVxuXG5cdFx0bm9kZUNoZWNrKG9wdGlvbnMpO1xuXG5cdFx0dGhpcy5vcHRpb25zID0ge1xuXHRcdFx0cG9ydDogMjMzMyxcblx0XHRcdHBhc3N3b3JkOiBcInlvdXNoYWxsbm90cGFzc1wiLFxuXHRcdFx0c2VjdXJlOiBmYWxzZSxcblx0XHRcdHJldHJ5QW1vdW50OiAzMCxcblx0XHRcdHJldHJ5RGVsYXk6IDYwMDAwLFxuXHRcdFx0cHJpb3JpdHk6IDAsXG5cdFx0XHQuLi5vcHRpb25zLFxuXHRcdH07XG5cblx0XHRpZiAodGhpcy5vcHRpb25zLnNlY3VyZSkge1xuXHRcdFx0dGhpcy5vcHRpb25zLnBvcnQgPSA0NDM7XG5cdFx0fVxuXG5cdFx0dGhpcy5vcHRpb25zLmlkZW50aWZpZXIgPSBvcHRpb25zLmlkZW50aWZpZXIgfHwgb3B0aW9ucy5ob3N0O1xuXHRcdHRoaXMuc3RhdHMgPSB7XG5cdFx0XHRwbGF5ZXJzOiAwLFxuXHRcdFx0cGxheWluZ1BsYXllcnM6IDAsXG5cdFx0XHR1cHRpbWU6IDAsXG5cdFx0XHRtZW1vcnk6IHtcblx0XHRcdFx0ZnJlZTogMCxcblx0XHRcdFx0dXNlZDogMCxcblx0XHRcdFx0YWxsb2NhdGVkOiAwLFxuXHRcdFx0XHRyZXNlcnZhYmxlOiAwLFxuXHRcdFx0fSxcblx0XHRcdGNwdToge1xuXHRcdFx0XHRjb3JlczogMCxcblx0XHRcdFx0c3lzdGVtTG9hZDogMCxcblx0XHRcdFx0bGF2YWxpbmtMb2FkOiAwLFxuXHRcdFx0fSxcblx0XHRcdGZyYW1lU3RhdHM6IHtcblx0XHRcdFx0c2VudDogMCxcblx0XHRcdFx0bnVsbGVkOiAwLFxuXHRcdFx0XHRkZWZpY2l0OiAwLFxuXHRcdFx0fSxcblx0XHR9O1xuXG5cdFx0dGhpcy5tYW5hZ2VyLm5vZGVzLnNldCh0aGlzLm9wdGlvbnMuaWRlbnRpZmllciwgdGhpcyk7XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJOb2RlQ3JlYXRlXCIsIHRoaXMpO1xuXHRcdHRoaXMucmVzdCA9IG5ldyBSZXN0KHRoaXMpO1xuXHR9XG5cblx0LyoqIENvbm5lY3RzIHRvIHRoZSBOb2RlLiAqL1xuXHRwdWJsaWMgY29ubmVjdCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5jb25uZWN0ZWQpIHJldHVybjtcblxuXHRcdGNvbnN0IGhlYWRlcnMgPSBPYmplY3QuYXNzaWduKHtcblx0XHRcdEF1dGhvcml6YXRpb246IHRoaXMub3B0aW9ucy5wYXNzd29yZCxcblx0XHRcdFwiTnVtLVNoYXJkc1wiOiBTdHJpbmcodGhpcy5tYW5hZ2VyLm9wdGlvbnMuc2hhcmRzKSxcblx0XHRcdFwiVXNlci1JZFwiOiB0aGlzLm1hbmFnZXIub3B0aW9ucy5jbGllbnRJZCxcblx0XHRcdFwiQ2xpZW50LU5hbWVcIjogdGhpcy5tYW5hZ2VyLm9wdGlvbnMuY2xpZW50TmFtZSxcblx0XHR9KTtcblxuXHRcdHRoaXMuc29ja2V0ID0gbmV3IFdlYlNvY2tldChgd3Mke3RoaXMub3B0aW9ucy5zZWN1cmUgPyBcInNcIiA6IFwiXCJ9Oi8vJHt0aGlzLmFkZHJlc3N9L3Y0L3dlYnNvY2tldGAsIHsgaGVhZGVycyB9KTtcblx0XHR0aGlzLnNvY2tldC5vbihcIm9wZW5cIiwgdGhpcy5vcGVuLmJpbmQodGhpcykpO1xuXHRcdHRoaXMuc29ja2V0Lm9uKFwiY2xvc2VcIiwgdGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcblx0XHR0aGlzLnNvY2tldC5vbihcIm1lc3NhZ2VcIiwgdGhpcy5tZXNzYWdlLmJpbmQodGhpcykpO1xuXHRcdHRoaXMuc29ja2V0Lm9uKFwiZXJyb3JcIiwgdGhpcy5lcnJvci5iaW5kKHRoaXMpKTtcblx0fVxuXG5cdC8qKiBEZXN0cm95cyB0aGUgTm9kZSBhbmQgYWxsIHBsYXllcnMgY29ubmVjdGVkIHdpdGggaXQuICovXG5cdHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5jb25uZWN0ZWQpIHJldHVybjtcblxuXHRcdGNvbnN0IHBsYXllcnMgPSB0aGlzLm1hbmFnZXIucGxheWVycy5maWx0ZXIoKHApID0+IHAubm9kZSA9PSB0aGlzKTtcblx0XHRpZiAocGxheWVycy5zaXplKSBwbGF5ZXJzLmZvckVhY2goKHApID0+IHAuZGVzdHJveSgpKTtcblxuXHRcdHRoaXMuc29ja2V0LmNsb3NlKDEwMDAsIFwiZGVzdHJveVwiKTtcblx0XHR0aGlzLnNvY2tldC5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcblx0XHR0aGlzLnNvY2tldCA9IG51bGw7XG5cblx0XHR0aGlzLnJlY29ubmVjdEF0dGVtcHRzID0gMTtcblx0XHRjbGVhclRpbWVvdXQodGhpcy5yZWNvbm5lY3RUaW1lb3V0KTtcblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiTm9kZURlc3Ryb3lcIiwgdGhpcyk7XG5cdFx0dGhpcy5tYW5hZ2VyLmRlc3Ryb3lOb2RlKHRoaXMub3B0aW9ucy5pZGVudGlmaWVyKTtcblx0fVxuXG5cdHByaXZhdGUgcmVjb25uZWN0KCk6IHZvaWQge1xuXHRcdHRoaXMucmVjb25uZWN0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMucmVjb25uZWN0QXR0ZW1wdHMgPj0gdGhpcy5vcHRpb25zLnJldHJ5QW1vdW50KSB7XG5cdFx0XHRcdGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBVbmFibGUgdG8gY29ubmVjdCBhZnRlciAke3RoaXMub3B0aW9ucy5yZXRyeUFtb3VudH0gYXR0ZW1wdHMuYCk7XG5cblx0XHRcdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJOb2RlRXJyb3JcIiwgdGhpcywgZXJyb3IpO1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5kZXN0cm95KCk7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnNvY2tldD8ucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG5cdFx0XHR0aGlzLnNvY2tldCA9IG51bGw7XG5cdFx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIk5vZGVSZWNvbm5lY3RcIiwgdGhpcyk7XG5cdFx0XHR0aGlzLmNvbm5lY3QoKTtcblx0XHRcdHRoaXMucmVjb25uZWN0QXR0ZW1wdHMrKztcblx0XHR9LCB0aGlzLm9wdGlvbnMucmV0cnlEZWxheSkgYXMgdW5rbm93biBhcyBOb2RlSlMuVGltZW91dDtcblx0fVxuXG5cdHByb3RlY3RlZCBvcGVuKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnJlY29ubmVjdFRpbWVvdXQpIGNsZWFyVGltZW91dCh0aGlzLnJlY29ubmVjdFRpbWVvdXQpO1xuXHRcdHRyeSB7XG5cdFx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIk5vZGVDb25uZWN0XCIsIHRoaXMpO1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0Y29uc29sZS5lcnJvcihcIkVycm9yIGVtaXR0aW5nIE5vZGVDb25uZWN0IGV2ZW50OlwiLCBlcnIpO1xuXHRcdH1cblx0fVxuXHRcblxuXHRwcm90ZWN0ZWQgY2xvc2UoY29kZTogbnVtYmVyLCByZWFzb246IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiTm9kZURpc2Nvbm5lY3RcIiwgdGhpcywgeyBjb2RlLCByZWFzb24gfSk7XG5cdFx0aWYgKGNvZGUgIT09IDEwMDAgfHwgcmVhc29uICE9PSBcImRlc3Ryb3lcIikgdGhpcy5yZWNvbm5lY3QoKTtcblx0fVxuXG5cdHByb3RlY3RlZCBlcnJvcihlcnJvcjogRXJyb3IpOiB2b2lkIHtcblx0XHRpZiAoIWVycm9yKSByZXR1cm47XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJOb2RlRXJyb3JcIiwgdGhpcywgZXJyb3IpO1xuXHR9XG5cblx0cHJvdGVjdGVkIG1lc3NhZ2UoZDogQnVmZmVyIHwgc3RyaW5nKTogdm9pZCB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkoZCkpIGQgPSBCdWZmZXIuY29uY2F0KGQpO1xuXHRcdGVsc2UgaWYgKGQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgZCA9IEJ1ZmZlci5mcm9tKGQpO1xuXG5cdFx0Y29uc3QgcGF5bG9hZCA9IEpTT04ucGFyc2UoZC50b1N0cmluZygpKTtcblxuXHRcdGlmICghcGF5bG9hZC5vcCkgcmV0dXJuO1xuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiTm9kZVJhd1wiLCBwYXlsb2FkKTtcblxuXHRcdGxldCBwbGF5ZXI6IFBsYXllcjtcblxuXHRcdHN3aXRjaCAocGF5bG9hZC5vcCkge1xuXHRcdFx0Y2FzZSBcInN0YXRzXCI6XG5cdFx0XHRcdGRlbGV0ZSBwYXlsb2FkLm9wO1xuXHRcdFx0XHR0aGlzLnN0YXRzID0geyAuLi5wYXlsb2FkIH0gYXMgdW5rbm93biBhcyBOb2RlU3RhdHM7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcInBsYXllclVwZGF0ZVwiOlxuXHRcdFx0XHRwbGF5ZXIgPSB0aGlzLm1hbmFnZXIucGxheWVycy5nZXQocGF5bG9hZC5ndWlsZElkKTtcblx0XHRcdFx0aWYgKHBsYXllcikgcGxheWVyLnBvc2l0aW9uID0gcGF5bG9hZC5zdGF0ZS5wb3NpdGlvbiB8fCAwO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJldmVudFwiOlxuXHRcdFx0XHR0aGlzLmhhbmRsZUV2ZW50KHBheWxvYWQpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJyZWFkeVwiOlxuXHRcdFx0XHR0aGlzLnJlc3Quc2V0U2Vzc2lvbklkKHBheWxvYWQuc2Vzc2lvbklkKTtcblx0XHRcdFx0dGhpcy5zZXNzaW9uSWQgPSBwYXlsb2FkLnNlc3Npb25JZDtcblxuXHRcdFx0XHRpZiAodGhpcy5vcHRpb25zLnJlc3VtZVN0YXR1cykge1xuXHRcdFx0XHRcdHRoaXMucmVzdC5wYXRjaChgL3Y0L3Nlc3Npb25zLyR7dGhpcy5zZXNzaW9uSWR9YCwge1xuXHRcdFx0XHRcdFx0cmVzdW1pbmc6IHRoaXMub3B0aW9ucy5yZXN1bWVTdGF0dXMsXG5cdFx0XHRcdFx0XHR0aW1lb3V0OiB0aGlzLm9wdGlvbnMucmVzdW1lVGltZW91dCxcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHRoaXMubWFuYWdlci5lbWl0KFwiTm9kZUVycm9yXCIsIHRoaXMsIG5ldyBFcnJvcihgVW5leHBlY3RlZCBvcCBcIiR7cGF5bG9hZC5vcH1cIiB3aXRoIGRhdGE6ICR7cGF5bG9hZC5tZXNzYWdlfWApKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBhc3luYyBoYW5kbGVFdmVudChwYXlsb2FkOiBQbGF5ZXJFdmVudCAmIFBsYXllckV2ZW50cyk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICghcGF5bG9hZC5ndWlsZElkKSByZXR1cm47XG5cblx0XHRjb25zdCBwbGF5ZXIgPSB0aGlzLm1hbmFnZXIucGxheWVycy5nZXQocGF5bG9hZC5ndWlsZElkKTtcblx0XHRpZiAoIXBsYXllcikgcmV0dXJuO1xuXG5cdFx0Y29uc3QgdHJhY2sgPSBwbGF5ZXIucXVldWUuY3VycmVudDtcblx0XHRjb25zdCB0eXBlID0gcGF5bG9hZC50eXBlO1xuXG5cdFx0bGV0IGVycm9yOiBFcnJvcjtcblx0XHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRcdGNhc2UgXCJUcmFja1N0YXJ0RXZlbnRcIjpcblx0XHRcdFx0dGhpcy50cmFja1N0YXJ0KHBsYXllciwgdHJhY2sgYXMgVHJhY2ssIHBheWxvYWQpO1xuXHRcdFx0XHRicmVhaztcblxuXHRcdFx0Y2FzZSBcIlRyYWNrRW5kRXZlbnRcIjpcblx0XHRcdFx0aWYgKHBsYXllcj8ubm93UGxheWluZ01lc3NhZ2UgJiYgcGxheWVyPy5ub3dQbGF5aW5nTWVzc2FnZS5kZWxldGFibGUpIHtcblx0XHRcdFx0XHRhd2FpdCBwbGF5ZXI/Lm5vd1BsYXlpbmdNZXNzYWdlPy5kZWxldGUoKS5jYXRjaCgoKSA9PiB7fSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLnRyYWNrRW5kKHBsYXllciwgdHJhY2sgYXMgVHJhY2ssIHBheWxvYWQpO1xuXHRcdFx0XHRicmVhaztcblxuXHRcdFx0Y2FzZSBcIlRyYWNrU3R1Y2tFdmVudFwiOlxuXHRcdFx0XHR0aGlzLnRyYWNrU3R1Y2socGxheWVyLCB0cmFjayBhcyBUcmFjaywgcGF5bG9hZCk7XG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRjYXNlIFwiVHJhY2tFeGNlcHRpb25FdmVudFwiOlxuXHRcdFx0XHR0aGlzLnRyYWNrRXJyb3IocGxheWVyLCB0cmFjaywgcGF5bG9hZCk7XG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRjYXNlIFwiV2ViU29ja2V0Q2xvc2VkRXZlbnRcIjpcblx0XHRcdFx0dGhpcy5zb2NrZXRDbG9zZWQocGxheWVyLCBwYXlsb2FkKTtcblx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGVycm9yID0gbmV3IEVycm9yKGBOb2RlI2V2ZW50IHVua25vd24gZXZlbnQgJyR7dHlwZX0nLmApO1xuXHRcdFx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIk5vZGVFcnJvclwiLCB0aGlzLCBlcnJvcik7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCB0cmFja1N0YXJ0KHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrU3RhcnRFdmVudCk6IHZvaWQge1xuXHRcdHBsYXllci5wbGF5aW5nID0gdHJ1ZTtcblx0XHRwbGF5ZXIucGF1c2VkID0gZmFsc2U7XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJUcmFja1N0YXJ0XCIsIHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIHRyYWNrRW5kKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCB7IHJlYXNvbiB9ID0gcGF5bG9hZDtcblxuXHRcdC8vIElmIHRoZSB0cmFjayBmYWlsZWQgdG8gbG9hZCBvciB3YXMgY2xlYW5lZCB1cFxuXHRcdGlmIChbXCJsb2FkRmFpbGVkXCIsIFwiY2xlYW51cFwiXS5pbmNsdWRlcyhyZWFzb24pKSB7XG5cdFx0XHR0aGlzLmhhbmRsZUZhaWxlZFRyYWNrKHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdH1cblx0XHQvLyBJZiB0aGUgdHJhY2sgd2FzIGZvcmNpYmx5IHJlcGxhY2VkXG5cdFx0ZWxzZSBpZiAocmVhc29uID09PSBcInJlcGxhY2VkXCIpIHtcblx0XHRcdHRoaXMubWFuYWdlci5lbWl0KFwiVHJhY2tFbmRcIiwgcGxheWVyLCB0cmFjaywgcGF5bG9hZCk7XG5cdFx0XHRwbGF5ZXIucXVldWUucHJldmlvdXMgPSBwbGF5ZXIucXVldWUuY3VycmVudDtcblx0XHR9XG5cdFx0Ly8gSWYgdGhlIHRyYWNrIGVuZGVkIGFuZCBpdCdzIHNldCB0byByZXBlYXQgKHRyYWNrIG9yIHF1ZXVlKVxuXHRcdGVsc2UgaWYgKHRyYWNrICYmIChwbGF5ZXIudHJhY2tSZXBlYXQgfHwgcGxheWVyLnF1ZXVlUmVwZWF0KSkge1xuXHRcdFx0dGhpcy5oYW5kbGVSZXBlYXRlZFRyYWNrKHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdH1cblx0XHQvLyBJZiB0aGVyZSdzIGFub3RoZXIgdHJhY2sgaW4gdGhlIHF1ZXVlXG5cdFx0ZWxzZSBpZiAocGxheWVyLnF1ZXVlLmxlbmd0aCkge1xuXHRcdFx0dGhpcy5wbGF5TmV4dFRyYWNrKHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdH1cblx0XHQvLyBJZiB0aGVyZSBhcmUgbm8gbW9yZSB0cmFja3MgaW4gdGhlIHF1ZXVlXG5cdFx0ZWxzZSB7XG5cdFx0XHRhd2FpdCB0aGlzLnF1ZXVlRW5kKHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBleHRyYWN0U3BvdGlmeVRyYWNrSUQodXJsOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcblx0XHRjb25zdCByZWdleCA9IC9odHRwczpcXC9cXC9vcGVuXFwuc3BvdGlmeVxcLmNvbVxcL3RyYWNrXFwvKFthLXpBLVowLTldKykvO1xuXHRcdGNvbnN0IG1hdGNoID0gdXJsLm1hdGNoKHJlZ2V4KTtcblx0XHRyZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6IG51bGw7XG5cdH1cblxuXHRwdWJsaWMgZXh0cmFjdFNwb3RpZnlBcnRpc3RJRCh1cmw6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuXHRcdGNvbnN0IHJlZ2V4ID0gL2h0dHBzOlxcL1xcL29wZW5cXC5zcG90aWZ5XFwuY29tXFwvYXJ0aXN0XFwvKFthLXpBLVowLTldKykvO1xuXHRcdGNvbnN0IG1hdGNoID0gdXJsLm1hdGNoKHJlZ2V4KTtcblx0XHRyZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6IG51bGw7XG5cdH1cblxuXHQvLyBIYW5kbGUgYXV0b3BsYXlcblx0cHJpdmF0ZSBhc3luYyBoYW5kbGVBdXRvcGxheShwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrKSB7XG5cdFx0Y29uc3QgcHJldmlvdXNUcmFjayA9IHBsYXllci5xdWV1ZS5wcmV2aW91cztcblxuXHRcdGlmICghcGxheWVyLmlzQXV0b3BsYXkgfHwgIXByZXZpb3VzVHJhY2spIHJldHVybjtcblxuXHRcdGNvbnN0IGhhc1Nwb3RpZnlVUkwgPSBbXCJzcG90aWZ5LmNvbVwiLCBcIm9wZW4uc3BvdGlmeS5jb21cIl0uc29tZSgodXJsKSA9PiBwcmV2aW91c1RyYWNrLnVyaS5pbmNsdWRlcyh1cmwpKTtcblxuXHRcdGlmIChoYXNTcG90aWZ5VVJMKSB7XG5cdFx0XHRjb25zdCBub2RlID0gdGhpcy5tYW5hZ2VyLnVzZWFibGVOb2RlcztcblxuXHRcdFx0Y29uc3QgcmVzID0gYXdhaXQgbm9kZS5yZXN0LmdldChgL3Y0L2luZm9gKTtcblx0XHRcdGNvbnN0IGluZm8gPSByZXMgYXMgTGF2YWxpbmtJbmZvO1xuXG5cdFx0XHRjb25zdCBpc1Nwb3RpZnlQbHVnaW5FbmFibGVkID0gaW5mby5wbHVnaW5zLnNvbWUoKHBsdWdpbjogeyBuYW1lOiBzdHJpbmcgfSkgPT4gcGx1Z2luLm5hbWUgPT09IFwibGF2YXNyYy1wbHVnaW5cIik7XG5cdFx0XHRjb25zdCBpc1Nwb3RpZnlTb3VyY2VNYW5hZ2VyRW5hYmxlZCA9IGluZm8uc291cmNlTWFuYWdlcnMuaW5jbHVkZXMoXCJzcG90aWZ5XCIpO1xuXG5cdFx0XHRpZiAoaXNTcG90aWZ5UGx1Z2luRW5hYmxlZCAmJiBpc1Nwb3RpZnlTb3VyY2VNYW5hZ2VyRW5hYmxlZCkge1xuXHRcdFx0XHRjb25zdCB0cmFja0lEID0gdGhpcy5leHRyYWN0U3BvdGlmeVRyYWNrSUQocHJldmlvdXNUcmFjay51cmkpO1xuXHRcdFx0XHRjb25zdCBhcnRpc3RJRCA9IHRoaXMuZXh0cmFjdFNwb3RpZnlBcnRpc3RJRChwcmV2aW91c1RyYWNrLnBsdWdpbkluZm8uYXJ0aXN0VXJsKTtcblxuXHRcdFx0XHRsZXQgaWRlbnRpZmllciA9IFwiXCI7XG5cdFx0XHRcdGlmICh0cmFja0lEICYmIGFydGlzdElEKSB7XG5cdFx0XHRcdFx0aWRlbnRpZmllciA9IGBzcHJlYzpzZWVkX2FydGlzdHM9JHthcnRpc3RJRH0mc2VlZF90cmFja3M9JHt0cmFja0lEfWA7XG5cdFx0XHRcdH0gZWxzZSBpZiAodHJhY2tJRCkge1xuXHRcdFx0XHRcdGlkZW50aWZpZXIgPSBgc3ByZWM6c2VlZF90cmFja3M9JHt0cmFja0lEfWA7XG5cdFx0XHRcdH0gZWxzZSBpZiAoYXJ0aXN0SUQpIHtcblx0XHRcdFx0XHRpZGVudGlmaWVyID0gYHNwcmVjOnNlZWRfYXJ0aXN0cz0ke2FydGlzdElEfWA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoaWRlbnRpZmllcikge1xuXHRcdFx0XHRcdGNvbnN0IHJlY29tbWVuZGVkUmVzdWx0ID0gKGF3YWl0IG5vZGUucmVzdC5nZXQoYC92NC9sb2FkdHJhY2tzP2lkZW50aWZpZXI9JHtlbmNvZGVVUklDb21wb25lbnQoaWRlbnRpZmllcil9YCkpIGFzIExhdmFsaW5rUmVzcG9uc2U7XG5cblx0XHRcdFx0XHRpZiAocmVjb21tZW5kZWRSZXN1bHQubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRcdFx0Y29uc3QgcGxheWxpc3REYXRhID0gcmVjb21tZW5kZWRSZXN1bHQuZGF0YSBhcyBQbGF5bGlzdFJhd0RhdGE7XG5cdFx0XHRcdFx0XHRjb25zdCByZWNvbW1lbmRlZFRyYWNrID0gcGxheWxpc3REYXRhLnRyYWNrc1swXTtcblxuXHRcdFx0XHRcdFx0aWYgKHJlY29tbWVuZGVkVHJhY2spIHtcblx0XHRcdFx0XHRcdFx0cGxheWVyLnF1ZXVlLmFkZChUcmFja1V0aWxzLmJ1aWxkKHJlY29tbWVuZGVkVHJhY2ssIHBsYXllci5nZXQoXCJJbnRlcm5hbF9Cb3RVc2VyXCIpKSk7XG5cdFx0XHRcdFx0XHRcdHBsYXllci5wbGF5KCk7XG5cdFx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRjb25zdCBoYXNZb3VUdWJlVVJMID0gW1wieW91dHViZS5jb21cIiwgXCJ5b3V0dS5iZVwiXS5zb21lKCh1cmwpID0+IHByZXZpb3VzVHJhY2sudXJpLmluY2x1ZGVzKHVybCkpO1xuXG5cdFx0bGV0IHZpZGVvSUQgPSBwcmV2aW91c1RyYWNrLnVyaS5zdWJzdHJpbmcocHJldmlvdXNUcmFjay51cmkuaW5kZXhPZihcIj1cIikgKyAxKTtcblxuXHRcdGlmICghaGFzWW91VHViZVVSTCkge1xuXHRcdFx0Y29uc3QgcmVzID0gYXdhaXQgcGxheWVyLnNlYXJjaChgJHtwcmV2aW91c1RyYWNrLmF1dGhvcn0gLSAke3ByZXZpb3VzVHJhY2sudGl0bGV9YCwgcGxheWVyLmdldChcIkludGVybmFsX0JvdFVzZXJcIikpO1xuXG5cdFx0XHR2aWRlb0lEID0gcmVzLnRyYWNrc1swXS51cmkuc3Vic3RyaW5nKHJlcy50cmFja3NbMF0udXJpLmluZGV4T2YoXCI9XCIpICsgMSk7XG5cdFx0fVxuXG5cdFx0bGV0IHJhbmRvbUluZGV4OiBudW1iZXI7XG5cdFx0bGV0IHNlYXJjaFVSSTogc3RyaW5nO1xuXG5cdFx0ZG8ge1xuXHRcdFx0cmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyMykgKyAyO1xuXHRcdFx0c2VhcmNoVVJJID0gYGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9JHt2aWRlb0lEfSZsaXN0PVJEJHt2aWRlb0lEfSZpbmRleD0ke3JhbmRvbUluZGV4fWA7XG5cdFx0fSB3aGlsZSAodHJhY2sudXJpLmluY2x1ZGVzKHNlYXJjaFVSSSkpO1xuXG5cdFx0Y29uc3QgcmVzID0gYXdhaXQgcGxheWVyLnNlYXJjaChzZWFyY2hVUkksIHBsYXllci5nZXQoXCJJbnRlcm5hbF9Cb3RVc2VyXCIpKTtcblxuXHRcdGlmIChyZXMubG9hZFR5cGUgPT09IFwiZW1wdHlcIiB8fCByZXMubG9hZFR5cGUgPT09IFwiZXJyb3JcIikgcmV0dXJuO1xuXG5cdFx0bGV0IHRyYWNrcyA9IHJlcy50cmFja3M7XG5cblx0XHRpZiAocmVzLmxvYWRUeXBlID09PSBcInBsYXlsaXN0XCIpIHtcblx0XHRcdHRyYWNrcyA9IHJlcy5wbGF5bGlzdC50cmFja3M7XG5cdFx0fVxuXG5cdFx0Y29uc3QgZm91bmRUcmFjayA9IHRyYWNrcy5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpLmZpbmQoKHNodWZmbGVkVHJhY2spID0+IHNodWZmbGVkVHJhY2sudXJpICE9PSB0cmFjay51cmkpO1xuXG5cdFx0aWYgKGZvdW5kVHJhY2spIHtcblx0XHRcdGlmICh0aGlzLm1hbmFnZXIub3B0aW9ucy5yZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzKSB7XG5cdFx0XHRcdGZvdW5kVHJhY2suYXV0aG9yID0gZm91bmRUcmFjay5hdXRob3IucmVwbGFjZShcIi0gVG9waWNcIiwgXCJcIik7XG5cdFx0XHRcdGZvdW5kVHJhY2sudGl0bGUgPSBmb3VuZFRyYWNrLnRpdGxlLnJlcGxhY2UoXCJUb3BpYyAtXCIsIFwiXCIpO1xuXG5cdFx0XHRcdGlmIChmb3VuZFRyYWNrLnRpdGxlLmluY2x1ZGVzKFwiLVwiKSkge1xuXHRcdFx0XHRcdGNvbnN0IFthdXRob3IsIHRpdGxlXSA9IGZvdW5kVHJhY2sudGl0bGUuc3BsaXQoXCItXCIpLm1hcCgoc3RyOiBzdHJpbmcpID0+IHN0ci50cmltKCkpO1xuXHRcdFx0XHRcdGZvdW5kVHJhY2suYXV0aG9yID0gYXV0aG9yO1xuXHRcdFx0XHRcdGZvdW5kVHJhY2sudGl0bGUgPSB0aXRsZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cGxheWVyLnF1ZXVlLmFkZChmb3VuZFRyYWNrKTtcblx0XHRcdHBsYXllci5wbGF5KCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSGFuZGxlIHRoZSBjYXNlIHdoZW4gYSB0cmFjayBmYWlsZWQgdG8gbG9hZCBvciB3YXMgY2xlYW5lZCB1cFxuXHRwcml2YXRlIGhhbmRsZUZhaWxlZFRyYWNrKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpOiB2b2lkIHtcblx0XHRwbGF5ZXIucXVldWUucHJldmlvdXMgPSBwbGF5ZXIucXVldWUuY3VycmVudDtcblx0XHRwbGF5ZXIucXVldWUuY3VycmVudCA9IHBsYXllci5xdWV1ZS5zaGlmdCgpO1xuXG5cdFx0aWYgKCFwbGF5ZXIucXVldWUuY3VycmVudCkge1xuXHRcdFx0dGhpcy5xdWV1ZUVuZChwbGF5ZXIsIHRyYWNrLCBwYXlsb2FkKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlRyYWNrRW5kXCIsIHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdGlmICh0aGlzLm1hbmFnZXIub3B0aW9ucy5hdXRvUGxheSkgcGxheWVyLnBsYXkoKTtcblx0fVxuXG5cdC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVuIGEgdHJhY2sgZW5kZWQgYW5kIGl0J3Mgc2V0IHRvIHJlcGVhdCAodHJhY2sgb3IgcXVldWUpXG5cdHByaXZhdGUgaGFuZGxlUmVwZWF0ZWRUcmFjayhwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrLCBwYXlsb2FkOiBUcmFja0VuZEV2ZW50KTogdm9pZCB7XG5cdFx0Y29uc3QgeyBxdWV1ZSwgdHJhY2tSZXBlYXQsIHF1ZXVlUmVwZWF0IH0gPSBwbGF5ZXI7XG5cdFx0Y29uc3QgeyBhdXRvUGxheSB9ID0gdGhpcy5tYW5hZ2VyLm9wdGlvbnM7XG5cblx0XHRpZiAodHJhY2tSZXBlYXQpIHtcblx0XHRcdHF1ZXVlLnVuc2hpZnQocXVldWUuY3VycmVudCk7XG5cdFx0fSBlbHNlIGlmIChxdWV1ZVJlcGVhdCkge1xuXHRcdFx0cXVldWUuYWRkKHF1ZXVlLmN1cnJlbnQpO1xuXHRcdH1cblxuXHRcdHF1ZXVlLnByZXZpb3VzID0gcXVldWUuY3VycmVudDtcblx0XHRxdWV1ZS5jdXJyZW50ID0gcXVldWUuc2hpZnQoKTtcblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiVHJhY2tFbmRcIiwgcGxheWVyLCB0cmFjaywgcGF5bG9hZCk7XG5cblx0XHRpZiAocGF5bG9hZC5yZWFzb24gPT09IFwic3RvcHBlZFwiICYmICEocXVldWUuY3VycmVudCA9IHF1ZXVlLnNoaWZ0KCkpKSB7XG5cdFx0XHR0aGlzLnF1ZXVlRW5kKHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmIChhdXRvUGxheSkgcGxheWVyLnBsYXkoKTtcblx0fVxuXG5cdC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVuIHRoZXJlJ3MgYW5vdGhlciB0cmFjayBpbiB0aGUgcXVldWVcblx0cHJpdmF0ZSBwbGF5TmV4dFRyYWNrKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpOiB2b2lkIHtcblx0XHRwbGF5ZXIucXVldWUucHJldmlvdXMgPSBwbGF5ZXIucXVldWUuY3VycmVudDtcblx0XHRwbGF5ZXIucXVldWUuY3VycmVudCA9IHBsYXllci5xdWV1ZS5zaGlmdCgpO1xuXG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJUcmFja0VuZFwiLCBwbGF5ZXIsIHRyYWNrLCBwYXlsb2FkKTtcblx0XHRpZiAodGhpcy5tYW5hZ2VyLm9wdGlvbnMuYXV0b1BsYXkpIHBsYXllci5wbGF5KCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYXN5bmMgcXVldWVFbmQocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tFbmRFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHBsYXllci5xdWV1ZS5wcmV2aW91cyA9IHBsYXllci5xdWV1ZS5jdXJyZW50O1xuXHRcdHBsYXllci5xdWV1ZS5jdXJyZW50ID0gbnVsbDtcblxuXHRcdGlmICghcGxheWVyLmlzQXV0b3BsYXkpIHtcblx0XHRcdHBsYXllci5xdWV1ZS5wcmV2aW91cyA9IHBsYXllci5xdWV1ZS5jdXJyZW50O1xuXHRcdFx0cGxheWVyLnF1ZXVlLmN1cnJlbnQgPSBudWxsO1xuXHRcdFx0cGxheWVyLnBsYXlpbmcgPSBmYWxzZTtcblx0XHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUXVldWVFbmRcIiwgcGxheWVyLCB0cmFjaywgcGF5bG9hZCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0YXdhaXQgdGhpcy5oYW5kbGVBdXRvcGxheShwbGF5ZXIsIHRyYWNrKTtcblx0fVxuXG5cdHByb3RlY3RlZCB0cmFja1N0dWNrKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrU3R1Y2tFdmVudCk6IHZvaWQge1xuXHRcdHBsYXllci5zdG9wKCk7XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJUcmFja1N0dWNrXCIsIHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIHRyYWNrRXJyb3IocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGF5bG9hZDogVHJhY2tFeGNlcHRpb25FdmVudCk6IHZvaWQge1xuXHRcdHBsYXllci5zdG9wKCk7XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJUcmFja0Vycm9yXCIsIHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIHNvY2tldENsb3NlZChwbGF5ZXI6IFBsYXllciwgcGF5bG9hZDogV2ViU29ja2V0Q2xvc2VkRXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlNvY2tldENsb3NlZFwiLCBwbGF5ZXIsIHBheWxvYWQpO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZU9wdGlvbnMge1xuXHQvKiogVGhlIGhvc3QgZm9yIHRoZSBub2RlLiAqL1xuXHRob3N0OiBzdHJpbmc7XG5cdC8qKiBUaGUgcG9ydCBmb3IgdGhlIG5vZGUuICovXG5cdHBvcnQ/OiBudW1iZXI7XG5cdC8qKiBUaGUgcGFzc3dvcmQgZm9yIHRoZSBub2RlLiAqL1xuXHRwYXNzd29yZD86IHN0cmluZztcblx0LyoqIFdoZXRoZXIgdGhlIGhvc3QgdXNlcyBTU0wuICovXG5cdHNlY3VyZT86IGJvb2xlYW47XG5cdC8qKiBUaGUgaWRlbnRpZmllciBmb3IgdGhlIG5vZGUuICovXG5cdGlkZW50aWZpZXI/OiBzdHJpbmc7XG5cdC8qKiBUaGUgcmV0cnlBbW91bnQgZm9yIHRoZSBub2RlLiAqL1xuXHRyZXRyeUFtb3VudD86IG51bWJlcjtcblx0LyoqIFRoZSByZXRyeURlbGF5IGZvciB0aGUgbm9kZS4gKi9cblx0cmV0cnlEZWxheT86IG51bWJlcjtcblx0LyoqIFdoZXRoZXIgdG8gcmVzdW1lIHRoZSBwcmV2aW91cyBzZXNzaW9uLiAqL1xuXHRyZXN1bWVTdGF0dXM/OiBib29sZWFuO1xuXHQvKiogVGhlIHRpbWUgdGhlIG1hbmFnZXIgd2lsbCB3YWl0IGJlZm9yZSB0cnlpbmcgdG8gcmVzdW1lIHRoZSBwcmV2aW91cyBzZXNzaW9uLiAqL1xuXHRyZXN1bWVUaW1lb3V0PzogbnVtYmVyO1xuXHQvKiogVGhlIHRpbWVvdXQgdXNlZCBmb3IgYXBpIGNhbGxzLiAqL1xuXHRyZXF1ZXN0VGltZW91dD86IG51bWJlcjtcblx0LyoqIFByaW9yaXR5IG9mIHRoZSBub2RlLiAqL1xuXHRwcmlvcml0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb2RlU3RhdHMge1xuXHQvKiogVGhlIGFtb3VudCBvZiBwbGF5ZXJzIG9uIHRoZSBub2RlLiAqL1xuXHRwbGF5ZXJzOiBudW1iZXI7XG5cdC8qKiBUaGUgYW1vdW50IG9mIHBsYXlpbmcgcGxheWVycyBvbiB0aGUgbm9kZS4gKi9cblx0cGxheWluZ1BsYXllcnM6IG51bWJlcjtcblx0LyoqIFRoZSB1cHRpbWUgZm9yIHRoZSBub2RlLiAqL1xuXHR1cHRpbWU6IG51bWJlcjtcblx0LyoqIFRoZSBtZW1vcnkgc3RhdHMgZm9yIHRoZSBub2RlLiAqL1xuXHRtZW1vcnk6IE1lbW9yeVN0YXRzO1xuXHQvKiogVGhlIGNwdSBzdGF0cyBmb3IgdGhlIG5vZGUuICovXG5cdGNwdTogQ1BVU3RhdHM7XG5cdC8qKiBUaGUgZnJhbWUgc3RhdHMgZm9yIHRoZSBub2RlLiAqL1xuXHRmcmFtZVN0YXRzOiBGcmFtZVN0YXRzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbW9yeVN0YXRzIHtcblx0LyoqIFRoZSBmcmVlIG1lbW9yeSBvZiB0aGUgYWxsb2NhdGVkIGFtb3VudC4gKi9cblx0ZnJlZTogbnVtYmVyO1xuXHQvKiogVGhlIHVzZWQgbWVtb3J5IG9mIHRoZSBhbGxvY2F0ZWQgYW1vdW50LiAqL1xuXHR1c2VkOiBudW1iZXI7XG5cdC8qKiBUaGUgdG90YWwgYWxsb2NhdGVkIG1lbW9yeS4gKi9cblx0YWxsb2NhdGVkOiBudW1iZXI7XG5cdC8qKiBUaGUgcmVzZXJ2YWJsZSBtZW1vcnkuICovXG5cdHJlc2VydmFibGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDUFVTdGF0cyB7XG5cdC8qKiBUaGUgY29yZSBhbW91bnQgdGhlIGhvc3QgbWFjaGluZSBoYXMuICovXG5cdGNvcmVzOiBudW1iZXI7XG5cdC8qKiBUaGUgc3lzdGVtIGxvYWQuICovXG5cdHN5c3RlbUxvYWQ6IG51bWJlcjtcblx0LyoqIFRoZSBsYXZhbGluayBsb2FkLiAqL1xuXHRsYXZhbGlua0xvYWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGcmFtZVN0YXRzIHtcblx0LyoqIFRoZSBhbW91bnQgb2Ygc2VudCBmcmFtZXMuICovXG5cdHNlbnQ/OiBudW1iZXI7XG5cdC8qKiBUaGUgYW1vdW50IG9mIG51bGxlZCBmcmFtZXMuICovXG5cdG51bGxlZD86IG51bWJlcjtcblx0LyoqIFRoZSBhbW91bnQgb2YgZGVmaWNpdCBmcmFtZXMuICovXG5cdGRlZmljaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF2YWxpbmtJbmZvIHtcblx0dmVyc2lvbjogeyBzZW12ZXI6IHN0cmluZzsgbWFqb3I6IG51bWJlcjsgbWlub3I6IG51bWJlcjsgcGF0Y2g6IG51bWJlcjsgcHJlUmVsZWFzZTogc3RyaW5nIH07XG5cdGJ1aWxkVGltZTogbnVtYmVyO1xuXHRnaXQ6IHsgYnJhbmNoOiBzdHJpbmc7IGNvbW1pdDogc3RyaW5nOyBjb21taXRUaW1lOiBudW1iZXIgfTtcblx0anZtOiBzdHJpbmc7XG5cdGxhdmFwbGF5ZXI6IHN0cmluZztcblx0c291cmNlTWFuYWdlcnM6IHN0cmluZ1tdO1xuXHRmaWx0ZXJzOiBzdHJpbmdbXTtcblx0cGx1Z2luczogeyBuYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZyB9W107XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQWFBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLEdBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUEyQixTQUFBRyx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFHLFdBQUEsS0FBQUYsTUFBQSxJQUFBRCxDQUFBLEtBQUFDLE1BQUEsQ0FBQUcsU0FBQSxxQkFBQUosQ0FBQSxLQUFBRCxPQUFBLENBQUFDLENBQUE7QUFBQSxTQUFBSyxlQUFBQyxDQUFBLEVBQUFULENBQUEsV0FBQVUsZUFBQSxDQUFBRCxDQUFBLEtBQUFFLHFCQUFBLENBQUFGLENBQUEsRUFBQVQsQ0FBQSxLQUFBWSwyQkFBQSxDQUFBSCxDQUFBLEVBQUFULENBQUEsS0FBQWEsZ0JBQUE7QUFBQSxTQUFBQSxpQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUYsNEJBQUFILENBQUEsRUFBQU0sQ0FBQSxRQUFBTixDQUFBLDJCQUFBQSxDQUFBLFNBQUFPLGlCQUFBLENBQUFQLENBQUEsRUFBQU0sQ0FBQSxPQUFBRSxDQUFBLE1BQUFDLFFBQUEsQ0FBQUMsSUFBQSxDQUFBVixDQUFBLEVBQUFXLEtBQUEsNkJBQUFILENBQUEsSUFBQVIsQ0FBQSxDQUFBSCxXQUFBLEtBQUFXLENBQUEsR0FB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
|
|
604
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVXRpbHMiLCJyZXF1aXJlIiwiX1Jlc3QiLCJfTm9kZUNoZWNrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl93cyIsImUiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwiX3NsaWNlZFRvQXJyYXkiLCJyIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIlR5cGVFcnJvciIsImEiLCJfYXJyYXlMaWtlVG9BcnJheSIsInQiLCJ0b1N0cmluZyIsImNhbGwiLCJzbGljZSIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuZ3RoIiwibiIsImwiLCJpIiwidSIsImYiLCJuZXh0IiwiT2JqZWN0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImlzQXJyYXkiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiaGFzT3duUHJvcGVydHkiLCJkZWZpbmVQcm9wZXJ0eSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93Iiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9kZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIk5vZGUiLCJleHBvcnRzIiwib3B0aW9ucyIsIm1hbmFnZXIiLCJTdHJ1Y3R1cmUiLCJnZXQiLCJfbWFuYWdlciIsIlJhbmdlRXJyb3IiLCJub2RlcyIsImhhcyIsImlkZW50aWZpZXIiLCJob3N0Iiwibm9kZUNoZWNrIiwicG9ydCIsInBhc3N3b3JkIiwic2VjdXJlIiwicmV0cnlBbW91bnQiLCJyZXRyeURlbGF5IiwicHJpb3JpdHkiLCJzdGF0cyIsInBsYXllcnMiLCJwbGF5aW5nUGxheWVycyIsInVwdGltZSIsIm1lbW9yeSIsImZyZWUiLCJ1c2VkIiwiYWxsb2NhdGVkIiwicmVzZXJ2YWJsZSIsImNwdSIsImNvcmVzIiwic3lzdGVtTG9hZCIsImxhdmFsaW5rTG9hZCIsImZyYW1lU3RhdHMiLCJudWxsZWQiLCJkZWZpY2l0Iiwic2V0IiwiZW1pdCIsInJlc3QiLCJSZXN0Iiwic29ja2V0IiwicmVhZHlTdGF0ZSIsIldlYlNvY2tldCIsIk9QRU4iLCJjb25jYXQiLCJjb25uZWN0IiwiY29ubmVjdGVkIiwiaGVhZGVycyIsImFzc2lnbiIsIkF1dGhvcml6YXRpb24iLCJzaGFyZHMiLCJjbGllbnRJZCIsImNsaWVudE5hbWUiLCJhZGRyZXNzIiwib24iLCJvcGVuIiwiYmluZCIsImNsb3NlIiwibWVzc2FnZSIsImVycm9yIiwiZGVzdHJveSIsIl90aGlzIiwiX3RoaXMkc29ja2V0IiwiX3RoaXMkc29ja2V0MiIsIl90aGlzJG9wdGlvbnMkaWRlbnRpZiIsIm5vZGUiLCJzaXplIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwicmVjb25uZWN0QXR0ZW1wdHMiLCJjbGVhclRpbWVvdXQiLCJyZWNvbm5lY3RUaW1lb3V0IiwiZGVzdHJveU5vZGUiLCJyZWNvbm5lY3QiLCJfdGhpczIiLCJzZXRUaW1lb3V0IiwiX3RoaXMyJG9wdGlvbnMkcmV0cnlBIiwiX3RoaXMyJHNvY2tldCIsIl90aGlzMiRvcHRpb25zJHJldHJ5QTIiLCJlcnIiLCJjb25zb2xlIiwiY29kZSIsInJlYXNvbiIsIkJ1ZmZlciIsIkFycmF5QnVmZmVyIiwicGF5bG9hZCIsIkpTT04iLCJwYXJzZSIsIm9wIiwicGxheWVyIiwiZ3VpbGRJZCIsInBvc2l0aW9uIiwic3RhdGUiLCJoYW5kbGVFdmVudCIsInNldFNlc3Npb25JZCIsInNlc3Npb25JZCIsInJlc3VtZVN0YXR1cyIsInBhdGNoIiwicmVzdW1pbmciLCJ0aW1lb3V0IiwicmVzdW1lVGltZW91dCIsIl9oYW5kbGVFdmVudCIsIl9jYWxsZWUiLCJ0cmFjayIsIl9wbGF5ZXIkbm93UGxheWluZ01lcyIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJxdWV1ZSIsImN1cnJlbnQiLCJ0MCIsInRyYWNrU3RhcnQiLCJub3dQbGF5aW5nTWVzc2FnZSIsImRlbGV0YWJsZSIsInRyYWNrRW5kIiwidHJhY2tTdHVjayIsInRyYWNrRXJyb3IiLCJzb2NrZXRDbG9zZWQiLCJfeCIsInBsYXlpbmciLCJwYXVzZWQiLCJfdHJhY2tFbmQiLCJfY2FsbGVlMiIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImluY2x1ZGVzIiwiaGFuZGxlRmFpbGVkVHJhY2siLCJwcmV2aW91cyIsInRyYWNrUmVwZWF0IiwicXVldWVSZXBlYXQiLCJoYW5kbGVSZXBlYXRlZFRyYWNrIiwicGxheU5leHRUcmFjayIsInF1ZXVlRW5kIiwiX3gyIiwiX3gzIiwiX3g0IiwiZXh0cmFjdFNwb3RpZnlUcmFja0lEIiwidXJsIiwicmVnZXgiLCJtYXRjaCIsImV4dHJhY3RTcG90aWZ5QXJ0aXN0SUQiLCJfaGFuZGxlQXV0b3BsYXkiLCJfY2FsbGVlMyIsIl9wcmV2aW91c1RyYWNrJHVyaTQiLCJfcHJldmlvdXNUcmFjayR1cmk1IiwicHJldmlvdXNUcmFjayIsImhhc1Nwb3RpZnlVUkwiLCJfcmVzIiwiaW5mbyIsImlzU3BvdGlmeVBsdWdpbkVuYWJsZWQiLCJpc1Nwb3RpZnlTb3VyY2VNYW5hZ2VyRW5hYmxlZCIsIl9wcmV2aW91c1RyYWNrJHVyaTIiLCJfcHJldmlvdXNUcmFjayRwbHVnaW4iLCJfcHJldmlvdXNUcmFjayRwbHVnaW4yIiwidHJhY2tJRCIsImFydGlzdElEIiwicmVjb21tZW5kZWRSZXN1bHQiLCJwbGF5bGlzdERhdGEiLCJyZWNvbW1lbmRlZFRyYWNrIiwiaGFzWW91VHViZVVSTCIsInZpZGVvSUQiLCJfcmVzMiIsInJhbmRvbUluZGV4Iiwic2VhcmNoVVJJIiwicmVzIiwidHJhY2tzIiwiX3JlcyRwbGF5bGlzdCR0cmFja3MiLCJfcmVzJHBsYXlsaXN0IiwiZm91bmRUcmFjayIsIl9mb3VuZFRyYWNrJHRpdGxlJHNwbCIsIl9mb3VuZFRyYWNrJHRpdGxlJHNwbDIiLCJhdXRob3IiLCJ0aXRsZSIsIl9jYWxsZWUzJCIsIl9jb250ZXh0MyIsImlzQXV0b3BsYXkiLCJzb21lIiwiX3ByZXZpb3VzVHJhY2skdXJpIiwidXJpIiwidXNlYWJsZU5vZGVzIiwicGx1Z2lucyIsInBsdWdpbiIsInNvdXJjZU1hbmFnZXJzIiwicGx1Z2luSW5mbyIsImFydGlzdFVybCIsImVuY29kZVVSSUNvbXBvbmVudCIsImxvYWRUeXBlIiwiZGF0YSIsImFkZCIsIlRyYWNrVXRpbHMiLCJidWlsZCIsInBsYXkiLCJfcHJldmlvdXNUcmFjayR1cmkzIiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsInNlYXJjaCIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsInBsYXlsaXN0Iiwic29ydCIsImZpbmQiLCJzaHVmZmxlZFRyYWNrIiwicmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscyIsInJlcGxhY2UiLCJzcGxpdCIsIm1hcCIsInN0ciIsInRyaW0iLCJoYW5kbGVBdXRvcGxheSIsIl94NSIsIl94NiIsIl9wbGF5ZXIkcXVldWUkc2hpZnQiLCJzaGlmdCIsImF1dG9QbGF5IiwiX3F1ZXVlJHNoaWZ0IiwiX3F1ZXVlJHNoaWZ0MiIsInVuc2hpZnQiLCJfcGxheWVyJHF1ZXVlJHNoaWZ0MiIsIl9xdWV1ZUVuZCIsIl9jYWxsZWU0IiwiX2NhbGxlZTQkIiwiX2NvbnRleHQ0IiwiX3g3IiwiX3g4IiwiX3g5IiwiaW5pdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdHJ1Y3R1cmVzL05vZGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0UGxheWVyRXZlbnQsXG5cdFBsYXllckV2ZW50cyxcblx0U3RydWN0dXJlLFxuXHRUcmFja0VuZEV2ZW50LFxuXHRUcmFja0V4Y2VwdGlvbkV2ZW50LFxuXHRUcmFja1N0YXJ0RXZlbnQsXG5cdFRyYWNrU3R1Y2tFdmVudCxcblx0VHJhY2tVdGlscyxcblx0V2ViU29ja2V0Q2xvc2VkRXZlbnQsXG59IGZyb20gXCIuL1V0aWxzXCI7XG5pbXBvcnQgeyBMYXZhbGlua1Jlc3BvbnNlLCBNYW5hZ2VyLCBQbGF5bGlzdFJhd0RhdGEgfSBmcm9tIFwiLi9NYW5hZ2VyXCI7XG5pbXBvcnQgeyBQbGF5ZXIsIFRyYWNrLCBVbnJlc29sdmVkVHJhY2sgfSBmcm9tIFwiLi9QbGF5ZXJcIjtcbmltcG9ydCB7IFJlc3QgfSBmcm9tIFwiLi9SZXN0XCI7XG5pbXBvcnQgbm9kZUNoZWNrIGZyb20gXCIuLi9VdGlscy9Ob2RlQ2hlY2tcIjtcbmltcG9ydCBXZWJTb2NrZXQgZnJvbSBcIndzXCI7XG5cbmV4cG9ydCBjbGFzcyBOb2RlIHtcblx0LyoqIFRoZSBzb2NrZXQgZm9yIHRoZSBub2RlLiAqL1xuXHRwdWJsaWMgc29ja2V0OiBXZWJTb2NrZXQgfCBudWxsID0gbnVsbDtcblx0LyoqIFRoZSBzdGF0cyBmb3IgdGhlIG5vZGUuICovXG5cdHB1YmxpYyBzdGF0czogTm9kZVN0YXRzIHwgdW5kZWZpbmVkO1xuXHRwdWJsaWMgbWFuYWdlciE6IE1hbmFnZXI7XG5cdC8qKiBUaGUgbm9kZSdzIHNlc3Npb24gSUQuICovXG5cdHB1YmxpYyBzZXNzaW9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXHQvKiogVGhlIFJFU1QgaW5zdGFuY2UuICovXG5cdHB1YmxpYyByZWFkb25seSByZXN0ITogUmVzdDtcblxuXHRwcml2YXRlIHN0YXRpYyBfbWFuYWdlcjogTWFuYWdlcjtcblx0cHJpdmF0ZSByZWNvbm5lY3RUaW1lb3V0PzogTm9kZUpTLlRpbWVvdXQ7XG5cdHByaXZhdGUgcmVjb25uZWN0QXR0ZW1wdHMgPSAxO1xuXG5cdC8qKiBSZXR1cm5zIGlmIGNvbm5lY3RlZCB0byB0aGUgTm9kZS4gKi9cblx0cHVibGljIGdldCBjb25uZWN0ZWQoKTogYm9vbGVhbiB7XG5cdFx0aWYgKCF0aGlzLnNvY2tldCkgcmV0dXJuIGZhbHNlO1xuXHRcdHJldHVybiB0aGlzLnNvY2tldC5yZWFkeVN0YXRlID09PSBXZWJTb2NrZXQuT1BFTjtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIHRoZSBhZGRyZXNzIGZvciB0aGlzIG5vZGUuICovXG5cdHB1YmxpYyBnZXQgYWRkcmVzcygpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgJHt0aGlzLm9wdGlvbnMuaG9zdH06JHt0aGlzLm9wdGlvbnMucG9ydH1gO1xuXHR9XG5cblx0LyoqIEBoaWRkZW4gKi9cblx0cHVibGljIHN0YXRpYyBpbml0KG1hbmFnZXI6IE1hbmFnZXIpOiB2b2lkIHtcblx0XHR0aGlzLl9tYW5hZ2VyID0gbWFuYWdlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIE5vZGUuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihwdWJsaWMgb3B0aW9uczogTm9kZU9wdGlvbnMpIHtcblx0XHRpZiAoIXRoaXMubWFuYWdlcikgdGhpcy5tYW5hZ2VyID0gU3RydWN0dXJlLmdldChcIk5vZGVcIikuX21hbmFnZXI7XG5cdFx0aWYgKCF0aGlzLm1hbmFnZXIpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiTWFuYWdlciBoYXMgbm90IGJlZW4gaW5pdGlhdGVkLlwiKTtcblxuXHRcdGlmICh0aGlzLm1hbmFnZXIubm9kZXMuaGFzKG9wdGlvbnMuaWRlbnRpZmllciB8fCBvcHRpb25zLmhvc3QpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5tYW5hZ2VyLm5vZGVzLmdldChvcHRpb25zLmlkZW50aWZpZXIgfHwgb3B0aW9ucy5ob3N0KSBhcyB0aGlzO1xuXHRcdH1cblxuXHRcdG5vZGVDaGVjayhvcHRpb25zKTtcblxuXHRcdHRoaXMub3B0aW9ucyA9IHtcblx0XHRcdHBvcnQ6IDIzMzMsXG5cdFx0XHRwYXNzd29yZDogXCJ5b3VzaGFsbG5vdHBhc3NcIixcblx0XHRcdHNlY3VyZTogZmFsc2UsXG5cdFx0XHRyZXRyeUFtb3VudDogMzAsXG5cdFx0XHRyZXRyeURlbGF5OiA2MDAwMCxcblx0XHRcdHByaW9yaXR5OiAwLFxuXHRcdFx0Li4ub3B0aW9ucyxcblx0XHR9O1xuXG5cdFx0aWYgKHRoaXMub3B0aW9ucy5zZWN1cmUpIHtcblx0XHRcdHRoaXMub3B0aW9ucy5wb3J0ID0gNDQzO1xuXHRcdH1cblxuXHRcdHRoaXMub3B0aW9ucy5pZGVudGlmaWVyID0gb3B0aW9ucy5pZGVudGlmaWVyIHx8IG9wdGlvbnMuaG9zdDtcblx0XHR0aGlzLnN0YXRzID0ge1xuXHRcdFx0cGxheWVyczogMCxcblx0XHRcdHBsYXlpbmdQbGF5ZXJzOiAwLFxuXHRcdFx0dXB0aW1lOiAwLFxuXHRcdFx0bWVtb3J5OiB7XG5cdFx0XHRcdGZyZWU6IDAsXG5cdFx0XHRcdHVzZWQ6IDAsXG5cdFx0XHRcdGFsbG9jYXRlZDogMCxcblx0XHRcdFx0cmVzZXJ2YWJsZTogMCxcblx0XHRcdH0sXG5cdFx0XHRjcHU6IHtcblx0XHRcdFx0Y29yZXM6IDAsXG5cdFx0XHRcdHN5c3RlbUxvYWQ6IDAsXG5cdFx0XHRcdGxhdmFsaW5rTG9hZDogMCxcblx0XHRcdH0sXG5cdFx0XHRmcmFtZVN0YXRzOiB7XG5cdFx0XHRcdHNlbnQ6IDAsXG5cdFx0XHRcdG51bGxlZDogMCxcblx0XHRcdFx0ZGVmaWNpdDogMCxcblx0XHRcdH0sXG5cdFx0fTtcblxuXHRcdHRoaXMubWFuYWdlci5ub2Rlcy5zZXQodGhpcy5vcHRpb25zLmlkZW50aWZpZXIsIHRoaXMpO1xuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiTm9kZUNyZWF0ZVwiLCB0aGlzKTtcblx0XHR0aGlzLnJlc3QgPSBuZXcgUmVzdCh0aGlzKTtcblx0fVxuXG5cdC8qKiBDb25uZWN0cyB0byB0aGUgTm9kZS4gKi9cblx0cHVibGljIGNvbm5lY3QoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuY29ubmVjdGVkKSByZXR1cm47XG5cblx0XHRjb25zdCBoZWFkZXJzID0gT2JqZWN0LmFzc2lnbih7XG5cdFx0XHRBdXRob3JpemF0aW9uOiB0aGlzLm9wdGlvbnMucGFzc3dvcmQsXG5cdFx0XHRcIk51bS1TaGFyZHNcIjogU3RyaW5nKHRoaXMubWFuYWdlci5vcHRpb25zLnNoYXJkcyksXG5cdFx0XHRcIlVzZXItSWRcIjogdGhpcy5tYW5hZ2VyLm9wdGlvbnMuY2xpZW50SWQsXG5cdFx0XHRcIkNsaWVudC1OYW1lXCI6IHRoaXMubWFuYWdlci5vcHRpb25zLmNsaWVudE5hbWUsXG5cdFx0fSk7XG5cblx0XHR0aGlzLnNvY2tldCA9IG5ldyBXZWJTb2NrZXQoYHdzJHt0aGlzLm9wdGlvbnMuc2VjdXJlID8gXCJzXCIgOiBcIlwifTovLyR7dGhpcy5hZGRyZXNzfS92NC93ZWJzb2NrZXRgLCB7IGhlYWRlcnMgfSk7XG5cdFx0dGhpcy5zb2NrZXQub24oXCJvcGVuXCIsIHRoaXMub3Blbi5iaW5kKHRoaXMpKTtcblx0XHR0aGlzLnNvY2tldC5vbihcImNsb3NlXCIsIHRoaXMuY2xvc2UuYmluZCh0aGlzKSk7XG5cdFx0dGhpcy5zb2NrZXQub24oXCJtZXNzYWdlXCIsIHRoaXMubWVzc2FnZS5iaW5kKHRoaXMpKTtcblx0XHR0aGlzLnNvY2tldC5vbihcImVycm9yXCIsIHRoaXMuZXJyb3IuYmluZCh0aGlzKSk7XG5cdH1cblxuXHQvKiogRGVzdHJveXMgdGhlIE5vZGUgYW5kIGFsbCBwbGF5ZXJzIGNvbm5lY3RlZCB3aXRoIGl0LiAqL1xuXHRwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuY29ubmVjdGVkKSByZXR1cm47XG5cblx0XHRjb25zdCBwbGF5ZXJzID0gdGhpcy5tYW5hZ2VyLnBsYXllcnMuZmlsdGVyKChwKSA9PiBwLm5vZGUgPT0gdGhpcyk7XG5cdFx0aWYgKHBsYXllcnMuc2l6ZSkgcGxheWVycy5mb3JFYWNoKChwKSA9PiBwLmRlc3Ryb3koKSk7XG5cblx0XHR0aGlzLnNvY2tldD8uY2xvc2UoMTAwMCwgXCJkZXN0cm95XCIpO1xuXHRcdHRoaXMuc29ja2V0Py5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcblx0XHR0aGlzLnNvY2tldCA9IG51bGw7XG5cblx0XHR0aGlzLnJlY29ubmVjdEF0dGVtcHRzID0gMTtcblx0XHRjbGVhclRpbWVvdXQodGhpcy5yZWNvbm5lY3RUaW1lb3V0KTtcblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiTm9kZURlc3Ryb3lcIiwgdGhpcyk7XG5cdFx0dGhpcy5tYW5hZ2VyLmRlc3Ryb3lOb2RlKHRoaXMub3B0aW9ucy5pZGVudGlmaWVyID8/IHRoaXMub3B0aW9ucy5ob3N0KTtcblx0fVxuXG5cdHByaXZhdGUgcmVjb25uZWN0KCk6IHZvaWQge1xuXHRcdHRoaXMucmVjb25uZWN0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMucmVjb25uZWN0QXR0ZW1wdHMgPj0gKHRoaXMub3B0aW9ucy5yZXRyeUFtb3VudCA/PyAzMCkpIHtcblx0XHRcdFx0Y29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoYFVuYWJsZSB0byBjb25uZWN0IGFmdGVyICR7dGhpcy5vcHRpb25zLnJldHJ5QW1vdW50ID8/IDMwfSBhdHRlbXB0cy5gKTtcblxuXHRcdFx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIk5vZGVFcnJvclwiLCB0aGlzLCBlcnJvcik7XG5cdFx0XHRcdHJldHVybiB0aGlzLmRlc3Ryb3koKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuc29ja2V0Py5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcblx0XHRcdHRoaXMuc29ja2V0ID0gbnVsbDtcblx0XHRcdHRoaXMubWFuYWdlci5lbWl0KFwiTm9kZVJlY29ubmVjdFwiLCB0aGlzKTtcblx0XHRcdHRoaXMuY29ubmVjdCgpO1xuXHRcdFx0dGhpcy5yZWNvbm5lY3RBdHRlbXB0cysrO1xuXHRcdH0sIHRoaXMub3B0aW9ucy5yZXRyeURlbGF5KSBhcyB1bmtub3duIGFzIE5vZGVKUy5UaW1lb3V0O1xuXHR9XG5cblx0cHJvdGVjdGVkIG9wZW4oKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMucmVjb25uZWN0VGltZW91dCkgY2xlYXJUaW1lb3V0KHRoaXMucmVjb25uZWN0VGltZW91dCk7XG5cdFx0dHJ5IHtcblx0XHRcdHRoaXMubWFuYWdlci5lbWl0KFwiTm9kZUNvbm5lY3RcIiwgdGhpcyk7XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKFwiRXJyb3IgZW1pdHRpbmcgTm9kZUNvbm5lY3QgZXZlbnQ6XCIsIGVycik7XG5cdFx0fVxuXHR9XG5cdFxuXG5cdHByb3RlY3RlZCBjbG9zZShjb2RlOiBudW1iZXIsIHJlYXNvbjogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJOb2RlRGlzY29ubmVjdFwiLCB0aGlzLCB7IGNvZGUsIHJlYXNvbiB9KTtcblx0XHRpZiAoY29kZSAhPT0gMTAwMCB8fCByZWFzb24gIT09IFwiZGVzdHJveVwiKSB0aGlzLnJlY29ubmVjdCgpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGVycm9yKGVycm9yOiBFcnJvcik6IHZvaWQge1xuXHRcdGlmICghZXJyb3IpIHJldHVybjtcblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIk5vZGVFcnJvclwiLCB0aGlzLCBlcnJvcik7XG5cdH1cblxuXHRwcm90ZWN0ZWQgbWVzc2FnZShkOiBCdWZmZXIgfCBzdHJpbmcpOiB2b2lkIHtcblx0XHRpZiAoQXJyYXkuaXNBcnJheShkKSkgZCA9IEJ1ZmZlci5jb25jYXQoZCk7XG5cdFx0ZWxzZSBpZiAoZCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSBkID0gQnVmZmVyLmZyb20oZCk7XG5cblx0XHRjb25zdCBwYXlsb2FkID0gSlNPTi5wYXJzZShkLnRvU3RyaW5nKCkpO1xuXG5cdFx0aWYgKCFwYXlsb2FkLm9wKSByZXR1cm47XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJOb2RlUmF3XCIsIHBheWxvYWQpO1xuXG5cdFx0bGV0IHBsYXllcjogUGxheWVyO1xuXG5cdFx0c3dpdGNoIChwYXlsb2FkLm9wKSB7XG5cdFx0XHRjYXNlIFwic3RhdHNcIjpcblx0XHRcdFx0ZGVsZXRlIHBheWxvYWQub3A7XG5cdFx0XHRcdHRoaXMuc3RhdHMgPSB7IC4uLnBheWxvYWQgfSBhcyB1bmtub3duIGFzIE5vZGVTdGF0cztcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwicGxheWVyVXBkYXRlXCI6XG5cdFx0XHRcdHBsYXllciA9IHRoaXMubWFuYWdlci5wbGF5ZXJzLmdldChwYXlsb2FkLmd1aWxkSWQpIGFzIFBsYXllcjtcblx0XHRcdFx0aWYgKHBsYXllcikgcGxheWVyLnBvc2l0aW9uID0gcGF5bG9hZC5zdGF0ZS5wb3NpdGlvbiB8fCAwO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJldmVudFwiOlxuXHRcdFx0XHR0aGlzLmhhbmRsZUV2ZW50KHBheWxvYWQpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJyZWFkeVwiOlxuXHRcdFx0XHR0aGlzLnJlc3Quc2V0U2Vzc2lvbklkKHBheWxvYWQuc2Vzc2lvbklkKTtcblx0XHRcdFx0dGhpcy5zZXNzaW9uSWQgPSBwYXlsb2FkLnNlc3Npb25JZDtcblxuXHRcdFx0XHRpZiAodGhpcy5vcHRpb25zLnJlc3VtZVN0YXR1cykge1xuXHRcdFx0XHRcdHRoaXMucmVzdC5wYXRjaChgL3Y0L3Nlc3Npb25zLyR7dGhpcy5zZXNzaW9uSWR9YCwge1xuXHRcdFx0XHRcdFx0cmVzdW1pbmc6IHRoaXMub3B0aW9ucy5yZXN1bWVTdGF0dXMsXG5cdFx0XHRcdFx0XHR0aW1lb3V0OiB0aGlzLm9wdGlvbnMucmVzdW1lVGltZW91dCxcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHRoaXMubWFuYWdlci5lbWl0KFwiTm9kZUVycm9yXCIsIHRoaXMsIG5ldyBFcnJvcihgVW5leHBlY3RlZCBvcCBcIiR7cGF5bG9hZC5vcH1cIiB3aXRoIGRhdGE6ICR7cGF5bG9hZC5tZXNzYWdlfWApKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBhc3luYyBoYW5kbGVFdmVudChwYXlsb2FkOiBQbGF5ZXJFdmVudCAmIFBsYXllckV2ZW50cyk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICghcGF5bG9hZC5ndWlsZElkKSByZXR1cm47XG5cblx0XHRjb25zdCBwbGF5ZXIgPSB0aGlzLm1hbmFnZXIucGxheWVycy5nZXQocGF5bG9hZC5ndWlsZElkKTtcblx0XHRpZiAoIXBsYXllcikgcmV0dXJuO1xuXG5cdFx0Y29uc3QgdHJhY2sgPSBwbGF5ZXIucXVldWUuY3VycmVudDtcblx0XHRjb25zdCB0eXBlID0gcGF5bG9hZC50eXBlO1xuXG5cdFx0bGV0IGVycm9yOiBFcnJvcjtcblx0XHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRcdGNhc2UgXCJUcmFja1N0YXJ0RXZlbnRcIjpcblx0XHRcdFx0dGhpcy50cmFja1N0YXJ0KHBsYXllciwgdHJhY2sgYXMgVHJhY2ssIHBheWxvYWQpO1xuXHRcdFx0XHRicmVhaztcblxuXHRcdFx0Y2FzZSBcIlRyYWNrRW5kRXZlbnRcIjpcblx0XHRcdFx0aWYgKHBsYXllcj8ubm93UGxheWluZ01lc3NhZ2UgJiYgcGxheWVyPy5ub3dQbGF5aW5nTWVzc2FnZS5kZWxldGFibGUpIHtcblx0XHRcdFx0XHRhd2FpdCBwbGF5ZXI/Lm5vd1BsYXlpbmdNZXNzYWdlPy5kZWxldGUoKS5jYXRjaCgoKSA9PiB7fSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLnRyYWNrRW5kKHBsYXllciwgdHJhY2sgYXMgVHJhY2ssIHBheWxvYWQpO1xuXHRcdFx0XHRicmVhaztcblxuXHRcdFx0Y2FzZSBcIlRyYWNrU3R1Y2tFdmVudFwiOlxuXHRcdFx0XHR0aGlzLnRyYWNrU3R1Y2socGxheWVyLCB0cmFjayBhcyBUcmFjaywgcGF5bG9hZCk7XG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRjYXNlIFwiVHJhY2tFeGNlcHRpb25FdmVudFwiOlxuXHRcdFx0XHR0aGlzLnRyYWNrRXJyb3IocGxheWVyLCB0cmFjayBhcyBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGF5bG9hZCk7XG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRjYXNlIFwiV2ViU29ja2V0Q2xvc2VkRXZlbnRcIjpcblx0XHRcdFx0dGhpcy5zb2NrZXRDbG9zZWQocGxheWVyLCBwYXlsb2FkKTtcblx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGVycm9yID0gbmV3IEVycm9yKGBOb2RlI2V2ZW50IHVua25vd24gZXZlbnQgJyR7dHlwZX0nLmApO1xuXHRcdFx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIk5vZGVFcnJvclwiLCB0aGlzLCBlcnJvcik7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCB0cmFja1N0YXJ0KHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrU3RhcnRFdmVudCk6IHZvaWQge1xuXHRcdHBsYXllci5wbGF5aW5nID0gdHJ1ZTtcblx0XHRwbGF5ZXIucGF1c2VkID0gZmFsc2U7XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJUcmFja1N0YXJ0XCIsIHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIHRyYWNrRW5kKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCB7IHJlYXNvbiB9ID0gcGF5bG9hZDtcblxuXHRcdC8vIElmIHRoZSB0cmFjayBmYWlsZWQgdG8gbG9hZCBvciB3YXMgY2xlYW5lZCB1cFxuXHRcdGlmIChbXCJsb2FkRmFpbGVkXCIsIFwiY2xlYW51cFwiXS5pbmNsdWRlcyhyZWFzb24pKSB7XG5cdFx0XHR0aGlzLmhhbmRsZUZhaWxlZFRyYWNrKHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdH1cblx0XHQvLyBJZiB0aGUgdHJhY2sgd2FzIGZvcmNpYmx5IHJlcGxhY2VkXG5cdFx0ZWxzZSBpZiAocmVhc29uID09PSBcInJlcGxhY2VkXCIpIHtcblx0XHRcdHRoaXMubWFuYWdlci5lbWl0KFwiVHJhY2tFbmRcIiwgcGxheWVyLCB0cmFjaywgcGF5bG9hZCk7XG5cdFx0XHRwbGF5ZXIucXVldWUucHJldmlvdXMgPSBwbGF5ZXIucXVldWUuY3VycmVudDtcblx0XHR9XG5cdFx0Ly8gSWYgdGhlIHRyYWNrIGVuZGVkIGFuZCBpdCdzIHNldCB0byByZXBlYXQgKHRyYWNrIG9yIHF1ZXVlKVxuXHRcdGVsc2UgaWYgKHRyYWNrICYmIChwbGF5ZXIudHJhY2tSZXBlYXQgfHwgcGxheWVyLnF1ZXVlUmVwZWF0KSkge1xuXHRcdFx0dGhpcy5oYW5kbGVSZXBlYXRlZFRyYWNrKHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdH1cblx0XHQvLyBJZiB0aGVyZSdzIGFub3RoZXIgdHJhY2sgaW4gdGhlIHF1ZXVlXG5cdFx0ZWxzZSBpZiAocGxheWVyLnF1ZXVlLmxlbmd0aCkge1xuXHRcdFx0dGhpcy5wbGF5TmV4dFRyYWNrKHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdH1cblx0XHQvLyBJZiB0aGVyZSBhcmUgbm8gbW9yZSB0cmFja3MgaW4gdGhlIHF1ZXVlXG5cdFx0ZWxzZSB7XG5cdFx0XHRhd2FpdCB0aGlzLnF1ZXVlRW5kKHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBleHRyYWN0U3BvdGlmeVRyYWNrSUQodXJsOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcblx0XHRjb25zdCByZWdleCA9IC9odHRwczpcXC9cXC9vcGVuXFwuc3BvdGlmeVxcLmNvbVxcL3RyYWNrXFwvKFthLXpBLVowLTldKykvO1xuXHRcdGNvbnN0IG1hdGNoID0gdXJsLm1hdGNoKHJlZ2V4KTtcblx0XHRyZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6IG51bGw7XG5cdH1cblxuXHRwdWJsaWMgZXh0cmFjdFNwb3RpZnlBcnRpc3RJRCh1cmw6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuXHRcdGNvbnN0IHJlZ2V4ID0gL2h0dHBzOlxcL1xcL29wZW5cXC5zcG90aWZ5XFwuY29tXFwvYXJ0aXN0XFwvKFthLXpBLVowLTldKykvO1xuXHRcdGNvbnN0IG1hdGNoID0gdXJsLm1hdGNoKHJlZ2V4KTtcblx0XHRyZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6IG51bGw7XG5cdH1cblxuXHQvLyBIYW5kbGUgYXV0b3BsYXlcblx0cHJpdmF0ZSBhc3luYyBoYW5kbGVBdXRvcGxheShwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrKSB7XG5cdFx0Y29uc3QgcHJldmlvdXNUcmFjayA9IHBsYXllci5xdWV1ZS5wcmV2aW91cztcblxuXHRcdGlmICghcGxheWVyLmlzQXV0b3BsYXkgfHwgIXByZXZpb3VzVHJhY2spIHJldHVybjtcblxuXHRcdGNvbnN0IGhhc1Nwb3RpZnlVUkwgPSBbXCJzcG90aWZ5LmNvbVwiLCBcIm9wZW4uc3BvdGlmeS5jb21cIl0uc29tZSgodXJsKSA9PiBwcmV2aW91c1RyYWNrLnVyaT8uaW5jbHVkZXModXJsKSk7XG5cblx0XHRpZiAoaGFzU3BvdGlmeVVSTCkge1xuXHRcdFx0Y29uc3Qgbm9kZSA9IHRoaXMubWFuYWdlci51c2VhYmxlTm9kZXM7XG5cblx0XHRcdGNvbnN0IHJlcyA9IGF3YWl0IG5vZGUucmVzdC5nZXQoYC92NC9pbmZvYCk7XG5cdFx0XHRjb25zdCBpbmZvID0gcmVzIGFzIExhdmFsaW5rSW5mbztcblxuXHRcdFx0Y29uc3QgaXNTcG90aWZ5UGx1Z2luRW5hYmxlZCA9IGluZm8ucGx1Z2lucy5zb21lKChwbHVnaW46IHsgbmFtZTogc3RyaW5nIH0pID0+IHBsdWdpbi5uYW1lID09PSBcImxhdmFzcmMtcGx1Z2luXCIpO1xuXHRcdFx0Y29uc3QgaXNTcG90aWZ5U291cmNlTWFuYWdlckVuYWJsZWQgPSBpbmZvLnNvdXJjZU1hbmFnZXJzLmluY2x1ZGVzKFwic3BvdGlmeVwiKTtcblxuXHRcdFx0aWYgKGlzU3BvdGlmeVBsdWdpbkVuYWJsZWQgJiYgaXNTcG90aWZ5U291cmNlTWFuYWdlckVuYWJsZWQpIHtcblx0XHRcdFx0Y29uc3QgdHJhY2tJRCA9IHRoaXMuZXh0cmFjdFNwb3RpZnlUcmFja0lEKHByZXZpb3VzVHJhY2sudXJpID8/IFwiXCIpO1xuXHRcdFx0XHRjb25zdCBhcnRpc3RJRCA9IHRoaXMuZXh0cmFjdFNwb3RpZnlBcnRpc3RJRChwcmV2aW91c1RyYWNrLnBsdWdpbkluZm8/LmFydGlzdFVybCA/PyBcIlwiKTtcblxuXHRcdFx0XHRsZXQgaWRlbnRpZmllciA9IFwiXCI7XG5cdFx0XHRcdGlmICh0cmFja0lEICYmIGFydGlzdElEKSB7XG5cdFx0XHRcdFx0aWRlbnRpZmllciA9IGBzcHJlYzpzZWVkX2FydGlzdHM9JHthcnRpc3RJRH0mc2VlZF90cmFja3M9JHt0cmFja0lEfWA7XG5cdFx0XHRcdH0gZWxzZSBpZiAodHJhY2tJRCkge1xuXHRcdFx0XHRcdGlkZW50aWZpZXIgPSBgc3ByZWM6c2VlZF90cmFja3M9JHt0cmFja0lEfWA7XG5cdFx0XHRcdH0gZWxzZSBpZiAoYXJ0aXN0SUQpIHtcblx0XHRcdFx0XHRpZGVudGlmaWVyID0gYHNwcmVjOnNlZWRfYXJ0aXN0cz0ke2FydGlzdElEfWA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoaWRlbnRpZmllcikge1xuXHRcdFx0XHRcdGNvbnN0IHJlY29tbWVuZGVkUmVzdWx0ID0gKGF3YWl0IG5vZGUucmVzdC5nZXQoYC92NC9sb2FkdHJhY2tzP2lkZW50aWZpZXI9JHtlbmNvZGVVUklDb21wb25lbnQoaWRlbnRpZmllcil9YCkpIGFzIExhdmFsaW5rUmVzcG9uc2U7XG5cblx0XHRcdFx0XHRpZiAocmVjb21tZW5kZWRSZXN1bHQubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRcdFx0Y29uc3QgcGxheWxpc3REYXRhID0gcmVjb21tZW5kZWRSZXN1bHQuZGF0YSBhcyBQbGF5bGlzdFJhd0RhdGE7XG5cdFx0XHRcdFx0XHRjb25zdCByZWNvbW1lbmRlZFRyYWNrID0gcGxheWxpc3REYXRhLnRyYWNrc1swXTtcblxuXHRcdFx0XHRcdFx0aWYgKHJlY29tbWVuZGVkVHJhY2spIHtcblx0XHRcdFx0XHRcdFx0cGxheWVyLnF1ZXVlLmFkZChUcmFja1V0aWxzLmJ1aWxkKHJlY29tbWVuZGVkVHJhY2ssIHBsYXllci5nZXQoXCJJbnRlcm5hbF9Cb3RVc2VyXCIpKSk7XG5cdFx0XHRcdFx0XHRcdHBsYXllci5wbGF5KCk7XG5cdFx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRjb25zdCBoYXNZb3VUdWJlVVJMID0gW1wieW91dHViZS5jb21cIiwgXCJ5b3V0dS5iZVwiXS5zb21lKCh1cmwpID0+IHByZXZpb3VzVHJhY2sudXJpPy5pbmNsdWRlcyh1cmwpKTtcblxuXHRcdGxldCB2aWRlb0lEID0gKHByZXZpb3VzVHJhY2sudXJpID8/IFwiXCIpLnN1YnN0cmluZygocHJldmlvdXNUcmFjay51cmkgPz8gXCJcIikuaW5kZXhPZihcIj1cIikgKyAxKTtcblxuXHRcdGlmICghaGFzWW91VHViZVVSTCkge1xuXHRcdFx0Y29uc3QgcmVzID0gYXdhaXQgcGxheWVyLnNlYXJjaChgJHtwcmV2aW91c1RyYWNrLmF1dGhvcn0gLSAke3ByZXZpb3VzVHJhY2sudGl0bGV9YCwgcGxheWVyLmdldChcIkludGVybmFsX0JvdFVzZXJcIikpO1xuXG5cdFx0XHR2aWRlb0lEID0gcmVzLnRyYWNrc1swXS51cmkuc3Vic3RyaW5nKHJlcy50cmFja3NbMF0udXJpLmluZGV4T2YoXCI9XCIpICsgMSk7XG5cdFx0fVxuXG5cdFx0bGV0IHJhbmRvbUluZGV4OiBudW1iZXI7XG5cdFx0bGV0IHNlYXJjaFVSSTogc3RyaW5nO1xuXG5cdFx0ZG8ge1xuXHRcdFx0cmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyMykgKyAyO1xuXHRcdFx0c2VhcmNoVVJJID0gYGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9JHt2aWRlb0lEfSZsaXN0PVJEJHt2aWRlb0lEfSZpbmRleD0ke3JhbmRvbUluZGV4fWA7XG5cdFx0fSB3aGlsZSAodHJhY2sudXJpLmluY2x1ZGVzKHNlYXJjaFVSSSkpO1xuXG5cdFx0Y29uc3QgcmVzID0gYXdhaXQgcGxheWVyLnNlYXJjaChzZWFyY2hVUkksIHBsYXllci5nZXQoXCJJbnRlcm5hbF9Cb3RVc2VyXCIpKTtcblxuXHRcdGlmIChyZXMubG9hZFR5cGUgPT09IFwiZW1wdHlcIiB8fCByZXMubG9hZFR5cGUgPT09IFwiZXJyb3JcIikgcmV0dXJuO1xuXG5cdFx0bGV0IHRyYWNrcyA9IHJlcy50cmFja3M7XG5cblx0XHRpZiAocmVzLmxvYWRUeXBlID09PSBcInBsYXlsaXN0XCIpIHtcblx0XHRcdHRyYWNrcyA9IHJlcy5wbGF5bGlzdD8udHJhY2tzID8/IHRyYWNrcztcblx0XHR9XG5cblx0XHRjb25zdCBmb3VuZFRyYWNrID0gdHJhY2tzLnNvcnQoKCkgPT4gTWF0aC5yYW5kb20oKSAtIDAuNSkuZmluZCgoc2h1ZmZsZWRUcmFjaykgPT4gc2h1ZmZsZWRUcmFjay51cmkgIT09IHRyYWNrLnVyaSk7XG5cblx0XHRpZiAoZm91bmRUcmFjaykge1xuXHRcdFx0aWYgKHRoaXMubWFuYWdlci5vcHRpb25zLnJlcGxhY2VZb3VUdWJlQ3JlZGVudGlhbHMpIHtcblx0XHRcdFx0Zm91bmRUcmFjay5hdXRob3IgPSBmb3VuZFRyYWNrLmF1dGhvci5yZXBsYWNlKFwiLSBUb3BpY1wiLCBcIlwiKTtcblx0XHRcdFx0Zm91bmRUcmFjay50aXRsZSA9IGZvdW5kVHJhY2sudGl0bGUucmVwbGFjZShcIlRvcGljIC1cIiwgXCJcIik7XG5cblx0XHRcdFx0aWYgKGZvdW5kVHJhY2sudGl0bGUuaW5jbHVkZXMoXCItXCIpKSB7XG5cdFx0XHRcdFx0Y29uc3QgW2F1dGhvciwgdGl0bGVdID0gZm91bmRUcmFjay50aXRsZS5zcGxpdChcIi1cIikubWFwKChzdHI6IHN0cmluZykgPT4gc3RyLnRyaW0oKSk7XG5cdFx0XHRcdFx0Zm91bmRUcmFjay5hdXRob3IgPSBhdXRob3I7XG5cdFx0XHRcdFx0Zm91bmRUcmFjay50aXRsZSA9IHRpdGxlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRwbGF5ZXIucXVldWUuYWRkKGZvdW5kVHJhY2spO1xuXHRcdFx0cGxheWVyLnBsYXkoKTtcblx0XHR9XG5cdH1cblxuXHQvLyBIYW5kbGUgdGhlIGNhc2Ugd2hlbiBhIHRyYWNrIGZhaWxlZCB0byBsb2FkIG9yIHdhcyBjbGVhbmVkIHVwXG5cdHByaXZhdGUgaGFuZGxlRmFpbGVkVHJhY2socGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tFbmRFdmVudCk6IHZvaWQge1xuXHRcdHBsYXllci5xdWV1ZS5wcmV2aW91cyA9IHBsYXllci5xdWV1ZS5jdXJyZW50O1xuXHRcdHBsYXllci5xdWV1ZS5jdXJyZW50ID0gcGxheWVyLnF1ZXVlLnNoaWZ0KCkgPz8gbnVsbDtcblxuXHRcdGlmICghcGxheWVyLnF1ZXVlLmN1cnJlbnQpIHtcblx0XHRcdHRoaXMucXVldWVFbmQocGxheWVyLCB0cmFjaywgcGF5bG9hZCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJUcmFja0VuZFwiLCBwbGF5ZXIsIHRyYWNrLCBwYXlsb2FkKTtcblx0XHRpZiAodGhpcy5tYW5hZ2VyLm9wdGlvbnMuYXV0b1BsYXkpIHBsYXllci5wbGF5KCk7XG5cdH1cblxuXHQvLyBIYW5kbGUgdGhlIGNhc2Ugd2hlbiBhIHRyYWNrIGVuZGVkIGFuZCBpdCdzIHNldCB0byByZXBlYXQgKHRyYWNrIG9yIHF1ZXVlKVxuXHRwcml2YXRlIGhhbmRsZVJlcGVhdGVkVHJhY2socGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tFbmRFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IHsgcXVldWUsIHRyYWNrUmVwZWF0LCBxdWV1ZVJlcGVhdCB9ID0gcGxheWVyO1xuXHRcdGNvbnN0IHsgYXV0b1BsYXkgfSA9IHRoaXMubWFuYWdlci5vcHRpb25zO1xuXG5cdFx0aWYgKHRyYWNrUmVwZWF0KSB7XG5cdFx0XHRxdWV1ZS51bnNoaWZ0KHF1ZXVlLmN1cnJlbnQgYXMgVHJhY2sgfCBVbnJlc29sdmVkVHJhY2spO1xuXHRcdH0gZWxzZSBpZiAocXVldWVSZXBlYXQpIHtcblx0XHRcdHF1ZXVlLmFkZChxdWV1ZS5jdXJyZW50IGFzIFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrKTtcblx0XHR9XG5cblx0XHRxdWV1ZS5wcmV2aW91cyA9IHF1ZXVlLmN1cnJlbnQ7XG5cdFx0cXVldWUuY3VycmVudCA9IHF1ZXVlLnNoaWZ0KCkgPz8gbnVsbDtcblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiVHJhY2tFbmRcIiwgcGxheWVyLCB0cmFjaywgcGF5bG9hZCk7XG5cblx0XHRpZiAocGF5bG9hZC5yZWFzb24gPT09IFwic3RvcHBlZFwiICYmICEocXVldWUuY3VycmVudCA9IHF1ZXVlLnNoaWZ0KCkgPz8gbnVsbCkpIHtcblx0XHRcdHRoaXMucXVldWVFbmQocGxheWVyLCB0cmFjaywgcGF5bG9hZCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0aWYgKGF1dG9QbGF5KSBwbGF5ZXIucGxheSgpO1xuXHR9XG5cblx0Ly8gSGFuZGxlIHRoZSBjYXNlIHdoZW4gdGhlcmUncyBhbm90aGVyIHRyYWNrIGluIHRoZSBxdWV1ZVxuXHRwcml2YXRlIHBsYXlOZXh0VHJhY2socGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tFbmRFdmVudCk6IHZvaWQge1xuXHRcdHBsYXllci5xdWV1ZS5wcmV2aW91cyA9IHBsYXllci5xdWV1ZS5jdXJyZW50O1xuXHRcdHBsYXllci5xdWV1ZS5jdXJyZW50ID0gcGxheWVyLnF1ZXVlLnNoaWZ0KCkgPz8gbnVsbDtcblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiVHJhY2tFbmRcIiwgcGxheWVyLCB0cmFjaywgcGF5bG9hZCk7XG5cdFx0aWYgKHRoaXMubWFuYWdlci5vcHRpb25zLmF1dG9QbGF5KSBwbGF5ZXIucGxheSgpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIHF1ZXVlRW5kKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRwbGF5ZXIucXVldWUucHJldmlvdXMgPSBwbGF5ZXIucXVldWUuY3VycmVudDtcblx0XHRwbGF5ZXIucXVldWUuY3VycmVudCA9IG51bGw7XG5cblx0XHRpZiAoIXBsYXllci5pc0F1dG9wbGF5KSB7XG5cdFx0XHRwbGF5ZXIucXVldWUucHJldmlvdXMgPSBwbGF5ZXIucXVldWUuY3VycmVudDtcblx0XHRcdHBsYXllci5xdWV1ZS5jdXJyZW50ID0gbnVsbDtcblx0XHRcdHBsYXllci5wbGF5aW5nID0gZmFsc2U7XG5cdFx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlF1ZXVlRW5kXCIsIHBsYXllciwgdHJhY2ssIHBheWxvYWQpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGF3YWl0IHRoaXMuaGFuZGxlQXV0b3BsYXkocGxheWVyLCB0cmFjayk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgdHJhY2tTdHVjayhwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrLCBwYXlsb2FkOiBUcmFja1N0dWNrRXZlbnQpOiB2b2lkIHtcblx0XHRwbGF5ZXIuc3RvcCgpO1xuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiVHJhY2tTdHVja1wiLCBwbGF5ZXIsIHRyYWNrLCBwYXlsb2FkKTtcblx0fVxuXG5cdHByb3RlY3RlZCB0cmFja0Vycm9yKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2sgfCBVbnJlc29sdmVkVHJhY2ssIHBheWxvYWQ6IFRyYWNrRXhjZXB0aW9uRXZlbnQpOiB2b2lkIHtcblx0XHRwbGF5ZXIuc3RvcCgpO1xuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiVHJhY2tFcnJvclwiLCBwbGF5ZXIsIHRyYWNrLCBwYXlsb2FkKTtcblx0fVxuXG5cdHByb3RlY3RlZCBzb2NrZXRDbG9zZWQocGxheWVyOiBQbGF5ZXIsIHBheWxvYWQ6IFdlYlNvY2tldENsb3NlZEV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJTb2NrZXRDbG9zZWRcIiwgcGxheWVyLCBwYXlsb2FkKTtcblx0fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVPcHRpb25zIHtcblx0LyoqIFRoZSBob3N0IGZvciB0aGUgbm9kZS4gKi9cblx0aG9zdDogc3RyaW5nO1xuXHQvKiogVGhlIHBvcnQgZm9yIHRoZSBub2RlLiAqL1xuXHRwb3J0PzogbnVtYmVyO1xuXHQvKiogVGhlIHBhc3N3b3JkIGZvciB0aGUgbm9kZS4gKi9cblx0cGFzc3dvcmQ/OiBzdHJpbmc7XG5cdC8qKiBXaGV0aGVyIHRoZSBob3N0IHVzZXMgU1NMLiAqL1xuXHRzZWN1cmU/OiBib29sZWFuO1xuXHQvKiogVGhlIGlkZW50aWZpZXIgZm9yIHRoZSBub2RlLiAqL1xuXHRpZGVudGlmaWVyPzogc3RyaW5nO1xuXHQvKiogVGhlIHJldHJ5QW1vdW50IGZvciB0aGUgbm9kZS4gKi9cblx0cmV0cnlBbW91bnQ/OiBudW1iZXI7XG5cdC8qKiBUaGUgcmV0cnlEZWxheSBmb3IgdGhlIG5vZGUuICovXG5cdHJldHJ5RGVsYXk/OiBudW1iZXI7XG5cdC8qKiBXaGV0aGVyIHRvIHJlc3VtZSB0aGUgcHJldmlvdXMgc2Vzc2lvbi4gKi9cblx0cmVzdW1lU3RhdHVzPzogYm9vbGVhbjtcblx0LyoqIFRoZSB0aW1lIHRoZSBtYW5hZ2VyIHdpbGwgd2FpdCBiZWZvcmUgdHJ5aW5nIHRvIHJlc3VtZSB0aGUgcHJldmlvdXMgc2Vzc2lvbi4gKi9cblx0cmVzdW1lVGltZW91dD86IG51bWJlcjtcblx0LyoqIFRoZSB0aW1lb3V0IHVzZWQgZm9yIGFwaSBjYWxscy4gKi9cblx0cmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG5cdC8qKiBQcmlvcml0eSBvZiB0aGUgbm9kZS4gKi9cblx0cHJpb3JpdHk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVN0YXRzIHtcblx0LyoqIFRoZSBhbW91bnQgb2YgcGxheWVycyBvbiB0aGUgbm9kZS4gKi9cblx0cGxheWVyczogbnVtYmVyO1xuXHQvKiogVGhlIGFtb3VudCBvZiBwbGF5aW5nIHBsYXllcnMgb24gdGhlIG5vZGUuICovXG5cdHBsYXlpbmdQbGF5ZXJzOiBudW1iZXI7XG5cdC8qKiBUaGUgdXB0aW1lIGZvciB0aGUgbm9kZS4gKi9cblx0dXB0aW1lOiBudW1iZXI7XG5cdC8qKiBUaGUgbWVtb3J5IHN0YXRzIGZvciB0aGUgbm9kZS4gKi9cblx0bWVtb3J5OiBNZW1vcnlTdGF0cztcblx0LyoqIFRoZSBjcHUgc3RhdHMgZm9yIHRoZSBub2RlLiAqL1xuXHRjcHU6IENQVVN0YXRzO1xuXHQvKiogVGhlIGZyYW1lIHN0YXRzIGZvciB0aGUgbm9kZS4gKi9cblx0ZnJhbWVTdGF0czogRnJhbWVTdGF0cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlTdGF0cyB7XG5cdC8qKiBUaGUgZnJlZSBtZW1vcnkgb2YgdGhlIGFsbG9jYXRlZCBhbW91bnQuICovXG5cdGZyZWU6IG51bWJlcjtcblx0LyoqIFRoZSB1c2VkIG1lbW9yeSBvZiB0aGUgYWxsb2NhdGVkIGFtb3VudC4gKi9cblx0dXNlZDogbnVtYmVyO1xuXHQvKiogVGhlIHRvdGFsIGFsbG9jYXRlZCBtZW1vcnkuICovXG5cdGFsbG9jYXRlZDogbnVtYmVyO1xuXHQvKiogVGhlIHJlc2VydmFibGUgbWVtb3J5LiAqL1xuXHRyZXNlcnZhYmxlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ1BVU3RhdHMge1xuXHQvKiogVGhlIGNvcmUgYW1vdW50IHRoZSBob3N0IG1hY2hpbmUgaGFzLiAqL1xuXHRjb3JlczogbnVtYmVyO1xuXHQvKiogVGhlIHN5c3RlbSBsb2FkLiAqL1xuXHRzeXN0ZW1Mb2FkOiBudW1iZXI7XG5cdC8qKiBUaGUgbGF2YWxpbmsgbG9hZC4gKi9cblx0bGF2YWxpbmtMb2FkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJhbWVTdGF0cyB7XG5cdC8qKiBUaGUgYW1vdW50IG9mIHNlbnQgZnJhbWVzLiAqL1xuXHRzZW50PzogbnVtYmVyO1xuXHQvKiogVGhlIGFtb3VudCBvZiBudWxsZWQgZnJhbWVzLiAqL1xuXHRudWxsZWQ/OiBudW1iZXI7XG5cdC8qKiBUaGUgYW1vdW50IG9mIGRlZmljaXQgZnJhbWVzLiAqL1xuXHRkZWZpY2l0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhdmFsaW5rSW5mbyB7XG5cdHZlcnNpb246IHsgc2VtdmVyOiBzdHJpbmc7IG1ham9yOiBudW1iZXI7IG1pbm9yOiBudW1iZXI7IHBhdGNoOiBudW1iZXI7IHByZVJlbGVhc2U6IHN0cmluZyB9O1xuXHRidWlsZFRpbWU6IG51bWJlcjtcblx0Z2l0OiB7IGJyYW5jaDogc3RyaW5nOyBjb21taXQ6IHN0cmluZzsgY29tbWl0VGltZTogbnVtYmVyIH07XG5cdGp2bTogc3RyaW5nO1xuXHRsYXZhcGxheWVyOiBzdHJpbmc7XG5cdHNvdXJjZU1hbmFnZXJzOiBzdHJpbmdbXTtcblx0ZmlsdGVyczogc3RyaW5nW107XG5cdHBsdWdpbnM6IHsgbmFtZTogc3RyaW5nOyB2ZXJzaW9uOiBzdHJpbmcgfVtdO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBYUEsSUFBQUMsS0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksR0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQTJCLFNBQUFHLHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFB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
|