ps-toolkit-ui 0.0.95 → 0.0.99

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.
@@ -166,4 +166,10 @@ export var VehicleType;
166
166
  VehicleType[VehicleType["Train"] = 4] = "Train";
167
167
  VehicleType[VehicleType["Ship"] = 5] = "Ship";
168
168
  })(VehicleType || (VehicleType = {}));
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9lbnVtLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQVk7UUFDM0IsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQVksRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBWTtRQUN6QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckMsT0FBTztnQkFDTCxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7YUFDekIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFOLElBQVks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LHlEQUFjLENBQUE7SUFDZCxxREFBWSxDQUFBO0lBQ1osK0NBQVMsQ0FBQTtJQUNULDZDQUFRLENBQUE7QUFDVixDQUFDLEVBUFcsV0FBVyxLQUFYLFdBQVcsUUFPdEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgRW51bVV0aWxzIHtcclxuICBzdGF0aWMgZ2V0VmFsdWVzKGVudW1PYmo6IGFueSk6IGFueVtdIHtcclxuICAgIHJldHVybiBFbnVtVXRpbHMuZ2V0S2V5cyhlbnVtT2JqKS5tYXAodmFsdWUgPT4gZW51bU9ialt2YWx1ZV0pO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0S2V5QnlWYWx1ZShlbnVtT2JqOiBhbnksIHYpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRLZXlzKGVudW1PYmopLmZpbmQoa2V5ID0+IGVudW1PYmpba2V5XSA9PT0gdik7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXRLZXlzKGVudW1PYmo6IGFueSk6IGFueVtdIHtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyhlbnVtT2JqKS5maWx0ZXIoa2V5ID0+IHR5cGVvZiBlbnVtT2JqW2tleV0gPT09ICdudW1iZXInKTtcclxuICB9XHJcbiAgc3RhdGljIGdldEtleXNBbmRWYWx1ZXMoZW51bU9iajogYW55KTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0S2V5cyhlbnVtT2JqKS5tYXAoa2V5ID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBrZXksIHZhbHVlOiBlbnVtT2JqW2tleV1cclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gSW5wdXRFcnJvciB7XHJcbiAgUmVxdWlyZWQgPSAnUmVxdWlyZWQnLFxyXG4gIEludmFsaWQgPSAnSW52YWxpZCcsXHJcbiAgTGVuZ3RoID0gJ0xlbmd0aCcsXHJcbiAgTWluTGVuZ3RoID0gJ01pbkxlbmd0aCcsXHJcbiAgTWF4TGVuZ3RoID0gJ01heExlbmd0aCcsXHJcbiAgTWluQW1vdW50ID0gJ01pbkFtb3VudCcsXHJcbiAgTWF4QW1vdW50ID0gJ01heEFtb3VudCcsXHJcbiAgRXhwaXJlZCA9ICdFeHBpcmVkJyxcclxuICBFcnJvciA9ICdFcnJvcicsXHJcbiAgTm90TWF0Y2ggPSAnTm90TWF0Y2gnLFxyXG4gIE5vdEFsbG93ZWQgPSAnTm90QWxsb3dlZCcsXHJcbiAgTWF4Q29udGVudCA9ICdNYXhDb250ZW50JyxcclxuICBFeGlzdCA9ICdFeGlzdCcsXHJcbiAgTm90RXhpc3QgPSAnTm90RXhpc3QnLFxyXG4gIFdyb25nID0gJ1dyb25nJyxcclxuICBVcGxvYWQgPSAnVXBsb2FkJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gSW5wdXRUeXBlIHtcclxuICBUZXh0LFxyXG4gIFBhc3N3b3JkLFxyXG4gIE1vYmlsZSxcclxuICBQaG9uZSxcclxuICBFbWFpbCxcclxuICBOYXRpb25hbENvZGUsXHJcbiAgUG9zdGFsQ29kZSxcclxuICBTaGViYSxcclxuICBOdW1iZXIsXHJcbiAgU2VsZWN0LFxyXG4gIFNlbGVjdFNlYXJjaCxcclxuICBTZWxlY3RBdXRvQ29tcGxldGUsXHJcbiAgRGF0ZSxcclxuICBUaW1lLFxyXG4gIERhdGVUaW1lLFxyXG4gIENoZWNrLFxyXG4gIFRleHRBcmVhLFxyXG4gIExhYmVsLFxyXG4gIEJ1dHRvbixcclxuICBTdWJtaXQsXHJcbiAgSWNvbixcclxuICBGaWxlLFxyXG4gIFVybCxcclxuICBQcmljZSxcclxuICBSYWRpbyxcclxuICBUcmVlLFxyXG4gIFBsYXF1ZSxcclxuICBQbGFxdWVNLFxyXG4gIFNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZSxcclxuICBTZWxlY3RBdXRvQ29tcGxldGVQbGFxdWVNLFxyXG4gIEJhbmtDYXJkLFxyXG4gIENvbnN0YW50LFxyXG4gIEhpZGRlbixcclxuICBUYWJsZSxcclxuICBDYXJTZWFyY2gsXHJcbiAgQ2FyLFxyXG4gIEZpbmdlcixcclxufVxyXG5cclxuZXhwb3J0IGVudW0gT3BlcmF0aW9uRW51bVxyXG57XHJcbiAgQWxsID0gLTEsXHJcbiAgSW5zZXJ0ID0gMSxcclxuICBVcGRhdGUgPSAyLFxyXG4gIERlbGV0ZSA9IDMsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIE1ldGhvZCB7XHJcbiAgR2V0LFxyXG4gIFBvc3QsXHJcbiAgRGVsZXRlLFxyXG4gIFB1dCxcclxuICBPcHRpb25zLFxyXG4gIFBhdGNoLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUYWJsZUNvbGxUeXBlIHtcclxuICBUZXh0LFxyXG4gIERhdGUsXHJcbiAgVGltZSxcclxuICBEYXRlVGltZSxcclxuICBEYXRlRGlmLFxyXG4gIERhdGVSZW1haW4sXHJcbiAgVXJsLFxyXG4gIEltYWdlLFxyXG4gIEZ1bmN0aW9uLFxyXG4gIFByaWNlLFxyXG4gIFBsYXF1ZSxcclxuICBQbGFxdWVUZXh0LFxyXG4gIEZpbGVTaXplLFxyXG4gIEJvb2wsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFVzZXJUeXBlIHtcclxuICBBbGwgPSAwLFxyXG4gIEFkbWluID0gMSxcclxuICBVc2VyID0gMlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTdGF0dXNFbnVtXHJcbntcclxuICBBbGwgPSAtMSxcclxuICBBY3RpdmUgPSAwLFxyXG4gIERlQWN0aXZlID0gMSxcclxuICBEZWxldGUgPSAyLFxyXG4gIFJlcG9ydCA9IDMsXHJcbn1cclxuZXhwb3J0IGVudW0gUGF5bWVudFN0YXR1c0VudW1cclxue1xyXG4gIEFsbCA9IDAsXHJcbiAgU3VjY2VzcyA9IDEwMCxcclxuICBOT0sgPSAxMDIsXHJcbiAgUmVxdWVzdCA9IDEwMyxcclxuICBOb3Rmb3VuZCA9IDEwNCxcclxuICBOb3RSZXF1ZXN0ID0gMTA1LFxyXG4gIE5vdGZvdW5kUGFja2FnZSA9IDEwNlxyXG59XHJcbmV4cG9ydCBlbnVtIFJlc3VsdFN0YXR1c0VudW1cclxue1xyXG4gIEZhaWxlZCA9IDAsXHJcbiAgU3VjY2VzcyA9IDEsXHJcbiAgVW5hdXRob3JpemVkID0gMixcclxuICBOb3RBY2Nlc3MgPSAzXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBlcm1pc3Npb25UeXBlRW51bVxyXG57XHJcbiAgRm9ybSA9IC0xLFxyXG4gIEl0ZW0gPSAwLFxyXG4gIEFjY2VzcyA9IDEsXHJcbiAgT3B0aW9uSWNvbiA9IDIsXHJcbiAgT3B0aW9uTGluayA9IDMsXHJcbiAgT3B0aW9uTGlua05ld1RhYiA9IDQsXHJcbiAgT3B0aW9uUmVwb3J0ID0gNSxcclxuICBPcHRpb25GaWxlID0gNixcclxuICBPcHRpb25Nb2RhbCA9IDcsXHJcbiAgT3B0aW9uQ29uZmlybSA9IDgsXHJcbn1cclxuZXhwb3J0IGVudW0gUGVybWlzc2lvbk9wdGlvblR5cGVFbnVtXHJcbntcclxuICBJY29uID0gMCxcclxuICBCdXR0b24gPSAxLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBWZWhpY2xlVHlwZVxyXG57XHJcbiAgQ2FyID0gMSxcclxuICBNb3RvcmN5Y2xlID0gMixcclxuICBBaXJwbGFuZSA9IDMsXHJcbiAgVHJhaW4gPSA0LFxyXG4gIFNoaXAgPSA1LFxyXG59XHJcbiJdfQ==
169
+ export var TableOptionType;
170
+ (function (TableOptionType) {
171
+ TableOptionType[TableOptionType["Hidden"] = 1] = "Hidden";
172
+ TableOptionType[TableOptionType["Show"] = 2] = "Show";
173
+ TableOptionType[TableOptionType["Group"] = 3] = "Group";
174
+ })(TableOptionType || (TableOptionType = {}));
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9lbnVtLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQVk7UUFDM0IsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQVksRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBWTtRQUN6QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckMsT0FBTztnQkFDTCxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7YUFDekIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFOLElBQVks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LHlEQUFjLENBQUE7SUFDZCxxREFBWSxDQUFBO0lBQ1osK0NBQVMsQ0FBQTtJQUNULDZDQUFRLENBQUE7QUFDVixDQUFDLEVBUFcsV0FBVyxLQUFYLFdBQVcsUUFPdEI7QUFDRCxNQUFNLENBQU4sSUFBWSxlQUtYO0FBTEQsV0FBWSxlQUFlO0lBRXpCLHlEQUFVLENBQUE7SUFDVixxREFBUSxDQUFBO0lBQ1IsdURBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxlQUFlLEtBQWYsZUFBZSxRQUsxQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBFbnVtVXRpbHMge1xyXG4gIHN0YXRpYyBnZXRWYWx1ZXMoZW51bU9iajogYW55KTogYW55W10ge1xyXG4gICAgcmV0dXJuIEVudW1VdGlscy5nZXRLZXlzKGVudW1PYmopLm1hcCh2YWx1ZSA9PiBlbnVtT2JqW3ZhbHVlXSk7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXRLZXlCeVZhbHVlKGVudW1PYmo6IGFueSwgdik6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLmdldEtleXMoZW51bU9iaikuZmluZChrZXkgPT4gZW51bU9ialtrZXldID09PSB2KTtcclxuICB9XHJcbiAgc3RhdGljIGdldEtleXMoZW51bU9iajogYW55KTogYW55W10ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1PYmopLmZpbHRlcihrZXkgPT4gdHlwZW9mIGVudW1PYmpba2V5XSA9PT0gJ251bWJlcicpO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0S2V5c0FuZFZhbHVlcyhlbnVtT2JqOiBhbnkpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRLZXlzKGVudW1PYmopLm1hcChrZXkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGtleSwgdmFsdWU6IGVudW1PYmpba2V5XVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZW51bSBJbnB1dEVycm9yIHtcclxuICBSZXF1aXJlZCA9ICdSZXF1aXJlZCcsXHJcbiAgSW52YWxpZCA9ICdJbnZhbGlkJyxcclxuICBMZW5ndGggPSAnTGVuZ3RoJyxcclxuICBNaW5MZW5ndGggPSAnTWluTGVuZ3RoJyxcclxuICBNYXhMZW5ndGggPSAnTWF4TGVuZ3RoJyxcclxuICBNaW5BbW91bnQgPSAnTWluQW1vdW50JyxcclxuICBNYXhBbW91bnQgPSAnTWF4QW1vdW50JyxcclxuICBFeHBpcmVkID0gJ0V4cGlyZWQnLFxyXG4gIEVycm9yID0gJ0Vycm9yJyxcclxuICBOb3RNYXRjaCA9ICdOb3RNYXRjaCcsXHJcbiAgTm90QWxsb3dlZCA9ICdOb3RBbGxvd2VkJyxcclxuICBNYXhDb250ZW50ID0gJ01heENvbnRlbnQnLFxyXG4gIEV4aXN0ID0gJ0V4aXN0JyxcclxuICBOb3RFeGlzdCA9ICdOb3RFeGlzdCcsXHJcbiAgV3JvbmcgPSAnV3JvbmcnLFxyXG4gIFVwbG9hZCA9ICdVcGxvYWQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBJbnB1dFR5cGUge1xyXG4gIFRleHQsXHJcbiAgUGFzc3dvcmQsXHJcbiAgTW9iaWxlLFxyXG4gIFBob25lLFxyXG4gIEVtYWlsLFxyXG4gIE5hdGlvbmFsQ29kZSxcclxuICBQb3N0YWxDb2RlLFxyXG4gIFNoZWJhLFxyXG4gIE51bWJlcixcclxuICBTZWxlY3QsXHJcbiAgU2VsZWN0U2VhcmNoLFxyXG4gIFNlbGVjdEF1dG9Db21wbGV0ZSxcclxuICBEYXRlLFxyXG4gIFRpbWUsXHJcbiAgRGF0ZVRpbWUsXHJcbiAgQ2hlY2ssXHJcbiAgVGV4dEFyZWEsXHJcbiAgTGFiZWwsXHJcbiAgQnV0dG9uLFxyXG4gIFN1Ym1pdCxcclxuICBJY29uLFxyXG4gIEZpbGUsXHJcbiAgVXJsLFxyXG4gIFByaWNlLFxyXG4gIFJhZGlvLFxyXG4gIFRyZWUsXHJcbiAgUGxhcXVlLFxyXG4gIFBsYXF1ZU0sXHJcbiAgU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlLFxyXG4gIFNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZU0sXHJcbiAgQmFua0NhcmQsXHJcbiAgQ29uc3RhbnQsXHJcbiAgSGlkZGVuLFxyXG4gIFRhYmxlLFxyXG4gIENhclNlYXJjaCxcclxuICBDYXIsXHJcbiAgRmluZ2VyLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBPcGVyYXRpb25FbnVtXHJcbntcclxuICBBbGwgPSAtMSxcclxuICBJbnNlcnQgPSAxLFxyXG4gIFVwZGF0ZSA9IDIsXHJcbiAgRGVsZXRlID0gMyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTWV0aG9kIHtcclxuICBHZXQsXHJcbiAgUG9zdCxcclxuICBEZWxldGUsXHJcbiAgUHV0LFxyXG4gIE9wdGlvbnMsXHJcbiAgUGF0Y2gsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFRhYmxlQ29sbFR5cGUge1xyXG4gIFRleHQsXHJcbiAgRGF0ZSxcclxuICBUaW1lLFxyXG4gIERhdGVUaW1lLFxyXG4gIERhdGVEaWYsXHJcbiAgRGF0ZVJlbWFpbixcclxuICBVcmwsXHJcbiAgSW1hZ2UsXHJcbiAgRnVuY3Rpb24sXHJcbiAgUHJpY2UsXHJcbiAgUGxhcXVlLFxyXG4gIFBsYXF1ZVRleHQsXHJcbiAgRmlsZVNpemUsXHJcbiAgQm9vbCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVXNlclR5cGUge1xyXG4gIEFsbCA9IDAsXHJcbiAgQWRtaW4gPSAxLFxyXG4gIFVzZXIgPSAyXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN0YXR1c0VudW1cclxue1xyXG4gIEFsbCA9IC0xLFxyXG4gIEFjdGl2ZSA9IDAsXHJcbiAgRGVBY3RpdmUgPSAxLFxyXG4gIERlbGV0ZSA9IDIsXHJcbiAgUmVwb3J0ID0gMyxcclxufVxyXG5leHBvcnQgZW51bSBQYXltZW50U3RhdHVzRW51bVxyXG57XHJcbiAgQWxsID0gMCxcclxuICBTdWNjZXNzID0gMTAwLFxyXG4gIE5PSyA9IDEwMixcclxuICBSZXF1ZXN0ID0gMTAzLFxyXG4gIE5vdGZvdW5kID0gMTA0LFxyXG4gIE5vdFJlcXVlc3QgPSAxMDUsXHJcbiAgTm90Zm91bmRQYWNrYWdlID0gMTA2XHJcbn1cclxuZXhwb3J0IGVudW0gUmVzdWx0U3RhdHVzRW51bVxyXG57XHJcbiAgRmFpbGVkID0gMCxcclxuICBTdWNjZXNzID0gMSxcclxuICBVbmF1dGhvcml6ZWQgPSAyLFxyXG4gIE5vdEFjY2VzcyA9IDNcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUGVybWlzc2lvblR5cGVFbnVtXHJcbntcclxuICBGb3JtID0gLTEsXHJcbiAgSXRlbSA9IDAsXHJcbiAgQWNjZXNzID0gMSxcclxuICBPcHRpb25JY29uID0gMixcclxuICBPcHRpb25MaW5rID0gMyxcclxuICBPcHRpb25MaW5rTmV3VGFiID0gNCxcclxuICBPcHRpb25SZXBvcnQgPSA1LFxyXG4gIE9wdGlvbkZpbGUgPSA2LFxyXG4gIE9wdGlvbk1vZGFsID0gNyxcclxuICBPcHRpb25Db25maXJtID0gOCxcclxufVxyXG5leHBvcnQgZW51bSBQZXJtaXNzaW9uT3B0aW9uVHlwZUVudW1cclxue1xyXG4gIEljb24gPSAwLFxyXG4gIEJ1dHRvbiA9IDEsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFZlaGljbGVUeXBlXHJcbntcclxuICBDYXIgPSAxLFxyXG4gIE1vdG9yY3ljbGUgPSAyLFxyXG4gIEFpcnBsYW5lID0gMyxcclxuICBUcmFpbiA9IDQsXHJcbiAgU2hpcCA9IDUsXHJcbn1cclxuZXhwb3J0IGVudW0gVGFibGVPcHRpb25UeXBlXHJcbntcclxuICBIaWRkZW4gPSAxLFxyXG4gIFNob3cgPSAyLFxyXG4gIEdyb3VwID0gMyxcclxufVxyXG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { ModalClass } from './modal.class';
2
2
  import { InputClass } from './form.class';
3
- import { InputType, Method, PermissionOptionTypeEnum, PermissionTypeEnum, TableCollType } from './enum.class';
3
+ import { InputType, Method, PermissionOptionTypeEnum, PermissionTypeEnum, TableCollType, TableOptionType } from './enum.class';
4
4
  import { RequestClass } from './request.class';
5
5
  import { PermissionClass } from './permission.class';
6
6
  import { HelperClass } from './helper.class';
@@ -26,6 +26,7 @@ export class TableClass {
26
26
  this.displayLabel = true;
27
27
  this.isReport = false;
28
28
  this.sortable = false;
29
+ this.optionType = TableOptionType.Hidden;
29
30
  this.loading = true;
30
31
  this.hasStatus = false;
31
32
  this.hasChildren = false;
@@ -178,7 +179,7 @@ export class TableClass {
178
179
  const p = new PermissionClass();
179
180
  p.RelatedId = this.permissions.RelatedId;
180
181
  p.Area = this.permissions.Area;
181
- p.Controller = this.permissions.Controller;
182
+ p.Controller = option.Controller ? option.Controller : this.permissions.Controller;
182
183
  p.Action = this.permissions.Action;
183
184
  opt.url = p.getUrl() + option.Action + '/{}';
184
185
  opt.urlNewTab = option.Type === PermissionTypeEnum.OptionLinkNewTab;
@@ -230,10 +231,10 @@ export class TableClass {
230
231
  }
231
232
  else if (option.Type === PermissionTypeEnum.OptionReport) {
232
233
  const p = new PermissionClass();
233
- p.RelatedId = this.permissions.RelatedId;
234
+ p.RelatedId = option.Action + '/' + this.permissions.RelatedId;
234
235
  p.Area = this.permissions.Area;
235
- p.Controller = this.permissions.Controller;
236
- p.Action = option.Action;
236
+ p.Controller = 'Print';
237
+ p.Action = 'Index';
237
238
  opt.url = '/Report' + p.getUrl() + '/{}';
238
239
  opt.urlNewTab = true;
239
240
  }
@@ -289,4 +290,4 @@ export class TableRowClass {
289
290
  this.children = children;
290
291
  }
291
292
  }
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NsYXNzZXMvdGFibGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQVksVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM1RyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUFZLFdBQWdCLEVBQUUsQ0FBb0IsRUFBRSxXQUE0QixFQUFFLE9BQWUsRUFBRSxFQUFFLE1BQWMsRUFBRSxFQUN6RyxVQUFrQixFQUFFLEVBQUUsU0FBaUIsRUFBRTtRQVVyRCxnQkFBVyxHQUFRLElBQUksQ0FBQztRQUd4QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBSWxCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ1gsV0FBTSxHQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDN0IsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQUM1QixZQUFPLEdBQWlCLEVBQUUsQ0FBQztRQUMzQixZQUFPLEdBQWlCLEVBQUUsQ0FBQztRQUMzQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsVUFBSyxHQUFHLENB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QUM7UUFFMUIsUUFBRyxHQUFrQixJQUFJLENBQUM7UUFmeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztDQVVGO0FBRUQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBbUIsSUFBSSxFQUFTLFFBQVE7UUFBckIsU0FBSSxHQUFKLElBQUksQ0FBQTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQUE7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RhbENsYXNzfSBmcm9tICcuL21vZGFsLmNsYXNzJztcclxuaW1wb3J0IHtGb3JtQ2xhc3MsIElucHV0Q2xhc3N9IGZyb20gJy4vZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRUeXBlLCBNZXRob2QsIFBlcm1pc3Npb25PcHRpb25UeXBlRW51bSwgUGVybWlzc2lvblR5cGVFbnVtLCBUYWJsZUNvbGxUeXBlfSBmcm9tICcuL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge1JlcXVlc3RDbGFzc30gZnJvbSAnLi9yZXF1ZXN0LmNsYXNzJztcclxuaW1wb3J0IHtQZXJtaXNzaW9uQ2xhc3N9IGZyb20gJy4vcGVybWlzc2lvbi5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4vaGVscGVyLmNsYXNzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihlbnZpcm9ubWVudDogYW55LCBsOiAoaywgdj8pID0+IHN0cmluZywgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25DbGFzcywgbmFtZTogc3RyaW5nID0gJycsIGNsczogc3RyaW5nID0gJycsXHJcbiAgICAgICAgICAgICAgcGVyUGFnZTogbnVtYmVyID0gMTAsIGhlaWdodDogbnVtYmVyID0gNTApIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcclxuICAgIHRoaXMubCA9IGw7XHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy5pZCA9IHRoaXMubmFtZTtcclxuICAgIHRoaXMucGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucztcclxuICAgIHRoaXMuY2xhc3MgPSBjbHM7XHJcbiAgICB0aGlzLnBlclBhZ2UgPSBwZXJQYWdlO1xyXG4gICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgfVxyXG4gIGVudmlyb25tZW50OiBhbnkgPSBudWxsO1xyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uQ2xhc3M7XHJcbiAgcGVybWlzc2lvbiA9IHRydWU7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgY2xhc3M6IHN0cmluZztcclxuICBzdHlsZSA9IHt9O1xyXG4gIHVybCA9IG51bGw7XHJcbiAgbWV0aG9kOiBNZXRob2QgPSBNZXRob2QuUG9zdDtcclxuICBoZWlnaHQgPSA0MDtcclxuICBwZXJQYWdlID0gMTA7XHJcbiAgY29sczogVGFibGVDb2xsQ2xhc3NbXSA9IFtdO1xyXG4gIGJ1dHRvbnM6IElucHV0Q2xhc3NbXSA9IFtdO1xyXG4gIG9wdGlvbnM6IElucHV0Q2xhc3NbXSA9IFtdO1xyXG4gIHJvd3MgPSBbXTtcclxuICBjb3VudCA9IDA7XHJcbiAgcGFnZSA9IDE7XHJcbiAgc29ydCA9IG51bGw7XHJcbiAgcXVlcnlQYXJhbXMgPSB7fTtcclxuICB0aXRsZSA9IG51bGw7XHJcbiAgc29ydFR5cGUgPSBudWxsO1xyXG4gIGRpc3BsYXlMYWJlbCA9IHRydWU7XHJcbiAgaXNSZXBvcnQgPSBmYWxzZTtcclxuICBzb3J0YWJsZSA9IGZhbHNlO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIGhhc1N0YXR1cyA9IGZhbHNlO1xyXG4gIGhhc0NoaWxkcmVuID0gZmFsc2U7XHJcbiAgY2hpbGRyZW5BdXRvTG9hZCA9IGZhbHNlO1xyXG4gIHdpdGhTZWxlY3QgPSBmYWxzZTtcclxuICBleHRyYUJ1dHRvbnMgPSB0cnVlO1xyXG4gIGZvcm06IEZvcm1DbGFzcyA9IG51bGw7XHJcbiAgc2VhcmNoRm9ybTogRm9ybUNsYXNzID0gbnVsbDtcclxuICBtb2RhbDogTW9kYWxDbGFzcyA9IG51bGw7XHJcbiAgbGV2ZWwgPSBudWxsO1xyXG4gIG9uTG9hZDogKCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25Tb3J0OiAoKSA9PiB2b2lkID0gbnVsbDtcclxuICBzaG93Q29uZmlybTogKGw6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGEsIGFjY2VwdDogKGJ0bjogSW5wdXRDbGFzcykgPT4gdm9pZCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgaGFzT3B0aW9uKCk6IGJvb2xlYW57IHJldHVybiB0aGlzLnBlcm1pc3Npb25zICYmICh0aGlzLnBlcm1pc3Npb25zLmhhc0FjY2VzcygnRGVsZXRlJykgfHxcclxuICAgIHRoaXMucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdVcGRhdGUnKSB8fCB0aGlzLmhhc1N0YXR1cyB8fCB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCB8fCB0aGlzLmhhc0NoaWxkcmVuKTsgfVxyXG4gIGxvYWQoYnRuID0gbnVsbCk6IHZvaWR7XHJcbiAgICBpZiAodGhpcy51cmwpe1xyXG4gICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCkudGFibGUodGhpcywgYnRuKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlYXJjaERhdGEoKToge30ge1xyXG4gICAgY29uc3QgZDogYW55ID0ge1xyXG4gICAgICBQYWdlOiB0aGlzLnBhZ2UsXHJcbiAgICAgIFBlclBhZ2U6IHRoaXMucGVyUGFnZSxcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5zb3J0YWJsZSl7XHJcbiAgICAgIGQuU29ydCA9ICdQcmlvcml0eSc7XHJcbiAgICAgIGQuU29ydFR5cGUgPSAnQVNDJztcclxuICAgIH1lbHNlIGlmICh0aGlzLnNvcnQpe1xyXG4gICAgICBkLlNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICAgIGQuU29ydFR5cGUgPSB0aGlzLnNvcnRUeXBlO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBjIG9mIHRoaXMuY29scy5maWx0ZXIoeCA9PiB4LndpdGhTZWFyY2ggJiYgeC5zZWFyY2ggIT0gbnVsbCAmJiB4LnNlYXJjaC5kYXRhKCkgIT0gbnVsbCAmJiB4LnNlYXJjaC5kYXRhKCkgIT09ICcnKSl7XHJcbiAgICAgIGRbYy5uYW1lXSA9IGMuc2VhcmNoLmRhdGEoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnNlYXJjaEZvcm0gPyB0aGlzLnNlYXJjaEZvcm0uanNvbihkKSA6IGQ7XHJcbiAgfVxyXG4gIGdldFVybChpc1JlcG9ydDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnVybCArICh0aGlzLmlzUmVwb3J0IHx8IGlzUmVwb3J0ID8gJ1JlcG9ydD8nIDogJ0xpc3QnKTtcclxuICB9XHJcbiAgc2hvd0luc2VydE1vZGFsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5zZXJ0QWNjZXNzID0gdGhpcy5wZXJtaXNzaW9ucy5nZXRBY2Nlc3MoJ0luc2VydCcpO1xyXG4gICAgdGhpcy5mb3JtLnVybCA9IHRoaXMuZm9ybS5iYXNlVXJsID0gdGhpcy51cmwgKyAnSW5zZXJ0JztcclxuICAgIHRoaXMuZm9ybS5uYW1lID0gaW5zZXJ0QWNjZXNzLk5hbWU7XHJcbiAgICB0aGlzLmZvcm0ubWV0aG9kID0gTWV0aG9kLlBvc3Q7XHJcbiAgICB0aGlzLmZvcm0uaW5wdXRzLmZpbHRlcih4ID0+IHguaW5FZGl0RGlzYWJsZWQpLmZvckVhY2goeCA9PiB4LmRpc2FibGVkID0gZmFsc2UpO1xyXG4gICAgdGhpcy5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiAheC5pbkVkaXRWaXNpYmxlKS5mb3JFYWNoKHggPT4geC52aXNpYmxlID0gdHJ1ZSk7XHJcbiAgICB0aGlzLm1vZGFsLnNob3coKTtcclxuICB9XHJcbiAgc2V0KGNoYW5nZVJvd3MgPSBudWxsKTogdm9pZHtcclxuICAgIHRoaXMucGVybWlzc2lvbiA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9ucylcclxuICAgIHtcclxuICAgICAgY29uc3QgbGlzdEFjY2VzcyA9IHRoaXMucGVybWlzc2lvbnMuZ2V0QWNjZXNzKCdMaXN0Jyk7XHJcbiAgICAgIGlmIChsaXN0QWNjZXNzICE9PSBudWxsKXtcclxuICAgICAgICB0aGlzLnRpdGxlID0gbGlzdEFjY2Vzcy5OYW1lO1xyXG4gICAgICAgIHRoaXMudXJsID0gdGhpcy5wZXJtaXNzaW9ucy5nZXRVcmwoKTtcclxuICAgICAgICBpZiAodGhpcy5wZXJtaXNzaW9ucy5UeXBlICE9PSBQZXJtaXNzaW9uVHlwZUVudW0uRm9ybSl7XHJcbiAgICAgICAgICB0aGlzLmxvYWQoKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMucGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbnNlcnRBY2Nlc3MgPSB0aGlzLnBlcm1pc3Npb25zLmdldEFjY2VzcygnSW5zZXJ0Jyk7XHJcbiAgICBpZiAoaW5zZXJ0QWNjZXNzICE9IG51bGwpe1xyXG4gICAgICBjb25zdCBpbnNlcnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIGluc2VydEFjY2Vzcy5OYW1lLCAnZmFkIGZhLXBsdXMgZmEtcm90YXRlLTkwJywgSW5wdXRUeXBlLkJ1dHRvbiwgJ3ctdSBncmVlbiBoLTMwJyk7XHJcbiAgICAgIGlmICh0aGlzLmZvcm0pe1xyXG4gICAgICAgIHRoaXMuZm9ybS51cmwgPSB0aGlzLmZvcm0uYmFzZVVybCA9IHRoaXMudXJsICsgJ0luc2VydCc7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZvcm0ub25Ub3Ape1xyXG4gICAgICAgICAgaW5zZXJ0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybS5vblN1Y2Nlc3NCYXNlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnNob3dJbnNlcnRNb2RhbCgpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMuYnV0dG9ucy51bnNoaWZ0KGluc2VydCk7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmJ1dHRvbnMudW5zaGlmdChpbnNlcnQpO1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGFsKXtcclxuICAgICAgICAgIGluc2VydC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsLnNob3coKTtcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBpbnNlcnQudXJsID0gdGhpcy51cmwgKyAnSW5zZXJ0JztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICgodGhpcy5wZXJtaXNzaW9ucy5oYXNBY2Nlc3MoJ0luc2VydCcpIHx8IHRoaXMucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdVcGRhdGUnKSkgJiYgdGhpcy5mb3JtKXtcclxuICAgICAgdGhpcy5mb3JtLmFkZEJ1dHRvbnMoJ1NhdmUnLCAnZ3JlZW4nLCB0cnVlLCB0aGlzLnBlcm1pc3Npb25zLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5Gb3JtID8gKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5JZCl7XHJcbiAgICAgICAgICBjb25zdCBpID0gdGhpcy5yb3dzLmZpbmRJbmRleCh4ID0+IHguSWQgPT09IGRhdGEuSWQpO1xyXG4gICAgICAgICAgdGhpcy5yb3dzW2ldID0gZGF0YTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGRhdGEuSWQgPSBwYXJzZUludChIZWxwZXJDbGFzcy5yYW5kb20oNSwgZmFsc2UsIGZhbHNlKSwgMTApO1xyXG4gICAgICAgICAgdGhpcy5yb3dzLnVuc2hpZnQoZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChjaGFuZ2VSb3dzKXtcclxuICAgICAgICAgIGNoYW5nZVJvd3MuZW1pdChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtLmNsZWFyKCk7XHJcbiAgICAgIH0gOiBudWxsKTtcclxuICAgICAgaWYgKHRoaXMuZm9ybS5vblRvcCl7XHJcbiAgICAgICAgdGhpcy5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uY2xlYXIoKTtcclxuICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm1vZGFsKXtcclxuICAgICAgICAgIHRoaXMubW9kYWwgPSBuZXcgTW9kYWxDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIHRoaXMubmFtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kYWwuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBvcHRpb24gb2YgdGhpcy5wZXJtaXNzaW9ucy5nZXRPcHRpb25zKCkpe1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmZpbHRlcih4ID0+IHgubmFtZSA9PT0gb3B0aW9uLk5hbWUpLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG9wdCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCwgb3B0aW9uLk5hbWUsIG9wdGlvbi5JY29uLFxyXG4gICAgICAgIG9wdGlvbi5PcHRpb25UeXBlID09PSBQZXJtaXNzaW9uT3B0aW9uVHlwZUVudW0uSWNvbiA/IElucHV0VHlwZS5JY29uIDogSW5wdXRUeXBlLkJ1dHRvbiwgJ2JsdWUgaC0yNSBtLWgtNSBkLWliIHZhLW0gZi11Jyk7XHJcbiAgICAgIG9wdC5jb25kaXRpb24gPSBvcHRpb24uQ29uZGl0aW9uO1xyXG4gICAgICBpZiAob3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25MaW5rIHx8IG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uTGlua05ld1RhYil7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgIHAuQXJlYSA9IHRoaXMucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgcC5BY3Rpb24gPSB0aGlzLnBlcm1pc3Npb25zLkFjdGlvbjtcclxuICAgICAgICBvcHQudXJsID0gcC5nZXRVcmwoKSArIG9wdGlvbi5BY3Rpb24gKyAnL3t9JztcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gb3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25MaW5rTmV3VGFiO1xyXG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uTW9kYWwpe1xyXG4gICAgICAgIG9wdC5tb2RhbCA9IG9wdGlvbi5Nb2RhbDtcclxuICAgICAgICBvcHQub25DbGljayA9IChidG4pID0+IHtcclxuICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUpe1xyXG4gICAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IGJ0bi5yb3cuSWQ7XHJcbiAgICAgICAgICAgIHAuQXJlYSA9IHRoaXMucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgICAgcC5Db250cm9sbGVyID0gdGhpcy5wZXJtaXNzaW9ucy5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICAgIHAuQWNjZXNzZXMgPSBvcHRpb24uQWNjZXNzZXM7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5wZXJtaXNzaW9ucyA9IHA7XHJcbiAgICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUuZm9ybSl7XHJcbiAgICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLmZvcm0udXJsID0gcC5nZXRVcmwoKSArICdJbnNlcnQnO1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5mb3JtLmJhc2VVcmwgPSBwLmdldFVybCgpICsgJ0luc2VydCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLnNldCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG9wdC5tb2RhbC5mb3JtKXtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ubmFtZSA9IG9wdGlvbi5OYW1lO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS51cmwgPSBvcHQubW9kYWwuZm9ybS5iYXNlVXJsICsgJ1VwZGF0ZS8nICsgYnRuLnJvdy5JZDtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ubG9hZERhdGEob3B0Lm1vZGFsLmZvcm0uYmFzZVVybCArICdHZXQvJyArIGJ0bi5yb3cuSWQpO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS5vblN1Y2Nlc3NCYXNlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob3B0Lm1vZGFsLmFjY29yZGlvbil7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgciBvZiBvcHQubW9kYWwuYWNjb3JkaW9uLnJvd3Mpe1xyXG4gICAgICAgICAgICAgIGlmIChyLnRhYmxlKXtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IGJ0bi5yb3cuSWQ7XHJcbiAgICAgICAgICAgICAgICBwLkFyZWEgPSB0aGlzLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICAgICAgICBwLkFjdGlvbiA9IHIubmFtZTtcclxuICAgICAgICAgICAgICAgIHAuQWNjZXNzZXMgPSBvcHRpb24uQWNjZXNzZXM7XHJcbiAgICAgICAgICAgICAgICByLnRhYmxlLnBlcm1pc3Npb25zID0gcDtcclxuICAgICAgICAgICAgICAgIGlmIChyLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0udXJsID0gcC5nZXRVcmwoKSArICdJbnNlcnQnO1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0uYmFzZVVybCA9IHAuZ2V0VXJsKCkgKyAnSW5zZXJ0JztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHIudGFibGUuc2V0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24uVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvblJlcG9ydCl7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgIHAuQXJlYSA9IHRoaXMucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgcC5BY3Rpb24gPSBvcHRpb24uQWN0aW9uO1xyXG4gICAgICAgIG9wdC51cmwgPSAnL1JlcG9ydCcgKyBwLmdldFVybCgpICsgJy97fSc7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25GaWxlKXtcclxuICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgcC5BcmVhID0gdGhpcy5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICBwLkFjdGlvbiA9ICh0aGlzLnBlcm1pc3Npb25zLkFjdGlvbiA/IHRoaXMucGVybWlzc2lvbnMuQWN0aW9uIDogJycpICsgb3B0aW9uLkFjdGlvbjtcclxuICAgICAgICBvcHQudXJsID0gJy9GaWxlJyArIHAuZ2V0VXJsKCkgKyAnL3t9JztcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24uVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbkNvbmZpcm0pe1xyXG4gICAgICAgIG9wdC5vbkNsaWNrID0gKGJ0bikgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFyZWEgPSB0aGlzLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICB0aGlzLnNob3dDb25maXJtKHRoaXMubChvcHRpb24uQWN0aW9uICsgJ0NvbmZpcm0nKSwgcC5nZXRVcmwoKSArICcvJyArIGJ0bi5yb3cuSWQsIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uSWNvbil7XHJcbiAgICAgICAgaWYgKG9wdGlvbi5PbkNsaWNrKXtcclxuICAgICAgICAgIG9wdC5vbkNsaWNrID0gKGJ0bikgPT4ge1xyXG4gICAgICAgICAgICBvcHRpb24uT25DbGljayhidG4pO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vcHRpb25zLnB1c2gob3B0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbGxDbGFzcyB7XHJcbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIsIGNscyA9ICcnLCB0eXBlOiBUYWJsZUNvbGxUeXBlID0gVGFibGVDb2xsVHlwZS5UZXh0LFxyXG4gICAgICAgICAgICAgIHdpdGhTZWFyY2g6IGJvb2xlYW4gPSB0cnVlLCBzb3J0OiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICB0aGlzLmNsYXNzID0gY2xzO1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMud2l0aFNlYXJjaCA9IHdpdGhTZWFyY2g7XHJcbiAgICB0aGlzLnNvcnQgPSBzb3J0O1xyXG4gIH1cclxuICBlbnVtID0gbnVsbDtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcGVyY2VudDogbnVtYmVyO1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbiAgc29ydCA9IHRydWU7XHJcbiAgd2l0aFNlYXJjaDogYm9vbGVhbjtcclxuICBzZWFyY2g6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIHR5cGU6IFRhYmxlQ29sbFR5cGU7XHJcbiAgZnVuOiAocm93KSA9PiB2b2lkID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlUm93Q2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhLCBwdWJsaWMgY2hpbGRyZW4pIHtcclxuICB9XHJcbn1cclxuIl19
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NsYXNzZXMvdGFibGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQVksVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFBWSxXQUFnQixFQUFFLENBQW9CLEVBQUUsV0FBNEIsRUFBRSxPQUFlLEVBQUUsRUFBRSxNQUFjLEVBQUUsRUFDekcsVUFBa0IsRUFBRSxFQUFFLFNBQWlCLEVBQUU7UUFVckQsZ0JBQVcsR0FBUSxJQUFJLENBQUM7UUFHeEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUlsQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsUUFBRyxHQUFHLElBQUksQ0FBQztRQUNYLFdBQU0sR0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzdCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsU0FBSSxHQUFxQixFQUFFLENBQUM7UUFDNUIsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFVB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RUFDakYsYUFBc0IsSUFBSSxFQUFFLE9BQWdCLElBQUk7UUFRNUQsU0FBSSxHQUFHLElBQUksQ0FBQztRQUlaLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFWixXQUFNLEdBQWUsSUFBSSxDQUFDO1FBRTFCLFFBQUcsR0FBa0IsSUFBSSxDQUFDO1FBZnhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FVRjtBQUVELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQW1CLElBQUksRUFBUyxRQUFRO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQUE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFBO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9kYWxDbGFzc30gZnJvbSAnLi9tb2RhbC5jbGFzcyc7XHJcbmltcG9ydCB7Rm9ybUNsYXNzLCBJbnB1dENsYXNzfSBmcm9tICcuL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0VHlwZSwgTWV0aG9kLCBQZXJtaXNzaW9uT3B0aW9uVHlwZUVudW0sIFBlcm1pc3Npb25UeXBlRW51bSwgVGFibGVDb2xsVHlwZSwgVGFibGVPcHRpb25UeXBlfSBmcm9tICcuL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge1JlcXVlc3RDbGFzc30gZnJvbSAnLi9yZXF1ZXN0LmNsYXNzJztcclxuaW1wb3J0IHtQZXJtaXNzaW9uQ2xhc3N9IGZyb20gJy4vcGVybWlzc2lvbi5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4vaGVscGVyLmNsYXNzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihlbnZpcm9ubWVudDogYW55LCBsOiAoaywgdj8pID0+IHN0cmluZywgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25DbGFzcywgbmFtZTogc3RyaW5nID0gJycsIGNsczogc3RyaW5nID0gJycsXHJcbiAgICAgICAgICAgICAgcGVyUGFnZTogbnVtYmVyID0gMTAsIGhlaWdodDogbnVtYmVyID0gNTApIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcclxuICAgIHRoaXMubCA9IGw7XHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy5pZCA9IHRoaXMubmFtZTtcclxuICAgIHRoaXMucGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucztcclxuICAgIHRoaXMuY2xhc3MgPSBjbHM7XHJcbiAgICB0aGlzLnBlclBhZ2UgPSBwZXJQYWdlO1xyXG4gICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgfVxyXG4gIGVudmlyb25tZW50OiBhbnkgPSBudWxsO1xyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uQ2xhc3M7XHJcbiAgcGVybWlzc2lvbiA9IHRydWU7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgY2xhc3M6IHN0cmluZztcclxuICBzdHlsZSA9IHt9O1xyXG4gIHVybCA9IG51bGw7XHJcbiAgbWV0aG9kOiBNZXRob2QgPSBNZXRob2QuUG9zdDtcclxuICBoZWlnaHQgPSA0MDtcclxuICBwZXJQYWdlID0gMTA7XHJcbiAgY29sczogVGFibGVDb2xsQ2xhc3NbXSA9IFtdO1xyXG4gIGJ1dHRvbnM6IElucHV0Q2xhc3NbXSA9IFtdO1xyXG4gIG9wdGlvbnM6IElucHV0Q2xhc3NbXSA9IFtdO1xyXG4gIHJvd3MgPSBbXTtcclxuICBjb3VudCA9IDA7XHJcbiAgcGFnZSA9IDE7XHJcbiAgc29ydCA9IG51bGw7XHJcbiAgcXVlcnlQYXJhbXMgPSB7fTtcclxuICB0aXRsZSA9IG51bGw7XHJcbiAgc29ydFR5cGUgPSBudWxsO1xyXG4gIGRpc3BsYXlMYWJlbCA9IHRydWU7XHJcbiAgaXNSZXBvcnQgPSBmYWxzZTtcclxuICBzb3J0YWJsZSA9IGZhbHNlO1xyXG4gIG9wdGlvblR5cGUgPSBUYWJsZU9wdGlvblR5cGUuSGlkZGVuO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIGhhc1N0YXR1cyA9IGZhbHNlO1xyXG4gIGhhc0NoaWxkcmVuID0gZmFsc2U7XHJcbiAgY2hpbGRyZW5BdXRvTG9hZCA9IGZhbHNlO1xyXG4gIHdpdGhTZWxlY3QgPSBmYWxzZTtcclxuICBleHRyYUJ1dHRvbnMgPSB0cnVlO1xyXG4gIGZvcm06IEZvcm1DbGFzcyA9IG51bGw7XHJcbiAgc2VhcmNoRm9ybTogRm9ybUNsYXNzID0gbnVsbDtcclxuICBtb2RhbDogTW9kYWxDbGFzcyA9IG51bGw7XHJcbiAgbGV2ZWwgPSBudWxsO1xyXG4gIG9uTG9hZDogKCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25Tb3J0OiAoKSA9PiB2b2lkID0gbnVsbDtcclxuICBzaG93Q29uZmlybTogKGw6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGEsIGFjY2VwdDogKGJ0bjogSW5wdXRDbGFzcykgPT4gdm9pZCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgaGFzT3B0aW9uKCk6IGJvb2xlYW57IHJldHVybiB0aGlzLnBlcm1pc3Npb25zICYmICh0aGlzLnBlcm1pc3Npb25zLmhhc0FjY2VzcygnRGVsZXRlJykgfHxcclxuICAgIHRoaXMucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdVcGRhdGUnKSB8fCB0aGlzLmhhc1N0YXR1cyB8fCB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCB8fCB0aGlzLmhhc0NoaWxkcmVuKTsgfVxyXG4gIGxvYWQoYnRuID0gbnVsbCk6IHZvaWR7XHJcbiAgICBpZiAodGhpcy51cmwpe1xyXG4gICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCkudGFibGUodGhpcywgYnRuKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlYXJjaERhdGEoKToge30ge1xyXG4gICAgY29uc3QgZDogYW55ID0ge1xyXG4gICAgICBQYWdlOiB0aGlzLnBhZ2UsXHJcbiAgICAgIFBlclBhZ2U6IHRoaXMucGVyUGFnZSxcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5zb3J0YWJsZSl7XHJcbiAgICAgIGQuU29ydCA9ICdQcmlvcml0eSc7XHJcbiAgICAgIGQuU29ydFR5cGUgPSAnQVNDJztcclxuICAgIH1lbHNlIGlmICh0aGlzLnNvcnQpe1xyXG4gICAgICBkLlNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICAgIGQuU29ydFR5cGUgPSB0aGlzLnNvcnRUeXBlO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBjIG9mIHRoaXMuY29scy5maWx0ZXIoeCA9PiB4LndpdGhTZWFyY2ggJiYgeC5zZWFyY2ggIT0gbnVsbCAmJiB4LnNlYXJjaC5kYXRhKCkgIT0gbnVsbCAmJiB4LnNlYXJjaC5kYXRhKCkgIT09ICcnKSl7XHJcbiAgICAgIGRbYy5uYW1lXSA9IGMuc2VhcmNoLmRhdGEoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnNlYXJjaEZvcm0gPyB0aGlzLnNlYXJjaEZvcm0uanNvbihkKSA6IGQ7XHJcbiAgfVxyXG4gIGdldFVybChpc1JlcG9ydDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnVybCArICh0aGlzLmlzUmVwb3J0IHx8IGlzUmVwb3J0ID8gJ1JlcG9ydD8nIDogJ0xpc3QnKTtcclxuICB9XHJcbiAgc2hvd0luc2VydE1vZGFsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5zZXJ0QWNjZXNzID0gdGhpcy5wZXJtaXNzaW9ucy5nZXRBY2Nlc3MoJ0luc2VydCcpO1xyXG4gICAgdGhpcy5mb3JtLnVybCA9IHRoaXMuZm9ybS5iYXNlVXJsID0gdGhpcy51cmwgKyAnSW5zZXJ0JztcclxuICAgIHRoaXMuZm9ybS5uYW1lID0gaW5zZXJ0QWNjZXNzLk5hbWU7XHJcbiAgICB0aGlzLmZvcm0ubWV0aG9kID0gTWV0aG9kLlBvc3Q7XHJcbiAgICB0aGlzLmZvcm0uaW5wdXRzLmZpbHRlcih4ID0+IHguaW5FZGl0RGlzYWJsZWQpLmZvckVhY2goeCA9PiB4LmRpc2FibGVkID0gZmFsc2UpO1xyXG4gICAgdGhpcy5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiAheC5pbkVkaXRWaXNpYmxlKS5mb3JFYWNoKHggPT4geC52aXNpYmxlID0gdHJ1ZSk7XHJcbiAgICB0aGlzLm1vZGFsLnNob3coKTtcclxuICB9XHJcbiAgc2V0KGNoYW5nZVJvd3MgPSBudWxsKTogdm9pZHtcclxuICAgIHRoaXMucGVybWlzc2lvbiA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9ucylcclxuICAgIHtcclxuICAgICAgY29uc3QgbGlzdEFjY2VzcyA9IHRoaXMucGVybWlzc2lvbnMuZ2V0QWNjZXNzKCdMaXN0Jyk7XHJcbiAgICAgIGlmIChsaXN0QWNjZXNzICE9PSBudWxsKXtcclxuICAgICAgICB0aGlzLnRpdGxlID0gbGlzdEFjY2Vzcy5OYW1lO1xyXG4gICAgICAgIHRoaXMudXJsID0gdGhpcy5wZXJtaXNzaW9ucy5nZXRVcmwoKTtcclxuICAgICAgICBpZiAodGhpcy5wZXJtaXNzaW9ucy5UeXBlICE9PSBQZXJtaXNzaW9uVHlwZUVudW0uRm9ybSl7XHJcbiAgICAgICAgICB0aGlzLmxvYWQoKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMucGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbnNlcnRBY2Nlc3MgPSB0aGlzLnBlcm1pc3Npb25zLmdldEFjY2VzcygnSW5zZXJ0Jyk7XHJcbiAgICBpZiAoaW5zZXJ0QWNjZXNzICE9IG51bGwpe1xyXG4gICAgICBjb25zdCBpbnNlcnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIGluc2VydEFjY2Vzcy5OYW1lLCAnZmFkIGZhLXBsdXMgZmEtcm90YXRlLTkwJywgSW5wdXRUeXBlLkJ1dHRvbiwgJ3ctdSBncmVlbiBoLTMwJyk7XHJcbiAgICAgIGlmICh0aGlzLmZvcm0pe1xyXG4gICAgICAgIHRoaXMuZm9ybS51cmwgPSB0aGlzLmZvcm0uYmFzZVVybCA9IHRoaXMudXJsICsgJ0luc2VydCc7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZvcm0ub25Ub3Ape1xyXG4gICAgICAgICAgaW5zZXJ0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybS5vblN1Y2Nlc3NCYXNlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnNob3dJbnNlcnRNb2RhbCgpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMuYnV0dG9ucy51bnNoaWZ0KGluc2VydCk7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmJ1dHRvbnMudW5zaGlmdChpbnNlcnQpO1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGFsKXtcclxuICAgICAgICAgIGluc2VydC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsLnNob3coKTtcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBpbnNlcnQudXJsID0gdGhpcy51cmwgKyAnSW5zZXJ0JztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICgodGhpcy5wZXJtaXNzaW9ucy5oYXNBY2Nlc3MoJ0luc2VydCcpIHx8IHRoaXMucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdVcGRhdGUnKSkgJiYgdGhpcy5mb3JtKXtcclxuICAgICAgdGhpcy5mb3JtLmFkZEJ1dHRvbnMoJ1NhdmUnLCAnZ3JlZW4nLCB0cnVlLCB0aGlzLnBlcm1pc3Npb25zLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5Gb3JtID8gKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5JZCl7XHJcbiAgICAgICAgICBjb25zdCBpID0gdGhpcy5yb3dzLmZpbmRJbmRleCh4ID0+IHguSWQgPT09IGRhdGEuSWQpO1xyXG4gICAgICAgICAgdGhpcy5yb3dzW2ldID0gZGF0YTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGRhdGEuSWQgPSBwYXJzZUludChIZWxwZXJDbGFzcy5yYW5kb20oNSwgZmFsc2UsIGZhbHNlKSwgMTApO1xyXG4gICAgICAgICAgdGhpcy5yb3dzLnVuc2hpZnQoZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChjaGFuZ2VSb3dzKXtcclxuICAgICAgICAgIGNoYW5nZVJvd3MuZW1pdChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtLmNsZWFyKCk7XHJcbiAgICAgIH0gOiBudWxsKTtcclxuICAgICAgaWYgKHRoaXMuZm9ybS5vblRvcCl7XHJcbiAgICAgICAgdGhpcy5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uY2xlYXIoKTtcclxuICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm1vZGFsKXtcclxuICAgICAgICAgIHRoaXMubW9kYWwgPSBuZXcgTW9kYWxDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIHRoaXMubmFtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kYWwuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBvcHRpb24gb2YgdGhpcy5wZXJtaXNzaW9ucy5nZXRPcHRpb25zKCkpe1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmZpbHRlcih4ID0+IHgubmFtZSA9PT0gb3B0aW9uLk5hbWUpLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG9wdCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCwgb3B0aW9uLk5hbWUsIG9wdGlvbi5JY29uLFxyXG4gICAgICAgIG9wdGlvbi5PcHRpb25UeXBlID09PSBQZXJtaXNzaW9uT3B0aW9uVHlwZUVudW0uSWNvbiA/IElucHV0VHlwZS5JY29uIDogSW5wdXRUeXBlLkJ1dHRvbiwgJ2JsdWUgaC0yNSBtLWgtNSBkLWliIHZhLW0gZi11Jyk7XHJcbiAgICAgIG9wdC5jb25kaXRpb24gPSBvcHRpb24uQ29uZGl0aW9uO1xyXG4gICAgICBpZiAob3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25MaW5rIHx8IG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uTGlua05ld1RhYil7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgIHAuQXJlYSA9IHRoaXMucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICBwLkNvbnRyb2xsZXIgPSBvcHRpb24uQ29udHJvbGxlciA/IG9wdGlvbi5Db250cm9sbGVyIDogdGhpcy5wZXJtaXNzaW9ucy5Db250cm9sbGVyO1xyXG4gICAgICAgIHAuQWN0aW9uID0gdGhpcy5wZXJtaXNzaW9ucy5BY3Rpb247XHJcbiAgICAgICAgb3B0LnVybCA9IHAuZ2V0VXJsKCkgKyBvcHRpb24uQWN0aW9uICsgJy97fSc7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uTGlua05ld1RhYjtcclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24uVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbk1vZGFsKXtcclxuICAgICAgICBvcHQubW9kYWwgPSBvcHRpb24uTW9kYWw7XHJcbiAgICAgICAgb3B0Lm9uQ2xpY2sgPSAoYnRuKSA9PiB7XHJcbiAgICAgICAgICBpZiAob3B0Lm1vZGFsLnRhYmxlKXtcclxuICAgICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgICAgcC5SZWxhdGVkSWQgPSBidG4ucm93LklkO1xyXG4gICAgICAgICAgICBwLkFyZWEgPSB0aGlzLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICAgICAgcC5BY3Rpb24gPSBvcHRpb24uQWN0aW9uO1xyXG4gICAgICAgICAgICBwLkFjY2Vzc2VzID0gb3B0aW9uLkFjY2Vzc2VzO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwudGFibGUucGVybWlzc2lvbnMgPSBwO1xyXG4gICAgICAgICAgICBpZiAob3B0Lm1vZGFsLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5mb3JtLnVybCA9IHAuZ2V0VXJsKCkgKyAnSW5zZXJ0JztcclxuICAgICAgICAgICAgICBvcHQubW9kYWwudGFibGUuZm9ybS5iYXNlVXJsID0gcC5nZXRVcmwoKSArICdJbnNlcnQnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5zZXQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChvcHQubW9kYWwuZm9ybSl7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC5mb3JtLm5hbWUgPSBvcHRpb24uTmFtZTtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0udXJsID0gb3B0Lm1vZGFsLmZvcm0uYmFzZVVybCArICdVcGRhdGUvJyArIGJ0bi5yb3cuSWQ7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC5mb3JtLmxvYWREYXRhKG9wdC5tb2RhbC5mb3JtLmJhc2VVcmwgKyAnR2V0LycgKyBidG4ucm93LklkKTtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ub25TdWNjZXNzQmFzZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICBvcHQubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG9wdC5tb2RhbC5hY2NvcmRpb24pe1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHIgb2Ygb3B0Lm1vZGFsLmFjY29yZGlvbi5yb3dzKXtcclxuICAgICAgICAgICAgICBpZiAoci50YWJsZSl7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgICAgICAgcC5SZWxhdGVkSWQgPSBidG4ucm93LklkO1xyXG4gICAgICAgICAgICAgICAgcC5BcmVhID0gdGhpcy5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgICAgICAgICAgcC5Db250cm9sbGVyID0gdGhpcy5wZXJtaXNzaW9ucy5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICAgICAgcC5BY3Rpb24gPSByLm5hbWU7XHJcbiAgICAgICAgICAgICAgICBwLkFjY2Vzc2VzID0gb3B0aW9uLkFjY2Vzc2VzO1xyXG4gICAgICAgICAgICAgICAgci50YWJsZS5wZXJtaXNzaW9ucyA9IHA7XHJcbiAgICAgICAgICAgICAgICBpZiAoci50YWJsZS5mb3JtKXtcclxuICAgICAgICAgICAgICAgICAgci50YWJsZS5mb3JtLnVybCA9IHAuZ2V0VXJsKCkgKyAnSW5zZXJ0JztcclxuICAgICAgICAgICAgICAgICAgci50YWJsZS5mb3JtLmJhc2VVcmwgPSBwLmdldFVybCgpICsgJ0luc2VydCc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByLnRhYmxlLnNldCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25SZXBvcnQpe1xyXG4gICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgcC5SZWxhdGVkSWQgPSBvcHRpb24uQWN0aW9uICsgJy8nICsgdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgcC5BcmVhID0gdGhpcy5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgIHAuQ29udHJvbGxlciA9ICdQcmludCc7XHJcbiAgICAgICAgcC5BY3Rpb24gPSAnSW5kZXgnO1xyXG4gICAgICAgIG9wdC51cmwgPSAnL1JlcG9ydCcgKyBwLmdldFVybCgpICsgJy97fSc7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25GaWxlKXtcclxuICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgcC5BcmVhID0gdGhpcy5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICBwLkFjdGlvbiA9ICh0aGlzLnBlcm1pc3Npb25zLkFjdGlvbiA/IHRoaXMucGVybWlzc2lvbnMuQWN0aW9uIDogJycpICsgb3B0aW9uLkFjdGlvbjtcclxuICAgICAgICBvcHQudXJsID0gJy9GaWxlJyArIHAuZ2V0VXJsKCkgKyAnL3t9JztcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24uVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbkNvbmZpcm0pe1xyXG4gICAgICAgIG9wdC5vbkNsaWNrID0gKGJ0bikgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFyZWEgPSB0aGlzLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICB0aGlzLnNob3dDb25maXJtKHRoaXMubChvcHRpb24uQWN0aW9uICsgJ0NvbmZpcm0nKSwgcC5nZXRVcmwoKSArICcvJyArIGJ0bi5yb3cuSWQsIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uSWNvbil7XHJcbiAgICAgICAgaWYgKG9wdGlvbi5PbkNsaWNrKXtcclxuICAgICAgICAgIG9wdC5vbkNsaWNrID0gKGJ0bikgPT4ge1xyXG4gICAgICAgICAgICBvcHRpb24uT25DbGljayhidG4pO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vcHRpb25zLnB1c2gob3B0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbGxDbGFzcyB7XHJcbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIsIGNscyA9ICcnLCB0eXBlOiBUYWJsZUNvbGxUeXBlID0gVGFibGVDb2xsVHlwZS5UZXh0LFxyXG4gICAgICAgICAgICAgIHdpdGhTZWFyY2g6IGJvb2xlYW4gPSB0cnVlLCBzb3J0OiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICB0aGlzLmNsYXNzID0gY2xzO1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMud2l0aFNlYXJjaCA9IHdpdGhTZWFyY2g7XHJcbiAgICB0aGlzLnNvcnQgPSBzb3J0O1xyXG4gIH1cclxuICBlbnVtID0gbnVsbDtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcGVyY2VudDogbnVtYmVyO1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbiAgc29ydCA9IHRydWU7XHJcbiAgd2l0aFNlYXJjaDogYm9vbGVhbjtcclxuICBzZWFyY2g6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIHR5cGU6IFRhYmxlQ29sbFR5cGU7XHJcbiAgZnVuOiAocm93KSA9PiB2b2lkID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlUm93Q2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhLCBwdWJsaWMgY2hpbGRyZW4pIHtcclxuICB9XHJcbn1cclxuIl19