@tiba-spark/client-shared-lib 10.2.1-710 → 10.2.1-78

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.
@@ -159,7 +159,7 @@ export const MainModuleToSubModulesPermissionTypeMap = {
159
159
  [Edge.PermissionType.CcMain]: [],
160
160
  [Edge.PermissionType.AccountManagementMain]: [Edge.PermissionType.AccountManagementAccountView, Edge.PermissionType.AccountManagementAccountCreate, Edge.PermissionType.AccountManagementAccountUpdate, Edge.PermissionType.AccountManagementAccountDelete],
161
161
  [Edge.PermissionType.MonthliesMain]: [Edge.PermissionType.MonthliesView, Edge.PermissionType.MonthliesCreate, Edge.PermissionType.MonthliesUpdate, Edge.PermissionType.MonthliesDelete, Edge.PermissionType.MonthlySeriesCreate],
162
- [Edge.PermissionType.GuestMain]: [Edge.PermissionType.SingleGuest, Edge.PermissionType.GuestView, Edge.PermissionType.GuestCreate, Edge.PermissionType.GuestUpdate, Edge.PermissionType.GuestDelete, Edge.PermissionType.GuestGroupView, Edge.PermissionType.GuestGroupCreate, Edge.PermissionType.GuestHotelGuestView, Edge.PermissionType.HotelGuestIOCreate],
162
+ [Edge.PermissionType.GuestMain]: [Edge.PermissionType.GuestView, Edge.PermissionType.GuestCreate, Edge.PermissionType.GuestUpdate, Edge.PermissionType.GuestDelete, Edge.PermissionType.GuestGroupView, Edge.PermissionType.GuestGroupCreate, Edge.PermissionType.GuestHotelGuestView, Edge.PermissionType.HotelGuestIOCreate],
163
163
  [Edge.PermissionType.ValidationMain]: [
164
164
  Edge.PermissionType.ValidationEValidationView, Edge.PermissionType.ValidationEValidationCreate, Edge.PermissionType.ValidationEValidationUpdate, Edge.PermissionType.ValidationEValidationDelete,
165
165
  Edge.PermissionType.ValidationStickerView, Edge.PermissionType.ValidationStickerCreate, Edge.PermissionType.ValidationStickerUpdate, Edge.PermissionType.ValidationStickerDelete,
@@ -179,4 +179,4 @@ export const AppModuleToMainPermissionTypeMap = {
179
179
  [Edge.AppModule.LotConfiguration]: Edge.PermissionType.LotConfigurationMain,
180
180
  [Edge.AppModule.Management]: Edge.PermissionType.TenantSettingsMain,
181
181
  };
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3V0aWxzL2hlbHBlci51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFhLHNCQUFzQixFQUFFLE1BQU0sR0FBRyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0RCxPQUFPLEVBQVMsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsNEJBQTRCO0FBQzVCLGtDQUFrQztBQUNsQyxnREFBZ0Q7QUFDaEQsTUFBTSxVQUFVLFFBQVEsQ0FBSSxHQUFNLEVBQUUsSUFBYztJQUNoRCxJQUFJLEdBQUcsR0FBTSxFQUFPLENBQUM7SUFDckIsS0FBSyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQzNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckI7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxHQUFHO0lBQ3ZDLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO1FBQzVCLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUM5QjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCLENBQUMsSUFBWSxFQUFFLE9BQXlCO0lBQzdFLGlEQUFp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RUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGlDQUFpQyxDQUFDO0lBQzdMLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUM7Q0FDaEYsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFtQztJQUM5RSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNO0lBQy9DLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQjtJQUNwRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhO0lBQzdELENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVM7SUFDdEQsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYztJQUMvRCxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXO0lBQ3pELENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CO0lBQzNFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQjtDQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE51bWJlck1hcCwgaXNDaGFyYWN0ZXJMZW5ndGhWYWxpZCB9IGZyb20gJy4nO1xyXG5pbXBvcnQgeyBMT0NBTF9FTkdMSVNIX0xBTkdVQUdFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgT3BlcmF0b3IgfSBmcm9tICcuLi9waXBlcy9maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IENsb3VkLCBFZGdlIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eSc7XHJcblxyXG4vLyBHZXRzIGFuIG9iamVjdCBvZiB0eXBlPFQ+XHJcbi8vIEdldHMgYW4gYXJyYXkgb2Yga2V5cyB0byBpZ25vcmVcclxuLy8gUmV0dXJucyBhIG5ldyBvYmplY3Qgd2l0aG91dCB0aGUgb21pdHRlZCBrZXlzXHJcbmV4cG9ydCBmdW5jdGlvbiBvbWl0S2V5czxUPihvYmo6IFQsIGtleXM6IHN0cmluZ1tdKSB7XHJcbiAgdmFyIGR1cDogVCA9IHt9IGFzIFQ7XHJcbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xyXG4gICAgaWYgKGtleXMuaW5kZXhPZihrZXkpID09IC0xKSB7XHJcbiAgICAgIGR1cFtrZXldID0gb2JqW2tleV07XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBkdXA7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBudW1iZXJXaXRoTGVhZGluZ1plcm8obnVtKSB7XHJcbiAgaWYgKG51bSAhPT0gbnVsbCAmJiBudW0gPD0gOSkge1xyXG4gICAgbnVtID0gKGAwJHtudW19YCkuc2xpY2UoLTEwKTtcclxuICB9XHJcbiAgcmV0dXJuIG51bTtcclxufVxyXG5cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlbGF5Q2FuY2VsbGF0aW9uKHRpbWU6IG51bWJlciwgc3ViamVjdDogU3ViamVjdDxib29sZWFuPikge1xyXG4gIC8vIGNyZWF0ZSBhIHN1YnNjcmlwdGlvbiB0byB1c2Ugd2l0aCB5b3VyIHByb21pc2VcclxuICBjb25zdCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcclxuICAgIGNvbnN0IGlkID0gc2V0VGltZW91dChyZXNvbHZlLCB0aW1lKTtcclxuICAgIC8vIGFkZCB0ZWFyZG93biBsb2dpYyB0byB0aGUgc3Vic2NyaXB0aW9uXHJcbiAgICBzdWJzY3JpcHRpb24uYWRkKCgpID0+IHtcclxuICAgICAgY2xlYXJUaW1lb3V0KGlkKTtcclxuICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICBjb25zdCBzdWJTdWJqZWN0ID0gc3ViamVjdC5zdWJzY3JpYmUoY2FuY2VsU3Vic2NyaXB0aW9uID0+IHtcclxuICAgIGlmIChjYW5jZWxTdWJzY3JpcHRpb24pIHtcclxuICAgICAgLy8gY2FsbCB1bnN1YnNjcmliZSB0byBjYW5jZWxcclxuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8vIHVzZSB0aGUgcHJvbWlzZSBpbnZva2UgdGhlIGRlYWx5XHJcbiAgYXdhaXQgcHJvbWlzZTtcclxuXHJcbiAgc3ViU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZUFsbChzdHIsIGZpbmQsIHJlcGxhY2UpIHtcclxuICByZXR1cm4gc3RyLnJlcGxhY2UobmV3IFJlZ0V4cChmaW5kLCAnZycpLCByZXBsYWNlKTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBlbnVtIFJvd09wZXJhdGlvbiB7XHJcbiAgSW5zZXJ0LFxyXG4gIFVwZGF0ZSxcclxuICBEZWxldGUsXHJcbiAgTm9uZSxcclxuICBJbnNlcnRUb1BhcmVudFxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFya0VudGl0eUFzVW5jaGFuZ2VkPFQ+KGVudGl0eTogVCk6IFQge1xyXG4gIHJldHVybiBvbWl0S2V5czxUPihlbnRpdHksIFsnZXhwYW5kZWQnLCAnZXhwYW5kaW5nJywgJ2NoYW5nZWQnLCAncm93T3BlcmF0aW9uJywgJ2ZpbmRSb3dJbmRleCddKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtFbnRpdGllc0FzQ2hhbmdlZDxUID0gYW55PihlbnRpdGllczogYW55W10sIHJvd09wZXJhdGlvbjogUm93T3BlcmF0aW9uID0gUm93T3BlcmF0aW9uLk5vbmUsXHJcbiAgZmluZFJvd0luZGV4PzogKGVudGl0eTogVCwgZW50aXRpZXM6IFRbXSkgPT4gbnVtYmVyKSB7XHJcblxyXG4gIGlmICgocm93T3BlcmF0aW9uID09PSBSb3dPcGVyYXRpb24uVXBkYXRlIHx8IHJvd09wZXJhdGlvbiA9PT0gUm93T3BlcmF0aW9uLkRlbGV0ZSkgJiYgIWZpbmRSb3dJbmRleCkge1xyXG4gICAgZmluZFJvd0luZGV4ID0gKGVudGl0eTogYW55LCBlbnRpdGllczogYW55W10pID0+IGVudGl0aWVzLmZpbmRJbmRleChlID0+IGUuaWQgPT09IGVudGl0eS5pZCk7XHJcbiAgfVxyXG5cclxuICBmbGFnRW50aXR5KGVudGl0aWVzLCB0cnVlLCByb3dPcGVyYXRpb24sIGZpbmRSb3dJbmRleCk7XHJcblxyXG4gIC8vc29sdXRpb24gZm9yIHVubWFya2VkIHByZXZpb3VlcyByb3dzXHJcbiAgc2V0VGltZW91dCgoKSA9PiBmbGFnRW50aXR5KGVudGl0aWVzLCBmYWxzZSwgUm93T3BlcmF0aW9uLk5vbmUpLCAxMDAwKTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUm93VGFibGVQYXlsb2FkPFQgPSBhbnk+ID0geyByb3dPcGVyYXRpb246IFJvd09wZXJhdGlvbiwgY2hhbmdlZDogYm9vbGVhbiwgZmluZFJvd0luZGV4PzogKGVudGl0eTogVCwgZW50aXRpZXM6IFRbXSkgPT4gbnVtYmVyIH07XHJcblxyXG5mdW5jdGlvbiBmbGFnRW50aXR5PFQgZXh0ZW5kcyBSb3dUYWJsZVBheWxvYWQ+KGVudGl0aWVzOiBUW10sIGZsYWc6IGJvb2xlYW4sIHJvd09wZXJhdGlvbjogUm93T3BlcmF0aW9uLCBmaW5kUm93SW5kZXg/OiAoZW50aXR5OiBULCBlbnRpdGllczogVFtdKSA9PiBudW1iZXIpIHtcclxuICBlbnRpdGllcy5mb3JFYWNoKGVudGl0eSA9PiB7XHJcbiAgICBlbnRpdHkuY2hhbmdlZCA9IGZsYWc7XHJcbiAgICBlbnRpdHkucm93T3BlcmF0aW9uID0gcm93T3BlcmF0aW9uID8/IGVudGl0eS5yb3dPcGVyYXRpb247XHJcbiAgICBlbnRpdHkuZmluZFJvd0luZGV4ID0gZmluZFJvd0luZGV4IHx8ICgoZW50aXR5LCBlbnRpdGllcykgPT4gbnVsbCk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzcyhjaXR5OiBzdHJpbmcsIHN0cmVldDogc3RyaW5nKTogc3RyaW5nIHtcclxuICBsZXQgYWRkcmVzcyA9IG51bGw7XHJcbiAgaWYgKGNpdHkgJiYgc3RyZWV0KSB7XHJcbiAgICBhZGRyZXNzID0gYCR7c3RyZWV0fSwgJHtjaXR5fWA7XHJcbiAgfSBlbHNlIGlmIChjaXR5KSB7XHJcbiAgICBhZGRyZXNzID0gY2l0eTtcclxuICB9IGVsc2UgaWYgKHN0cmVldCkge1xyXG4gICAgYWRkcmVzcyA9IHN0cmVldDtcclxuICB9XHJcblxyXG4gIHJldHVybiBhZGRyZXNzO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGaWx0ZXJWYWx1ZVJlc29sdmVyPFQ+ID0gKG9iajogVCwgcHJvcGVydHlOYW1lOiBzdHJpbmcpID0+IGFueTtcclxuZXhwb3J0IHR5cGUgU29tZVZhbHVlUmVzb2x2ZXI8VD4gPSAob2JqOiBULCBzdWJHcm91cFByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eU5hbWU6IHN0cmluZywgc2VhcmNoVmFsdWU6IHN0cmluZywgb3BlcmF0b3I6IE9wZXJhdG9yLCByZWR1Y2U6IGFueSkgPT4gYW55O1xyXG5cclxuZXhwb3J0IGNvbnN0IGJhc2VSZWR1Y2U6IEZpbHRlclZhbHVlUmVzb2x2ZXI8YW55PiA9IChvYmo6IGFueSwgcHJvcGVydHlOYW1lOiBzdHJpbmcpID0+IHtcclxuICByZXR1cm4gb2JqW3Byb3BlcnR5TmFtZV07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBmaWx0ZXJLZXlWYWx1ZUJhc2VSZWR1Y2U6IEZpbHRlclZhbHVlUmVzb2x2ZXI8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgfT4gPSAoXHJcbiAgb2JqLFxyXG4gIF8sXHJcbikgPT4gb2JqLnZhbHVlO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uKiBmbGF0dGVuQnlLZXkoYXJyYXksIG5lc3RlZEtleTogc3RyaW5nLCBkZXB0aCA9IDEpIHtcclxuICBmb3IgKGNvbnN0IGl0ZW0gb2YgYXJyYXkpIHtcclxuICAgIGlmIChpdGVtW25lc3RlZEtleV0gJiYgQXJyYXkuaXNBcnJheShpdGVtW25lc3RlZEtleV0pICYmIGRlcHRoID4gMCkge1xyXG4gICAgICB5aWVsZCogZmxhdHRlbkJ5S2V5KGl0ZW1bbmVzdGVkS2V5XSwgbmVzdGVkS2V5LCBkZXB0aCAtIDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgeWllbGQgaXRlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0lPU0RldmljZSgpIHtcclxuICB2YXIgaXNJT1MgPSAvaVBhZHxpUGhvbmV8aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICB2YXIgaXNBcHBsZURldmljZSA9IG5hdmlnYXRvci51c2VyQWdlbnQuaW5jbHVkZXMoJ01hY2ludG9zaCcpO1xyXG4gIHZhciBpc1RvdWNoU2NyZWVuID0gbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzID49IDE7IC8vIHRydWUgZm9yIGlPUyAxMyAoYW5kIGhvcGVmdWxseSBiZXlvbmQpXHJcbiAgcmV0dXJuIGlzSU9TIHx8IChpc0FwcGxlRGV2aWNlICYmIChpc1RvdWNoU2NyZWVuIHx8IGlPUzF0bzEycXVpcmsoKSkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpT1MxdG8xMnF1aXJrKCkge1xyXG4gIHZhciBhdWRpbyA9IG5ldyBBdWRpbygpOyAvLyB0ZW1wb3JhcnkgQXVkaW8gb2JqZWN0XHJcbiAgYXVkaW8udm9sdW1lID0gMC41OyAvLyBoYXMgbm8gZWZmZWN0IG9uIGlPUyA8PSAxMlxyXG4gIHJldHVybiBhdWRpby52b2x1bWUgPT09IDE7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtaWxsaXNlY29uZHM6IG51bWJlcikge1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtaWxsaXNlY29uZHMpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0RW1wdHkob2JqOiB7fSkge1xyXG4gIHJldHVybiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzVHJ1ZUluQmluYXJ5KGRlY2ltYWxWYWx1ZTogbnVtYmVyLCBiaXRQb3NpdGlvbjogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChkZWNpbWFsVmFsdWUgJiBiaXRQb3NpdGlvbikgIT09IDA7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QmluYXJ5VG9EZWNpbWFsKGJpbmFyeVN0cmluZzogc3RyaW5nKTogbnVtYmVyIHtcclxuICAvLyBVc2UgcGFyc2VJbnQgZnVuY3Rpb24gdG8gY29udmVydCBiaW5hcnkgc3RyaW5nIHRvIGRlY2ltYWwgbnVtYmVyXHJcbiAgcmV0dXJuIHBhcnNlSW50KGJpbmFyeVN0cmluZywgMik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0RGVjaW1hbFRvQmluYXJ5KGRlY2ltYWxOdW1iZXI6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgLy8gVXNlIHRvU3RyaW5nKDIpIGZ1bmN0aW9uIHRvIGNvbnZlcnQgZGVjaW1hbCBudW1iZXIgdG8gYmluYXJ5IHN0cmluZ1xyXG4gIHJldHVybiBpc05hTihkZWNpbWFsTnVtYmVyKSA/ICcnIDogZGVjaW1hbE51bWJlci50b1N0cmluZygyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRpc3RpbmN0T2JqZWN0QnlQcm9wZXJ0eTxULCBLIGV4dGVuZHMga2V5b2YgVD4oYXJyOiBUW10sIHByb3A6IEspOiBUW10ge1xyXG4gIGNvbnN0IG1hcCA9IG5ldyBNYXA8VFtLXSwgVD4oKTtcclxuICBhcnIuZm9yRWFjaChpdGVtID0+IHtcclxuICAgIGNvbnN0IGtleSA9IGl0ZW1bcHJvcF07XHJcbiAgICBpZiAoIW1hcC5oYXMoa2V5KSkge1xyXG4gICAgICBtYXAuc2V0KGtleSwgaXRlbSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgcmV0dXJuIEFycmF5LmZyb20obWFwLnZhbHVlcygpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRpc3RpbmN0T2JqZWN0QnlQcm9wZXJ0aWVzPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihhcnI6IFRbXSwgLi4ucHJvcHM6IEtbXSk6IFRbXSB7XHJcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFQ+KCk7XHJcbiAgYXJyLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICBjb25zdCBrZXkgPSBwcm9wcy5tYXAocHJvcCA9PiBpdGVtW3Byb3BdKS5qb2luKCdfJyk7XHJcbiAgICBpZiAoIW1hcC5oYXMoa2V5KSkge1xyXG4gICAgICBtYXAuc2V0KGtleSwgaXRlbSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgcmV0dXJuIEFycmF5LmZyb20obWFwLnZhbHVlcygpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1cnJlbnRMYW5nKHVzZXJTZXR0aW5nczogTWFwPEVkZ2UuU2V0dGluZ3NDYXRlZ29yeSwgYW55Pikge1xyXG4gIGNvbnN0IHZhbHVlOiBDbG91ZC5Mb2NhbGl6YXRpb25EdG8gPSB1c2VyU2V0dGluZ3M/LmdldChFZGdlLlNldHRpbmdzQ2F0ZWdvcnkuTG9jYWxpemF0aW9uKTtcclxuICByZXR1cm4gdmFsdWU/LmtleU5hbWUgPz8gTE9DQUxfRU5HTElTSF9MQU5HVUFHRTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VhcmNoRmllbGRDaGFuZ2VkKHByZXY6IGFueSwgY3VycjogYW55KTogYm9vbGVhbiB7XHJcbiAgY29uc3QgaXNGaWVsZFNlbGVjdG9yQ2hhbmdlZCA9IHByZXYuc2VhcmNoRmllbGRTZWxlY3RvciAhPT0gY3Vyci5zZWFyY2hGaWVsZFNlbGVjdG9yICYmIGN1cnIuc2VhcmNoVmFsdWU7XHJcbiAgY29uc3QgaXNTZWFyY2hWYWx1ZUNoYW5nZWQgPSBwcmV2LnNlYXJjaFZhbHVlICE9PSBjdXJyLnNlYXJjaFZhbHVlO1xyXG5cclxuICByZXR1cm4gKGlzRmllbGRTZWxlY3RvckNoYW5nZWQgfHwgaXNTZWFyY2hWYWx1ZUNoYW5nZWQpICYmIGlzQ2hhcmFjdGVyTGVuZ3RoVmFsaWQoY3Vyci5zZWFyY2hWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBNYWluTW9kdWxlVG9TdWJNb2R1bGVzUGVybWlzc2lvblR5cGVNYXA6IE51bWJlck1hcDxFZGdlLlBlcm1pc3Npb25UeXBlW10+ID0ge1xyXG4gIFtFZGdlLlBlcm1pc3Npb25UeXBlLkNjTWFpbl06IFtdLFxyXG4gIFtFZGdlLlBlcm1pc3Npb25UeXBlLkFjY291bnRNYW5hZ2VtZW50TWFpbl06IFtFZGdlLlBlcm1pc3Npb25UeXBlLkFjY291bnRNYW5hZ2VtZW50QWNjb3VudFZpZXcsIEVkZ2UuUGVybWlzc2lvblR5cGUuQWNjb3VudE1hbmFnZW1lbnRBY2NvdW50Q3JlYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLkFjY291bnRNYW5hZ2VtZW50QWNjb3VudFVwZGF0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5BY2NvdW50TWFuYWdlbWVudEFjY291bnREZWxldGVdLFxyXG4gIFtFZGdlLlBlcm1pc3Npb25UeXBlLk1vbnRobGllc01haW5dOiBbRWRnZS5QZXJtaXNzaW9uVHlwZS5Nb250aGxpZXNWaWV3LCBFZGdlLlBlcm1pc3Npb25UeXBlLk1vbnRobGllc0NyZWF0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5Nb250aGxpZXNVcGRhdGUsIEVkZ2UuUGVybWlzc2lvblR5cGUuTW9udGhsaWVzRGVsZXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLk1vbnRobHlTZXJpZXNDcmVhdGVdLFxyXG4gIFtFZGdlLlBlcm1pc3Npb25UeXBlLkd1ZXN0TWFpbl06IFtFZGdlLlBlcm1pc3Npb25UeXBlLlNpbmdsZUd1ZXN0LCBFZGdlLlBlcm1pc3Npb25UeXBlLkd1ZXN0VmlldywgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdENyZWF0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdFVwZGF0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdERlbGV0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdEdyb3VwVmlldywgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdEdyb3VwQ3JlYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLkd1ZXN0SG90ZWxHdWVzdFZpZXcsIEVkZ2UuUGVybWlzc2lvblR5cGUuSG90ZWxHdWVzdElPQ3JlYXRlXSxcclxuICBbRWRnZS5QZXJtaXNzaW9uVHlwZS5WYWxpZGF0aW9uTWFpbl06IFtcclxuICAgIEVkZ2UuUGVybWlzc2lvblR5cGUuVmFsaWRhdGlvbkVWYWxpZGF0aW9uVmlldywgRWRnZS5QZXJtaXNzaW9uVHlwZS5WYWxpZGF0aW9uRVZhbGlkYXRpb25DcmVhdGUsIEVkZ2UuUGVybWlzc2lvblR5cGUuVmFsaWRhdGlvbkVWYWxpZGF0aW9uVXBkYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25FVmFsaWRhdGlvbkRlbGV0ZSxcclxuICAgIEVkZ2UuUGVybWlzc2lvblR5cGUuVmFsaWRhdGlvblN0aWNrZXJWaWV3LCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25TdGlja2VyQ3JlYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25TdGlja2VyVXBkYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25TdGlja2VyRGVsZXRlLFxyXG4gICAgRWRnZS5QZXJtaXNzaW9uVHlwZS5WYWxpZGF0aW9uQ291cG9uVmlldywgRWRnZS5QZXJtaXNzaW9uVHlwZS5WYWxpZGF0aW9uQ291cG9uQ3JlYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25Db3Vwb25VcGRhdGUsIEVkZ2UuUGVybWlzc2lvblR5cGUuVmFsaWRhdGlvbkNvdXBvbkRlbGV0ZV0sXHJcbiAgW0VkZ2UuUGVybWlzc2lvblR5cGUuUmVwb3J0c01haW5dOiBbXSxcclxuICBbRWRnZS5QZXJtaXNzaW9uVHlwZS5Mb3RDb25maWd1cmF0aW9uTWFpbl06IFtFZGdlLlBlcm1pc3Npb25UeXBlLkxvdENvbmZpZ3VyYXRpb25SYXRlcywgRWRnZS5QZXJtaXNzaW9uVHlwZS5Mb3RDb25maWd1cmF0aW9uU2NoZWR1bGVyLCBFZGdlLlBlcm1pc3Npb25UeXBlLkxvdENvbmZpZ3VyYXRpb25WYWxpZGF0aW9uUHJvZmlsZV0sXHJcbiAgW0VkZ2UuUGVybWlzc2lvblR5cGUuVGVuYW50U2V0dGluZ3NNYWluXTogW0VkZ2UuUGVybWlzc2lvblR5cGUuTWFuYWdlbWVudEFkbWluXVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEFwcE1vZHVsZVRvTWFpblBlcm1pc3Npb25UeXBlTWFwOiBOdW1iZXJNYXA8RWRnZS5QZXJtaXNzaW9uVHlwZT4gPSB7XHJcbiAgW0VkZ2UuQXBwTW9kdWxlLkNjXTogRWRnZS5QZXJtaXNzaW9uVHlwZS5DY01haW4sXHJcbiAgW0VkZ2UuQXBwTW9kdWxlLkFjY291bnRzXTogRWRnZS5QZXJtaXNzaW9uVHlwZS5BY2NvdW50TWFuYWdlbWVudE1haW4sXHJcbiAgW0VkZ2UuQXBwTW9kdWxlLk1vbnRobGllc106IEVkZ2UuUGVybWlzc2lvblR5cGUuTW9udGhsaWVzTWFpbixcclxuICBbRWRnZS5BcHBNb2R1bGUuR3Vlc3RzXTogRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdE1haW4sXHJcbiAgW0VkZ2UuQXBwTW9kdWxlLlZhbGlkYXRpb25dOiBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25NYWluLFxyXG4gIFtFZGdlLkFwcE1vZHVsZS5SZXBvcnRzXTogRWRnZS5QZXJtaXNzaW9uVHlwZS5SZXBvcnRzTWFpbixcclxuICBbRWRnZS5BcHBNb2R1bGUuTG90Q29uZmlndXJhdGlvbl06IEVkZ2UuUGVybWlzc2lvblR5cGUuTG90Q29uZmlndXJhdGlvbk1haW4sXHJcbiAgW0VkZ2UuQXBwTW9kdWxlLk1hbmFnZW1lbnRdOiBFZGdlLlBlcm1pc3Npb25UeXBlLlRlbmFudFNldHRpbmdzTWFpbixcclxufTtcclxuIl19
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3V0aWxzL2hlbHBlci51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFhLHNCQUFzQixFQUFFLE1BQU0sR0FBRyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0RCxPQUFPLEVBQVMsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsNEJBQTRCO0FBQzVCLGtDQUFrQztBQUNsQyxnREFBZ0Q7QUFDaEQsTUFBTSxVQUFVLFFBQVEsQ0FBSSxHQUFNLEVBQUUsSUFBYztJQUNoRCxJQUFJLEdBQUcsR0FBTSxFQUFPLENBQUM7SUFDckIsS0FBSyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQzNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckI7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxHQUFHO0lBQ3ZDLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO1FBQzVCLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUM5QjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCLENBQUMsSUFBWSxFQUFFLE9BQXlCO0lBQzdFLGlEQUFp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cUJBQXFCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGlDQUFpQyxDQUFDO0lBQzdMLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUM7Q0FDaEYsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFtQztJQUM5RSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNO0lBQy9DLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQjtJQUNwRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhO0lBQzdELENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVM7SUFDdEQsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYztJQUMvRCxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXO0lBQ3pELENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CO0lBQzNFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQjtDQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE51bWJlck1hcCwgaXNDaGFyYWN0ZXJMZW5ndGhWYWxpZCB9IGZyb20gJy4nO1xyXG5pbXBvcnQgeyBMT0NBTF9FTkdMSVNIX0xBTkdVQUdFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgT3BlcmF0b3IgfSBmcm9tICcuLi9waXBlcy9maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IENsb3VkLCBFZGdlIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eSc7XHJcblxyXG4vLyBHZXRzIGFuIG9iamVjdCBvZiB0eXBlPFQ+XHJcbi8vIEdldHMgYW4gYXJyYXkgb2Yga2V5cyB0byBpZ25vcmVcclxuLy8gUmV0dXJucyBhIG5ldyBvYmplY3Qgd2l0aG91dCB0aGUgb21pdHRlZCBrZXlzXHJcbmV4cG9ydCBmdW5jdGlvbiBvbWl0S2V5czxUPihvYmo6IFQsIGtleXM6IHN0cmluZ1tdKSB7XHJcbiAgdmFyIGR1cDogVCA9IHt9IGFzIFQ7XHJcbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xyXG4gICAgaWYgKGtleXMuaW5kZXhPZihrZXkpID09IC0xKSB7XHJcbiAgICAgIGR1cFtrZXldID0gb2JqW2tleV07XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBkdXA7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBudW1iZXJXaXRoTGVhZGluZ1plcm8obnVtKSB7XHJcbiAgaWYgKG51bSAhPT0gbnVsbCAmJiBudW0gPD0gOSkge1xyXG4gICAgbnVtID0gKGAwJHtudW19YCkuc2xpY2UoLTEwKTtcclxuICB9XHJcbiAgcmV0dXJuIG51bTtcclxufVxyXG5cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlbGF5Q2FuY2VsbGF0aW9uKHRpbWU6IG51bWJlciwgc3ViamVjdDogU3ViamVjdDxib29sZWFuPikge1xyXG4gIC8vIGNyZWF0ZSBhIHN1YnNjcmlwdGlvbiB0byB1c2Ugd2l0aCB5b3VyIHByb21pc2VcclxuICBjb25zdCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcclxuICAgIGNvbnN0IGlkID0gc2V0VGltZW91dChyZXNvbHZlLCB0aW1lKTtcclxuICAgIC8vIGFkZCB0ZWFyZG93biBsb2dpYyB0byB0aGUgc3Vic2NyaXB0aW9uXHJcbiAgICBzdWJzY3JpcHRpb24uYWRkKCgpID0+IHtcclxuICAgICAgY2xlYXJUaW1lb3V0KGlkKTtcclxuICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICBjb25zdCBzdWJTdWJqZWN0ID0gc3ViamVjdC5zdWJzY3JpYmUoY2FuY2VsU3Vic2NyaXB0aW9uID0+IHtcclxuICAgIGlmIChjYW5jZWxTdWJzY3JpcHRpb24pIHtcclxuICAgICAgLy8gY2FsbCB1bnN1YnNjcmliZSB0byBjYW5jZWxcclxuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8vIHVzZSB0aGUgcHJvbWlzZSBpbnZva2UgdGhlIGRlYWx5XHJcbiAgYXdhaXQgcHJvbWlzZTtcclxuXHJcbiAgc3ViU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZUFsbChzdHIsIGZpbmQsIHJlcGxhY2UpIHtcclxuICByZXR1cm4gc3RyLnJlcGxhY2UobmV3IFJlZ0V4cChmaW5kLCAnZycpLCByZXBsYWNlKTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBlbnVtIFJvd09wZXJhdGlvbiB7XHJcbiAgSW5zZXJ0LFxyXG4gIFVwZGF0ZSxcclxuICBEZWxldGUsXHJcbiAgTm9uZSxcclxuICBJbnNlcnRUb1BhcmVudFxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFya0VudGl0eUFzVW5jaGFuZ2VkPFQ+KGVudGl0eTogVCk6IFQge1xyXG4gIHJldHVybiBvbWl0S2V5czxUPihlbnRpdHksIFsnZXhwYW5kZWQnLCAnZXhwYW5kaW5nJywgJ2NoYW5nZWQnLCAncm93T3BlcmF0aW9uJywgJ2ZpbmRSb3dJbmRleCddKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtFbnRpdGllc0FzQ2hhbmdlZDxUID0gYW55PihlbnRpdGllczogYW55W10sIHJvd09wZXJhdGlvbjogUm93T3BlcmF0aW9uID0gUm93T3BlcmF0aW9uLk5vbmUsXHJcbiAgZmluZFJvd0luZGV4PzogKGVudGl0eTogVCwgZW50aXRpZXM6IFRbXSkgPT4gbnVtYmVyKSB7XHJcblxyXG4gIGlmICgocm93T3BlcmF0aW9uID09PSBSb3dPcGVyYXRpb24uVXBkYXRlIHx8IHJvd09wZXJhdGlvbiA9PT0gUm93T3BlcmF0aW9uLkRlbGV0ZSkgJiYgIWZpbmRSb3dJbmRleCkge1xyXG4gICAgZmluZFJvd0luZGV4ID0gKGVudGl0eTogYW55LCBlbnRpdGllczogYW55W10pID0+IGVudGl0aWVzLmZpbmRJbmRleChlID0+IGUuaWQgPT09IGVudGl0eS5pZCk7XHJcbiAgfVxyXG5cclxuICBmbGFnRW50aXR5KGVudGl0aWVzLCB0cnVlLCByb3dPcGVyYXRpb24sIGZpbmRSb3dJbmRleCk7XHJcblxyXG4gIC8vc29sdXRpb24gZm9yIHVubWFya2VkIHByZXZpb3VlcyByb3dzXHJcbiAgc2V0VGltZW91dCgoKSA9PiBmbGFnRW50aXR5KGVudGl0aWVzLCBmYWxzZSwgUm93T3BlcmF0aW9uLk5vbmUpLCAxMDAwKTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUm93VGFibGVQYXlsb2FkPFQgPSBhbnk+ID0geyByb3dPcGVyYXRpb246IFJvd09wZXJhdGlvbiwgY2hhbmdlZDogYm9vbGVhbiwgZmluZFJvd0luZGV4PzogKGVudGl0eTogVCwgZW50aXRpZXM6IFRbXSkgPT4gbnVtYmVyIH07XHJcblxyXG5mdW5jdGlvbiBmbGFnRW50aXR5PFQgZXh0ZW5kcyBSb3dUYWJsZVBheWxvYWQ+KGVudGl0aWVzOiBUW10sIGZsYWc6IGJvb2xlYW4sIHJvd09wZXJhdGlvbjogUm93T3BlcmF0aW9uLCBmaW5kUm93SW5kZXg/OiAoZW50aXR5OiBULCBlbnRpdGllczogVFtdKSA9PiBudW1iZXIpIHtcclxuICBlbnRpdGllcy5mb3JFYWNoKGVudGl0eSA9PiB7XHJcbiAgICBlbnRpdHkuY2hhbmdlZCA9IGZsYWc7XHJcbiAgICBlbnRpdHkucm93T3BlcmF0aW9uID0gcm93T3BlcmF0aW9uID8/IGVudGl0eS5yb3dPcGVyYXRpb247XHJcbiAgICBlbnRpdHkuZmluZFJvd0luZGV4ID0gZmluZFJvd0luZGV4IHx8ICgoZW50aXR5LCBlbnRpdGllcykgPT4gbnVsbCk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzcyhjaXR5OiBzdHJpbmcsIHN0cmVldDogc3RyaW5nKTogc3RyaW5nIHtcclxuICBsZXQgYWRkcmVzcyA9IG51bGw7XHJcbiAgaWYgKGNpdHkgJiYgc3RyZWV0KSB7XHJcbiAgICBhZGRyZXNzID0gYCR7c3RyZWV0fSwgJHtjaXR5fWA7XHJcbiAgfSBlbHNlIGlmIChjaXR5KSB7XHJcbiAgICBhZGRyZXNzID0gY2l0eTtcclxuICB9IGVsc2UgaWYgKHN0cmVldCkge1xyXG4gICAgYWRkcmVzcyA9IHN0cmVldDtcclxuICB9XHJcblxyXG4gIHJldHVybiBhZGRyZXNzO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGaWx0ZXJWYWx1ZVJlc29sdmVyPFQ+ID0gKG9iajogVCwgcHJvcGVydHlOYW1lOiBzdHJpbmcpID0+IGFueTtcclxuZXhwb3J0IHR5cGUgU29tZVZhbHVlUmVzb2x2ZXI8VD4gPSAob2JqOiBULCBzdWJHcm91cFByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eU5hbWU6IHN0cmluZywgc2VhcmNoVmFsdWU6IHN0cmluZywgb3BlcmF0b3I6IE9wZXJhdG9yLCByZWR1Y2U6IGFueSkgPT4gYW55O1xyXG5cclxuZXhwb3J0IGNvbnN0IGJhc2VSZWR1Y2U6IEZpbHRlclZhbHVlUmVzb2x2ZXI8YW55PiA9IChvYmo6IGFueSwgcHJvcGVydHlOYW1lOiBzdHJpbmcpID0+IHtcclxuICByZXR1cm4gb2JqW3Byb3BlcnR5TmFtZV07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBmaWx0ZXJLZXlWYWx1ZUJhc2VSZWR1Y2U6IEZpbHRlclZhbHVlUmVzb2x2ZXI8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgfT4gPSAoXHJcbiAgb2JqLFxyXG4gIF8sXHJcbikgPT4gb2JqLnZhbHVlO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uKiBmbGF0dGVuQnlLZXkoYXJyYXksIG5lc3RlZEtleTogc3RyaW5nLCBkZXB0aCA9IDEpIHtcclxuICBmb3IgKGNvbnN0IGl0ZW0gb2YgYXJyYXkpIHtcclxuICAgIGlmIChpdGVtW25lc3RlZEtleV0gJiYgQXJyYXkuaXNBcnJheShpdGVtW25lc3RlZEtleV0pICYmIGRlcHRoID4gMCkge1xyXG4gICAgICB5aWVsZCogZmxhdHRlbkJ5S2V5KGl0ZW1bbmVzdGVkS2V5XSwgbmVzdGVkS2V5LCBkZXB0aCAtIDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgeWllbGQgaXRlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0lPU0RldmljZSgpIHtcclxuICB2YXIgaXNJT1MgPSAvaVBhZHxpUGhvbmV8aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICB2YXIgaXNBcHBsZURldmljZSA9IG5hdmlnYXRvci51c2VyQWdlbnQuaW5jbHVkZXMoJ01hY2ludG9zaCcpO1xyXG4gIHZhciBpc1RvdWNoU2NyZWVuID0gbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzID49IDE7IC8vIHRydWUgZm9yIGlPUyAxMyAoYW5kIGhvcGVmdWxseSBiZXlvbmQpXHJcbiAgcmV0dXJuIGlzSU9TIHx8IChpc0FwcGxlRGV2aWNlICYmIChpc1RvdWNoU2NyZWVuIHx8IGlPUzF0bzEycXVpcmsoKSkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpT1MxdG8xMnF1aXJrKCkge1xyXG4gIHZhciBhdWRpbyA9IG5ldyBBdWRpbygpOyAvLyB0ZW1wb3JhcnkgQXVkaW8gb2JqZWN0XHJcbiAgYXVkaW8udm9sdW1lID0gMC41OyAvLyBoYXMgbm8gZWZmZWN0IG9uIGlPUyA8PSAxMlxyXG4gIHJldHVybiBhdWRpby52b2x1bWUgPT09IDE7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtaWxsaXNlY29uZHM6IG51bWJlcikge1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtaWxsaXNlY29uZHMpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0RW1wdHkob2JqOiB7fSkge1xyXG4gIHJldHVybiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzVHJ1ZUluQmluYXJ5KGRlY2ltYWxWYWx1ZTogbnVtYmVyLCBiaXRQb3NpdGlvbjogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChkZWNpbWFsVmFsdWUgJiBiaXRQb3NpdGlvbikgIT09IDA7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QmluYXJ5VG9EZWNpbWFsKGJpbmFyeVN0cmluZzogc3RyaW5nKTogbnVtYmVyIHtcclxuICAvLyBVc2UgcGFyc2VJbnQgZnVuY3Rpb24gdG8gY29udmVydCBiaW5hcnkgc3RyaW5nIHRvIGRlY2ltYWwgbnVtYmVyXHJcbiAgcmV0dXJuIHBhcnNlSW50KGJpbmFyeVN0cmluZywgMik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0RGVjaW1hbFRvQmluYXJ5KGRlY2ltYWxOdW1iZXI6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgLy8gVXNlIHRvU3RyaW5nKDIpIGZ1bmN0aW9uIHRvIGNvbnZlcnQgZGVjaW1hbCBudW1iZXIgdG8gYmluYXJ5IHN0cmluZ1xyXG4gIHJldHVybiBpc05hTihkZWNpbWFsTnVtYmVyKSA/ICcnIDogZGVjaW1hbE51bWJlci50b1N0cmluZygyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRpc3RpbmN0T2JqZWN0QnlQcm9wZXJ0eTxULCBLIGV4dGVuZHMga2V5b2YgVD4oYXJyOiBUW10sIHByb3A6IEspOiBUW10ge1xyXG4gIGNvbnN0IG1hcCA9IG5ldyBNYXA8VFtLXSwgVD4oKTtcclxuICBhcnIuZm9yRWFjaChpdGVtID0+IHtcclxuICAgIGNvbnN0IGtleSA9IGl0ZW1bcHJvcF07XHJcbiAgICBpZiAoIW1hcC5oYXMoa2V5KSkge1xyXG4gICAgICBtYXAuc2V0KGtleSwgaXRlbSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgcmV0dXJuIEFycmF5LmZyb20obWFwLnZhbHVlcygpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRpc3RpbmN0T2JqZWN0QnlQcm9wZXJ0aWVzPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihhcnI6IFRbXSwgLi4ucHJvcHM6IEtbXSk6IFRbXSB7XHJcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFQ+KCk7XHJcbiAgYXJyLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICBjb25zdCBrZXkgPSBwcm9wcy5tYXAocHJvcCA9PiBpdGVtW3Byb3BdKS5qb2luKCdfJyk7XHJcbiAgICBpZiAoIW1hcC5oYXMoa2V5KSkge1xyXG4gICAgICBtYXAuc2V0KGtleSwgaXRlbSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgcmV0dXJuIEFycmF5LmZyb20obWFwLnZhbHVlcygpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1cnJlbnRMYW5nKHVzZXJTZXR0aW5nczogTWFwPEVkZ2UuU2V0dGluZ3NDYXRlZ29yeSwgYW55Pikge1xyXG4gIGNvbnN0IHZhbHVlOiBDbG91ZC5Mb2NhbGl6YXRpb25EdG8gPSB1c2VyU2V0dGluZ3M/LmdldChFZGdlLlNldHRpbmdzQ2F0ZWdvcnkuTG9jYWxpemF0aW9uKTtcclxuICByZXR1cm4gdmFsdWU/LmtleU5hbWUgPz8gTE9DQUxfRU5HTElTSF9MQU5HVUFHRTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VhcmNoRmllbGRDaGFuZ2VkKHByZXY6IGFueSwgY3VycjogYW55KTogYm9vbGVhbiB7XHJcbiAgY29uc3QgaXNGaWVsZFNlbGVjdG9yQ2hhbmdlZCA9IHByZXYuc2VhcmNoRmllbGRTZWxlY3RvciAhPT0gY3Vyci5zZWFyY2hGaWVsZFNlbGVjdG9yICYmIGN1cnIuc2VhcmNoVmFsdWU7XHJcbiAgY29uc3QgaXNTZWFyY2hWYWx1ZUNoYW5nZWQgPSBwcmV2LnNlYXJjaFZhbHVlICE9PSBjdXJyLnNlYXJjaFZhbHVlO1xyXG5cclxuICByZXR1cm4gKGlzRmllbGRTZWxlY3RvckNoYW5nZWQgfHwgaXNTZWFyY2hWYWx1ZUNoYW5nZWQpICYmIGlzQ2hhcmFjdGVyTGVuZ3RoVmFsaWQoY3Vyci5zZWFyY2hWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBNYWluTW9kdWxlVG9TdWJNb2R1bGVzUGVybWlzc2lvblR5cGVNYXA6IE51bWJlck1hcDxFZGdlLlBlcm1pc3Npb25UeXBlW10+ID0ge1xyXG4gIFtFZGdlLlBlcm1pc3Npb25UeXBlLkNjTWFpbl06IFtdLFxyXG4gIFtFZGdlLlBlcm1pc3Npb25UeXBlLkFjY291bnRNYW5hZ2VtZW50TWFpbl06IFtFZGdlLlBlcm1pc3Npb25UeXBlLkFjY291bnRNYW5hZ2VtZW50QWNjb3VudFZpZXcsIEVkZ2UuUGVybWlzc2lvblR5cGUuQWNjb3VudE1hbmFnZW1lbnRBY2NvdW50Q3JlYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLkFjY291bnRNYW5hZ2VtZW50QWNjb3VudFVwZGF0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5BY2NvdW50TWFuYWdlbWVudEFjY291bnREZWxldGVdLFxyXG4gIFtFZGdlLlBlcm1pc3Npb25UeXBlLk1vbnRobGllc01haW5dOiBbRWRnZS5QZXJtaXNzaW9uVHlwZS5Nb250aGxpZXNWaWV3LCBFZGdlLlBlcm1pc3Npb25UeXBlLk1vbnRobGllc0NyZWF0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5Nb250aGxpZXNVcGRhdGUsIEVkZ2UuUGVybWlzc2lvblR5cGUuTW9udGhsaWVzRGVsZXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLk1vbnRobHlTZXJpZXNDcmVhdGVdLFxyXG4gIFtFZGdlLlBlcm1pc3Npb25UeXBlLkd1ZXN0TWFpbl06IFtFZGdlLlBlcm1pc3Npb25UeXBlLkd1ZXN0VmlldywgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdENyZWF0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdFVwZGF0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdERlbGV0ZSwgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdEdyb3VwVmlldywgRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdEdyb3VwQ3JlYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLkd1ZXN0SG90ZWxHdWVzdFZpZXcsIEVkZ2UuUGVybWlzc2lvblR5cGUuSG90ZWxHdWVzdElPQ3JlYXRlXSxcclxuICBbRWRnZS5QZXJtaXNzaW9uVHlwZS5WYWxpZGF0aW9uTWFpbl06IFtcclxuICAgIEVkZ2UuUGVybWlzc2lvblR5cGUuVmFsaWRhdGlvbkVWYWxpZGF0aW9uVmlldywgRWRnZS5QZXJtaXNzaW9uVHlwZS5WYWxpZGF0aW9uRVZhbGlkYXRpb25DcmVhdGUsIEVkZ2UuUGVybWlzc2lvblR5cGUuVmFsaWRhdGlvbkVWYWxpZGF0aW9uVXBkYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25FVmFsaWRhdGlvbkRlbGV0ZSxcclxuICAgIEVkZ2UuUGVybWlzc2lvblR5cGUuVmFsaWRhdGlvblN0aWNrZXJWaWV3LCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25TdGlja2VyQ3JlYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25TdGlja2VyVXBkYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25TdGlja2VyRGVsZXRlLFxyXG4gICAgRWRnZS5QZXJtaXNzaW9uVHlwZS5WYWxpZGF0aW9uQ291cG9uVmlldywgRWRnZS5QZXJtaXNzaW9uVHlwZS5WYWxpZGF0aW9uQ291cG9uQ3JlYXRlLCBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25Db3Vwb25VcGRhdGUsIEVkZ2UuUGVybWlzc2lvblR5cGUuVmFsaWRhdGlvbkNvdXBvbkRlbGV0ZV0sXHJcbiAgW0VkZ2UuUGVybWlzc2lvblR5cGUuUmVwb3J0c01haW5dOiBbXSxcclxuICBbRWRnZS5QZXJtaXNzaW9uVHlwZS5Mb3RDb25maWd1cmF0aW9uTWFpbl06IFtFZGdlLlBlcm1pc3Npb25UeXBlLkxvdENvbmZpZ3VyYXRpb25SYXRlcywgRWRnZS5QZXJtaXNzaW9uVHlwZS5Mb3RDb25maWd1cmF0aW9uU2NoZWR1bGVyLCBFZGdlLlBlcm1pc3Npb25UeXBlLkxvdENvbmZpZ3VyYXRpb25WYWxpZGF0aW9uUHJvZmlsZV0sXHJcbiAgW0VkZ2UuUGVybWlzc2lvblR5cGUuVGVuYW50U2V0dGluZ3NNYWluXTogW0VkZ2UuUGVybWlzc2lvblR5cGUuTWFuYWdlbWVudEFkbWluXVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEFwcE1vZHVsZVRvTWFpblBlcm1pc3Npb25UeXBlTWFwOiBOdW1iZXJNYXA8RWRnZS5QZXJtaXNzaW9uVHlwZT4gPSB7XHJcbiAgW0VkZ2UuQXBwTW9kdWxlLkNjXTogRWRnZS5QZXJtaXNzaW9uVHlwZS5DY01haW4sXHJcbiAgW0VkZ2UuQXBwTW9kdWxlLkFjY291bnRzXTogRWRnZS5QZXJtaXNzaW9uVHlwZS5BY2NvdW50TWFuYWdlbWVudE1haW4sXHJcbiAgW0VkZ2UuQXBwTW9kdWxlLk1vbnRobGllc106IEVkZ2UuUGVybWlzc2lvblR5cGUuTW9udGhsaWVzTWFpbixcclxuICBbRWRnZS5BcHBNb2R1bGUuR3Vlc3RzXTogRWRnZS5QZXJtaXNzaW9uVHlwZS5HdWVzdE1haW4sXHJcbiAgW0VkZ2UuQXBwTW9kdWxlLlZhbGlkYXRpb25dOiBFZGdlLlBlcm1pc3Npb25UeXBlLlZhbGlkYXRpb25NYWluLFxyXG4gIFtFZGdlLkFwcE1vZHVsZS5SZXBvcnRzXTogRWRnZS5QZXJtaXNzaW9uVHlwZS5SZXBvcnRzTWFpbixcclxuICBbRWRnZS5BcHBNb2R1bGUuTG90Q29uZmlndXJhdGlvbl06IEVkZ2UuUGVybWlzc2lvblR5cGUuTG90Q29uZmlndXJhdGlvbk1haW4sXHJcbiAgW0VkZ2UuQXBwTW9kdWxlLk1hbmFnZW1lbnRdOiBFZGdlLlBlcm1pc3Npb25UeXBlLlRlbmFudFNldHRpbmdzTWFpbixcclxufTtcclxuIl19