@senior-gestao-pessoas/hcm-contract-employee-history 5.6.4 → 5.7.0-bugfix-hcmfnd-6392-ad9ee246

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.
Files changed (17) hide show
  1. package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.js +41 -2
  2. package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.min.js +2 -2
  4. package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.min.js.map +1 -1
  5. package/esm2015/lib/annotation-history/views/list/annotation-history-list.component.js +16 -3
  6. package/esm2015/lib/employee-dependent/form/employee-dependent-complement-step/employee-dependent-complement-tab/employee-dependent-complement-tab.component.js +3 -3
  7. package/esm2015/lib/leave-history/views/list/leave-history-list.component.js +16 -3
  8. package/esm2015/lib/workshift-history/views/list/workshift-history-list.component.js +16 -3
  9. package/esm5/lib/annotation-history/views/list/annotation-history-list.component.js +14 -1
  10. package/esm5/lib/employee-dependent/form/employee-dependent-complement-step/employee-dependent-complement-tab/employee-dependent-complement-tab.component.js +3 -3
  11. package/esm5/lib/leave-history/views/list/leave-history-list.component.js +14 -1
  12. package/esm5/lib/workshift-history/views/list/workshift-history-list.component.js +14 -1
  13. package/fesm2015/senior-gestao-pessoas-hcm-contract-employee-history.js +47 -8
  14. package/fesm2015/senior-gestao-pessoas-hcm-contract-employee-history.js.map +1 -1
  15. package/fesm5/senior-gestao-pessoas-hcm-contract-employee-history.js +41 -2
  16. package/fesm5/senior-gestao-pessoas-hcm-contract-employee-history.js.map +1 -1
  17. package/package.json +1 -1
@@ -167,12 +167,12 @@ var EmployeeDependentComplementTabComponent = /** @class */ (function () {
167
167
  return [
168
168
  new FormField({
169
169
  name: "code",
170
- label: this.translateService.instant("hcm_contract.employment_contract.employee_dependent_nom_pes"),
170
+ label: this.translateService.instant("hcm_contract.employment_contract.employee_dependent_cod_pes"),
171
171
  type: FieldType.Integer,
172
172
  }),
173
173
  new FormField({
174
174
  name: "name",
175
- label: this.translateService.instant("hcm_contract.employment_contract.employee_dependent_cod_pes"),
175
+ label: this.translateService.instant("hcm_contract.employment_contract.employee_dependent_nom_pes"),
176
176
  type: FieldType.String,
177
177
  }),
178
178
  ];
@@ -195,4 +195,4 @@ var EmployeeDependentComplementTabComponent = /** @class */ (function () {
195
195
  return EmployeeDependentComplementTabComponent;
196
196
  }());
197
197
  export { EmployeeDependentComplementTabComponent };
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtZGVwZW5kZW50LWNvbXBsZW1lbnQtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvaGNtLWNvbnRyYWN0LWVtcGxveWVlLWhpc3RvcnkvIiwic291cmNlcyI6WyJsaWIvZW1wbG95ZWUtZGVwZW5kZW50L2Zvcm0vZW1wbG95ZWUtZGVwZW5kZW50LWNvbXBsZW1lbnQtc3RlcC9lbXBsb3llZS1kZXBlbmRlbnQtY29tcGxlbWVudC10YWIvZW1wbG95ZWUtZGVwZW5kZW50LWNvbXBsZW1lbnQtdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNGQUFzRixDQUFDO0FBQ2hJLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbEYs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QUssQ0FBQyxDQUFDO2dCQUN2QixDQUFDLENBQUM7cUJBQ0QsSUFBSSxDQUFDLEtBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUM1QyxFQVZ5QyxDQVV6QyxDQUFDLElBQ0wsRUFiaUIsQ0FhakIsQ0FBQyxDQUNOO2FBQ0EsU0FBUyxDQUFDLFVBQUMsSUFBUztZQUNqQixLQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUMvQyxLQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSw0RUFBMEIsR0FBakM7UUFDSSxPQUFPO1lBQ0gsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsNkRBQTZELENBQUM7Z0JBQ25HLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTzthQUMxQixDQUFDO1lBQ0YsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsNkRBQTZELENBQUM7Z0JBQ25HLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QixDQUFDO1NBQ0wsQ0FBQztJQUNOLENBQUM7O2dCQXpIb0MsY0FBYztnQkFDdEIsZ0JBQWdCO2dCQUNwQixXQUFXO2dCQUNOLHdCQUF3Qjs7SUEzRXREO1FBREMsS0FBSyxFQUFFO29GQUMwQjtJQUZ6Qix1Q0FBdUM7UUFKbkQsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHVDQUF1QztZQUNqRCxvK1RBQWlFO1NBQ3BFLENBQUM7T0FDVyx1Q0FBdUMsQ0FzTW5EO0lBQUQsOENBQUM7Q0FBQSxBQXRNRCxJQXNNQztTQXRNWSx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1GaWVsZCB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBFbXBsb3llZURlcGVuZGVudEZvcm1EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29yZS9kdG9zL2VtcGxveWVlLWRlcGVuZGVudC1zYXZlLWR0b1wiO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29yZS9lbnRpdGllcy9jb3VudHJ5L2NvdW50cnkuc2VydmljZVwiO1xuaW1wb3J0IHsgRW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvcmUvZW50aXRpZXMvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUuc2VydmljZVwiO1xuaW1wb3J0IHsgRW51bUdyYUlucyB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb3JlL2VudW1zL2VudW0tZ3JhLWluc1wiO1xuaW1wb3J0IHsgRW51bUdyYVBhciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb3JlL2VudW1zL2VudW0tZ3JhLXBhclwiO1xuaW1wb3J0IHsgS2luc2hpcERlZ3JlZVR5cGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29yZS9lbnVtcy9raW5zaGlwX2RlZ3JlZS10eXBlXCI7XG5pbXBvcnQgeyBNYXJpdGFsU3RhdHVzVHlwZSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb3JlL2VudW1zL21hcml0YWwtc3RhdHVzLXR5cGVcIjtcbmltcG9ydCB7IFJhY2VUeXBlIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvcmUvZW51bXMvcmFjZS10eXBlXCI7XG5pbXBvcnQgeyBpc1ZhbGlkRmlsdGVyIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVyU3RyaW5nIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL2hlbHBlcnNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwiZm5kLWVtcGxveWVlLWRlcGVuZGVudC1jb21wbGVtZW50LXRhYlwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZW1wbG95ZWUtZGVwZW5kZW50LWNvbXBsZW1lbnQtdGFiLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIEVtcGxveWVlRGVwZW5kZW50Q29tcGxlbWVudFRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHJpdmF0ZSByZWFkb25seSBPTkxZX05VTUJFUlNfUEFUVEVSTiA9IFwiXlswLTldKiRcIjtcbiAgICBwdWJsaWMgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwdWJsaWMgbmFjaW9uYWxpdHlMb29rdXBTdWdnZXN0aW9uczogYW55W107XG4gICAgcHVibGljIG5hY2lvbmFsaXR5TG9va3VwRGlzcGxheUZpZWxkcyA9IFsgXCJjb2RlXCIsIFwibmFtZVwiXTtcbiAgICBwdWJsaWMgbmFjaW9uYWxpdHlMb29rdXBTZXBhcmF0b3IgPSBcIiAtIFwiO1xuICAgIHB1YmxpYyBuYWNpb25hbGl0eVNlYXJjaEZpZWxkczogRm9ybUZpZWxkW107XG4gICAgcHVibGljIG5hY2lvbmFsaXR5U2VhcmNoR3JpZEZpZWxkczogRm9ybUZpZWxkW107XG4gICAgcHVibGljIG5hY2lvbmFsaXR5U2VhcmNoR3JpZERhdGE6IGFueVtdO1xuICAgIHB1YmxpYyBuYWNpb25hbGl0eVNlYXJjaFRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG5cbiAgICBwdWJsaWMga2luc2hpcERlZ3JlZVR5cGUgPSBPYmplY3Qua2V5cyhLaW5zaGlwRGVncmVlVHlwZSlcbiAgICAgICAgLm1hcChrID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2tpbnNoaXBfZGVncmVlX1wiICsgayksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGssXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgIHB1YmxpYyBuYW1lRmlsaWF0aW9uID0gT2JqZWN0LmtleXMoRW51bUdyYVBhcilcbiAgICAgICAgLm1hcChrID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2dyYV9wYXJfXCIgKyBrKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogayxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgcHVibGljIG1hcml0YWxTdGF0dXNUeXBlID0gT2JqZWN0LmtleXMoTWFyaXRhbFN0YXR1c1R5cGUpXG4gICAgICAgIC5tYXAoayA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9tYXJpdGFsX3N0YXR1c19cIiArIGspLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBrLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICBwdWJsaWMgcmFjZVR5cGUgPSBPYmplY3Qua2V5cyhSYWNlVHlwZSlcbiAgICAgICAgLm1hcChrID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X3JhY2VfdHlwZV9cIiArIGspLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBrLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICBwdWJsaWMgZGVncmVlT2ZFZHVjYXRpb25UeXBlID0gT2JqZWN0LmtleXMoRW51bUdyYUlucylcbiAgICAgICAgLm1hcChrID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2VudW1fZ3JhX2luc19cIiArIGspLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBrLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAga2luc2hpcERlcGVuZGVudERlZ3JlZVR5cGU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKSxcbiAgICAgICAga2luc2hpcERlZ3JlZVR5cGU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSksXG4gICAgICAgIGtpbnNoaXBEZWdyZWVUeXBlMjogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9KSxcbiAgICAgICAgcmFjZVR5cGU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSksXG4gICAgICAgIG1hcml0YWxTdGF0dXNUeXBlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0pLFxuICAgICAgICByZWxpZ2lvbjogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9KSxcbiAgICAgICAgbmFjaW9uYWxpdHk6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSksXG4gICAgICAgIGRlZ3JlZU9mRWR1Y2F0aW9uVHlwZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9KSxcbiAgICAgICAgbnVtYmVyOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICAgICAgICB7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5PTkxZX05VTUJFUlNfUEFUVEVSTildKSxcbiAgICAgICAgKSxcbiAgICAgICAgbmFtZUZpbGlhdGlvbjE6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNDApKSxcbiAgICAgICAgbmFtZUZpbGlhdGlvbjI6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNDApKSxcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cnlTZXJ2aWNlOiBDb3VudHJ5U2VydmljZSxcbiAgICAgICAgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IEVtcGxveWVlRGVwZW5kZW50U2VydmljZSxcbiAgICApIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyZW50Rm9ybUdyb3VwLmFkZENvbnRyb2woXCJjb21wbGVtZW50RGVwZW5kZW50UGVyc29uRGF0YVwiLCB0aGlzLmZvcm1Hcm91cCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlRXZlbnRzKCk7XG4gICAgICAgIHRoaXMubmFjaW9uYWxpdHlTZWFyY2hGaWVsZHMgPSB0aGlzLmdldE5hY2lvbmFsaXR5U2VhcmNoRmllbGRzKCk7XG4gICAgICAgIHRoaXMubmFjaW9uYWxpdHlTZWFyY2hHcmlkRmllbGRzID0gdGhpcy5nZXROYWNpb25hbGl0eVNlYXJjaEZpZWxkcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuZ2V0RGVwZW5kZW50Rm9ybURhdGEoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBFbXBsb3llZURlcGVuZGVudEZvcm1EdG8pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKGRhdGE/LnBlcnNvbkRlcGVuZGVudERhdGE/LmNvbXBsZW1lbnREZXBlbmRlbnRQZXJzb25EYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgcHVibGljIGdldFByb3Aob2JqOiBhbnksIHBhdGg6IGFueSkge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25OYWNpb25hbGl0eUxvb2t1cFJlcXVlc3QodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzb3J0ID0gdGhpcy5uYWNpb25hbGl0eUxvb2t1cERpc3BsYXlGaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiAoeyBmaWVsZCwgb3JkZXI6IDEgfSkpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlclF1ZXJ5ID0gdGhpcy5nZXROYWNpb25hbGl0eVNlYXJjaEZpZWxkcygpXG4gICAgICAgICAgICAuZmlsdGVyKCh7IHR5cGUgfSkgPT4gaXNWYWxpZEZpbHRlcih0eXBlLCB2YWx1ZSkpXG4gICAgICAgICAgICAubWFwKGZvcm1GaWVsZCA9PiBjcmVhdGVGaWx0ZXJTdHJpbmcoZm9ybUZpZWxkLCB2YWx1ZSwgeyB0ZXh0U2VhY2hFbnVtOiB0cnVlIH0pKVxuICAgICAgICAgICAgLmZpbHRlcihzID0+ICEhcylcbiAgICAgICAgICAgIC5qb2luKFwiIG9yIFwiKTtcblxuICAgICAgICBjb25zdCBkaXNwbGF5RmllbGRzID0gdGhpcy5uYWNpb25hbGl0eUxvb2t1cERpc3BsYXlGaWVsZHM7XG4gICAgICAgIHRoaXMuY291bnRyeVNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0KHsgc29ydCwgZmlsdGVyUXVlcnksIGRpc3BsYXlGaWVsZHMgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsaXN0OiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmxpc3QsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzOiBsaXN0LmNvbnRlbnRzLm1hcCgoaXRlbTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLm5hY2lvbmFsaXR5TG9va3VwRGlzcGxheUZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuaW5kZXhPZihcIi5cIikgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtW2ZpZWxkXSA9IHRoaXMuZ2V0UHJvcChpdGVtLCBmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1bZmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4odGhpcy5uYWNpb25hbGl0eUxvb2t1cFNlcGFyYXRvciksXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hY2lvbmFsaXR5TG9va3VwU3VnZ2VzdGlvbnMgPSBsaXN0LmNvbnRlbnRzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTmFjaW9uYWxpdHlTZWFyY2hSZXF1ZXN0KGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgeyBmaXJzdCwgcm93cywgbXVsdGlTb3J0TWV0YSwgZmlsdGVyRGF0YSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBmaXJzdCAvIHJvd3M7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBtdWx0aVNvcnRNZXRhO1xuICAgICAgICBjb25zdCBmaWx0ZXJRdWVyeSA9IHRoaXMuZ2V0TmFjaW9uYWxpdHlTZWFyY2hGaWVsZHMoKVxuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+ICEhZmlsdGVyRGF0YVtuYW1lXSAmJiBmaWx0ZXJEYXRhW25hbWVdICE9PSBcIlwiKVxuICAgICAgICAgICAgLm1hcCgoeyBuYW1lLCB0eXBlIH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGZpbHRlckRhdGFbbmFtZV07XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBGaWVsZFR5cGUuRW51bSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWV9J2A7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBGaWVsZFR5cGUuU3RyaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29udGFpbmluZyh1cHBlcigke25hbWV9KSwgdXBwZXIoJyR7dmFsdWUucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpfScpKWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbihcIiBhbmQgXCIpO1xuXG4gICAgICAgIGNvbnN0IGRpc3BsYXlGaWVsZHMgPSB0aGlzLm5hY2lvbmFsaXR5TG9va3VwRGlzcGxheUZpZWxkcztcbiAgICAgICAgdGhpcy5jb3VudHJ5U2VydmljZVxuICAgICAgICAgICAgLmxpc3QoeyBwYWdlLCBzb3J0LCBmaWx0ZXJRdWVyeSwgZGlzcGxheUZpZWxkcyB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGxpc3Q6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4ubGlzdCxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IGxpc3QuY29udGVudHMubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMubmFjaW9uYWxpdHlMb29rdXBEaXNwbGF5RmllbGRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5pbmRleE9mKFwiLlwiKSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGRdID0gdGhpcy5nZXRQcm9wKGl0ZW0sIGZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVtmaWVsZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbih0aGlzLm5hY2lvbmFsaXR5TG9va3VwU2VwYXJhdG9yKSxcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubmFjaW9uYWxpdHlTZWFyY2hHcmlkRGF0YSA9IGxpc3QuY29udGVudHM7XG4gICAgICAgICAgICAgICAgdGhpcy5uYWNpb25hbGl0eVNlYXJjaFRvdGFsUmVjb3JkcyA9IGxpc3QudG90YWxFbGVtZW50cztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROYWNpb25hbGl0eVNlYXJjaEZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiY29kZVwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9ub21fcGVzXCIpLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5JbnRlZ2VyLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIm5hbWVcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lbXBsb3llZV9kZXBlbmRlbnRfY29kX3Blc1wiKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuXG5cbn1cbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtZGVwZW5kZW50LWNvbXBsZW1lbnQtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvaGNtLWNvbnRyYWN0LWVtcGxveWVlLWhpc3RvcnkvIiwic291cmNlcyI6WyJsaWIvZW1wbG95ZWUtZGVwZW5kZW50L2Zvcm0vZW1wbG95ZWUtZGVwZW5kZW50LWNvbXBsZW1lbnQtc3RlcC9lbXBsb3llZS1kZXBlbmRlbnQtY29tcGxlbWVudC10YWIvZW1wbG95ZWUtZGVwZW5kZW50LWNvbXBsZW1lbnQtdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNGQUFzRixDQUFDO0FBQ2hJLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbEYs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QUssQ0FBQyxDQUFDO2dCQUN2QixDQUFDLENBQUM7cUJBQ0QsSUFBSSxDQUFDLEtBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUM1QyxFQVZ5QyxDQVV6QyxDQUFDLElBQ0wsRUFiaUIsQ0FhakIsQ0FBQyxDQUNOO2FBQ0EsU0FBUyxDQUFDLFVBQUMsSUFBUztZQUNqQixLQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUMvQyxLQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSw0RUFBMEIsR0FBakM7UUFDSSxPQUFPO1lBQ0gsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsNkRBQTZELENBQUM7Z0JBQ25HLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTzthQUMxQixDQUFDO1lBQ0YsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsNkRBQTZELENBQUM7Z0JBQ25HLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QixDQUFDO1NBQ0wsQ0FBQztJQUNOLENBQUM7O2dCQXpIb0MsY0FBYztnQkFDdEIsZ0JBQWdCO2dCQUNwQixXQUFXO2dCQUNOLHdCQUF3Qjs7SUEzRXREO1FBREMsS0FBSyxFQUFFO29GQUMwQjtJQUZ6Qix1Q0FBdUM7UUFKbkQsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHVDQUF1QztZQUNqRCxvK1RBQWlFO1NBQ3BFLENBQUM7T0FDVyx1Q0FBdUMsQ0FzTW5EO0lBQUQsOENBQUM7Q0FBQSxBQXRNRCxJQXNNQztTQXRNWSx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1GaWVsZCB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBFbXBsb3llZURlcGVuZGVudEZvcm1EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29yZS9kdG9zL2VtcGxveWVlLWRlcGVuZGVudC1zYXZlLWR0b1wiO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29yZS9lbnRpdGllcy9jb3VudHJ5L2NvdW50cnkuc2VydmljZVwiO1xuaW1wb3J0IHsgRW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvcmUvZW50aXRpZXMvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUuc2VydmljZVwiO1xuaW1wb3J0IHsgRW51bUdyYUlucyB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb3JlL2VudW1zL2VudW0tZ3JhLWluc1wiO1xuaW1wb3J0IHsgRW51bUdyYVBhciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb3JlL2VudW1zL2VudW0tZ3JhLXBhclwiO1xuaW1wb3J0IHsgS2luc2hpcERlZ3JlZVR5cGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29yZS9lbnVtcy9raW5zaGlwX2RlZ3JlZS10eXBlXCI7XG5pbXBvcnQgeyBNYXJpdGFsU3RhdHVzVHlwZSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb3JlL2VudW1zL21hcml0YWwtc3RhdHVzLXR5cGVcIjtcbmltcG9ydCB7IFJhY2VUeXBlIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvcmUvZW51bXMvcmFjZS10eXBlXCI7XG5pbXBvcnQgeyBpc1ZhbGlkRmlsdGVyIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVyU3RyaW5nIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL2hlbHBlcnNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwiZm5kLWVtcGxveWVlLWRlcGVuZGVudC1jb21wbGVtZW50LXRhYlwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZW1wbG95ZWUtZGVwZW5kZW50LWNvbXBsZW1lbnQtdGFiLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIEVtcGxveWVlRGVwZW5kZW50Q29tcGxlbWVudFRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHJpdmF0ZSByZWFkb25seSBPTkxZX05VTUJFUlNfUEFUVEVSTiA9IFwiXlswLTldKiRcIjtcbiAgICBwdWJsaWMgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwdWJsaWMgbmFjaW9uYWxpdHlMb29rdXBTdWdnZXN0aW9uczogYW55W107XG4gICAgcHVibGljIG5hY2lvbmFsaXR5TG9va3VwRGlzcGxheUZpZWxkcyA9IFsgXCJjb2RlXCIsIFwibmFtZVwiXTtcbiAgICBwdWJsaWMgbmFjaW9uYWxpdHlMb29rdXBTZXBhcmF0b3IgPSBcIiAtIFwiO1xuICAgIHB1YmxpYyBuYWNpb25hbGl0eVNlYXJjaEZpZWxkczogRm9ybUZpZWxkW107XG4gICAgcHVibGljIG5hY2lvbmFsaXR5U2VhcmNoR3JpZEZpZWxkczogRm9ybUZpZWxkW107XG4gICAgcHVibGljIG5hY2lvbmFsaXR5U2VhcmNoR3JpZERhdGE6IGFueVtdO1xuICAgIHB1YmxpYyBuYWNpb25hbGl0eVNlYXJjaFRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG5cbiAgICBwdWJsaWMga2luc2hpcERlZ3JlZVR5cGUgPSBPYmplY3Qua2V5cyhLaW5zaGlwRGVncmVlVHlwZSlcbiAgICAgICAgLm1hcChrID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2tpbnNoaXBfZGVncmVlX1wiICsgayksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGssXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgIHB1YmxpYyBuYW1lRmlsaWF0aW9uID0gT2JqZWN0LmtleXMoRW51bUdyYVBhcilcbiAgICAgICAgLm1hcChrID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2dyYV9wYXJfXCIgKyBrKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogayxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgcHVibGljIG1hcml0YWxTdGF0dXNUeXBlID0gT2JqZWN0LmtleXMoTWFyaXRhbFN0YXR1c1R5cGUpXG4gICAgICAgIC5tYXAoayA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9tYXJpdGFsX3N0YXR1c19cIiArIGspLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBrLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICBwdWJsaWMgcmFjZVR5cGUgPSBPYmplY3Qua2V5cyhSYWNlVHlwZSlcbiAgICAgICAgLm1hcChrID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X3JhY2VfdHlwZV9cIiArIGspLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBrLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICBwdWJsaWMgZGVncmVlT2ZFZHVjYXRpb25UeXBlID0gT2JqZWN0LmtleXMoRW51bUdyYUlucylcbiAgICAgICAgLm1hcChrID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2VudW1fZ3JhX2luc19cIiArIGspLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBrLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAga2luc2hpcERlcGVuZGVudERlZ3JlZVR5cGU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKSxcbiAgICAgICAga2luc2hpcERlZ3JlZVR5cGU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSksXG4gICAgICAgIGtpbnNoaXBEZWdyZWVUeXBlMjogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9KSxcbiAgICAgICAgcmFjZVR5cGU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSksXG4gICAgICAgIG1hcml0YWxTdGF0dXNUeXBlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0pLFxuICAgICAgICByZWxpZ2lvbjogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9KSxcbiAgICAgICAgbmFjaW9uYWxpdHk6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSksXG4gICAgICAgIGRlZ3JlZU9mRWR1Y2F0aW9uVHlwZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9KSxcbiAgICAgICAgbnVtYmVyOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICAgICAgICB7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5PTkxZX05VTUJFUlNfUEFUVEVSTildKSxcbiAgICAgICAgKSxcbiAgICAgICAgbmFtZUZpbGlhdGlvbjE6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNDApKSxcbiAgICAgICAgbmFtZUZpbGlhdGlvbjI6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNDApKSxcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cnlTZXJ2aWNlOiBDb3VudHJ5U2VydmljZSxcbiAgICAgICAgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IEVtcGxveWVlRGVwZW5kZW50U2VydmljZSxcbiAgICApIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyZW50Rm9ybUdyb3VwLmFkZENvbnRyb2woXCJjb21wbGVtZW50RGVwZW5kZW50UGVyc29uRGF0YVwiLCB0aGlzLmZvcm1Hcm91cCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlRXZlbnRzKCk7XG4gICAgICAgIHRoaXMubmFjaW9uYWxpdHlTZWFyY2hGaWVsZHMgPSB0aGlzLmdldE5hY2lvbmFsaXR5U2VhcmNoRmllbGRzKCk7XG4gICAgICAgIHRoaXMubmFjaW9uYWxpdHlTZWFyY2hHcmlkRmllbGRzID0gdGhpcy5nZXROYWNpb25hbGl0eVNlYXJjaEZpZWxkcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuZ2V0RGVwZW5kZW50Rm9ybURhdGEoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBFbXBsb3llZURlcGVuZGVudEZvcm1EdG8pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKGRhdGE/LnBlcnNvbkRlcGVuZGVudERhdGE/LmNvbXBsZW1lbnREZXBlbmRlbnRQZXJzb25EYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgcHVibGljIGdldFByb3Aob2JqOiBhbnksIHBhdGg6IGFueSkge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25OYWNpb25hbGl0eUxvb2t1cFJlcXVlc3QodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzb3J0ID0gdGhpcy5uYWNpb25hbGl0eUxvb2t1cERpc3BsYXlGaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiAoeyBmaWVsZCwgb3JkZXI6IDEgfSkpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlclF1ZXJ5ID0gdGhpcy5nZXROYWNpb25hbGl0eVNlYXJjaEZpZWxkcygpXG4gICAgICAgICAgICAuZmlsdGVyKCh7IHR5cGUgfSkgPT4gaXNWYWxpZEZpbHRlcih0eXBlLCB2YWx1ZSkpXG4gICAgICAgICAgICAubWFwKGZvcm1GaWVsZCA9PiBjcmVhdGVGaWx0ZXJTdHJpbmcoZm9ybUZpZWxkLCB2YWx1ZSwgeyB0ZXh0U2VhY2hFbnVtOiB0cnVlIH0pKVxuICAgICAgICAgICAgLmZpbHRlcihzID0+ICEhcylcbiAgICAgICAgICAgIC5qb2luKFwiIG9yIFwiKTtcblxuICAgICAgICBjb25zdCBkaXNwbGF5RmllbGRzID0gdGhpcy5uYWNpb25hbGl0eUxvb2t1cERpc3BsYXlGaWVsZHM7XG4gICAgICAgIHRoaXMuY291bnRyeVNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0KHsgc29ydCwgZmlsdGVyUXVlcnksIGRpc3BsYXlGaWVsZHMgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsaXN0OiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmxpc3QsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzOiBsaXN0LmNvbnRlbnRzLm1hcCgoaXRlbTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLm5hY2lvbmFsaXR5TG9va3VwRGlzcGxheUZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuaW5kZXhPZihcIi5cIikgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtW2ZpZWxkXSA9IHRoaXMuZ2V0UHJvcChpdGVtLCBmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1bZmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4odGhpcy5uYWNpb25hbGl0eUxvb2t1cFNlcGFyYXRvciksXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hY2lvbmFsaXR5TG9va3VwU3VnZ2VzdGlvbnMgPSBsaXN0LmNvbnRlbnRzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTmFjaW9uYWxpdHlTZWFyY2hSZXF1ZXN0KGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgeyBmaXJzdCwgcm93cywgbXVsdGlTb3J0TWV0YSwgZmlsdGVyRGF0YSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBmaXJzdCAvIHJvd3M7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBtdWx0aVNvcnRNZXRhO1xuICAgICAgICBjb25zdCBmaWx0ZXJRdWVyeSA9IHRoaXMuZ2V0TmFjaW9uYWxpdHlTZWFyY2hGaWVsZHMoKVxuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+ICEhZmlsdGVyRGF0YVtuYW1lXSAmJiBmaWx0ZXJEYXRhW25hbWVdICE9PSBcIlwiKVxuICAgICAgICAgICAgLm1hcCgoeyBuYW1lLCB0eXBlIH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGZpbHRlckRhdGFbbmFtZV07XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBGaWVsZFR5cGUuRW51bSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWV9J2A7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBGaWVsZFR5cGUuU3RyaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29udGFpbmluZyh1cHBlcigke25hbWV9KSwgdXBwZXIoJyR7dmFsdWUucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpfScpKWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbihcIiBhbmQgXCIpO1xuXG4gICAgICAgIGNvbnN0IGRpc3BsYXlGaWVsZHMgPSB0aGlzLm5hY2lvbmFsaXR5TG9va3VwRGlzcGxheUZpZWxkcztcbiAgICAgICAgdGhpcy5jb3VudHJ5U2VydmljZVxuICAgICAgICAgICAgLmxpc3QoeyBwYWdlLCBzb3J0LCBmaWx0ZXJRdWVyeSwgZGlzcGxheUZpZWxkcyB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGxpc3Q6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4ubGlzdCxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IGxpc3QuY29udGVudHMubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMubmFjaW9uYWxpdHlMb29rdXBEaXNwbGF5RmllbGRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5pbmRleE9mKFwiLlwiKSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGRdID0gdGhpcy5nZXRQcm9wKGl0ZW0sIGZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVtmaWVsZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbih0aGlzLm5hY2lvbmFsaXR5TG9va3VwU2VwYXJhdG9yKSxcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubmFjaW9uYWxpdHlTZWFyY2hHcmlkRGF0YSA9IGxpc3QuY29udGVudHM7XG4gICAgICAgICAgICAgICAgdGhpcy5uYWNpb25hbGl0eVNlYXJjaFRvdGFsUmVjb3JkcyA9IGxpc3QudG90YWxFbGVtZW50cztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROYWNpb25hbGl0eVNlYXJjaEZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiY29kZVwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9jb2RfcGVzXCIpLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5JbnRlZ2VyLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIm5hbWVcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lbXBsb3llZV9kZXBlbmRlbnRfbm9tX3Blc1wiKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuXG5cbn1cbiJdfQ==