ca-components 0.0.82 → 0.0.83
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-dispatcher-filter/ca-dispatcher-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-input/ca-input.component.mjs +10 -4
- package/esm2022/lib/components/ca-input/directives/index.mjs +2 -0
- package/esm2022/lib/components/ca-input/directives/min-max-value.directive.mjs +49 -0
- package/esm2022/lib/components/ca-input/services/ca-input-state.service.mjs +2 -3
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-dispatcher/ca-input-dropdown-load-dispatcher.component.mjs +1 -1
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-dispatches-ttd/ca-input-dropdown-load-dispatches-ttd.component.mjs +1 -1
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-svgtext-dispatch-template/ca-input-dropdown-svgtext-dispatch-template.component.mjs +1 -1
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-svgtext-template/ca-input-dropdown-svgtext-template.component.mjs +2 -2
- package/esm2022/lib/components/ca-main-table/ca-main-table.component.mjs +6 -3
- package/esm2022/lib/components/ca-period-content/ca-period-content.component.mjs +3 -3
- package/esm2022/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.mjs +2 -2
- package/esm2022/lib/components/ca-period-content/components/ca-period-content-user-info/ca-period-content-user-info.component.mjs +3 -3
- package/esm2022/lib/components/ca-profile-image/ca-profile-image.component.mjs +6 -3
- package/esm2022/lib/components/ca-rating-review/components/ca-rating-review-user/ca-rating-review-user.component.mjs +1 -1
- package/esm2022/lib/components/ca-todo/components/ca-todo-card.component.mjs +2 -2
- package/fesm2022/ca-components.mjs +79 -23
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-input/directives/index.d.ts +1 -0
- package/lib/components/ca-input/directives/min-max-value.directive.d.ts +12 -0
- package/lib/components/ca-main-table/ca-main-table.component.d.ts +2 -1
- package/lib/components/ca-profile-image/ca-profile-image.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -190,7 +190,7 @@ export class CaDispatcherFilterComponent {
|
|
|
190
190
|
// modules
|
|
191
191
|
CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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: "ngmodule", type: HttpClientModule }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "component", type:
|
|
192
192
|
// components
|
|
193
|
-
CaInputComponent, selector: "app-ca-input", inputs: ["inputConfig", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["incorrectEvent", "blurInput", "focusInput", "change", "commandEvent", "clear", "showHideDropdown", "dropDownKeyNavigation"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "fontSize", "isHoverEffect"] }], animations: [
|
|
193
|
+
CaInputComponent, selector: "app-ca-input", inputs: ["inputConfig", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["incorrectEvent", "blurInput", "focusInput", "change", "commandEvent", "clear", "showHideDropdown", "dropDownKeyNavigation"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }], animations: [
|
|
194
194
|
inOutAnimation('inOutAnimation'),
|
|
195
195
|
showAnimation('showAnimation'),
|
|
196
196
|
], encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -228,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
228
228
|
}], isSearchExpanded: [{
|
|
229
229
|
type: Input
|
|
230
230
|
}] } });
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZGlzcGF0Y2hlci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZmlsdGVycy9jb21wb25lbnRzL2NhLWRpc3BhdGNoZXItZmlsdGVyL2NhLWRpc3BhdGNoZXItZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS1kaXNwYXRjaGVyLWZpbHRlci9jYS1kaXNwYXRjaGVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQU8z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LG9UQzlFeEMsNnZMQXNLQTtnQkR6R0ksVUFBVTtnQkFDVixZQUFZLCtQQUNaLG1CQUFtQixtbEJBQ25CLGdCQUFnQiw4QkFDaEIsb0JBQW9CO2dCQUNwQixhQUFhO2dCQUNiLGdCQUFnQixzUkFDaEIsdUJBQXVCLDBLQUtiO1lBQ1YsY0FBYyxDQUFDLGdCQUFnQixDQUFDO1lBQ2hDLGFBQWEsQ0FBQyxlQUFlLENBQUM7U0FDL0I7OzRGQUVVLDJCQUEyQjtrQkF4QnZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksaUJBR0QsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDUCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsUUFBUTt3QkFDUiwyQkFBMkI7d0JBQzNCLHNCQUFzQjtxQkFDdkIsY0FDVzt3QkFDVixjQUFjLENBQUMsZ0JBQWdCLENBQUM7d0JBQ2hDLGFBQWEsQ0FBQyxlQUFlLENBQUM7cUJBQy9CO3lHQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcblxuLy8gYW5pbWF0aW9uc1xuaW1wb3J0IHsgaW5PdXRBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL2luLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHsgc2hvd0FuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2FuaW1hdGlvbnMvc2hvdy5hbmltYXRpb24nO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgTG9hZFN0YXR1c0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcy9sb2FkLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtIH0gZnJvbSAnLi4vLi4vLi4vY2EtbWFwL2VudW1zL3Rvb2xiYXItZmlsdGVyLXN0cmluZy5lbnVtJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBBcnJheVN0YXR1cyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9hcnJheS1zdGF0dXMubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1pbnB1dC9jYS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1wcm9maWxlLWltYWdlL2NhLXByb2ZpbGUtaW1hZ2UuY29tcG9uZW50JztcblxuLy8gcGlwZXNcbmltcG9ydCB7IERyb3Bkb3duTG9hZFN0YXR1c0NvbG9yUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2Ryb3Bkb3duLWxvYWQtc3RhdHVzLWNvbG9yLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyVHJhaWxlckNvbG9yUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2ZpbHRlci10cmFpbGVyLWNvbG9yLnBpcGUnO1xuXG4vLyB1dGlsc1xuaW1wb3J0IHsgQ2FGaWx0ZXJzU3ZnUm91dGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3ZnLXJvdXRlcy9jYS1maWx0ZXJzLXN2Zy1yb3V0ZXMnO1xuXG4vLyBoZWxwZXJzXG5pbXBvcnQgeyBGaWx0ZXJIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlscy9oZWxwZXJzL2ZpbHRlci5oZWxwZXInO1xuXG4vLyBjb25maWdzXG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NvbmZpZy9jYS1pbnB1dC5jb25maWcnO1xuaW1wb3J0IHsgQ2FEaXNwYXRjaGVyRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY2EtZGlzcGF0Y2hlci1maWx0ZXIuY29uZmlnJztcbmltcG9ydCB7IHVzZXJTZWxlY3RlZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy91c2VyLXNlbGVjdGVkLm1vZGVsJztcbmltcG9ydCB7IENhRHJpdmVyRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY2EtZHJpdmVyLWZpbHRlci5jb25maWcnO1xuaW1wb3J0IHsgQ2FGdWVsU3RvcEZpbHRlckNvbmZpZyB9IGZyb20gJy4vY29uZmlnL2NhLWZ1ZWwtc3RvcC1maWx0ZXIuY29uZmlnJztcbmltcG9ydCB7IENhQnJva2VyRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY2EtYnJva2VyLWZpbHRlci5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2EtZGlzcGF0Y2hlci1maWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtZGlzcGF0Y2hlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS1kaXNwYXRjaGVyLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbXG4gICAgLy8gbW9kdWxlc1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgLy8gY29tcG9uZW50c1xuICAgIENhSW5wdXRDb21wb25lbnQsXG4gICAgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQsXG4gICAgLy8gcGlwZXNcbiAgICBEcm9wZG93bkxvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgRmlsdGVyVHJhaWxlckNvbG9yUGlwZSxcbiAgXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIGluT3V0QW5pbWF0aW9uKCdpbk91dEFuaW1hdGlvbicpLFxuICAgIHNob3dBbmltYXRpb24oJ3Nob3dBbmltYXRpb24nKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FEaXNwYXRjaGVyRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0eXBlITogc3RyaW5nO1xuICBASW5wdXQoKSBpc0ZpbHRlckFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWx0ZXJUaXRsZSE6IHN0cmluZztcbiAgQElucHV0KCkgaGFzTGVmdFNpZGVJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRvRG9TdWJUeXBlITogc3RyaW5nO1xuICBASW5wdXQoKSB1bnNlbGVjdGVkVXNlciE6IEFycmF5U3RhdHVzW107XG4gIEBJbnB1dCgpIGlzU2VhcmNoRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgbG9hZFN0YXR1c0VudW0gPSBMb2FkU3RhdHVzRW51bTtcbiAgcHVibGljIHNlYXJjaEZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VhcmNoSW5wdXRWYWx1ZSE6IHN0cmluZztcblxuICBwdWJsaWMgdW5zZWxlY3RlZFZpc2libGVDb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIGNhRmlsdGVyc1N2Z1JvdXRlczogQ2FGaWx0ZXJzU3ZnUm91dGVzID0gQ2FGaWx0ZXJzU3ZnUm91dGVzO1xuXG4gIHB1YmxpYyBzZWxlY3RlZFVzZXI6IHVzZXJTZWxlY3RlZFtdID0gW107XG4gIHB1YmxpYyBmaWx0ZXJBY3RpdmVBcnJheTogQXJyYXlTdGF0dXNbXSA9IFtdO1xuICBwdWJsaWMgaXNBc2NlbmRpbmdTb3J0T3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgaXNCdXR0b25BdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHRvdGFsRmlsdGVyc051bTogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLndhdGNoU2VhcmNoRm9ybVZhbHVlQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IGRpc3BhdGNoZXJTZWFyY2goKTogSUNhSW5wdXQge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLkRJU1BBVENIRVJfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FEaXNwYXRjaGVyRmlsdGVyQ29uZmlnLmdldERpc3BhdGNoZXJTZWFyY2goKTtcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5EUklWRVJfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FEcml2ZXJGaWx0ZXJDb25maWcuZ2V0RHJpdmVyU2VhcmNoKCk7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRlVFTF9TVE9QX0ZJTFRFUjpcbiAgICAgICAgcmV0dXJuIENhRnVlbFN0b3BGaWx0ZXJDb25maWcuZ2V0RnVlbFN0b3BTZWFyY2goKTtcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5CUk9LRVJfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FCcm9rZXJGaWx0ZXJDb25maWcuZ2V0QnJva2VyU2VhcmNoKCk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBmaWx0ZXIgdHlwZScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJbml0aWFscyhuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIHJldHVybiBGaWx0ZXJIZWxwZXIuZ2V0SW5pdGlhbHMobmFtZSk7XG4gIH1cblxuICBwdWJsaWMgb25GaWx0ZXJDbG9zZSgpOiB2b2lkIHtcbiAgICBGaWx0ZXJIZWxwZXIuaGFuZGxlRmlsdGVyQ2xvc2UoXG4gICAgICB0aGlzLnVuc2VsZWN0ZWRVc2VyLFxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXIsXG4gICAgICB0aGlzLnJlbW92ZUZyb21TZWxlY3RlZFVzZXIuYmluZCh0aGlzKSxcbiAgICAgIHRoaXMuYWRkVG9TZWxlY3RlZFVzZXIuYmluZCh0aGlzKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0RmlsdGVyVmFsdWUoXG4gICAgJGV2ZW50OiBFdmVudFxuICApOiBmaWx0ZXJPdXRwdXQgfCBmaWx0ZXJPdXRwdXRXaXRoUGFyYW1zIHwgdW5kZWZpbmVkIHtcbiAgICB0aGlzLmZpbHRlckFjdGl2ZUFycmF5ID0gWy4uLnRoaXMuc2VsZWN0ZWRVc2VyXTtcbiAgICBjb25zdCBzZWxlY3RlZFVzZXJzSWRBcnJheTogbnVtYmVyW10gPSBbXTtcbiAgICB0aGlzLnRvdGFsRmlsdGVyc051bSA9IHRoaXMuZmlsdGVyQWN0aXZlQXJyYXkubGVuZ3RoO1xuXG4gICAgbGV0IG1haW5BcnJheTogQXJyYXlTdGF0dXNbXSA9IFtdO1xuICAgIGxldCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIGxldCBzdWJUeXBlID0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSLnRvU3RyaW5nKCk7XG5cbiAgICBtYWluQXJyYXkgPSB0aGlzLnVuc2VsZWN0ZWRVc2VyO1xuXG4gICAgbWFpbkFycmF5LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgaXRlbVsnY3VycmVudFNldCddID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW1bJ2N1cnJlbnRTZXQnXSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheS5mb3JFYWNoKChkYXRhKSA9PiB7XG4gICAgICBzZWxlY3RlZFVzZXJzSWRBcnJheS5wdXNoKGRhdGEuaWQhKTtcbiAgICB9KTtcblxuICAgIGlmICghc2VsZWN0ZWRVc2Vyc0lkQXJyYXkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNsZWFyQWxsKCRldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcXVlcnlQYXJhbXMgPSBzZWxlY3RlZFVzZXJzSWRBcnJheTtcbiAgICBzdWJUeXBlID1cbiAgICAgIHRoaXMudG9Eb1N1YlR5cGUgPz9cbiAgICAgIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLkVNUFRZX1NUUklOR19QTEFDRUhPTERFUi50b1N0cmluZygpO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ1NldCc7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGFjdGlvbixcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgc3ViVHlwZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoZXZlbnQ/OiBFdmVudCk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMge1xuICAgIGlmIChldmVudCkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkVXNlciA9IFtdO1xuICAgIHRoaXMuZmlsdGVyQWN0aXZlQXJyYXkgPSBbXTtcbiAgICB0aGlzLnRvdGFsRmlsdGVyc051bSA9IDA7XG5cbiAgICB0aGlzLnVuc2VsZWN0ZWRVc2VyLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgaXRlbS5jdXJyZW50U2V0ID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBjb25zdCBhY3Rpb24gPSAnQ2xlYXInO1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBhY3Rpb24sXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBmaWx0ZXJUeXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SWRlbnRpdHkoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBudWxsLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRvU2VsZWN0ZWRVc2VyKGl0ZW06IHVzZXJTZWxlY3RlZCwgaW5keDogbnVtYmVyKSB7XG4gICAgY29uc3QgbWFpbkFycmF5ID0gdGhpcy51bnNlbGVjdGVkVXNlcjtcblxuICAgIG1haW5BcnJheVtpbmR4XS5pc1NlbGVjdGVkID0gdHJ1ZTtcblxuICAgIHRoaXMudW5zZWxlY3RlZFZpc2libGVDb3VudCA9IG1haW5BcnJheS5maWx0ZXIoXG4gICAgICAoZGlzcGF0Y2hlcikgPT4gIWRpc3BhdGNoZXIuaXNTZWxlY3RlZFxuICAgICk/Lmxlbmd0aDtcblxuICAgIHRoaXMuc2VsZWN0ZWRVc2VyLnB1c2goaXRlbSk7XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKGl0ZW06IHVzZXJTZWxlY3RlZCwgaW5keDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXIuc3BsaWNlKGluZHgsIDEpO1xuICAgIGNvbnN0IGlkID0gaXRlbS5pZDtcbiAgICBjb25zdCBtYWluQXJyYXkgPSB0aGlzLnVuc2VsZWN0ZWRVc2VyO1xuXG4gICAgbWFpbkFycmF5LmZvckVhY2goKGRpc3BhdGNoZXIpID0+IHtcbiAgICAgIGlmIChkaXNwYXRjaGVyLmlkID09PSBpZCkge1xuICAgICAgICBkaXNwYXRjaGVyLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMudW5zZWxlY3RlZFZpc2libGVDb3VudCA9IG1haW5BcnJheS5maWx0ZXIoXG4gICAgICAoZGlzcGF0Y2hlcikgPT4gIWRpc3BhdGNoZXIuaXNTZWxlY3RlZFxuICAgICk/Lmxlbmd0aDtcblxuICAgIHRoaXMuY2hlY2tGaWx0ZXJBY3RpdmVWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyQ2hlY2sgPSBGaWx0ZXJIZWxwZXIuY2hlY2tGaWx0ZXJBY3RpdmVWYWx1ZShcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyLFxuICAgICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSxcbiAgICAgIHRoaXMuaXNCdXR0b25BdmFpbGFibGVcbiAgICApO1xuXG4gICAgdGhpcy5pc0J1dHRvbkF2YWlsYWJsZSA9IGZpbHRlckNoZWNrLmlzQnV0dG9uQXZhaWxhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaFNlYXJjaEZvcm1WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGb3JtLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlcykgPT4ge1xuICAgICAgICBpZiAoY2hhbmdlcy5zZWFyY2gpIHtcbiAgICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gY2hhbmdlcy5zZWFyY2gudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSBpbnB1dFZhbHVlO1xuXG4gICAgICAgICAgdGhpcy51bnNlbGVjdGVkVXNlci5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmhpZGRlbiA9ICFpdGVtLm5hbWUhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXRWYWx1ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy51bnNlbGVjdGVkVXNlci5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0SXRlbXMoKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydFJlc3VsdCA9IEZpbHRlckhlbHBlci5zb3J0SXRlbXNDb3VudChcbiAgICAgIHRoaXMudW5zZWxlY3RlZFVzZXIsXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcixcbiAgICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXJcbiAgICApO1xuXG4gICAgdGhpcy51bnNlbGVjdGVkVXNlciA9IHNvcnRSZXN1bHQuc29ydGVkRmlsdGVyQXJyYXk7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXIgPSBzb3J0UmVzdWx0LnNvcnRlZFNlbGVjdGVkRmlsdGVyQXJyYXk7XG4gICAgdGhpcy5pc0FzY2VuZGluZ1NvcnRPcmRlciA9IHNvcnRSZXN1bHQuaXNBc2NlbmRpbmdTb3J0T3JkZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWU6IGtleW9mIHR5cGVvZiBDYUZpbHRlcnNTdmdSb3V0ZXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBGaWx0ZXJIZWxwZXIuZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICpuZ0lmPVwiXG4gICAgdHlwZSA9PT0gJ2Rpc3BhdGNoZXJGaWx0ZXInIHx8XG4gICAgdHlwZSA9PT0gJ2RyaXZlckZpbHRlcicgfHxcbiAgICB0eXBlID09PSAnZnVlbFN0b3BGaWx0ZXInIHx8XG4gICAgdHlwZSA9PT0gJ2Jyb2tlckZpbHRlcidcbiAgXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2VhcmNoLWlucHV0LWhlYWRlclwiXG4gICAgW2NsYXNzLmFjdGl2ZVNlYXJjaF09XCJpc1NlYXJjaEV4cGFuZGVkXCJcbiAgICBbY2xhc3MuaW5hY3RpdmVTZWFyY2hdPVwiIWlzU2VhcmNoRXhwYW5kZWRcIlxuICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiXG4gID5cbiAgICA8YXBwLWNhLWlucHV0XG4gICAgICBjbGFzcz1cImlucHV0LWZvcm0taG9sZGVyXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFwiXG4gICAgICBbaW5wdXRDb25maWddPVwiZGlzcGF0Y2hlclNlYXJjaFwiXG4gICAgPjwvYXBwLWNhLWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2VsZWN0ZWQtdXNlci1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGl0ZW0gb2Ygc2VsZWN0ZWRVc2VyO1xuICAgICAgICBsZXQgaW5keCA9IGluZGV4O1xuICAgICAgICB0cmFja0J5OiB0cmFja0J5SWRlbnRpdHlcbiAgICAgIFwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInVzZXItbWFpbi1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgW0Bpbk91dEFuaW1hdGlvbl09XCInaW4nXCJcbiAgICAgICAgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlRnJvbVNlbGVjdGVkVXNlcihpdGVtLCBpbmR4KVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdkaXNwYXRjaGVyRmlsdGVyJyB8fCB0eXBlID09PSAnZHJpdmVyRmlsdGVyJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1wcm9maWxlLWltZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uYXZhdGFyOyBlbHNlIGF2YXRhclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgICAgICAgIFtpbmR4XT1cImluZHhcIlxuICAgICAgICAgICAgICAgIFt0ZXh0U2hvcnROYW1lXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICAgID48L2FwcC1jYS1wcm9maWxlLWltYWdlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYXZhdGFyVGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInVzZXJfYXZhdGFyXCJcbiAgICAgICAgICAgICAgICBzdHlsZS5iYWNrZ3JvdW5kLWltYWdlPVwidXJsKCd7eyBpdGVtLmF2YXRhciB9fScpXCJcbiAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNlbGVjdGVkLXVzZXItZnJhbWUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXG4gICAgICAgICAgW2NsYXNzLnVzZXItZnJhbWUtbm8taWNvbl09XCJcbiAgICAgICAgICAgIHR5cGUgIT09ICdkaXNwYXRjaGVyRmlsdGVyJyAmJiB0eXBlICE9PSAnZHJpdmVyRmlsdGVyJ1xuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtbmFtZS10ZXh0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPiB7eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmNvdW50OyBlbHNlIG5vQ291bnRcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwiY291bnQtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBhY3RpdmVDb3VudFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0uY291bnQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9Db3VudD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5jb3VudDsgZWxzZSBub0NvdW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0ZWQtaWNvbiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgnaWNvbkNvbmZpcm0nKVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vQ291bnRlcj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaG9sZGVyIGFjdGl2ZUNvdW50ZXJcIj4yPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZyb21TZWxlY3RlZFVzZXIoaXRlbSwgaW5keClcIlxuICAgICAgICAgICAgY2xhc3M9XCJpY29uLWRlbGV0ZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgW2NsYXNzLmNvdW50ZXJNYXJnaW5dPVwiaXRlbS5jb3VudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tZGVsZXRlLWhvbGRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxzdmctaWNvbiBbc3JjXT1cImdldFN2Z1BhdGgoJ3JlbW92ZVNlbGVjdGVkVmFsdWUnKVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkVXNlci5sZW5ndGggPiAwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWZpbHRlciBib3JkZXItdGhyaXJkLW1hcmdpblwiPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidXNlci1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGl0ZW0gb2YgdW5zZWxlY3RlZFVzZXI7XG4gICAgICAgIGxldCBpbmR4ID0gaW5kZXg7XG4gICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJZGVudGl0eVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1mcmFtZS1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaGlkZGVuICYmICFpdGVtLmlzU2VsZWN0ZWRcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbQGluT3V0QW5pbWF0aW9uXT1cIidpbidcIlxuICAgICAgICAgICAgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZFRvU2VsZWN0ZWRVc2VyKGl0ZW0sIGluZHgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidXNlci1tYWluLWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnZGlzcGF0Y2hlckZpbHRlcicgfHwgdHlwZSA9PT0gJ2RyaXZlckZpbHRlcidcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1wcm9maWxlLWltZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmF2YXRhcjsgZWxzZSBhdmF0YXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPGFwcC1jYS1wcm9maWxlLWltYWdlXG4gICAgICAgICAgICAgICAgICAgIFtpbmR4XT1cImluZHhcIlxuICAgICAgICAgICAgICAgICAgICBbdGV4dFNob3J0TmFtZV09XCJpdGVtLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvYXBwLWNhLXByb2ZpbGUtaW1hZ2U+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2F2YXRhclRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVzZXJfYXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuYmFja2dyb3VuZC1pbWFnZT1cInVybCgne3sgaXRlbS5hdmF0YXIgfX0nKVwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1c2VyLWZyYW1lIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICBbY2xhc3MudXNlci1mcmFtZS1uby1pY29uXT1cIlxuICAgICAgICAgICAgICAgIHR5cGUgIT09ICdkaXNwYXRjaGVyRmlsdGVyJyAmJiB0eXBlICE9PSAnZHJpdmVyRmlsdGVyJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtbmFtZS10ZXh0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj4ge3sgaXRlbS5uYW1lIH19IDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmNvdW50XCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY291bnQtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgaXRlbS5jb3VudCB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1bnNlbGVjdGVkVXNlcj8ubGVuZ3RoICE9PSBzZWxlY3RlZFVzZXI/Lmxlbmd0aFwiPlxuICAgIDxkaXYgY2xhc3M9XCJib3JkZXItZmlsdGVyXCI+PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZGlzcGF0Y2hlci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZmlsdGVycy9jb21wb25lbnRzL2NhLWRpc3BhdGNoZXItZmlsdGVyL2NhLWRpc3BhdGNoZXItZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS1kaXNwYXRjaGVyLWZpbHRlci9jYS1kaXNwYXRjaGVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQU8z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LG9UQzlFeEMsNnZMQXNLQTtnQkR6R0ksVUFBVTtnQkFDVixZQUFZLCtQQUNaLG1CQUFtQixtbEJBQ25CLGdCQUFnQiw4QkFDaEIsb0JBQW9CO2dCQUNwQixhQUFhO2dCQUNiLGdCQUFnQixzUkFDaEIsdUJBQXVCLG9MQUtiO1lBQ1YsY0FBYyxDQUFDLGdCQUFnQixDQUFDO1lBQ2hDLGFBQWEsQ0FBQyxlQUFlLENBQUM7U0FDL0I7OzRGQUVVLDJCQUEyQjtrQkF4QnZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksaUJBR0QsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDUCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsUUFBUTt3QkFDUiwyQkFBMkI7d0JBQzNCLHNCQUFzQjtxQkFDdkIsY0FDVzt3QkFDVixjQUFjLENBQUMsZ0JBQWdCLENBQUM7d0JBQ2hDLGFBQWEsQ0FBQyxlQUFlLENBQUM7cUJBQy9CO3lHQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcblxuLy8gYW5pbWF0aW9uc1xuaW1wb3J0IHsgaW5PdXRBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL2luLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHsgc2hvd0FuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2FuaW1hdGlvbnMvc2hvdy5hbmltYXRpb24nO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgTG9hZFN0YXR1c0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcy9sb2FkLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtIH0gZnJvbSAnLi4vLi4vLi4vY2EtbWFwL2VudW1zL3Rvb2xiYXItZmlsdGVyLXN0cmluZy5lbnVtJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBBcnJheVN0YXR1cyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9hcnJheS1zdGF0dXMubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1pbnB1dC9jYS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1wcm9maWxlLWltYWdlL2NhLXByb2ZpbGUtaW1hZ2UuY29tcG9uZW50JztcblxuLy8gcGlwZXNcbmltcG9ydCB7IERyb3Bkb3duTG9hZFN0YXR1c0NvbG9yUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2Ryb3Bkb3duLWxvYWQtc3RhdHVzLWNvbG9yLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyVHJhaWxlckNvbG9yUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2ZpbHRlci10cmFpbGVyLWNvbG9yLnBpcGUnO1xuXG4vLyB1dGlsc1xuaW1wb3J0IHsgQ2FGaWx0ZXJzU3ZnUm91dGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3ZnLXJvdXRlcy9jYS1maWx0ZXJzLXN2Zy1yb3V0ZXMnO1xuXG4vLyBoZWxwZXJzXG5pbXBvcnQgeyBGaWx0ZXJIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlscy9oZWxwZXJzL2ZpbHRlci5oZWxwZXInO1xuXG4vLyBjb25maWdzXG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NvbmZpZy9jYS1pbnB1dC5jb25maWcnO1xuaW1wb3J0IHsgQ2FEaXNwYXRjaGVyRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY2EtZGlzcGF0Y2hlci1maWx0ZXIuY29uZmlnJztcbmltcG9ydCB7IHVzZXJTZWxlY3RlZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy91c2VyLXNlbGVjdGVkLm1vZGVsJztcbmltcG9ydCB7IENhRHJpdmVyRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY2EtZHJpdmVyLWZpbHRlci5jb25maWcnO1xuaW1wb3J0IHsgQ2FGdWVsU3RvcEZpbHRlckNvbmZpZyB9IGZyb20gJy4vY29uZmlnL2NhLWZ1ZWwtc3RvcC1maWx0ZXIuY29uZmlnJztcbmltcG9ydCB7IENhQnJva2VyRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY2EtYnJva2VyLWZpbHRlci5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2EtZGlzcGF0Y2hlci1maWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtZGlzcGF0Y2hlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS1kaXNwYXRjaGVyLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbXG4gICAgLy8gbW9kdWxlc1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgLy8gY29tcG9uZW50c1xuICAgIENhSW5wdXRDb21wb25lbnQsXG4gICAgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQsXG4gICAgLy8gcGlwZXNcbiAgICBEcm9wZG93bkxvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgRmlsdGVyVHJhaWxlckNvbG9yUGlwZSxcbiAgXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIGluT3V0QW5pbWF0aW9uKCdpbk91dEFuaW1hdGlvbicpLFxuICAgIHNob3dBbmltYXRpb24oJ3Nob3dBbmltYXRpb24nKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FEaXNwYXRjaGVyRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0eXBlITogc3RyaW5nO1xuICBASW5wdXQoKSBpc0ZpbHRlckFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWx0ZXJUaXRsZSE6IHN0cmluZztcbiAgQElucHV0KCkgaGFzTGVmdFNpZGVJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRvRG9TdWJUeXBlITogc3RyaW5nO1xuICBASW5wdXQoKSB1bnNlbGVjdGVkVXNlciE6IEFycmF5U3RhdHVzW107XG4gIEBJbnB1dCgpIGlzU2VhcmNoRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgbG9hZFN0YXR1c0VudW0gPSBMb2FkU3RhdHVzRW51bTtcbiAgcHVibGljIHNlYXJjaEZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VhcmNoSW5wdXRWYWx1ZSE6IHN0cmluZztcblxuICBwdWJsaWMgdW5zZWxlY3RlZFZpc2libGVDb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIGNhRmlsdGVyc1N2Z1JvdXRlczogQ2FGaWx0ZXJzU3ZnUm91dGVzID0gQ2FGaWx0ZXJzU3ZnUm91dGVzO1xuXG4gIHB1YmxpYyBzZWxlY3RlZFVzZXI6IHVzZXJTZWxlY3RlZFtdID0gW107XG4gIHB1YmxpYyBmaWx0ZXJBY3RpdmVBcnJheTogQXJyYXlTdGF0dXNbXSA9IFtdO1xuICBwdWJsaWMgaXNBc2NlbmRpbmdTb3J0T3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgaXNCdXR0b25BdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHRvdGFsRmlsdGVyc051bTogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLndhdGNoU2VhcmNoRm9ybVZhbHVlQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IGRpc3BhdGNoZXJTZWFyY2goKTogSUNhSW5wdXQge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLkRJU1BBVENIRVJfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FEaXNwYXRjaGVyRmlsdGVyQ29uZmlnLmdldERpc3BhdGNoZXJTZWFyY2goKTtcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5EUklWRVJfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FEcml2ZXJGaWx0ZXJDb25maWcuZ2V0RHJpdmVyU2VhcmNoKCk7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRlVFTF9TVE9QX0ZJTFRFUjpcbiAgICAgICAgcmV0dXJuIENhRnVlbFN0b3BGaWx0ZXJDb25maWcuZ2V0RnVlbFN0b3BTZWFyY2goKTtcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5CUk9LRVJfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FCcm9rZXJGaWx0ZXJDb25maWcuZ2V0QnJva2VyU2VhcmNoKCk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBmaWx0ZXIgdHlwZScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJbml0aWFscyhuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIHJldHVybiBGaWx0ZXJIZWxwZXIuZ2V0SW5pdGlhbHMobmFtZSk7XG4gIH1cblxuICBwdWJsaWMgb25GaWx0ZXJDbG9zZSgpOiB2b2lkIHtcbiAgICBGaWx0ZXJIZWxwZXIuaGFuZGxlRmlsdGVyQ2xvc2UoXG4gICAgICB0aGlzLnVuc2VsZWN0ZWRVc2VyLFxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXIsXG4gICAgICB0aGlzLnJlbW92ZUZyb21TZWxlY3RlZFVzZXIuYmluZCh0aGlzKSxcbiAgICAgIHRoaXMuYWRkVG9TZWxlY3RlZFVzZXIuYmluZCh0aGlzKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0RmlsdGVyVmFsdWUoXG4gICAgJGV2ZW50OiBFdmVudFxuICApOiBmaWx0ZXJPdXRwdXQgfCBmaWx0ZXJPdXRwdXRXaXRoUGFyYW1zIHwgdW5kZWZpbmVkIHtcbiAgICB0aGlzLmZpbHRlckFjdGl2ZUFycmF5ID0gWy4uLnRoaXMuc2VsZWN0ZWRVc2VyXTtcbiAgICBjb25zdCBzZWxlY3RlZFVzZXJzSWRBcnJheTogbnVtYmVyW10gPSBbXTtcbiAgICB0aGlzLnRvdGFsRmlsdGVyc051bSA9IHRoaXMuZmlsdGVyQWN0aXZlQXJyYXkubGVuZ3RoO1xuXG4gICAgbGV0IG1haW5BcnJheTogQXJyYXlTdGF0dXNbXSA9IFtdO1xuICAgIGxldCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIGxldCBzdWJUeXBlID0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSLnRvU3RyaW5nKCk7XG5cbiAgICBtYWluQXJyYXkgPSB0aGlzLnVuc2VsZWN0ZWRVc2VyO1xuXG4gICAgbWFpbkFycmF5LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgaXRlbVsnY3VycmVudFNldCddID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW1bJ2N1cnJlbnRTZXQnXSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheS5mb3JFYWNoKChkYXRhKSA9PiB7XG4gICAgICBzZWxlY3RlZFVzZXJzSWRBcnJheS5wdXNoKGRhdGEuaWQhKTtcbiAgICB9KTtcblxuICAgIGlmICghc2VsZWN0ZWRVc2Vyc0lkQXJyYXkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNsZWFyQWxsKCRldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcXVlcnlQYXJhbXMgPSBzZWxlY3RlZFVzZXJzSWRBcnJheTtcbiAgICBzdWJUeXBlID1cbiAgICAgIHRoaXMudG9Eb1N1YlR5cGUgPz9cbiAgICAgIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLkVNUFRZX1NUUklOR19QTEFDRUhPTERFUi50b1N0cmluZygpO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ1NldCc7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGFjdGlvbixcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgc3ViVHlwZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoZXZlbnQ/OiBFdmVudCk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMge1xuICAgIGlmIChldmVudCkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkVXNlciA9IFtdO1xuICAgIHRoaXMuZmlsdGVyQWN0aXZlQXJyYXkgPSBbXTtcbiAgICB0aGlzLnRvdGFsRmlsdGVyc051bSA9IDA7XG5cbiAgICB0aGlzLnVuc2VsZWN0ZWRVc2VyLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgaXRlbS5jdXJyZW50U2V0ID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBjb25zdCBhY3Rpb24gPSAnQ2xlYXInO1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBhY3Rpb24sXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBmaWx0ZXJUeXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SWRlbnRpdHkoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBudWxsLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRvU2VsZWN0ZWRVc2VyKGl0ZW06IHVzZXJTZWxlY3RlZCwgaW5keDogbnVtYmVyKSB7XG4gICAgY29uc3QgbWFpbkFycmF5ID0gdGhpcy51bnNlbGVjdGVkVXNlcjtcblxuICAgIG1haW5BcnJheVtpbmR4XS5pc1NlbGVjdGVkID0gdHJ1ZTtcblxuICAgIHRoaXMudW5zZWxlY3RlZFZpc2libGVDb3VudCA9IG1haW5BcnJheS5maWx0ZXIoXG4gICAgICAoZGlzcGF0Y2hlcikgPT4gIWRpc3BhdGNoZXIuaXNTZWxlY3RlZFxuICAgICk/Lmxlbmd0aDtcblxuICAgIHRoaXMuc2VsZWN0ZWRVc2VyLnB1c2goaXRlbSk7XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKGl0ZW06IHVzZXJTZWxlY3RlZCwgaW5keDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXIuc3BsaWNlKGluZHgsIDEpO1xuICAgIGNvbnN0IGlkID0gaXRlbS5pZDtcbiAgICBjb25zdCBtYWluQXJyYXkgPSB0aGlzLnVuc2VsZWN0ZWRVc2VyO1xuXG4gICAgbWFpbkFycmF5LmZvckVhY2goKGRpc3BhdGNoZXIpID0+IHtcbiAgICAgIGlmIChkaXNwYXRjaGVyLmlkID09PSBpZCkge1xuICAgICAgICBkaXNwYXRjaGVyLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMudW5zZWxlY3RlZFZpc2libGVDb3VudCA9IG1haW5BcnJheS5maWx0ZXIoXG4gICAgICAoZGlzcGF0Y2hlcikgPT4gIWRpc3BhdGNoZXIuaXNTZWxlY3RlZFxuICAgICk/Lmxlbmd0aDtcblxuICAgIHRoaXMuY2hlY2tGaWx0ZXJBY3RpdmVWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyQ2hlY2sgPSBGaWx0ZXJIZWxwZXIuY2hlY2tGaWx0ZXJBY3RpdmVWYWx1ZShcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyLFxuICAgICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSxcbiAgICAgIHRoaXMuaXNCdXR0b25BdmFpbGFibGVcbiAgICApO1xuXG4gICAgdGhpcy5pc0J1dHRvbkF2YWlsYWJsZSA9IGZpbHRlckNoZWNrLmlzQnV0dG9uQXZhaWxhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaFNlYXJjaEZvcm1WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGb3JtLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlcykgPT4ge1xuICAgICAgICBpZiAoY2hhbmdlcy5zZWFyY2gpIHtcbiAgICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gY2hhbmdlcy5zZWFyY2gudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSBpbnB1dFZhbHVlO1xuXG4gICAgICAgICAgdGhpcy51bnNlbGVjdGVkVXNlci5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmhpZGRlbiA9ICFpdGVtLm5hbWUhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXRWYWx1ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy51bnNlbGVjdGVkVXNlci5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0SXRlbXMoKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydFJlc3VsdCA9IEZpbHRlckhlbHBlci5zb3J0SXRlbXNDb3VudChcbiAgICAgIHRoaXMudW5zZWxlY3RlZFVzZXIsXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcixcbiAgICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXJcbiAgICApO1xuXG4gICAgdGhpcy51bnNlbGVjdGVkVXNlciA9IHNvcnRSZXN1bHQuc29ydGVkRmlsdGVyQXJyYXk7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXIgPSBzb3J0UmVzdWx0LnNvcnRlZFNlbGVjdGVkRmlsdGVyQXJyYXk7XG4gICAgdGhpcy5pc0FzY2VuZGluZ1NvcnRPcmRlciA9IHNvcnRSZXN1bHQuaXNBc2NlbmRpbmdTb3J0T3JkZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWU6IGtleW9mIHR5cGVvZiBDYUZpbHRlcnNTdmdSb3V0ZXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBGaWx0ZXJIZWxwZXIuZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICpuZ0lmPVwiXG4gICAgdHlwZSA9PT0gJ2Rpc3BhdGNoZXJGaWx0ZXInIHx8XG4gICAgdHlwZSA9PT0gJ2RyaXZlckZpbHRlcicgfHxcbiAgICB0eXBlID09PSAnZnVlbFN0b3BGaWx0ZXInIHx8XG4gICAgdHlwZSA9PT0gJ2Jyb2tlckZpbHRlcidcbiAgXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2VhcmNoLWlucHV0LWhlYWRlclwiXG4gICAgW2NsYXNzLmFjdGl2ZVNlYXJjaF09XCJpc1NlYXJjaEV4cGFuZGVkXCJcbiAgICBbY2xhc3MuaW5hY3RpdmVTZWFyY2hdPVwiIWlzU2VhcmNoRXhwYW5kZWRcIlxuICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiXG4gID5cbiAgICA8YXBwLWNhLWlucHV0XG4gICAgICBjbGFzcz1cImlucHV0LWZvcm0taG9sZGVyXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFwiXG4gICAgICBbaW5wdXRDb25maWddPVwiZGlzcGF0Y2hlclNlYXJjaFwiXG4gICAgPjwvYXBwLWNhLWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2VsZWN0ZWQtdXNlci1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGl0ZW0gb2Ygc2VsZWN0ZWRVc2VyO1xuICAgICAgICBsZXQgaW5keCA9IGluZGV4O1xuICAgICAgICB0cmFja0J5OiB0cmFja0J5SWRlbnRpdHlcbiAgICAgIFwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInVzZXItbWFpbi1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgW0Bpbk91dEFuaW1hdGlvbl09XCInaW4nXCJcbiAgICAgICAgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlRnJvbVNlbGVjdGVkVXNlcihpdGVtLCBpbmR4KVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdkaXNwYXRjaGVyRmlsdGVyJyB8fCB0eXBlID09PSAnZHJpdmVyRmlsdGVyJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1wcm9maWxlLWltZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uYXZhdGFyOyBlbHNlIGF2YXRhclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgICAgICAgIFtpbmR4XT1cImluZHhcIlxuICAgICAgICAgICAgICAgIFt0ZXh0U2hvcnROYW1lXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICAgID48L2FwcC1jYS1wcm9maWxlLWltYWdlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYXZhdGFyVGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInVzZXJfYXZhdGFyXCJcbiAgICAgICAgICAgICAgICBzdHlsZS5iYWNrZ3JvdW5kLWltYWdlPVwidXJsKCd7eyBpdGVtLmF2YXRhciB9fScpXCJcbiAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNlbGVjdGVkLXVzZXItZnJhbWUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXG4gICAgICAgICAgW2NsYXNzLnVzZXItZnJhbWUtbm8taWNvbl09XCJcbiAgICAgICAgICAgIHR5cGUgIT09ICdkaXNwYXRjaGVyRmlsdGVyJyAmJiB0eXBlICE9PSAnZHJpdmVyRmlsdGVyJ1xuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtbmFtZS10ZXh0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPiB7eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmNvdW50OyBlbHNlIG5vQ291bnRcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwiY291bnQtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBhY3RpdmVDb3VudFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0uY291bnQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9Db3VudD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5jb3VudDsgZWxzZSBub0NvdW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0ZWQtaWNvbiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgnaWNvbkNvbmZpcm0nKVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vQ291bnRlcj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaG9sZGVyIGFjdGl2ZUNvdW50ZXJcIj4yPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZyb21TZWxlY3RlZFVzZXIoaXRlbSwgaW5keClcIlxuICAgICAgICAgICAgY2xhc3M9XCJpY29uLWRlbGV0ZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgW2NsYXNzLmNvdW50ZXJNYXJnaW5dPVwiaXRlbS5jb3VudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tZGVsZXRlLWhvbGRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxzdmctaWNvbiBbc3JjXT1cImdldFN2Z1BhdGgoJ3JlbW92ZVNlbGVjdGVkVmFsdWUnKVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkVXNlci5sZW5ndGggPiAwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWZpbHRlciBib3JkZXItdGhyaXJkLW1hcmdpblwiPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidXNlci1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGl0ZW0gb2YgdW5zZWxlY3RlZFVzZXI7XG4gICAgICAgIGxldCBpbmR4ID0gaW5kZXg7XG4gICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJZGVudGl0eVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1mcmFtZS1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaGlkZGVuICYmICFpdGVtLmlzU2VsZWN0ZWRcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbQGluT3V0QW5pbWF0aW9uXT1cIidpbidcIlxuICAgICAgICAgICAgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZFRvU2VsZWN0ZWRVc2VyKGl0ZW0sIGluZHgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidXNlci1tYWluLWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnZGlzcGF0Y2hlckZpbHRlcicgfHwgdHlwZSA9PT0gJ2RyaXZlckZpbHRlcidcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1wcm9maWxlLWltZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmF2YXRhcjsgZWxzZSBhdmF0YXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPGFwcC1jYS1wcm9maWxlLWltYWdlXG4gICAgICAgICAgICAgICAgICAgIFtpbmR4XT1cImluZHhcIlxuICAgICAgICAgICAgICAgICAgICBbdGV4dFNob3J0TmFtZV09XCJpdGVtLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvYXBwLWNhLXByb2ZpbGUtaW1hZ2U+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2F2YXRhclRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVzZXJfYXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuYmFja2dyb3VuZC1pbWFnZT1cInVybCgne3sgaXRlbS5hdmF0YXIgfX0nKVwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1c2VyLWZyYW1lIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICBbY2xhc3MudXNlci1mcmFtZS1uby1pY29uXT1cIlxuICAgICAgICAgICAgICAgIHR5cGUgIT09ICdkaXNwYXRjaGVyRmlsdGVyJyAmJiB0eXBlICE9PSAnZHJpdmVyRmlsdGVyJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtbmFtZS10ZXh0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj4ge3sgaXRlbS5uYW1lIH19IDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmNvdW50XCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY291bnQtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgaXRlbS5jb3VudCB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1bnNlbGVjdGVkVXNlcj8ubGVuZ3RoICE9PSBzZWxlY3RlZFVzZXI/Lmxlbmd0aFwiPlxuICAgIDxkaXYgY2xhc3M9XCJib3JkZXItZmlsdGVyXCI+PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs
CHANGED
|
@@ -205,7 +205,7 @@ export class CaUserFilterComponent {
|
|
|
205
205
|
// modules
|
|
206
206
|
CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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: "ngmodule", type: HttpClientModule }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "component", type:
|
|
207
207
|
// components
|
|
208
|
-
CaInputComponent, selector: "app-ca-input", inputs: ["inputConfig", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["incorrectEvent", "blurInput", "focusInput", "change", "commandEvent", "clear", "showHideDropdown", "dropDownKeyNavigation"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i4.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: FilterSelectedItemsPipe, name: "filterSelectedItems" }, { kind: "pipe", type: GroupSelectionStatePipe, name: "groupSelectionState" }, { kind: "pipe", type: SelectedUsersPipe, name: "selectedUser" }], animations: [
|
|
208
|
+
CaInputComponent, selector: "app-ca-input", inputs: ["inputConfig", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["incorrectEvent", "blurInput", "focusInput", "change", "commandEvent", "clear", "showHideDropdown", "dropDownKeyNavigation"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i4.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: FilterSelectedItemsPipe, name: "filterSelectedItems" }, { kind: "pipe", type: GroupSelectionStatePipe, name: "groupSelectionState" }, { kind: "pipe", type: SelectedUsersPipe, name: "selectedUser" }], animations: [
|
|
209
209
|
inOutAnimation('inOutAnimation'),
|
|
210
210
|
showAnimation('showAnimation'),
|
|
211
211
|
closeForm('closeForm'),
|
|
@@ -250,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
250
250
|
}], isSearchExpanded: [{
|
|
251
251
|
type: Input
|
|
252
252
|
}] } });
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXNlci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZmlsdGVycy9jb21wb25lbnRzL2NhLXVzZXItZmlsdGVyL2NhLXVzZXItZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS11c2VyLWZpbHRlci9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxr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LENBQUM7WUFDOUIsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUN2Qjs7NEZBRVUscUJBQXFCO2tCQTlCakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxpQkFDRCxpQkFBaUIsQ0FBQyxJQUFJLFdBRzVCO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUiwyQkFBMkI7d0JBQzNCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEIsY0FDVzt3QkFDVixjQUFjLENBQUMsZ0JBQWdCLENBQUM7d0JBQ2hDLGFBQWEsQ0FBQyxlQUFlLENBQUM7d0JBQzlCLFNBQVMsQ0FBQyxXQUFXLENBQUM7cUJBQ3ZCO3lHQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdiVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbi8vIGFuaW1hdGlvbnNcbmltcG9ydCB7IGluT3V0QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9pbi1vdXQuYW5pbWF0aW9uJztcbmltcG9ydCB7IHNob3dBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL3Nob3cuYW5pbWF0aW9uJztcblxuLy8gZW51bXNcbmltcG9ydCB7IExvYWRTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvbG9hZC1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBUb29sYmFyRmlsdGVyU3RyaW5nRW51bSB9IGZyb20gJy4uLy4uLy4uL2NhLW1hcC9lbnVtcy90b29sYmFyLWZpbHRlci1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gJy4vbW9kZWxzL2NhLXVzZXItZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyR3JvdXAgfSBmcm9tICcuL21vZGVscy9jYS11c2VyLWdyb3VwLm1vZGVsJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NhLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgRHJvcGRvd25Mb2FkU3RhdHVzQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvZHJvcGRvd24tbG9hZC1zdGF0dXMtY29sb3IucGlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJUcmFpbGVyQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZmlsdGVyLXRyYWlsZXItY29sb3IucGlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWxlY3RlZEl0ZW1zUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLXNlbGVjdGVkLWl0ZW1zLnBpcGUnO1xuaW1wb3J0IHsgR3JvdXBTZWxlY3Rpb25TdGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2dyb3VwLXNlbGVjdGlvbi1zdGF0ZS5waXBlJztcbmltcG9ydCB7IFNlbGVjdGVkVXNlcnNQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3RlZC11c2Vycy5waXBlJztcblxuLy8gYW5pbWF0aW9uc1xuaW1wb3J0IHsgY2xvc2VGb3JtIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9jbG9zZS1mb3JtLmFuaW1hdGlvbic7XG5cbi8vIHV0aWxzXG5pbXBvcnQgeyBDYUZpbHRlcnNTdmdSb3V0ZXMgfSBmcm9tICcuLi8uLi91dGlscy9zdmctcm91dGVzL2NhLWZpbHRlcnMtc3ZnLXJvdXRlcyc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IEZpbHRlckhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzL2hlbHBlcnMvZmlsdGVyLmhlbHBlcic7XG5cbi8vIGNvbmZpZ3NcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi4vLi4vLi4vY2EtaW5wdXQvY29uZmlnL2NhLWlucHV0LmNvbmZpZyc7XG5pbXBvcnQgeyBDYVVzZXJGaWx0ZXJDb25maWcgfSBmcm9tICcuL2NvbmZpZy9jYS11c2VyLWZpbHRlci5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2EtdXNlci1maWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtdXNlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgLy8gbW9kdWxlc1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgLy8gY29tcG9uZW50c1xuICAgIENhSW5wdXRDb21wb25lbnQsXG4gICAgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQsXG4gICAgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQsXG4gICAgTmdiVG9vbHRpcE1vZHVsZSxcbiAgICAvLyBwaXBlc1xuICAgIERyb3Bkb3duTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICBGaWx0ZXJUcmFpbGVyQ29sb3JQaXBlLFxuICAgIEZpbHRlclNlbGVjdGVkSXRlbXNQaXBlLFxuICAgIEdyb3VwU2VsZWN0aW9uU3RhdGVQaXBlLFxuICAgIFNlbGVjdGVkVXNlcnNQaXBlLFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgaW5PdXRBbmltYXRpb24oJ2luT3V0QW5pbWF0aW9uJyksXG4gICAgc2hvd0FuaW1hdGlvbignc2hvd0FuaW1hdGlvbicpLFxuICAgIGNsb3NlRm9ybSgnY2xvc2VGb3JtJyksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhVXNlckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgaXNGaWx0ZXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsdGVyVGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhhc0xlZnRTaWRlSWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0b0RvU3ViVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdXNlckdyb3VwITogVXNlckdyb3VwW107XG4gIEBJbnB1dCgpIGlzU2VhcmNoRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgbG9hZFN0YXR1c0VudW0gPSBMb2FkU3RhdHVzRW51bTtcbiAgcHVibGljIHNlYXJjaEZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VhcmNoSW5wdXRWYWx1ZSE6IHN0cmluZztcblxuICBwdWJsaWMgdW5zZWxlY3RlZFZpc2libGVDb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIGNhRmlsdGVyc1N2Z1JvdXRlczogQ2FGaWx0ZXJzU3ZnUm91dGVzID0gQ2FGaWx0ZXJzU3ZnUm91dGVzO1xuXG4gIHB1YmxpYyBzZWxlY3RlZFVzZXJHcm91cDogVXNlckdyb3VwW10gPSBbXTtcbiAgcHVibGljIGZpbHRlckFjdGl2ZUFycmF5OiBVc2VyR3JvdXBbXSA9IFtdO1xuICBwdWJsaWMgaXNBc2NlbmRpbmdTb3J0T3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgaXNCdXR0b25BdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGhhc1NlbGVjdGVkVXNlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHRvdGFsRmlsdGVyc051bTogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLndhdGNoU2VhcmNoRm9ybVZhbHVlQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IHVzZXJTZWFyY2goKTogSUNhSW5wdXQge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlVTRVJfRklMVEVSOlxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5NT0RVTEVfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FVc2VyRmlsdGVyQ29uZmlnLmdldFVzZXJTZWFyY2goKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGZpbHRlciB0eXBlJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEluaXRpYWxzKG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpbHRlckhlbHBlci5nZXRJbml0aWFscyhuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkdyb3VwU3dpdGNoU3RhdGUoZ3JvdXA6IFVzZXJHcm91cCk6IHZvaWQge1xuICAgIGdyb3VwLmlzT3BlbiA9ICFncm91cC5pc09wZW47XG4gIH1cblxuICBwdWJsaWMgb25DaGVja2JveFNlbGVjdChldmVudDogRXZlbnQsIGdyb3VwOiBVc2VyR3JvdXApOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGdyb3VwLml0ZW1zLmxlbmd0aDtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzU2VsZWN0ZWQpLmxlbmd0aDtcblxuICAgIGdyb3VwLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZEl0ZW1zID09PSB0b3RhbEl0ZW1zKSBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIGVsc2UgaXRlbS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IHNlbGVjdGVkSXRlbXMgIT09IHRvdGFsSXRlbXM7XG4gIH1cblxuICBwdWJsaWMgb25GaWx0ZXJDbG9zZSgpOiB2b2lkIHtcbiAgICBGaWx0ZXJIZWxwZXIuaGFuZGxlR3JvdXBGaWx0ZXJDbG9zZShcbiAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCxcbiAgICAgIHRoaXMucmVtb3ZlRnJvbVNlbGVjdGVkVXNlci5iaW5kKHRoaXMpLFxuICAgICAgdGhpcy5hZGRUb1NlbGVjdGVkVXNlci5iaW5kKHRoaXMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGaWx0ZXJWYWx1ZShcbiAgICBldmVudDogRXZlbnRcbiAgKTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSA9IFsuLi50aGlzLnVzZXJHcm91cF07XG4gICAgY29uc3Qgc2VsZWN0ZWRVc2Vyc0lkQXJyYXk6IG51bWJlcltdID0gW107XG4gICAgdGhpcy50b3RhbEZpbHRlcnNOdW0gPSB0aGlzLmZpbHRlckFjdGl2ZUFycmF5Lmxlbmd0aDtcblxuICAgIGNvbnN0IG1haW5BcnJheSA9IHRoaXMudXNlckdyb3VwO1xuICAgIGxldCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIGxldCBzdWJUeXBlOiBzdHJpbmcgPSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5FTVBUWV9TVFJJTkdfUExBQ0VIT0xERVI7XG5cbiAgICBtYWluQXJyYXkuZm9yRWFjaCgoZGF0YTogVXNlckdyb3VwKSA9PiB7XG4gICAgICBkYXRhLml0ZW1zLmZvckVhY2goKGl0ZW06IFVzZXJEYXRhKSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmlzU2VsZWN0ZWQpIHNlbGVjdGVkVXNlcnNJZEFycmF5LnB1c2goaXRlbS5pZCEpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoIXNlbGVjdGVkVXNlcnNJZEFycmF5Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jbGVhckFsbChldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcXVlcnlQYXJhbXMgPSBzZWxlY3RlZFVzZXJzSWRBcnJheTtcbiAgICBzdWJUeXBlID1cbiAgICAgIHRoaXMudG9Eb1N1YlR5cGUgPz8gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ1NldCc7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGFjdGlvbixcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgc3ViVHlwZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoZXZlbnQ/OiBFdmVudCk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMge1xuICAgIGlmIChldmVudCkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwID0gW107XG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSA9IFtdO1xuICAgIHRoaXMudG90YWxGaWx0ZXJzTnVtID0gMDtcbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBmYWxzZTtcblxuICAgIHRoaXMudXNlckdyb3VwLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBncm91cC5pdGVtcy5mb3JFYWNoKChpdGVtOiBVc2VyRGF0YSkgPT4ge1xuICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgaXRlbS5jdXJyZW50U2V0ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGFjdGlvbiA9ICdDbGVhcic7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGFjdGlvbixcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlJZGVudGl0eShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBzZWFyY2g6IG51bGwsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU2VsZWN0ZWRVc2VycyhpdGVtOiBVc2VyRGF0YSwgaW5keDogbnVtYmVyLCBpbmR4MjogbnVtYmVyKSB7XG4gICAgaWYgKGl0ZW0uaXNTZWxlY3RlZCkgdGhpcy5yZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKGl0ZW0sIGluZHgsIGluZHgyKTtcbiAgICBlbHNlIHRoaXMuYWRkVG9TZWxlY3RlZFVzZXIoaXRlbSwgaW5keCwgaW5keDIpO1xuICB9XG5cbiAgcHVibGljIGFkZFRvU2VsZWN0ZWRVc2VyKGl0ZW06IFVzZXJEYXRhLCBpbmR4OiBudW1iZXIsIGluZHgyOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IGhhc1NlbGVjdGVkVXNlcnMsIHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQsIGdyb3VwQXJyYXkgfSA9XG4gICAgICBGaWx0ZXJIZWxwZXIuYWRkT3JSZW1vdmVGcm9tR3JvdXAoXG4gICAgICAgICdhZGQnLFxuICAgICAgICB0aGlzLnVzZXJHcm91cCxcbiAgICAgICAgaXRlbSxcbiAgICAgICAgaW5keCxcbiAgICAgICAgaW5keDJcbiAgICAgICk7XG5cbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBoYXNTZWxlY3RlZFVzZXJzO1xuICAgIHRoaXMudW5zZWxlY3RlZFZpc2libGVDb3VudCA9IHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQ7XG4gICAgdGhpcy51c2VyR3JvdXAgPSBbLi4uZ3JvdXBBcnJheV07XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKFxuICAgIGl0ZW06IFVzZXJEYXRhLFxuICAgIGluZHg6IG51bWJlcixcbiAgICBpbmR4MjogbnVtYmVyXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHsgaGFzU2VsZWN0ZWRVc2VycywgdW5zZWxlY3RlZFZpc2libGVDb3VudCwgZ3JvdXBBcnJheSB9ID1cbiAgICAgIEZpbHRlckhlbHBlci5hZGRPclJlbW92ZUZyb21Hcm91cChcbiAgICAgICAgJ3JlbW92ZScsXG4gICAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgICBpdGVtLFxuICAgICAgICBpbmR4LFxuICAgICAgICBpbmR4MlxuICAgICAgKTtcblxuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IGhhc1NlbGVjdGVkVXNlcnM7XG4gICAgdGhpcy51bnNlbGVjdGVkVmlzaWJsZUNvdW50ID0gdW5zZWxlY3RlZFZpc2libGVDb3VudDtcbiAgICB0aGlzLnVzZXJHcm91cCA9IGdyb3VwQXJyYXk7XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja0ZpbHRlckFjdGl2ZVZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlckNoZWNrID0gRmlsdGVySGVscGVyLmNoZWNrR3JvdXBGaWx0ZXJBY3RpdmVWYWx1ZShcbiAgICAgIHRoaXMuZmlsdGVyQWN0aXZlQXJyYXksXG4gICAgICB0aGlzLmlzQnV0dG9uQXZhaWxhYmxlXG4gICAgKTtcblxuICAgIHRoaXMuaXNCdXR0b25BdmFpbGFibGUgPSBmaWx0ZXJDaGVjay5pc0J1dHRvbkF2YWlsYWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgd2F0Y2hTZWFyY2hGb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZXMpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IGNoYW5nZXMuc2VhcmNoPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICAgIHRoaXMudXNlckdyb3VwLmZvckVhY2goKGdyb3VwKSA9PiAoe1xuICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgIGl0ZW1zOiBncm91cC5pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgaGlkZGVuOlxuICAgICAgICAgICAgICAodGhpcy50eXBlID09PSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5VU0VSX0ZJTFRFUiB8fFxuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uTU9EVUxFX0ZJTFRFUikgJiZcbiAgICAgICAgICAgICAgaW5wdXRWYWx1ZSAmJlxuICAgICAgICAgICAgICAhaXRlbS5uYW1lIS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0VmFsdWUpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSA9XG4gICAgICAgICAgaW5wdXRWYWx1ZSB8fCBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5FTVBUWV9TVFJJTkdfUExBQ0VIT0xERVI7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0SXRlbXMoKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydFJlc3VsdCA9IEZpbHRlckhlbHBlci5zb3J0R3JvdXBJdGVtc0NvdW50KFxuICAgICAgdGhpcy51c2VyR3JvdXAsXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwLFxuICAgICAgdGhpcy5pc0FzY2VuZGluZ1NvcnRPcmRlclxuICAgICk7XG5cbiAgICB0aGlzLnVzZXJHcm91cCA9IHNvcnRSZXN1bHQuc29ydGVkRmlsdGVyQXJyYXk7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCA9IHNvcnRSZXN1bHQuc29ydGVkU2VsZWN0ZWRGaWx0ZXJBcnJheTtcbiAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID0gc29ydFJlc3VsdC5pc0FzY2VuZGluZ1NvcnRPcmRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdmdQYXRoKHByb3BlcnR5TmFtZToga2V5b2YgdHlwZW9mIENhRmlsdGVyc1N2Z1JvdXRlcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpbHRlckhlbHBlci5nZXRTdmdQYXRoKHByb3BlcnR5TmFtZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAndXNlckZpbHRlcicgfHwgdHlwZSA9PT0gJ21vZHVsZUZpbHRlcidcIj5cbiAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXJcIj48L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd1c2VyRmlsdGVyJ1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0LWhlYWRlclwiXG4gICAgICBbY2xhc3MuYWN0aXZlU2VhcmNoXT1cImlzU2VhcmNoRXhwYW5kZWRcIlxuICAgICAgW2NsYXNzLmluYWN0aXZlU2VhcmNoXT1cIiFpc1NlYXJjaEV4cGFuZGVkXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiXG4gICAgPlxuICAgICAgPGFwcC1jYS1pbnB1dFxuICAgICAgICBjbGFzcz1cImlucHV0LWZvcm0taG9sZGVyXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoXCJcbiAgICAgICAgW2lucHV0Q29uZmlnXT1cInVzZXJTZWFyY2hcIlxuICAgICAgPjwvYXBwLWNhLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidXNlci1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGdyb3VwIG9mIHVzZXJHcm91cDtcbiAgICAgICAgbGV0IGluZHggPSBpbmRleDtcbiAgICAgICAgdHJhY2tCeTogdHJhY2tCeUlkZW50aXR5XG4gICAgICBcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ1c2VyLWl0ZW1zLWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uR3JvdXBTd2l0Y2hTdGF0ZShncm91cClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJjaGVja2JveC10b29sdGlwXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgW21haW5DYVRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgIChncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLnNvbWVTZWxlY3RlZFxuICAgICAgICAgICAgICAgID8gJ0NsZWFyIHNlbGVjdGVkJ1xuICAgICAgICAgICAgICAgIDogJ0NsZWFyIGdyb3VwJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIHRvb2x0aXBCYWNrZ3JvdW5kPVwiI0NDQ0NDQ1wiXG4gICAgICAgICAgICB0b29sdGlwQ29sb3I9XCIjMkYyRjJGXCJcbiAgICAgICAgICAgIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzPVwibXQtMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY2hlY2tib3hcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBpZD1cImNoZWNrYm94e3sgaW5keCB9fVwiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cIihncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLmFsbFNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiKGdyb3VwIHwgZ3JvdXBTZWxlY3Rpb25TdGF0ZSkuc29tZVNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hTZWxlY3QoJGV2ZW50LCBncm91cClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNoZWNrYm94LWxhYmVsXCJcbiAgICAgICAgICAgICAgZm9yPVwiY2hlY2tib3h7eyBpbmR4IH19XCJcbiAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImhpZGUtdXNlci1ncm91cFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgIHN2Z19yb3RhdGU6ICFncm91cC5pc09wZW4sXG4gICAgICAgICAgICAgIHJvdGF0ZV9iYWNrOiBncm91cC5pc09wZW4sXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnLWljb24gW3NyY109XCJnZXRTdmdQYXRoKCdhcnJvd0ZpbHRlcicpXCI+PC9zdmctaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInVzZXItdGl0bGUtdGV4dCBjb3VudGVyLXBhZGQtdGl0bGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBjYS1mb250LWJvbGRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZ3JvdXAubGFiZWwudG9VcHBlckNhc2UoKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidXNlci1maWx0ZXItYm94IGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBjYS1mb250LWJvbGQgbXMtMVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBncm91cC5pdGVtcyB8IGZpbHRlclNlbGVjdGVkSXRlbXMgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ1c2VyLWdyb3VwLWhvbGRlclwiXG4gICAgICAgIFtjbGFzcy51c2VyLWdyb3VwLXJlZHVjZWQtaG9sZGVyXT1cInR5cGUgPT09ICd1c2VyRmlsdGVyJ1wiXG4gICAgICAgIFtAY2xvc2VGb3JtXT1cImdyb3VwLmlzT3BlblwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBpdGVtIG9mIGdyb3VwLml0ZW1zIHwgc2VsZWN0ZWRVc2VyO1xuICAgICAgICAgICAgbGV0IGluZHgyID0gaW5kZXg7XG4gICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5SWRlbnRpdHlcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBbQGluT3V0QW5pbWF0aW9uXT1cIidpbidcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICB1c2VyVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBpdGVtLCBpbmR4OiBpbmR4LCBpbmR4MjogaW5keDIgfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdyb3VwIHwgZ3JvdXBTZWxlY3Rpb25TdGF0ZSkuc29tZVNlbGVjdGVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXIgYm9yZGVyLXRocmlyZC1tYXJnaW5cIj48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGl0ZW0gb2YgZ3JvdXAuaXRlbXMgfCBzZWxlY3RlZFVzZXI6IHRydWU7XG4gICAgICAgICAgICBsZXQgaW5keDIgPSBpbmRleDtcbiAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJZGVudGl0eVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IFtAaW5PdXRBbmltYXRpb25dPVwiJ2luJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHVzZXJUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7IGl0ZW06IGl0ZW0sIGluZHg6IGluZHgsIGluZHgyOiBpbmR4MiB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlckdyb3VwPy5sZW5ndGggIT09IHNlbGVjdGVkVXNlckdyb3VwPy5sZW5ndGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWZpbHRlclwiPjwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3VzZXJUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5keD1cImluZHhcIiBsZXQtaW5keDI9XCJpbmR4MlwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkLWZsZXhcIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgaXRlbS5pc1NlbGVjdGVkXG4gICAgICAgID8gJ3NlbGVjdGVkLXVzZXItaG9sZGVyIGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbidcbiAgICAgICAgOiAndXNlci1mcmFtZS1ob2xkZXIgYWxpZ24taXRlbXMtY2VudGVyJ1xuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaGlkZGVuXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIChjbGljayk9XCJoYW5kbGVTZWxlY3RlZFVzZXJzKGl0ZW0sIGluZHgsIGluZHgyKVwiXG4gICAgICAgIGNsYXNzPVwidXNlci1tYWluLWhvbGRlciB1c2VyLWZyYW1lLWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICBbY2xhc3MudXNlcl9zdmdfaWNvbl9ob2xkZXJdPVwidHlwZSAhPT0gJ3VzZXJGaWx0ZXInXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd1c2VyRmlsdGVyJzsgZWxzZSBzdmdJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1wcm9maWxlLWltZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uYXZhdGFyOyBlbHNlIGF2YXRhclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgICAgICAgIFtpbmR4XT1cImluZHgyXCJcbiAgICAgICAgICAgICAgICBbdGV4dFNob3J0TmFtZV09XCJnZXRJbml0aWFscyhpdGVtLm5hbWUpXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2FwcC1jYS1wcm9maWxlLWltYWdlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYXZhdGFyVGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInVzZXJfYXZhdGFyXCJcbiAgICAgICAgICAgICAgICBzdHlsZS5iYWNrZ3JvdW5kLWltYWdlPVwidXJsKCd7eyBpdGVtLmF2YXRhciB9fScpXCJcbiAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3ZnSWNvblRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eXBlLWljb24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHN2Zy1pY29uIHNyYz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uaXNTZWxlY3RlZCA/ICdzZWxlY3RlZC11c2VyLWZyYW1lJyA6ICd1c2VyLWZyYW1lJ1wiXG4gICAgICAgICAgW2NsYXNzLnVzZXItZnJhbWUtbm8taWNvbl09XCJ0eXBlICE9PSAndXNlckZpbHRlcidcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLW5hbWUtdGV4dCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8c3Bhbj4ge3sgaXRlbS5uYW1lIH19IDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uY291bnQ7IGVsc2Ugbm9Db3VudFwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudC1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZUNvdW50XT1cIml0ZW0uaXNTZWxlY3RlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0uY291bnQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9Db3VudD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub0NvdW50VGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbTogaXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uaXNTZWxlY3RlZFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRnJvbVNlbGVjdGVkVXNlcihpdGVtLCBpbmR4LCBpbmR4MilcIlxuICAgICAgICAgICAgICBjbGFzcz1cImljb24tZGVsZXRlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIFtjbGFzcy5jb3VudGVyTWFyZ2luXT1cIml0ZW0uY291bnRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1kZWxldGUtaG9sZFwiPjwvZGl2PlxuICAgICAgICAgICAgICA8c3ZnLWljb24gW3NyY109XCJnZXRTdmdQYXRoKCdyZW1vdmVTZWxlY3RlZFZhbHVlJylcIj48L3N2Zy1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gaWYgbm8gY291bnQgZm91bmQgLS0+XG48bmctdGVtcGxhdGUgI25vQ291bnRUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmNvdW50OyBlbHNlIG5vQ291bnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgnaWNvbkNvbmZpcm0nKVwiPjwvc3ZnLWljb24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI25vQ291bnRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiY291bnRlci1ob2xkZXIgYWN0aXZlQ291bnRlclwiPjA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXNlci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZmlsdGVycy9jb21wb25lbnRzL2NhLXVzZXItZmlsdGVyL2NhLXVzZXItZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS11c2VyLWZpbHRlci9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxr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LENBQUM7WUFDOUIsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUN2Qjs7NEZBRVUscUJBQXFCO2tCQTlCakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxpQkFDRCxpQkFBaUIsQ0FBQyxJQUFJLFdBRzVCO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUiwyQkFBMkI7d0JBQzNCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEIsY0FDVzt3QkFDVixjQUFjLENBQUMsZ0JBQWdCLENBQUM7d0JBQ2hDLGFBQWEsQ0FBQyxlQUFlLENBQUM7d0JBQzlCLFNBQVMsQ0FBQyxXQUFXLENBQUM7cUJBQ3ZCO3lHQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdiVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbi8vIGFuaW1hdGlvbnNcbmltcG9ydCB7IGluT3V0QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9pbi1vdXQuYW5pbWF0aW9uJztcbmltcG9ydCB7IHNob3dBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL3Nob3cuYW5pbWF0aW9uJztcblxuLy8gZW51bXNcbmltcG9ydCB7IExvYWRTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvbG9hZC1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBUb29sYmFyRmlsdGVyU3RyaW5nRW51bSB9IGZyb20gJy4uLy4uLy4uL2NhLW1hcC9lbnVtcy90b29sYmFyLWZpbHRlci1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gJy4vbW9kZWxzL2NhLXVzZXItZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyR3JvdXAgfSBmcm9tICcuL21vZGVscy9jYS11c2VyLWdyb3VwLm1vZGVsJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NhLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgRHJvcGRvd25Mb2FkU3RhdHVzQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvZHJvcGRvd24tbG9hZC1zdGF0dXMtY29sb3IucGlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJUcmFpbGVyQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZmlsdGVyLXRyYWlsZXItY29sb3IucGlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWxlY3RlZEl0ZW1zUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLXNlbGVjdGVkLWl0ZW1zLnBpcGUnO1xuaW1wb3J0IHsgR3JvdXBTZWxlY3Rpb25TdGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2dyb3VwLXNlbGVjdGlvbi1zdGF0ZS5waXBlJztcbmltcG9ydCB7IFNlbGVjdGVkVXNlcnNQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3RlZC11c2Vycy5waXBlJztcblxuLy8gYW5pbWF0aW9uc1xuaW1wb3J0IHsgY2xvc2VGb3JtIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9jbG9zZS1mb3JtLmFuaW1hdGlvbic7XG5cbi8vIHV0aWxzXG5pbXBvcnQgeyBDYUZpbHRlcnNTdmdSb3V0ZXMgfSBmcm9tICcuLi8uLi91dGlscy9zdmctcm91dGVzL2NhLWZpbHRlcnMtc3ZnLXJvdXRlcyc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IEZpbHRlckhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzL2hlbHBlcnMvZmlsdGVyLmhlbHBlcic7XG5cbi8vIGNvbmZpZ3NcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi4vLi4vLi4vY2EtaW5wdXQvY29uZmlnL2NhLWlucHV0LmNvbmZpZyc7XG5pbXBvcnQgeyBDYVVzZXJGaWx0ZXJDb25maWcgfSBmcm9tICcuL2NvbmZpZy9jYS11c2VyLWZpbHRlci5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2EtdXNlci1maWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtdXNlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgLy8gbW9kdWxlc1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgLy8gY29tcG9uZW50c1xuICAgIENhSW5wdXRDb21wb25lbnQsXG4gICAgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQsXG4gICAgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQsXG4gICAgTmdiVG9vbHRpcE1vZHVsZSxcbiAgICAvLyBwaXBlc1xuICAgIERyb3Bkb3duTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICBGaWx0ZXJUcmFpbGVyQ29sb3JQaXBlLFxuICAgIEZpbHRlclNlbGVjdGVkSXRlbXNQaXBlLFxuICAgIEdyb3VwU2VsZWN0aW9uU3RhdGVQaXBlLFxuICAgIFNlbGVjdGVkVXNlcnNQaXBlLFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgaW5PdXRBbmltYXRpb24oJ2luT3V0QW5pbWF0aW9uJyksXG4gICAgc2hvd0FuaW1hdGlvbignc2hvd0FuaW1hdGlvbicpLFxuICAgIGNsb3NlRm9ybSgnY2xvc2VGb3JtJyksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhVXNlckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgaXNGaWx0ZXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsdGVyVGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhhc0xlZnRTaWRlSWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0b0RvU3ViVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdXNlckdyb3VwITogVXNlckdyb3VwW107XG4gIEBJbnB1dCgpIGlzU2VhcmNoRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgbG9hZFN0YXR1c0VudW0gPSBMb2FkU3RhdHVzRW51bTtcbiAgcHVibGljIHNlYXJjaEZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VhcmNoSW5wdXRWYWx1ZSE6IHN0cmluZztcblxuICBwdWJsaWMgdW5zZWxlY3RlZFZpc2libGVDb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIGNhRmlsdGVyc1N2Z1JvdXRlczogQ2FGaWx0ZXJzU3ZnUm91dGVzID0gQ2FGaWx0ZXJzU3ZnUm91dGVzO1xuXG4gIHB1YmxpYyBzZWxlY3RlZFVzZXJHcm91cDogVXNlckdyb3VwW10gPSBbXTtcbiAgcHVibGljIGZpbHRlckFjdGl2ZUFycmF5OiBVc2VyR3JvdXBbXSA9IFtdO1xuICBwdWJsaWMgaXNBc2NlbmRpbmdTb3J0T3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgaXNCdXR0b25BdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGhhc1NlbGVjdGVkVXNlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHRvdGFsRmlsdGVyc051bTogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLndhdGNoU2VhcmNoRm9ybVZhbHVlQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IHVzZXJTZWFyY2goKTogSUNhSW5wdXQge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlVTRVJfRklMVEVSOlxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5NT0RVTEVfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FVc2VyRmlsdGVyQ29uZmlnLmdldFVzZXJTZWFyY2goKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGZpbHRlciB0eXBlJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEluaXRpYWxzKG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpbHRlckhlbHBlci5nZXRJbml0aWFscyhuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkdyb3VwU3dpdGNoU3RhdGUoZ3JvdXA6IFVzZXJHcm91cCk6IHZvaWQge1xuICAgIGdyb3VwLmlzT3BlbiA9ICFncm91cC5pc09wZW47XG4gIH1cblxuICBwdWJsaWMgb25DaGVja2JveFNlbGVjdChldmVudDogRXZlbnQsIGdyb3VwOiBVc2VyR3JvdXApOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGdyb3VwLml0ZW1zLmxlbmd0aDtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzU2VsZWN0ZWQpLmxlbmd0aDtcblxuICAgIGdyb3VwLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZEl0ZW1zID09PSB0b3RhbEl0ZW1zKSBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIGVsc2UgaXRlbS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IHNlbGVjdGVkSXRlbXMgIT09IHRvdGFsSXRlbXM7XG4gIH1cblxuICBwdWJsaWMgb25GaWx0ZXJDbG9zZSgpOiB2b2lkIHtcbiAgICBGaWx0ZXJIZWxwZXIuaGFuZGxlR3JvdXBGaWx0ZXJDbG9zZShcbiAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCxcbiAgICAgIHRoaXMucmVtb3ZlRnJvbVNlbGVjdGVkVXNlci5iaW5kKHRoaXMpLFxuICAgICAgdGhpcy5hZGRUb1NlbGVjdGVkVXNlci5iaW5kKHRoaXMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGaWx0ZXJWYWx1ZShcbiAgICBldmVudDogRXZlbnRcbiAgKTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSA9IFsuLi50aGlzLnVzZXJHcm91cF07XG4gICAgY29uc3Qgc2VsZWN0ZWRVc2Vyc0lkQXJyYXk6IG51bWJlcltdID0gW107XG4gICAgdGhpcy50b3RhbEZpbHRlcnNOdW0gPSB0aGlzLmZpbHRlckFjdGl2ZUFycmF5Lmxlbmd0aDtcblxuICAgIGNvbnN0IG1haW5BcnJheSA9IHRoaXMudXNlckdyb3VwO1xuICAgIGxldCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIGxldCBzdWJUeXBlOiBzdHJpbmcgPSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5FTVBUWV9TVFJJTkdfUExBQ0VIT0xERVI7XG5cbiAgICBtYWluQXJyYXkuZm9yRWFjaCgoZGF0YTogVXNlckdyb3VwKSA9PiB7XG4gICAgICBkYXRhLml0ZW1zLmZvckVhY2goKGl0ZW06IFVzZXJEYXRhKSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmlzU2VsZWN0ZWQpIHNlbGVjdGVkVXNlcnNJZEFycmF5LnB1c2goaXRlbS5pZCEpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoIXNlbGVjdGVkVXNlcnNJZEFycmF5Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jbGVhckFsbChldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcXVlcnlQYXJhbXMgPSBzZWxlY3RlZFVzZXJzSWRBcnJheTtcbiAgICBzdWJUeXBlID1cbiAgICAgIHRoaXMudG9Eb1N1YlR5cGUgPz8gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ1NldCc7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGFjdGlvbixcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgc3ViVHlwZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoZXZlbnQ/OiBFdmVudCk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMge1xuICAgIGlmIChldmVudCkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwID0gW107XG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSA9IFtdO1xuICAgIHRoaXMudG90YWxGaWx0ZXJzTnVtID0gMDtcbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBmYWxzZTtcblxuICAgIHRoaXMudXNlckdyb3VwLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBncm91cC5pdGVtcy5mb3JFYWNoKChpdGVtOiBVc2VyRGF0YSkgPT4ge1xuICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgaXRlbS5jdXJyZW50U2V0ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGFjdGlvbiA9ICdDbGVhcic7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGFjdGlvbixcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlJZGVudGl0eShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBzZWFyY2g6IG51bGwsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU2VsZWN0ZWRVc2VycyhpdGVtOiBVc2VyRGF0YSwgaW5keDogbnVtYmVyLCBpbmR4MjogbnVtYmVyKSB7XG4gICAgaWYgKGl0ZW0uaXNTZWxlY3RlZCkgdGhpcy5yZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKGl0ZW0sIGluZHgsIGluZHgyKTtcbiAgICBlbHNlIHRoaXMuYWRkVG9TZWxlY3RlZFVzZXIoaXRlbSwgaW5keCwgaW5keDIpO1xuICB9XG5cbiAgcHVibGljIGFkZFRvU2VsZWN0ZWRVc2VyKGl0ZW06IFVzZXJEYXRhLCBpbmR4OiBudW1iZXIsIGluZHgyOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IGhhc1NlbGVjdGVkVXNlcnMsIHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQsIGdyb3VwQXJyYXkgfSA9XG4gICAgICBGaWx0ZXJIZWxwZXIuYWRkT3JSZW1vdmVGcm9tR3JvdXAoXG4gICAgICAgICdhZGQnLFxuICAgICAgICB0aGlzLnVzZXJHcm91cCxcbiAgICAgICAgaXRlbSxcbiAgICAgICAgaW5keCxcbiAgICAgICAgaW5keDJcbiAgICAgICk7XG5cbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBoYXNTZWxlY3RlZFVzZXJzO1xuICAgIHRoaXMudW5zZWxlY3RlZFZpc2libGVDb3VudCA9IHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQ7XG4gICAgdGhpcy51c2VyR3JvdXAgPSBbLi4uZ3JvdXBBcnJheV07XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKFxuICAgIGl0ZW06IFVzZXJEYXRhLFxuICAgIGluZHg6IG51bWJlcixcbiAgICBpbmR4MjogbnVtYmVyXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHsgaGFzU2VsZWN0ZWRVc2VycywgdW5zZWxlY3RlZFZpc2libGVDb3VudCwgZ3JvdXBBcnJheSB9ID1cbiAgICAgIEZpbHRlckhlbHBlci5hZGRPclJlbW92ZUZyb21Hcm91cChcbiAgICAgICAgJ3JlbW92ZScsXG4gICAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgICBpdGVtLFxuICAgICAgICBpbmR4LFxuICAgICAgICBpbmR4MlxuICAgICAgKTtcblxuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IGhhc1NlbGVjdGVkVXNlcnM7XG4gICAgdGhpcy51bnNlbGVjdGVkVmlzaWJsZUNvdW50ID0gdW5zZWxlY3RlZFZpc2libGVDb3VudDtcbiAgICB0aGlzLnVzZXJHcm91cCA9IGdyb3VwQXJyYXk7XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja0ZpbHRlckFjdGl2ZVZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlckNoZWNrID0gRmlsdGVySGVscGVyLmNoZWNrR3JvdXBGaWx0ZXJBY3RpdmVWYWx1ZShcbiAgICAgIHRoaXMuZmlsdGVyQWN0aXZlQXJyYXksXG4gICAgICB0aGlzLmlzQnV0dG9uQXZhaWxhYmxlXG4gICAgKTtcblxuICAgIHRoaXMuaXNCdXR0b25BdmFpbGFibGUgPSBmaWx0ZXJDaGVjay5pc0J1dHRvbkF2YWlsYWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgd2F0Y2hTZWFyY2hGb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZXMpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IGNoYW5nZXMuc2VhcmNoPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICAgIHRoaXMudXNlckdyb3VwLmZvckVhY2goKGdyb3VwKSA9PiAoe1xuICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgIGl0ZW1zOiBncm91cC5pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgaGlkZGVuOlxuICAgICAgICAgICAgICAodGhpcy50eXBlID09PSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5VU0VSX0ZJTFRFUiB8fFxuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uTU9EVUxFX0ZJTFRFUikgJiZcbiAgICAgICAgICAgICAgaW5wdXRWYWx1ZSAmJlxuICAgICAgICAgICAgICAhaXRlbS5uYW1lIS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0VmFsdWUpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSA9XG4gICAgICAgICAgaW5wdXRWYWx1ZSB8fCBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5FTVBUWV9TVFJJTkdfUExBQ0VIT0xERVI7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0SXRlbXMoKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydFJlc3VsdCA9IEZpbHRlckhlbHBlci5zb3J0R3JvdXBJdGVtc0NvdW50KFxuICAgICAgdGhpcy51c2VyR3JvdXAsXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwLFxuICAgICAgdGhpcy5pc0FzY2VuZGluZ1NvcnRPcmRlclxuICAgICk7XG5cbiAgICB0aGlzLnVzZXJHcm91cCA9IHNvcnRSZXN1bHQuc29ydGVkRmlsdGVyQXJyYXk7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCA9IHNvcnRSZXN1bHQuc29ydGVkU2VsZWN0ZWRGaWx0ZXJBcnJheTtcbiAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID0gc29ydFJlc3VsdC5pc0FzY2VuZGluZ1NvcnRPcmRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdmdQYXRoKHByb3BlcnR5TmFtZToga2V5b2YgdHlwZW9mIENhRmlsdGVyc1N2Z1JvdXRlcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpbHRlckhlbHBlci5nZXRTdmdQYXRoKHByb3BlcnR5TmFtZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAndXNlckZpbHRlcicgfHwgdHlwZSA9PT0gJ21vZHVsZUZpbHRlcidcIj5cbiAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXJcIj48L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd1c2VyRmlsdGVyJ1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0LWhlYWRlclwiXG4gICAgICBbY2xhc3MuYWN0aXZlU2VhcmNoXT1cImlzU2VhcmNoRXhwYW5kZWRcIlxuICAgICAgW2NsYXNzLmluYWN0aXZlU2VhcmNoXT1cIiFpc1NlYXJjaEV4cGFuZGVkXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiXG4gICAgPlxuICAgICAgPGFwcC1jYS1pbnB1dFxuICAgICAgICBjbGFzcz1cImlucHV0LWZvcm0taG9sZGVyXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoXCJcbiAgICAgICAgW2lucHV0Q29uZmlnXT1cInVzZXJTZWFyY2hcIlxuICAgICAgPjwvYXBwLWNhLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidXNlci1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGdyb3VwIG9mIHVzZXJHcm91cDtcbiAgICAgICAgbGV0IGluZHggPSBpbmRleDtcbiAgICAgICAgdHJhY2tCeTogdHJhY2tCeUlkZW50aXR5XG4gICAgICBcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ1c2VyLWl0ZW1zLWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uR3JvdXBTd2l0Y2hTdGF0ZShncm91cClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJjaGVja2JveC10b29sdGlwXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgW21haW5DYVRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgIChncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLnNvbWVTZWxlY3RlZFxuICAgICAgICAgICAgICAgID8gJ0NsZWFyIHNlbGVjdGVkJ1xuICAgICAgICAgICAgICAgIDogJ0NsZWFyIGdyb3VwJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIHRvb2x0aXBCYWNrZ3JvdW5kPVwiI0NDQ0NDQ1wiXG4gICAgICAgICAgICB0b29sdGlwQ29sb3I9XCIjMkYyRjJGXCJcbiAgICAgICAgICAgIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzPVwibXQtMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY2hlY2tib3hcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBpZD1cImNoZWNrYm94e3sgaW5keCB9fVwiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cIihncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLmFsbFNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiKGdyb3VwIHwgZ3JvdXBTZWxlY3Rpb25TdGF0ZSkuc29tZVNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hTZWxlY3QoJGV2ZW50LCBncm91cClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNoZWNrYm94LWxhYmVsXCJcbiAgICAgICAgICAgICAgZm9yPVwiY2hlY2tib3h7eyBpbmR4IH19XCJcbiAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImhpZGUtdXNlci1ncm91cFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgIHN2Z19yb3RhdGU6ICFncm91cC5pc09wZW4sXG4gICAgICAgICAgICAgIHJvdGF0ZV9iYWNrOiBncm91cC5pc09wZW4sXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnLWljb24gW3NyY109XCJnZXRTdmdQYXRoKCdhcnJvd0ZpbHRlcicpXCI+PC9zdmctaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInVzZXItdGl0bGUtdGV4dCBjb3VudGVyLXBhZGQtdGl0bGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBjYS1mb250LWJvbGRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZ3JvdXAubGFiZWwudG9VcHBlckNhc2UoKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidXNlci1maWx0ZXItYm94IGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBjYS1mb250LWJvbGQgbXMtMVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBncm91cC5pdGVtcyB8IGZpbHRlclNlbGVjdGVkSXRlbXMgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ1c2VyLWdyb3VwLWhvbGRlclwiXG4gICAgICAgIFtjbGFzcy51c2VyLWdyb3VwLXJlZHVjZWQtaG9sZGVyXT1cInR5cGUgPT09ICd1c2VyRmlsdGVyJ1wiXG4gICAgICAgIFtAY2xvc2VGb3JtXT1cImdyb3VwLmlzT3BlblwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBpdGVtIG9mIGdyb3VwLml0ZW1zIHwgc2VsZWN0ZWRVc2VyO1xuICAgICAgICAgICAgbGV0IGluZHgyID0gaW5kZXg7XG4gICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5SWRlbnRpdHlcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBbQGluT3V0QW5pbWF0aW9uXT1cIidpbidcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICB1c2VyVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBpdGVtLCBpbmR4OiBpbmR4LCBpbmR4MjogaW5keDIgfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdyb3VwIHwgZ3JvdXBTZWxlY3Rpb25TdGF0ZSkuc29tZVNlbGVjdGVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXIgYm9yZGVyLXRocmlyZC1tYXJnaW5cIj48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGl0ZW0gb2YgZ3JvdXAuaXRlbXMgfCBzZWxlY3RlZFVzZXI6IHRydWU7XG4gICAgICAgICAgICBsZXQgaW5keDIgPSBpbmRleDtcbiAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJZGVudGl0eVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IFtAaW5PdXRBbmltYXRpb25dPVwiJ2luJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHVzZXJUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7IGl0ZW06IGl0ZW0sIGluZHg6IGluZHgsIGluZHgyOiBpbmR4MiB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlckdyb3VwPy5sZW5ndGggIT09IHNlbGVjdGVkVXNlckdyb3VwPy5sZW5ndGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWZpbHRlclwiPjwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3VzZXJUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5keD1cImluZHhcIiBsZXQtaW5keDI9XCJpbmR4MlwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkLWZsZXhcIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgaXRlbS5pc1NlbGVjdGVkXG4gICAgICAgID8gJ3NlbGVjdGVkLXVzZXItaG9sZGVyIGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbidcbiAgICAgICAgOiAndXNlci1mcmFtZS1ob2xkZXIgYWxpZ24taXRlbXMtY2VudGVyJ1xuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaGlkZGVuXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIChjbGljayk9XCJoYW5kbGVTZWxlY3RlZFVzZXJzKGl0ZW0sIGluZHgsIGluZHgyKVwiXG4gICAgICAgIGNsYXNzPVwidXNlci1tYWluLWhvbGRlciB1c2VyLWZyYW1lLWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICBbY2xhc3MudXNlcl9zdmdfaWNvbl9ob2xkZXJdPVwidHlwZSAhPT0gJ3VzZXJGaWx0ZXInXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd1c2VyRmlsdGVyJzsgZWxzZSBzdmdJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1wcm9maWxlLWltZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uYXZhdGFyOyBlbHNlIGF2YXRhclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgICAgICAgIFtpbmR4XT1cImluZHgyXCJcbiAgICAgICAgICAgICAgICBbdGV4dFNob3J0TmFtZV09XCJnZXRJbml0aWFscyhpdGVtLm5hbWUpXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2FwcC1jYS1wcm9maWxlLWltYWdlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYXZhdGFyVGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInVzZXJfYXZhdGFyXCJcbiAgICAgICAgICAgICAgICBzdHlsZS5iYWNrZ3JvdW5kLWltYWdlPVwidXJsKCd7eyBpdGVtLmF2YXRhciB9fScpXCJcbiAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3ZnSWNvblRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eXBlLWljb24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHN2Zy1pY29uIHNyYz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uaXNTZWxlY3RlZCA/ICdzZWxlY3RlZC11c2VyLWZyYW1lJyA6ICd1c2VyLWZyYW1lJ1wiXG4gICAgICAgICAgW2NsYXNzLnVzZXItZnJhbWUtbm8taWNvbl09XCJ0eXBlICE9PSAndXNlckZpbHRlcidcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLW5hbWUtdGV4dCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8c3Bhbj4ge3sgaXRlbS5uYW1lIH19IDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uY291bnQ7IGVsc2Ugbm9Db3VudFwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudC1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZUNvdW50XT1cIml0ZW0uaXNTZWxlY3RlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0uY291bnQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9Db3VudD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub0NvdW50VGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbTogaXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uaXNTZWxlY3RlZFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRnJvbVNlbGVjdGVkVXNlcihpdGVtLCBpbmR4LCBpbmR4MilcIlxuICAgICAgICAgICAgICBjbGFzcz1cImljb24tZGVsZXRlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIFtjbGFzcy5jb3VudGVyTWFyZ2luXT1cIml0ZW0uY291bnRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1kZWxldGUtaG9sZFwiPjwvZGl2PlxuICAgICAgICAgICAgICA8c3ZnLWljb24gW3NyY109XCJnZXRTdmdQYXRoKCdyZW1vdmVTZWxlY3RlZFZhbHVlJylcIj48L3N2Zy1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gaWYgbm8gY291bnQgZm91bmQgLS0+XG48bmctdGVtcGxhdGUgI25vQ291bnRUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmNvdW50OyBlbHNlIG5vQ291bnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgnaWNvbkNvbmZpcm0nKVwiPjwvc3ZnLWljb24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI25vQ291bnRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiY291bnRlci1ob2xkZXIgYWN0aXZlQ291bnRlclwiPjA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|