barsa-novin-ray-core 1.0.379 → 1.0.381

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.
@@ -21,6 +21,7 @@ export class FormBaseComponent extends BaseComponent {
21
21
  this._activatedRoute = _activatedRoute;
22
22
  this._cdr = _cdr;
23
23
  this.id = `form_${getUniqueId(4)}`;
24
+ this.fullscreen = false;
24
25
  this.formClose = new EventEmitter();
25
26
  this._formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {
26
27
  this.isSearchPanel = isSearchPanel;
@@ -99,6 +100,9 @@ export class FormBaseComponent extends BaseComponent {
99
100
  onClose() {
100
101
  this.context.fireEvent('RequestForClose', this.context);
101
102
  }
103
+ onFullscreen() {
104
+ this.fullscreen = !this.fullscreen;
105
+ }
102
106
  onToolbarClick(btn) {
103
107
  this._formPanelService.toolbarClick(btn);
104
108
  }
@@ -154,7 +158,7 @@ export class FormBaseComponent extends BaseComponent {
154
158
  }
155
159
  }
156
160
  FormBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormBaseComponent, deps: [{ token: i1.BreadcrumbService }, { token: i1.PortalService }, { token: i2.Router }, { token: i0.ElementRef }, { token: i3.ControlUiPipe }, { token: i4.FormPanelService, self: true }, { token: i2.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
157
- FormBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FormBaseComponent, selector: "bnrc-form-base", inputs: { context: "context" }, outputs: { formClose: "formClose" }, host: { properties: { "attr.id": "this.id" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
161
+ FormBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FormBaseComponent, selector: "bnrc-form-base", inputs: { context: "context" }, outputs: { formClose: "formClose" }, host: { properties: { "attr.id": "this.id", "class.fullscreen": "this.fullscreen" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
158
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormBaseComponent, decorators: [{
159
163
  type: Component,
160
164
  args: [{
@@ -167,9 +171,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
167
171
  }] }, { type: i2.ActivatedRoute }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
168
172
  type: HostBinding,
169
173
  args: ['attr.id']
174
+ }], fullscreen: [{
175
+ type: HostBinding,
176
+ args: ['class.fullscreen']
170
177
  }], context: [{
171
178
  type: Input
172
179
  }], formClose: [{
173
180
  type: Output
174
181
  }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2Zvcm0tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUdaLHVCQUF1QixFQUV2QixJQUFJLEVBRUosV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVl2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBK0NoRCxZQUNjLGtCQUFxQyxFQUNyQyxjQUE2QixFQUM3QixPQUFlLEVBQ2YsR0FBZSxFQUNmLGNBQTZCLEVBQ3JCLGlCQUFtQyxFQUMzQyxlQUErQixFQUMvQixJQUF1QjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQVRFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQzNDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixT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Q0FBQyxDQUFDLENBQUM7U0FDekQ7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ1Msd0JBQXdCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2QsT0FBTztTQUNWO1FBQ0QsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNTLFlBQVk7UUFDbEIsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBNEIsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUNPLGFBQWE7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRyxDQUFDOzs4R0EzTVEsaUJBQWlCO2tHQUFqQixpQkFBaUIsa01BSGhCLEVBQUU7MkZBR0gsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBc0RRLElBQUk7eUdBcERlLEVBQUU7c0JBQXpCLFdBQVc7dUJBQUMsU0FBUztnQkFDYixPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgQ29tcG9uZW50LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBFbGVtZW50UmVmLFxuICAgIFNlbGYsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsLCBtZXJnZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0RGV2aWNlSXNNb2JpbGUsIGdldFBhcmVudEhlaWdodCwgZ2V0VW5pcXVlSWQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRm9ybVBhbmVsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Zvcm0tcGFuZWwuc2VydmljZSc7XG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcbmltcG9ydCB7XG4gICAgRm9ybVNldHRpbmcsXG4gICAgRm9ybVZpZXdTZXR0aW5nLFxuICAgIEZvcm1WaXNpYmlsaXR5U3RhdHVzLFxuICAgIElIZWFkZXJMYXlvdXQsXG4gICAgTGF5b3V0U2V0dGluZyxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsXG59IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEJyZWFkY3J1bWJTZXJ2aWNlLCBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ29udHJvbFVpUGlwZSB9IGZyb20gJy4uL3BpcGVzJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZnJvbUludGVyc2VjdGlvbk9ic2VydmVyIH0gZnJvbSAnLi4vZnJvbS1pbnRlcnNlY3Rpb24tb2JzZXJ2ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtZm9ybS1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkID0gYGZvcm1fJHtnZXRVbmlxdWVJZCg0KX1gO1xuICAgIEBJbnB1dCgpIGNvbnRleHQ6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICBjb25maWc6IGFueTtcbiAgICAgICAgU2V0dGluZzogRm9ybVNldHRpbmc7XG4gICAgfTtcbiAgICBAT3V0cHV0KCkgZm9ybUNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIGxpc3RGaWVsZFVpOiBhbnk7XG4gICAgaXNXaXphcmQ6IGJvb2xlYW47XG4gICAgcGFyYW1ldGVyczogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBpc01vYmlsZTogYm9vbGVhbjtcblxuICAgIHRvb2xiYXJWaXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoaWRlQ2xvc2UkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhpZGVUaXRsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaGlkZVBpbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgdGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgdG9vbGJhckl0ZW1zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgd29ya2Zsb3dCdXR0b25zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgaGVhZGVyTGF5b3V0JDogT2JzZXJ2YWJsZTxJSGVhZGVyTGF5b3V0IHwgbnVsbD47XG4gICAgbGF5b3V0OTQkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgbGF5b3V0OTQ6IGFueTtcbiAgICBtYXhDb250ZW50V2lkdGgkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgZm9ybVdpZHRoJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhlYWRlckRlc2NyaXB0aW9uJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoZWFkZXJTdWJ0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBhdmF0YXIkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgd29ya2Zsb3dQYW5lbFVpJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHZpZXckOiBPYnNlcnZhYmxlPEZvcm1WaWV3U2V0dGluZz47XG4gICAgbW8kOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsPjtcbiAgICBpc1NpbXBsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZmllbGREaWN0JDogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgdW5kZWZpbmVkPjtcbiAgICBtYXNrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc1NlYXJjaFBhbmVsOiBib29sZWFuO1xuICAgIGlzTW9kYWw6IGJvb2xlYW47XG4gICAgaXNTdWJGb3JtOiBib29sZWFuO1xuICAgIG1vZGVyblRhYnMkOiBPYnNlcnZhYmxlPExheW91dFNldHRpbmdbXT47XG4gICAgaXNGb3JtUmVwb3J0OiBib29sZWFuO1xuICAgIGxhbmRzY2FwZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgc3RhbmRhbG9uZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHJvdGVjdGVkIF9zdHlsZTogSFRNTFN0eWxlRWxlbWVudDtcbiAgICBwcm90ZWN0ZWQgX3N0YW5kYWxvbmU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfZm9ybUludGVyc2VjdGlvbjogYW55O1xuICAgIGZvcm1WaXNpYmlsaXR5U3RhdHVzOiBGb3JtVmlzaWJpbGl0eVN0YXR1cztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX2JyZWFkY3J1bWJTZXJ2aWNlOiBCcmVhZGNydW1iU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX2NvbnRyb2xVaVBpcGU6IENvbnRyb2xVaVBpcGUsXG4gICAgICAgIEBTZWxmKCkgcHJvdGVjdGVkIF9mb3JtUGFuZWxTZXJ2aWNlOiBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaXNTZWFyY2hQYW5lbCQuc3Vic2NyaWJlKChpc1NlYXJjaFBhbmVsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzU2VhcmNoUGFuZWwgPSBpc1NlYXJjaFBhbmVsO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5oaWRlQ2xvc2UkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oaWRlQ2xvc2UkO1xuICAgICAgICB0aGlzLmhpZGVUaXRsZSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhpZGVUaXRsZSQ7XG4gICAgICAgIHRoaXMuaGlkZVBpbiQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhpZGVQaW4kO1xuICAgICAgICB0aGlzLnRvb2xiYXJWaXNpYmxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudG9vbGJhclZpc2libGUkO1xuICAgICAgICB0aGlzLnRpdGxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudGl0bGUkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHRpdGxlKSA9PiAoIXRpdGxlID8gJycgOiBnZXREZXZpY2VJc01vYmlsZSgpID8gdGl0bGUuc3BsaXQoJzonKVswXSA6IHRpdGxlKSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy50b29sYmFySXRlbXMkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS50b29sYmFySXRlbXMkO1xuICAgICAgICB0aGlzLndvcmtmbG93QnV0dG9ucyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLndvcmtmbG93QnV0dG9ucyQ7XG4gICAgICAgIHRoaXMuaGVhZGVyTGF5b3V0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGVhZGVyTGF5b3V0JDtcbiAgICAgICAgdGhpcy5sYXlvdXQ5NCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmxheW91dCQ7XG4gICAgICAgIHRoaXMubWF4Q29udGVudFdpZHRoJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubWF4Q29udGVudFdpZHRoJDtcbiAgICAgICAgdGhpcy5mb3JtV2lkdGgkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5mb3JtV2lkdGgkO1xuICAgICAgICB0aGlzLmhlYWRlclN1YnRpdGxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGVhZGVyU3VidGl0bGUkO1xuICAgICAgICB0aGlzLmF2YXRhciQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmF2YXRhciQ7XG4gICAgICAgIHRoaXMud29ya2Zsb3dQYW5lbFVpJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uud29ya2Zsb3dQYW5lbFVpJDtcbiAgICAgICAgdGhpcy52aWV3JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudmlldyQ7XG4gICAgICAgIHRoaXMubW8kID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5tbyQ7XG4gICAgICAgIHRoaXMuZmllbGREaWN0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuZmllbGREaWN0JDtcbiAgICAgICAgdGhpcy5pc1NpbXBsZSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmlzU2ltcGxlRm9ybSQ7XG4gICAgICAgIHRoaXMubWFzayQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLm1hc2skO1xuICAgICAgICB0aGlzLmhlYWRlckRlc2NyaXB0aW9uJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGVhZGVyRGVzY3JpcHRpb24kO1xuICAgICAgICB0aGlzLmhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmNvbnRleHQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS52aWV3JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubGFuZHNjYXBlJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UubGFuZHNjYXBlJDtcbiAgICAgICAgdGhpcy5zdGFuZGFsb25lJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2Uuc3RhbmRhbG9uZSQ7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2Uuc3RhbmRhbG9uZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoYykgPT4gKHRoaXMuX3N0YW5kYWxvbmUgPSBjKSk7XG4gICAgfVxuICAgIGdldCBmb3JjZUNsb3NlJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuZm9yY2VDbG9zZSQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY29udGV4dCA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgdGhpcy5pc01vYmlsZSA9IGdldERldmljZUlzTW9iaWxlKCk7XG4gICAgICAgIHRoaXMubGlzdEZpZWxkVWkgPSB0aGlzLmNvbnRleHQuX2RpY3RGaWVsZFVpO1xuXG4gICAgICAgIHRoaXMuaXNNb2RhbCA9IHRoaXMuY29udGV4dC5TZXR0aW5nPy5Jc01vZGFsO1xuICAgICAgICB0aGlzLmlzU3ViRm9ybSA9IHRoaXMuY29udGV4dC5Jc1N1YkZvcm07XG4gICAgICAgIHRoaXMuaXNGb3JtUmVwb3J0ID0gdGhpcy5jb250ZXh0LklzRm9ybVJlcG9ydDtcbiAgICAgICAgdGhpcy5fc2V0UGFyYW10ZXJzKCk7XG4gICAgICAgIHRoaXMuX2FkZER5bmFtaWNGb3JtU3R5bGVzKHRoaXMucGFyYW1ldGVycz8uQ3NzU3R5bGVzKTtcbiAgICAgICAgdGhpcy5tb2Rlcm5UYWJzJCA9IHRoaXMubGF5b3V0OTQkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGMpID0+IGMpLFxuICAgICAgICAgICAgbWFwKChsYXlvdXQ5NCkgPT4gKHRoaXMubGF5b3V0OTQgPSBsYXlvdXQ5NCkpLFxuICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICAgIG1lcmdlKHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuZ3JvdXBMYXlvdXQkKSxcbiAgICAgICAgICAgIG1hcCgoXykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxheW91dDk0Lml0ZW1zWzBdLnh0eXBlICE9PSAnTHkuTGF5b3V0VGFiUGFuZWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgdGFiczogTGF5b3V0U2V0dGluZ1tdID0gdGhpcy5sYXlvdXQ5NC5pdGVtc1swXS5pdGVtcztcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFicy5maWx0ZXIoKGMpID0+IGMuVmlzaWJsZSAhPT0gZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9idGFpbkhlaWdodCgpO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS53aW5kb3dSZXNpemUkLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vYnRhaW5IZWlnaHQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2Zvcm1JbnRlcnNlY3Rpb24gPSBmcm9tSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgICAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJvb3Q6IG51bGwsXG4gICAgICAgICAgICAgICAgcm9vdE1hcmdpbjogJzBweCcsXG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiAwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uSW5WaWV3KGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2Zvcm1JbnRlcnNlY3Rpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX3JlbW92ZUR5bmFtaWNGb3JtU3R5bGVzKCk7XG4gICAgfVxuICAgIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1JlcXVlc3RGb3JDbG9zZScsIHRoaXMuY29udGV4dCk7XG4gICAgfVxuICAgIG9uVG9vbGJhckNsaWNrKGJ0bik6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnRvb2xiYXJDbGljayhidG4pO1xuICAgIH1cbiAgICBvbldvcmtmbG93Q2hvaWNlQ2xpY2sod2ZDaG9pY2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS53ZkNob2ljZSh3ZkNob2ljZSk7XG4gICAgfVxuICAgIGZpZWxkQ2hhbmdlKGZpZWxkTmFtZSwgdmFsdWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmllbGRVaSA9IHRoaXMuY29udGV4dC5fbGlzdEZpZWxkVWkuZmluZCgoYykgPT4gYy5TZXR0aW5nLkNvbnRyb2xOYW1lID09PSBmaWVsZE5hbWUpO1xuICAgICAgICBmaWVsZFVpLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIGZpZWxkVWkuZmlyZUV2ZW50KCdjaGFuZ2UnLCBmaWVsZFVpKTtcbiAgICB9XG4gICAgc2VhcmNoQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpZWxkVWkgPSB0aGlzLmNvbnRleHQuX2xpc3RGaWVsZFVpLmZpbmQoKGMpID0+IGMub3JpZ2luYWxYdHlwZSA9PT0gJ1VpLlNlYXJjaENvbW1hbmRJbmZvVWknKTtcblxuICAgICAgICBmaWVsZFVpLmZpcmVFdmVudChCYXJzYUFwaS5VbC5Gb3JtUGFuZWxDdHJsci5FdmVudEVudW0uU2VhcmNoQ2xpY2ssIGZpZWxkVWkpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX29uSW5WaWV3KGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVZpc2liaWxpdHlTdGF0dXMgPSBlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2FkZER5bmFtaWNGb3JtU3R5bGVzKGNzc1N0eWxlczogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghY3NzU3R5bGVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY3NzU3R5bGVzID0gY3NzU3R5bGVzLnJlcGxhY2UoLzpyb290L2dpLCBgIyR7dGhpcy5pZH1gKTtcbiAgICAgICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmhlYWQgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgICAgICAgY29uc3Qgc3R5bGU6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG5cbiAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cbiAgICAgICAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICAgIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIHJlcXVpcmVkIGZvciBJRTggYW5kIGJlbG93LlxuICAgICAgICAgICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzU3R5bGVzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzU3R5bGVzKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc3R5bGUgPSBzdHlsZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9yZW1vdmVEeW5hbWljRm9ybVN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zdHlsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gICAgICAgIGhlYWQucmVtb3ZlQ2hpbGQodGhpcy5fc3R5bGUpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgb2J0YWluSGVpZ2h0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnRIZWlnaHQgPSBnZXRQYXJlbnRIZWlnaHQodGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uuc2V0Rm9ybUhlaWdodChwYXJlbnRIZWlnaHQpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zZXRQYXJhbXRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuVmlldy5DdXN0b21VaS5QYXJhbWV0ZXJzJywgbnVsbCk7XG4gICAgfVxufVxuIl19
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2Zvcm0tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUdaLHVCQUF1QixFQUV2QixJQUFJLEVBRUosV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVl2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBaURoRCxZQUNjLGtCQUFxQyxFQUNyQyxjQUE2QixFQUM3QixPQUFlLEVBQ2YsR0FBZSxFQUNmLGNBQTZCLEVBQ3JCLGlCQUFtQyxFQUMzQyxlQUErQixFQUMvQixJQUF1QjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQVRFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQzNDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixT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RXRCLE9BQU87c0JBQWYsS0FBSztnQkFLSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBJbnB1dCxcbiAgICBDb21wb25lbnQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgU2VsZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwsIG1lcmdlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXREZXZpY2VJc01vYmlsZSwgZ2V0UGFyZW50SGVpZ2h0LCBnZXRVbmlxdWVJZCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS1wYW5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xuaW1wb3J0IHtcbiAgICBGb3JtU2V0dGluZyxcbiAgICBGb3JtVmlld1NldHRpbmcsXG4gICAgRm9ybVZpc2liaWxpdHlTdGF0dXMsXG4gICAgSUhlYWRlckxheW91dCxcbiAgICBMYXlvdXRTZXR0aW5nLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWxcbn0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYlNlcnZpY2UsIFBvcnRhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDb250cm9sVWlQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmcm9tSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfSBmcm9tICcuLi9mcm9tLWludGVyc2VjdGlvbi1vYnNlcnZlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1mb3JtLWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQmFzZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgaWQgPSBgZm9ybV8ke2dldFVuaXF1ZUlkKDQpfWA7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdWxsc2NyZWVuJykgZnVsbHNjcmVlbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgY29udGV4dDoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIGNvbmZpZzogYW55O1xuICAgICAgICBTZXR0aW5nOiBGb3JtU2V0dGluZztcbiAgICB9O1xuICAgIEBPdXRwdXQoKSBmb3JtQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgbGlzdEZpZWxkVWk6IGFueTtcbiAgICBpc1dpemFyZDogYm9vbGVhbjtcbiAgICBwYXJhbWV0ZXJzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIGlzTW9iaWxlOiBib29sZWFuO1xuXG4gICAgdG9vbGJhclZpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhpZGVDbG9zZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaGlkZVRpdGxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoaWRlUGluJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICB0b29sYmFySXRlbXMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICB3b3JrZmxvd0J1dHRvbnMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICBoZWFkZXJMYXlvdXQkOiBPYnNlcnZhYmxlPElIZWFkZXJMYXlvdXQgfCBudWxsPjtcbiAgICBsYXlvdXQ5NCQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBsYXlvdXQ5NDogYW55O1xuICAgIG1heENvbnRlbnRXaWR0aCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBmb3JtV2lkdGgkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgaGVhZGVyRGVzY3JpcHRpb24kOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhlYWRlclN1YnRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGF2YXRhciQ6IE9ic2VydmFibGU8YW55PjtcbiAgICB3b3JrZmxvd1BhbmVsVWkkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgdmlldyQ6IE9ic2VydmFibGU8Rm9ybVZpZXdTZXR0aW5nPjtcbiAgICBtbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGw+O1xuICAgIGlzU2ltcGxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmaWVsZERpY3QkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQ+O1xuICAgIG1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzU2VhcmNoUGFuZWw6IGJvb2xlYW47XG4gICAgaXNNb2RhbDogYm9vbGVhbjtcbiAgICBpc1N1YkZvcm06IGJvb2xlYW47XG4gICAgbW9kZXJuVGFicyQ6IE9ic2VydmFibGU8TGF5b3V0U2V0dGluZ1tdPjtcbiAgICBpc0Zvcm1SZXBvcnQ6IGJvb2xlYW47XG4gICAgbGFuZHNjYXBlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBzdGFuZGFsb25lJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBwcm90ZWN0ZWQgX3N0eWxlOiBIVE1MU3R5bGVFbGVtZW50O1xuICAgIHByb3RlY3RlZCBfc3RhbmRhbG9uZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9mb3JtSW50ZXJzZWN0aW9uOiBhbnk7XG4gICAgZm9ybVZpc2liaWxpdHlTdGF0dXM6IEZvcm1WaXNpYmlsaXR5U3RhdHVzO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY29udHJvbFVpUGlwZTogQ29udHJvbFVpUGlwZSxcbiAgICAgICAgQFNlbGYoKSBwcm90ZWN0ZWQgX2Zvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5pc1NlYXJjaFBhbmVsJC5zdWJzY3JpYmUoKGlzU2VhcmNoUGFuZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCA9IGlzU2VhcmNoUGFuZWw7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhpZGVDbG9zZSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhpZGVDbG9zZSQ7XG4gICAgICAgIHRoaXMuaGlkZVRpdGxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGlkZVRpdGxlJDtcbiAgICAgICAgdGhpcy5oaWRlUGluJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGlkZVBpbiQ7XG4gICAgICAgIHRoaXMudG9vbGJhclZpc2libGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS50b29sYmFyVmlzaWJsZSQ7XG4gICAgICAgIHRoaXMudGl0bGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS50aXRsZSQucGlwZShcbiAgICAgICAgICAgIG1hcCgodGl0bGUpID0+ICghdGl0bGUgPyAnJyA6IGdldERldmljZUlzTW9iaWxlKCkgPyB0aXRsZS5zcGxpdCgnOicpWzBdIDogdGl0bGUpKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnRvb2xiYXJJdGVtcyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnRvb2xiYXJJdGVtcyQ7XG4gICAgICAgIHRoaXMud29ya2Zsb3dCdXR0b25zJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uud29ya2Zsb3dCdXR0b25zJDtcbiAgICAgICAgdGhpcy5oZWFkZXJMYXlvdXQkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJMYXlvdXQkO1xuICAgICAgICB0aGlzLmxheW91dDk0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubGF5b3V0JDtcbiAgICAgICAgdGhpcy5tYXhDb250ZW50V2lkdGgkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5tYXhDb250ZW50V2lkdGgkO1xuICAgICAgICB0aGlzLmZvcm1XaWR0aCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmZvcm1XaWR0aCQ7XG4gICAgICAgIHRoaXMuaGVhZGVyU3VidGl0bGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJTdWJ0aXRsZSQ7XG4gICAgICAgIHRoaXMuYXZhdGFyJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuYXZhdGFyJDtcbiAgICAgICAgdGhpcy53b3JrZmxvd1BhbmVsVWkkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS53b3JrZmxvd1BhbmVsVWkkO1xuICAgICAgICB0aGlzLnZpZXckID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS52aWV3JDtcbiAgICAgICAgdGhpcy5tbyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLm1vJDtcbiAgICAgICAgdGhpcy5maWVsZERpY3QkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5maWVsZERpY3QkO1xuICAgICAgICB0aGlzLmlzU2ltcGxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaXNTaW1wbGVGb3JtJDtcbiAgICAgICAgdGhpcy5tYXNrJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubWFzayQ7XG4gICAgICAgIHRoaXMuaGVhZGVyRGVzY3JpcHRpb24kID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJEZXNjcmlwdGlvbiQ7XG4gICAgICAgIHRoaXMuaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJSZW1vdmVDb250ZW50UGFkZGluZyQ7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY29udGV4dCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnZpZXckLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5sYW5kc2NhcGUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5sYW5kc2NhcGUkO1xuICAgICAgICB0aGlzLnN0YW5kYWxvbmUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5zdGFuZGFsb25lJDtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5zdGFuZGFsb25lJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChjKSA9PiAodGhpcy5fc3RhbmRhbG9uZSA9IGMpKTtcbiAgICB9XG4gICAgZ2V0IGZvcmNlQ2xvc2UkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5mb3JjZUNsb3NlJDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jb250ZXh0ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICB0aGlzLmlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcbiAgICAgICAgdGhpcy5saXN0RmllbGRVaSA9IHRoaXMuY29udGV4dC5fZGljdEZpZWxkVWk7XG5cbiAgICAgICAgdGhpcy5pc01vZGFsID0gdGhpcy5jb250ZXh0LlNldHRpbmc/LklzTW9kYWw7XG4gICAgICAgIHRoaXMuaXNTdWJGb3JtID0gdGhpcy5jb250ZXh0LklzU3ViRm9ybTtcbiAgICAgICAgdGhpcy5pc0Zvcm1SZXBvcnQgPSB0aGlzLmNvbnRleHQuSXNGb3JtUmVwb3J0O1xuICAgICAgICB0aGlzLl9zZXRQYXJhbXRlcnMoKTtcbiAgICAgICAgdGhpcy5fYWRkRHluYW1pY0Zvcm1TdHlsZXModGhpcy5wYXJhbWV0ZXJzPy5Dc3NTdHlsZXMpO1xuICAgICAgICB0aGlzLm1vZGVyblRhYnMkID0gdGhpcy5sYXlvdXQ5NCQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoYykgPT4gYyksXG4gICAgICAgICAgICBtYXAoKGxheW91dDk0KSA9PiAodGhpcy5sYXlvdXQ5NCA9IGxheW91dDk0KSksXG4gICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgICAgICAgICAgbWVyZ2UodGhpcy5fZm9ybVBhbmVsU2VydmljZS5ncm91cExheW91dCQpLFxuICAgICAgICAgICAgbWFwKChfKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0OTQuaXRlbXNbMF0ueHR5cGUgIT09ICdMeS5MYXlvdXRUYWJQYW5lbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB0YWJzOiBMYXlvdXRTZXR0aW5nW10gPSB0aGlzLmxheW91dDk0Lml0ZW1zWzBdLml0ZW1zO1xuICAgICAgICAgICAgICAgIHJldHVybiB0YWJzLmZpbHRlcigoYykgPT4gYy5WaXNpYmxlICE9PSBmYWxzZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub2J0YWluSGVpZ2h0KCk7XG4gICAgICAgIH0sIDApO1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLndpbmRvd1Jlc2l6ZSQuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9idGFpbkhlaWdodCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZm9ybUludGVyc2VjdGlvbiA9IGZyb21JbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgICAgIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcm9vdDogbnVsbCxcbiAgICAgICAgICAgICAgICByb290TWFyZ2luOiAnMHB4JyxcbiAgICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAxMDAsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25JblZpZXcoZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5fZm9ybUludGVyc2VjdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5fcmVtb3ZlRHluYW1pY0Zvcm1TdHlsZXMoKTtcbiAgICB9XG4gICAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnUmVxdWVzdEZvckNsb3NlJywgdGhpcy5jb250ZXh0KTtcbiAgICB9XG4gICAgb25GdWxsc2NyZWVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZ1bGxzY3JlZW4gPSAhdGhpcy5mdWxsc2NyZWVuO1xuICAgIH1cbiAgICBvblRvb2xiYXJDbGljayhidG4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS50b29sYmFyQ2xpY2soYnRuKTtcbiAgICB9XG4gICAgb25Xb3JrZmxvd0Nob2ljZUNsaWNrKHdmQ2hvaWNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uud2ZDaG9pY2Uod2ZDaG9pY2UpO1xuICAgIH1cbiAgICBmaWVsZENoYW5nZShmaWVsZE5hbWUsIHZhbHVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpZWxkVWkgPSB0aGlzLmNvbnRleHQuX2xpc3RGaWVsZFVpLmZpbmQoKGMpID0+IGMuU2V0dGluZy5Db250cm9sTmFtZSA9PT0gZmllbGROYW1lKTtcbiAgICAgICAgZmllbGRVaS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICBmaWVsZFVpLmZpcmVFdmVudCgnY2hhbmdlJywgZmllbGRVaSk7XG4gICAgfVxuICAgIHNlYXJjaENsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWVsZFVpID0gdGhpcy5jb250ZXh0Ll9saXN0RmllbGRVaS5maW5kKChjKSA9PiBjLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5TZWFyY2hDb21tYW5kSW5mb1VpJyk7XG5cbiAgICAgICAgZmllbGRVaS5maXJlRXZlbnQoQmFyc2FBcGkuVWwuRm9ybVBhbmVsQ3RybHIuRXZlbnRFbnVtLlNlYXJjaENsaWNrLCBmaWVsZFVpKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9vbkluVmlldyhlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1WaXNpYmlsaXR5U3RhdHVzID0gZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9hZGREeW5hbWljRm9ybVN0eWxlcyhjc3NTdHlsZXM6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIWNzc1N0eWxlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNzc1N0eWxlcyA9IGNzc1N0eWxlcy5yZXBsYWNlKC86cm9vdC9naSwgYCMke3RoaXMuaWR9YCk7XG4gICAgICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gICAgICAgIGNvbnN0IHN0eWxlOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuXG4gICAgICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXG4gICAgICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgICAgICAgICAgLy8gVGhpcyBpcyByZXF1aXJlZCBmb3IgSUU4IGFuZCBiZWxvdy5cbiAgICAgICAgICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzc1N0eWxlcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzc1N0eWxlcykpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N0eWxlID0gc3R5bGU7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcmVtb3ZlRHluYW1pY0Zvcm1TdHlsZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc3R5bGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgICAgICBoZWFkLnJlbW92ZUNoaWxkKHRoaXMuX3N0eWxlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIG9idGFpbkhlaWdodCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyZW50SGVpZ2h0ID0gZ2V0UGFyZW50SGVpZ2h0KHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnNldEZvcm1IZWlnaHQocGFyZW50SGVpZ2h0KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0UGFyYW10ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLlZpZXcuQ3VzdG9tVWkuUGFyYW1ldGVycycsIG51bGwpO1xuICAgIH1cbn1cbiJdfQ==
@@ -181,4 +181,4 @@ export var SelectionMode;
181
181
  SelectionMode["MULTIPLE"] = "multiple";
182
182
  SelectionMode["NONE"] = "none";
183
183
  })(SelectionMode || (SelectionMode = {}));
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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TixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsc0NBQXFCLENBQUE7SUFDckIsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRGF0ZUluZm8gYXMgRGF0ZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vZGF0ZS1zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIENvbnRyb2xGaWVsZENhcHRpb246IHN0cmluZztcbiAgICBDb250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDogc3RyaW5nO1xuICAgIENvbnRyb2xGaWVsZERlZklkOiBzdHJpbmc7XG4gICAgQ29udHJvbE5hbWU6IHN0cmluZztcbiAgICBSZWxhdGVkRmllbGRMaXN0OiBbXTtcbiAgICBIaWRlOiBib29sZWFuO1xuICAgIHh0eXBlOiBzdHJpbmc7XG4gICAgTGFiZWxQb3NpdGlvbjogc3RyaW5nO1xuICAgIElzTWFuZGF0b3J5OiBib29sZWFuO1xuICAgIElzVmlzaWJsZTogYm9vbGVhbjtcbiAgICBTaG93TGFiZWwgPSB0cnVlO1xuICAgIElzUmVhZE9ubHk6IGJvb2xlYW47XG4gICAgSXNFbmFibGVkOiBib29sZWFuO1xuICAgIElzQm9sZDogYm9vbGVhbjtcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcbiAgICBKc29uRXh0cmFQcm9wOiBhbnkgfCBudWxsO1xuICAgIENvbXBvbmVudDogc3RyaW5nO1xuICAgIEluZm86IENvbnRyb2xJbmZvVHlwZXM7XG4gICAgRmllbGRJY29uOiBzdHJpbmc7XG4gICAgSXNMdHI6IGJvb2xlYW47XG4gICAgRGlzcGxheVR5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUF0dGFjaG1lbnRJbmZvIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgSWQ6IHN0cmluZztcbiAgICBJc05ldzogYm9vbGVhbjtcbiAgICBJc0RlbGV0ZWQ6IGJvb2xlYW47XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIEZpbGVOYW1lPzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgTWF4TGVuZ3RoOiBudW1iZXI7XG4gICAgTWluTGVuZ3RoOiBudW1iZXI7XG4gICAgUmVndWxhckV4cHJlc3Npb246IHN0cmluZztcbiAgICBJc1Bhc3N3b3JkOiBib29sZWFuO1xuICAgIElzTXVsdGlMaW5lOiBib29sZWFuO1xuICAgIE51bGxUZXh0OiBzdHJpbmc7XG4gICAgQWxsb3dlZFN0cmluZ0NoYXJzOiBzdHJpbmc7XG4gICAgT25seUFjY2VwdEN1cnJlbnRDdWx0dXJlOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFJpY2hTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgU3RyaW5nQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSXNIdG1sVmlld2VyOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIE51bWJlckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgTWluVmFsdWU6IG51bWJlcjtcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xuICAgIERlY2ltYWxQcmVjaXNpb246IG51bWJlcjtcbiAgICBTaG93VGhvdXNhbmRTZXBlcmF0b3I6IGJvb2xlYW47XG4gICAgTnVtYmVyVHlwZTogc3RyaW5nO1xuICAgIEN1cnJlbmN5U3ltYm9sOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRmlsZVBpY3R1cmVJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRXh0OiBzdHJpbmc7XG4gICAgRmlsZUlkOiBzdHJpbmc7XG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIEZpbGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIENhbkRlbGV0ZTogYm9vbGVhbjtcbiAgICBDYW5TYXZlOiBib29sZWFuO1xuICAgIENhblZpZXc6IGJvb2xlYW47XG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBNYXhGaWxlQ291bnQ6IG51bWJlcjtcbiAgICBNYXhGaWxlU2l6ZUtiOiBudW1iZXI7XG4gICAgT2ZmaWNlT25saW5lOiBib29sZWFuO1xuICAgIFZhbGlkRXh0ZW5zaW9uczogc3RyaW5nO1xuICAgIFZpZXdUeXBlOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgQ29tbWFuZENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgTWVudU5hbWU6IHN0cmluZztcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XG4gICAgRHluYW1pY0NvbW1hbmQ6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBJY29uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHt9XG5leHBvcnQgY2xhc3MgUGljdHVyZUZpbGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFNpemVNb2RlOiBudW1iZXI7XG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xuICAgIFZhbGlkRXh0ZW5zaW9uczogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEdhdWdlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xuICAgIE1heFZhbHVlMjogbnVtYmVyO1xuICAgIE1pblZhbHVlOiBudW1iZXI7XG4gICAgTWluVmFsdWUyOiBudW1iZXI7XG4gICAgVmFsdWU6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTGlzdFR5cGVzID1cbiAgICB8IFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEhpc3RvcnlDb250cm9sSW5mb01vZGVsXG4gICAgfCBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbDtcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcbiAgICBVbHZTZXR0aW5nOiBSZXBvcnRNb2RlbDtcbn1cbmV4cG9ydCBjbGFzcyBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEhhc0V4dGVybmFsUGFyYW1ldGVyOiBib29sZWFuO1xuICAgIFBhcmFtTmFtZTE6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcbiAgICBBdXRvU2F2ZTtcbn1cbmV4cG9ydCBjbGFzcyBSZWxhdGVkUmVwb3J0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBIYXNFeHRlcm5hbFBhcmFtZXRlcjogYm9vbGVhbjtcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XG4gICAgVWx2U2V0dGluZzogUmVwb3J0TW9kZWw7XG59XG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRXh0cmFUZXh0OiBzdHJpbmc7XG4gICAgU3VnZ2VzdGlvbnM6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBFbnVtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIFNob3dBc1JhZGlvQnV0dG9uOiBib29sZWFuO1xuICAgIEljb25EaXNwbGF5VHlwZTogc3RyaW5nO1xuICAgIERhdGFTb3VyY2U6IHtcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xuICAgIH07XG4gICAgRW1wdHlSb3dEYXRhOiBSb3dEYXRhT3B0aW9uO1xufVxuZXhwb3J0IGNsYXNzIFJvd0RhdGFPcHRpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgSXNFbXB0eTogYm9vbGVhbjtcbiAgICB0eHQ6IHN0cmluZztcbiAgICB0eHRfc2FmZT86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgQ2FsZW5kYXJUeXBlOiBzdHJpbmc7XG4gICAgRGF0ZUZvcm1hdDogc3RyaW5nO1xuICAgIFNob3dEYXRlMTogYm9vbGVhbjtcbiAgICBTaG93VGltZTE6IGJvb2xlYW47XG4gICAgVGltZUZvcm1hdDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEJvb2xDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEZhbHNlQ2FwdGlvbjogc3RyaW5nO1xuICAgIFRydWVDYXB0aW9uOiBzdHJpbmc7XG4gICAgVHJ1ZUljb246IHN0cmluZztcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xuICAgIEZhbHNlSWNvbjogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSW5uZXJDdHJscjogQ29udHJvbEluZm9UeXBlcztcbiAgICBFeGVjdXRhaW9uVGltZTogc3RyaW5nO1xuICAgIEVkaXRUeXBlOiBzdHJpbmc7XG4gICAgRG9udFNob3dSZWNhbGN1bGF0ZUJ1dHRvbjogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBTdWJmb3JtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBUeXBlRGVmSWQ6IGFueTtcbiAgICBUeXBlRGVmSWNvbjogc3RyaW5nO1xuICAgIElzQ29tcG9zZWRSZWxhdGlvbjogc3RyaW5nO1xuICAgIERyb3BEb3duUmVwb3J0SWQ6IHN0cmluZztcbiAgICBUeXBlVmlld0lkOiBzdHJpbmc7XG4gICAgRm9ybVBhbmVsU2V0dGluZzogRm9ybVNldHRpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm8ge1xuICAgIGZpbGVJZDogc3RyaW5nO1xuICAgIGZpbGVVcmw6IHN0cmluZztcbiAgICB2aWV3SW5Ccm93c2VyOiBib29sZWFuO1xuICAgIGNvbnZlcnRUbzogc3RyaW5nO1xuICAgIGlzT2ZmaWNlT25saW5lOiBib29sZWFuO1xuICAgIGZvck9jeDogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRGaWxlSW5mb1Jlc3VsdCB7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgY29udGVudFR5cGU6IHN0cmluZztcbiAgICBzdWNjZWVkOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIExpbmVhckxpc3RDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIERlZmF1bHRGaWVsZDogc3RyaW5nO1xuICAgIEV4dHJhSnNvblByb3BGaWVsZDogc3RyaW5nO1xuICAgIEZpbGxCZWZvcmVEcm9wRG93bjogYm9vbGVhbjtcbiAgICBJc0dlbmVyYWxJbmZvOiBib29sZWFuO1xuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgUmVsYXRpb246IExpc3RSZWxhdGlvbk1vZGVsO1xuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcbiAgICBSb3dJY29uOiBzdHJpbmc7XG4gICAgVGFyZ2V0VHlwZURlZklkOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgTGlzdFJlbGF0aW9uTW9kZWwge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBDaGlsZEZkSWQ6IHN0cmluZztcbiAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xuICAgIElzQXV0b1NhdmU6IGJvb2xlYW47XG4gICAgUGFyZW50TW9JZDogc3RyaW5nO1xuICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBDb2x1bW5SZXF1ZXN0RW51bTogc3RyaW5nO1xuICAgIERyb3BEb3duUmVwb3J0SWQ6IHN0cmluZztcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XG4gICAgSGlkZUNvbWJvOiBib29sZWFuO1xuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcbiAgICBQYXNzUGFyZW50Rm9ybTogYm9vbGVhbjtcbiAgICBTaG93TmV3QnV0dG9uOiBib29sZWFuO1xuICAgIFNob3dPa0NhbmNlbDogYm9vbGVhbjtcbiAgICBWaWV3UmVsYXRlZEZvcm1UeXBlOiBzdHJpbmc7XG4gICAgVGFyZ2V0VHlwZURlZklkOiBzdHJpbmc7XG4gICAgRGF0YVNvdXJjZToge1xuICAgICAgICBSb3dzOiBSb3dEYXRhT3B0aW9uW107XG4gICAgfTtcbiAgICBQcmV2aWV3RmllbGRDYXB0aW9uOiBzdHJpbmc7XG4gICAgUHJldmlld0ZpZWxkSWQ6IHN0cmluZztcbiAgICBQcmV2aWV3RmllbGROYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvbnRyb2xJbmZvVHlwZXMgPVxuICAgIHwgU3ViZm9ybUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEJvb2xDb250cm9sSW5mb01vZGVsXG4gICAgfCBFbnVtQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgSWNvbkNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEZpbGVDb250cm9sSW5mb01vZGVsXG4gICAgfCBEYXRlVGltZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IE51bWJlckNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFN0cmluZ0NvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFBpY3R1cmVGaWxlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgR2F1Z2VDb250cm9sSW5mb01vZGVsXG4gICAgfCBDb21tYW5kQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQ29kZUVkaXRvckNvbnRyb2xJbmZvTW9kZWw7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXdTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgTGF5b3V0OTQ6IGFueTtcbiAgICBDb250cm9sSW5mbzogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWxbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVNldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBEYXRhOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgfTtcbiAgICBWaWV3OiBGb3JtVmlld1NldHRpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgJEZpZWxkRGljdD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgJFJlcG9ydElkPzogc3RyaW5nO1xuICAgICRUeXBlPzogc3RyaW5nO1xuICAgICRTdHlsZUluZGV4PzogbnVtYmVyW107XG4gICAgJENhcHRpb246IHN0cmluZztcbiAgICAkSWNvbj86IHN0cmluZztcbiAgICAkU3RhdGU/OiBzdHJpbmc7XG4gICAgJFR5cGVEZWZJZD86IHN0cmluZztcbiAgICAkVHlwZURlZk5hbWU/OiBzdHJpbmc7XG4gICAgJENoaWxkcmVuPzogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIElkOiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBDYWxlbmRhck1ldGFvYmplY3REYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICAkQ29sb3I6IHN0cmluZztcbiAgICAkTW9tZW50U3RhcnREYXRlOiBzdHJpbmc7XG4gICAgJE1vbWVudEVuZERhdGU6IHN0cmluZztcbiAgICAkU3RhcnRUaW1lczogc3RyaW5nO1xuICAgICRFbmRUaW1lczogc3RyaW5nO1xuICAgICRUaXRsZTogc3RyaW5nO1xuICAgICROb3Rlczogc3RyaW5nO1xuICAgICRTdGFydERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xuICAgICRFbmREYXRlSW5mbz86IERhdGVJbmZvU2VydmljZTtcbn1cblxuZXhwb3J0IGNsYXNzIE1vRm9yUmVwb3J0TW9kZWwge1xuICAgICRUeXBlPzogc3RyaW5nO1xuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIFJlcG9ydElkOiBzdHJpbmc7XG4gICAgSWNvbj86IHN0cmluZztcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPjtcbiAgICBEZWxldGVkTGlzdDogQXJyYXk8eyBJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9PjtcbiAgICBBZGRlZExpc3Q6IEFycmF5PHsgSWQ6IHN0cmluZzsgVHlwZURlZklkOiBzdHJpbmcgfT47XG4gICAgUGFnaW5nOiBQYWdpbmdTZXR0aW5nO1xuICAgIFJlbGF0aW9uPzoge1xuICAgICAgICBSZWxhdGlvblR5cGU6IHN0cmluZztcbiAgICAgICAgUGFyZW50TW9JZDogc3RyaW5nO1xuICAgICAgICBQYXJlbnRGZElkOiBzdHJpbmc7XG4gICAgICAgIENoaWxkRmRJZDogc3RyaW5nO1xuICAgICAgICBQYXJlbnRGZE5hbWU6IHN0cmluZztcbiAgICAgICAgQ2hpbGRGZE5hbWU6IHN0cmluZztcbiAgICAgICAgUGFzc1BhcmVudE1vRmllbGQ6IHN0cmluZztcbiAgICAgICAgSXNBdXRvU2F2ZTogYm9vbGVhbjtcbiAgICAgICAgSXNBdXRvU2F2ZV9SZWxvYWRQYXJlbnRGb3JtczogYm9vbGVhbjtcbiAgICAgICAgSXNBdXRvU2F2ZV9SZWxvYWRSb290UGFyZW50TGlzdDogYm9vbGVhbjtcbiAgICB9O1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLkRlbGV0ZWRMaXN0ID0gdGhpcy5BZGRlZExpc3QgPSB0aGlzLk1vRGF0YUxpc3QgPSBbXTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0QmFzZUluZm8ge1xuICAgIElkOiBzdHJpbmc7XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIEZvbGRlcklkOiBzdHJpbmc7XG4gICAgSWNvblVybDogc3RyaW5nO1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydEV4dHJhSW5mbyBleHRlbmRzIFJlcG9ydEJhc2VJbmZvIHtcbiAgICBUeXBlRGVmSWQ6IHN0cmluZztcbiAgICBUeXBlRGVmQ2FwdGlvbjogc3RyaW5nO1xuICAgIFJlcG9ydFR5cGU6IHN0cmluZztcbiAgICBIaWRlVG9vbGJhcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIE1ldGFvYmplY3RSZWxhdGlvbk1vZGVsIGV4dGVuZHMgTGlzdFJlbGF0aW9uTW9kZWwge1xuICAgIFBhcmVudEZkSWQ6IHN0cmluZztcbiAgICBQYXNzUGFyZW50TW9GaWVsZDogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBGaWVsZEluZm9UeXBlRW51bSB7XG4gICAgSW50SW5mbyA9IDAsXG4gICAgU3RyaW5nSW5mbyA9IDIsXG4gICAgRGF0ZUluZm8gPSAzLFxuICAgIEJvb2xJbmZvID0gNSxcbiAgICBFbnVtSW5mbyA9IDYsXG4gICAgVXNlckluZm8gPSA3LFxuICAgIENhdGVnb3J5SW5mbyA9IDgsXG4gICAgTWV0YU9iamVjdEluZm8gPSA5LFxuICAgIENvbW1hbmRJbmZvID0gMTAsIC8vIDB4MDAwMDAwMEFcbiAgICBQaWN0dXJlc0luZm8gPSAxMSwgLy8gMHgwMDAwMDAwQlxuICAgIFJlbGF0aW9uSW5mbyA9IDEyLCAvLyAweDAwMDAwMDBDXG4gICAgSGlzdG9yeUluZm8gPSAxMywgLy8gMHgwMDAwMDAwRFxuICAgIFJlbGF0aW9uSW5mb1JldmVyc2VfQWtzTGlzdGkgPSAxNCwgLy8gMHgwMDAwMDAwRVxuICAgIENyZWF0b3JVc2VySW5mbyA9IDE1LCAvLyAweDAwMDAwMDBGXG4gICAgQ3JlYXRpb25EYXRlSW5mbyA9IDE2LCAvLyAweDAwMDAwMDEwXG4gICAgTGFzdFVwZGF0ZURhdGVJbmZvID0gMTcsIC8vIDB4MDAwMDAwMTFcbiAgICBSZW1pbmRlckluZm8gPSAxOCwgLy8gMHgwMDAwMDAxMlxuICAgIFJpY2hTdHJpbmdJbmZvID0gMTksIC8vIDB4MDAwMDAwMTNcbiAgICBDb252ZXJ0Q29tbWFuZEluZm8gPSAyMCwgLy8gMHgwMDAwMDAxNFxuICAgIFJlbGF0aW9uSW5mb1NpbmdsZVJldmVyc2VfQWtzVGFraUxpc3RpID0gMjEsIC8vIDB4MDAwMDAwMTVcbiAgICBEaWFsQ29tbWFuZEluZm8gPSAyMiwgLy8gMHgwMDAwMDAxNlxuICAgIEZpbmRDb250YWN0Q29tbWFuZEluZm8gPSAyMywgLy8gMHgwMDAwMDAxN1xuICAgIFNlcXVlbmNlQ29tbWFuZEluZm8gPSAyNCwgLy8gMHgwMDAwMDAxOFxuICAgIEN1cnJlbmN5SW5mbyA9IDI1LCAvLyAweDAwMDAwMDE5XG4gICAgU2luZ2xlUGljdHVyZUluZm8gPSAyNiwgLy8gMHgwMDAwMDAxQVxuICAgIFdvcmRSZXBvcnRDb21tYW5kSW5mbyA9IDI3LCAvLyAweDAwMDAwMDFCXG4gICAgSGllcmFyY2hpY2FsSW5mbyA9IDI4LCAvLyAweDAwMDAwMDFDXG4gICAgVGltZVNwYW5JbmZvID0gMjksIC8vIDB4MDAwMDAwMURcbiAgICBSZXBvcnRJbmZvID0gMzAsIC8vIDB4MDAwMDAwMUVcbiAgICBGaWxlSW5mbyA9IDMxLCAvLyAweDAwMDAwMDFGXG4gICAgV29yZEZpbGVJbmZvID0gMzIsIC8vIDB4MDAwMDAwMjBcbiAgICBQaWN0dXJlRmlsZUluZm8gPSAzMywgLy8gMHgwMDAwMDAyMVxuICAgIEdhdWdlSW5mbyA9IDM0LCAvLyAweDAwMDAwMDIyXG4gICAgQ29kZUluZm8gPSAzNSwgLy8gMHgwMDAwMDAyM1xuICAgIFdvcmtDZW50ZXJJbmZvID0gMzYsIC8vIDB4MDAwMDAwMjRcbiAgICBJc0RlbGV0ZWRJbmZvID0gMzcsIC8vIDB4MDAwMDAwMjVcbiAgICBSb3dOdW1iZXJJbmZvID0gMzgsIC8vIDB4MDAwMDAwMjZcbiAgICBCaW5hcnlJbmZvID0gMzksIC8vIDB4MDAwMDAwMjdcbiAgICBSZXZlcnNlTWV0YU9iamVjdEluZm9fQWtzVGFraVRha2kgPSA0MCwgLy8gMHgwMDAwMDAyOFxuICAgIENvbG9ySW5mbyA9IDQxLCAvLyAweDAwMDAwMDI5XG4gICAgSWNvbkluZm8gPSA0MiwgLy8gMHgwMDAwMDAyQVxuICAgIFJlZnJlc2hGaWVsZENvbW1hbmRJbmZvID0gNDMsIC8vIDB4MDAwMDAwMkJcbiAgICBSZWZlcmVuY2VGaWVsZEluZm8gPSA0NCwgLy8gMHgwMDAwMDAyQ1xuICAgIFNlYXJjaENvbW1hbmRJbmZvID0gNDUsIC8vIDB4MDAwMDAwMkRcbiAgICBPcmRlckluZm8gPSA0NiAvLyAweDAwMDAwMDJFXG59XG5leHBvcnQgaW50ZXJmYWNlIENsYXNzTmFtZXNNb2RlbCB7XG4gICAgQ29tbWFuZEJhckNsYXNzOiBzdHJpbmc7XG4gICAgRGF0YUNsYXNzOiBzdHJpbmc7XG4gICAgU2VsZWN0aW9uQ2xhc3M6IHN0cmluZztcbiAgICBWaWV3ZXJDbGFzczogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBFeHRyYU1vZGVsIHtcbiAgICBDdXN0b21Db21tYW5kcz86IEN1c3RvbUNvbW1hbmRbXTtcbiAgICBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M/OiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XG4gICAgUGFyZW50VWx2Q29uZmlnPzogYW55O1xuICAgIFJlbGF0aW9uPzogTWV0YW9iamVjdFJlbGF0aW9uTW9kZWw7XG4gICAgUmVwb3J0PzogUmVwb3J0RXh0cmFJbmZvO1xuICAgIEV4dHJhSnNvblByb3BSZXBvcnQ/OiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIENsYXNzTmFtZXM6IENsYXNzTmFtZXNNb2RlbDtcbiAgICBFeHRyYTogRXh0cmFNb2RlbDtcbiAgICBWaWV3OiBWaWV3VHlwZXM7XG4gICAgU2VhcmNoUGFuZWw6IGFueTtcbiAgICBEZWZhdWx0SXRlbUNvbXBvbmVudCA9ICdSZXBvcnREZWZhdWx0SXRlbUNvbXBvbmVudCc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRDb21tYW5kc0FjY2VzcyB7XG4gICAgQWRkOiBib29sZWFuO1xuICAgIEFkZFRvTGlzdDogYm9vbGVhbjtcbiAgICBEZWxldGU6IGJvb2xlYW47XG4gICAgRWRpdDogYm9vbGVhbjtcbiAgICBFeHBvcnQ6IGJvb2xlYW47XG4gICAgUHJpbnQ6IGJvb2xlYW47XG4gICAgUmVmcmVzaDogYm9vbGVhbjtcbiAgICBSZW1vdmVGcm9tTGlzdDogYm9vbGVhbjtcbiAgICBWaWV3OiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbW1hbmQge1xuICAgIERhdGE6IGFueTtcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xuICAgIEhpZGVEaXNhYmxlOiBib29sZWFuO1xuICAgIEljb25Vcmw6IHN0cmluZztcbiAgICBJc0xhcmdlOiBib29sZWFuO1xuICAgIE15dHlwZTogc3RyaW5nO1xuICAgIE9yZGVyOiBudW1iZXI7XG4gICAgU2hvd09uQ29udGV4dDogYm9vbGVhbjtcbiAgICBTaG93T25Ub29sYmFyOiBib29sZWFuO1xuICAgIFRleHQ6IHN0cmluZztcbiAgICBVc2VBbHdheXM6IGJvb2xlYW47XG4gICAgVXNlRm9yTXVsdGk6IGJvb2xlYW47XG4gICAgVXNlRm9yU2luZ2xlOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydE1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBEYXRhOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRMaXN0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IEdyaWRWaWV3O1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydEZvcm1Nb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgVmlldzogRm9ybVZpZXc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFRyZWVWaWV3IHtcbiAgICBDb25kaXRpb25hbEZvcm1hdHM6IFtdO1xuICAgIFBhcmVudElkRGJOYW1lOiBzdHJpbmc7XG4gICAgU2hvd1NlbGVjdGlvbkNoZWNrczogYm9vbGVhbjtcbiAgICBUcmVlQXV0b09wZW5MZXZlbHM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkVmlldyB7XG4gICAgQWxsb3dHcmlkQ29sdW1uU29ydDogYm9vbGVhbjtcbiAgICBBdXRvSW5saW5lRWRpdDogYm9vbGVhbjtcbiAgICBDb2x1bW5SZXF1ZXN0RW51bTogc3RyaW5nO1xuICAgIENvbHVtbnM6IEFycmF5PFJlcG9ydFZpZXdDb2x1bW4+O1xuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XG4gICAgRGlzYWJsZVJvd1JlbG9hZDogYm9vbGVhbjtcbiAgICBHcmlkU2V0dGluZzogR3JpZFNldHRpbmc7XG4gICAgR3JpZF9GcmVlQ29sdW1uU2l6aW5nOiBib29sZWFuO1xuICAgIEdyaWRfR3JpZExpbmVzOiBzdHJpbmc7XG4gICAgR3JpZF9IaWRlSGVhZGVyOiBib29sZWFuO1xuICAgIEdyaWRfU2hvd1Jvd051bWJlcjogYm9vbGVhbjtcbiAgICBIYXNDb25kaXRpb25hbEZvcm1hdDogYm9vbGVhbjtcbiAgICBIYXNTdW1tYXJ5Um93OiBib29sZWFuO1xuICAgIEhpZGVJY29uOiBib29sZWFuO1xuICAgIElzQ2hlY2tMaXN0OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclZpZXcge1xuICAgIENhbGVuZGFyRmllbGRzOiBDYWxlbmRhckZpZWxkcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXcge1xuICAgIEZvcm1QYW5lbFNldHRpbmc6IGFueTtcbn1cbmV4cG9ydCB0eXBlIFZpZXdUeXBlcyA9IEdyaWRWaWV3IHwgQ2FsZW5kYXJWaWV3IHwgVHJlZVZpZXcgfCBGb3JtVmlldztcblxuZXhwb3J0IHR5cGUgUmVwb3J0TW9kZWxUeXBlcyA9IFJlcG9ydExpc3RNb2RlbCB8IFJlcG9ydENhbGVuZGFyTW9kZWwgfCBSZXBvcnRGb3JtTW9kZWwgfCBSZXBvcnRUcmVlTW9kZWw7XG5cbmV4cG9ydCBjbGFzcyBSZXBvcnRDYWxlbmRhck1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBDYWxlbmRhclZpZXc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0VHJlZU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBUcmVlVmlldztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJGaWVsZHMge1xuICAgIEVuZERhdGU6IHN0cmluZztcbiAgICBOb3Rlczogc3RyaW5nO1xuICAgIFN0YXJ0RGF0ZTogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgQ29sb3I6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydFZpZXdDb2x1bW4ge1xuICAgIEFsaWFzOiBzdHJpbmc7XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIEZpZWxkRGVmSWQ6IHN0cmluZztcbiAgICBGaWVsZFR5cGVJZDogbnVtYmVyO1xuICAgIEZpZWxkVHlwZTogc3RyaW5nO1xuICAgIEhhc1N1bW1hcnk6IGJvb2xlYW47XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIElzTHRyOiBib29sZWFuO1xuICAgIElzUHJldmlldzogYm9vbGVhbjtcbiAgICBNZXRhRmllbGRUeXBlSWQ6IHN0cmluZztcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgV2lkdGg6IG51bWJlcjtcbiAgICBUYWc/OiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIE9ubHlJbWFnZT86IGJvb2xlYW47XG4gICAgRXh0cmE/OiBhbnk7XG4gICAgJFdpZHRoOiBzdHJpbmc7XG4gICAgJFdpZHRoMj86IHN0cmluZztcbiAgICAkTWVyZ2VkRmllbGRzVG9Db2x1bW4/OiBzdHJpbmdbXTtcbiAgICAkQ1NTQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICRDdXN0b21Db21wb25lbnQ/OiBFanJheU9sZ287XG4gICAgJFRleHRXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEdyaWRTZXR0aW5nIHtcbiAgICBDb2xTZXR0aW5nTGlzdDogQXJyYXk8Q29sU2V0dGluZz47XG4gICAgU29ydFNldHRpbmdMaXN0OiBBcnJheTxTb3J0U2V0dGluZz47XG4gICAgQXV0b1NpemVDb2x1bW5zOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIENvbFNldHRpbmcge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIElzSGlkZGVuOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFNvcnRTZXR0aW5nIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgU29ydERpcmVjdGlvbjogc3RyaW5nO1xuICAgIElzR3JvdXBlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydEZpZWxkIHtcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBwdWJsaWMgaXRlbTogYW55KSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBjb2x1bW4uTmFtZTtcbiAgICAgICAgdGhpcy5jYXB0aW9uID0gY29sdW1uLkNhcHRpb247XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV07XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uRGF0ZUluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZSArICckQ2FwdGlvbiddO1xuICAgICAgICB9XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uSWNvbkluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV0uVXJsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luUmVzdWx0IHtcbiAgICBkYXRhOiB7IHN0aDogc3RyaW5nIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFNldHRpbmdzRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgUGxhY2VIb2xkZXJzPzogUGxhY2VIb2xkZXJEYXRhTW9kZWxbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50RGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICBTZXR0aW5nczogQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlSG9sZGVyRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgSXNQYWdlOiBib29sZWFuO1xuICAgIE9yZGVyTnVtYmVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBQbGFjZUhvbGRlcjogUGxhY2VIb2xkZXJEYXRhTW9kZWw7XG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VMaXN0UmVwb3J0TW9kZWwgZXh0ZW5kcyBNb0ZvclJlcG9ydE1vZGVsIHtcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxQYWdlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TW9kdWxlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZURhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xuICAgIE1vZHVsZUxpc3Q6IE1vZHVsZUxpc3RSZXBvcnRNb2RlbDtcbiAgICBDaGlsZFBhZ2VMaXN0OiBQYWdlTGlzdFJlcG9ydE1vZGVsO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgUm91dGU6IHN0cmluZztcbiAgICBJc0RlZmF1bHRSb3V0ZTogYm9vbGVhbjtcbiAgICBJc0xvZ2luUm91dGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9ydGFsRGF0YU1vZGVsIGV4dGVuZHMgUGFnZURhdGFNb2RlbCB7XG4gICAgSXNBY3RpdmU6IGJvb2xlYW47XG4gICAgSXNQd2E6IGJvb2xlYW47XG4gICAgUG9ydGFsU2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwVmlzaWJpbGl0eSB7XG4gICAgZW5hYmxlOiBib29sZWFuO1xuICAgIHZpc2libGU6IGJvb2xlYW47XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUhlYWRlckxheW91dCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgU3VidGl0bGU6IHN0cmluZztcbiAgICBBdmF0YXI6IGFueTtcbiAgICBGYWNldExpc3Q6IHsgTW9EYXRhTGlzdDogTWV0YW9iamVjdERhdGFNb2RlbFtdIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudUl0ZW0ge1xuICAgIGljb246IHN0cmluZztcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgaXRlbUlkOiBzdHJpbmc7XG4gICAgRGF0YTogYW55O1xuICAgIENvbW1hbmQ6IGFueTtcbiAgICBoYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIElzQnVpbHRpbj86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luZ1NldHRpbmcge1xuICAgIEVuZEluZGV4OiBudW1iZXI7XG4gICAgSGFzUGFnaW5nOiBib29sZWFuO1xuICAgIFBhZ2U6IG51bWJlcjtcbiAgICBQYWdlU2l6ZTogbnVtYmVyO1xuICAgIFJvd0NvdW50OiBudW1iZXI7XG4gICAgU3RhcnRJbmRleDogbnVtYmVyO1xuICAgIFRvdGFsUGFnZXM6IG51bWJlcjtcbiAgICBUb3RhbFJvd3M6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSW5mb1R5cGUge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBIaWRkZW46IGJvb2xlYW47XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIElzTWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgICBXaWR0aDogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQYW5lbFNldHRpbmdzIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xuICAgIElzRGVmYXVsdDogYm9vbGVhbjtcbiAgICBJc1B1YmxpYzogYm9vbGVhbjtcbiAgICBBcHBseUF1dG9tYXRpY2FsbHk6IGJvb2xlYW47XG4gICAgU2VhcmNoTW8/OiBzdHJpbmc7XG4gICAgRmllbGRzU2V0dGluZz86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIHR5cGUgRGV2aWNlU2l6ZSA9ICdkZXNrdG9wJyB8ICdtb2JpbGUnIHwgJ3RhYmxldCc7XG5leHBvcnQgY29uc3QgRGF0ZVJhbmdlcyA9IFtcbiAgICAnRGF0ZVJfTm9uZScsXG4gICAgJ0RhdGVSX1NwZWNpZmljUmFuZ2UnLFxuICAgICdEYXRlUl9Ub2RheScsXG4gICAgJ0RhdGVSX1RoaXNXZWVrJyxcbiAgICAnRGF0ZVJfVGhpc01vbnRoJyxcbiAgICAnRGF0ZVJfVGhpc1llYXInLFxuICAgICdEYXRlUl9EYXlzQmVmb3JlJyxcbiAgICAnRGF0ZVJfUHJldldlZWsnLFxuICAgICdEYXRlUl9QcmV2TW9udGgnLFxuICAgICdEYXRlUl9QcmV2WWVhcicsXG4gICAgJ0RhdGVSX0RheXNBZnRlcicsXG4gICAgJ0RhdGVSX05leHRXZWVrJyxcbiAgICAnRGF0ZVJfTmV4dE1vbnRoJyxcbiAgICAnRGF0ZVJfTmV4dFllYXInXG5dO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2Uge1xuICAgIFVpQ29tcG9uZW50OiB7XG4gICAgICAgIENvbXBvbmVudDogYm9vbGVhbjtcbiAgICAgICAgTW9kdWxlOiBzdHJpbmc7XG4gICAgICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XG4gICAgICAgIE5hbWU6IHN0cmluZztcbiAgICAgICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICAgICAgU2V0dGluZ3M6IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nO1xuICAgIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBJc0RlZmF1bHQ6IGJvb2xlYW47XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIEVuYWJsZVNlYXJjaDogYm9vbGVhbjtcbiAgICBEaXNhYmxlUmVzcG9uc2l2ZT86IGJvb2xlYW47XG4gICAgRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU/OiBib29sZWFuO1xuICAgIEhvcml6b250YWxHcm91cEJ5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheW91dFNldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBUaXRsZT86IHN0cmluZztcbiAgICB4dHlwZTogc3RyaW5nO1xuICAgIFRleHRWaXNpYmxlPzogYm9vbGVhbjtcbiAgICBpdGVtczogTGF5b3V0U2V0dGluZ1tdO1xuICAgIElzUm9vdD86IGJvb2xlYW47XG4gICAgU2VsZWN0ZWRUYWJQYWdlTmFtZT86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQWJicmV2YXRpb25EZXZpY2VTaXplID0gJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJztcbmV4cG9ydCBpbnRlcmZhY2UgVHJlZU5vZGVPYmoge1xuICAgIGlzRXhwYW5kOiBib29sZWFuO1xuICAgIHZpc2liaWxpdHk6IGJvb2xlYW47XG4gICAgZXhwYW5kOiAoKSA9PiB2b2lkO1xuICAgIGNvbGxhcHNlOiAoKSA9PiB2b2lkO1xuICAgIERhdGE6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgY2hpbGRyZW46IFRyZWVOb2RlT2JqW107XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGxlYWY6IGJvb2xlYW47XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgbG9hZGluZz86IGJvb2xlYW47XG4gICAgaGFzT25lRGVwdGhMZXZlbD86IGJvb2xlYW47XG4gICAgcGFyZW50Tm9kZTogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIGZpcnN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBsYXN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBwcmV2aW91c1NpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBuZXh0U2libGluZzogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIGF0dHJpYnV0ZXM6IHsgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGwgfTtcbiAgICBoYXNDaGlsZE5vZGVzOiAoKSA9PiBib29sZWFuO1xuICAgIG5vRHJvcDogYm9vbGVhbjtcbiAgICAkQ2hpbGRyZW4/OiBUcmVlTm9kZU9ialtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblJlc2l6ZWRBcmdzIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgd2lkdGg6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzID0geyBjb2x1bW5zOiBBcnJheTxSZXBvcnRWaWV3Q29sdW1uPjsgcmVzaXplZDogQXJyYXk8Q29sdW1uUmVzaXplZEFyZ3M+IH07XG5leHBvcnQgdHlwZSBSZWxhdGlvbkl0ZW1UeXBlID0ge1xuICAgIElkOiBzdHJpbmc7XG4gICAgU291cmNlVHlwZURlZklkOiBzdHJpbmc7XG4gICAgT2JqZWN0SW5SZWxhdGlvbk5hbWU6IHN0cmluZztcbiAgICBHcm91cENhcHRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWpyYXlPbGdvIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgTW9kdWxlOiBzdHJpbmc7XG4gICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICBQYXJhbWV0ZXJzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBTZXR0aW5ncz86IE1ldGFvYmplY3REYXRhTW9kZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwbG9hZGluZ1N0YXRlIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB1cGxvYWRpbmc6IGJvb2xlYW47XG4gICAgc3RhdGU6ICdVcGxvYWRpbmcnIHwgJ0Vycm9yJyB8ICdDb21wbGV0ZScgfCAnU3RhcnQnO1xuICAgIHByb2dyZXNzOiBhbnk7XG59XG5leHBvcnQgdHlwZSBHcm91cEJ5SXRlbSA9IHsgW2tleTogc3RyaW5nXTogYW55OyBpZDogc3RyaW5nOyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueVtdIH07XG5leHBvcnQgdHlwZSBOb3RpZnlPcHRpb25zID0ge1xuICAgIFNvdW5kOiBib29sZWFuOyAvLyBTb3VuZCBvZiBub3RpZmljYXRpb24uIFNldCB0aGlzIGZhbHNlIHRvIGRpc2FibGUgc291bmQuXG4gICAgSW1hZ2U6IHN0cmluZyB8IG51bGw7IC8vIEltYWdlIHNvdXJjZSBzdHJpbmdcbiAgICBUaXRsZTogc3RyaW5nIHwgbnVsbDsgLy8gVGl0bGUgb2Ygbm90aWZpY2F0aW9uLiBJZiB5b3UgZG8gbm90IGluY2x1ZGUgdGhlIHRpdGxlIGluIG9wdGlvbnMgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IHRha2VzIGl0cyB2YWx1ZVxuICAgIEljb246IGJvb2xlYW47IC8vIEljb24gb2Ygbm90aWZpY2F0aW9uLiBMZWF2ZSBhcyBpcyBmb3IgZGVmYXVsdCBpY29uIG9yIHNldCBjdXN0b20gc3RyaW5nXG4gICAgRGVsYXk6IG51bWJlcjsgLy8gSGlkZSBub3RpZmljYXRpb24gYWZ0ZXIgdGhpcyB0aW1lIChpbiBtaWxpc2Vjb25kcylcbiAgICBDbG9zYWJsZTogYm9vbGVhbjsgLy8gTWFrZSBub3RpZmljYXRpb25zIGNsb3NhYmxlXG4gICAgRGVsYXlJbmRpY2F0b3I6IGJvb2xlYW47IC8vIFNob3cgdGltZXIgaW5kaWNhdG9yXG4gICAgQ2xvc2VPbkNsaWNrOiBib29sZWFuOyAvLyBDbG9zZSBub3RpZmljYXRpb25zIGJ5IGNsaWNraW5nIG9uIHRoZW1cbiAgICBJc1J0bDogYm9vbGVhbjtcbiAgICBQb3NpdGlvbjogc3RyaW5nIHwgb2JqZWN0OyAvLyBBdmFpbGFibGUgb3B0aW9uczogXCJ0b3AgbGVmdFwiLCBcInRvcCByaWdodFwiLCBcImJvdHRvbSBsZWZ0XCIsIFwiYm90dG9tIHJpZ2h0XCIsIFwiY2VudGVyIHRvcFwiLCBcImNlbnRlciBib3R0b21cIlxuICAgIFNvdW5kUGF0aDogc3RyaW5nOyAvLyBUaGUgZm9sZGVyIHBhdGggd2hlcmUgc291bmRzIGFyZSBsb2NhdGVkXG4gICAgU2l6ZTogc3RyaW5nOyAvLyBub3JtYWwsIG1pbmksIGxhcmdlXG4gICAgQ29udGludWVEZWxheU9uSW5hY3RpdmVUYWI6IGJvb2xlYW47IC8vIENvbnRpbnVlIGRlbGF5IHdoZW4gYnJvd3NlciB0YWIgaXMgaW5hY3RpdmVcbiAgICBXaWR0aDogbnVtYmVyOyAvLyBXaWR0aCBvZiBub3RpZmljYXRpb24gYm94XG4gICAgTWVzc2FnZUhlaWdodDogbnVtYmVyOyAvLyBOb3RpZmljYXRpb24gbWVzc2FnZSBtYXhpbXVtIGhlaWdodC5cbiAgICBOb3RpZmljYXRpb25JdGVtPzogTm90aWZpY2F0aW9uSXRlbTtcbn07XG5leHBvcnQgdHlwZSBTaGFyZUJ1dHRvbnNDaG9pY2VEZWYgPSB7IG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsOyBjaG9pY2VMaXN0OiBDaG9pY2VEZWZbXTsgYWRkOiBib29sZWFuIH07XG5leHBvcnQgdHlwZSBDaG9pY2VEZWYgPSB7XG4gICAgQWN0aXZpdHlEZWZJZDogc3RyaW5nO1xuICAgIEFjdGl2aXR5UnVuSWQ6IHN0cmluZztcbiAgICBDaG9pY2VEZWZJZDogc3RyaW5nO1xuICAgIENob2ljZU5hbWU/OiBzdHJpbmc7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBJY29uPzogc3RyaW5nO1xuICAgIEhhc0Jhcj86IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzID0ge1xuICAgIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgcmVzdWx0OiBhbnk7XG4gICAgZXJyb3I6IGFueTtcbiAgICBjaG9pY2U/OiBDaG9pY2VEZWY7XG59O1xuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uUGF5bG9hZCA9IHtcbiAgICBtc2c6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBpbWFnZTogc3RyaW5nO1xuICAgIG1vO1xuICAgIHVpT3B0aW9uczogTm90aWZ5T3B0aW9ucztcbiAgICBvdGhlck9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uQWN0aW9uID0ge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgSWQ6IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgU3RhdHVzOiBzdHJpbmcgfCBhbnk7XG59O1xuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uSXRlbSA9IE1ldGFvYmplY3REYXRhTW9kZWwgJiB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBVbnJlYWQ6IGJvb2xlYW47XG4gICAgQ29udGVudDogc3RyaW5nO1xuICAgICRTYWZlQ29udGVudD86IFNhZmVIdG1sO1xuICAgIFByaW9yaXR5OiBudW1iZXI7XG4gICAgU3ViamVjdDogc3RyaW5nO1xuICAgIFRhZzogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBJbWFnZTogc3RyaW5nO1xuICAgIENyZWF0aW9uRGF0ZTogRGF0ZTtcbiAgICBDcmVhdGlvbkRhdGUkQ2FwdGlvbjogc3RyaW5nO1xuICAgIFVpQWN0aW9ucz86IE5vdGlmaWNhdGlvbkFjdGlvbltdO1xuICAgICRDaG9pY2VEZWZTdGF0dXM/OiBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXM7XG59O1xuXG5leHBvcnQgdHlwZSBFeE5vdGlmaWNhdGlvblBheWxvYWQgPSB7XG4gICAgbGFuZzogc3RyaW5nO1xuICAgIGlzUnRsOiBib29sZWFuO1xuICAgIG5vdGlmaWNhdGlvbkl0ZW06IE5vdGlmaWNhdGlvbkl0ZW07XG59O1xuZXhwb3J0IHR5cGUgRm9ybVZpc2liaWxpdHlTdGF0dXMgPSAnUGVuZGluZycgfCAnVmlzaWJsZSc7XG5leHBvcnQgdHlwZSBDYXJ0YWJsZVRlbXBsYXRlS2V5ID0geyBUeXBlRGVmSWQ6IHN0cmluZzsgU2V0dGluZ3NJZDogc3RyaW5nIH07XG5leHBvcnQgZW51bSBTb3J0RGlyZWN0aW9uIHtcbiAgICBOT05FID0gJ25vbmUnLFxuICAgIEFTQyA9ICdhc2MnLFxuICAgIERFU0MgPSAnZGVzYydcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblNvcnQge1xuICAgIGZpZWxkOiBzdHJpbmcgfCBudWxsO1xuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgICBpc051bWJlcj86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaElucHV0IHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgY2F0ZWdvcnk6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25Hcm91cCB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XG4gICAgc2hvd0FzQ29sdW1uOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25QYWdlIHtcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIGN1cnJlbnRQYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblN0YXRlIHtcbiAgICBzb3J0Qnk6IENvbGxlY3Rpb25Tb3J0W107XG4gICAgZ3JvdXBCeTogQ29sbGVjdGlvbkdyb3VwW107XG4gICAgcGFnZTogQ29sbGVjdGlvblBhZ2U7XG4gICAgc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlU3RhdGUgZXh0ZW5kcyBDb2xsZWN0aW9uU3RhdGUge1xuICAgIGNvbHVtbnM6IHN0cmluZ1tdO1xuICAgIGNvbHVtbktleXM6IHN0cmluZ1tdO1xuICAgIGZyZWV6ZVRvQ29sdW1uOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGVudW0gU2VsZWN0aW9uTW9kZSB7XG4gICAgU0lOR0xFID0gJ3NpbmdsZScsXG4gICAgTVVMVElQTEUgPSAnbXVsdGlwbGUnLFxuICAgIE5PTkUgPSAnbm9uZSdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVVsdk1haW5DdHJsciB7XG4gICAgQWRhcHRlcjogYW55O1xuICAgIFNldHRpbmc6IGFueTtcbiAgICBTeXN0ZW06IGFueTtcbiAgICBVbHZQYXJhbXM6IGFueTtcbiAgICBGZWF0dXJlczogYW55O1xuICAgIFVpT3ZlcnJpZGU6IGFueTtcbiAgICBTZWFyY2hQYW5lbEN0cmxyOiBhbnk7XG4gICAgU2VsZWN0aW9uQWRhcHRlcjogYW55O1xuICAgIERhdGFDdHJscjogVHlwZVVsdkRhdGFDdHJscjtcbiAgICBDb21tYW5kQmFyQ3RybHI6IGFueTtcbiAgICBWaWV3ZXJBZGFwdGVyOiBhbnk7XG4gICAgUGFyZW50TW86IGFueTtcbiAgICBGaWVsZEN0cmxyOiBhbnk7XG4gICAgaXNNYW5kYXRvcnk6IGJvb2xlYW47IC8vIHBvcnRhbCB1c2UgaXQuIGNvbXBvbmVudCBtYWRhcmVrXG4gICAgLy8vIFJlbGF0ZWQgZmllbGQgb2YgVWx2XG4gICAgLy8gUGFyZW50RmllbGRJbmZvQ3RybHI6IG51bGwsXG4gICAgSXNQcmV2aWV3U291cmNlRmllbGQ6IGJvb2xlYW47XG4gICAgLy8vIEluZGljYXRlIHdoZXRoZXIgdGhpcyBVbHYgaXMgdXNlZCBhcyByZWxhdGlvbiBmaWVsZCB0aGF0IGlzIFByZXZpZXdTb3VyY2UgZm9yIGEgc3ViZm9ybVxuICAgIFNob3dPa0NhbmNlbEJ1dHRvbnM6IGJvb2xlYW47XG4gICAgX2lzRW5hYmxlOiBib29sZWFuO1xuICAgIF9pc1JlYWRPbmx5OiBib29sZWFuO1xuICAgIF9pc1Zpc2libGU6IGJvb2xlYW47XG4gICAgRm9vdHRlckJ1dHRvbnM6IGJvb2xlYW47XG4gICAgUmVmcmVzaFJvd3NCeU1vc05vU2VsZWN0aW9uQ2hhbmdlKFxuICAgICAgICBlZGlkZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXSxcbiAgICAgICAgYWRkZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXSxcbiAgICAgICAgZGVsZXRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdXG4gICAgKTogdm9pZDtcbiAgICBSZWZyZXNoUm93c0J5TW9zKFxuICAgICAgICBlZGlkZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXSxcbiAgICAgICAgYWRkZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXSxcbiAgICAgICAgZGVsZXRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdXG4gICAgKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlVWx2RGF0YUN0cmxyIHtcbiAgICBHZXRFZGl0Rm9ybVBhcmFtcyhtbywgaXNSZWFkT25seSwgaXNOZXcsIGluaGVyaXRhbmNlQ2hpbGRUeXBlRGVmLCBkb1JldHVybik6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1Db21wb25lbnRQYXJhbXMge1xuICAgIGZvcm1TZXR0aW5nPzogRm9ybVNldHRpbmc7XG4gICAgbW9JZDogc3RyaW5nO1xuICAgIHR5cGVEZWZJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHJlcG9ydElkPzogc3RyaW5nO1xuICAgIHZpZXdJZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBWaWV3TmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpbkRpYWxvZz86IGJvb2xlYW47XG4gICAgaXNTaW1wbGU/OiBib29sZWFuO1xufVxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBTWhFO0FBQ0QsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHVCQUF1QjtDQUtyRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FPbkU7QUFlRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsdUJBQXVCO0NBVXRFO0FBQ0QsTUFBTSxPQUFPLGlCQUFpQjtDQU83QjtBQUNELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSx1QkFBdUI7Q0FpQjFFO0FBK0JELE1BQU0sT0FBTyxtQkFBbUI7Q0FhL0I7QUFhRCxNQUFNLE9BQU8sZ0JBQWdCO0lBcUJ6QjtRQUNJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0NBQ0o7QUFDRCxNQUFNLE9BQU8sY0FBYztDQU8xQjtBQUNELE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQWM7Q0FLbEQ7QUFFRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCO0NBRzdEO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBOENYO0FBOUNELFdBQVksaUJBQWlCO0lBQ3pCLCtEQUFXLENBQUE7SUFDWCxxRUFBYyxDQUFBO0lBQ2QsaUVBQVksQ0FBQTtJQUNaLGlFQUFZLENBQUE7SUFDWixpRUFBWSxDQUFBO0lBQ1osaUVBQVksQ0FBQTtJQUNaLHlFQUFnQixDQUFBO0lBQ2hCLDZFQUFrQixDQUFBO0lBQ2xCLHdFQUFnQixDQUFBO0lBQ2hCLDBFQUFpQixDQUFBO0lBQ2pCLDBFQUFpQixDQUFBO0lBQ2pCLHdFQUFnQixDQUFBO0lBQ2hCLDBHQUFpQyxDQUFBO0lBQ2pDLGdGQUFvQixDQUFBO0lBQ3BCLGtGQUFxQixDQUFBO0lBQ3JCLHNGQUF1QixDQUFBO0lBQ3ZCLDBFQUFpQixDQUFBO0lBQ2pCLDhFQUFtQixDQUFBO0lBQ25CLHNGQUF1QixDQUFBO0lBQ3ZCLDhIQUEyQyxDQUFBO0lBQzNDLGdGQUFvQixDQUFBO0lBQ3BCLDhGQUEyQixDQUFBO0lBQzNCLHdGQUF3QixDQUFBO0lBQ3hCLDBFQUFpQixDQUFBO0lBQ2pCLG9GQUFzQixDQUFBO0lBQ3RCLDRGQUEwQixDQUFBO0lBQzFCLGtGQUFxQixDQUFBO0lBQ3JCLDBFQUFpQixDQUFBO0lBQ2pCLHNFQUFlLENBQUE7SUFDZixrRUFBYSxDQUFBO0lBQ2IsMEVBQWlCLENBQUE7SUFDakIsZ0ZBQW9CLENBQUE7SUFDcEIsb0VBQWMsQ0FBQTtJQUNkLGtFQUFhLENBQUE7SUFDYiw4RUFBbUIsQ0FBQTtJQUNuQiw0RUFBa0IsQ0FBQTtJQUNsQiw0RUFBa0IsQ0FBQTtJQUNsQixzRUFBZSxDQUFBO0lBQ2Ysb0hBQXNDLENBQUE7SUFDdEMsb0VBQWMsQ0FBQTtJQUNkLGtFQUFhLENBQUE7SUFDYixnR0FBNEIsQ0FBQTtJQUM1QixzRkFBdUIsQ0FBQTtJQUN2QixvRkFBc0IsQ0FBQTtJQUN0QixvRUFBYyxDQUFBLENBQUMsYUFBYTtBQUNoQyxDQUFDLEVBOUNXLGlCQUFpQixLQUFqQixpQkFBaUIsUUE4QzVCO0FBZ0JELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBS0kseUJBQW9CLEdBQUcsNEJBQTRCLENBQUM7SUFDeEQsQ0FBQztDQUFBO0FBWUQsTUFBTSxPQUFPLGFBQWE7Q0FjekI7QUFDRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7SUFFNUM7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDSjtBQUNELE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7Q0FFbkQ7QUFDRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0NBRW5EO0FBbUNELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0NBRXZEO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtDQUVuRDtBQVNELE1BQU0sT0FBTyxnQkFBZ0I7Q0F1QjVCO0FBRUQsTUFBTSxPQUFPLFdBQVc7Q0FJdkI7QUFDRCxNQUFNLE9BQU8sVUFBVTtDQUl0QjtBQUNELE1BQU0sT0FBTyxXQUFXO0NBSXZCO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFJcEIsWUFBbUIsTUFBd0IsRUFBUyxJQUFTO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBSztRQUN6RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztDQUNKO0FBZ0dELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25CLENBQUM7QUErSkYsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUNyQiw4QkFBYSxDQUFBO0lBQ2IsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBaUNELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsc0NBQXFCLENBQUE7SUFDckIsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRGF0ZUluZm8gYXMgRGF0ZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vZGF0ZS1zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIENvbnRyb2xGaWVsZENhcHRpb246IHN0cmluZztcbiAgICBDb250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDogc3RyaW5nO1xuICAgIENvbnRyb2xGaWVsZERlZklkOiBzdHJpbmc7XG4gICAgQ29udHJvbE5hbWU6IHN0cmluZztcbiAgICBSZWxhdGVkRmllbGRMaXN0OiBbXTtcbiAgICBIaWRlOiBib29sZWFuO1xuICAgIHh0eXBlOiBzdHJpbmc7XG4gICAgTGFiZWxQb3NpdGlvbjogc3RyaW5nO1xuICAgIElzTWFuZGF0b3J5OiBib29sZWFuO1xuICAgIElzVmlzaWJsZTogYm9vbGVhbjtcbiAgICBTaG93TGFiZWwgPSB0cnVlO1xuICAgIElzUmVhZE9ubHk6IGJvb2xlYW47XG4gICAgSXNFbmFibGVkOiBib29sZWFuO1xuICAgIElzQm9sZDogYm9vbGVhbjtcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcbiAgICBKc29uRXh0cmFQcm9wOiBhbnkgfCBudWxsO1xuICAgIENvbXBvbmVudDogc3RyaW5nO1xuICAgIEluZm86IENvbnRyb2xJbmZvVHlwZXM7XG4gICAgRmllbGRJY29uOiBzdHJpbmc7XG4gICAgSXNMdHI6IGJvb2xlYW47XG4gICAgRGlzcGxheVR5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUF0dGFjaG1lbnRJbmZvIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgSWQ6IHN0cmluZztcbiAgICBJc05ldzogYm9vbGVhbjtcbiAgICBJc0RlbGV0ZWQ6IGJvb2xlYW47XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIEZpbGVOYW1lPzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgTWF4TGVuZ3RoOiBudW1iZXI7XG4gICAgTWluTGVuZ3RoOiBudW1iZXI7XG4gICAgUmVndWxhckV4cHJlc3Npb246IHN0cmluZztcbiAgICBJc1Bhc3N3b3JkOiBib29sZWFuO1xuICAgIElzTXVsdGlMaW5lOiBib29sZWFuO1xuICAgIE51bGxUZXh0OiBzdHJpbmc7XG4gICAgQWxsb3dlZFN0cmluZ0NoYXJzOiBzdHJpbmc7XG4gICAgT25seUFjY2VwdEN1cnJlbnRDdWx0dXJlOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFJpY2hTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgU3RyaW5nQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSXNIdG1sVmlld2VyOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIE51bWJlckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgTWluVmFsdWU6IG51bWJlcjtcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xuICAgIERlY2ltYWxQcmVjaXNpb246IG51bWJlcjtcbiAgICBTaG93VGhvdXNhbmRTZXBlcmF0b3I6IGJvb2xlYW47XG4gICAgTnVtYmVyVHlwZTogc3RyaW5nO1xuICAgIEN1cnJlbmN5U3ltYm9sOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRmlsZVBpY3R1cmVJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRXh0OiBzdHJpbmc7XG4gICAgRmlsZUlkOiBzdHJpbmc7XG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIEZpbGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIENhbkRlbGV0ZTogYm9vbGVhbjtcbiAgICBDYW5TYXZlOiBib29sZWFuO1xuICAgIENhblZpZXc6IGJvb2xlYW47XG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBNYXhGaWxlQ291bnQ6IG51bWJlcjtcbiAgICBNYXhGaWxlU2l6ZUtiOiBudW1iZXI7XG4gICAgT2ZmaWNlT25saW5lOiBib29sZWFuO1xuICAgIFZhbGlkRXh0ZW5zaW9uczogc3RyaW5nO1xuICAgIFZpZXdUeXBlOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgQ29tbWFuZENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgTWVudU5hbWU6IHN0cmluZztcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XG4gICAgRHluYW1pY0NvbW1hbmQ6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBJY29uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHt9XG5leHBvcnQgY2xhc3MgUGljdHVyZUZpbGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFNpemVNb2RlOiBudW1iZXI7XG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xuICAgIFZhbGlkRXh0ZW5zaW9uczogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEdhdWdlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xuICAgIE1heFZhbHVlMjogbnVtYmVyO1xuICAgIE1pblZhbHVlOiBudW1iZXI7XG4gICAgTWluVmFsdWUyOiBudW1iZXI7XG4gICAgVmFsdWU6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTGlzdFR5cGVzID1cbiAgICB8IFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEhpc3RvcnlDb250cm9sSW5mb01vZGVsXG4gICAgfCBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbDtcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcbiAgICBVbHZTZXR0aW5nOiBSZXBvcnRNb2RlbDtcbn1cbmV4cG9ydCBjbGFzcyBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEhhc0V4dGVybmFsUGFyYW1ldGVyOiBib29sZWFuO1xuICAgIFBhcmFtTmFtZTE6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcbiAgICBBdXRvU2F2ZTtcbn1cbmV4cG9ydCBjbGFzcyBSZWxhdGVkUmVwb3J0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBIYXNFeHRlcm5hbFBhcmFtZXRlcjogYm9vbGVhbjtcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XG4gICAgVWx2U2V0dGluZzogUmVwb3J0TW9kZWw7XG59XG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRXh0cmFUZXh0OiBzdHJpbmc7XG4gICAgU3VnZ2VzdGlvbnM6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBFbnVtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIFNob3dBc1JhZGlvQnV0dG9uOiBib29sZWFuO1xuICAgIEljb25EaXNwbGF5VHlwZTogc3RyaW5nO1xuICAgIERhdGFTb3VyY2U6IHtcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xuICAgIH07XG4gICAgRW1wdHlSb3dEYXRhOiBSb3dEYXRhT3B0aW9uO1xufVxuZXhwb3J0IGNsYXNzIFJvd0RhdGFPcHRpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgSXNFbXB0eTogYm9vbGVhbjtcbiAgICB0eHQ6IHN0cmluZztcbiAgICB0eHRfc2FmZT86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgQ2FsZW5kYXJUeXBlOiBzdHJpbmc7XG4gICAgRGF0ZUZvcm1hdDogc3RyaW5nO1xuICAgIFNob3dEYXRlMTogYm9vbGVhbjtcbiAgICBTaG93VGltZTE6IGJvb2xlYW47XG4gICAgVGltZUZvcm1hdDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEJvb2xDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEZhbHNlQ2FwdGlvbjogc3RyaW5nO1xuICAgIFRydWVDYXB0aW9uOiBzdHJpbmc7XG4gICAgVHJ1ZUljb246IHN0cmluZztcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xuICAgIEZhbHNlSWNvbjogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSW5uZXJDdHJscjogQ29udHJvbEluZm9UeXBlcztcbiAgICBFeGVjdXRhaW9uVGltZTogc3RyaW5nO1xuICAgIEVkaXRUeXBlOiBzdHJpbmc7XG4gICAgRG9udFNob3dSZWNhbGN1bGF0ZUJ1dHRvbjogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBTdWJmb3JtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBUeXBlRGVmSWQ6IGFueTtcbiAgICBUeXBlRGVmSWNvbjogc3RyaW5nO1xuICAgIElzQ29tcG9zZWRSZWxhdGlvbjogc3RyaW5nO1xuICAgIERyb3BEb3duUmVwb3J0SWQ6IHN0cmluZztcbiAgICBUeXBlVmlld0lkOiBzdHJpbmc7XG4gICAgRm9ybVBhbmVsU2V0dGluZzogRm9ybVNldHRpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm8ge1xuICAgIGZpbGVJZDogc3RyaW5nO1xuICAgIGZpbGVVcmw6IHN0cmluZztcbiAgICB2aWV3SW5Ccm93c2VyOiBib29sZWFuO1xuICAgIGNvbnZlcnRUbzogc3RyaW5nO1xuICAgIGlzT2ZmaWNlT25saW5lOiBib29sZWFuO1xuICAgIGZvck9jeDogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRGaWxlSW5mb1Jlc3VsdCB7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgY29udGVudFR5cGU6IHN0cmluZztcbiAgICBzdWNjZWVkOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIExpbmVhckxpc3RDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIERlZmF1bHRGaWVsZDogc3RyaW5nO1xuICAgIEV4dHJhSnNvblByb3BGaWVsZDogc3RyaW5nO1xuICAgIEZpbGxCZWZvcmVEcm9wRG93bjogYm9vbGVhbjtcbiAgICBJc0dlbmVyYWxJbmZvOiBib29sZWFuO1xuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgUmVsYXRpb246IExpc3RSZWxhdGlvbk1vZGVsO1xuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcbiAgICBSb3dJY29uOiBzdHJpbmc7XG4gICAgVGFyZ2V0VHlwZURlZklkOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgTGlzdFJlbGF0aW9uTW9kZWwge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBDaGlsZEZkSWQ6IHN0cmluZztcbiAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xuICAgIElzQXV0b1NhdmU6IGJvb2xlYW47XG4gICAgUGFyZW50TW9JZDogc3RyaW5nO1xuICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBDb2x1bW5SZXF1ZXN0RW51bTogc3RyaW5nO1xuICAgIERyb3BEb3duUmVwb3J0SWQ6IHN0cmluZztcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XG4gICAgSGlkZUNvbWJvOiBib29sZWFuO1xuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcbiAgICBQYXNzUGFyZW50Rm9ybTogYm9vbGVhbjtcbiAgICBTaG93TmV3QnV0dG9uOiBib29sZWFuO1xuICAgIFNob3dPa0NhbmNlbDogYm9vbGVhbjtcbiAgICBWaWV3UmVsYXRlZEZvcm1UeXBlOiBzdHJpbmc7XG4gICAgVGFyZ2V0VHlwZURlZklkOiBzdHJpbmc7XG4gICAgRGF0YVNvdXJjZToge1xuICAgICAgICBSb3dzOiBSb3dEYXRhT3B0aW9uW107XG4gICAgfTtcbiAgICBQcmV2aWV3RmllbGRDYXB0aW9uOiBzdHJpbmc7XG4gICAgUHJldmlld0ZpZWxkSWQ6IHN0cmluZztcbiAgICBQcmV2aWV3RmllbGROYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvbnRyb2xJbmZvVHlwZXMgPVxuICAgIHwgU3ViZm9ybUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEJvb2xDb250cm9sSW5mb01vZGVsXG4gICAgfCBFbnVtQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgSWNvbkNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEZpbGVDb250cm9sSW5mb01vZGVsXG4gICAgfCBEYXRlVGltZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IE51bWJlckNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFN0cmluZ0NvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFBpY3R1cmVGaWxlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgR2F1Z2VDb250cm9sSW5mb01vZGVsXG4gICAgfCBDb21tYW5kQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQ29kZUVkaXRvckNvbnRyb2xJbmZvTW9kZWw7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXdTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgTGF5b3V0OTQ6IGFueTtcbiAgICBDb250cm9sSW5mbzogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWxbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVNldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBEYXRhOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgfTtcbiAgICBWaWV3OiBGb3JtVmlld1NldHRpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgJEZpZWxkRGljdD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgJFJlcG9ydElkPzogc3RyaW5nO1xuICAgICRUeXBlPzogc3RyaW5nO1xuICAgICRTdHlsZUluZGV4PzogbnVtYmVyW107XG4gICAgJENhcHRpb246IHN0cmluZztcbiAgICAkSWNvbj86IHN0cmluZztcbiAgICAkU3RhdGU/OiBzdHJpbmc7XG4gICAgJFR5cGVEZWZJZD86IHN0cmluZztcbiAgICAkVHlwZURlZk5hbWU/OiBzdHJpbmc7XG4gICAgJENoaWxkcmVuPzogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIElkOiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBDYWxlbmRhck1ldGFvYmplY3REYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICAkQ29sb3I6IHN0cmluZztcbiAgICAkTW9tZW50U3RhcnREYXRlOiBzdHJpbmc7XG4gICAgJE1vbWVudEVuZERhdGU6IHN0cmluZztcbiAgICAkU3RhcnRUaW1lczogc3RyaW5nO1xuICAgICRFbmRUaW1lczogc3RyaW5nO1xuICAgICRUaXRsZTogc3RyaW5nO1xuICAgICROb3Rlczogc3RyaW5nO1xuICAgICRTdGFydERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xuICAgICRFbmREYXRlSW5mbz86IERhdGVJbmZvU2VydmljZTtcbn1cblxuZXhwb3J0IGNsYXNzIE1vRm9yUmVwb3J0TW9kZWwge1xuICAgICRUeXBlPzogc3RyaW5nO1xuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIFJlcG9ydElkOiBzdHJpbmc7XG4gICAgSWNvbj86IHN0cmluZztcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPjtcbiAgICBEZWxldGVkTGlzdDogQXJyYXk8eyBJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9PjtcbiAgICBBZGRlZExpc3Q6IEFycmF5PHsgSWQ6IHN0cmluZzsgVHlwZURlZklkOiBzdHJpbmcgfT47XG4gICAgUGFnaW5nOiBQYWdpbmdTZXR0aW5nO1xuICAgIFJlbGF0aW9uPzoge1xuICAgICAgICBSZWxhdGlvblR5cGU6IHN0cmluZztcbiAgICAgICAgUGFyZW50TW9JZDogc3RyaW5nO1xuICAgICAgICBQYXJlbnRGZElkOiBzdHJpbmc7XG4gICAgICAgIENoaWxkRmRJZDogc3RyaW5nO1xuICAgICAgICBQYXJlbnRGZE5hbWU6IHN0cmluZztcbiAgICAgICAgQ2hpbGRGZE5hbWU6IHN0cmluZztcbiAgICAgICAgUGFzc1BhcmVudE1vRmllbGQ6IHN0cmluZztcbiAgICAgICAgSXNBdXRvU2F2ZTogYm9vbGVhbjtcbiAgICAgICAgSXNBdXRvU2F2ZV9SZWxvYWRQYXJlbnRGb3JtczogYm9vbGVhbjtcbiAgICAgICAgSXNBdXRvU2F2ZV9SZWxvYWRSb290UGFyZW50TGlzdDogYm9vbGVhbjtcbiAgICB9O1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLkRlbGV0ZWRMaXN0ID0gdGhpcy5BZGRlZExpc3QgPSB0aGlzLk1vRGF0YUxpc3QgPSBbXTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0QmFzZUluZm8ge1xuICAgIElkOiBzdHJpbmc7XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIEZvbGRlcklkOiBzdHJpbmc7XG4gICAgSWNvblVybDogc3RyaW5nO1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydEV4dHJhSW5mbyBleHRlbmRzIFJlcG9ydEJhc2VJbmZvIHtcbiAgICBUeXBlRGVmSWQ6IHN0cmluZztcbiAgICBUeXBlRGVmQ2FwdGlvbjogc3RyaW5nO1xuICAgIFJlcG9ydFR5cGU6IHN0cmluZztcbiAgICBIaWRlVG9vbGJhcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIE1ldGFvYmplY3RSZWxhdGlvbk1vZGVsIGV4dGVuZHMgTGlzdFJlbGF0aW9uTW9kZWwge1xuICAgIFBhcmVudEZkSWQ6IHN0cmluZztcbiAgICBQYXNzUGFyZW50TW9GaWVsZDogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBGaWVsZEluZm9UeXBlRW51bSB7XG4gICAgSW50SW5mbyA9IDAsXG4gICAgU3RyaW5nSW5mbyA9IDIsXG4gICAgRGF0ZUluZm8gPSAzLFxuICAgIEJvb2xJbmZvID0gNSxcbiAgICBFbnVtSW5mbyA9IDYsXG4gICAgVXNlckluZm8gPSA3LFxuICAgIENhdGVnb3J5SW5mbyA9IDgsXG4gICAgTWV0YU9iamVjdEluZm8gPSA5LFxuICAgIENvbW1hbmRJbmZvID0gMTAsIC8vIDB4MDAwMDAwMEFcbiAgICBQaWN0dXJlc0luZm8gPSAxMSwgLy8gMHgwMDAwMDAwQlxuICAgIFJlbGF0aW9uSW5mbyA9IDEyLCAvLyAweDAwMDAwMDBDXG4gICAgSGlzdG9yeUluZm8gPSAxMywgLy8gMHgwMDAwMDAwRFxuICAgIFJlbGF0aW9uSW5mb1JldmVyc2VfQWtzTGlzdGkgPSAxNCwgLy8gMHgwMDAwMDAwRVxuICAgIENyZWF0b3JVc2VySW5mbyA9IDE1LCAvLyAweDAwMDAwMDBGXG4gICAgQ3JlYXRpb25EYXRlSW5mbyA9IDE2LCAvLyAweDAwMDAwMDEwXG4gICAgTGFzdFVwZGF0ZURhdGVJbmZvID0gMTcsIC8vIDB4MDAwMDAwMTFcbiAgICBSZW1pbmRlckluZm8gPSAxOCwgLy8gMHgwMDAwMDAxMlxuICAgIFJpY2hTdHJpbmdJbmZvID0gMTksIC8vIDB4MDAwMDAwMTNcbiAgICBDb252ZXJ0Q29tbWFuZEluZm8gPSAyMCwgLy8gMHgwMDAwMDAxNFxuICAgIFJlbGF0aW9uSW5mb1NpbmdsZVJldmVyc2VfQWtzVGFraUxpc3RpID0gMjEsIC8vIDB4MDAwMDAwMTVcbiAgICBEaWFsQ29tbWFuZEluZm8gPSAyMiwgLy8gMHgwMDAwMDAxNlxuICAgIEZpbmRDb250YWN0Q29tbWFuZEluZm8gPSAyMywgLy8gMHgwMDAwMDAxN1xuICAgIFNlcXVlbmNlQ29tbWFuZEluZm8gPSAyNCwgLy8gMHgwMDAwMDAxOFxuICAgIEN1cnJlbmN5SW5mbyA9IDI1LCAvLyAweDAwMDAwMDE5XG4gICAgU2luZ2xlUGljdHVyZUluZm8gPSAyNiwgLy8gMHgwMDAwMDAxQVxuICAgIFdvcmRSZXBvcnRDb21tYW5kSW5mbyA9IDI3LCAvLyAweDAwMDAwMDFCXG4gICAgSGllcmFyY2hpY2FsSW5mbyA9IDI4LCAvLyAweDAwMDAwMDFDXG4gICAgVGltZVNwYW5JbmZvID0gMjksIC8vIDB4MDAwMDAwMURcbiAgICBSZXBvcnRJbmZvID0gMzAsIC8vIDB4MDAwMDAwMUVcbiAgICBGaWxlSW5mbyA9IDMxLCAvLyAweDAwMDAwMDFGXG4gICAgV29yZEZpbGVJbmZvID0gMzIsIC8vIDB4MDAwMDAwMjBcbiAgICBQaWN0dXJlRmlsZUluZm8gPSAzMywgLy8gMHgwMDAwMDAyMVxuICAgIEdhdWdlSW5mbyA9IDM0LCAvLyAweDAwMDAwMDIyXG4gICAgQ29kZUluZm8gPSAzNSwgLy8gMHgwMDAwMDAyM1xuICAgIFdvcmtDZW50ZXJJbmZvID0gMzYsIC8vIDB4MDAwMDAwMjRcbiAgICBJc0RlbGV0ZWRJbmZvID0gMzcsIC8vIDB4MDAwMDAwMjVcbiAgICBSb3dOdW1iZXJJbmZvID0gMzgsIC8vIDB4MDAwMDAwMjZcbiAgICBCaW5hcnlJbmZvID0gMzksIC8vIDB4MDAwMDAwMjdcbiAgICBSZXZlcnNlTWV0YU9iamVjdEluZm9fQWtzVGFraVRha2kgPSA0MCwgLy8gMHgwMDAwMDAyOFxuICAgIENvbG9ySW5mbyA9IDQxLCAvLyAweDAwMDAwMDI5XG4gICAgSWNvbkluZm8gPSA0MiwgLy8gMHgwMDAwMDAyQVxuICAgIFJlZnJlc2hGaWVsZENvbW1hbmRJbmZvID0gNDMsIC8vIDB4MDAwMDAwMkJcbiAgICBSZWZlcmVuY2VGaWVsZEluZm8gPSA0NCwgLy8gMHgwMDAwMDAyQ1xuICAgIFNlYXJjaENvbW1hbmRJbmZvID0gNDUsIC8vIDB4MDAwMDAwMkRcbiAgICBPcmRlckluZm8gPSA0NiAvLyAweDAwMDAwMDJFXG59XG5leHBvcnQgaW50ZXJmYWNlIENsYXNzTmFtZXNNb2RlbCB7XG4gICAgQ29tbWFuZEJhckNsYXNzOiBzdHJpbmc7XG4gICAgRGF0YUNsYXNzOiBzdHJpbmc7XG4gICAgU2VsZWN0aW9uQ2xhc3M6IHN0cmluZztcbiAgICBWaWV3ZXJDbGFzczogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBFeHRyYU1vZGVsIHtcbiAgICBDdXN0b21Db21tYW5kcz86IEN1c3RvbUNvbW1hbmRbXTtcbiAgICBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M/OiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XG4gICAgUGFyZW50VWx2Q29uZmlnPzogYW55O1xuICAgIFJlbGF0aW9uPzogTWV0YW9iamVjdFJlbGF0aW9uTW9kZWw7XG4gICAgUmVwb3J0PzogUmVwb3J0RXh0cmFJbmZvO1xuICAgIEV4dHJhSnNvblByb3BSZXBvcnQ/OiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIENsYXNzTmFtZXM6IENsYXNzTmFtZXNNb2RlbDtcbiAgICBFeHRyYTogRXh0cmFNb2RlbDtcbiAgICBWaWV3OiBWaWV3VHlwZXM7XG4gICAgU2VhcmNoUGFuZWw6IGFueTtcbiAgICBEZWZhdWx0SXRlbUNvbXBvbmVudCA9ICdSZXBvcnREZWZhdWx0SXRlbUNvbXBvbmVudCc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRDb21tYW5kc0FjY2VzcyB7XG4gICAgQWRkOiBib29sZWFuO1xuICAgIEFkZFRvTGlzdDogYm9vbGVhbjtcbiAgICBEZWxldGU6IGJvb2xlYW47XG4gICAgRWRpdDogYm9vbGVhbjtcbiAgICBFeHBvcnQ6IGJvb2xlYW47XG4gICAgUHJpbnQ6IGJvb2xlYW47XG4gICAgUmVmcmVzaDogYm9vbGVhbjtcbiAgICBSZW1vdmVGcm9tTGlzdDogYm9vbGVhbjtcbiAgICBWaWV3OiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbW1hbmQge1xuICAgIERhdGE6IGFueTtcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xuICAgIEhpZGVEaXNhYmxlOiBib29sZWFuO1xuICAgIEljb25Vcmw6IHN0cmluZztcbiAgICBJc0xhcmdlOiBib29sZWFuO1xuICAgIE15dHlwZTogc3RyaW5nO1xuICAgIE9yZGVyOiBudW1iZXI7XG4gICAgU2hvd09uQ29udGV4dDogYm9vbGVhbjtcbiAgICBTaG93T25Ub29sYmFyOiBib29sZWFuO1xuICAgIFRleHQ6IHN0cmluZztcbiAgICBVc2VBbHdheXM6IGJvb2xlYW47XG4gICAgVXNlRm9yTXVsdGk6IGJvb2xlYW47XG4gICAgVXNlRm9yU2luZ2xlOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydE1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBEYXRhOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRMaXN0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IEdyaWRWaWV3O1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydEZvcm1Nb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgVmlldzogRm9ybVZpZXc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFRyZWVWaWV3IHtcbiAgICBDb25kaXRpb25hbEZvcm1hdHM6IFtdO1xuICAgIFBhcmVudElkRGJOYW1lOiBzdHJpbmc7XG4gICAgU2hvd1NlbGVjdGlvbkNoZWNrczogYm9vbGVhbjtcbiAgICBUcmVlQXV0b09wZW5MZXZlbHM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkVmlldyB7XG4gICAgQWxsb3dHcmlkQ29sdW1uU29ydDogYm9vbGVhbjtcbiAgICBBdXRvSW5saW5lRWRpdDogYm9vbGVhbjtcbiAgICBDb2x1bW5SZXF1ZXN0RW51bTogc3RyaW5nO1xuICAgIENvbHVtbnM6IEFycmF5PFJlcG9ydFZpZXdDb2x1bW4+O1xuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XG4gICAgRGlzYWJsZVJvd1JlbG9hZDogYm9vbGVhbjtcbiAgICBHcmlkU2V0dGluZzogR3JpZFNldHRpbmc7XG4gICAgR3JpZF9GcmVlQ29sdW1uU2l6aW5nOiBib29sZWFuO1xuICAgIEdyaWRfR3JpZExpbmVzOiBzdHJpbmc7XG4gICAgR3JpZF9IaWRlSGVhZGVyOiBib29sZWFuO1xuICAgIEdyaWRfU2hvd1Jvd051bWJlcjogYm9vbGVhbjtcbiAgICBIYXNDb25kaXRpb25hbEZvcm1hdDogYm9vbGVhbjtcbiAgICBIYXNTdW1tYXJ5Um93OiBib29sZWFuO1xuICAgIEhpZGVJY29uOiBib29sZWFuO1xuICAgIElzQ2hlY2tMaXN0OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclZpZXcge1xuICAgIENhbGVuZGFyRmllbGRzOiBDYWxlbmRhckZpZWxkcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXcge1xuICAgIEZvcm1QYW5lbFNldHRpbmc6IGFueTtcbn1cbmV4cG9ydCB0eXBlIFZpZXdUeXBlcyA9IEdyaWRWaWV3IHwgQ2FsZW5kYXJWaWV3IHwgVHJlZVZpZXcgfCBGb3JtVmlldztcblxuZXhwb3J0IHR5cGUgUmVwb3J0TW9kZWxUeXBlcyA9IFJlcG9ydExpc3RNb2RlbCB8IFJlcG9ydENhbGVuZGFyTW9kZWwgfCBSZXBvcnRGb3JtTW9kZWwgfCBSZXBvcnRUcmVlTW9kZWw7XG5cbmV4cG9ydCBjbGFzcyBSZXBvcnRDYWxlbmRhck1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBDYWxlbmRhclZpZXc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0VHJlZU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBUcmVlVmlldztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJGaWVsZHMge1xuICAgIEVuZERhdGU6IHN0cmluZztcbiAgICBOb3Rlczogc3RyaW5nO1xuICAgIFN0YXJ0RGF0ZTogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgQ29sb3I6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydFZpZXdDb2x1bW4ge1xuICAgIEFsaWFzOiBzdHJpbmc7XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIEZpZWxkRGVmSWQ6IHN0cmluZztcbiAgICBGaWVsZFR5cGVJZDogbnVtYmVyO1xuICAgIEZpZWxkVHlwZTogc3RyaW5nO1xuICAgIEhhc1N1bW1hcnk6IGJvb2xlYW47XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIElzTHRyOiBib29sZWFuO1xuICAgIElzUHJldmlldzogYm9vbGVhbjtcbiAgICBNZXRhRmllbGRUeXBlSWQ6IHN0cmluZztcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgV2lkdGg6IG51bWJlcjtcbiAgICBUYWc/OiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIE9ubHlJbWFnZT86IGJvb2xlYW47XG4gICAgRXh0cmE/OiBhbnk7XG4gICAgJFdpZHRoOiBzdHJpbmc7XG4gICAgJFdpZHRoMj86IHN0cmluZztcbiAgICAkTWVyZ2VkRmllbGRzVG9Db2x1bW4/OiBzdHJpbmdbXTtcbiAgICAkQ1NTQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICRDdXN0b21Db21wb25lbnQ/OiBFanJheU9sZ287XG4gICAgJFRleHRXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEdyaWRTZXR0aW5nIHtcbiAgICBDb2xTZXR0aW5nTGlzdDogQXJyYXk8Q29sU2V0dGluZz47XG4gICAgU29ydFNldHRpbmdMaXN0OiBBcnJheTxTb3J0U2V0dGluZz47XG4gICAgQXV0b1NpemVDb2x1bW5zOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIENvbFNldHRpbmcge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIElzSGlkZGVuOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFNvcnRTZXR0aW5nIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgU29ydERpcmVjdGlvbjogc3RyaW5nO1xuICAgIElzR3JvdXBlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydEZpZWxkIHtcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBwdWJsaWMgaXRlbTogYW55KSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBjb2x1bW4uTmFtZTtcbiAgICAgICAgdGhpcy5jYXB0aW9uID0gY29sdW1uLkNhcHRpb247XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV07XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uRGF0ZUluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZSArICckQ2FwdGlvbiddO1xuICAgICAgICB9XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uSWNvbkluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV0uVXJsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luUmVzdWx0IHtcbiAgICBkYXRhOiB7IHN0aDogc3RyaW5nIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFNldHRpbmdzRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgUGxhY2VIb2xkZXJzPzogUGxhY2VIb2xkZXJEYXRhTW9kZWxbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50RGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICBTZXR0aW5nczogQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlSG9sZGVyRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgSXNQYWdlOiBib29sZWFuO1xuICAgIE9yZGVyTnVtYmVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBQbGFjZUhvbGRlcjogUGxhY2VIb2xkZXJEYXRhTW9kZWw7XG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VMaXN0UmVwb3J0TW9kZWwgZXh0ZW5kcyBNb0ZvclJlcG9ydE1vZGVsIHtcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxQYWdlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TW9kdWxlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZURhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xuICAgIE1vZHVsZUxpc3Q6IE1vZHVsZUxpc3RSZXBvcnRNb2RlbDtcbiAgICBDaGlsZFBhZ2VMaXN0OiBQYWdlTGlzdFJlcG9ydE1vZGVsO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgUm91dGU6IHN0cmluZztcbiAgICBJc0RlZmF1bHRSb3V0ZTogYm9vbGVhbjtcbiAgICBJc0xvZ2luUm91dGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9ydGFsRGF0YU1vZGVsIGV4dGVuZHMgUGFnZURhdGFNb2RlbCB7XG4gICAgSXNBY3RpdmU6IGJvb2xlYW47XG4gICAgSXNQd2E6IGJvb2xlYW47XG4gICAgUG9ydGFsU2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwVmlzaWJpbGl0eSB7XG4gICAgZW5hYmxlOiBib29sZWFuO1xuICAgIHZpc2libGU6IGJvb2xlYW47XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUhlYWRlckxheW91dCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgU3VidGl0bGU6IHN0cmluZztcbiAgICBBdmF0YXI6IGFueTtcbiAgICBGYWNldExpc3Q6IHsgTW9EYXRhTGlzdDogTWV0YW9iamVjdERhdGFNb2RlbFtdIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudUl0ZW0ge1xuICAgIGljb246IHN0cmluZztcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgaXRlbUlkOiBzdHJpbmc7XG4gICAgRGF0YTogYW55O1xuICAgIENvbW1hbmQ6IGFueTtcbiAgICBoYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIElzQnVpbHRpbj86IGJvb2xlYW47XG4gICAgbWVudT86IHsgaXRlbXM6IE1lbnVJdGVtW10gfTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5nU2V0dGluZyB7XG4gICAgRW5kSW5kZXg6IG51bWJlcjtcbiAgICBIYXNQYWdpbmc6IGJvb2xlYW47XG4gICAgUGFnZTogbnVtYmVyO1xuICAgIFBhZ2VTaXplOiBudW1iZXI7XG4gICAgUm93Q291bnQ6IG51bWJlcjtcbiAgICBTdGFydEluZGV4OiBudW1iZXI7XG4gICAgVG90YWxQYWdlczogbnVtYmVyO1xuICAgIFRvdGFsUm93czogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5JbmZvVHlwZSB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIEhpZGRlbjogYm9vbGVhbjtcbiAgICBDYXB0aW9uOiBzdHJpbmc7XG4gICAgSXNNYW5kYXRvcnk/OiBib29sZWFuO1xuICAgIFdpZHRoOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFBhbmVsU2V0dGluZ3MgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFJlcG9ydElkOiBzdHJpbmc7XG4gICAgSXNEZWZhdWx0OiBib29sZWFuO1xuICAgIElzUHVibGljOiBib29sZWFuO1xuICAgIEFwcGx5QXV0b21hdGljYWxseTogYm9vbGVhbjtcbiAgICBTZWFyY2hNbz86IHN0cmluZztcbiAgICBGaWVsZHNTZXR0aW5nPzogc3RyaW5nO1xufVxuZXhwb3J0IGRlY2xhcmUgdHlwZSBEZXZpY2VTaXplID0gJ2Rlc2t0b3AnIHwgJ21vYmlsZScgfCAndGFibGV0JztcbmV4cG9ydCBjb25zdCBEYXRlUmFuZ2VzID0gW1xuICAgICdEYXRlUl9Ob25lJyxcbiAgICAnRGF0ZVJfU3BlY2lmaWNSYW5nZScsXG4gICAgJ0RhdGVSX1RvZGF5JyxcbiAgICAnRGF0ZVJfVGhpc1dlZWsnLFxuICAgICdEYXRlUl9UaGlzTW9udGgnLFxuICAgICdEYXRlUl9UaGlzWWVhcicsXG4gICAgJ0RhdGVSX0RheXNCZWZvcmUnLFxuICAgICdEYXRlUl9QcmV2V2VlaycsXG4gICAgJ0RhdGVSX1ByZXZNb250aCcsXG4gICAgJ0RhdGVSX1ByZXZZZWFyJyxcbiAgICAnRGF0ZVJfRGF5c0FmdGVyJyxcbiAgICAnRGF0ZVJfTmV4dFdlZWsnLFxuICAgICdEYXRlUl9OZXh0TW9udGgnLFxuICAgICdEYXRlUl9OZXh0WWVhcidcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBvcnRWaWV3QmFzZSB7XG4gICAgVWlDb21wb25lbnQ6IHtcbiAgICAgICAgQ29tcG9uZW50OiBib29sZWFuO1xuICAgICAgICBNb2R1bGU6IHN0cmluZztcbiAgICAgICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcbiAgICAgICAgTmFtZTogc3RyaW5nO1xuICAgICAgICBTZWxlY3Rvcjogc3RyaW5nO1xuICAgICAgICBTZXR0aW5nczogVWlSZXBvcnRWaWV3QmFzZVNldHRpbmc7XG4gICAgfTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBUeXBlOiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIElzRGVmYXVsdDogYm9vbGVhbjtcbiAgICBIaWRkZW46IGJvb2xlYW47XG4gICAgRW5hYmxlU2VhcmNoOiBib29sZWFuO1xuICAgIERpc2FibGVSZXNwb25zaXZlPzogYm9vbGVhbjtcbiAgICBEaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudT86IGJvb2xlYW47XG4gICAgSG9yaXpvbnRhbEdyb3VwQnk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0U2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIFRpdGxlPzogc3RyaW5nO1xuICAgIHh0eXBlOiBzdHJpbmc7XG4gICAgVGV4dFZpc2libGU/OiBib29sZWFuO1xuICAgIGl0ZW1zOiBMYXlvdXRTZXR0aW5nW107XG4gICAgSXNSb290PzogYm9vbGVhbjtcbiAgICBTZWxlY3RlZFRhYlBhZ2VOYW1lPzogc3RyaW5nO1xufVxuZXhwb3J0IGRlY2xhcmUgdHlwZSBBYmJyZXZhdGlvbkRldmljZVNpemUgPSAncycgfCAnbScgfCAnbCcgfCAneGwnO1xuZXhwb3J0IGludGVyZmFjZSBUcmVlTm9kZU9iaiB7XG4gICAgaXNFeHBhbmQ6IGJvb2xlYW47XG4gICAgdmlzaWJpbGl0eTogYm9vbGVhbjtcbiAgICBleHBhbmQ6ICgpID0+IHZvaWQ7XG4gICAgY29sbGFwc2U6ICgpID0+IHZvaWQ7XG4gICAgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBjaGlsZHJlbjogVHJlZU5vZGVPYmpbXTtcbiAgICBpY29uOiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgbGVhZjogYm9vbGVhbjtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgbGV2ZWw6IG51bWJlcjtcbiAgICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgICBoYXNPbmVEZXB0aExldmVsPzogYm9vbGVhbjtcbiAgICBwYXJlbnROb2RlOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgZmlyc3RDaGlsZDogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIGxhc3RDaGlsZDogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIHByZXZpb3VzU2libGluZzogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIG5leHRTaWJsaW5nOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgYXR0cmlidXRlczogeyBEYXRhOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbCB9O1xuICAgIGhhc0NoaWxkTm9kZXM6ICgpID0+IGJvb2xlYW47XG4gICAgbm9Ecm9wOiBib29sZWFuO1xuICAgICRDaGlsZHJlbj86IFRyZWVOb2RlT2JqW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uUmVzaXplZEFyZ3Mge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB3aWR0aDogbnVtYmVyO1xufVxuZXhwb3J0IHR5cGUgY29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3MgPSB7IGNvbHVtbnM6IEFycmF5PFJlcG9ydFZpZXdDb2x1bW4+OyByZXNpemVkOiBBcnJheTxDb2x1bW5SZXNpemVkQXJncz4gfTtcbmV4cG9ydCB0eXBlIFJlbGF0aW9uSXRlbVR5cGUgPSB7XG4gICAgSWQ6IHN0cmluZztcbiAgICBTb3VyY2VUeXBlRGVmSWQ6IHN0cmluZztcbiAgICBPYmplY3RJblJlbGF0aW9uTmFtZTogc3RyaW5nO1xuICAgIEdyb3VwQ2FwdGlvbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBFanJheU9sZ28gZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBNb2R1bGU6IHN0cmluZztcbiAgICBNb2R1bGVGaWxlTmFtZTogc3RyaW5nO1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBTZWxlY3Rvcjogc3RyaW5nO1xuICAgIFBhcmFtZXRlcnM/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIFNldHRpbmdzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBsb2FkaW5nU3RhdGUge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHVwbG9hZGluZzogYm9vbGVhbjtcbiAgICBzdGF0ZTogJ1VwbG9hZGluZycgfCAnRXJyb3InIHwgJ0NvbXBsZXRlJyB8ICdTdGFydCc7XG4gICAgcHJvZ3Jlc3M6IGFueTtcbn1cbmV4cG9ydCB0eXBlIEdyb3VwQnlJdGVtID0geyBba2V5OiBzdHJpbmddOiBhbnk7IGlkOiBzdHJpbmc7IGtleTogc3RyaW5nOyB2YWx1ZTogYW55W10gfTtcbmV4cG9ydCB0eXBlIE5vdGlmeU9wdGlvbnMgPSB7XG4gICAgU291bmQ6IGJvb2xlYW47IC8vIFNvdW5kIG9mIG5vdGlmaWNhdGlvbi4gU2V0IHRoaXMgZmFsc2UgdG8gZGlzYWJsZSBzb3VuZC5cbiAgICBJbWFnZTogc3RyaW5nIHwgbnVsbDsgLy8gSW1hZ2Ugc291cmNlIHN0cmluZ1xuICAgIFRpdGxlOiBzdHJpbmcgfCBudWxsOyAvLyBUaXRsZSBvZiBub3RpZmljYXRpb24uIElmIHlvdSBkbyBub3QgaW5jbHVkZSB0aGUgdGl0bGUgaW4gb3B0aW9ucyBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgdGFrZXMgaXRzIHZhbHVlXG4gICAgSWNvbjogYm9vbGVhbjsgLy8gSWNvbiBvZiBub3RpZmljYXRpb24uIExlYXZlIGFzIGlzIGZvciBkZWZhdWx0IGljb24gb3Igc2V0IGN1c3RvbSBzdHJpbmdcbiAgICBEZWxheTogbnVtYmVyOyAvLyBIaWRlIG5vdGlmaWNhdGlvbiBhZnRlciB0aGlzIHRpbWUgKGluIG1pbGlzZWNvbmRzKVxuICAgIENsb3NhYmxlOiBib29sZWFuOyAvLyBNYWtlIG5vdGlmaWNhdGlvbnMgY2xvc2FibGVcbiAgICBEZWxheUluZGljYXRvcjogYm9vbGVhbjsgLy8gU2hvdyB0aW1lciBpbmRpY2F0b3JcbiAgICBDbG9zZU9uQ2xpY2s6IGJvb2xlYW47IC8vIENsb3NlIG5vdGlmaWNhdGlvbnMgYnkgY2xpY2tpbmcgb24gdGhlbVxuICAgIElzUnRsOiBib29sZWFuO1xuICAgIFBvc2l0aW9uOiBzdHJpbmcgfCBvYmplY3Q7IC8vIEF2YWlsYWJsZSBvcHRpb25zOiBcInRvcCBsZWZ0XCIsIFwidG9wIHJpZ2h0XCIsIFwiYm90dG9tIGxlZnRcIiwgXCJib3R0b20gcmlnaHRcIiwgXCJjZW50ZXIgdG9wXCIsIFwiY2VudGVyIGJvdHRvbVwiXG4gICAgU291bmRQYXRoOiBzdHJpbmc7IC8vIFRoZSBmb2xkZXIgcGF0aCB3aGVyZSBzb3VuZHMgYXJlIGxvY2F0ZWRcbiAgICBTaXplOiBzdHJpbmc7IC8vIG5vcm1hbCwgbWluaSwgbGFyZ2VcbiAgICBDb250aW51ZURlbGF5T25JbmFjdGl2ZVRhYjogYm9vbGVhbjsgLy8gQ29udGludWUgZGVsYXkgd2hlbiBicm93c2VyIHRhYiBpcyBpbmFjdGl2ZVxuICAgIFdpZHRoOiBudW1iZXI7IC8vIFdpZHRoIG9mIG5vdGlmaWNhdGlvbiBib3hcbiAgICBNZXNzYWdlSGVpZ2h0OiBudW1iZXI7IC8vIE5vdGlmaWNhdGlvbiBtZXNzYWdlIG1heGltdW0gaGVpZ2h0LlxuICAgIE5vdGlmaWNhdGlvbkl0ZW0/OiBOb3RpZmljYXRpb25JdGVtO1xufTtcbmV4cG9ydCB0eXBlIFNoYXJlQnV0dG9uc0Nob2ljZURlZiA9IHsgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7IGNob2ljZUxpc3Q6IENob2ljZURlZltdOyBhZGQ6IGJvb2xlYW4gfTtcbmV4cG9ydCB0eXBlIENob2ljZURlZiA9IHtcbiAgICBBY3Rpdml0eURlZklkOiBzdHJpbmc7XG4gICAgQWN0aXZpdHlSdW5JZDogc3RyaW5nO1xuICAgIENob2ljZURlZklkOiBzdHJpbmc7XG4gICAgQ2hvaWNlTmFtZT86IHN0cmluZztcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIEljb24/OiBzdHJpbmc7XG4gICAgSGFzQmFyPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMgPSB7XG4gICAgbG9hZGluZzogYm9vbGVhbjtcbiAgICByZXN1bHQ6IGFueTtcbiAgICBlcnJvcjogYW55O1xuICAgIGNob2ljZT86IENob2ljZURlZjtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QYXlsb2FkID0ge1xuICAgIG1zZzogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGltYWdlOiBzdHJpbmc7XG4gICAgbW87XG4gICAgdWlPcHRpb25zOiBOb3RpZnlPcHRpb25zO1xuICAgIG90aGVyT3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25BY3Rpb24gPSB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBJZDogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBTdGF0dXM6IHN0cmluZyB8IGFueTtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25JdGVtID0gTWV0YW9iamVjdERhdGFNb2RlbCAmIHtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFVucmVhZDogYm9vbGVhbjtcbiAgICBDb250ZW50OiBzdHJpbmc7XG4gICAgJFNhZmVDb250ZW50PzogU2FmZUh0bWw7XG4gICAgUHJpb3JpdHk6IG51bWJlcjtcbiAgICBTdWJqZWN0OiBzdHJpbmc7XG4gICAgVGFnOiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIEltYWdlOiBzdHJpbmc7XG4gICAgQ3JlYXRpb25EYXRlOiBEYXRlO1xuICAgIENyZWF0aW9uRGF0ZSRDYXB0aW9uOiBzdHJpbmc7XG4gICAgVWlBY3Rpb25zPzogTm90aWZpY2F0aW9uQWN0aW9uW107XG4gICAgJENob2ljZURlZlN0YXR1cz86IFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIEV4Tm90aWZpY2F0aW9uUGF5bG9hZCA9IHtcbiAgICBsYW5nOiBzdHJpbmc7XG4gICAgaXNSdGw6IGJvb2xlYW47XG4gICAgbm90aWZpY2F0aW9uSXRlbTogTm90aWZpY2F0aW9uSXRlbTtcbn07XG5leHBvcnQgdHlwZSBGb3JtVmlzaWJpbGl0eVN0YXR1cyA9ICdQZW5kaW5nJyB8ICdWaXNpYmxlJztcbmV4cG9ydCB0eXBlIENhcnRhYmxlVGVtcGxhdGVLZXkgPSB7IFR5cGVEZWZJZDogc3RyaW5nOyBTZXR0aW5nc0lkOiBzdHJpbmcgfTtcbmV4cG9ydCBlbnVtIFNvcnREaXJlY3Rpb24ge1xuICAgIE5PTkUgPSAnbm9uZScsXG4gICAgQVNDID0gJ2FzYycsXG4gICAgREVTQyA9ICdkZXNjJ1xufVxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU29ydCB7XG4gICAgZmllbGQ6IHN0cmluZyB8IG51bGw7XG4gICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xuICAgIGlzTnVtYmVyPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSW5wdXQge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkdyb3VwIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgICBzaG93QXNDb2x1bW46IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblBhZ2Uge1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgY3VycmVudFBhZ2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU3RhdGUge1xuICAgIHNvcnRCeTogQ29sbGVjdGlvblNvcnRbXTtcbiAgICBncm91cEJ5OiBDb2xsZWN0aW9uR3JvdXBbXTtcbiAgICBwYWdlOiBDb2xsZWN0aW9uUGFnZTtcbiAgICBzZWFyY2hJbnB1dDogU2VhcmNoSW5wdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVTdGF0ZSBleHRlbmRzIENvbGxlY3Rpb25TdGF0ZSB7XG4gICAgY29sdW1uczogc3RyaW5nW107XG4gICAgY29sdW1uS2V5czogc3RyaW5nW107XG4gICAgZnJlZXplVG9Db2x1bW46IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgZW51bSBTZWxlY3Rpb25Nb2RlIHtcbiAgICBTSU5HTEUgPSAnc2luZ2xlJyxcbiAgICBNVUxUSVBMRSA9ICdtdWx0aXBsZScsXG4gICAgTk9ORSA9ICdub25lJ1xufVxuZXhwb3J0IGludGVyZmFjZSBUeXBlVWx2TWFpbkN0cmxyIHtcbiAgICBBZGFwdGVyOiBhbnk7XG4gICAgU2V0dGluZzogYW55O1xuICAgIFN5c3RlbTogYW55O1xuICAgIFVsdlBhcmFtczogYW55O1xuICAgIEZlYXR1cmVzOiBhbnk7XG4gICAgVWlPdmVycmlkZTogYW55O1xuICAgIFNlYXJjaFBhbmVsQ3RybHI6IGFueTtcbiAgICBTZWxlY3Rpb25BZGFwdGVyOiBhbnk7XG4gICAgRGF0YUN0cmxyOiBUeXBlVWx2RGF0YUN0cmxyO1xuICAgIENvbW1hbmRCYXJDdHJscjogYW55O1xuICAgIFZpZXdlckFkYXB0ZXI6IGFueTtcbiAgICBQYXJlbnRNbzogYW55O1xuICAgIEZpZWxkQ3RybHI6IGFueTtcbiAgICBpc01hbmRhdG9yeTogYm9vbGVhbjsgLy8gcG9ydGFsIHVzZSBpdC4gY29tcG9uZW50IG1hZGFyZWtcbiAgICAvLy8gUmVsYXRlZCBmaWVsZCBvZiBVbHZcbiAgICAvLyBQYXJlbnRGaWVsZEluZm9DdHJscjogbnVsbCxcbiAgICBJc1ByZXZpZXdTb3VyY2VGaWVsZDogYm9vbGVhbjtcbiAgICAvLy8gSW5kaWNhdGUgd2hldGhlciB0aGlzIFVsdiBpcyB1c2VkIGFzIHJlbGF0aW9uIGZpZWxkIHRoYXQgaXMgUHJldmlld1NvdXJjZSBmb3IgYSBzdWJmb3JtXG4gICAgU2hvd09rQ2FuY2VsQnV0dG9uczogYm9vbGVhbjtcbiAgICBfaXNFbmFibGU6IGJvb2xlYW47XG4gICAgX2lzUmVhZE9ubHk6IGJvb2xlYW47XG4gICAgX2lzVmlzaWJsZTogYm9vbGVhbjtcbiAgICBGb290dGVyQnV0dG9uczogYm9vbGVhbjtcbiAgICBSZWZyZXNoUm93c0J5TW9zTm9TZWxlY3Rpb25DaGFuZ2UoXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cbiAgICApOiB2b2lkO1xuICAgIFJlZnJlc2hSb3dzQnlNb3MoXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cbiAgICApOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVVbHZEYXRhQ3RybHIge1xuICAgIEdldEVkaXRGb3JtUGFyYW1zKG1vLCBpc1JlYWRPbmx5LCBpc05ldywgaW5oZXJpdGFuY2VDaGlsZFR5cGVEZWYsIGRvUmV0dXJuKTogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNvbXBvbmVudFBhcmFtcyB7XG4gICAgZm9ybVNldHRpbmc/OiBGb3JtU2V0dGluZztcbiAgICBtb0lkOiBzdHJpbmc7XG4gICAgdHlwZURlZklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcmVwb3J0SWQ/OiBzdHJpbmc7XG4gICAgdmlld0lkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIFZpZXdOYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGluRGlhbG9nPzogYm9vbGVhbjtcbiAgICBpc1NpbXBsZT86IGJvb2xlYW47XG59XG4iXX0=
@@ -158,7 +158,7 @@ export class ReportViewBaseComponent extends BaseComponent {
158
158
  _containerWidthChanged(_) { }
159
159
  }
160
160
  ReportViewBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportViewBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.FindColumnByDbNamePipe }, { token: i2.UlvMainService }, { token: i2.PortalService }, { token: i2.UploadService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
161
- ReportViewBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportViewBaseComponent, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", allChecked: "allChecked", moDataList: "moDataList", UlvMainCtrlr: "UlvMainCtrlr", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", hasSelected: "hasSelected", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", containerWidth: "containerWidth" }, outputs: { resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
161
+ ReportViewBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportViewBaseComponent, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", hideToolbar: "hideToolbar", allChecked: "allChecked", moDataList: "moDataList", UlvMainCtrlr: "UlvMainCtrlr", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", hasSelected: "hasSelected", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", containerWidth: "containerWidth" }, outputs: { resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
162
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportViewBaseComponent, decorators: [{
163
163
  type: Component,
164
164
  args: [{
@@ -176,6 +176,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
176
176
  type: Input
177
177
  }], isCheckList: [{
178
178
  type: Input
179
+ }], hideToolbar: [{
180
+ type: Input
179
181
  }], allChecked: [{
180
182
  type: Input
181
183
  }], moDataList: [{
@@ -327,4 +329,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
327
329
  }], containerWidth: [{
328
330
  type: Input
329
331
  }] } });
330
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUlULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQXNCakQsTUFBTSxPQUFPLHVCQUEyRCxTQUFRLGFBQWE7SUE2RnpGLFlBQ2MsR0FBZSxFQUNmLElBQXVCLEVBQ3ZCLFVBQXFCLEVBQ3JCLG1CQUEyQyxFQUMzQyxlQUErQixFQUMvQixjQUE2QixFQUNqQixjQUE4QjtRQUVwRCxLQUFLLEVBQUUsQ0FBQztRQVJFLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3JCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXJEL0MsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFTbkIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDOUQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDNUQsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7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QUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNNLGNBQWM7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHkgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaW5kQ29sdW1uQnlEYk5hbWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgUG9ydGFsU2VydmljZSwgVWx2TWFpblNlcnZpY2UsIFVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcbiAgICBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyxcbiAgICBEZWZhdWx0Q29tbWFuZHNBY2Nlc3MsXG4gICAgRGV2aWNlU2l6ZSxcbiAgICBGb3JtU2V0dGluZyxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIFJlbGF0aW9uSXRlbVR5cGUsXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcbiAgICBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyxcbiAgICBTaGFyZUJ1dHRvbnNDaG9pY2VEZWYsXG4gICAgVHlwZVVsdk1haW5DdHJsclxufSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1yZXBvcnQtdmlldy1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VCBleHRlbmRzIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPiBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGNvbnRleHRWaWV3OiBhbnk7XG4gICAgQElucHV0KCkgdmlld1NldHRpbmc6IFQ7XG4gICAgQElucHV0KCkgYWxsQ29sdW1uczogYW55O1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tMaXN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFsbENoZWNrZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbW9EYXRhTGlzdDogYW55O1xuICAgIEBJbnB1dCgpIFVsdk1haW5DdHJscjogVHlwZVVsdk1haW5DdHJscjtcbiAgICBASW5wdXQoKSBhY2Nlc3M6IERlZmF1bHRDb21tYW5kc0FjY2VzcztcbiAgICBASW5wdXQoKSBncm91cGJ5OiBhbnk7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRDb3VudDogYW55O1xuICAgIEBJbnB1dCgpIGNvbmRpdGlvbmFsRm9ybWF0czogYW55O1xuICAgIEBJbnB1dCgpIHBhcmVudEhlaWdodDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGRldmljZU5hbWU6IERldmljZVNpemU7XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IGFueVtdO1xuICAgIEBJbnB1dCgpIGNvbHVtbnM6IGFueTtcbiAgICBASW5wdXQoKSBhbGxvd0lubGluZUVkaXQ6IGFueTtcbiAgICBASW5wdXQoKSBzZWNvbmRhcnlDb2x1bW5zOiBhbnk7XG4gICAgQElucHV0KCkgcG9waW46IGJvb2xlYW47XG4gICAgQElucHV0KCkgY3VzdG9tRmllbGRJbmZvOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgYW55O1xuICAgIEBJbnB1dCgpIGhhc1N1bW1hcnk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGFzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY29sdW1uc0NvdW50OiBhbnk7XG4gICAgQElucHV0KCkgaGlkZU9wZW5JY29uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG9wZW5PbkNsaWNrOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHR5cGVEZWZJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGlzdEVkaXRWaWV3SWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSB0eXBlVmlld0lkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0cmFSZWxhdGlvbjogYW55O1xuICAgIEBJbnB1dCgpIHJlbGF0aW9uTGlzdDogQXJyYXk8UmVsYXRpb25JdGVtVHlwZT47XG4gICAgQElucHV0KCkgZGlzYWJsZVJlc3BvbnNpdmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcm93SXRlbTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBtb2JpbGVPclRhYmxldDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpbkRpYWxvZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGZ1bGxzY3JlZW46IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVNlYXJjaHBhbmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5ld0lubGluZUVkaXRNbzogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGw7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRNbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0TW9kZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBvbmx5SW5saW5lRWRpdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByb3dIb3ZlcmFibGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdGxiQnV0dG9uczogYW55W107XG4gICAgQElucHV0KCkgZm9ybVNldHRpbmc6IEZvcm1TZXR0aW5nO1xuICAgIEBJbnB1dCgpIGRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJvd0FjdGl2YWJsZSA9IHRydWU7XG4gICAgQElucHV0KCkgY29udGVudERlbnNpdHk6IENvbnRlbnREZW5zaXR5O1xuICAgIEBJbnB1dCgpIHJ0bDtcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xuICAgIEBJbnB1dCgpIHRpdGxlO1xuICAgIEBJbnB1dCgpIGdyaWRGcmVlQ29sdW1uU2l6aW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5hdmlnYXRpb25BcnJvdzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNhcnRhYmxlVGVtcGxhdGVzOiB7IFtrZXk6IHN0cmluZ106IEZvcm1TZXR0aW5nIH07XG4gICAgQElucHV0KCkgY2FydGFibGVDaGlsZHNNbzogeyBba2V5OiBzdHJpbmddOiBNZXRhb2JqZWN0RGF0YU1vZGVsIH07XG4gICAgQE91dHB1dCgpIHJlc2V0V29ya2Zsb3dTdGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgZGVzZWxlY3RBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxTYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBzZWxlY3ROZXh0SW5saW5lUmVjb3JkID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHVsdkNvbW1hbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzb3J0QXNjZW5kaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHdvcmtmbG93U2hhcmVCdXR0b25zID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZUJ1dHRvbnNDaG9pY2VEZWY+KCk7XG4gICAgQE91dHB1dCgpIHNvcnREZXNjZW5kaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBleGVjdXRlVG9vbGJhckJ1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtSWQ6IHN0cmluZzsgb3B0aW9ucz86IGFueSB9PigpO1xuICAgIEBPdXRwdXQoKSByb3dDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXg7IGNhdXNlPyB9PigpO1xuICAgIEBPdXRwdXQoKSByb3dDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXggfT4oKTtcbiAgICBAT3V0cHV0KCkgY2FydGFibGVGb3JtQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleCB9PigpO1xuICAgIEBPdXRwdXQoKSBjcmVhdGVOZXdNbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgdXBkYXRlTW8gPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGV4cGFuZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSB0cmFja0J5U2VsZWN0ZWRGbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpbmRleDsgcmVjb3JkIH0+KCk7XG4gICAgQE91dHB1dCgpIGFsbENoZWNrYm94ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBtYW5kYXRvcnkgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbHVtblJlc2l6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzPigpO1xuICAgIEBPdXRwdXQoKSBoYXNEZXRhaWxzSW5Sb3cgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQElucHV0KCkgc2V0IGNvbnRhaW5lcldpZHRoKHZhbDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lcldpZHRoID0gdmFsO1xuICAgICAgICB0aGlzLl9jb250YWluZXJXaWR0aENoYW5nZWQodmFsKTtcbiAgICB9XG5cbiAgICByZXNpemVkQnlVc2VyOiBib29sZWFuO1xuICAgIGVsV2lkdGg6IG51bWJlcjtcbiAgICBjYW5WaWV3ID0gZmFsc2U7XG4gICAgZml0V2lkdGg6IGJvb2xlYW47XG4gICAgZmlyc3RTZWxlY3RlZE1ldGFvYmplY3Q6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgY29udGV4dE1lbnVXaWR0aCA9IDA7XG4gICAgZmllbGREaWN0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHByaXZhdGUgX3NpbmdsZUNsaWNrZWQ6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9jb250YWluZXJXaWR0aCA9IDA7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJvdGVjdGVkIF9maW5kQ29sdW1uQnlEYk5hbWU6IEZpbmRDb2x1bW5CeURiTmFtZVBpcGUsXG4gICAgICAgIHByb3RlY3RlZCBfdWx2TWFpblNlcnZpY2U6IFVsdk1haW5TZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfdXBsb2FkU2VydmljZT86IFVwbG9hZFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKHRoaXMuYWNjZXNzLlZpZXcgJiYgIXRoaXMuc2hvd09rQ2FuY2VsQnV0dG9ucykge1xuICAgICAgICAgICAgdGhpcy5jYW5WaWV3ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsV2lkdGggPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICB0aGlzLmZpdFdpZHRoID0gdGhpcy52aWV3U2V0dGluZz8uRml0V2lkdGggPT09IHRydWUgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmNvbHVtbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkRGljdCA9IHt9O1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zLmZvckVhY2goKGMpID0+IChmaWVsZERpY3RbYy5DYXB0aW9uXSA9IGMuTmFtZSkpO1xuICAgICAgICAgICAgdGhpcy5maWVsZERpY3QgPSBmaWVsZERpY3Q7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgbGV0IGRldGVjdENoYW5nZXMgPSBmYWxzZTtcbiAgICAgICAgT2JqZWN0LmtleXMoY2hhbmdlcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IGNoYW5nZXNba2V5XS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICAgICAgZGV0ZWN0Q2hhbmdlcyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGV0ZWN0Q2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRlc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc2VsZWN0QWxsLmVtaXQoKTtcbiAgICB9XG4gICAgb25Sb3dDaGVjayh7IG1vLCBpbmRleCB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NpbmdsZUNsaWNrZWQgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9zaW5nbGVDbGlja2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3dDaGVjay5lbWl0KHsgbW8sIGluZGV4IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAzMCk7XG4gICAgICAgIC8vIHRoaXMucm93Q2hlY2suZW1pdCh7IG1vLCBpbmRleCwgY2F1c2UgfSk7XG4gICAgfVxuICAgIG9uV29ya2Zsb3dTaGFyZUJ1dHRvbnMoZTogU2hhcmVCdXR0b25zQ2hvaWNlRGVmKTogdm9pZCB7XG4gICAgICAgIHRoaXMud29ya2Zsb3dTaGFyZUJ1dHRvbnMuZW1pdChlKTtcbiAgICB9XG4gICAgb25PbGdvRXZlbnRzKGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9KTogdm9pZCB7XG4gICAgICAgIHRoaXNbZS50aXRsZV0uZW1pdChlLmRhdGEpO1xuICAgIH1cbiAgICBvblJvd0NsaWNrKHsgbW8sIGluZGV4IH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2luZ2xlQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQ2FydGFibGVGb3JtQ2xvc2VkKHsgbW8sIGluZGV4IH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJ0YWJsZUZvcm1DbG9zZWQuZW1pdCh7IG1vLCBpbmRleCB9KTtcbiAgICB9XG5cbiAgICBvbkV4cGFuZENsaWNrKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kQ2xpY2suZW1pdChtbyk7XG4gICAgfVxuXG4gICAgb25BbGxDaGVja2JveChjaGVja2VkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxsQ2hlY2tib3guZW1pdChjaGVja2VkKTtcbiAgICB9XG4gICAgb25DbGVhckNoZWNrYm94KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFsbENoZWNrYm94LmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgICBvblNlbGVjdE5leHRJbmxpbmVSZWNvcmQobW8pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3ROZXh0SW5saW5lUmVjb3JkLmVtaXQobW8pO1xuICAgIH1cbiAgICBvbkVkaXRGb3JtUGFuZWxTYXZlKG1vKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFNhdmUuZW1pdChtbyk7XG4gICAgfVxuICAgIG9uRWRpdEZvcm1QYW5lbENhbmNlbChtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxDYW5jZWwuZW1pdChtbyk7XG4gICAgfVxuICAgIG9uRWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlLmVtaXQobW8pO1xuICAgIH1cbiAgICBvblVsdkNvbW1hbmQoeyBtbywgaW5kZXggfSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVsdkNvbW1hbmRDbGljay5lbWl0KHsgbW8sIGluZGV4IH0pO1xuICAgIH1cblxuICAgIG9uU29ydEFzY2VuZGluZyhjb2x1bW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zb3J0QXNjZW5kaW5nLmVtaXQoY29sdW1uKTtcbiAgICB9XG5cbiAgICBvblNvcnREZXNjZW5kaW5nKGNvbHVtbik6IHZvaWQge1xuICAgICAgICB0aGlzLnNvcnREZXNjZW5kaW5nLmVtaXQoY29sdW1uKTtcbiAgICB9XG5cbiAgICBvbkZpbHRlcihjb2x1bW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXIuZW1pdChjb2x1bW4pO1xuICAgIH1cbiAgICBvbkR5bmFtaWNDb21wb25lbnRFdmVudHMoZTogeyB0aXRsZTogc3RyaW5nOyBkYXRhPzogYW55IH0sIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZS50aXRsZSkge1xuICAgICAgICAgICAgY2FzZSAncm93Q2hlY2snOlxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDaGVjayh7IG1vLCBpbmRleCB9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3Jvd0NsaWNrJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uUm93Q2xpY2soeyBtbywgaW5kZXggfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd1bHZDb21tYW5kJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uVWx2Q29tbWFuZCh7IG1vLCBpbmRleCB9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBfdHJhY2tCeVNlbGVjdGVkRm4oaW5kZXgsIHJlY29yZCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYWNrQnlTZWxlY3RlZEZuPy5lbWl0KHsgaW5kZXgsIHJlY29yZCB9KTtcbiAgICB9XG5cbiAgICBfdHJhY2tCeUNvbHVtbihpbmRleDogbnVtYmVyLCBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7Y29sdW1uLk5hbWV9JHtpbmRleH1gO1xuICAgIH1cbiAgICBfdHJhY2tCeVJvdyhpbmRleDogbnVtYmVyLCByb3c6IE1ldGFvYmplY3REYXRhTW9kZWwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7cm93LiRHcm91cCA/IHJvdy4kR3JvdXAgOiByb3cuSWR9JHtpbmRleH1gO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHJvdGVjdGVkIF9jb250YWluZXJXaWR0aENoYW5nZWQoXzogbnVtYmVyKTogdm9pZCB7fVxufVxuIl19
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUlULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQXNCakQsTUFBTSxPQUFPLHVCQUEyRCxTQUFRLGFBQWE7SUE4RnpGLFlBQ2MsR0FBZSxFQUNmLElBQXVCLEVBQ3ZCLFVBQXFCLEVBQ3JCLG1CQUEyQyxFQUMzQyxlQUErQixFQUMvQixjQUE2QixFQUNqQixjQUE4QjtRQUVwRCxLQUFLLEVBQUUsQ0FBQztRQVJFLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3JCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXJEL0MsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFTbkIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDOUQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDNUQsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7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QUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ00sY0FBYztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbmRDb2x1bW5CeURiTmFtZVBpcGUgfSBmcm9tICcuLi9waXBlcyc7XG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlLCBVbHZNYWluU2VydmljZSwgVXBsb2FkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxuICAgIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzLFxuICAgIERlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICBEZXZpY2VTaXplLFxuICAgIEZvcm1TZXR0aW5nLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgUmVsYXRpb25JdGVtVHlwZSxcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxuICAgIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nLFxuICAgIFNoYXJlQnV0dG9uc0Nob2ljZURlZixcbiAgICBUeXBlVWx2TWFpbkN0cmxyXG59IGZyb20gJy4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLXJlcG9ydC12aWV3LWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxUIGV4dGVuZHMgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgY29udGV4dFZpZXc6IGFueTtcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZzogVDtcbiAgICBASW5wdXQoKSBhbGxDb2x1bW5zOiBhbnk7XG4gICAgQElucHV0KCkgaXNDaGVja0xpc3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVRvb2xiYXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWxsQ2hlY2tlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0OiBhbnk7XG4gICAgQElucHV0KCkgVWx2TWFpbkN0cmxyOiBUeXBlVWx2TWFpbkN0cmxyO1xuICAgIEBJbnB1dCgpIGFjY2VzczogRGVmYXVsdENvbW1hbmRzQWNjZXNzO1xuICAgIEBJbnB1dCgpIGdyb3VwYnk6IGFueTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZENvdW50OiBhbnk7XG4gICAgQElucHV0KCkgY29uZGl0aW9uYWxGb3JtYXRzOiBhbnk7XG4gICAgQElucHV0KCkgcGFyZW50SGVpZ2h0OiBudW1iZXI7XG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgY29udGV4dE1lbnVJdGVtczogYW55W107XG4gICAgQElucHV0KCkgY29sdW1uczogYW55O1xuICAgIEBJbnB1dCgpIGFsbG93SW5saW5lRWRpdDogYW55O1xuICAgIEBJbnB1dCgpIHNlY29uZGFyeUNvbHVtbnM6IGFueTtcbiAgICBASW5wdXQoKSBwb3BpbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjdXN0b21GaWVsZEluZm86IE1ldGFvYmplY3REYXRhTW9kZWwgfCBhbnk7XG4gICAgQElucHV0KCkgaGFzU3VtbWFyeTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoYXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb2x1bW5zQ291bnQ6IGFueTtcbiAgICBASW5wdXQoKSBoaWRlT3Blbkljb246IGJvb2xlYW47XG4gICAgQElucHV0KCkgb3Blbk9uQ2xpY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdHlwZURlZklkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBsaXN0RWRpdFZpZXdJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHR5cGVWaWV3SWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBleHRyYVJlbGF0aW9uOiBhbnk7XG4gICAgQElucHV0KCkgcmVsYXRpb25MaXN0OiBBcnJheTxSZWxhdGlvbkl0ZW1UeXBlPjtcbiAgICBASW5wdXQoKSBkaXNhYmxlUmVzcG9uc2l2ZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByb3dJdGVtOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIG1vYmlsZU9yVGFibGV0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGluRGlhbG9nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZnVsbHNjcmVlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoaWRlU2VhcmNocGFuZWw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbmV3SW5saW5lRWRpdE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbDtcbiAgICBASW5wdXQoKSBzZWxlY3RlZE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG9ubHlJbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJvd0hvdmVyYWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB0bGJCdXR0b25zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBmb3JtU2V0dGluZzogRm9ybVNldHRpbmc7XG4gICAgQElucHV0KCkgZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcm93QWN0aXZhYmxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHk7XG4gICAgQElucHV0KCkgcnRsO1xuICAgIEBJbnB1dCgpIHNob3dPa0NhbmNlbEJ1dHRvbnM7XG4gICAgQElucHV0KCkgdGl0bGU7XG4gICAgQElucHV0KCkgZ3JpZEZyZWVDb2x1bW5TaXppbmc6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbmF2aWdhdGlvbkFycm93OiBzdHJpbmc7XG4gICAgQElucHV0KCkgY2FydGFibGVUZW1wbGF0ZXM6IHsgW2tleTogc3RyaW5nXTogRm9ybVNldHRpbmcgfTtcbiAgICBASW5wdXQoKSBjYXJ0YWJsZUNoaWxkc01vOiB7IFtrZXk6IHN0cmluZ106IE1ldGFvYmplY3REYXRhTW9kZWwgfTtcbiAgICBAT3V0cHV0KCkgcmVzZXRXb3JrZmxvd1N0YXRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBkZXNlbGVjdEFsbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbENhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbFNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHNlbGVjdE5leHRJbmxpbmVSZWNvcmQgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgdWx2Q29tbWFuZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHNvcnRBc2NlbmRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgd29ya2Zsb3dTaGFyZUJ1dHRvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPFNoYXJlQnV0dG9uc0Nob2ljZURlZj4oKTtcbiAgICBAT3V0cHV0KCkgc29ydERlc2NlbmRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgZmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGV4ZWN1dGVUb29sYmFyQnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW1JZDogc3RyaW5nOyBvcHRpb25zPzogYW55IH0+KCk7XG4gICAgQE91dHB1dCgpIHJvd0NoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleDsgY2F1c2U/IH0+KCk7XG4gICAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleCB9PigpO1xuICAgIEBPdXRwdXQoKSBjYXJ0YWJsZUZvcm1DbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbW87IGluZGV4IH0+KCk7XG4gICAgQE91dHB1dCgpIGNyZWF0ZU5ld01vID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSB1cGRhdGVNbyA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgZXhwYW5kQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHRyYWNrQnlTZWxlY3RlZEZuID0gbmV3IEV2ZW50RW1pdHRlcjx7IGluZGV4OyByZWNvcmQgfT4oKTtcbiAgICBAT3V0cHV0KCkgYWxsQ2hlY2tib3ggPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIG1hbmRhdG9yeSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgY29sdW1uUmVzaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8Y29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3M+KCk7XG4gICAgQE91dHB1dCgpIGhhc0RldGFpbHNJblJvdyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBASW5wdXQoKSBzZXQgY29udGFpbmVyV2lkdGgodmFsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyV2lkdGggPSB2YWw7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lcldpZHRoQ2hhbmdlZCh2YWwpO1xuICAgIH1cblxuICAgIHJlc2l6ZWRCeVVzZXI6IGJvb2xlYW47XG4gICAgZWxXaWR0aDogbnVtYmVyO1xuICAgIGNhblZpZXcgPSBmYWxzZTtcbiAgICBmaXRXaWR0aDogYm9vbGVhbjtcbiAgICBmaXJzdFNlbGVjdGVkTWV0YW9iamVjdDogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBjb250ZXh0TWVudVdpZHRoID0gMDtcbiAgICBmaWVsZERpY3Q6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgcHJpdmF0ZSBfc2luZ2xlQ2xpY2tlZDogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2NvbnRhaW5lcldpZHRoID0gMDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgICAgICBwcm90ZWN0ZWQgX2ZpbmRDb2x1bW5CeURiTmFtZTogRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcbiAgICAgICAgcHJvdGVjdGVkIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91cGxvYWRTZXJ2aWNlPzogVXBsb2FkU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5hY2Nlc3MuVmlldyAmJiAhdGhpcy5zaG93T2tDYW5jZWxCdXR0b25zKSB7XG4gICAgICAgICAgICB0aGlzLmNhblZpZXcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxXaWR0aCA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIHRoaXMuZml0V2lkdGggPSB0aGlzLnZpZXdTZXR0aW5nPy5GaXRXaWR0aCA9PT0gdHJ1ZSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuY29sdW1ucykge1xuICAgICAgICAgICAgY29uc3QgZmllbGREaWN0ID0ge307XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMuZm9yRWFjaCgoYykgPT4gKGZpZWxkRGljdFtjLkNhcHRpb25dID0gYy5OYW1lKSk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkRGljdCA9IGZpZWxkRGljdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBsZXQgZGV0ZWN0Q2hhbmdlcyA9IGZhbHNlO1xuICAgICAgICBPYmplY3Qua2V5cyhjaGFuZ2VzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICghY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpc1trZXldID0gY2hhbmdlc1trZXldLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgICAgICBkZXRlY3RDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkZXRlY3RDaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGVzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzZWxlY3RBbGwuZW1pdCgpO1xuICAgIH1cbiAgICBvblJvd0NoZWNrKHsgbW8sIGluZGV4IH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2luZ2xlQ2xpY2tlZCA9IHRydWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3NpbmdsZUNsaWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDMwKTtcbiAgICAgICAgLy8gdGhpcy5yb3dDaGVjay5lbWl0KHsgbW8sIGluZGV4LCBjYXVzZSB9KTtcbiAgICB9XG4gICAgb25Xb3JrZmxvd1NoYXJlQnV0dG9ucyhlOiBTaGFyZUJ1dHRvbnNDaG9pY2VEZWYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53b3JrZmxvd1NoYXJlQnV0dG9ucy5lbWl0KGUpO1xuICAgIH1cbiAgICBvbk9sZ29FdmVudHMoZTogeyB0aXRsZTogc3RyaW5nOyBkYXRhPzogYW55IH0pOiB2b2lkIHtcbiAgICAgICAgdGhpc1tlLnRpdGxlXS5lbWl0KGUuZGF0YSk7XG4gICAgfVxuICAgIG9uUm93Q2xpY2soeyBtbywgaW5kZXggfSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zaW5nbGVDbGlja2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMucm93Q2xpY2suZW1pdCh7IG1vLCBpbmRleCB9KTtcbiAgICB9XG4gICAgb25DYXJ0YWJsZUZvcm1DbG9zZWQoeyBtbywgaW5kZXggfSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhcnRhYmxlRm9ybUNsb3NlZC5lbWl0KHsgbW8sIGluZGV4IH0pO1xuICAgIH1cblxuICAgIG9uRXhwYW5kQ2xpY2sobW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRDbGljay5lbWl0KG1vKTtcbiAgICB9XG5cbiAgICBvbkFsbENoZWNrYm94KGNoZWNrZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbGxDaGVja2JveC5lbWl0KGNoZWNrZWQpO1xuICAgIH1cbiAgICBvbkNsZWFyQ2hlY2tib3goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxsQ2hlY2tib3guZW1pdChmYWxzZSk7XG4gICAgfVxuICAgIG9uU2VsZWN0TmV4dElubGluZVJlY29yZChtbyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdE5leHRJbmxpbmVSZWNvcmQuZW1pdChtbyk7XG4gICAgfVxuICAgIG9uRWRpdEZvcm1QYW5lbFNhdmUobW8pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsU2F2ZS5lbWl0KG1vKTtcbiAgICB9XG4gICAgb25FZGl0Rm9ybVBhbmVsQ2FuY2VsKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbENhbmNlbC5lbWl0KG1vKTtcbiAgICB9XG4gICAgb25FZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UobW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UuZW1pdChtbyk7XG4gICAgfVxuICAgIG9uVWx2Q29tbWFuZCh7IG1vLCBpbmRleCB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMudWx2Q29tbWFuZENsaWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XG4gICAgfVxuXG4gICAgb25Tb3J0QXNjZW5kaW5nKGNvbHVtbik6IHZvaWQge1xuICAgICAgICB0aGlzLnNvcnRBc2NlbmRpbmcuZW1pdChjb2x1bW4pO1xuICAgIH1cblxuICAgIG9uU29ydERlc2NlbmRpbmcoY29sdW1uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc29ydERlc2NlbmRpbmcuZW1pdChjb2x1bW4pO1xuICAgIH1cblxuICAgIG9uRmlsdGVyKGNvbHVtbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlci5lbWl0KGNvbHVtbik7XG4gICAgfVxuICAgIG9uRHluYW1pY0NvbXBvbmVudEV2ZW50cyhlOiB7IHRpdGxlOiBzdHJpbmc7IGRhdGE/OiBhbnkgfSwgbW86IE1ldGFvYmplY3REYXRhTW9kZWwsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChlLnRpdGxlKSB7XG4gICAgICAgICAgICBjYXNlICdyb3dDaGVjayc6XG4gICAgICAgICAgICAgICAgdGhpcy5vblJvd0NoZWNrKHsgbW8sIGluZGV4IH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncm93Q2xpY2snOlxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDbGljayh7IG1vLCBpbmRleCB9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3VsdkNvbW1hbmQnOlxuICAgICAgICAgICAgICAgIHRoaXMub25VbHZDb21tYW5kKHsgbW8sIGluZGV4IH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIF90cmFja0J5U2VsZWN0ZWRGbihpbmRleCwgcmVjb3JkKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhY2tCeVNlbGVjdGVkRm4/LmVtaXQoeyBpbmRleCwgcmVjb3JkIH0pO1xuICAgIH1cblxuICAgIF90cmFja0J5Q29sdW1uKGluZGV4OiBudW1iZXIsIGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtjb2x1bW4uTmFtZX0ke2luZGV4fWA7XG4gICAgfVxuICAgIF90cmFja0J5Um93KGluZGV4OiBudW1iZXIsIHJvdzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtyb3cuJEdyb3VwID8gcm93LiRHcm91cCA6IHJvdy5JZH0ke2luZGV4fWA7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwcm90ZWN0ZWQgX2NvbnRhaW5lcldpZHRoQ2hhbmdlZChfOiBudW1iZXIpOiB2b2lkIHt9XG59XG4iXX0=