ca-components 1.6.19 → 1.6.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/ca-filters/components/ca-location-filter/ca-location-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-tab-switch/ca-tab-switch.component.mjs +6 -3
- package/fesm2022/ca-components.mjs +6 -3
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-tab-switch/ca-tab-switch.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -242,7 +242,7 @@ export class CaLocationFilterComponent {
|
|
|
242
242
|
// modules
|
|
243
243
|
AngularSvgIconModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: HttpClientModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type:
|
|
244
244
|
// components
|
|
245
|
-
CaTabSwitchComponent, selector: "app-ca-tab-switch", inputs: ["tabs", "type", "hasDashboardHeight", "subPeriodDropdownList", "selectedSubPeriod", "isClearCustomPeriodRangeValue", "isDisabled", "isBold"], outputs: ["switchClicked", "customPeriodRangeEmitter", "customPeriodRangeSubperiodEmitter", "popoverClosedEmitter"] }, { kind: "component", type: CaInputAddressDropdownComponent, selector: "app-ca-input-address-dropdown", inputs: ["placeholderType", "activeAddress", "receivedAddressData", "receivedAddressList", "inputConfig", "commandHandler", "isRouting", "closedBorder", "incorrectValue", "hideEmptyLoaded", "addresList"], outputs: ["sentAddressValue", "selectedAddress", "sentAddressData", "closeDropdown", "commandEvent", "changeFlag", "incorrectEvent"] }, { kind: "component", type: CaNgxSliderComponent, selector: "app-ca-ngx-slider", inputs: ["sliderTemplate", "sliderName", "sliderOptions", "startedValue", "customClass", "minValue", "maxValue", "isDisabled"], outputs: ["onUserValueChange", "onUserHighValueChange"] }], animations: [
|
|
245
|
+
CaTabSwitchComponent, selector: "app-ca-tab-switch", inputs: ["tabs", "type", "hasDashboardHeight", "subPeriodDropdownList", "selectedSubPeriod", "isClearCustomPeriodRangeValue", "isDisabled", "isBold", "isMarginTopDisabled"], outputs: ["switchClicked", "customPeriodRangeEmitter", "customPeriodRangeSubperiodEmitter", "popoverClosedEmitter"] }, { kind: "component", type: CaInputAddressDropdownComponent, selector: "app-ca-input-address-dropdown", inputs: ["placeholderType", "activeAddress", "receivedAddressData", "receivedAddressList", "inputConfig", "commandHandler", "isRouting", "closedBorder", "incorrectValue", "hideEmptyLoaded", "addresList"], outputs: ["sentAddressValue", "selectedAddress", "sentAddressData", "closeDropdown", "commandEvent", "changeFlag", "incorrectEvent"] }, { kind: "component", type: CaNgxSliderComponent, selector: "app-ca-ngx-slider", inputs: ["sliderTemplate", "sliderName", "sliderOptions", "startedValue", "customClass", "minValue", "maxValue", "isDisabled"], outputs: ["onUserValueChange", "onUserHighValueChange"] }], animations: [
|
|
246
246
|
inOutAnimation('inOutAnimation'),
|
|
247
247
|
showAnimation('showAnimation'),
|
|
248
248
|
areaLeftSideAnimation('areaLeftSideAnimation'),
|
|
@@ -289,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
289
289
|
}], sentAddressData: [{
|
|
290
290
|
type: Output
|
|
291
291
|
}] } });
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtbG9jYXRpb24tZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS1sb2NhdGlvbi1maWx0ZXIvY2EtbG9jYXRpb24tZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS1sb2NhdGlvbi1maWx0ZXIvY2EtbG9jYXRpb24tZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUNILFdBQVcsRUFDWCxtQkFBbUIsR0FHdEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixVQUFVO0FBQ1YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELFFBQVE7QUFDUixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTNGLGFBQWE7QUFDYixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnR0FBZ0csQ0FBQztBQUVuSSxhQUFhO0FBQ2IsT0FBTyxFQUFFLGNB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QWEsQ0FBQyxlQUFlLENBQUM7WUFDOUIscUJBQXFCLENBQUMsdUJBQXVCLENBQUM7WUFDOUMsc0JBQXNCLENBQUMsd0JBQXdCLENBQUM7U0FDbkQ7OzRGQUVRLHlCQUF5QjtrQkF4QnJDLFNBQVM7K0JBQ0ksd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDTCxVQUFVO3dCQUNWLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsK0JBQStCO3dCQUMvQixvQkFBb0I7cUJBQ3ZCLGNBR1c7d0JBQ1IsY0FBYyxDQUFDLGdCQUFnQixDQUFDO3dCQUNoQyxhQUFhLENBQUMsZUFBZSxDQUFDO3dCQUM5QixxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDOUMsc0JBQXNCLENBQUMsd0JBQXdCLENBQUM7cUJBQ25EO3VGQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFVyxnQkFBZ0I7c0JBQWhDLE1BQU07Z0JBR0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci1zbGlkZXIvbmd4LXNsaWRlcic7XG5pbXBvcnQge1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIFVudHlwZWRGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gbW9kdWxlc1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgZUxvYWRTdGF0dXMsIGVHZW5lcmFsQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtIH0gZnJvbSAnLi4vLi4vLi4vY2EtbWFwL2VudW1zL3Rvb2xiYXItZmlsdGVyLXN0cmluZy5lbnVtJztcblxuLy8gdmFsaWRhdG9yc1xuaW1wb3J0IHsgYWRkcmVzc1ZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24vdmFsaWRhdG9ycy9jYS1pbnB1dC1hZGRyZXNzLnJlZ2V4LXZhbGlkYXRpb25zJztcblxuLy8gYW5pbWF0aW9uc1xuaW1wb3J0IHsgaW5PdXRBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL2luLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHsgc2hvd0FuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2FuaW1hdGlvbnMvc2hvdy5hbmltYXRpb24nO1xuaW1wb3J0IHsgYXJlYUxlZnRTaWRlQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9hcmVhLWxlZnQtc2lkZS5hbmltYXRpb24nO1xuaW1wb3J0IHsgYXJlYVJpZ2h0U2lkZUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2FuaW1hdGlvbnMvYXJlYS1yaWdodC1zaWRlLmFuaW1hdGlvbic7XG5cbi8vIHV0aWxzXG5pbXBvcnQgeyBDYUZpbHRlcnNTdmdSb3V0ZXMgfSBmcm9tICcuLi8uLi91dGlscy9zdmctcm91dGVzL2NhLWZpbHRlcnMtc3ZnLXJvdXRlcyc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgQXJyYXlTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvYXJyYXktc3RhdHVzLm1vZGVsJztcbmltcG9ydCB7IGZpbHRlck91dHB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0Lm1vZGVsJztcbmltcG9ydCB7IGZpbHRlck91dHB1dFdpdGhQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmlsdGVyLW91dHB1dC1wYXJhbXMubW9kZWwnO1xuaW1wb3J0IHsgQXJlYUJveFRhYiB9IGZyb20gJy4vbW9kZWxzL2FyZWEtYm94LXRhYi5tb2RlbCc7XG5pbXBvcnQgeyBTZW50QWRkcmVzc0RhdGEgfSBmcm9tICcuLi8uLi8uLi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL21vZGVscy9zZW50LWFkZHJlc3MtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzTGlzdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2FkZHJlc3MtbGlzdC1yZXNwb25zZS5tb2RlbCc7XG5cbi8vIGNvbnN0YW50c1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlnQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uc3RhbnRzL2ZpbHRlci1jb25maWcuY29uc3RhbnRzJztcbmltcG9ydCB7IExvY2F0aW9uRmlsdGVyQ29uc3RhbnRzIH0gZnJvbSAnLi91dGlscy9jb25zdGFudHMvbG9jYXRpb24tZmlsdGVyLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NvbmZpZyc7XG5pbXBvcnQgeyBDYUxvY2F0aW9uRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY2EtbG9jYXRpb24tZmlsdGVyLmNvbmZpZyc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhVGFiU3dpdGNoQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2EtdGFiLXN3aXRjaC9jYS10YWItc3dpdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0QWRkcmVzc0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENhTmd4U2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2Etbmd4LXNsaWRlci9jYS1uZ3gtc2xpZGVyLmNvbXBvbmVudCc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgQWRkcmVzc0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24vbW9kZWxzL2FkZHJlc3MtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzTGlzdCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24vbW9kZWxzL2FkZHJlc3MtbGlzdC5tb2RlbCc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IEZpbHRlckhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzL2hlbHBlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1jYS1sb2NhdGlvbi1maWx0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBtb2R1bGVzXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICAvLyBjb21wb25lbnRzXG4gICAgICAgIENhVGFiU3dpdGNoQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0QWRkcmVzc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBDYU5neFNsaWRlckNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYS1sb2NhdGlvbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhLWxvY2F0aW9uLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgaW5PdXRBbmltYXRpb24oJ2luT3V0QW5pbWF0aW9uJyksXG4gICAgICAgIHNob3dBbmltYXRpb24oJ3Nob3dBbmltYXRpb24nKSxcbiAgICAgICAgYXJlYUxlZnRTaWRlQW5pbWF0aW9uKCdhcmVhTGVmdFNpZGVBbmltYXRpb24nKSxcbiAgICAgICAgYXJlYVJpZ2h0U2lkZUFuaW1hdGlvbignYXJlYVJpZ2h0U2lkZUFuaW1hdGlvbicpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhTG9jYXRpb25GaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdHlwZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSB0b0RvU3ViVHlwZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc0xlZ2VuZFZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0ZpbHRlckFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzQXJlYUZpbHRlcjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWRkcmVzc0xpc3QhOiBBZGRyZXNzTGlzdFtdO1xuXG4gICAgQElucHV0KCkgcmVjZWl2ZWRBZGRyZXNzTGlzdCE6IEFkZHJlc3NMaXN0UmVzcG9uc2U7XG4gICAgQElucHV0KCkgcmVjZWl2ZWRBZGRyZXNzRGF0YSE6IEFkZHJlc3NEYXRhO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzZW50QWRkcmVzc1ZhbHVlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpIHNlbnRBZGRyZXNzRGF0YTogRXZlbnRFbWl0dGVyPFNlbnRBZGRyZXNzRGF0YT4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPFNlbnRBZGRyZXNzRGF0YT4oKTtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHVibGljIGxvY2F0aW9uU2xpZGVyRGF0YTogT3B0aW9ucyA9XG4gICAgICAgIEZpbHRlckNvbmZpZ0NvbnN0YW50cy5MT0NBVElPTl9TTElERVJfREFUQTtcblxuICAgIHB1YmxpYyBsb2NhdGlvbk5hbWVTZXQhOiBzdHJpbmcgfCBudWxsO1xuICAgIHB1YmxpYyBsb2NhdGlvbkZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgcHVibGljIGxvY2F0aW9uUmFuZ2U6IG51bWJlciA9IDI1O1xuICAgIHB1YmxpYyBsb2NhdGlvblJhbmdlU2V0OiBudW1iZXIgPSAyNTtcblxuICAgIHB1YmxpYyBsb25nVmFsOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBsYXRWYWw6IG51bWJlciA9IDA7XG5cbiAgICBwdWJsaWMgb3JpZ2luTG9uZ1ZhbDogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgb3JpZ2luTGF0VmFsOiBudW1iZXIgPSAwO1xuXG4gICAgcHVibGljIGRlc3RMb25nVmFsOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBkZXN0TGF0VmFsOiBudW1iZXIgPSAwO1xuXG4gICAgcHVibGljIGxvbmdWYWx1ZVNldDogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgbGF0VmFsU2V0OiBudW1iZXIgPSAwO1xuXG4gICAgcHVibGljIG9yaWdpbkxvbmdWYWxTZXQ6IG51bWJlciA9IDA7XG4gICAgcHVibGljIG9yaWdpbkxhdFZhbFNldDogbnVtYmVyID0gMDtcblxuICAgIHB1YmxpYyBkZXN0TG9uZ1ZhbFNldDogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgZGVzdExhdFZhbFNldDogbnVtYmVyID0gMDtcblxuICAgIHB1YmxpYyB1bnNlbGVjdGVkVmlzaWJsZUNvdW50OiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBhcmVhRmlsdGVyU2VsZWN0ZWQhOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgaXNCdXR0b25BdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNBc2NlbmRpbmdTb3J0T3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHVibGljIGxvYWRTdGF0dXNFbnVtID0gZUxvYWRTdGF0dXM7XG4gICAgcHVibGljIGZpbHRlckFjdGl2ZUFycmF5OiBBcnJheVN0YXR1c1tdID0gW107XG4gICAgcHVibGljIHRvdGFsRmlsdGVyc051bTogbnVtYmVyID0gMDtcblxuICAgIHB1YmxpYyBhcmVhRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgcHVibGljIGxvY2F0aW9uU3RhdGUhOiBzdHJpbmcgfCBudWxsO1xuICAgIHB1YmxpYyByYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBkZXN0aW5hdGlvblN0YXRlITogc3RyaW5nO1xuICAgIHB1YmxpYyBvcmlnaW5TdGF0ZSE6IHN0cmluZztcbiAgICBwdWJsaWMgaGFzU2lkZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGFyZWFCb3hUYWI6IEFyZWFCb3hUYWJbXSA9IExvY2F0aW9uRmlsdGVyQ29uc3RhbnRzLkFSRUFfQk9YX1RBQjtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcblxuICAgICAgICB0aGlzLndhdGNoTG9jYXRpb25Gb3JtVmFsdWVDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy53YXRjaEFyZWFGb3JtVmFsdWVDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0IGdldE9yaWdpbkNvbnRyb2woKTogSUNhSW5wdXQge1xuICAgICAgICByZXR1cm4gQ2FMb2NhdGlvbkZpbHRlckNvbmZpZy5vcmlnaW5Db250cm9sKCk7XG4gICAgfVxuXG4gICAgZ2V0IGdldERlc3RpbmF0aW9uQ29udHJvbCgpOiBJQ2FJbnB1dCB7XG4gICAgICAgIHJldHVybiBDYUxvY2F0aW9uRmlsdGVyQ29uZmlnLmRlc3RpbmF0aW9uQ29udHJvbCgpO1xuICAgIH1cblxuICAgIGdldCBnZXRBZGRyZXNzQ29udHJvbCgpOiBJQ2FJbnB1dCB7XG4gICAgICAgIHJldHVybiBDYUxvY2F0aW9uRmlsdGVyQ29uZmlnLmFkZHJlc3NDb250cm9sKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7fVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2F0aW9uRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgYWRkcmVzczogW251bGwsIFsuLi5hZGRyZXNzVmFsaWRhdGlvbl1dLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFyZWFGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBvcmlnaW46IFtudWxsLCBbLi4uYWRkcmVzc1ZhbGlkYXRpb25dXSxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiBbbnVsbCwgWy4uLmFkZHJlc3NWYWxpZGF0aW9uXV0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2F0Y2hMb2NhdGlvbkZvcm1WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXJlYUZpbHRlclNlbGVjdGVkID0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uTE9DQVRJT047XG5cbiAgICAgICAgaWYgKHRoaXMubG9jYXRpb25Gb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNoYW5nZXMuYWRkcmVzcylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb25TdGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YXRjaEFyZWFGb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hcmVhRm9ybSkge1xuICAgICAgICAgICAgdGhpcy5hcmVhRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNoYW5nZXMub3JpZ2luKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcmlnaW5TdGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghY2hhbmdlcy5kZXN0aW5hdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb25TdGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uQXJlYUZpbHRlckNsb3NlKCk6IHZvaWQge1xuICAgICAgICBGaWx0ZXJIZWxwZXIuaGFuZGxlQXJlYUZpbHRlckNsb3NlKFxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbkZvcm0sXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uTmFtZVNldCxcbiAgICAgICAgICAgIHRoaXMubG9uZ1ZhbCxcbiAgICAgICAgICAgIHRoaXMubGF0VmFsLFxuICAgICAgICAgICAgdGhpcy5sb25nVmFsdWVTZXQsXG4gICAgICAgICAgICB0aGlzLmxhdFZhbFNldCxcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25SYW5nZSxcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25SYW5nZVNldFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRhYkNoYW5nZShldmVudDogeyBuYW1lOiBzdHJpbmcgfSwgc3ViVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzU2lkZUFuaW1hdGlvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuYXJlYUZpbHRlclNlbGVjdGVkID0gZXZlbnQubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RmlsdGVyVmFsdWUoKTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB7XG4gICAgICAgIGxldCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgICAgICBjb25zdCBzdWJUeXBlID1cbiAgICAgICAgICAgIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLkVNUFRZX1NUUklOR19QTEFDRUhPTERFUi50b1N0cmluZygpO1xuXG4gICAgICAgIGlmICh0aGlzLmFyZWFGaWx0ZXJTZWxlY3RlZCAhPSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5MT0NBVElPTikge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgb3JpZ2luTGF0VmFsdWU6IHRoaXMub3JpZ2luTGF0VmFsLFxuICAgICAgICAgICAgICAgIG9yaWdpbkxvbmdWYWx1ZTogdGhpcy5vcmlnaW5Mb25nVmFsLFxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTGF0VmFsdWU6IHRoaXMuZGVzdExhdFZhbCxcbiAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbkxvbmdWYWx1ZTogdGhpcy5kZXN0TG9uZ1ZhbCxcbiAgICAgICAgICAgICAgICByYW5nZVZhbHVlOiB0aGlzLmxvY2F0aW9uUmFuZ2UsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uUmFuZ2VTZXQgPSB0aGlzLmxvY2F0aW9uUmFuZ2U7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbkxhdFZhbFNldCA9IHRoaXMub3JpZ2luTGF0VmFsO1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5Mb25nVmFsU2V0ID0gdGhpcy5vcmlnaW5Mb25nVmFsO1xuICAgICAgICAgICAgdGhpcy5kZXN0TG9uZ1ZhbFNldCA9IHRoaXMuZGVzdExvbmdWYWw7XG4gICAgICAgICAgICB0aGlzLmRlc3RMYXRWYWxTZXQgPSB0aGlzLmRlc3RMYXRWYWw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICBsb25nVmFsdWU6IHRoaXMubG9uZ1ZhbCxcbiAgICAgICAgICAgICAgICBsYXRWYWx1ZTogdGhpcy5sYXRWYWwsXG4gICAgICAgICAgICAgICAgcmFuZ2VWYWx1ZTogdGhpcy5sb2NhdGlvblJhbmdlLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5sb25nVmFsdWVTZXQgPSB0aGlzLmxvbmdWYWw7XG4gICAgICAgICAgICB0aGlzLmxhdFZhbFNldCA9IHRoaXMubGF0VmFsO1xuICAgICAgICAgICAgdGhpcy5sb2NhdGlvblJhbmdlU2V0ID0gdGhpcy5sb2NhdGlvblJhbmdlO1xuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbk5hbWVTZXQgPSB0aGlzLmxvY2F0aW9uRm9ybS5nZXQoJ2FkZHJlc3MnKT8udmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgZmlsdGVyVHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgICAgYWN0aW9uOiBlR2VuZXJhbEFjdGlvbnMuU0VULFxuICAgICAgICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICAgICAgICBzdWJUeXBlLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJBbGwoZXZlbnQ/OiBFdmVudCk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMge1xuICAgICAgICBpZiAoZXZlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMubG9jYXRpb25Gb3JtLnNldFZhbHVlKHtcbiAgICAgICAgICAgIGFkZHJlc3M6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFyZWFGb3JtLnNldFZhbHVlKHtcbiAgICAgICAgICAgIG9yaWdpbjogbnVsbCxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sb2NhdGlvblJhbmdlID0gMjU7XG4gICAgICAgIHRoaXMubG9jYXRpb25TdGF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMubG9uZ1ZhbCA9IDA7XG4gICAgICAgIHRoaXMubGF0VmFsID0gMDtcbiAgICAgICAgdGhpcy5vcmlnaW5Mb25nVmFsID0gMDtcbiAgICAgICAgdGhpcy5vcmlnaW5MYXRWYWwgPSAwO1xuICAgICAgICB0aGlzLmRlc3RMb25nVmFsID0gMDtcbiAgICAgICAgdGhpcy5kZXN0TGF0VmFsID0gMDtcbiAgICAgICAgdGhpcy5sb2NhdGlvbk5hbWVTZXQgPSBudWxsO1xuXG4gICAgICAgIHRoaXMubG9uZ1ZhbHVlU2V0ID0gdGhpcy5sb25nVmFsO1xuICAgICAgICB0aGlzLmxhdFZhbFNldCA9IHRoaXMubGF0VmFsO1xuICAgICAgICB0aGlzLm9yaWdpbkxvbmdWYWxTZXQgPSB0aGlzLm9yaWdpbkxvbmdWYWw7XG4gICAgICAgIHRoaXMub3JpZ2luTGF0VmFsU2V0ID0gdGhpcy5vcmlnaW5MYXRWYWw7XG4gICAgICAgIHRoaXMuZGVzdExhdFZhbFNldCA9IHRoaXMuZGVzdExvbmdWYWw7XG4gICAgICAgIHRoaXMuZGVzdExvbmdWYWxTZXQgPSB0aGlzLmRlc3RMb25nVmFsO1xuICAgICAgICB0aGlzLmxvY2F0aW9uUmFuZ2VTZXQgPSB0aGlzLmxvY2F0aW9uUmFuZ2U7XG5cbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIGFjdGlvbjogZUdlbmVyYWxBY3Rpb25zLkNMRUFSLFxuICAgICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgICAgZmlsdGVyVHlwZTogdGhpcy50eXBlLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UmFuZ2VWYWx1ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gTnVtYmVyKGlucHV0RWxlbWVudC52YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSAhPSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5MT0NBVElPTl9GSUxURVIpXG4gICAgICAgICAgICB0aGlzLnJhbmdlVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgZWxzZSB0aGlzLmxvY2F0aW9uUmFuZ2UgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlUmFuZ2VWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIC8vbGVhdmUgdGhpcyBhbnkgZm9yIG5vd1xuICAgICAgICBpZiAodGhpcy50eXBlICE9PSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5MT0NBVElPTl9GSUxURVIpXG4gICAgICAgICAgICB0aGlzLnJhbmdlVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgZWxzZSB0aGlzLmxvY2F0aW9uUmFuZ2UgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRTZWxlY3QoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbnRBZGRyZXNzVmFsdWUuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMubG9jYXRpb25OYW1lU2V0ID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZU9yaWdpblNlbGVjdChldmVudDogQWRkcmVzc0RhdGEpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50Py5hZGRyZXNzPy5hZGRyZXNzKSB0aGlzLm9yaWdpblN0YXRlID0gZXZlbnQuYWRkcmVzcy5hZGRyZXNzO1xuXG4gICAgICAgIGlmIChldmVudD8ubG9uZ0xhdCAmJiBldmVudD8ubG9uZ0xhdD8ubGF0aXR1ZGUpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luTG9uZ1ZhbCA9IGV2ZW50Py5sb25nTGF0Py5sb25naXR1ZGUgfHwgMDtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luTGF0VmFsID0gZXZlbnQ/LmxvbmdMYXQ/LmxhdGl0dWRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUxvY2F0aW9uQ2hhbmdlKGV2ZW50OiBBZGRyZXNzRGF0YSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvbmdWYWwgPSBldmVudD8ubG9uZ0xhdD8ubG9uZ2l0dWRlID8/IDA7XG4gICAgICAgIHRoaXMubGF0VmFsID0gZXZlbnQ/LmxvbmdMYXQ/LmxhdGl0dWRlID8/IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZURlc3RpbmF0aW9uU2VsZWN0KGV2ZW50OiBBZGRyZXNzRGF0YSk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQ/LmFkZHJlc3M/LmFkZHJlc3MpXG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uU3RhdGUgPSBldmVudC5hZGRyZXNzLmFkZHJlc3M7XG5cbiAgICAgICAgaWYgKGV2ZW50Py5sb25nTGF0ICYmIGV2ZW50Py5sb25nTGF0Py5sYXRpdHVkZSkge1xuICAgICAgICAgICAgdGhpcy5kZXN0TG9uZ1ZhbCA9IGV2ZW50Py5sb25nTGF0Py5sb25naXR1ZGUgfHwgMDtcbiAgICAgICAgICAgIHRoaXMuZGVzdExhdFZhbCA9IGV2ZW50Py5sb25nTGF0Py5sYXRpdHVkZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdmdQYXRoKHByb3BlcnR5TmFtZToga2V5b2YgdHlwZW9mIENhRmlsdGVyc1N2Z1JvdXRlcyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBDYUZpbHRlcnNTdmdSb3V0ZXNbcHJvcGVydHlOYW1lXSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUFkZHJlc3NEYXRhKGV2ZW50OiBTZW50QWRkcmVzc0RhdGEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZW50QWRkcmVzc0RhdGEuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXJcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhcmVhRmlsdGVySG9sZGVyXCIgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIj5cbiAgICA8YXBwLWNhLXRhYi1zd2l0Y2hcbiAgICAgICAgW3RhYnNdPVwiYXJlYUJveFRhYlwiXG4gICAgICAgIChzd2l0Y2hDbGlja2VkKT1cIm9uVGFiQ2hhbmdlKCRldmVudCwgJ1JFUVVFU1RTLUJPWCcpXCJcbiAgICAgICAgW3R5cGVdPVwiJ3R5cGUyLW1vZGFsLXBvcHVwJ1wiXG4gICAgPlxuICAgIDwvYXBwLWNhLXRhYi1zd2l0Y2g+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhcmVhLWFsbC1ob2xkZXIgZC1mbGV4IGZsZXgtd3JhcCBmbGV4LXJvd1wiPlxuICAgIEBpZiAoaXNBcmVhRmlsdGVyICYmIGFyZWFGaWx0ZXJTZWxlY3RlZCAhPT0gJ0xvY2F0aW9uJykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1wYXJ0LWhvbGRlclwiIFtAYXJlYVJpZ2h0U2lkZUFuaW1hdGlvbl09XCInaW4nXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhcmVhLWZvcm1zLWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJhcmVhRm9ybVwiXG4gICAgICAgICAgICAgICAgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmVhLXNpbmdsZS1mb3JtLWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNhLWlucHV0LWFkZHJlc3MtZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9yaWdpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRDb25maWddPVwiZ2V0T3JpZ2luQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJUeXBlXT1cIidzaG9ydEFkZHJlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthZGRyZXNMaXN0XT1cImFkZHJlc3NMaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZEFkZHJlc3MpPVwiaGFuZGxlT3JpZ2luU2VsZWN0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9hcHAtY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJlYS1zaW5nbGUtZm9ybS1ob2xkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXN0aW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRDb25maWddPVwiZ2V0RGVzdGluYXRpb25Db250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlclR5cGVdPVwiJ3Nob3J0QWRkcmVzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FkZHJlc0xpc3RdPVwiYWRkcmVzc0xpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQWRkcmVzcyk9XCJoYW5kbGVEZXN0aW5hdGlvblNlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYXBwLWNhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLXBhcnQtaG9sZGVyXCIgW0BhcmVhTGVmdFNpZGVBbmltYXRpb25dPVwiJ2luJ1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLW1pZGRsZS1ob2xkZXIgbG9jYXRpb24tbWlkZGxlLXBhZGRpbmdcIlxuICAgICAgICAgICAgICAgIFtAc2hvd0FuaW1hdGlvbl09XCIhIWlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImxvY2F0aW9uRm9ybVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFwcC1jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRDb25maWddPVwiZ2V0QWRkcmVzc0NvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJUeXBlXT1cIidzaG9ydEFkZHJlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2FkZHJlc0xpc3RdPVwiYWRkcmVzc0xpc3RcIlxuICAgICAgICAgICAgICAgICAgICAoc2VudEFkZHJlc3NWYWx1ZSk9XCJoYW5kbGVJbnB1dFNlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlY2VpdmVkQWRkcmVzc0xpc3RdPVwicmVjZWl2ZWRBZGRyZXNzTGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWNlaXZlZEFkZHJlc3NEYXRhXT1cInJlY2VpdmVkQWRkcmVzc0RhdGFcIlxuICAgICAgICAgICAgICAgICAgICAoc2VudEFkZHJlc3NEYXRhKT1cImhhbmRsZUFkZHJlc3NEYXRhKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRBZGRyZXNzKT1cImhhbmRsZUxvY2F0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L2FwcC1jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmaWx0ZXItbWlkZGxlLWhvbGRlciBsb2NhdGlvbi1zbGlkZXItbWlkZGxlLXBhZGRpbmdcIlxuICAgICAgICBbQHNob3dBbmltYXRpb25dPVwiISFpc0ZpbHRlckFjdGl2ZVwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInJhbmdlLW5ldy12YWx1ZS1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtdGV4dFwiPlJhbmdlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtZmxleC1ob2xkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IChvblVzZXJWYWx1ZUNoYW5nZSk9XCJzZXRSYW5nZVZhbHVlKCRldmVudClcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8YXBwLWNhLW5neC1zbGlkZXJcbiAgICAgICAgICAgICAgICAgICAgW3NsaWRlck9wdGlvbnNdPVwibG9jYXRpb25TbGlkZXJEYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0YXJ0ZWRWYWx1ZV09XCJsb2NhdGlvblJhbmdlXCJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNsYXNzXT1cIidjdXN0b20tc2xpZGVyLWZpbHRlcidcIlxuICAgICAgICAgICAgICAgICAgICAob25Vc2VyVmFsdWVDaGFuZ2UpPVwiY2hhbmdlUmFuZ2VWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY2Etbmd4LXNsaWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXIgYm90dG9tLWJvcmRlci1tYXJnaW5cIj48L2Rpdj5cbiJdfQ==
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtbG9jYXRpb24tZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS1sb2NhdGlvbi1maWx0ZXIvY2EtbG9jYXRpb24tZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS1sb2NhdGlvbi1maWx0ZXIvY2EtbG9jYXRpb24tZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUNILFdBQVcsRUFDWCxtQkFBbUIsR0FHdEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixVQUFVO0FBQ1YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELFFBQVE7QUFDUixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTNGLGFBQWE7QUFDYixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnR0FBZ0csQ0FBQztBQUVuSSxhQUFhO0FBQ2IsT0FBTyxFQUFFLGNB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QWEsQ0FBQyxlQUFlLENBQUM7WUFDOUIscUJBQXFCLENBQUMsdUJBQXVCLENBQUM7WUFDOUMsc0JBQXNCLENBQUMsd0JBQXdCLENBQUM7U0FDbkQ7OzRGQUVRLHlCQUF5QjtrQkF4QnJDLFNBQVM7K0JBQ0ksd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDTCxVQUFVO3dCQUNWLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsK0JBQStCO3dCQUMvQixvQkFBb0I7cUJBQ3ZCLGNBR1c7d0JBQ1IsY0FBYyxDQUFDLGdCQUFnQixDQUFDO3dCQUNoQyxhQUFhLENBQUMsZUFBZSxDQUFDO3dCQUM5QixxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDOUMsc0JBQXNCLENBQUMsd0JBQXdCLENBQUM7cUJBQ25EO3VGQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFVyxnQkFBZ0I7c0JBQWhDLE1BQU07Z0JBR0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci1zbGlkZXIvbmd4LXNsaWRlcic7XG5pbXBvcnQge1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIFVudHlwZWRGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gbW9kdWxlc1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgZUxvYWRTdGF0dXMsIGVHZW5lcmFsQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtIH0gZnJvbSAnLi4vLi4vLi4vY2EtbWFwL2VudW1zL3Rvb2xiYXItZmlsdGVyLXN0cmluZy5lbnVtJztcblxuLy8gdmFsaWRhdG9yc1xuaW1wb3J0IHsgYWRkcmVzc1ZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24vdmFsaWRhdG9ycy9jYS1pbnB1dC1hZGRyZXNzLnJlZ2V4LXZhbGlkYXRpb25zJztcblxuLy8gYW5pbWF0aW9uc1xuaW1wb3J0IHsgaW5PdXRBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL2luLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHsgc2hvd0FuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2FuaW1hdGlvbnMvc2hvdy5hbmltYXRpb24nO1xuaW1wb3J0IHsgYXJlYUxlZnRTaWRlQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9hcmVhLWxlZnQtc2lkZS5hbmltYXRpb24nO1xuaW1wb3J0IHsgYXJlYVJpZ2h0U2lkZUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2FuaW1hdGlvbnMvYXJlYS1yaWdodC1zaWRlLmFuaW1hdGlvbic7XG5cbi8vIHV0aWxzXG5pbXBvcnQgeyBDYUZpbHRlcnNTdmdSb3V0ZXMgfSBmcm9tICcuLi8uLi91dGlscy9zdmctcm91dGVzL2NhLWZpbHRlcnMtc3ZnLXJvdXRlcyc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgQXJyYXlTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvYXJyYXktc3RhdHVzLm1vZGVsJztcbmltcG9ydCB7IGZpbHRlck91dHB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0Lm1vZGVsJztcbmltcG9ydCB7IGZpbHRlck91dHB1dFdpdGhQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmlsdGVyLW91dHB1dC1wYXJhbXMubW9kZWwnO1xuaW1wb3J0IHsgQXJlYUJveFRhYiB9IGZyb20gJy4vbW9kZWxzL2FyZWEtYm94LXRhYi5tb2RlbCc7XG5pbXBvcnQgeyBTZW50QWRkcmVzc0RhdGEgfSBmcm9tICcuLi8uLi8uLi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL21vZGVscy9zZW50LWFkZHJlc3MtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzTGlzdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2FkZHJlc3MtbGlzdC1yZXNwb25zZS5tb2RlbCc7XG5cbi8vIGNvbnN0YW50c1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlnQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uc3RhbnRzL2ZpbHRlci1jb25maWcuY29uc3RhbnRzJztcbmltcG9ydCB7IExvY2F0aW9uRmlsdGVyQ29uc3RhbnRzIH0gZnJvbSAnLi91dGlscy9jb25zdGFudHMvbG9jYXRpb24tZmlsdGVyLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NvbmZpZyc7XG5pbXBvcnQgeyBDYUxvY2F0aW9uRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY2EtbG9jYXRpb24tZmlsdGVyLmNvbmZpZyc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhVGFiU3dpdGNoQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2EtdGFiLXN3aXRjaC9jYS10YWItc3dpdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0QWRkcmVzc0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENhTmd4U2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2Etbmd4LXNsaWRlci9jYS1uZ3gtc2xpZGVyLmNvbXBvbmVudCc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgQWRkcmVzc0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24vbW9kZWxzL2FkZHJlc3MtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzTGlzdCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24vbW9kZWxzL2FkZHJlc3MtbGlzdC5tb2RlbCc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IEZpbHRlckhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzL2hlbHBlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1jYS1sb2NhdGlvbi1maWx0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBtb2R1bGVzXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICAvLyBjb21wb25lbnRzXG4gICAgICAgIENhVGFiU3dpdGNoQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0QWRkcmVzc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBDYU5neFNsaWRlckNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYS1sb2NhdGlvbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhLWxvY2F0aW9uLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgaW5PdXRBbmltYXRpb24oJ2luT3V0QW5pbWF0aW9uJyksXG4gICAgICAgIHNob3dBbmltYXRpb24oJ3Nob3dBbmltYXRpb24nKSxcbiAgICAgICAgYXJlYUxlZnRTaWRlQW5pbWF0aW9uKCdhcmVhTGVmdFNpZGVBbmltYXRpb24nKSxcbiAgICAgICAgYXJlYVJpZ2h0U2lkZUFuaW1hdGlvbignYXJlYVJpZ2h0U2lkZUFuaW1hdGlvbicpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhTG9jYXRpb25GaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdHlwZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSB0b0RvU3ViVHlwZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc0xlZ2VuZFZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0ZpbHRlckFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzQXJlYUZpbHRlcjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWRkcmVzc0xpc3QhOiBBZGRyZXNzTGlzdFtdO1xuXG4gICAgQElucHV0KCkgcmVjZWl2ZWRBZGRyZXNzTGlzdCE6IEFkZHJlc3NMaXN0UmVzcG9uc2U7XG4gICAgQElucHV0KCkgcmVjZWl2ZWRBZGRyZXNzRGF0YSE6IEFkZHJlc3NEYXRhO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzZW50QWRkcmVzc1ZhbHVlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpIHNlbnRBZGRyZXNzRGF0YTogRXZlbnRFbWl0dGVyPFNlbnRBZGRyZXNzRGF0YT4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPFNlbnRBZGRyZXNzRGF0YT4oKTtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHVibGljIGxvY2F0aW9uU2xpZGVyRGF0YTogT3B0aW9ucyA9XG4gICAgICAgIEZpbHRlckNvbmZpZ0NvbnN0YW50cy5MT0NBVElPTl9TTElERVJfREFUQTtcblxuICAgIHB1YmxpYyBsb2NhdGlvbk5hbWVTZXQhOiBzdHJpbmcgfCBudWxsO1xuICAgIHB1YmxpYyBsb2NhdGlvbkZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgcHVibGljIGxvY2F0aW9uUmFuZ2U6IG51bWJlciA9IDI1O1xuICAgIHB1YmxpYyBsb2NhdGlvblJhbmdlU2V0OiBudW1iZXIgPSAyNTtcblxuICAgIHB1YmxpYyBsb25nVmFsOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBsYXRWYWw6IG51bWJlciA9IDA7XG5cbiAgICBwdWJsaWMgb3JpZ2luTG9uZ1ZhbDogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgb3JpZ2luTGF0VmFsOiBudW1iZXIgPSAwO1xuXG4gICAgcHVibGljIGRlc3RMb25nVmFsOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBkZXN0TGF0VmFsOiBudW1iZXIgPSAwO1xuXG4gICAgcHVibGljIGxvbmdWYWx1ZVNldDogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgbGF0VmFsU2V0OiBudW1iZXIgPSAwO1xuXG4gICAgcHVibGljIG9yaWdpbkxvbmdWYWxTZXQ6IG51bWJlciA9IDA7XG4gICAgcHVibGljIG9yaWdpbkxhdFZhbFNldDogbnVtYmVyID0gMDtcblxuICAgIHB1YmxpYyBkZXN0TG9uZ1ZhbFNldDogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgZGVzdExhdFZhbFNldDogbnVtYmVyID0gMDtcblxuICAgIHB1YmxpYyB1bnNlbGVjdGVkVmlzaWJsZUNvdW50OiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBhcmVhRmlsdGVyU2VsZWN0ZWQhOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgaXNCdXR0b25BdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNBc2NlbmRpbmdTb3J0T3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHVibGljIGxvYWRTdGF0dXNFbnVtID0gZUxvYWRTdGF0dXM7XG4gICAgcHVibGljIGZpbHRlckFjdGl2ZUFycmF5OiBBcnJheVN0YXR1c1tdID0gW107XG4gICAgcHVibGljIHRvdGFsRmlsdGVyc051bTogbnVtYmVyID0gMDtcblxuICAgIHB1YmxpYyBhcmVhRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgcHVibGljIGxvY2F0aW9uU3RhdGUhOiBzdHJpbmcgfCBudWxsO1xuICAgIHB1YmxpYyByYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBkZXN0aW5hdGlvblN0YXRlITogc3RyaW5nO1xuICAgIHB1YmxpYyBvcmlnaW5TdGF0ZSE6IHN0cmluZztcbiAgICBwdWJsaWMgaGFzU2lkZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGFyZWFCb3hUYWI6IEFyZWFCb3hUYWJbXSA9IExvY2F0aW9uRmlsdGVyQ29uc3RhbnRzLkFSRUFfQk9YX1RBQjtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcblxuICAgICAgICB0aGlzLndhdGNoTG9jYXRpb25Gb3JtVmFsdWVDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy53YXRjaEFyZWFGb3JtVmFsdWVDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0IGdldE9yaWdpbkNvbnRyb2woKTogSUNhSW5wdXQge1xuICAgICAgICByZXR1cm4gQ2FMb2NhdGlvbkZpbHRlckNvbmZpZy5vcmlnaW5Db250cm9sKCk7XG4gICAgfVxuXG4gICAgZ2V0IGdldERlc3RpbmF0aW9uQ29udHJvbCgpOiBJQ2FJbnB1dCB7XG4gICAgICAgIHJldHVybiBDYUxvY2F0aW9uRmlsdGVyQ29uZmlnLmRlc3RpbmF0aW9uQ29udHJvbCgpO1xuICAgIH1cblxuICAgIGdldCBnZXRBZGRyZXNzQ29udHJvbCgpOiBJQ2FJbnB1dCB7XG4gICAgICAgIHJldHVybiBDYUxvY2F0aW9uRmlsdGVyQ29uZmlnLmFkZHJlc3NDb250cm9sKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7fVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2F0aW9uRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgYWRkcmVzczogW251bGwsIFsuLi5hZGRyZXNzVmFsaWRhdGlvbl1dLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFyZWFGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBvcmlnaW46IFtudWxsLCBbLi4uYWRkcmVzc1ZhbGlkYXRpb25dXSxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiBbbnVsbCwgWy4uLmFkZHJlc3NWYWxpZGF0aW9uXV0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2F0Y2hMb2NhdGlvbkZvcm1WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXJlYUZpbHRlclNlbGVjdGVkID0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uTE9DQVRJT047XG5cbiAgICAgICAgaWYgKHRoaXMubG9jYXRpb25Gb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNoYW5nZXMuYWRkcmVzcylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb25TdGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YXRjaEFyZWFGb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hcmVhRm9ybSkge1xuICAgICAgICAgICAgdGhpcy5hcmVhRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNoYW5nZXMub3JpZ2luKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcmlnaW5TdGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghY2hhbmdlcy5kZXN0aW5hdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb25TdGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uQXJlYUZpbHRlckNsb3NlKCk6IHZvaWQge1xuICAgICAgICBGaWx0ZXJIZWxwZXIuaGFuZGxlQXJlYUZpbHRlckNsb3NlKFxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbkZvcm0sXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uTmFtZVNldCxcbiAgICAgICAgICAgIHRoaXMubG9uZ1ZhbCxcbiAgICAgICAgICAgIHRoaXMubGF0VmFsLFxuICAgICAgICAgICAgdGhpcy5sb25nVmFsdWVTZXQsXG4gICAgICAgICAgICB0aGlzLmxhdFZhbFNldCxcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25SYW5nZSxcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25SYW5nZVNldFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRhYkNoYW5nZShldmVudDogeyBuYW1lOiBzdHJpbmcgfSwgc3ViVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzU2lkZUFuaW1hdGlvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuYXJlYUZpbHRlclNlbGVjdGVkID0gZXZlbnQubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RmlsdGVyVmFsdWUoKTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB7XG4gICAgICAgIGxldCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgICAgICBjb25zdCBzdWJUeXBlID1cbiAgICAgICAgICAgIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLkVNUFRZX1NUUklOR19QTEFDRUhPTERFUi50b1N0cmluZygpO1xuXG4gICAgICAgIGlmICh0aGlzLmFyZWFGaWx0ZXJTZWxlY3RlZCAhPSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5MT0NBVElPTikge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgb3JpZ2luTGF0VmFsdWU6IHRoaXMub3JpZ2luTGF0VmFsLFxuICAgICAgICAgICAgICAgIG9yaWdpbkxvbmdWYWx1ZTogdGhpcy5vcmlnaW5Mb25nVmFsLFxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTGF0VmFsdWU6IHRoaXMuZGVzdExhdFZhbCxcbiAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbkxvbmdWYWx1ZTogdGhpcy5kZXN0TG9uZ1ZhbCxcbiAgICAgICAgICAgICAgICByYW5nZVZhbHVlOiB0aGlzLmxvY2F0aW9uUmFuZ2UsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uUmFuZ2VTZXQgPSB0aGlzLmxvY2F0aW9uUmFuZ2U7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbkxhdFZhbFNldCA9IHRoaXMub3JpZ2luTGF0VmFsO1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5Mb25nVmFsU2V0ID0gdGhpcy5vcmlnaW5Mb25nVmFsO1xuICAgICAgICAgICAgdGhpcy5kZXN0TG9uZ1ZhbFNldCA9IHRoaXMuZGVzdExvbmdWYWw7XG4gICAgICAgICAgICB0aGlzLmRlc3RMYXRWYWxTZXQgPSB0aGlzLmRlc3RMYXRWYWw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICBsb25nVmFsdWU6IHRoaXMubG9uZ1ZhbCxcbiAgICAgICAgICAgICAgICBsYXRWYWx1ZTogdGhpcy5sYXRWYWwsXG4gICAgICAgICAgICAgICAgcmFuZ2VWYWx1ZTogdGhpcy5sb2NhdGlvblJhbmdlLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5sb25nVmFsdWVTZXQgPSB0aGlzLmxvbmdWYWw7XG4gICAgICAgICAgICB0aGlzLmxhdFZhbFNldCA9IHRoaXMubGF0VmFsO1xuICAgICAgICAgICAgdGhpcy5sb2NhdGlvblJhbmdlU2V0ID0gdGhpcy5sb2NhdGlvblJhbmdlO1xuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbk5hbWVTZXQgPSB0aGlzLmxvY2F0aW9uRm9ybS5nZXQoJ2FkZHJlc3MnKT8udmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgZmlsdGVyVHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgICAgYWN0aW9uOiBlR2VuZXJhbEFjdGlvbnMuU0VULFxuICAgICAgICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICAgICAgICBzdWJUeXBlLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJBbGwoZXZlbnQ/OiBFdmVudCk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMge1xuICAgICAgICBpZiAoZXZlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMubG9jYXRpb25Gb3JtLnNldFZhbHVlKHtcbiAgICAgICAgICAgIGFkZHJlc3M6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFyZWFGb3JtLnNldFZhbHVlKHtcbiAgICAgICAgICAgIG9yaWdpbjogbnVsbCxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sb2NhdGlvblJhbmdlID0gMjU7XG4gICAgICAgIHRoaXMubG9jYXRpb25TdGF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMubG9uZ1ZhbCA9IDA7XG4gICAgICAgIHRoaXMubGF0VmFsID0gMDtcbiAgICAgICAgdGhpcy5vcmlnaW5Mb25nVmFsID0gMDtcbiAgICAgICAgdGhpcy5vcmlnaW5MYXRWYWwgPSAwO1xuICAgICAgICB0aGlzLmRlc3RMb25nVmFsID0gMDtcbiAgICAgICAgdGhpcy5kZXN0TGF0VmFsID0gMDtcbiAgICAgICAgdGhpcy5sb2NhdGlvbk5hbWVTZXQgPSBudWxsO1xuXG4gICAgICAgIHRoaXMubG9uZ1ZhbHVlU2V0ID0gdGhpcy5sb25nVmFsO1xuICAgICAgICB0aGlzLmxhdFZhbFNldCA9IHRoaXMubGF0VmFsO1xuICAgICAgICB0aGlzLm9yaWdpbkxvbmdWYWxTZXQgPSB0aGlzLm9yaWdpbkxvbmdWYWw7XG4gICAgICAgIHRoaXMub3JpZ2luTGF0VmFsU2V0ID0gdGhpcy5vcmlnaW5MYXRWYWw7XG4gICAgICAgIHRoaXMuZGVzdExhdFZhbFNldCA9IHRoaXMuZGVzdExvbmdWYWw7XG4gICAgICAgIHRoaXMuZGVzdExvbmdWYWxTZXQgPSB0aGlzLmRlc3RMb25nVmFsO1xuICAgICAgICB0aGlzLmxvY2F0aW9uUmFuZ2VTZXQgPSB0aGlzLmxvY2F0aW9uUmFuZ2U7XG5cbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIGFjdGlvbjogZUdlbmVyYWxBY3Rpb25zLkNMRUFSLFxuICAgICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgICAgZmlsdGVyVHlwZTogdGhpcy50eXBlLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UmFuZ2VWYWx1ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gTnVtYmVyKGlucHV0RWxlbWVudC52YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSAhPSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5MT0NBVElPTl9GSUxURVIpXG4gICAgICAgICAgICB0aGlzLnJhbmdlVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgZWxzZSB0aGlzLmxvY2F0aW9uUmFuZ2UgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlUmFuZ2VWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIC8vbGVhdmUgdGhpcyBhbnkgZm9yIG5vd1xuICAgICAgICBpZiAodGhpcy50eXBlICE9PSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5MT0NBVElPTl9GSUxURVIpXG4gICAgICAgICAgICB0aGlzLnJhbmdlVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgZWxzZSB0aGlzLmxvY2F0aW9uUmFuZ2UgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRTZWxlY3QoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbnRBZGRyZXNzVmFsdWUuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMubG9jYXRpb25OYW1lU2V0ID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZU9yaWdpblNlbGVjdChldmVudDogQWRkcmVzc0RhdGEpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50Py5hZGRyZXNzPy5hZGRyZXNzKSB0aGlzLm9yaWdpblN0YXRlID0gZXZlbnQuYWRkcmVzcy5hZGRyZXNzO1xuXG4gICAgICAgIGlmIChldmVudD8ubG9uZ0xhdCAmJiBldmVudD8ubG9uZ0xhdD8ubGF0aXR1ZGUpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luTG9uZ1ZhbCA9IGV2ZW50Py5sb25nTGF0Py5sb25naXR1ZGUgfHwgMDtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luTGF0VmFsID0gZXZlbnQ/LmxvbmdMYXQ/LmxhdGl0dWRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUxvY2F0aW9uQ2hhbmdlKGV2ZW50OiBBZGRyZXNzRGF0YSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvbmdWYWwgPSBldmVudD8ubG9uZ0xhdD8ubG9uZ2l0dWRlID8/IDA7XG4gICAgICAgIHRoaXMubGF0VmFsID0gZXZlbnQ/LmxvbmdMYXQ/LmxhdGl0dWRlID8/IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZURlc3RpbmF0aW9uU2VsZWN0KGV2ZW50OiBBZGRyZXNzRGF0YSk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQ/LmFkZHJlc3M/LmFkZHJlc3MpXG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uU3RhdGUgPSBldmVudC5hZGRyZXNzLmFkZHJlc3M7XG5cbiAgICAgICAgaWYgKGV2ZW50Py5sb25nTGF0ICYmIGV2ZW50Py5sb25nTGF0Py5sYXRpdHVkZSkge1xuICAgICAgICAgICAgdGhpcy5kZXN0TG9uZ1ZhbCA9IGV2ZW50Py5sb25nTGF0Py5sb25naXR1ZGUgfHwgMDtcbiAgICAgICAgICAgIHRoaXMuZGVzdExhdFZhbCA9IGV2ZW50Py5sb25nTGF0Py5sYXRpdHVkZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdmdQYXRoKHByb3BlcnR5TmFtZToga2V5b2YgdHlwZW9mIENhRmlsdGVyc1N2Z1JvdXRlcyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBDYUZpbHRlcnNTdmdSb3V0ZXNbcHJvcGVydHlOYW1lXSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUFkZHJlc3NEYXRhKGV2ZW50OiBTZW50QWRkcmVzc0RhdGEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZW50QWRkcmVzc0RhdGEuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXJcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhcmVhRmlsdGVySG9sZGVyXCIgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIj5cbiAgICA8YXBwLWNhLXRhYi1zd2l0Y2hcbiAgICAgICAgW3RhYnNdPVwiYXJlYUJveFRhYlwiXG4gICAgICAgIChzd2l0Y2hDbGlja2VkKT1cIm9uVGFiQ2hhbmdlKCRldmVudCwgJ1JFUVVFU1RTLUJPWCcpXCJcbiAgICAgICAgW3R5cGVdPVwiJ3R5cGUyLW1vZGFsLXBvcHVwJ1wiXG4gICAgPlxuICAgIDwvYXBwLWNhLXRhYi1zd2l0Y2g+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhcmVhLWFsbC1ob2xkZXIgZC1mbGV4IGZsZXgtd3JhcCBmbGV4LXJvd1wiPlxuICAgIEBpZiAoaXNBcmVhRmlsdGVyICYmIGFyZWFGaWx0ZXJTZWxlY3RlZCAhPT0gJ0xvY2F0aW9uJykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1wYXJ0LWhvbGRlclwiIFtAYXJlYVJpZ2h0U2lkZUFuaW1hdGlvbl09XCInaW4nXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhcmVhLWZvcm1zLWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJhcmVhRm9ybVwiXG4gICAgICAgICAgICAgICAgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmVhLXNpbmdsZS1mb3JtLWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNhLWlucHV0LWFkZHJlc3MtZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9yaWdpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRDb25maWddPVwiZ2V0T3JpZ2luQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJUeXBlXT1cIidzaG9ydEFkZHJlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthZGRyZXNMaXN0XT1cImFkZHJlc3NMaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZEFkZHJlc3MpPVwiaGFuZGxlT3JpZ2luU2VsZWN0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9hcHAtY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJlYS1zaW5nbGUtZm9ybS1ob2xkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXN0aW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRDb25maWddPVwiZ2V0RGVzdGluYXRpb25Db250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlclR5cGVdPVwiJ3Nob3J0QWRkcmVzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FkZHJlc0xpc3RdPVwiYWRkcmVzc0xpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQWRkcmVzcyk9XCJoYW5kbGVEZXN0aW5hdGlvblNlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYXBwLWNhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLXBhcnQtaG9sZGVyXCIgW0BhcmVhTGVmdFNpZGVBbmltYXRpb25dPVwiJ2luJ1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLW1pZGRsZS1ob2xkZXIgbG9jYXRpb24tbWlkZGxlLXBhZGRpbmdcIlxuICAgICAgICAgICAgICAgIFtAc2hvd0FuaW1hdGlvbl09XCIhIWlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImxvY2F0aW9uRm9ybVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFwcC1jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRDb25maWddPVwiZ2V0QWRkcmVzc0NvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJUeXBlXT1cIidzaG9ydEFkZHJlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2FkZHJlc0xpc3RdPVwiYWRkcmVzc0xpc3RcIlxuICAgICAgICAgICAgICAgICAgICAoc2VudEFkZHJlc3NWYWx1ZSk9XCJoYW5kbGVJbnB1dFNlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlY2VpdmVkQWRkcmVzc0xpc3RdPVwicmVjZWl2ZWRBZGRyZXNzTGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWNlaXZlZEFkZHJlc3NEYXRhXT1cInJlY2VpdmVkQWRkcmVzc0RhdGFcIlxuICAgICAgICAgICAgICAgICAgICAoc2VudEFkZHJlc3NEYXRhKT1cImhhbmRsZUFkZHJlc3NEYXRhKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRBZGRyZXNzKT1cImhhbmRsZUxvY2F0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L2FwcC1jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmaWx0ZXItbWlkZGxlLWhvbGRlciBsb2NhdGlvbi1zbGlkZXItbWlkZGxlLXBhZGRpbmdcIlxuICAgICAgICBbQHNob3dBbmltYXRpb25dPVwiISFpc0ZpbHRlckFjdGl2ZVwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInJhbmdlLW5ldy12YWx1ZS1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtdGV4dFwiPlJhbmdlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtZmxleC1ob2xkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IChvblVzZXJWYWx1ZUNoYW5nZSk9XCJzZXRSYW5nZVZhbHVlKCRldmVudClcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8YXBwLWNhLW5neC1zbGlkZXJcbiAgICAgICAgICAgICAgICAgICAgW3NsaWRlck9wdGlvbnNdPVwibG9jYXRpb25TbGlkZXJEYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0YXJ0ZWRWYWx1ZV09XCJsb2NhdGlvblJhbmdlXCJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNsYXNzXT1cIidjdXN0b20tc2xpZGVyLWZpbHRlcidcIlxuICAgICAgICAgICAgICAgICAgICAob25Vc2VyVmFsdWVDaGFuZ2UpPVwiY2hhbmdlUmFuZ2VWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY2Etbmd4LXNsaWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXIgYm90dG9tLWJvcmRlci1tYXJnaW5cIj48L2Rpdj5cbiJdfQ==
|