@tet/tet-components-angular 1.3.93-testing → 1.3.94-testing
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.
|
@@ -766,11 +766,11 @@ export let TetExpandableInput = class TetExpandableInput {
|
|
|
766
766
|
proxyOutputs(this, this.el, ['before-state-change', 'after-state-change']);
|
|
767
767
|
}
|
|
768
768
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TetExpandableInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
769
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TetExpandableInput, selector: "tet-expandable-input", inputs: { accessibilityLabel: "accessibilityLabel", animationDuration: "animationDuration", class: "class", closeInputText: "closeInputText", closedWidth: "closedWidth", darkMode: "darkMode", disabled: "disabled", error: "error",
|
|
769
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TetExpandableInput, selector: "tet-expandable-input", inputs: { accessibilityLabel: "accessibilityLabel", animationDuration: "animationDuration", class: "class", closeInputText: "closeInputText", closedWidth: "closedWidth", darkMode: "darkMode", disabled: "disabled", error: "error", iconLeft: "iconLeft", iconRight: "iconRight", iconRightClickCallback: "iconRightClickCallback", manualValidation: "manualValidation", mode: "mode", placeholder: "placeholder", size: "size", theme: "theme", validators: "validators", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
770
770
|
};
|
|
771
771
|
TetExpandableInput = __decorate([
|
|
772
772
|
ProxyCmp({
|
|
773
|
-
inputs: ['accessibilityLabel', 'animationDuration', 'class', 'closeInputText', 'closedWidth', 'darkMode', 'disabled', 'error', '
|
|
773
|
+
inputs: ['accessibilityLabel', 'animationDuration', 'class', 'closeInputText', 'closedWidth', 'darkMode', 'disabled', 'error', 'iconLeft', 'iconRight', 'iconRightClickCallback', 'manualValidation', 'mode', 'placeholder', 'size', 'theme', 'validators', 'value'],
|
|
774
774
|
methods: ['getInputHtmlElement', 'getErrors', 'validateInput', 'setState', 'clear']
|
|
775
775
|
})
|
|
776
776
|
], TetExpandableInput);
|
|
@@ -781,7 +781,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
781
781
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
782
782
|
template: '<ng-content></ng-content>',
|
|
783
783
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
784
|
-
inputs: ['accessibilityLabel', 'animationDuration', 'class', 'closeInputText', 'closedWidth', 'darkMode', 'disabled', 'error', '
|
|
784
|
+
inputs: ['accessibilityLabel', 'animationDuration', 'class', 'closeInputText', 'closedWidth', 'darkMode', 'disabled', 'error', 'iconLeft', 'iconRight', 'iconRightClickCallback', 'manualValidation', 'mode', 'placeholder', 'size', 'theme', 'validators', 'value'],
|
|
785
785
|
}]
|
|
786
786
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
787
787
|
export let TetExpansionPanel = class TetExpansionPanel {
|
|
@@ -1697,4 +1697,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1697
1697
|
inputs: ['doNotShowOnHover', 'hoverElement', 'position', 'targetElementSelector', 'theme'],
|
|
1698
1698
|
}]
|
|
1699
1699
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1700
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RldC1jb21wb25lbnRzLWFuZ3VsYXIvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCaEUsV0FBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFlBQVk7a0dBQVosWUFBWSx5VkFKYiwyQkFBMkI7O0FBSTFCLFlBQVk7SUFYeEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUM7UUFDOUosT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztLQUM3RCxDQUFDO0dBUVcsWUFBWSxDQU14QjsyRkFOWSxZQUFZO2tCQVB4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVB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QUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxVQUFVO2tHQUFWLFVBQVUseU5BSlgsMkJBQTJCOztBQUkxQixVQUFVO0lBWHRCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO1FBQzFGLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO0tBQ3BDLENBQUM7R0FRVyxVQUFVLENBTXRCOzJGQU5ZLFVBQVU7a0JBUHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO2lCQUMzRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ2hlYWRlcicsICdoZWFkZXJJbWFnZUFsdCcsICdoZWFkZXJJbWFnZVNyYycsICdoZWFkaW5nVGFnJywgJ2lzT3BlbicsICd0aGVtZScsICd0cmFuc3BhcmVudEJhY2tncm91bmQnLCAnd2l0aEF1dG9TY3JvbGwnLCAnd2l0aEJvcmRlciddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnLCAndG9nZ2xlJywgJ2dldFN0YXRlJywgJ3NldFN0YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ2hlYWRlcicsICdoZWFkZXJJbWFnZUFsdCcsICdoZWFkZXJJbWFnZVNyYycsICdoZWFkaW5nVGFnJywgJ2lzT3BlbicsICd0aGVtZScsICd0cmFuc3BhcmVudEJhY2tncm91bmQnLCAnd2l0aEF1dG9TY3JvbGwnLCAnd2l0aEJvcmRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlRldEFjY29yZGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXRhbG9nJywgJ2NhdGVnb3J5JywgJ2NsZWFyRmlsdGVyQnV0dG9uJywgJ2xhbmd1YWdlJywgJ3Byb2R1Y3RDb2RlcycsICdzdWJjYXRlZ29yeUlkJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWRkcmVzcy1vZmZlcnMtZmlsdGVycy1wcm9kdWN0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2F0YWxvZycsICdjYXRlZ29yeScsICdjbGVhckZpbHRlckJ1dHRvbicsICdsYW5ndWFnZScsICdwcm9kdWN0Q29kZXMnLCAnc3ViY2F0ZWdvcnlJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBZGRyZXNzT2ZmZXJzRmlsdGVyc1Byb2R1Y3RzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWN0aXZlRmlsdGVyc0NoYW5nZWQnLCAnZmlsdGVyZWRQcm9kdWN0c0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QWRkcmVzc09mZmVyc0ZpbHRlcnNQcm9kdWN0cyBleHRlbmRzIENvbXBvbmVudHMuVGV0QWRkcmVzc09mZmVyc0ZpbHRlcnNQcm9kdWN0cyB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYWN0aXZlIGZpbHRlcnMgY2hhbmdlLCBzZW5kaW5nIGFycmF5IG9mIGFjdGl2ZSBmaWx0ZXIgSURzLlxuICAgKi9cbiAgYWN0aXZlRmlsdGVyc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmdbXT4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGZpbHRlcmVkIHByb2R1Y3RzIGNoYW5nZSwgc2VuZGluZyBzdWJjYXRlZ29yeSBJRCBhbmQgYXJyYXkgb2YgZmlsdGVyZWQgcHJvZHVjdCBJRHMuXG4gICAqL1xuICBmaWx0ZXJlZFByb2R1Y3RzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc3ViY2F0ZWdvcnlJZDogc3RyaW5nOyBmaWx0ZXJlZFByb2R1Y3RJZHM6IHN0cmluZ1tdIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2FkZHJlc3NLZXknLCAnY2xvc2VCdXR0b25UZXh0JywgJ2lucHV0RGlzYWJsZWQnLCAnaXNJbnB1dEludmFsaWQnLCAnbGFiZWwnLCAnbGFuZ3VhZ2UnLCAnbWFudWFsQWRkcmVzc1RyaWdnZXJzJywgJ21pblNlYXJjaEtleXdvcmRMZW5ndGgnLCAnbmV3Rm9ybXNTdHlsZScsICduZXdTdHlsZScsICdwbGFjZWhvbGRlcicsICdyZWRlc2lnbmVkU3R5bGUnLCAnc2VhcmNoQnV0dG9uVGV4dCcsICd0aGVtZSddLFxuICBtZXRob2RzOiBbJ3Jlc2V0SW5wdXRTdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFkZHJlc3Mtc2VhcmNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYWRkcmVzc0tleScsICdjbG9zZUJ1dHRvblRleHQnLCAnaW5wdXREaXNhYmxlZCcsICdpc0lucHV0SW52YWxpZCcsICdsYWJlbCcsICdsYW5ndWFnZScsICdtYW51YWxBZGRyZXNzVHJpZ2dlcnMnLCAnbWluU2VhcmNoS2V5d29yZExlbmd0aCcsICduZXdGb3Jtc1N0eWxlJywgJ25ld1N0eWxlJywgJ3BsYWNlaG9sZGVyJywgJ3JlZGVzaWduZWRTdHlsZScsICdzZWFyY2hCdXR0b25UZXh0JywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEFkZHJlc3NTZWFyY2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydhZGRyZXNzU2VsZWN0ZWQnLCAnY2xlYXJJbnB1dEZpZWxkJywgJ21hbnVhbEFkZHJlc3NJbnB1dCcsICdzZWFyY2hTdWJtaXR0ZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEFkZHJlc3NJbnRlcmZhY2UgYXMgSVRldEFkZHJlc3NTZWFyY2hBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBZGRyZXNzU2VhcmNoIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBZGRyZXNzU2VhcmNoIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGFuIGFkZHJlc3MgdmlhIGF1dG9jb21wbGV0ZS5cbiAgICovXG4gIGFkZHJlc3NTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBZGRyZXNzU2VhcmNoQWRkcmVzc0ludGVyZmFjZT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBmaWVsZCBpcyBjbGVhcmVkIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBjbGVhcklucHV0RmllbGQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBtYW51YWwgYWRkcmVzcyBpbnB1dCBvcHRpb24uXG4gICAqL1xuICBtYW51YWxBZGRyZXNzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIHNlYXJjaCBidXR0b24uXG4gICAqL1xuICBzZWFyY2hTdWJtaXR0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFzc2V0LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsaXN0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2FkZHJlc3NTZWFyY2hMYWJlbCcsICdhZGRyZXNzU2VhcmNoUGxhY2Vob2xkZXInLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWyd1bnNlbGVjdEFzc2V0QWRkcmVzc2VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXNzZXQtYXZhaWxhYmlsaXR5LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEF2YWlsYWJpbGl0eUFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsc2l0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyQ2FsbGJhY2snLCAnZGFya1RoZW1lJywgJ2RlZmF1bHRPcHRpb25zJywgJ2ZpbmlzaGVkTG9hZGluZycsICdoaWdobGlnaHRPcHRpb25zS2V5d29yZCcsICduZXdTdHlsZScsICdub09wdGlvbnNNZXNzYWdlJywgJ25vT3B0aW9uc1JlbmRlckZ1bmN0aW9uJywgJ29wdGlvbnNGaWx0ZXJBY3Rpb24nLCAnb3B0aW9uc0ljb24nLCAncmVkZXNpZ25lZFN0eWxlJywgJ3Nob3dPcHRpb25zT25Fc2NhcGVDbGVhcicsICd0eXBpbmdEZWJvdW5jZVRpbWUnXSxcbiAgbWV0aG9kczogWydjbGVhcicsICdmb2N1c09uTmF0aXZlSW5wdXQnLCAnc2VsZWN0T3B0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXV0b2NvbXBsZXRlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGVhckNhbGxiYWNrJywgJ2RhcmtUaGVtZScsICdkZWZhdWx0T3B0aW9ucycsICdmaW5pc2hlZExvYWRpbmcnLCAnaGlnaGxpZ2h0T3B0aW9uc0tleXdvcmQnLCAnbmV3U3R5bGUnLCAnbm9PcHRpb25zTWVzc2FnZScsICdub09wdGlvbnNSZW5kZXJGdW5jdGlvbicsICdvcHRpb25zRmlsdGVyQWN0aW9uJywgJ29wdGlvbnNJY29uJywgJ3JlZGVzaWduZWRTdHlsZScsICdzaG93T3B0aW9uc09uRXNjYXBlQ2xlYXInLCAndHlwaW5nRGVib3VuY2VUaW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF1dG9jb21wbGV0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ29wdGlvblNlbGVjdGVkJywgJ2FjdGl2ZUNvbXBvbmVudFN0YXRlQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgT3B0aW9uSW50ZXJmYWNlIGFzIElUZXRBdXRvY29tcGxldGVPcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF1dG9jb21wbGV0ZSBleHRlbmRzIENvbXBvbmVudHMuVGV0QXV0b2NvbXBsZXRlIHtcbiAgLyoqXG4gICAqIFRoZSBhdXRvY29tcGxldGUgb3B0aW9uIHNlbGVjdGlvbiBldmVudC5cbiAgICovXG4gIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEF1dG9jb21wbGV0ZU9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogRW1pdHMgXCJ0ZXQtYXV0b2NvbXBsZXRlXCIgdW5pcXVlIGlkLCB3aGVuIGFuIGF0dGVtcHQgdG8gb3BlbiBzZWxlY3Rpb24gb3B0aW9ucyBpcyBpZGVudGlmaWVkLlxuICAgKi9cbiAgYWN0aXZlQ29tcG9uZW50U3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nIHwgbnVsbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0T3B0aW9uJywgJ2Vycm9yTWVzc2FnZScsICdoYXNFcnJvcicsICdsYWJlbCcsICdub09wdGlvbnNNZXNzYWdlJywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWydjbGVhcklucHV0JywgJ2ZvY3VzT25OYXRpdmVJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWF1dG9jb21wbGV0ZS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdE9wdGlvbicsICdlcnJvck1lc3NhZ2UnLCAnaGFzRXJyb3InLCAnbGFiZWwnLCAnbm9PcHRpb25zTWVzc2FnZScsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF1dG9jb21wbGV0ZURyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb3B0aW9uU2VsZWN0ZWQnLCAnaW5wdXRWYWx1ZUNsZWFyZWQnLCAnaW5wdXRWYWx1ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE9wdGlvbkludGVyZmFjZSBhcyBJVGV0QXV0b2NvbXBsZXRlRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF1dG9jb21wbGV0ZURyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBdXRvY29tcGxldGVEcm9wZG93biB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBhbiBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBdXRvY29tcGxldGVEcm9wZG93bk9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGlzIGNsZWFyZWQuXG4gICAqL1xuICBpbnB1dFZhbHVlQ2xlYXJlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBvcHRpb24gaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICovXG4gIGlucHV0VmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93QXZhaWxhYmlsaXR5Q29udGFjdEZvcm0nLCAnc2hvd0lucHV0TGFiZWwnLCAnc2hvd1RpdGxlJywgJ3N1Ym1pdEJ1dHRvblByb3BzJywgJ3N1YnRpdGxlJywgJ3N1Y2Nlc3MnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1hdmFpbGFiaWxpdHktY29udGFjdC1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnbGFuZ3VhZ2UnLCAnc2hvd0F2YWlsYWJpbGl0eUNvbnRhY3RGb3JtJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICdzdWNjZXNzJywgJ3Rhc2tPcHRpb25zJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGFza0NyZWF0aW9uU3VjY2VzcycsICd0YXNrQ3JlYXRpb25GYWlsZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXZhaWxhYmlsaXR5Q29udGFjdEZvcm0gZXh0ZW5kcyBDb21wb25lbnRzLlRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGlmIHRoZSB0YXNrIGNyZWF0aW9uIHdhcyBzdWNjZXNzZnVsLlxuICAgKi9cbiAgdGFza0NyZWF0aW9uU3VjY2VzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgaWYgdGhlIHRhc2sgY3JlYXRpb24gZmFpbGVkLlxuICAgKi9cbiAgdGFza0NyZWF0aW9uRmFpbGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb3VudCcsICdpc1NlbGVjdGVkJywgJ29wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1iMmItY29tcGFyZS1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb3VudCcsICdpc1NlbGVjdGVkJywgJ29wdGlvbnMnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QjJiQ29tcGFyZUNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjb3VudENoYW5nZScsICdzZWxlY3RlZENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQjJiQ2FyZFVwZGF0ZUV2ZW50IGFzIElUZXRCMmJDb21wYXJlQ2FyZEIyYkNhcmRVcGRhdGVFdmVudCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QjJiQ29tcGFyZUNhcmQgZXh0ZW5kcyBDb21wb25lbnRzLlRldEIyYkNvbXBhcmVDYXJkIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjaGFuZ2VzIHRoZSBxdWFudGl0eSBjb3VudGVyIHZhbHVlIGFuZCBzdWJtaXRzOyBvciBvbiBjYXJkIGNsb3NlIGV2ZW50LiBAZXZlbnQgdW5kZWZpbmVkXG4gICAqL1xuICBjb3VudENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRCMmJDb21wYXJlQ2FyZEIyYkNhcmRVcGRhdGVFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjYXJkIGlzIGNsaWNrZWQgdG8gY2hhbmdlIGl0cyBzZWxlY3RlZCBzdGF0ZSBAZXZlbnQgdW5kZWZpbmVkXG4gICAqL1xuICBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZHVyYXRpb24nLCAnbGFuZ3VhZ2UnLCAnbW9iaWxlTGF5b3V0JywgJ3BhdXNlZCcsICdzbGlkZXMnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWydwYXVzZScsICdwbGF5JywgJ2dvVG8nLCAnbmV4dCcsICdwcmV2aW91cycsICdnZXRDdXJyZW50U2xpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1iYW5uZXItbmF2JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkdXJhdGlvbicsICdsYW5ndWFnZScsICdtb2JpbGVMYXlvdXQnLCAncGF1c2VkJywgJ3NsaWRlcycsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCYW5uZXJOYXYge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzbGlkZUNoYW5nZScsICdwYXVzZVN0YXRlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJhbm5lck5hdiBleHRlbmRzIENvbXBvbmVudHMuVGV0QmFubmVyTmF2IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBzbGlkZSBjaGFuZ2VzXG4gICAqL1xuICBzbGlkZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgaW5kZXg6IG51bWJlcjsgcHJldmlvdXNJbmRleDogbnVtYmVyOyBzb3VyY2UgOiBzdHJpbmcgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHBhdXNlIHN0YXRlIGNoYW5nZXNcbiAgICovXG4gIHBhdXNlU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHBhdXNlZDogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2RhdGEnLCAnZGF0YU9yZGVyJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAncGFyZW50Q29udGFpbmVyJywgJ3NpemUnLCAndGhlbWUnLCAndmFsdWVQb3NpdGlvbicsICd2YWx1ZVVuaXQnLCAnd2l0aEdyaWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1iYXItZ3JhcGgnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2RhdGEnLCAnZGF0YU9yZGVyJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAncGFyZW50Q29udGFpbmVyJywgJ3NpemUnLCAndGhlbWUnLCAndmFsdWVQb3NpdGlvbicsICd2YWx1ZVVuaXQnLCAnd2l0aEdyaWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QmFyR3JhcGgge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRCYXJHcmFwaCBleHRlbmRzIENvbXBvbmVudHMuVGV0QmFyR3JhcGgge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWRkcmVzc0tleScsICdsYW5ndWFnZScsICdzaG93SGVhZGluZ3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1idXNpbmVzcy1saW5lcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkcmVzc0tleScsICdsYW5ndWFnZScsICdzaG93SGVhZGluZ3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QnVzaW5lc3NMaW5lcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2J1c2luZXNzTGluZVNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBCdXNpbmVzc0xpbmUgYXMgSVRldEJ1c2luZXNzTGluZXNCdXNpbmVzc0xpbmUgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1c2luZXNzTGluZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEJ1c2luZXNzTGluZXMge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIGJ1c2luZXNzIGxpbmUgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBidXNpbmVzc0xpbmVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRCdXNpbmVzc0xpbmVzQnVzaW5lc3NMaW5lPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xheW91dCcsICdzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJ1c2luZXNzLXJvdW5kLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xheW91dCcsICdzdGVwcGVyRGF0YScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCdXNpbmVzc1JvdW5kU3RlcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1c2luZXNzUm91bmRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCdXNpbmVzc1JvdW5kU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2xpY2tDYWxsYmFjaycsICdkaXNhYmxlZCcsICdlbGVtZW50SWQnLCAnaWNvbk1vZGUnLCAnaWNvbk5hbWUnLCAnaWNvblBvc2l0aW9uJywgJ3NpemUnLCAndGhlbWUnLCAndHlwZScsICd1cmwnLCAndXJsVGFyZ2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2xpY2tDYWxsYmFjaycsICdkaXNhYmxlZCcsICdlbGVtZW50SWQnLCAnaWNvbk1vZGUnLCAnaWNvbk5hbWUnLCAnaWNvblBvc2l0aW9uJywgJ3NpemUnLCAndGhlbWUnLCAndHlwZScsICd1cmwnLCAndXJsVGFyZ2V0J10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuVGV0QnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvbkNsYXNzJywgJ2J1dHRvbkljb25MZWZ0JywgJ2J1dHRvbkljb25SaWdodCcsICdjb250YWluZXJDbGFzcycsICdkb3RDbGFzcycsICdzaG93QnV0dG9ucycsICdzaG93RG90cycsICdzd2lwZVRocmVzaG9sZCcsICd0aGVtZScsICd0cmFja0NsYXNzJywgJ3RyYW5zaXRpb25EdXJhdGlvbicsICd0cmFuc2l0aW9uVGltaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2Fyb3VzZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkNsYXNzJywgJ2J1dHRvbkljb25MZWZ0JywgJ2J1dHRvbkljb25SaWdodCcsICdjb250YWluZXJDbGFzcycsICdkb3RDbGFzcycsICdzaG93QnV0dG9ucycsICdzaG93RG90cycsICdzd2lwZVRocmVzaG9sZCcsICd0aGVtZScsICd0cmFja0NsYXNzJywgJ3RyYW5zaXRpb25EdXJhdGlvbicsICd0cmFuc2l0aW9uVGltaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENhcm91c2VsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2Fyb3VzZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldENhcm91c2VsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Q2hlY2tlZCcsICdzZXRJbmRldGVybWluYXRlJywgJ3NldEVycm9yJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2hlY2tib3gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2hlY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IENoZWNrYm94Q2hlY2tFdmVudEludGVyZmFjZSBhcyBJVGV0Q2hlY2tib3hDaGVja2JveENoZWNrRXZlbnRJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDaGVja2JveCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldENoZWNrYm94Q2hlY2tib3hDaGVja0V2ZW50SW50ZXJmYWNlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ2xvYWRpbmcnLCAncHJpdmFjeVBvbGljeUxpbmtVcmwnLCAnc2hvd092ZXJsYXknXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2xvdWQtYXBwbGljYXRpb24tZm9ybS1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ2xvYWRpbmcnLCAncHJpdmFjeVBvbGljeUxpbmtVcmwnLCAnc2hvd092ZXJsYXknXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q2xvdWRBcHBsaWNhdGlvbkZvcm1EaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdWJtaXR0ZWQnLCAnY2xvc2VEaWFsb2cnLCAnb3BlbkRpYWxvZyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGEgYXMgSVRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFwcGxpY2F0aW9uIGZvcm0gaXMgc3VjY2Vzc2Z1bGx5IHN1Ym1pdHRlZC5cbiAgICovXG4gIHN1Ym1pdHRlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZ1RldEFwcGxpY2F0aW9uRm9ybURpYWxvZ1N1Ym1pc3Npb25EYXRhPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCBvbiB0aGUgYGNsb3NlYCBpY29uIGNsaWNrLCBvdmVybGF5IGNsaWNrIG9yIHRoZSBgZXNjYCBrZXkgcHJlc3MuXG4gICAqL1xuICBjbG9zZURpYWxvZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWQuXG4gICAqL1xuICBvcGVuRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZXJTZWxlY3RvcicsICdsYW5ndWFnZScsICdzZWxlY3RPbkZvY3VzJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2xvdWQtY29uZmlndXJhdG9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250YWluZXJTZWxlY3RvcicsICdsYW5ndWFnZScsICdzZWxlY3RPbkZvY3VzJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENsb3VkQ29uZmlndXJhdG9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xvdWRDYWxjdWxhdG9yU3VibWl0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENsb3VkQ29uZmlndXJhdG9yIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDbG91ZENvbmZpZ3VyYXRvciB7XG4gIC8qKlxuICAgKiBUaGUgc3VibWl0IGV2ZW50IG9mIHRoZSBmb3JtLlxuICAgKi9cbiAgY2xvdWRDYWxjdWxhdG9yU3VibWl0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jb250YWN0LWZvcm0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q29udGFjdEZvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0YXNrQ3JlYXRpb25TdWNjZXNzJywgJ3Rhc2tDcmVhdGlvbkZhaWxlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRDb250YWN0Rm9ybSBleHRlbmRzIENvbXBvbmVudHMuVGV0Q29udGFjdEZvcm0ge1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgaWYgdGhlIHRhc2sgY3JlYXRpb24gd2FzIHN1Y2Nlc3NmdWwuXG4gICAqL1xuICB0YXNrQ3JlYXRpb25TdWNjZXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBpZiB0aGUgdGFzayBjcmVhdGlvbiBmYWlsZWQuXG4gICAqL1xuICB0YXNrQ3JlYXRpb25GYWlsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGFjdEJsb2NrcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWNvbnRhY3QtaW5mbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGFjdEJsb2NrcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDb250YWN0SW5mbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhY3RJbmZvIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDb250YWN0SW5mbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWdobGlnaHRhYmxlJywgJ3NlbGVjdGVkJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWdobGlnaHRhYmxlJywgJ3NlbGVjdGVkJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuVGV0Q29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2RhcmtUaGVtZScsICdncm91cEJ5QWRkcmVzcycsICdoaWRlQXNzZXRzJywgJ2xvYWRlckVsZW1lbnRzQ291bnQnLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAnc2luZ2xlTG9hZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY3VzdG9tZXItYXNzZXRzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NUb2tlbicsICdkYXJrVGhlbWUnLCAnZ3JvdXBCeUFkZHJlc3MnLCAnaGlkZUFzc2V0cycsICdsb2FkZXJFbGVtZW50c0NvdW50JywgJ3BpZCcsICdzYWxlc2ZvcmNlQWNjb3VudElkJywgJ3NpbmdsZUxvYWRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDdXN0b21lckFzc2V0cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0U2VsZWN0ZWQnLCAnYXNzZXRzVXBkYXRlZCcsICdjdXN0b21lck5vdEZvdW5kJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDdXN0b21lckFzc2V0IGFzIElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyQXNzZXQgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tZXJOb3RGb3VuZCBhcyBJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lck5vdEZvdW5kIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRDdXN0b21lckFzc2V0cyBleHRlbmRzIENvbXBvbmVudHMuVGV0Q3VzdG9tZXJBc3NldHMge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHVzZXIgc2VsZWN0cyBhbiBhc3NldC5cbiAgICovXG4gIGFzc2V0U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lckFzc2V0Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFzc2V0cyBjaGFuZ2UuXG4gICAqL1xuICBhc3NldHNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEN1c3RvbWVyQXNzZXRzQ3VzdG9tZXJBc3NldFtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnZGF0ZXBpY2tlclZpZXcnLCAnaXNPcGVuJywgJ2xvY2FsZScsICdvdmVybGF5RWZmZWN0JywgJ3JhbmdlUGlja2VyTW9kZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUlzT3BlbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnZGF0ZXBpY2tlclZpZXcnLCAnaXNPcGVuJywgJ2xvY2FsZScsICdvdmVybGF5RWZmZWN0JywgJ3JhbmdlUGlja2VyTW9kZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZGF0ZUNoYW5nZWQnLCAncmFuZ2VEYXRlc0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBkYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gYXQgbGVhc3Qgb25lIG9mIHRoZSByYW5nZSBkYXRlcyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIHJhbmdlRGF0ZXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZVtdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGVwaWNrZXJWaWV3JywgJ2ludGVybmFsRGF0ZScsICdsb2NhbGUnLCAnc2VsZWN0ZWREYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGF0ZXBpY2tlci1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGVwaWNrZXJWaWV3JywgJ2ludGVybmFsRGF0ZScsICdsb2NhbGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJWaWV3Q2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclZpZXcgYXMgSVRldERhdGVwaWNrZXJIZWFkZXJEYXRlcGlja2VyVmlldyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlckhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlckhlYWRlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgdmlldyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VySGVhZGVyRGF0ZXBpY2tlclZpZXc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3JhbmdlRGF0ZXMnLCAncmFuZ2VQaWNrZXJNb2RlJywgJ3NlbGVjdGVkRGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXItbW9udGgtdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3JhbmdlRGF0ZXMnLCAncmFuZ2VQaWNrZXJNb2RlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyTW9udGhWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW50ZXJuYWxEYXRlQ2hhbmdlZCcsICdkYXRlQ2hhbmdlZCcsICdkYXRlcGlja2VyQ2xvc2VkJywgJ3JhbmdlRGF0ZVNldCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclJhbmdlU2V0RGF0YSBhcyBJVGV0RGF0ZXBpY2tlck1vbnRoVmlld0RhdGVwaWNrZXJSYW5nZVNldERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERhdGVwaWNrZXJNb250aFZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJNb250aFZpZXcge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgaW50ZXJuYWwgZGF0ZSB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGludGVybmFsRGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlPj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBkYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgd2lsbCBiZSBjbG9zZWQuXG4gICAqL1xuICBkYXRlcGlja2VyQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiBvbmUgb2YgdGhlIHJhbmdlIGRhdGVzIHdpbGwgYmUgc2V0LlxuICAgKi9cbiAgcmFuZ2VEYXRlU2V0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJNb250aFZpZXdEYXRlcGlja2VyUmFuZ2VTZXREYXRhPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludGVybmFsRGF0ZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLW11bHRpLXllYXItdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ludGVybmFsRGF0ZUNoYW5nZWQnLCAnZGF0ZXBpY2tlclZpZXdDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyVmlldyBhcyBJVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXdEYXRlcGlja2VyVmlldyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJNdWx0aVllYXJWaWV3IHtcbiAgLyoqXG4gICAqIEludGVybmFsIGRhdGUgY2hhbmdlZCBldmVudC5cbiAgICovXG4gIGludGVybmFsRGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlPj47XG4gIC8qKlxuICAgKiBEYXRlcGlja2VyIHZpZXcgY2hhbmdlZCBldmVudC5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlld0RhdGVwaWNrZXJWaWV3Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludGVybmFsRGF0ZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLXllYXItdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyWWVhclZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJWaWV3Q2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclZpZXcgYXMgSVRldERhdGVwaWNrZXJZZWFyVmlld0RhdGVwaWNrZXJWaWV3IH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VyWWVhclZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJZZWFyVmlldyB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgdmlldyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VyWWVhclZpZXdEYXRlcGlja2VyVmlldz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZU9uRXNjYXBlJywgJ2Nsb3NlT25PdmVybGF5Q2xpY2snLCAnZm9vdGVyRGlzcGxheScsICdoZWFkZXJUaXRsZScsICdoaWRlQ2xvc2VCdXR0b24nLCAnaGlkZUhlYWRlcicsICdpc09wZW4nLCAncHJldmVudERlZmF1bHRDbG9zZScsICdzaG93SGVhZGVyRGl2aWRlcicsICd0aGVtZScsICd0aXRsZUlkJ10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VPbkVzY2FwZScsICdjbG9zZU9uT3ZlcmxheUNsaWNrJywgJ2Zvb3RlckRpc3BsYXknLCAnaGVhZGVyVGl0bGUnLCAnaGlkZUNsb3NlQnV0dG9uJywgJ2hpZGVIZWFkZXInLCAnaXNPcGVuJywgJ3ByZXZlbnREZWZhdWx0Q2xvc2UnLCAnc2hvd0hlYWRlckRpdmlkZXInLCAndGhlbWUnLCAndGl0bGVJZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZURpYWxvZycsICdvcGVuRGlhbG9nJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERpYWxvZyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGlhbG9nIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIG9uIHRoZSBgY2xvc2VgIGljb24gY2xpY2ssIG92ZXJsYXkgY2xpY2sgb3IgdGhlIGBlc2NgIGtleSBwcmVzcy5cbiAgICovXG4gIGNsb3NlRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlbmVkLlxuICAgKi9cbiAgb3BlbkRpYWxvZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXZlbnRUeXBlOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd011bHRpcGxlJywgJ2J1dHRvbkxhYmVsJywgJ2Nsb3NlT25TZWxlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZmxleExheW91dCcsICdsYWJlbCcsICdsYWJlbExvZ28nLCAnbGFiZWxMb2dvR3JheXNjYWxlJywgJ2xhYmVsUmlnaHQnLCAnbGFiZWxSaWdodENvbG9yJywgJ2xhYmVsU3ViVGV4dCcsICdvcHRpb25zJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsnZ2V0U2VsZWN0ZWRPcHRpb25zJywgJ3NlbGVjdE9wdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvd011bHRpcGxlJywgJ2J1dHRvbkxhYmVsJywgJ2Nsb3NlT25TZWxlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZmxleExheW91dCcsICdsYWJlbCcsICdsYWJlbExvZ28nLCAnbGFiZWxMb2dvR3JheXNjYWxlJywgJ2xhYmVsUmlnaHQnLCAnbGFiZWxSaWdodENvbG9yJywgJ2xhYmVsU3ViVGV4dCcsICdvcHRpb25zJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb3B0aW9uU2VsZWN0ZWQnLCAnb3B0aW9uQ2hlY2tlZCcsICdvcHRpb25zQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgYXMgSVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2UgYXMgSVRldERyb3Bkb3duU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREcm9wZG93biB7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuZXZlciBhIHNpbmdsZSBvcHRpb24gaXMgc2VsZWN0ZWQgYW5kIHJldHVybnMgdGhlIG9wdGlvbi5cbiAgICovXG4gIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGEgbXVsdGktc2VsZWN0YWJsZSBvcHRpb24gaXMgY2hlY2tlZC91bmNoZWNrZWQuXG4gICAqL1xuICBvcHRpb25DaGVja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGFuIG9wdGlvbiBpcyBjaGFuZ2VkIGFuZCByZXR1cm5zIGEgbGlzdCBvZiBhbGwgc2VsZWN0ZWQgb3B0aW9ucy5cbiAgICovXG4gIG9wdGlvbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2VbXT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXJkVGl0bGUnLCAnZGF0ZVRhZycsICdkYXRlVGFnQ29sb3JEYXJrJywgJ2RhdGVUYWdDb2xvckxpZ2h0JywgJ2luZGV4JywgJ2lzSW5DYXJvdXNlbCcsICdsaW5rSHJlZicsICdsaW5rTmV3VGFiJywgJ2xpbmtUZXh0JywgJ2xpbmtUeXBlJywgJ21vZGFsSWQnLCAncGljdHVyZUxheW91dFNoaWZ0UG9zaXRpb24nLCAncHJpY2VUYWdPcHRpb25zJywgJ3NpemUnLCAnc2l6ZUNoYW5nZUJyZWFrcG9pbnQnLCAnc3VidGl0bGUnLCAndGFncycsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWR5bmFtaWMtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FyZFRpdGxlJywgJ2RhdGVUYWcnLCAnZGF0ZVRhZ0NvbG9yRGFyaycsICdkYXRlVGFnQ29sb3JMaWdodCcsICdpbmRleCcsICdpc0luQ2Fyb3VzZWwnLCAnbGlua0hyZWYnLCAnbGlua05ld1RhYicsICdsaW5rVGV4dCcsICdsaW5rVHlwZScsICdtb2RhbElkJywgJ3BpY3R1cmVMYXlvdXRTaGlmdFBvc2l0aW9uJywgJ3ByaWNlVGFnT3B0aW9ucycsICdzaXplJywgJ3NpemVDaGFuZ2VCcmVha3BvaW50JywgJ3N1YnRpdGxlJywgJ3RhZ3MnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RHluYW1pY0NhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZXREeW5hbWljQ2FyZENsaWNrRXZlbnQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RHluYW1pY0NhcmQgZXh0ZW5kcyBDb21wb25lbnRzLlRldER5bmFtaWNDYXJkIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY2FyZCBpcyBjbGlja2VkXG4gICAqL1xuICB0ZXREeW5hbWljQ2FyZENsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhbmltYXRpb25EdXJhdGlvbicsICdjbGFzcycsICdjbG9zZUlucHV0VGV4dCcsICdjbG9zZWRXaWR0aCcsICdkYXJrTW9kZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uQ2xvc2VkJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAnc2l6ZScsICd0aGVtZScsICd0eXBlJywgJ3ZhbGlkYXRvcnMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydnZXRJbnB1dEh0bWxFbGVtZW50JywgJ2dldEVycm9ycycsICd2YWxpZGF0ZUlucHV0JywgJ3NldFN0YXRlJywgJ2NsZWFyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZXhwYW5kYWJsZS1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2NsYXNzJywgJ2Nsb3NlSW5wdXRUZXh0JywgJ2Nsb3NlZFdpZHRoJywgJ2RhcmtNb2RlJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2ljb25DbG9zZWQnLCAnaWNvbkxlZnQnLCAnaWNvbkxlZnRDbGlja0NhbGxiYWNrJywgJ2ljb25SaWdodCcsICdpY29uUmlnaHRDbGlja0NhbGxiYWNrJywgJ2xhYmVsJywgJ21hbnVhbFZhbGlkYXRpb24nLCAnbW9kZScsICdwbGFjZWhvbGRlcicsICdzaXplJywgJ3RoZW1lJywgJ3R5cGUnLCAndmFsaWRhdG9ycycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRFeHBhbmRhYmxlSW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiZWZvcmUtc3RhdGUtY2hhbmdlJywgJ2FmdGVyLXN0YXRlLWNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3RhdGVDaGFuZ2VJbnRlcmZhY2UgYXMgSVRldEV4cGFuZGFibGVJbnB1dFN0YXRlQ2hhbmdlSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRFeHBhbmRhYmxlSW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLlRldEV4cGFuZGFibGVJbnB1dCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBiZWZvcmUgdGhlIHN0YXJ0IG9mIHRoZSBleHBhbmRpbmcgb3Igc2hyaW5raW5nIGFuaW1hdGlvbiBvZiB0aGUgaW5wdXQuXG4gICAqL1xuICAnYmVmb3JlLXN0YXRlLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RXhwYW5kYWJsZUlucHV0U3RhdGVDaGFuZ2VJbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGFmdGVyIHRoZSBlbmQgb2YgdGhlIGV4cGFuZGluZyBvciBzaHJpbmtpbmcgYW5pbWF0aW9uIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gICdhZnRlci1zdGF0ZS1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEV4cGFuZGFibGVJbnB1dFN0YXRlQ2hhbmdlSW50ZXJmYWNlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2luaXRpYWxTdGF0ZScsICd0b2dnbGVFbGVtZW50J10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZScsICd0b2dnbGUnLCAnZ2V0U3RhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1leHBhbnNpb24tcGFuZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2luaXRpYWxTdGF0ZScsICd0b2dnbGVFbGVtZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEV4cGFuc2lvblBhbmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RXhwYW5zaW9uUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldEV4cGFuc2lvblBhbmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyRmlsdGVyQnV0dG9uVGl0bGUnLCAnc2hvd0NsZWFyRmlsdGVyQnV0dG9uJywgJ3RhZ3MnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1maWx0ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsZWFyRmlsdGVyQnV0dG9uVGl0bGUnLCAnc2hvd0NsZWFyRmlsdGVyQnV0dG9uJywgJ3RhZ3MnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RmlsdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZmlsdGVyQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJTdGF0ZSBhcyBJVGV0RmlsdGVyRmlsdGVyU3RhdGUgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEZpbHRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RmlsdGVyIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gZmlsdGVycyBjaGFuZ2VcbiAgICovXG4gIGZpbHRlckNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRGaWx0ZXJGaWx0ZXJTdGF0ZVtdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdmb2N1c2FibGUnLCAnbmFtZScsICd0aGVtZScsICd0eXBlJywgJ3VzZURlZmF1bHRDb2xvciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdmb2N1c2FibGUnLCAnbmFtZScsICd0aGVtZScsICd0eXBlJywgJ3VzZURlZmF1bHRDb2xvciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0SWNvbiBleHRlbmRzIENvbXBvbmVudHMuVGV0SWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0aGVtZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtaW5saW5lLW1lc3NhZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3RoZW1lJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0SW5saW5lTWVzc2FnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldElubGluZU1lc3NhZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlRldElubGluZU1lc3NhZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2F1dG9jb21wbGV0ZScsICdjbGFzcycsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uTGVmdCcsICdpY29uTGVmdENsaWNrQ2FsbGJhY2snLCAnaWNvblJpZ2h0JywgJ2ljb25SaWdodENsaWNrQ2FsbGJhY2snLCAnaW5wdXRUYWJpbmRleCcsICdpc1Bob25lTnVtYmVyJywgJ2xhYmVsJywgJ21hbnVhbFZhbGlkYXRpb24nLCAnbWF4bGVuZ3RoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3RoZW1lJywgJ3R5cGUnLCAndmFsaWRhdG9ycycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldElucHV0SHRtbEVsZW1lbnQnLCAnZ2V0RXJyb3JzJywgJ2NsZWFyRXJyb3JzJywgJ3ZhbGlkYXRlSW5wdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2F1dG9jb21wbGV0ZScsICdjbGFzcycsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uTGVmdCcsICdpY29uTGVmdENsaWNrQ2FsbGJhY2snLCAnaWNvblJpZ2h0JywgJ2ljb25SaWdodENsaWNrQ2FsbGJhY2snLCAnaW5wdXRUYWJpbmRleCcsICdpc1Bob25lTnVtYmVyJywgJ2xhYmVsJywgJ21hbnVhbFZhbGlkYXRpb24nLCAnbWF4bGVuZ3RoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3RoZW1lJywgJ3R5cGUnLCAndmFsaWRhdG9ycycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldElucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRJbnB1dCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnbGFiZWxUaXRsZScsICdzaG93SWNvbicsICd0aGVtZScsICd0cmFuc2xhdGVUaXRsZScsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbGFiZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdsYWJlbFRpdGxlJywgJ3Nob3dJY29uJywgJ3RoZW1lJywgJ3RyYW5zbGF0ZVRpdGxlJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuVGV0TGFiZWwge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1sb2FkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TG9hZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TG9hZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRMb2FkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NsaWNrYWJsZScsICdkYXJrTW9kZScsICdmaXJzdExldmVsSWNvbicsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ3N1YkxldmVscycsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NsaWNrYWJsZScsICdkYXJrTW9kZScsICdmaXJzdExldmVsSWNvbicsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ3N1YkxldmVscycsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE1lbnUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRNZW51IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtNb2RlJywgJ2ZpcnN0TGV2ZWxJZCcsICdmaXJzdExldmVsTGluaycsICdmaXJzdExldmVsVGl0bGUnLCAnaXNBY3RpdmUnLCAnc3ViTGV2ZWxzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbWVudS1tb2JpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtNb2RlJywgJ2ZpcnN0TGV2ZWxJZCcsICdmaXJzdExldmVsTGluaycsICdmaXJzdExldmVsVGl0bGUnLCAnaXNBY3RpdmUnLCAnc3ViTGV2ZWxzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE1lbnVNb2JpbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRNZW51TW9iaWxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRNZW51TW9iaWxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlhbG9nRGF0YVNjcmVlbktleScsICdpc09wZW4nLCAnbGFuZ3VhZ2UnLCAnc3RlcHMnLCAndGV0RGlhbG9nQ2xhc3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1tdWx0aS1zdGVwLWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGVudCcsICdkaWFsb2dEYXRhU2NyZWVuS2V5JywgJ2lzT3BlbicsICdsYW5ndWFnZScsICdzdGVwcycsICd0ZXREaWFsb2dDbGFzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRNdWx0aVN0ZXBEaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRNdWx0aVN0ZXBEaWFsb2cgZXh0ZW5kcyBDb21wb25lbnRzLlRldE11bHRpU3RlcERpYWxvZyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXJrTW9kZSddLFxuICBtZXRob2RzOiBbJ3Nob3dUb2dnbGVyJywgJ2hpZGVUb2dnbGVyJywgJ29wZW4nLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1uYXZpZ2F0aW9uLW1vYmlsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFya01vZGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TmF2aWdhdGlvbk1vYmlsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ21haW5Ecm9wZG93blRvZ2dsZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXROYXZpZ2F0aW9uTW9iaWxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZXROYXZpZ2F0aW9uTW9iaWxlIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIG9uIHRoZSBgaXNUb2dnbGVyRXhwYW5kZWRgIHZhbHVlIGNoYW5nZS5cbiAgICovXG4gIG1haW5Ecm9wZG93blRvZ2dsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3dDbG9zZScsICdhbmltYXRpb25EdXJhdGlvbicsICdjb250ZW50JywgJ2hlYWRlclRpdGxlJywgJ2ljb24nLCAndGhlbWUnLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbm90aWZpY2F0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvd0Nsb3NlJywgJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2NvbnRlbnQnLCAnaGVhZGVyVGl0bGUnLCAnaWNvbicsICd0aGVtZScsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE5vdGlmaWNhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldE5vdGlmaWNhdGlvbiBleHRlbmRzIENvbXBvbmVudHMuVGV0Tm90aWZpY2F0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdidXR0b25BY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY29tcGxldGVkJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hlbHBlclRleHQnLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdzZWxlY3RPbkZvY3VzJywgJ3N1ZmZpeGVzJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0VmFsdWUnLCAncmVzZXRTdWZmaXgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1udW1iZXItaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdidXR0b25BY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY29tcGxldGVkJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hlbHBlclRleHQnLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdzZWxlY3RPbkZvY3VzJywgJ3N1ZmZpeGVzJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE51bWJlcklucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW5wdXRWYWx1ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TnVtYmVySW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLlRldE51bWJlcklucHV0IHtcbiAgLyoqXG4gICAqIEVtaXRzIGlucHV0IGV2ZW50XG4gICAqL1xuICBpbnB1dFZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnaGVpZ2h0JywgJ3dpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcGxhY2Vob2xkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdoZWlnaHQnLCAnd2lkdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0UGxhY2Vob2xkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRQbGFjZWhvbGRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0UGxhY2Vob2xkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdjZW50c1ByaWNlJywgJ2V1cm9QcmljZScsICdmb250JywgJ2Zvb3RlclRleHQnLCAnZm9vdGVyVGV4dFR5cGUnLCAnaGVhZGluZ1RleHQnLCAncHJpY2VUeXBlJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1wcmljZS12aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kJywgJ2NlbnRzUHJpY2UnLCAnZXVyb1ByaWNlJywgJ2ZvbnQnLCAnZm9vdGVyVGV4dCcsICdmb290ZXJUZXh0VHlwZScsICdoZWFkaW5nVGV4dCcsICdwcmljZVR5cGUnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRQcmljZVZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRQcmljZVZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldFByaWNlVmlldyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbnB1dEF1dG9mb2N1cycsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Q2hlY2tlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbnB1dEF1dG9mb2N1cycsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFJhZGlvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2hlY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFJhZGlvQ2hlY2tFdmVudEludGVyZmFjZSBhcyBJVGV0UmFkaW9SYWRpb0NoZWNrRXZlbnRJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSYWRpbyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFJhZGlvUmFkaW9DaGVja0V2ZW50SW50ZXJmYWNlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FkZEJ1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdkYXRhUG9pbnRzJywgJ2RhdGFVbml0cycsICdkZWZhdWx0VmFsdWUnLCAnZGlzcGxheURhdGFQb2ludHMnLCAnaW5wdXRNYXhWYWx1ZScsICdsb2NrVG9EYXRhUG9pbnQnLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAnbnVtYmVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAncGFyZW50Q29udGFpbmVyJywgJ3JlZHVjZUJ1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdzaXplJywgJ3NsaWRlcklucHV0QWNjZXNzaWJpbGl0eUxhYmVsJywgJ3N0ZXAnLCAndGhlbWUnLCAndHlwZScsICd3aXRoQ29udHJvbHMnLCAnd2l0aEN1cnJlbnRTdGVwQ291bnRlcicsICd3aXRoSW5wdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1yYW5nZS1zbGlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FkZEJ1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdkYXRhUG9pbnRzJywgJ2RhdGFVbml0cycsICdkZWZhdWx0VmFsdWUnLCAnZGlzcGxheURhdGFQb2ludHMnLCAnaW5wdXRNYXhWYWx1ZScsICdsb2NrVG9EYXRhUG9pbnQnLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAnbnVtYmVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAncGFyZW50Q29udGFpbmVyJywgJ3JlZHVjZUJ1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdzaXplJywgJ3NsaWRlcklucHV0QWNjZXNzaWJpbGl0eUxhYmVsJywgJ3N0ZXAnLCAndGhlbWUnLCAndHlwZScsICd3aXRoQ29udHJvbHMnLCAnd2l0aEN1cnJlbnRTdGVwQ291bnRlcicsICd3aXRoSW5wdXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0UmFuZ2VTbGlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzbGlkZXItaW5wdXQnLCAnc2xpZGVyLWNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRSYW5nZVNsaWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0UmFuZ2VTbGlkZXIge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCBvbiBzbGlkZXIgaW5wdXQuXG4gICAqL1xuICAnc2xpZGVyLWlucHV0JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCBvbiBzbGlkZXIgY2hhbmdlLlxuICAgKi9cbiAgJ3NsaWRlci1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGEnLCAnbGFuZ3VhZ2UnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1yZWZlcnJhbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0YScsICdsYW5ndWFnZScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRSZWZlcnJhbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3VybENvcGllZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRSZWZlcnJhbCBleHRlbmRzIENvbXBvbmVudHMuVGV0UmVmZXJyYWwge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIGJlIGVtaXR0ZWQgd2hlbiB0aGUgbGluayBpcyBjb3BpZWQgdG8gdGhlIGNsaXBib2FyZC5cbiAgICovXG4gIHVybENvcGllZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZm9yY2VkQ29sdW1uJywgJ2hpZGVJY29ucycsICdzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJvdW5kLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ZvcmNlZENvbHVtbicsICdoaWRlSWNvbnMnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Um91bmRTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Um91bmRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSb3VuZFN0ZXBwZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWRlbnRpZmllcicsICdpdGVtUmVuZGVyRnVuY3Rpb24nLCAnaXRlbXMnLCAnbXVsdGlwbGVTZWxlY3Rpb25zJywgJ3ByZVNlbGVjdGVkSXRlbXMnXSxcbiAgbWV0aG9kczogWyd1bnNldFNlbGVjdGVkSXRlbXMnLCAnZ2V0U2VsZWN0ZWRJdGVtcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXNlbGVjdGlvbi1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpZGVudGlmaWVyJywgJ2l0ZW1SZW5kZXJGdW5jdGlvbicsICdpdGVtcycsICdtdWx0aXBsZVNlbGVjdGlvbnMnLCAncHJlU2VsZWN0ZWRJdGVtcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTZWxlY3Rpb25MaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXRlbVNlbGVjdGVkJywgJ3NlbGVjdGlvbkxpc3RSZW5kZXJlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTZWxlY3Rpb25MaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTZWxlY3Rpb25MaXN0IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBhbiBpdGVtIGlzIHNlbGVjdGVkIG9yIGRlLXNlbGVjdGVkLlxuICAgKi9cbiAgaXRlbVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gICAqL1xuICBzZWxlY3Rpb25MaXN0UmVuZGVyZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2l6ZScsICd0aGVtZScsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnc2V0UHJvZ3Jlc3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zcGlubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXplJywgJ3RoZW1lJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0U3Bpbm5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFNwaW5uZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFNwaW5uZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3RlcHBlckRhdGEnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zdGVwcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzdGVwcGVyRGF0YSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U3RlcHBlciBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnbGFuZ3VhZ2UnLCAnbWF4JywgJ21pbicsICdzZWxlY3RPbkZvY3VzJywgJ3N0ZXAnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydnZXRWYWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXItaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdsYW5ndWFnZScsICdtYXgnLCAnbWluJywgJ3NlbGVjdE9uRm9jdXMnLCAnc3RlcCcsICd0aGVtZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTdGVwcGVySW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnB1dFZhbHVlQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTdGVwcGVySW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLlRldFN0ZXBwZXJJbnB1dCB7XG4gIC8qKlxuICAgKiBFbWl0cyBpbnB1dCBldmVudFxuICAgKi9cbiAgaW5wdXRWYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3RlcHBlckRhdGEnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zdGVwcGVyLXYyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzdGVwcGVyRGF0YScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTdGVwcGVyVjIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTdGVwcGVyVjIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFN0ZXBwZXJWMiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXItdjMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXJWMyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN0ZXBwZXJWMyBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlclYzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRDaGVja2VkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3dpdGNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN3aXRjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NoZWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTd2l0Y2hDaGVja0V2ZW50SW50ZXJmYWNlIGFzIElUZXRTd2l0Y2hTd2l0Y2hDaGVja0V2ZW50SW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLlRldFN3aXRjaCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFN3aXRjaFN3aXRjaENoZWNrRXZlbnRJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0YU5hbWUnLCAnZGVmYXVsdFRhYicsICdwYXJlbnRDb250YWluZXInLCAndXNlVmlzaWJpbGl0eSddLFxuICBtZXRob2RzOiBbJ2luaXQnLCAnc2VsZWN0VGFiJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFiLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGFOYW1lJywgJ2RlZmF1bHRUYWInLCAncGFyZW50Q29udGFpbmVyJywgJ3VzZVZpc2liaWxpdHknXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFiQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RhYlNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUYWJTZWxlY3RFdmVudERhdGEgYXMgSVRldFRhYkNvbnRlbnRUYWJTZWxlY3RFdmVudERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYkNvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhYkNvbnRlbnQge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRyaWdnZXJlZCBvbiBzZWxlY3Rpb24gb2YgdGhlIHRhYi5cbiAgICovXG4gIHRhYlNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFRhYkNvbnRlbnRUYWJTZWxlY3RFdmVudERhdGE+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b3BsYXlEZWxheScsICdkYXJrTW9kZScsICdkYXRhTmFtZScsICdkZWZhdWx0VGFiJywgJ2hpZGVBY3RpdmVIZWFkZXJVbmRlcmxpbmUnLCAnaGlkZUhlYWRlclVuZGVybGluZScsICdwb3NpdGlvbicsICdzZWdtZW50ZWQnLCAnc2l6aW5nJywgJ3N0b3BBdXRvcGxheU9uQ29udGVudEhvdmVyJywgJ3N0b3BBdXRvcGxheU9uSGVhZGVySG92ZXInLCAndGhlbWUnLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUF1dG9wbGF5JywgJ3N0b3BBdXRvcGxheScsICdzdGFydEF1dG9wbGF5JywgJ3NlbGVjdFRhYiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRhYi1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9wbGF5RGVsYXknLCAnZGFya01vZGUnLCAnZGF0YU5hbWUnLCAnZGVmYXVsdFRhYicsICdoaWRlQWN0aXZlSGVhZGVyVW5kZXJsaW5lJywgJ2hpZGVIZWFkZXJVbmRlcmxpbmUnLCAncG9zaXRpb24nLCAnc2VnbWVudGVkJywgJ3NpemluZycsICdzdG9wQXV0b3BsYXlPbkNvbnRlbnRIb3ZlcicsICdzdG9wQXV0b3BsYXlPbkhlYWRlckhvdmVyJywgJ3RoZW1lJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFiSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGFiU2VsZWN0ZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFRhYlNlbGVjdEV2ZW50RGF0YSBhcyBJVGV0VGFiSGVhZGVyVGFiU2VsZWN0RXZlbnREYXRhIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUYWJIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhYkhlYWRlciB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdHJpZ2dlcmVkIG9uIHRhYiBzZWxlY3Rpb24uXG4gICAqL1xuICB0YWJTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRUYWJIZWFkZXJUYWJTZWxlY3RFdmVudERhdGE+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2FwdGlvbicsICdjZWxsVGV4dEFsaWduJywgJ2dhcHBlZENvbHVtbkxheW91dCcsICd0YWJsZURhdGEnLCAndGFibGVIZWFkZXInLCAndGFibGVIZWFkZXJDb2x1bW5TcGFuJywgJ3RhYmxlSGVhZGVyVGV4dEFsaWduJywgJ3RhYmxlSGVhZGVyV2lkdGgnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FwdGlvbicsICdjZWxsVGV4dEFsaWduJywgJ2dhcHBlZENvbHVtbkxheW91dCcsICd0YWJsZURhdGEnLCAndGFibGVIZWFkZXInLCAndGFibGVIZWFkZXJDb2x1bW5TcGFuJywgJ3RhYmxlSGVhZGVyVGV4dEFsaWduJywgJ3RhYmxlSGVhZGVyV2lkdGgnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuVGV0VGFibGUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NvdW50JywgJ2Rpc2FibGVkJywgJ2xhbmd1YWdlJywgJ3Nob3dJY29uJywgJ3RhZ1RpdGxlJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnY291bnQnLCAnZGlzYWJsZWQnLCAnbGFuZ3VhZ2UnLCAnc2hvd0ljb24nLCAndGFnVGl0bGUnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFnIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGFnIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUYWcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFuZ3VhZ2UnLCAndGFncycsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRhZy1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFuZ3VhZ2UnLCAndGFncycsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWdHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhZ0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUYWdHcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWNpbWFsUHJlZml4JywgJ2RlY2ltYWxTdGFydCcsICdsaXN0SWNvbicsICdsaXN0VHlwZScsICd0aGVtZScsICd3aXRoSWNvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRleHQtbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVjaW1hbFByZWZpeCcsICdkZWNpbWFsU3RhcnQnLCAnbGlzdEljb24nLCAnbGlzdFR5cGUnLCAndGhlbWUnLCAnd2l0aEljb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGV4dExpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUZXh0TGlzdCBleHRlbmRzIENvbXBvbmVudHMuVGV0VGV4dExpc3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZXJyb3JNZXNzYWdlcycsICdsYWJlbCcsICdwbGFjZWhvbGRlcicsICd0aGVtZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRleHRhcmVhJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvck1lc3NhZ2VzJywgJ2xhYmVsJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRleHRhcmVhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGV4dGFyZWEgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRleHRhcmVhIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbkRlc2NyaXB0aW9uJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVHlwZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tJY29uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGhhbmsteW91LXZpZXcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbkRlc2NyaXB0aW9uJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVHlwZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tJY29uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRoYW5rWW91VmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0YUJ1dHRvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRoYW5rWW91VmlldyBleHRlbmRzIENvbXBvbmVudHMuVGV0VGhhbmtZb3VWaWV3IHtcbiAgLyoqXG4gICAqIFRoZSBjbGljayBldmVudCBlbWl0dGVyIG9mIHRoZSBDVEEgYnV0dG9uLlxuICAgKi9cbiAgY3RhQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbklkJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVGhlbWUnLCAnY3RhQnV0dG9uVHlwZScsICdpY29uJywgJ2xhbmd1YWdlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJywgJ3RyYW5zbGF0aW9uR3JvdXAnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10aGFuay15b3Utdmlldy12MicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3RhQnV0dG9uSWQnLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UaGVtZScsICdjdGFCdXR0b25UeXBlJywgJ2ljb24nLCAnbGFuZ3VhZ2UnLCAnbWFpbkJsb2NrRGVzY3JpcHRpb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnLCAndHJhbnNsYXRpb25Hcm91cCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUaGFua1lvdVZpZXdWMiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0YUJ1dHRvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRoYW5rWW91Vmlld1YyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUaGFua1lvdVZpZXdWMiB7XG4gIC8qKlxuICAgKiBUaGUgY2xpY2sgZXZlbnQgZW1pdHRlciBvZiB0aGUgQ1RBIGJ1dHRvbi5cbiAgICovXG4gIGN0YUJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjdGFCdXR0b25JZCcsICdjdGFCdXR0b25MYWJlbCcsICdjdGFCdXR0b25TaXplJywgJ2N0YUJ1dHRvblRoZW1lJywgJ2N0YUJ1dHRvblR5cGUnLCAnaWNvbicsICdsYW5ndWFnZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tUaXRsZScsICdzdGVwcGVyRGF0YScsICd0aGVtZScsICd0cmFuc2xhdGlvbkdyb3VwJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGhhbmsteW91LXZpZXctdjMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbklkJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVGhlbWUnLCAnY3RhQnV0dG9uVHlwZScsICdpY29uJywgJ2xhbmd1YWdlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJywgJ3RyYW5zbGF0aW9uR3JvdXAnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGhhbmtZb3VWaWV3VjMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdGFCdXR0b25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUaGFua1lvdVZpZXdWMyBleHRlbmRzIENvbXBvbmVudHMuVGV0VGhhbmtZb3VWaWV3VjMge1xuICAvKipcbiAgICogVGhlIGNsaWNrIGV2ZW50IGVtaXR0ZXIgb2YgdGhlIENUQSBidXR0b24uXG4gICAqL1xuICBjdGFCdXR0b25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZG9Ob3RTaG93T25Ib3ZlcicsICdob3ZlckVsZW1lbnQnLCAncG9zaXRpb24nLCAndGFyZ2V0RWxlbWVudFNlbGVjdG9yJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RvTm90U2hvd09uSG92ZXInLCAnaG92ZXJFbGVtZW50JywgJ3Bvc2l0aW9uJywgJ3RhcmdldEVsZW1lbnRTZWxlY3RvcicsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VG9vbHRpcCBleHRlbmRzIENvbXBvbmVudHMuVGV0VG9vbHRpcCB7fVxuXG5cbiJdfQ==
|
|
1700
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RldC1jb21wb25lbnRzLWFuZ3VsYXIvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCaEUsV0FBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFlBQVk7a0dBQVosWUFBWSx5VkFKYiwyQkFBMkI7O0FBSTFCLFlBQVk7SUFYeEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUM7UUFDOUosT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztLQUM3RCxDQUFDO0dBUVcsWUFBWSxDQU14QjsyRkFOWSxZQUFZO2tCQVB4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVB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QVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO1FBQzFGLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO0tBQ3BDLENBQUM7R0FRVyxVQUFVLENBTXRCOzJGQU5ZLFVBQVU7a0JBUHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO2lCQUMzRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ2hlYWRlcicsICdoZWFkZXJJbWFnZUFsdCcsICdoZWFkZXJJbWFnZVNyYycsICdoZWFkaW5nVGFnJywgJ2lzT3BlbicsICd0aGVtZScsICd0cmFuc3BhcmVudEJhY2tncm91bmQnLCAnd2l0aEF1dG9TY3JvbGwnLCAnd2l0aEJvcmRlciddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnLCAndG9nZ2xlJywgJ2dldFN0YXRlJywgJ3NldFN0YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ2hlYWRlcicsICdoZWFkZXJJbWFnZUFsdCcsICdoZWFkZXJJbWFnZVNyYycsICdoZWFkaW5nVGFnJywgJ2lzT3BlbicsICd0aGVtZScsICd0cmFuc3BhcmVudEJhY2tncm91bmQnLCAnd2l0aEF1dG9TY3JvbGwnLCAnd2l0aEJvcmRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlRldEFjY29yZGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXRhbG9nJywgJ2NhdGVnb3J5JywgJ2NsZWFyRmlsdGVyQnV0dG9uJywgJ2xhbmd1YWdlJywgJ3Byb2R1Y3RDb2RlcycsICdzdWJjYXRlZ29yeUlkJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWRkcmVzcy1vZmZlcnMtZmlsdGVycy1wcm9kdWN0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2F0YWxvZycsICdjYXRlZ29yeScsICdjbGVhckZpbHRlckJ1dHRvbicsICdsYW5ndWFnZScsICdwcm9kdWN0Q29kZXMnLCAnc3ViY2F0ZWdvcnlJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBZGRyZXNzT2ZmZXJzRmlsdGVyc1Byb2R1Y3RzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWN0aXZlRmlsdGVyc0NoYW5nZWQnLCAnZmlsdGVyZWRQcm9kdWN0c0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QWRkcmVzc09mZmVyc0ZpbHRlcnNQcm9kdWN0cyBleHRlbmRzIENvbXBvbmVudHMuVGV0QWRkcmVzc09mZmVyc0ZpbHRlcnNQcm9kdWN0cyB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYWN0aXZlIGZpbHRlcnMgY2hhbmdlLCBzZW5kaW5nIGFycmF5IG9mIGFjdGl2ZSBmaWx0ZXIgSURzLlxuICAgKi9cbiAgYWN0aXZlRmlsdGVyc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmdbXT4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGZpbHRlcmVkIHByb2R1Y3RzIGNoYW5nZSwgc2VuZGluZyBzdWJjYXRlZ29yeSBJRCBhbmQgYXJyYXkgb2YgZmlsdGVyZWQgcHJvZHVjdCBJRHMuXG4gICAqL1xuICBmaWx0ZXJlZFByb2R1Y3RzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc3ViY2F0ZWdvcnlJZDogc3RyaW5nOyBmaWx0ZXJlZFByb2R1Y3RJZHM6IHN0cmluZ1tdIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2FkZHJlc3NLZXknLCAnY2xvc2VCdXR0b25UZXh0JywgJ2lucHV0RGlzYWJsZWQnLCAnaXNJbnB1dEludmFsaWQnLCAnbGFiZWwnLCAnbGFuZ3VhZ2UnLCAnbWFudWFsQWRkcmVzc1RyaWdnZXJzJywgJ21pblNlYXJjaEtleXdvcmRMZW5ndGgnLCAnbmV3Rm9ybXNTdHlsZScsICduZXdTdHlsZScsICdwbGFjZWhvbGRlcicsICdyZWRlc2lnbmVkU3R5bGUnLCAnc2VhcmNoQnV0dG9uVGV4dCcsICd0aGVtZSddLFxuICBtZXRob2RzOiBbJ3Jlc2V0SW5wdXRTdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFkZHJlc3Mtc2VhcmNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYWRkcmVzc0tleScsICdjbG9zZUJ1dHRvblRleHQnLCAnaW5wdXREaXNhYmxlZCcsICdpc0lucHV0SW52YWxpZCcsICdsYWJlbCcsICdsYW5ndWFnZScsICdtYW51YWxBZGRyZXNzVHJpZ2dlcnMnLCAnbWluU2VhcmNoS2V5d29yZExlbmd0aCcsICduZXdGb3Jtc1N0eWxlJywgJ25ld1N0eWxlJywgJ3BsYWNlaG9sZGVyJywgJ3JlZGVzaWduZWRTdHlsZScsICdzZWFyY2hCdXR0b25UZXh0JywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEFkZHJlc3NTZWFyY2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydhZGRyZXNzU2VsZWN0ZWQnLCAnY2xlYXJJbnB1dEZpZWxkJywgJ21hbnVhbEFkZHJlc3NJbnB1dCcsICdzZWFyY2hTdWJtaXR0ZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEFkZHJlc3NJbnRlcmZhY2UgYXMgSVRldEFkZHJlc3NTZWFyY2hBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBZGRyZXNzU2VhcmNoIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBZGRyZXNzU2VhcmNoIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGFuIGFkZHJlc3MgdmlhIGF1dG9jb21wbGV0ZS5cbiAgICovXG4gIGFkZHJlc3NTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBZGRyZXNzU2VhcmNoQWRkcmVzc0ludGVyZmFjZT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBmaWVsZCBpcyBjbGVhcmVkIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBjbGVhcklucHV0RmllbGQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBtYW51YWwgYWRkcmVzcyBpbnB1dCBvcHRpb24uXG4gICAqL1xuICBtYW51YWxBZGRyZXNzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIHNlYXJjaCBidXR0b24uXG4gICAqL1xuICBzZWFyY2hTdWJtaXR0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFzc2V0LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsaXN0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2FkZHJlc3NTZWFyY2hMYWJlbCcsICdhZGRyZXNzU2VhcmNoUGxhY2Vob2xkZXInLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWyd1bnNlbGVjdEFzc2V0QWRkcmVzc2VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXNzZXQtYXZhaWxhYmlsaXR5LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEF2YWlsYWJpbGl0eUFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsc2l0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyQ2FsbGJhY2snLCAnZGFya1RoZW1lJywgJ2RlZmF1bHRPcHRpb25zJywgJ2ZpbmlzaGVkTG9hZGluZycsICdoaWdobGlnaHRPcHRpb25zS2V5d29yZCcsICduZXdTdHlsZScsICdub09wdGlvbnNNZXNzYWdlJywgJ25vT3B0aW9uc1JlbmRlckZ1bmN0aW9uJywgJ29wdGlvbnNGaWx0ZXJBY3Rpb24nLCAnb3B0aW9uc0ljb24nLCAncmVkZXNpZ25lZFN0eWxlJywgJ3Nob3dPcHRpb25zT25Fc2NhcGVDbGVhcicsICd0eXBpbmdEZWJvdW5jZVRpbWUnXSxcbiAgbWV0aG9kczogWydjbGVhcicsICdmb2N1c09uTmF0aXZlSW5wdXQnLCAnc2VsZWN0T3B0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXV0b2NvbXBsZXRlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGVhckNhbGxiYWNrJywgJ2RhcmtUaGVtZScsICdkZWZhdWx0T3B0aW9ucycsICdmaW5pc2hlZExvYWRpbmcnLCAnaGlnaGxpZ2h0T3B0aW9uc0tleXdvcmQnLCAnbmV3U3R5bGUnLCAnbm9PcHRpb25zTWVzc2FnZScsICdub09wdGlvbnNSZW5kZXJGdW5jdGlvbicsICdvcHRpb25zRmlsdGVyQWN0aW9uJywgJ29wdGlvbnNJY29uJywgJ3JlZGVzaWduZWRTdHlsZScsICdzaG93T3B0aW9uc09uRXNjYXBlQ2xlYXInLCAndHlwaW5nRGVib3VuY2VUaW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF1dG9jb21wbGV0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ29wdGlvblNlbGVjdGVkJywgJ2FjdGl2ZUNvbXBvbmVudFN0YXRlQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgT3B0aW9uSW50ZXJmYWNlIGFzIElUZXRBdXRvY29tcGxldGVPcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF1dG9jb21wbGV0ZSBleHRlbmRzIENvbXBvbmVudHMuVGV0QXV0b2NvbXBsZXRlIHtcbiAgLyoqXG4gICAqIFRoZSBhdXRvY29tcGxldGUgb3B0aW9uIHNlbGVjdGlvbiBldmVudC5cbiAgICovXG4gIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEF1dG9jb21wbGV0ZU9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogRW1pdHMgXCJ0ZXQtYXV0b2NvbXBsZXRlXCIgdW5pcXVlIGlkLCB3aGVuIGFuIGF0dGVtcHQgdG8gb3BlbiBzZWxlY3Rpb24gb3B0aW9ucyBpcyBpZGVudGlmaWVkLlxuICAgKi9cbiAgYWN0aXZlQ29tcG9uZW50U3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nIHwgbnVsbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0T3B0aW9uJywgJ2Vycm9yTWVzc2FnZScsICdoYXNFcnJvcicsICdsYWJlbCcsICdub09wdGlvbnNNZXNzYWdlJywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWydjbGVhcklucHV0JywgJ2ZvY3VzT25OYXRpdmVJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWF1dG9jb21wbGV0ZS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdE9wdGlvbicsICdlcnJvck1lc3NhZ2UnLCAnaGFzRXJyb3InLCAnbGFiZWwnLCAnbm9PcHRpb25zTWVzc2FnZScsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF1dG9jb21wbGV0ZURyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb3B0aW9uU2VsZWN0ZWQnLCAnaW5wdXRWYWx1ZUNsZWFyZWQnLCAnaW5wdXRWYWx1ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE9wdGlvbkludGVyZmFjZSBhcyBJVGV0QXV0b2NvbXBsZXRlRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF1dG9jb21wbGV0ZURyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBdXRvY29tcGxldGVEcm9wZG93biB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBhbiBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBdXRvY29tcGxldGVEcm9wZG93bk9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGlzIGNsZWFyZWQuXG4gICAqL1xuICBpbnB1dFZhbHVlQ2xlYXJlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBvcHRpb24gaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICovXG4gIGlucHV0VmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93QXZhaWxhYmlsaXR5Q29udGFjdEZvcm0nLCAnc2hvd0lucHV0TGFiZWwnLCAnc2hvd1RpdGxlJywgJ3N1Ym1pdEJ1dHRvblByb3BzJywgJ3N1YnRpdGxlJywgJ3N1Y2Nlc3MnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1hdmFpbGFiaWxpdHktY29udGFjdC1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnbGFuZ3VhZ2UnLCAnc2hvd0F2YWlsYWJpbGl0eUNvbnRhY3RGb3JtJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICdzdWNjZXNzJywgJ3Rhc2tPcHRpb25zJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGFza0NyZWF0aW9uU3VjY2VzcycsICd0YXNrQ3JlYXRpb25GYWlsZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXZhaWxhYmlsaXR5Q29udGFjdEZvcm0gZXh0ZW5kcyBDb21wb25lbnRzLlRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGlmIHRoZSB0YXNrIGNyZWF0aW9uIHdhcyBzdWNjZXNzZnVsLlxuICAgKi9cbiAgdGFza0NyZWF0aW9uU3VjY2VzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgaWYgdGhlIHRhc2sgY3JlYXRpb24gZmFpbGVkLlxuICAgKi9cbiAgdGFza0NyZWF0aW9uRmFpbGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb3VudCcsICdpc1NlbGVjdGVkJywgJ29wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1iMmItY29tcGFyZS1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb3VudCcsICdpc1NlbGVjdGVkJywgJ29wdGlvbnMnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QjJiQ29tcGFyZUNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjb3VudENoYW5nZScsICdzZWxlY3RlZENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQjJiQ2FyZFVwZGF0ZUV2ZW50IGFzIElUZXRCMmJDb21wYXJlQ2FyZEIyYkNhcmRVcGRhdGVFdmVudCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QjJiQ29tcGFyZUNhcmQgZXh0ZW5kcyBDb21wb25lbnRzLlRldEIyYkNvbXBhcmVDYXJkIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjaGFuZ2VzIHRoZSBxdWFudGl0eSBjb3VudGVyIHZhbHVlIGFuZCBzdWJtaXRzOyBvciBvbiBjYXJkIGNsb3NlIGV2ZW50LiBAZXZlbnQgdW5kZWZpbmVkXG4gICAqL1xuICBjb3VudENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRCMmJDb21wYXJlQ2FyZEIyYkNhcmRVcGRhdGVFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjYXJkIGlzIGNsaWNrZWQgdG8gY2hhbmdlIGl0cyBzZWxlY3RlZCBzdGF0ZSBAZXZlbnQgdW5kZWZpbmVkXG4gICAqL1xuICBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZHVyYXRpb24nLCAnbGFuZ3VhZ2UnLCAnbW9iaWxlTGF5b3V0JywgJ3BhdXNlZCcsICdzbGlkZXMnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWydwYXVzZScsICdwbGF5JywgJ2dvVG8nLCAnbmV4dCcsICdwcmV2aW91cycsICdnZXRDdXJyZW50U2xpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1iYW5uZXItbmF2JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkdXJhdGlvbicsICdsYW5ndWFnZScsICdtb2JpbGVMYXlvdXQnLCAncGF1c2VkJywgJ3NsaWRlcycsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCYW5uZXJOYXYge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzbGlkZUNoYW5nZScsICdwYXVzZVN0YXRlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJhbm5lck5hdiBleHRlbmRzIENvbXBvbmVudHMuVGV0QmFubmVyTmF2IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBzbGlkZSBjaGFuZ2VzXG4gICAqL1xuICBzbGlkZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgaW5kZXg6IG51bWJlcjsgcHJldmlvdXNJbmRleDogbnVtYmVyOyBzb3VyY2UgOiBzdHJpbmcgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHBhdXNlIHN0YXRlIGNoYW5nZXNcbiAgICovXG4gIHBhdXNlU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHBhdXNlZDogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2RhdGEnLCAnZGF0YU9yZGVyJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAncGFyZW50Q29udGFpbmVyJywgJ3NpemUnLCAndGhlbWUnLCAndmFsdWVQb3NpdGlvbicsICd2YWx1ZVVuaXQnLCAnd2l0aEdyaWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1iYXItZ3JhcGgnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2RhdGEnLCAnZGF0YU9yZGVyJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAncGFyZW50Q29udGFpbmVyJywgJ3NpemUnLCAndGhlbWUnLCAndmFsdWVQb3NpdGlvbicsICd2YWx1ZVVuaXQnLCAnd2l0aEdyaWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QmFyR3JhcGgge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRCYXJHcmFwaCBleHRlbmRzIENvbXBvbmVudHMuVGV0QmFyR3JhcGgge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWRkcmVzc0tleScsICdsYW5ndWFnZScsICdzaG93SGVhZGluZ3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1idXNpbmVzcy1saW5lcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkcmVzc0tleScsICdsYW5ndWFnZScsICdzaG93SGVhZGluZ3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QnVzaW5lc3NMaW5lcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2J1c2luZXNzTGluZVNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBCdXNpbmVzc0xpbmUgYXMgSVRldEJ1c2luZXNzTGluZXNCdXNpbmVzc0xpbmUgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1c2luZXNzTGluZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEJ1c2luZXNzTGluZXMge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIGJ1c2luZXNzIGxpbmUgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBidXNpbmVzc0xpbmVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRCdXNpbmVzc0xpbmVzQnVzaW5lc3NMaW5lPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xheW91dCcsICdzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJ1c2luZXNzLXJvdW5kLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xheW91dCcsICdzdGVwcGVyRGF0YScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCdXNpbmVzc1JvdW5kU3RlcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1c2luZXNzUm91bmRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCdXNpbmVzc1JvdW5kU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2xpY2tDYWxsYmFjaycsICdkaXNhYmxlZCcsICdlbGVtZW50SWQnLCAnaWNvbk1vZGUnLCAnaWNvbk5hbWUnLCAnaWNvblBvc2l0aW9uJywgJ3NpemUnLCAndGhlbWUnLCAndHlwZScsICd1cmwnLCAndXJsVGFyZ2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2xpY2tDYWxsYmFjaycsICdkaXNhYmxlZCcsICdlbGVtZW50SWQnLCAnaWNvbk1vZGUnLCAnaWNvbk5hbWUnLCAnaWNvblBvc2l0aW9uJywgJ3NpemUnLCAndGhlbWUnLCAndHlwZScsICd1cmwnLCAndXJsVGFyZ2V0J10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuVGV0QnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvbkNsYXNzJywgJ2J1dHRvbkljb25MZWZ0JywgJ2J1dHRvbkljb25SaWdodCcsICdjb250YWluZXJDbGFzcycsICdkb3RDbGFzcycsICdzaG93QnV0dG9ucycsICdzaG93RG90cycsICdzd2lwZVRocmVzaG9sZCcsICd0aGVtZScsICd0cmFja0NsYXNzJywgJ3RyYW5zaXRpb25EdXJhdGlvbicsICd0cmFuc2l0aW9uVGltaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2Fyb3VzZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkNsYXNzJywgJ2J1dHRvbkljb25MZWZ0JywgJ2J1dHRvbkljb25SaWdodCcsICdjb250YWluZXJDbGFzcycsICdkb3RDbGFzcycsICdzaG93QnV0dG9ucycsICdzaG93RG90cycsICdzd2lwZVRocmVzaG9sZCcsICd0aGVtZScsICd0cmFja0NsYXNzJywgJ3RyYW5zaXRpb25EdXJhdGlvbicsICd0cmFuc2l0aW9uVGltaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENhcm91c2VsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2Fyb3VzZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldENhcm91c2VsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Q2hlY2tlZCcsICdzZXRJbmRldGVybWluYXRlJywgJ3NldEVycm9yJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2hlY2tib3gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2hlY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IENoZWNrYm94Q2hlY2tFdmVudEludGVyZmFjZSBhcyBJVGV0Q2hlY2tib3hDaGVja2JveENoZWNrRXZlbnRJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDaGVja2JveCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldENoZWNrYm94Q2hlY2tib3hDaGVja0V2ZW50SW50ZXJmYWNlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ2xvYWRpbmcnLCAncHJpdmFjeVBvbGljeUxpbmtVcmwnLCAnc2hvd092ZXJsYXknXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2xvdWQtYXBwbGljYXRpb24tZm9ybS1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ2xvYWRpbmcnLCAncHJpdmFjeVBvbGljeUxpbmtVcmwnLCAnc2hvd092ZXJsYXknXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q2xvdWRBcHBsaWNhdGlvbkZvcm1EaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdWJtaXR0ZWQnLCAnY2xvc2VEaWFsb2cnLCAnb3BlbkRpYWxvZyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGEgYXMgSVRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFwcGxpY2F0aW9uIGZvcm0gaXMgc3VjY2Vzc2Z1bGx5IHN1Ym1pdHRlZC5cbiAgICovXG4gIHN1Ym1pdHRlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZ1RldEFwcGxpY2F0aW9uRm9ybURpYWxvZ1N1Ym1pc3Npb25EYXRhPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCBvbiB0aGUgYGNsb3NlYCBpY29uIGNsaWNrLCBvdmVybGF5IGNsaWNrIG9yIHRoZSBgZXNjYCBrZXkgcHJlc3MuXG4gICAqL1xuICBjbG9zZURpYWxvZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWQuXG4gICAqL1xuICBvcGVuRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZXJTZWxlY3RvcicsICdsYW5ndWFnZScsICdzZWxlY3RPbkZvY3VzJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2xvdWQtY29uZmlndXJhdG9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250YWluZXJTZWxlY3RvcicsICdsYW5ndWFnZScsICdzZWxlY3RPbkZvY3VzJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENsb3VkQ29uZmlndXJhdG9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xvdWRDYWxjdWxhdG9yU3VibWl0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENsb3VkQ29uZmlndXJhdG9yIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDbG91ZENvbmZpZ3VyYXRvciB7XG4gIC8qKlxuICAgKiBUaGUgc3VibWl0IGV2ZW50IG9mIHRoZSBmb3JtLlxuICAgKi9cbiAgY2xvdWRDYWxjdWxhdG9yU3VibWl0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jb250YWN0LWZvcm0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q29udGFjdEZvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0YXNrQ3JlYXRpb25TdWNjZXNzJywgJ3Rhc2tDcmVhdGlvbkZhaWxlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRDb250YWN0Rm9ybSBleHRlbmRzIENvbXBvbmVudHMuVGV0Q29udGFjdEZvcm0ge1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgaWYgdGhlIHRhc2sgY3JlYXRpb24gd2FzIHN1Y2Nlc3NmdWwuXG4gICAqL1xuICB0YXNrQ3JlYXRpb25TdWNjZXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBpZiB0aGUgdGFzayBjcmVhdGlvbiBmYWlsZWQuXG4gICAqL1xuICB0YXNrQ3JlYXRpb25GYWlsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGFjdEJsb2NrcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWNvbnRhY3QtaW5mbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGFjdEJsb2NrcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDb250YWN0SW5mbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhY3RJbmZvIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDb250YWN0SW5mbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWdobGlnaHRhYmxlJywgJ3NlbGVjdGVkJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWdobGlnaHRhYmxlJywgJ3NlbGVjdGVkJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuVGV0Q29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2RhcmtUaGVtZScsICdncm91cEJ5QWRkcmVzcycsICdoaWRlQXNzZXRzJywgJ2xvYWRlckVsZW1lbnRzQ291bnQnLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAnc2luZ2xlTG9hZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY3VzdG9tZXItYXNzZXRzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NUb2tlbicsICdkYXJrVGhlbWUnLCAnZ3JvdXBCeUFkZHJlc3MnLCAnaGlkZUFzc2V0cycsICdsb2FkZXJFbGVtZW50c0NvdW50JywgJ3BpZCcsICdzYWxlc2ZvcmNlQWNjb3VudElkJywgJ3NpbmdsZUxvYWRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDdXN0b21lckFzc2V0cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0U2VsZWN0ZWQnLCAnYXNzZXRzVXBkYXRlZCcsICdjdXN0b21lck5vdEZvdW5kJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDdXN0b21lckFzc2V0IGFzIElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyQXNzZXQgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tZXJOb3RGb3VuZCBhcyBJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lck5vdEZvdW5kIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRDdXN0b21lckFzc2V0cyBleHRlbmRzIENvbXBvbmVudHMuVGV0Q3VzdG9tZXJBc3NldHMge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHVzZXIgc2VsZWN0cyBhbiBhc3NldC5cbiAgICovXG4gIGFzc2V0U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lckFzc2V0Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFzc2V0cyBjaGFuZ2UuXG4gICAqL1xuICBhc3NldHNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEN1c3RvbWVyQXNzZXRzQ3VzdG9tZXJBc3NldFtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnZGF0ZXBpY2tlclZpZXcnLCAnaXNPcGVuJywgJ2xvY2FsZScsICdvdmVybGF5RWZmZWN0JywgJ3JhbmdlUGlja2VyTW9kZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUlzT3BlbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnZGF0ZXBpY2tlclZpZXcnLCAnaXNPcGVuJywgJ2xvY2FsZScsICdvdmVybGF5RWZmZWN0JywgJ3JhbmdlUGlja2VyTW9kZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZGF0ZUNoYW5nZWQnLCAncmFuZ2VEYXRlc0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBkYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gYXQgbGVhc3Qgb25lIG9mIHRoZSByYW5nZSBkYXRlcyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIHJhbmdlRGF0ZXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZVtdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGVwaWNrZXJWaWV3JywgJ2ludGVybmFsRGF0ZScsICdsb2NhbGUnLCAnc2VsZWN0ZWREYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGF0ZXBpY2tlci1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGVwaWNrZXJWaWV3JywgJ2ludGVybmFsRGF0ZScsICdsb2NhbGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJWaWV3Q2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclZpZXcgYXMgSVRldERhdGVwaWNrZXJIZWFkZXJEYXRlcGlja2VyVmlldyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlckhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlckhlYWRlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgdmlldyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VySGVhZGVyRGF0ZXBpY2tlclZpZXc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3JhbmdlRGF0ZXMnLCAncmFuZ2VQaWNrZXJNb2RlJywgJ3NlbGVjdGVkRGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXItbW9udGgtdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3JhbmdlRGF0ZXMnLCAncmFuZ2VQaWNrZXJNb2RlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyTW9udGhWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW50ZXJuYWxEYXRlQ2hhbmdlZCcsICdkYXRlQ2hhbmdlZCcsICdkYXRlcGlja2VyQ2xvc2VkJywgJ3JhbmdlRGF0ZVNldCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclJhbmdlU2V0RGF0YSBhcyBJVGV0RGF0ZXBpY2tlck1vbnRoVmlld0RhdGVwaWNrZXJSYW5nZVNldERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERhdGVwaWNrZXJNb250aFZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJNb250aFZpZXcge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgaW50ZXJuYWwgZGF0ZSB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGludGVybmFsRGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlPj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBkYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgd2lsbCBiZSBjbG9zZWQuXG4gICAqL1xuICBkYXRlcGlja2VyQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiBvbmUgb2YgdGhlIHJhbmdlIGRhdGVzIHdpbGwgYmUgc2V0LlxuICAgKi9cbiAgcmFuZ2VEYXRlU2V0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJNb250aFZpZXdEYXRlcGlja2VyUmFuZ2VTZXREYXRhPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludGVybmFsRGF0ZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLW11bHRpLXllYXItdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ludGVybmFsRGF0ZUNoYW5nZWQnLCAnZGF0ZXBpY2tlclZpZXdDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyVmlldyBhcyBJVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXdEYXRlcGlja2VyVmlldyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJNdWx0aVllYXJWaWV3IHtcbiAgLyoqXG4gICAqIEludGVybmFsIGRhdGUgY2hhbmdlZCBldmVudC5cbiAgICovXG4gIGludGVybmFsRGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlPj47XG4gIC8qKlxuICAgKiBEYXRlcGlja2VyIHZpZXcgY2hhbmdlZCBldmVudC5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlld0RhdGVwaWNrZXJWaWV3Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludGVybmFsRGF0ZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLXllYXItdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyWWVhclZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJWaWV3Q2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclZpZXcgYXMgSVRldERhdGVwaWNrZXJZZWFyVmlld0RhdGVwaWNrZXJWaWV3IH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VyWWVhclZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJZZWFyVmlldyB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgdmlldyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VyWWVhclZpZXdEYXRlcGlja2VyVmlldz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZU9uRXNjYXBlJywgJ2Nsb3NlT25PdmVybGF5Q2xpY2snLCAnZm9vdGVyRGlzcGxheScsICdoZWFkZXJUaXRsZScsICdoaWRlQ2xvc2VCdXR0b24nLCAnaGlkZUhlYWRlcicsICdpc09wZW4nLCAncHJldmVudERlZmF1bHRDbG9zZScsICdzaG93SGVhZGVyRGl2aWRlcicsICd0aGVtZScsICd0aXRsZUlkJ10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VPbkVzY2FwZScsICdjbG9zZU9uT3ZlcmxheUNsaWNrJywgJ2Zvb3RlckRpc3BsYXknLCAnaGVhZGVyVGl0bGUnLCAnaGlkZUNsb3NlQnV0dG9uJywgJ2hpZGVIZWFkZXInLCAnaXNPcGVuJywgJ3ByZXZlbnREZWZhdWx0Q2xvc2UnLCAnc2hvd0hlYWRlckRpdmlkZXInLCAndGhlbWUnLCAndGl0bGVJZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZURpYWxvZycsICdvcGVuRGlhbG9nJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERpYWxvZyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGlhbG9nIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIG9uIHRoZSBgY2xvc2VgIGljb24gY2xpY2ssIG92ZXJsYXkgY2xpY2sgb3IgdGhlIGBlc2NgIGtleSBwcmVzcy5cbiAgICovXG4gIGNsb3NlRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlbmVkLlxuICAgKi9cbiAgb3BlbkRpYWxvZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXZlbnRUeXBlOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd011bHRpcGxlJywgJ2J1dHRvbkxhYmVsJywgJ2Nsb3NlT25TZWxlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZmxleExheW91dCcsICdsYWJlbCcsICdsYWJlbExvZ28nLCAnbGFiZWxMb2dvR3JheXNjYWxlJywgJ2xhYmVsUmlnaHQnLCAnbGFiZWxSaWdodENvbG9yJywgJ2xhYmVsU3ViVGV4dCcsICdvcHRpb25zJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsnZ2V0U2VsZWN0ZWRPcHRpb25zJywgJ3NlbGVjdE9wdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvd011bHRpcGxlJywgJ2J1dHRvbkxhYmVsJywgJ2Nsb3NlT25TZWxlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZmxleExheW91dCcsICdsYWJlbCcsICdsYWJlbExvZ28nLCAnbGFiZWxMb2dvR3JheXNjYWxlJywgJ2xhYmVsUmlnaHQnLCAnbGFiZWxSaWdodENvbG9yJywgJ2xhYmVsU3ViVGV4dCcsICdvcHRpb25zJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb3B0aW9uU2VsZWN0ZWQnLCAnb3B0aW9uQ2hlY2tlZCcsICdvcHRpb25zQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgYXMgSVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2UgYXMgSVRldERyb3Bkb3duU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREcm9wZG93biB7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuZXZlciBhIHNpbmdsZSBvcHRpb24gaXMgc2VsZWN0ZWQgYW5kIHJldHVybnMgdGhlIG9wdGlvbi5cbiAgICovXG4gIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGEgbXVsdGktc2VsZWN0YWJsZSBvcHRpb24gaXMgY2hlY2tlZC91bmNoZWNrZWQuXG4gICAqL1xuICBvcHRpb25DaGVja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGFuIG9wdGlvbiBpcyBjaGFuZ2VkIGFuZCByZXR1cm5zIGEgbGlzdCBvZiBhbGwgc2VsZWN0ZWQgb3B0aW9ucy5cbiAgICovXG4gIG9wdGlvbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2VbXT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXJkVGl0bGUnLCAnZGF0ZVRhZycsICdkYXRlVGFnQ29sb3JEYXJrJywgJ2RhdGVUYWdDb2xvckxpZ2h0JywgJ2luZGV4JywgJ2lzSW5DYXJvdXNlbCcsICdsaW5rSHJlZicsICdsaW5rTmV3VGFiJywgJ2xpbmtUZXh0JywgJ2xpbmtUeXBlJywgJ21vZGFsSWQnLCAncGljdHVyZUxheW91dFNoaWZ0UG9zaXRpb24nLCAncHJpY2VUYWdPcHRpb25zJywgJ3NpemUnLCAnc2l6ZUNoYW5nZUJyZWFrcG9pbnQnLCAnc3VidGl0bGUnLCAndGFncycsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWR5bmFtaWMtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FyZFRpdGxlJywgJ2RhdGVUYWcnLCAnZGF0ZVRhZ0NvbG9yRGFyaycsICdkYXRlVGFnQ29sb3JMaWdodCcsICdpbmRleCcsICdpc0luQ2Fyb3VzZWwnLCAnbGlua0hyZWYnLCAnbGlua05ld1RhYicsICdsaW5rVGV4dCcsICdsaW5rVHlwZScsICdtb2RhbElkJywgJ3BpY3R1cmVMYXlvdXRTaGlmdFBvc2l0aW9uJywgJ3ByaWNlVGFnT3B0aW9ucycsICdzaXplJywgJ3NpemVDaGFuZ2VCcmVha3BvaW50JywgJ3N1YnRpdGxlJywgJ3RhZ3MnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RHluYW1pY0NhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZXREeW5hbWljQ2FyZENsaWNrRXZlbnQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RHluYW1pY0NhcmQgZXh0ZW5kcyBDb21wb25lbnRzLlRldER5bmFtaWNDYXJkIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY2FyZCBpcyBjbGlja2VkXG4gICAqL1xuICB0ZXREeW5hbWljQ2FyZENsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhbmltYXRpb25EdXJhdGlvbicsICdjbGFzcycsICdjbG9zZUlucHV0VGV4dCcsICdjbG9zZWRXaWR0aCcsICdkYXJrTW9kZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uTGVmdCcsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdtYW51YWxWYWxpZGF0aW9uJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAnc2l6ZScsICd0aGVtZScsICd2YWxpZGF0b3JzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SW5wdXRIdG1sRWxlbWVudCcsICdnZXRFcnJvcnMnLCAndmFsaWRhdGVJbnB1dCcsICdzZXRTdGF0ZScsICdjbGVhciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWV4cGFuZGFibGUtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhbmltYXRpb25EdXJhdGlvbicsICdjbGFzcycsICdjbG9zZUlucHV0VGV4dCcsICdjbG9zZWRXaWR0aCcsICdkYXJrTW9kZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uTGVmdCcsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdtYW51YWxWYWxpZGF0aW9uJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAnc2l6ZScsICd0aGVtZScsICd2YWxpZGF0b3JzJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEV4cGFuZGFibGVJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JlZm9yZS1zdGF0ZS1jaGFuZ2UnLCAnYWZ0ZXItc3RhdGUtY2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdGF0ZUNoYW5nZUludGVyZmFjZSBhcyBJVGV0RXhwYW5kYWJsZUlucHV0U3RhdGVDaGFuZ2VJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEV4cGFuZGFibGVJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0RXhwYW5kYWJsZUlucHV0IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGJlZm9yZSB0aGUgc3RhcnQgb2YgdGhlIGV4cGFuZGluZyBvciBzaHJpbmtpbmcgYW5pbWF0aW9uIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gICdiZWZvcmUtc3RhdGUtY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRFeHBhbmRhYmxlSW5wdXRTdGF0ZUNoYW5nZUludGVyZmFjZT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgZXhwYW5kaW5nIG9yIHNocmlua2luZyBhbmltYXRpb24gb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FmdGVyLXN0YXRlLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RXhwYW5kYWJsZUlucHV0U3RhdGVDaGFuZ2VJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW5pdGlhbFN0YXRlJywgJ3RvZ2dsZUVsZW1lbnQnXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJywgJ3RvZ2dsZScsICdnZXRTdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWV4cGFuc2lvbi1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW5pdGlhbFN0YXRlJywgJ3RvZ2dsZUVsZW1lbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RXhwYW5zaW9uUGFuZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRFeHBhbnNpb25QYW5lbCBleHRlbmRzIENvbXBvbmVudHMuVGV0RXhwYW5zaW9uUGFuZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xlYXJGaWx0ZXJCdXR0b25UaXRsZScsICdzaG93Q2xlYXJGaWx0ZXJCdXR0b24nLCAndGFncycsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWZpbHRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xlYXJGaWx0ZXJCdXR0b25UaXRsZScsICdzaG93Q2xlYXJGaWx0ZXJCdXR0b24nLCAndGFncycsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRGaWx0ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydmaWx0ZXJDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEZpbHRlclN0YXRlIGFzIElUZXRGaWx0ZXJGaWx0ZXJTdGF0ZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RmlsdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRGaWx0ZXIge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiBmaWx0ZXJzIGNoYW5nZVxuICAgKi9cbiAgZmlsdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEZpbHRlckZpbHRlclN0YXRlW10+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2ZvY3VzYWJsZScsICduYW1lJywgJ3RoZW1lJywgJ3R5cGUnLCAndXNlRGVmYXVsdENvbG9yJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2ZvY3VzYWJsZScsICduYW1lJywgJ3RoZW1lJywgJ3R5cGUnLCAndXNlRGVmYXVsdENvbG9yJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3RoZW1lJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1pbmxpbmUtbWVzc2FnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndGhlbWUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRJbmxpbmVNZXNzYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0SW5saW5lTWVzc2FnZSBleHRlbmRzIENvbXBvbmVudHMuVGV0SW5saW5lTWVzc2FnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYXV0b2NvbXBsZXRlJywgJ2NsYXNzJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdpbnB1dFRhYmluZGV4JywgJ2lzUGhvbmVOdW1iZXInLCAnbGFiZWwnLCAnbWFudWFsVmFsaWRhdGlvbicsICdtYXhsZW5ndGgnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAndGhlbWUnLCAndHlwZScsICd2YWxpZGF0b3JzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SW5wdXRIdG1sRWxlbWVudCcsICdnZXRFcnJvcnMnLCAnY2xlYXJFcnJvcnMnLCAndmFsaWRhdGVJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYXV0b2NvbXBsZXRlJywgJ2NsYXNzJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdpbnB1dFRhYmluZGV4JywgJ2lzUGhvbmVOdW1iZXInLCAnbGFiZWwnLCAnbWFudWFsVmFsaWRhdGlvbicsICdtYXhsZW5ndGgnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAndGhlbWUnLCAndHlwZScsICd2YWxpZGF0b3JzJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldElucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0SW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLlRldElucHV0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdsYWJlbFRpdGxlJywgJ3Nob3dJY29uJywgJ3RoZW1lJywgJ3RyYW5zbGF0ZVRpdGxlJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2xhYmVsVGl0bGUnLCAnc2hvd0ljb24nLCAndGhlbWUnLCAndHJhbnNsYXRlVGl0bGUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldExhYmVsIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRMYWJlbCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWxvYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRMb2FkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRMb2FkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldExvYWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY2xpY2thYmxlJywgJ2RhcmtNb2RlJywgJ2ZpcnN0TGV2ZWxJY29uJywgJ2ZpcnN0TGV2ZWxJZCcsICdmaXJzdExldmVsTGluaycsICdmaXJzdExldmVsVGl0bGUnLCAnc3ViTGV2ZWxzJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1tZW51JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnY2xpY2thYmxlJywgJ2RhcmtNb2RlJywgJ2ZpcnN0TGV2ZWxJY29uJywgJ2ZpcnN0TGV2ZWxJZCcsICdmaXJzdExldmVsTGluaycsICdmaXJzdExldmVsVGl0bGUnLCAnc3ViTGV2ZWxzJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldE1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLlRldE1lbnUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFya01vZGUnLCAnZmlyc3RMZXZlbElkJywgJ2ZpcnN0TGV2ZWxMaW5rJywgJ2ZpcnN0TGV2ZWxUaXRsZScsICdpc0FjdGl2ZScsICdzdWJMZXZlbHMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1tZW51LW1vYmlsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFya01vZGUnLCAnZmlyc3RMZXZlbElkJywgJ2ZpcnN0TGV2ZWxMaW5rJywgJ2ZpcnN0TGV2ZWxUaXRsZScsICdpc0FjdGl2ZScsICdzdWJMZXZlbHMnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TWVudU1vYmlsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldE1lbnVNb2JpbGUgZXh0ZW5kcyBDb21wb25lbnRzLlRldE1lbnVNb2JpbGUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGVudCcsICdkaWFsb2dEYXRhU2NyZWVuS2V5JywgJ2lzT3BlbicsICdsYW5ndWFnZScsICdzdGVwcycsICd0ZXREaWFsb2dDbGFzcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW11bHRpLXN0ZXAtZGlhbG9nJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250ZW50JywgJ2RpYWxvZ0RhdGFTY3JlZW5LZXknLCAnaXNPcGVuJywgJ2xhbmd1YWdlJywgJ3N0ZXBzJywgJ3RldERpYWxvZ0NsYXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE11bHRpU3RlcERpYWxvZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldE11bHRpU3RlcERpYWxvZyBleHRlbmRzIENvbXBvbmVudHMuVGV0TXVsdGlTdGVwRGlhbG9nIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtNb2RlJ10sXG4gIG1ldGhvZHM6IFsnc2hvd1RvZ2dsZXInLCAnaGlkZVRvZ2dsZXInLCAnb3BlbicsICdjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW5hdmlnYXRpb24tbW9iaWxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrTW9kZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXROYXZpZ2F0aW9uTW9iaWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnbWFpbkRyb3Bkb3duVG9nZ2xlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldE5hdmlnYXRpb25Nb2JpbGUgZXh0ZW5kcyBDb21wb25lbnRzLlRldE5hdmlnYXRpb25Nb2JpbGUge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIGJlIGVtaXR0ZWQgb24gdGhlIGBpc1RvZ2dsZXJFeHBhbmRlZGAgdmFsdWUgY2hhbmdlLlxuICAgKi9cbiAgbWFpbkRyb3Bkb3duVG9nZ2xlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd0Nsb3NlJywgJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2NvbnRlbnQnLCAnaGVhZGVyVGl0bGUnLCAnaWNvbicsICd0aGVtZScsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1ub3RpZmljYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbG93Q2xvc2UnLCAnYW5pbWF0aW9uRHVyYXRpb24nLCAnY29udGVudCcsICdoZWFkZXJUaXRsZScsICdpY29uJywgJ3RoZW1lJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Tm90aWZpY2F0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Tm90aWZpY2F0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZXROb3RpZmljYXRpb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2J1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdjb21wbGV0ZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGVscGVyVGV4dCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ3NlbGVjdE9uRm9jdXMnLCAnc3VmZml4ZXMnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydnZXRWYWx1ZScsICdyZXNldFN1ZmZpeCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW51bWJlci1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2J1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdjb21wbGV0ZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGVscGVyVGV4dCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ3NlbGVjdE9uRm9jdXMnLCAnc3VmZml4ZXMnLCAndGhlbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TnVtYmVySW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnB1dFZhbHVlQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXROdW1iZXJJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0TnVtYmVySW5wdXQge1xuICAvKipcbiAgICogRW1pdHMgaW5wdXQgZXZlbnRcbiAgICovXG4gIGlucHV0VmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdoZWlnaHQnLCAnd2lkdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1wbGFjZWhvbGRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2hlaWdodCcsICd3aWR0aCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRQbGFjZWhvbGRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFBsYWNlaG9sZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRQbGFjZWhvbGRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWNrZ3JvdW5kJywgJ2NlbnRzUHJpY2UnLCAnZXVyb1ByaWNlJywgJ2ZvbnQnLCAnZm9vdGVyVGV4dCcsICdmb290ZXJUZXh0VHlwZScsICdoZWFkaW5nVGV4dCcsICdwcmljZVR5cGUnLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXByaWNlLXZpZXcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnY2VudHNQcmljZScsICdldXJvUHJpY2UnLCAnZm9udCcsICdmb290ZXJUZXh0JywgJ2Zvb3RlclRleHRUeXBlJywgJ2hlYWRpbmdUZXh0JywgJ3ByaWNlVHlwZScsICdzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFByaWNlVmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFByaWNlVmlldyBleHRlbmRzIENvbXBvbmVudHMuVGV0UHJpY2VWaWV3IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lucHV0QXV0b2ZvY3VzJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRDaGVja2VkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcmFkaW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lucHV0QXV0b2ZvY3VzJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0UmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVjayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgUmFkaW9DaGVja0V2ZW50SW50ZXJmYWNlIGFzIElUZXRSYWRpb1JhZGlvQ2hlY2tFdmVudEludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0UmFkaW8gZXh0ZW5kcyBDb21wb25lbnRzLlRldFJhZGlvIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIGNvbnRyb2wgZWxlbWVudCBpcyBjaGVja2VkLlxuICAgKi9cbiAgY2hlY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0UmFkaW9SYWRpb0NoZWNrRXZlbnRJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWRkQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2RhdGFQb2ludHMnLCAnZGF0YVVuaXRzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNwbGF5RGF0YVBvaW50cycsICdpbnB1dE1heFZhbHVlJywgJ2xvY2tUb0RhdGFQb2ludCcsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdudW1iZXJJbnB1dEFjY2Vzc2liaWxpdHlMYWJlbCcsICdwYXJlbnRDb250YWluZXInLCAncmVkdWNlQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ3NpemUnLCAnc2xpZGVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAnc3RlcCcsICd0aGVtZScsICd0eXBlJywgJ3dpdGhDb250cm9scycsICd3aXRoQ3VycmVudFN0ZXBDb3VudGVyJywgJ3dpdGhJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJhbmdlLXNsaWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2RhdGFQb2ludHMnLCAnZGF0YVVuaXRzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNwbGF5RGF0YVBvaW50cycsICdpbnB1dE1heFZhbHVlJywgJ2xvY2tUb0RhdGFQb2ludCcsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdudW1iZXJJbnB1dEFjY2Vzc2liaWxpdHlMYWJlbCcsICdwYXJlbnRDb250YWluZXInLCAncmVkdWNlQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ3NpemUnLCAnc2xpZGVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAnc3RlcCcsICd0aGVtZScsICd0eXBlJywgJ3dpdGhDb250cm9scycsICd3aXRoQ3VycmVudFN0ZXBDb3VudGVyJywgJ3dpdGhJbnB1dCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRSYW5nZVNsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NsaWRlci1pbnB1dCcsICdzbGlkZXItY2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFJhbmdlU2xpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSYW5nZVNsaWRlciB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIG9uIHNsaWRlciBpbnB1dC5cbiAgICovXG4gICdzbGlkZXItaW5wdXQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIG9uIHNsaWRlciBjaGFuZ2UuXG4gICAqL1xuICAnc2xpZGVyLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0YScsICdsYW5ndWFnZScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJlZmVycmFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXRhJywgJ2xhbmd1YWdlJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFJlZmVycmFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndXJsQ29waWVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFJlZmVycmFsIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSZWZlcnJhbCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCB3aGVuIHRoZSBsaW5rIGlzIGNvcGllZCB0byB0aGUgY2xpcGJvYXJkLlxuICAgKi9cbiAgdXJsQ29waWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmb3JjZWRDb2x1bW4nLCAnaGlkZUljb25zJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcm91bmQtc3RlcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZm9yY2VkQ29sdW1uJywgJ2hpZGVJY29ucycsICdzdGVwcGVyRGF0YScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRSb3VuZFN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRSb3VuZFN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFJvdW5kU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpZGVudGlmaWVyJywgJ2l0ZW1SZW5kZXJGdW5jdGlvbicsICdpdGVtcycsICdtdWx0aXBsZVNlbGVjdGlvbnMnLCAncHJlU2VsZWN0ZWRJdGVtcyddLFxuICBtZXRob2RzOiBbJ3Vuc2V0U2VsZWN0ZWRJdGVtcycsICdnZXRTZWxlY3RlZEl0ZW1zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc2VsZWN0aW9uLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2lkZW50aWZpZXInLCAnaXRlbVJlbmRlckZ1bmN0aW9uJywgJ2l0ZW1zJywgJ211bHRpcGxlU2VsZWN0aW9ucycsICdwcmVTZWxlY3RlZEl0ZW1zJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFNlbGVjdGlvbkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpdGVtU2VsZWN0ZWQnLCAnc2VsZWN0aW9uTGlzdFJlbmRlcmVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFNlbGVjdGlvbkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRldFNlbGVjdGlvbkxpc3Qge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIGFuIGl0ZW0gaXMgc2VsZWN0ZWQgb3IgZGUtc2VsZWN0ZWQuXG4gICAqL1xuICBpdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cbiAgICovXG4gIHNlbGVjdGlvbkxpc3RSZW5kZXJlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJywgJ3RoZW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydzZXRQcm9ncmVzcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXNwaW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAndGhlbWUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuVGV0U3Bpbm5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGVwcGVyRGF0YSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTdGVwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdsYW5ndWFnZScsICdtYXgnLCAnbWluJywgJ3NlbGVjdE9uRm9jdXMnLCAnc3RlcCcsICd0aGVtZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldFZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3RlcHBlci1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2xhbmd1YWdlJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdGVwJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXJJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lucHV0VmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN0ZXBwZXJJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlcklucHV0IHtcbiAgLyoqXG4gICAqIEVtaXRzIGlucHV0IGV2ZW50XG4gICAqL1xuICBpbnB1dFZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXItdjInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXJWMiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN0ZXBwZXJWMiBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlclYyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3RlcHBlci12MycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc3RlcHBlckRhdGEnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0U3RlcHBlclYzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U3RlcHBlclYzIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTdGVwcGVyVjMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbGFiZWwnLCAnbmFtZScsICd0aGVtZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldENoZWNrZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zd2l0Y2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0U3dpdGNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2hlY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN3aXRjaENoZWNrRXZlbnRJbnRlcmZhY2UgYXMgSVRldFN3aXRjaFN3aXRjaENoZWNrRXZlbnRJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN3aXRjaCBleHRlbmRzIENvbXBvbmVudHMuVGV0U3dpdGNoIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIGNvbnRyb2wgZWxlbWVudCBpcyBjaGVja2VkLlxuICAgKi9cbiAgY2hlY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0U3dpdGNoU3dpdGNoQ2hlY2tFdmVudEludGVyZmFjZT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXRhTmFtZScsICdkZWZhdWx0VGFiJywgJ3BhcmVudENvbnRhaW5lcicsICd1c2VWaXNpYmlsaXR5J10sXG4gIG1ldGhvZHM6IFsnaW5pdCcsICdzZWxlY3RUYWInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWItY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0YU5hbWUnLCAnZGVmYXVsdFRhYicsICdwYXJlbnRDb250YWluZXInLCAndXNlVmlzaWJpbGl0eSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWJDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGFiU2VsZWN0ZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFRhYlNlbGVjdEV2ZW50RGF0YSBhcyBJVGV0VGFiQ29udGVudFRhYlNlbGVjdEV2ZW50RGF0YSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGFiQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuVGV0VGFiQ29udGVudCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdHJpZ2dlcmVkIG9uIHNlbGVjdGlvbiBvZiB0aGUgdGFiLlxuICAgKi9cbiAgdGFiU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0VGFiQ29udGVudFRhYlNlbGVjdEV2ZW50RGF0YT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvcGxheURlbGF5JywgJ2RhcmtNb2RlJywgJ2RhdGFOYW1lJywgJ2RlZmF1bHRUYWInLCAnaGlkZUFjdGl2ZUhlYWRlclVuZGVybGluZScsICdoaWRlSGVhZGVyVW5kZXJsaW5lJywgJ3Bvc2l0aW9uJywgJ3NlZ21lbnRlZCcsICdzaXppbmcnLCAnc3RvcEF1dG9wbGF5T25Db250ZW50SG92ZXInLCAnc3RvcEF1dG9wbGF5T25IZWFkZXJIb3ZlcicsICd0aGVtZScsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlQXV0b3BsYXknLCAnc3RvcEF1dG9wbGF5JywgJ3N0YXJ0QXV0b3BsYXknLCAnc2VsZWN0VGFiJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFiLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b3BsYXlEZWxheScsICdkYXJrTW9kZScsICdkYXRhTmFtZScsICdkZWZhdWx0VGFiJywgJ2hpZGVBY3RpdmVIZWFkZXJVbmRlcmxpbmUnLCAnaGlkZUhlYWRlclVuZGVybGluZScsICdwb3NpdGlvbicsICdzZWdtZW50ZWQnLCAnc2l6aW5nJywgJ3N0b3BBdXRvcGxheU9uQ29udGVudEhvdmVyJywgJ3N0b3BBdXRvcGxheU9uSGVhZGVySG92ZXInLCAndGhlbWUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWJIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0YWJTZWxlY3RlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGFiU2VsZWN0RXZlbnREYXRhIGFzIElUZXRUYWJIZWFkZXJUYWJTZWxlY3RFdmVudERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYkhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0VGFiSGVhZGVyIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0cmlnZ2VyZWQgb24gdGFiIHNlbGVjdGlvbi5cbiAgICovXG4gIHRhYlNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFRhYkhlYWRlclRhYlNlbGVjdEV2ZW50RGF0YT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXB0aW9uJywgJ2NlbGxUZXh0QWxpZ24nLCAnZ2FwcGVkQ29sdW1uTGF5b3V0JywgJ3RhYmxlRGF0YScsICd0YWJsZUhlYWRlcicsICd0YWJsZUhlYWRlckNvbHVtblNwYW4nLCAndGFibGVIZWFkZXJUZXh0QWxpZ24nLCAndGFibGVIZWFkZXJXaWR0aCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYXB0aW9uJywgJ2NlbGxUZXh0QWxpZ24nLCAnZ2FwcGVkQ29sdW1uTGF5b3V0JywgJ3RhYmxlRGF0YScsICd0YWJsZUhlYWRlcicsICd0YWJsZUhlYWRlckNvbHVtblNwYW4nLCAndGFibGVIZWFkZXJUZXh0QWxpZ24nLCAndGFibGVIZWFkZXJXaWR0aCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUYWJsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY291bnQnLCAnZGlzYWJsZWQnLCAnbGFuZ3VhZ2UnLCAnc2hvd0ljb24nLCAndGFnVGl0bGUnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb3VudCcsICdkaXNhYmxlZCcsICdsYW5ndWFnZScsICdzaG93SWNvbicsICd0YWdUaXRsZScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUYWcgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhZyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYW5ndWFnZScsICd0YWdzJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFnLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYW5ndWFnZScsICd0YWdzJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRhZ0dyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGFnR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhZ0dyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlY2ltYWxQcmVmaXgnLCAnZGVjaW1hbFN0YXJ0JywgJ2xpc3RJY29uJywgJ2xpc3RUeXBlJywgJ3RoZW1lJywgJ3dpdGhJY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGV4dC1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWNpbWFsUHJlZml4JywgJ2RlY2ltYWxTdGFydCcsICdsaXN0SWNvbicsICdsaXN0VHlwZScsICd0aGVtZScsICd3aXRoSWNvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUZXh0TGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRleHRMaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUZXh0TGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvck1lc3NhZ2VzJywgJ2xhYmVsJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGV4dGFyZWEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yTWVzc2FnZXMnLCAnbGFiZWwnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGV4dGFyZWEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuVGV0VGV4dGFyZWEge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY3RhQnV0dG9uRGVzY3JpcHRpb24nLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UeXBlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja0ljb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10aGFuay15b3UtdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3RhQnV0dG9uRGVzY3JpcHRpb24nLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UeXBlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja0ljb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGhhbmtZb3VWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3RhQnV0dG9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGhhbmtZb3VWaWV3IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUaGFua1lvdVZpZXcge1xuICAvKipcbiAgICogVGhlIGNsaWNrIGV2ZW50IGVtaXR0ZXIgb2YgdGhlIENUQSBidXR0b24uXG4gICAqL1xuICBjdGFCdXR0b25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY3RhQnV0dG9uSWQnLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UaGVtZScsICdjdGFCdXR0b25UeXBlJywgJ2ljb24nLCAnbGFuZ3VhZ2UnLCAnbWFpbkJsb2NrRGVzY3JpcHRpb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnLCAndHJhbnNsYXRpb25Hcm91cCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRoYW5rLXlvdS12aWV3LXYyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdGFCdXR0b25JZCcsICdjdGFCdXR0b25MYWJlbCcsICdjdGFCdXR0b25TaXplJywgJ2N0YUJ1dHRvblRoZW1lJywgJ2N0YUJ1dHRvblR5cGUnLCAnaWNvbicsICdsYW5ndWFnZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tUaXRsZScsICdzdGVwcGVyRGF0YScsICd0aGVtZScsICd0cmFuc2xhdGlvbkdyb3VwJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRoYW5rWW91Vmlld1YyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3RhQnV0dG9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGhhbmtZb3VWaWV3VjIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRoYW5rWW91Vmlld1YyIHtcbiAgLyoqXG4gICAqIFRoZSBjbGljayBldmVudCBlbWl0dGVyIG9mIHRoZSBDVEEgYnV0dG9uLlxuICAgKi9cbiAgY3RhQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbklkJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVGhlbWUnLCAnY3RhQnV0dG9uVHlwZScsICdpY29uJywgJ2xhbmd1YWdlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJywgJ3RyYW5zbGF0aW9uR3JvdXAnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10aGFuay15b3Utdmlldy12MycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3RhQnV0dG9uSWQnLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UaGVtZScsICdjdGFCdXR0b25UeXBlJywgJ2ljb24nLCAnbGFuZ3VhZ2UnLCAnbWFpbkJsb2NrRGVzY3JpcHRpb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnLCAndHJhbnNsYXRpb25Hcm91cCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUaGFua1lvdVZpZXdWMyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0YUJ1dHRvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRoYW5rWW91Vmlld1YzIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUaGFua1lvdVZpZXdWMyB7XG4gIC8qKlxuICAgKiBUaGUgY2xpY2sgZXZlbnQgZW1pdHRlciBvZiB0aGUgQ1RBIGJ1dHRvbi5cbiAgICovXG4gIGN0YUJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkb05vdFNob3dPbkhvdmVyJywgJ2hvdmVyRWxlbWVudCcsICdwb3NpdGlvbicsICd0YXJnZXRFbGVtZW50U2VsZWN0b3InLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9nZ2xlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdG9vbHRpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZG9Ob3RTaG93T25Ib3ZlcicsICdob3ZlckVsZW1lbnQnLCAncG9zaXRpb24nLCAndGFyZ2V0RWxlbWVudFNlbGVjdG9yJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUb29sdGlwIHt9XG5cblxuIl19
|