ngx-rs-ant 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data-grid/data-grid.component.d.ts +0 -1
- package/esm2020/box-container/box-item/box-item.component.mjs +2 -2
- package/esm2020/box-container/plugin-not-found/plugin-not-found.component.mjs +2 -2
- package/esm2020/data-grid/data-grid.component.mjs +3 -4
- package/esm2020/data-grid/data-grid.factory.mjs +2 -1
- package/esm2020/form/field-selector/field-selector.component.mjs +2 -1
- package/esm2020/util/utils.mjs +1 -8
- package/fesm2015/ngx-rs-ant.mjs +9 -14
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +9 -14
- package/fesm2020/ngx-rs-ant.mjs.map +1 -1
- package/package.json +1 -1
- package/util/utils.d.ts +0 -2
|
@@ -44,7 +44,6 @@ export declare class DataGridComponent implements OnInit {
|
|
|
44
44
|
getSelectedRowsData(): any[] & Promise<any[]>;
|
|
45
45
|
refresh(callback?: any): void;
|
|
46
46
|
onDxDataGridEditorPreparing($event: any): void;
|
|
47
|
-
protected readonly CustomTemplateDirective: typeof CustomTemplateDirective;
|
|
48
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, never>;
|
|
49
48
|
static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "rs-data-grid", never, { "tenant": "tenant"; "className": "className"; "view": "view"; "filter": "filter"; "customColumnFn": "customColumnFn"; "keyExpr": "keyExpr"; "dataGridName": "dataGridName"; "height": "height"; "onlyFrontEnd": "onlyFrontEnd"; "disablePage": "disablePage"; "dataSource": "dataSource"; "selectionMode": "selectionMode"; "selectedRowKeys": "selectedRowKeys"; "showRowNum": "showRowNum"; "instanceLinkType": "instanceLinkType"; "drawerInstanceLinkViewContainerRef": "drawerInstanceLinkViewContainerRef"; "drawerInstanceLinkSize": "drawerInstanceLinkSize"; "drawerInstanceLinkFormTemplate": "drawerInstanceLinkFormTemplate"; }, { "selectedRowKeysChange": "selectedRowKeysChange"; "onCellPrepared": "onCellPrepared"; "onContentReady": "onContentReady"; "onEditorPreparing": "onEditorPreparing"; "onRowClick": "onRowClick"; "onRowDblClick": "onRowDblClick"; "onSelectionChanged": "onSelectionChanged"; }, ["rowButtonsTemplate", "customTemplate"], never, false, never>;
|
|
50
49
|
}
|
|
@@ -39,7 +39,7 @@ export class BoxItemComponent {
|
|
|
39
39
|
case 'plugin':
|
|
40
40
|
const componentRef = PluginManager.createComponent(this, i, item.style, item.config);
|
|
41
41
|
if (activeIndex === i) {
|
|
42
|
-
componentRef.location.nativeElement.click();
|
|
42
|
+
componentRef.location.nativeElement.lastChild.click();
|
|
43
43
|
}
|
|
44
44
|
break;
|
|
45
45
|
case 'item':
|
|
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
204
204
|
type: ViewChildren,
|
|
205
205
|
args: [BoxItemHostDirective]
|
|
206
206
|
}] } });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU9FLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUVqQixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQWtCN0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBc0tuQztJQXRMQyxJQUF5QyxVQUFVO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQTBCLE1BQU07UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMvRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM3RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBTUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsV0FBb0I7UUFDdkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDOUMsTUFBTSxRQUFRLEdBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDakIsS0FBSyxRQUFRO3dCQUNYLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDckYsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFOzRCQUNyQixZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzt5QkFDN0M7d0JBQ0QsTUFBTTtvQkFDUixLQUFLLE1BQU07d0JBQ1QsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7d0JBQ3hGLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQzt3QkFDOUMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO3dCQUMxQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7d0JBQzVCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQzt3QkFDOUIsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQzt3QkFDNUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQzt3QkFDcEQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTs0QkFDOUIsbUJBQW1CLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzs0QkFDaEUsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQ0FDNUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO29DQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQ0FDN0M7cUNBQU07b0NBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7aUNBQ3JDO2dDQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQzs0QkFDZCxDQUFDLENBQUMsQ0FBQzs0QkFDSCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDOzRCQUN4SCxhQUFhLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQzs0QkFDbEYsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0NBQ3hGLElBQUksRUFBRSxxQkFBcUI7Z0NBQzNCLE9BQU8sRUFBRSxNQUFNOzZCQUNoQixFQUFFLEtBQUssQ0FBQyxDQUFDO3lCQUNYO3dCQUNELE1BQU07b0JBQ1IsS0FBSyxPQUFPLENBQUM7b0JBQ2I7d0JBQ0UsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTs0QkFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUM5Qjt3QkFDRCxNQUFNO2lCQUNUO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFhO1FBQ3hDLE1BQU0sZ0JBQWdCLEdBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsZ0JBQWdCLENBQUM7UUFDMUUsTUFBTSwwQkFBMEIsR0FBUSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3RiwwQkFBMEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM3QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDYjtRQUNILENBQUMsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0gsYUFBYSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4RSxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSwwQkFBMEIsRUFDaEgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQzdCLElBQUksRUFBRSxxQkFBcUI7WUFDM0IsT0FBTyxFQUFFLEtBQUs7U0FDZixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMvQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsU0FBMkIsRUFBRSxFQUFFO1lBQ3RFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQztpQkFDbkQ7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7d0JBQ2hDLElBQUksRUFBRSxNQUFNO3dCQUNaLEtBQUssRUFBRSxFQUFFO3dCQUNULE1BQU0sRUFBRTs0QkFDTixTQUFTOzRCQUNULElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7eUJBQzVEO3FCQUNGLENBQUMsQ0FBQztpQkFDSjtnQkFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDYjtRQUNILENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBUztRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMvRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM3RSxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQztZQUMvRSxRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FBQyxTQUFjLEVBQUUsS0FBYSxFQUFFLFNBQWlCLEVBQUUsTUFBYyxFQUFFLFVBQWtCO1FBQ3JHLElBQUksU0FBUyxLQUFLLEtBQUssRUFBRTtZQUN2QixPQUFPO2dCQUNMLElBQUksRUFBRSxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLO2dCQUNqRixNQUFNO2FBQ1AsQ0FBQTtTQUNGO2FBQU0sSUFBSSxTQUFTLEtBQUssUUFBUSxFQUFFO1lBQ2pDLE9BQU87Z0JBQ0wsS0FBSztnQkFDTCxJQUFJLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTTthQUN4RixDQUFBO1NBQ0Y7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFJRCxVQUFVLENBQUMsTUFBVztRQUNwQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNyQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUM5QixPQUFPO1NBQ1I7UUFDRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ2pELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFXO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQzlCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3hDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzdELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzNFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQztTQUMzRDthQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7WUFDakcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUc7Z0JBQy9CLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLO2dCQUMzQyxNQUFNLEVBQUU7b0JBQ04sSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQzVCLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxZQUFZLElBQUksRUFBRTtpQkFDbkQ7YUFDRixDQUFDO1NBQ0g7UUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7OzhHQTVMVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix5TkF3QmIsb0JBQW9CLGdEQ2xDcEMsMjVDQWdDQTs0RkR0QmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWE7OEJBV2tCLFVBQVU7c0JBQWxELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUlULE1BQU07c0JBQS9CLFdBQVc7dUJBQUMsT0FBTztnQkFZcEIsWUFBWTtzQkFEWCxNQUFNO2dCQUU2QixTQUFTO3NCQUE1QyxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCb3hJdGVtSG9zdERpcmVjdGl2ZX0gZnJvbSAnLi9ib3gtaXRlbS1ob3N0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1BsdWdpbk1hbmFnZXJ9IGZyb20gJy4uL1BsdWdpbk1hbmFnZXInO1xuaW1wb3J0IHtJdGVtQmxhbmtDb21wb25lbnR9IGZyb20gXCIuL2l0ZW0tYmxhbmsvaXRlbS1ibGFuay5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnMtYm94LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYm94LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ib3gtaXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJveEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBib3hDb250YWluZXI6IGFueTtcbiAgc3R5bGU6IGFueSA9IHt9O1xuICBjb25maWc6IGFueSA9IHt9O1xuICBwRGlyZWN0aW9uPzogJ3JvdycgfCAnY29sdW1uJztcbiAgd3JhcHBlckRpdkluZGV4OiBudW1iZXIgPSAxMDtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZsZXgtZGlyZWN0aW9uJykgZ2V0IF9kaXJlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmRpcmVjdGlvbjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgX3N0eWxlKCkge1xuICAgIGlmICh0aGlzLnBEaXJlY3Rpb24pIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlPy53aWR0aCA/IHRoaXMuc3R5bGUud2lkdGggOiAnYXV0byc7XG4gICAgY29uc3Qgd2lkdGhUeXBlID0gdGhpcy5zdHlsZT8ud2lkdGhUeXBlID8gdGhpcy5zdHlsZS53aWR0aFR5cGUgOiAnc2NyZWVuJztcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnN0eWxlPy5oZWlnaHQgPyB0aGlzLnN0eWxlLmhlaWdodCA6ICdhdXRvJztcbiAgICBjb25zdCBoZWlnaHRUeXBlID0gdGhpcy5zdHlsZT8uaGVpZ2h0VHlwZSA/IHRoaXMuc3R5bGUuaGVpZ2h0VHlwZSA6ICdzY3JlZW4nO1xuICAgIHJldHVybiB0aGlzLl9jYWxjU3R5bGUodGhpcy5wRGlyZWN0aW9uLCB3aWR0aCwgd2lkdGhUeXBlLCBoZWlnaHQsIGhlaWdodFR5cGUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIGxlYXZlT25lSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZHJlbihCb3hJdGVtSG9zdERpcmVjdGl2ZSkgaXRlbUhvc3RzITogUXVlcnlMaXN0PEJveEl0ZW1Ib3N0RGlyZWN0aXZlPjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWQoKTtcbiAgfVxuXG4gIGxvYWQoYWN0aXZlSW5kZXg/OiBudW1iZXIpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtSG9zdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbUhvc3Q6IGFueSA9IHRoaXMuaXRlbUhvc3RzLmdldChpKTtcbiAgICAgICAgaXRlbUhvc3Qudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5jb25maWcubGlzdFtpXTtcbiAgICAgICAgc3dpdGNoIChpdGVtLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdwbHVnaW4nOlxuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gUGx1Z2luTWFuYWdlci5jcmVhdGVDb21wb25lbnQodGhpcywgaSwgaXRlbS5zdHlsZSwgaXRlbS5jb25maWcpO1xuICAgICAgICAgICAgaWYgKGFjdGl2ZUluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdpdGVtJzpcbiAgICAgICAgICAgIGNvbnN0IGJveEl0ZW1Db21wb25lbnRSZWYgPSBpdGVtSG9zdC52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChCb3hJdGVtQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gYm94SXRlbUNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgIGluc3RhbmNlLmJveENvbnRhaW5lciA9IHRoaXMuYm94Q29udGFpbmVyO1xuICAgICAgICAgICAgaW5zdGFuY2Uuc3R5bGUgPSBpdGVtLnN0eWxlO1xuICAgICAgICAgICAgaW5zdGFuY2UuY29uZmlnID0gaXRlbS5jb25maWc7XG4gICAgICAgICAgICBpbnN0YW5jZS5wRGlyZWN0aW9uID0gdGhpcy5jb25maWcuZGlyZWN0aW9uO1xuICAgICAgICAgICAgaW5zdGFuY2Uud3JhcHBlckRpdkluZGV4ID0gdGhpcy53cmFwcGVyRGl2SW5kZXggKyAxO1xuICAgICAgICAgICAgaWYgKHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlKSB7XG4gICAgICAgICAgICAgIGJveEl0ZW1Db21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnOHB4JztcbiAgICAgICAgICAgICAgaW5zdGFuY2UubGVhdmVPbmVJdGVtLnN1YnNjcmliZSgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2l0ZW0nICYmIGl0ZW0uZGlyZWN0aW9uID09PSB0aGlzLmNvbmZpZy5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGksIDEsIC4uLml0ZW0ubGlzdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGksIDEsIGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJEaXYgPSBQbHVnaW5NYW5hZ2VyLmNyZWF0ZVdyYXBwZXJEaXYoYm94SXRlbUNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCB0aGlzLndyYXBwZXJEaXZJbmRleCArIDEpO1xuICAgICAgICAgICAgICBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUhvdmVyQ29tcG9uZW50KGl0ZW1Ib3N0LnZpZXdDb250YWluZXJSZWYsIHdyYXBwZXJEaXYsICfmoLzlrZDlrrnlmagnKTtcbiAgICAgICAgICAgICAgUGx1Z2luTWFuYWdlci5jcmVhdGVBY3RpdmVDb21wb25lbnQodGhpcywgaSwgd3JhcHBlckRpdiwgYm94SXRlbUNvbXBvbmVudFJlZiwgaXRlbS5zdHlsZSwge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdjb2FzdC1ib3gtY29udGFpbmVyJyxcbiAgICAgICAgICAgICAgICBjYXB0aW9uOiAn5qC85a2Q5a655ZmoJ1xuICAgICAgICAgICAgICB9LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdibGFuayc6XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmICh0aGlzLmJveENvbnRhaW5lci5lZGl0TW9kZSkge1xuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUJsYW5rQ29tcG9uZW50KGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQmxhbmtDb21wb25lbnQoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWY6IGFueSA9IHRoaXMuaXRlbUhvc3RzLmdldChpbmRleCk/LnZpZXdDb250YWluZXJSZWY7XG4gICAgY29uc3QgY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWY6IGFueSA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEl0ZW1CbGFua0NvbXBvbmVudCk7XG4gICAgY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWYuaW5zdGFuY2Uub25SZW1vdmUgPSAoKSA9PiB7XG4gICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgICBpZiAodGhpcy5jb25maWcubGlzdC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgdGhpcy5sZWF2ZU9uZUl0ZW0uZW1pdCh0aGlzLmNvbmZpZy5saXN0WzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3Qgd3JhcHBlckRpdiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlV3JhcHBlckRpdihjb250YWluZXJCbGFua0NvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCB0aGlzLndyYXBwZXJEaXZJbmRleCArIDEpO1xuICAgIFBsdWdpbk1hbmFnZXIuY3JlYXRlSG92ZXJDb21wb25lbnQodmlld0NvbnRhaW5lclJlZiwgd3JhcHBlckRpdiwgJ+WNoOS9jeagvCcpO1xuICAgIGNvbnN0IGFjdGl2ZUNvbXBvbmVudFJlZiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlQWN0aXZlQ29tcG9uZW50KHRoaXMsIGluZGV4LCB3cmFwcGVyRGl2LCBjb250YWluZXJCbGFua0NvbXBvbmVudFJlZixcbiAgICAgIHRoaXMuY29uZmlnLmxpc3RbaW5kZXhdLnN0eWxlLCB7XG4gICAgICAgIG5hbWU6ICdjb2FzdC1ib3gtY29udGFpbmVyJyxcbiAgICAgICAgY2FwdGlvbjogJ+WNoOS9jeagvCdcbiAgICAgIH0sIHRoaXMuY29uZmlnLmxpc3QubGVuZ3RoID4gMSk7XG4gICAgYWN0aXZlQ29tcG9uZW50UmVmLmluc3RhbmNlLnNob3dEaXZpZGVyID0gdHJ1ZTtcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc3BsaXRJdGVtID0gKGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJykgPT4ge1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmRpcmVjdGlvbiA9PT0gZGlyZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGluZGV4ICsgMSwgMCwge3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX0pO1xuICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5saXN0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHRoaXMuY29uZmlnLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnB1c2goe3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGluZGV4LCAxLCB7XG4gICAgICAgICAgICB0eXBlOiAnaXRlbScsXG4gICAgICAgICAgICBzdHlsZToge30sXG4gICAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgICAgICBsaXN0OiBbdGhpcy5jb25maWcubGlzdFtpbmRleF0sIHt0eXBlOiAnYmxhbmsnLCBzdHlsZToge319XVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBjYWxjU3R5bGUoaXRlbTogYW55KSB7XG4gICAgY29uc3Qgd2lkdGggPSBpdGVtLnN0eWxlPy53aWR0aCA/IGl0ZW0uc3R5bGUud2lkdGggOiAnYXV0byc7XG4gICAgY29uc3Qgd2lkdGhUeXBlID0gaXRlbS5zdHlsZT8ud2lkdGhUeXBlID8gaXRlbS5zdHlsZS53aWR0aFR5cGUgOiAnc2NyZWVuJztcbiAgICBjb25zdCBoZWlnaHQgPSBpdGVtLnN0eWxlPy5oZWlnaHQgPyBpdGVtLnN0eWxlLmhlaWdodCA6ICdhdXRvJztcbiAgICBjb25zdCBoZWlnaHRUeXBlID0gaXRlbS5zdHlsZT8uaGVpZ2h0VHlwZSA/IGl0ZW0uc3R5bGUuaGVpZ2h0VHlwZSA6ICdzY3JlZW4nO1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLl9jYWxjU3R5bGUodGhpcy5jb25maWcuZGlyZWN0aW9uLCB3aWR0aCwgd2lkdGhUeXBlLCBoZWlnaHQsIGhlaWdodFR5cGUpLFxuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZSdcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY1N0eWxlKGRpcmVjdGlvbjogYW55LCB3aWR0aDogc3RyaW5nLCB3aWR0aFR5cGU6IHN0cmluZywgaGVpZ2h0OiBzdHJpbmcsIGhlaWdodFR5cGU6IHN0cmluZykge1xuICAgIGlmIChkaXJlY3Rpb24gPT09ICdyb3cnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmbGV4OiB3aWR0aCA9PT0gJ2F1dG8nID8gKHdpZHRoVHlwZSA9PT0gJ3NjcmVlbicgPyAnMScgOiAnbm9uZScpIDogJzAgMCAnICsgd2lkdGgsXG4gICAgICAgIGhlaWdodFxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAnY29sdW1uJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGZsZXg6IGhlaWdodCA9PT0gJ2F1dG8nID8gKGhlaWdodFR5cGUgPT09ICdzY3JlZW4nID8gJ2F1dG8nIDogJ25vbmUnKSA6ICcwIDAgJyArIGhlaWdodFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBkcmFnT3ZlckNvbXBvbmVudDogYW55O1xuXG4gIG9uRHJhZ01vdmUoJGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoJGV2ZW50LmZyb21EYXRhID09PSAkZXZlbnQudG9EYXRhKSB7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Py5pbnN0YW5jZSgpPy5lbGVtZW50KCk/LmNsYXNzTGlzdD8ucmVtb3ZlKCdhY3RpdmUnKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50O1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoJGV2ZW50LnRvQ29tcG9uZW50ICE9PSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Py5pbnN0YW5jZSgpPy5lbGVtZW50KCk/LmNsYXNzTGlzdD8ucmVtb3ZlKCdhY3RpdmUnKTtcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQgPSAkZXZlbnQudG9Db21wb25lbnQ7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Lmluc3RhbmNlKCkuZWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ0VuZCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ/Lmluc3RhbmNlKCk/LmVsZW1lbnQoKT8uY2xhc3NMaXN0Py5yZW1vdmUoJ2FjdGl2ZScpO1xuICAgIGRlbGV0ZSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50O1xuICAgIGNvbnN0IHRvQm94SXRlbSA9ICRldmVudC50b0RhdGEuYm94SXRlbTtcbiAgICBjb25zdCB0b0luZGV4ID0gJGV2ZW50LnRvRGF0YS5pbmRleDtcbiAgICBjb25zdCBmcm9tSW5kZXggPSAkZXZlbnQuZnJvbURhdGEuaW5kZXg7XG4gICAgY29uc3QgZnJvbUJveEl0ZW1Db25maWcgPSB0aGlzLmNvbmZpZy5saXN0W2Zyb21JbmRleF0uY29uZmlnO1xuICAgIGlmICgkZXZlbnQudG9EYXRhLml0ZW0udHlwZSA9PT0gJ3BsdWdpbicpIHtcbiAgICAgIHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5jb25maWcgPSB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uY29uZmlnO1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uY29uZmlnID0gZnJvbUJveEl0ZW1Db25maWc7XG4gICAgfSBlbHNlIGlmICgkZXZlbnQudG9EYXRhLml0ZW0udHlwZSA9PT0gJ2JsYW5rJykge1xuICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoZnJvbUluZGV4LCAxLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5zdHlsZX0pO1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0gPSB7XG4gICAgICAgIHR5cGU6ICdwbHVnaW4nLFxuICAgICAgICBzdHlsZTogdG9Cb3hJdGVtLmNvbmZpZy5saXN0W3RvSW5kZXhdLnN0eWxlLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBuYW1lOiBmcm9tQm94SXRlbUNvbmZpZy5uYW1lLFxuICAgICAgICAgIHBsdWdpbkNvbmZpZzogZnJvbUJveEl0ZW1Db25maWcucGx1Z2luQ29uZmlnIHx8IHt9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICAgIHRvQm94SXRlbS5sb2FkKHRvSW5kZXgpO1xuICAgICRldmVudC5jYW5jZWwgPSB0cnVlO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbmZpZy5saXN0OyBpbmRleCBhcyBpbmRleFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYm94Q29udGFpbmVyLmVkaXRNb2RlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ3BsdWdpbidcIj5cbiAgICAgIDxkeC1kcmFnZ2FibGUgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie2JveEl0ZW06IHRoaXMsIGl0ZW0sIGluZGV4fVwiXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZT1cIi5jb2FzdC1pY29uLWRyYWdcIlxuICAgICAgICAgICAgICAgICAgICBncm91cD1cInJzQm94Q29udGFpbmVyRHJhZ0dyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uRHJhZ01vdmUpPVwib25EcmFnTW92ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uRHJhZ0VuZCk9XCJvbkRyYWdFbmQoJGV2ZW50KVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZHgtZHJhZ2dhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdpdGVtJ1wiPlxuICAgICAgPGRpdiBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnYmxhbmsnXCI+XG4gICAgICA8ZHgtZHJhZ2dhYmxlIFtuZ1N0eWxlXT1cImNhbGNTdHlsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIntib3hJdGVtOiB0aGlzLCBpdGVtLCBpbmRleH1cIlxuICAgICAgICAgICAgICAgICAgICBncm91cD1cInJzQm94Q29udGFpbmVyRHJhZ0dyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uRHJhZ1N0YXJ0KT1cIiRldmVudC5jYW5jZWwgPSB0cnVlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9keC1kcmFnZ2FibGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJveENvbnRhaW5lci5lZGl0TW9kZVwiPlxuICAgIDxkaXYgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU9FLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUVqQixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQWtCN0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBc0tuQztJQXRMQyxJQUF5QyxVQUFVO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQTBCLE1BQU07UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RCxNQUFN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QUksQ0FBQztJQUN2QixDQUFDOzs4R0E1TFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IseU5Bd0JiLG9CQUFvQixnRENsQ3BDLDI1Q0FnQ0E7NEZEdEJhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhOzhCQVdrQixVQUFVO3NCQUFsRCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFJVCxNQUFNO3NCQUEvQixXQUFXO3VCQUFDLE9BQU87Z0JBWXBCLFlBQVk7c0JBRFgsTUFBTTtnQkFFNkIsU0FBUztzQkFBNUMsWUFBWTt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Qm94SXRlbUhvc3REaXJlY3RpdmV9IGZyb20gJy4vYm94LWl0ZW0taG9zdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtQbHVnaW5NYW5hZ2VyfSBmcm9tICcuLi9QbHVnaW5NYW5hZ2VyJztcbmltcG9ydCB7SXRlbUJsYW5rQ29tcG9uZW50fSBmcm9tIFwiLi9pdGVtLWJsYW5rL2l0ZW0tYmxhbmsuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLWJveC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JveC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYm94LWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCb3hJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYm94Q29udGFpbmVyOiBhbnk7XG4gIHN0eWxlOiBhbnkgPSB7fTtcbiAgY29uZmlnOiBhbnkgPSB7fTtcbiAgcERpcmVjdGlvbj86ICdyb3cnIHwgJ2NvbHVtbic7XG4gIHdyYXBwZXJEaXZJbmRleDogbnVtYmVyID0gMTA7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5mbGV4LWRpcmVjdGlvbicpIGdldCBfZGlyZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5kaXJlY3Rpb247XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgZ2V0IF9zdHlsZSgpIHtcbiAgICBpZiAodGhpcy5wRGlyZWN0aW9uKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5zdHlsZT8ud2lkdGggPyB0aGlzLnN0eWxlLndpZHRoIDogJ2F1dG8nO1xuICAgIGNvbnN0IHdpZHRoVHlwZSA9IHRoaXMuc3R5bGU/LndpZHRoVHlwZSA/IHRoaXMuc3R5bGUud2lkdGhUeXBlIDogJ3NjcmVlbic7XG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5zdHlsZT8uaGVpZ2h0ID8gdGhpcy5zdHlsZS5oZWlnaHQgOiAnYXV0byc7XG4gICAgY29uc3QgaGVpZ2h0VHlwZSA9IHRoaXMuc3R5bGU/LmhlaWdodFR5cGUgPyB0aGlzLnN0eWxlLmhlaWdodFR5cGUgOiAnc2NyZWVuJztcbiAgICByZXR1cm4gdGhpcy5fY2FsY1N0eWxlKHRoaXMucERpcmVjdGlvbiwgd2lkdGgsIHdpZHRoVHlwZSwgaGVpZ2h0LCBoZWlnaHRUeXBlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBsZWF2ZU9uZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGRyZW4oQm94SXRlbUhvc3REaXJlY3RpdmUpIGl0ZW1Ib3N0cyE6IFF1ZXJ5TGlzdDxCb3hJdGVtSG9zdERpcmVjdGl2ZT47XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBsb2FkKGFjdGl2ZUluZGV4PzogbnVtYmVyKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbUhvc3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1Ib3N0OiBhbnkgPSB0aGlzLml0ZW1Ib3N0cy5nZXQoaSk7XG4gICAgICAgIGl0ZW1Ib3N0LnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuY29uZmlnLmxpc3RbaV07XG4gICAgICAgIHN3aXRjaCAoaXRlbS50eXBlKSB7XG4gICAgICAgICAgY2FzZSAncGx1Z2luJzpcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlQ29tcG9uZW50KHRoaXMsIGksIGl0ZW0uc3R5bGUsIGl0ZW0uY29uZmlnKTtcbiAgICAgICAgICAgIGlmIChhY3RpdmVJbmRleCA9PT0gaSkge1xuICAgICAgICAgICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5sYXN0Q2hpbGQuY2xpY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2l0ZW0nOlxuICAgICAgICAgICAgY29uc3QgYm94SXRlbUNvbXBvbmVudFJlZiA9IGl0ZW1Ib3N0LnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEJveEl0ZW1Db21wb25lbnQpO1xuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBib3hJdGVtQ29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICAgICAgaW5zdGFuY2UuYm94Q29udGFpbmVyID0gdGhpcy5ib3hDb250YWluZXI7XG4gICAgICAgICAgICBpbnN0YW5jZS5zdHlsZSA9IGl0ZW0uc3R5bGU7XG4gICAgICAgICAgICBpbnN0YW5jZS5jb25maWcgPSBpdGVtLmNvbmZpZztcbiAgICAgICAgICAgIGluc3RhbmNlLnBEaXJlY3Rpb24gPSB0aGlzLmNvbmZpZy5kaXJlY3Rpb247XG4gICAgICAgICAgICBpbnN0YW5jZS53cmFwcGVyRGl2SW5kZXggPSB0aGlzLndyYXBwZXJEaXZJbmRleCArIDE7XG4gICAgICAgICAgICBpZiAodGhpcy5ib3hDb250YWluZXIuZWRpdE1vZGUpIHtcbiAgICAgICAgICAgICAgYm94SXRlbUNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnN0eWxlLm1hcmdpbiA9ICc4cHgnO1xuICAgICAgICAgICAgICBpbnN0YW5jZS5sZWF2ZU9uZUl0ZW0uc3Vic2NyaWJlKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS50eXBlID09PSAnaXRlbScgJiYgaXRlbS5kaXJlY3Rpb24gPT09IHRoaXMuY29uZmlnLmRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaSwgMSwgLi4uaXRlbS5saXN0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaSwgMSwgaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgY29uc3Qgd3JhcHBlckRpdiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlV3JhcHBlckRpdihib3hJdGVtQ29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsIHRoaXMud3JhcHBlckRpdkluZGV4ICsgMSk7XG4gICAgICAgICAgICAgIFBsdWdpbk1hbmFnZXIuY3JlYXRlSG92ZXJDb21wb25lbnQoaXRlbUhvc3Qudmlld0NvbnRhaW5lclJlZiwgd3JhcHBlckRpdiwgJ+agvOWtkOWuueWZqCcpO1xuICAgICAgICAgICAgICBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUFjdGl2ZUNvbXBvbmVudCh0aGlzLCBpLCB3cmFwcGVyRGl2LCBib3hJdGVtQ29tcG9uZW50UmVmLCBpdGVtLnN0eWxlLCB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2NvYXN0LWJveC1jb250YWluZXInLFxuICAgICAgICAgICAgICAgIGNhcHRpb246ICfmoLzlrZDlrrnlmagnXG4gICAgICAgICAgICAgIH0sIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2JsYW5rJzpcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgaWYgKHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlKSB7XG4gICAgICAgICAgICAgIHRoaXMuY3JlYXRlQmxhbmtDb21wb25lbnQoaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVCbGFua0NvbXBvbmVudChpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZjogYW55ID0gdGhpcy5pdGVtSG9zdHMuZ2V0KGluZGV4KT8udmlld0NvbnRhaW5lclJlZjtcbiAgICBjb25zdCBjb250YWluZXJCbGFua0NvbXBvbmVudFJlZjogYW55ID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoSXRlbUJsYW5rQ29tcG9uZW50KTtcbiAgICBjb250YWluZXJCbGFua0NvbXBvbmVudFJlZi5pbnN0YW5jZS5vblJlbW92ZSA9ICgpID0+IHtcbiAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5saXN0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICB0aGlzLmxlYXZlT25lSXRlbS5lbWl0KHRoaXMuY29uZmlnLmxpc3RbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCB3cmFwcGVyRGl2ID0gUGx1Z2luTWFuYWdlci5jcmVhdGVXcmFwcGVyRGl2KGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsIHRoaXMud3JhcHBlckRpdkluZGV4ICsgMSk7XG4gICAgUGx1Z2luTWFuYWdlci5jcmVhdGVIb3ZlckNvbXBvbmVudCh2aWV3Q29udGFpbmVyUmVmLCB3cmFwcGVyRGl2LCAn5Y2g5L2N5qC8Jyk7XG4gICAgY29uc3QgYWN0aXZlQ29tcG9uZW50UmVmID0gUGx1Z2luTWFuYWdlci5jcmVhdGVBY3RpdmVDb21wb25lbnQodGhpcywgaW5kZXgsIHdyYXBwZXJEaXYsIGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmLFxuICAgICAgdGhpcy5jb25maWcubGlzdFtpbmRleF0uc3R5bGUsIHtcbiAgICAgICAgbmFtZTogJ2NvYXN0LWJveC1jb250YWluZXInLFxuICAgICAgICBjYXB0aW9uOiAn5Y2g5L2N5qC8J1xuICAgICAgfSwgdGhpcy5jb25maWcubGlzdC5sZW5ndGggPiAxKTtcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2hvd0RpdmlkZXIgPSB0cnVlO1xuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS5zcGxpdEl0ZW0gPSAoZGlyZWN0aW9uOiAncm93JyB8ICdjb2x1bW4nKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb25maWcuZGlyZWN0aW9uID09PSBkaXJlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaW5kZXggKyAxLCAwLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fSk7XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgdGhpcy5jb25maWcuZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3QucHVzaCh7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaW5kZXgsIDEsIHtcbiAgICAgICAgICAgIHR5cGU6ICdpdGVtJyxcbiAgICAgICAgICAgIHN0eWxlOiB7fSxcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICBkaXJlY3Rpb24sXG4gICAgICAgICAgICAgIGxpc3Q6IFt0aGlzLmNvbmZpZy5saXN0W2luZGV4XSwge3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX1dXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGNhbGNTdHlsZShpdGVtOiBhbnkpIHtcbiAgICBjb25zdCB3aWR0aCA9IGl0ZW0uc3R5bGU/LndpZHRoID8gaXRlbS5zdHlsZS53aWR0aCA6ICdhdXRvJztcbiAgICBjb25zdCB3aWR0aFR5cGUgPSBpdGVtLnN0eWxlPy53aWR0aFR5cGUgPyBpdGVtLnN0eWxlLndpZHRoVHlwZSA6ICdzY3JlZW4nO1xuICAgIGNvbnN0IGhlaWdodCA9IGl0ZW0uc3R5bGU/LmhlaWdodCA/IGl0ZW0uc3R5bGUuaGVpZ2h0IDogJ2F1dG8nO1xuICAgIGNvbnN0IGhlaWdodFR5cGUgPSBpdGVtLnN0eWxlPy5oZWlnaHRUeXBlID8gaXRlbS5zdHlsZS5oZWlnaHRUeXBlIDogJ3NjcmVlbic7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuX2NhbGNTdHlsZSh0aGlzLmNvbmZpZy5kaXJlY3Rpb24sIHdpZHRoLCB3aWR0aFR5cGUsIGhlaWdodCwgaGVpZ2h0VHlwZSksXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJ1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9jYWxjU3R5bGUoZGlyZWN0aW9uOiBhbnksIHdpZHRoOiBzdHJpbmcsIHdpZHRoVHlwZTogc3RyaW5nLCBoZWlnaHQ6IHN0cmluZywgaGVpZ2h0VHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3JvdycpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZsZXg6IHdpZHRoID09PSAnYXV0bycgPyAod2lkdGhUeXBlID09PSAnc2NyZWVuJyA/ICcxJyA6ICdub25lJykgOiAnMCAwICcgKyB3aWR0aCxcbiAgICAgICAgaGVpZ2h0XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdjb2x1bW4nKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aCxcbiAgICAgICAgZmxleDogaGVpZ2h0ID09PSAnYXV0bycgPyAoaGVpZ2h0VHlwZSA9PT0gJ3NjcmVlbicgPyAnYXV0bycgOiAnbm9uZScpIDogJzAgMCAnICsgaGVpZ2h0XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGRyYWdPdmVyQ29tcG9uZW50OiBhbnk7XG5cbiAgb25EcmFnTW92ZSgkZXZlbnQ6IGFueSkge1xuICAgIGlmICgkZXZlbnQuZnJvbURhdGEgPT09ICRldmVudC50b0RhdGEpIHtcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ/Lmluc3RhbmNlKCk/LmVsZW1lbnQoKT8uY2xhc3NMaXN0Py5yZW1vdmUoJ2FjdGl2ZScpO1xuICAgICAgZGVsZXRlIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICgkZXZlbnQudG9Db21wb25lbnQgIT09IHRoaXMuZHJhZ092ZXJDb21wb25lbnQpIHtcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ/Lmluc3RhbmNlKCk/LmVsZW1lbnQoKT8uY2xhc3NMaXN0Py5yZW1vdmUoJ2FjdGl2ZScpO1xuICAgICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudCA9ICRldmVudC50b0NvbXBvbmVudDtcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQuaW5zdGFuY2UoKS5lbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgb25EcmFnRW5kKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudD8uaW5zdGFuY2UoKT8uZWxlbWVudCgpPy5jbGFzc0xpc3Q/LnJlbW92ZSgnYWN0aXZlJyk7XG4gICAgZGVsZXRlIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ7XG4gICAgY29uc3QgdG9Cb3hJdGVtID0gJGV2ZW50LnRvRGF0YS5ib3hJdGVtO1xuICAgIGNvbnN0IHRvSW5kZXggPSAkZXZlbnQudG9EYXRhLmluZGV4O1xuICAgIGNvbnN0IGZyb21JbmRleCA9ICRldmVudC5mcm9tRGF0YS5pbmRleDtcbiAgICBjb25zdCBmcm9tQm94SXRlbUNvbmZpZyA9IHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5jb25maWc7XG4gICAgaWYgKCRldmVudC50b0RhdGEuaXRlbS50eXBlID09PSAncGx1Z2luJykge1xuICAgICAgdGhpcy5jb25maWcubGlzdFtmcm9tSW5kZXhdLmNvbmZpZyA9IHRvQm94SXRlbS5jb25maWcubGlzdFt0b0luZGV4XS5jb25maWc7XG4gICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIHRvQm94SXRlbS5jb25maWcubGlzdFt0b0luZGV4XS5jb25maWcgPSBmcm9tQm94SXRlbUNvbmZpZztcbiAgICB9IGVsc2UgaWYgKCRldmVudC50b0RhdGEuaXRlbS50eXBlID09PSAnYmxhbmsnKSB7XG4gICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShmcm9tSW5kZXgsIDEsIHt0eXBlOiAnYmxhbmsnLCBzdHlsZTogdGhpcy5jb25maWcubGlzdFtmcm9tSW5kZXhdLnN0eWxlfSk7XG4gICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIHRvQm94SXRlbS5jb25maWcubGlzdFt0b0luZGV4XSA9IHtcbiAgICAgICAgdHlwZTogJ3BsdWdpbicsXG4gICAgICAgIHN0eWxlOiB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uc3R5bGUsXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIG5hbWU6IGZyb21Cb3hJdGVtQ29uZmlnLm5hbWUsXG4gICAgICAgICAgcGx1Z2luQ29uZmlnOiBmcm9tQm94SXRlbUNvbmZpZy5wbHVnaW5Db25maWcgfHwge31cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gICAgdG9Cb3hJdGVtLmxvYWQodG9JbmRleCk7XG4gICAgJGV2ZW50LmNhbmNlbCA9IHRydWU7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29uZmlnLmxpc3Q7IGluZGV4IGFzIGluZGV4XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJib3hDb250YWluZXIuZWRpdE1vZGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAncGx1Z2luJ1wiPlxuICAgICAgPGR4LWRyYWdnYWJsZSBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJ7Ym94SXRlbTogdGhpcywgaXRlbSwgaW5kZXh9XCJcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlPVwiLmNvYXN0LWljb24tZHJhZ1wiXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwPVwicnNCb3hDb250YWluZXJEcmFnR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAob25EcmFnTW92ZSk9XCJvbkRyYWdNb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAob25EcmFnRW5kKT1cIm9uRHJhZ0VuZCgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9keC1kcmFnZ2FibGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2l0ZW0nXCI+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cImNhbGNTdHlsZShpdGVtKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdibGFuaydcIj5cbiAgICAgIDxkeC1kcmFnZ2FibGUgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie2JveEl0ZW06IHRoaXMsIGl0ZW0sIGluZGV4fVwiXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwPVwicnNCb3hDb250YWluZXJEcmFnR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAob25EcmFnU3RhcnQpPVwiJGV2ZW50LmNhbmNlbCA9IHRydWVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2R4LWRyYWdnYWJsZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYm94Q29udGFpbmVyLmVkaXRNb2RlXCI+XG4gICAgPGRpdiBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -3,9 +3,9 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export class PluginNotFoundComponent {
|
|
4
4
|
}
|
|
5
5
|
PluginNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginNotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
-
PluginNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginNotFoundComponent, selector: "rs-plugin-not-found", ngImport: i0, template: "<div>\n <span>\u7EC4\u4EF6\u52A0\u8F7D\u5931\u8D25</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--coast-border-color, rgb(221, 221, 221));display:flex;flex-flow:row nowrap;justify-content:center}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{color:var(--coast-danger-color, rgb(217, 83, 79));text-align:center;-webkit-user-select:none;user-select:none}\n"] });
|
|
6
|
+
PluginNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginNotFoundComponent, selector: "rs-plugin-not-found", ngImport: i0, template: "<div>\n <span>\u7EC4\u4EF6\u52A0\u8F7D\u5931\u8D25</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:4px;display:flex;flex-flow:row nowrap;justify-content:center}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{color:var(--coast-danger-color, rgb(217, 83, 79));text-align:center;-webkit-user-select:none;user-select:none}\n"] });
|
|
7
7
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginNotFoundComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
|
-
args: [{ selector: 'rs-plugin-not-found', template: "<div>\n <span>\u7EC4\u4EF6\u52A0\u8F7D\u5931\u8D25</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--coast-border-color, rgb(221, 221, 221));display:flex;flex-flow:row nowrap;justify-content:center}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{color:var(--coast-danger-color, rgb(217, 83, 79));text-align:center;-webkit-user-select:none;user-select:none}\n"] }]
|
|
9
|
+
args: [{ selector: 'rs-plugin-not-found', template: "<div>\n <span>\u7EC4\u4EF6\u52A0\u8F7D\u5931\u8D25</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:4px;display:flex;flex-flow:row nowrap;justify-content:center}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{color:var(--coast-danger-color, rgb(217, 83, 79));text-align:center;-webkit-user-select:none;user-select:none}\n"] }]
|
|
10
10
|
}] });
|
|
11
11
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLW5vdC1mb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL3BsdWdpbi1ub3QtZm91bmQvcGx1Z2luLW5vdC1mb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL3BsdWdpbi1ub3QtZm91bmQvcGx1Z2luLW5vdC1mb3VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU94QyxNQUFNLE9BQU8sdUJBQXVCOztxSEFBdkIsdUJBQXVCO3lHQUF2Qix1QkFBdUIsMkRDUHBDLHNFQUdBOzRGRElhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLXBsdWdpbi1ub3QtZm91bmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGx1Z2luLW5vdC1mb3VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BsdWdpbi1ub3QtZm91bmQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQbHVnaW5Ob3RGb3VuZENvbXBvbmVudCB7XG59XG4iLCI8ZGl2PlxuICA8c3Bhbj7nu4Tku7bliqDovb3lpLHotKU8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -21,7 +21,7 @@ export class DataGridComponent {
|
|
|
21
21
|
this.viewContainerRef = viewContainerRef;
|
|
22
22
|
this.tenant = 'T';
|
|
23
23
|
this.keyExpr = ''; // 用于实例属性选择器,加载组件值时以选中字段为主键获取选中行数据
|
|
24
|
-
this.onlyFrontEnd = false; //
|
|
24
|
+
this.onlyFrontEnd = false; // 仅前端,需指定dataSource,不自动获取表格数据
|
|
25
25
|
this.disablePage = false;
|
|
26
26
|
this.dataSource = {};
|
|
27
27
|
this.selectionMode = 'none';
|
|
@@ -38,7 +38,6 @@ export class DataGridComponent {
|
|
|
38
38
|
this.onRowDblClick = new EventEmitter();
|
|
39
39
|
this.onSelectionChanged = new EventEmitter();
|
|
40
40
|
this.columns = [];
|
|
41
|
-
this.CustomTemplateDirective = CustomTemplateDirective;
|
|
42
41
|
}
|
|
43
42
|
ngOnInit() {
|
|
44
43
|
this.reload();
|
|
@@ -74,7 +73,7 @@ export class DataGridComponent {
|
|
|
74
73
|
});
|
|
75
74
|
if (this.onlyFrontEnd) {
|
|
76
75
|
if (this.dataSource && !Array.isArray(this.dataSource)) {
|
|
77
|
-
notify_error('
|
|
76
|
+
notify_error('因onlyFrontEnd参数为true,需要明确指定dataSource参数为数组');
|
|
78
77
|
}
|
|
79
78
|
}
|
|
80
79
|
else {
|
|
@@ -169,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
169
168
|
type: ContentChild,
|
|
170
169
|
args: [CustomTemplateDirective]
|
|
171
170
|
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9kYXRhLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLGlCQUFpQjtJQXdENUIsWUFBb0IsT0FBd0IsRUFBWSxPQUF3QixFQUFVLGdCQUFrQztRQUF4RyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUFZLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXRENUgsV0FBTSxHQUFTLEdBQUcsQ0FBQztRQVVuQixZQUFPLEdBQVcsRUFBRSxDQUFDLENBQUMsa0NBQWtDO1FBTXhELGlCQUFZLEdBQVksS0FBSyxDQUFDLENBQUMsZ0JBQWdCO1FBRS9DLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGVBQVUsR0FBUSxFQUFF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QUFJO3NCQURILEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sZUFBZTtzQkFEZCxLQUFLO2dCQUdOLHFCQUFxQjtzQkFEcEIsTUFBTTtnQkFHUCxVQUFVO3NCQURULEtBQUs7Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sa0NBQWtDO3NCQURqQyxLQUFLO2dCQUdOLHNCQUFzQjtzQkFEckIsS0FBSztnQkFHTiw4QkFBOEI7c0JBRDdCLEtBQUs7Z0JBR04sY0FBYztzQkFEYixNQUFNO2dCQUdQLGNBQWM7c0JBRGIsTUFBTTtnQkFHUCxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxNQUFNO2dCQUdQLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxrQkFBa0I7c0JBRGpCLE1BQU07Z0JBRWlELFVBQVU7c0JBQWpFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNPLGtCQUFrQjtzQkFBdEUsWUFBWTt1QkFBQywyQkFBMkI7Z0JBQ1EsY0FBYztzQkFBOUQsWUFBWTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEeERhdGFHcmlkQ29tcG9uZW50fSBmcm9tIFwiZGV2ZXh0cmVtZS1hbmd1bGFyXCI7XHJcbmltcG9ydCB7RGF0YUdyaWRTZXJ2aWNlfSBmcm9tIFwiLi9kYXRhLWdyaWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1Jvd0J1dHRvbnNUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vcm93LWJ1dHRvbnMtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7RGF0YUdyaWRGYWN0b3J5fSBmcm9tIFwiLi9kYXRhLWdyaWQuZmFjdG9yeVwiO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtub3RpZnlfZXJyb3J9IGZyb20gXCIuLi91dGlsL3V0aWxzXCI7XHJcbmltcG9ydCB7Q3VzdG9tVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2N1c3RvbS10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnMtZGF0YS1ncmlkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1ncmlkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWdyaWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtEYXRhR3JpZFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICB0ZW5hbnQ/OiBhbnkgPSAnVCc7XHJcbiAgQElucHV0KClcclxuICBjbGFzc05hbWUhOiBhbnk7XHJcbiAgQElucHV0KClcclxuICB2aWV3PzogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVyPzogQXJyYXk8YW55PiB8IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGN1c3RvbUNvbHVtbkZuPzogKGNvbHVtbnM6IGFueVtdKSA9PiB2b2lkO1xyXG4gIEBJbnB1dCgpXHJcbiAga2V5RXhwcjogc3RyaW5nID0gJyc7IC8vIOeUqOS6juWunuS+i+WxnuaAp+mAieaLqeWZqO+8jOWKoOi9vee7hOS7tuWAvOaXtuS7pemAieS4reWtl+auteS4uuS4u+mUruiOt+WPlumAieS4reihjOaVsOaNrlxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YUdyaWROYW1lPzogc3RyaW5nOyAvLyDnlKjkuo7lnKjojrflj5bmlbDmja7ml7blkIzml7bojrflj5blj7DotKbphY3nva7nmoTooYzlhoXmjInpkq5cclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgb25seUZyb250RW5kOiBib29sZWFuID0gZmFsc2U7IC8vIOS7heWJjeerr++8jOS4jemAmui/h+iOt+WPluihqOagvOaVsOaNrlxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZVBhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGRhdGFTb3VyY2U6IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0aW9uTW9kZTogJ25vbmUnIHwgJ211bHRpcGxlJyB8ICdzaW5nbGUnID0gJ25vbmUnO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSb3dLZXlzOiBhbnlbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkUm93S2V5c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcbiAgQElucHV0KClcclxuICBzaG93Um93TnVtOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIGluc3RhbmNlTGlua1R5cGU6ICd0YWInIHwgJ2RyYXdlcicgfCAnbm9uZScgPSAndGFiJztcclxuICBASW5wdXQoKVxyXG4gIGRyYXdlckluc3RhbmNlTGlua1ZpZXdDb250YWluZXJSZWY6IGFueSA9IHRoaXMudmlld0NvbnRhaW5lclJlZjtcclxuICBASW5wdXQoKVxyXG4gIGRyYXdlckluc3RhbmNlTGlua1NpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgfCBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KClcclxuICBkcmF3ZXJJbnN0YW5jZUxpbmtGb3JtVGVtcGxhdGU6IGFueTtcclxuICBAT3V0cHV0KClcclxuICBvbkNlbGxQcmVwYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ29udGVudFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25FZGl0b3JQcmVwYXJpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBvblJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25Sb3dEYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGQoRHhEYXRhR3JpZENvbXBvbmVudCwge3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgZHhEYXRhR3JpZCE6IER4RGF0YUdyaWRDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChSb3dCdXR0b25zVGVtcGxhdGVEaXJlY3RpdmUpIHByb3RlY3RlZCByb3dCdXR0b25zVGVtcGxhdGUhOiBSb3dCdXR0b25zVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZSkgcHJvdGVjdGVkIGN1c3RvbVRlbXBsYXRlITogQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgY29sdW1uczogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBEYXRhR3JpZEZhY3RvcnksIHByb3RlY3RlZCBzZXJ2aWNlOiBEYXRhR3JpZFNlcnZpY2UsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnJlbG9hZCgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCQucGlwZShkZWJvdW5jZVRpbWUoMTAwKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgKDxhbnk+dGhpcy5keERhdGFHcmlkLmluc3RhbmNlKS5yZXNpemUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVsb2FkKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLmZhY3RvcnkubWFrZURhdGFHcmlkQ29sdW1ucyh0aGlzLnRlbmFudCwgdGhpcy5jbGFzc05hbWUsIHRoaXMudmlldykuc3Vic2NyaWJlKGNvbHVtbnMgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdXN0b21Db2x1bW5Gbikge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tQ29sdW1uRm4oY29sdW1ucyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5zdGFuY2VMaW5rVHlwZSA9PT0gJ3RhYicgfHwgdGhpcy5pbnN0YW5jZUxpbmtUeXBlID09PSAnZHJhd2VyJykge1xyXG4gICAgICAgIGNvbHVtbnMudW5zaGlmdCh7XHJcbiAgICAgICAgICBjYXB0aW9uOiAn6K+m5oOFJyxcclxuICAgICAgICAgIGZpeGVkOiB0cnVlLFxyXG4gICAgICAgICAgd2lkdGg6IDQ4LFxyXG4gICAgICAgICAgYWxpZ25tZW50OiAnY2VudGVyJyxcclxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJ2luc3RhbmNlTGlua1RlbXBsYXRlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNob3dSb3dOdW0pIHtcclxuICAgICAgICBjb2x1bW5zLnVuc2hpZnQoe1xyXG4gICAgICAgICAgY2FwdGlvbjogJ+ihjOWPtycsXHJcbiAgICAgICAgICBmaXhlZDogdHJ1ZSxcclxuICAgICAgICAgIHdpZHRoOiA0OCxcclxuICAgICAgICAgIGFsaWdubWVudDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICdyb3dJbmRleFRlbXBsYXRlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLm9ubHlGcm9udEVuZCkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhU291cmNlICYmICFBcnJheS5pc0FycmF5KHRoaXMuZGF0YVNvdXJjZSkpIHtcclxuICAgICAgICBub3RpZnlfZXJyb3IoJ2lmIG9ubHlGcm9udEVuZCBzZXQgdHJ1ZSwgeW91IGhhdmUgdG8gc2V0IGRhdGFTb3VyY2UgYXMgYW4gQXJyYXknKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlID0gdGhpcy5mYWN0b3J5Lm1ha2VEYXRhR3JpZERhdGFTb3VyY2UodGhpcy50ZW5hbnQsIHRoaXMuY2xhc3NOYW1lLCB0aGlzLnZpZXcsIHRoaXMuZmlsdGVyLCB0aGlzLmtleUV4cHIsIHRoaXMuZGF0YUdyaWROYW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UuZ2V0U2VsZWN0ZWRSb3dLZXlzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFJvd3NEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZHhEYXRhR3JpZC5pbnN0YW5jZS5nZXRTZWxlY3RlZFJvd3NEYXRhKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKGNhbGxiYWNrPzogYW55KSB7XHJcbiAgICB0aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UucmVmcmVzaCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBpZiAoY2FsbGJhY2spIHtcclxuICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRHhEYXRhR3JpZEVkaXRvclByZXBhcmluZygkZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKCRldmVudC5wYXJlbnRUeXBlID09PSAnZmlsdGVyUm93JyAmJiAkZXZlbnQuZWRpdG9yTmFtZSA9PT0gJ2R4VGV4dEJveCcpIHtcclxuICAgICAgJGV2ZW50LmVkaXRvck9wdGlvbnMudmFsdWVDaGFuZ2VFdmVudCA9ICdibHVyJztcclxuICAgICAgJGV2ZW50LmVkaXRvck9wdGlvbnMub25FbnRlcktleSA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICBlLmNvbXBvbmVudC5ibHVyKCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uRWRpdG9yUHJlcGFyaW5nLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZSA9IEN1c3RvbVRlbXBsYXRlRGlyZWN0aXZlO1xyXG59XHJcbiIsIjxkeC1kYXRhLWdyaWQgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3Nob3dDb2x1bW5MaW5lc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3Jvd0FsdGVybmF0aW9uRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgICAgICAgICAgICAgZGF0ZVNlcmlhbGl6YXRpb25Gb3JtYXQ9XCJ5eXl5L01NL2RkIEhIOm1tOnNzXCJcclxuICAgICAgICAgICAgICBbc3luY0xvb2t1cEZpbHRlclZhbHVlc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXHJcbiAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgW2hlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICAgICAgICAgIFtrZXlFeHByXT1cImtleUV4cHJcIlxyXG4gICAgICAgICAgICAgIFtzZWxlY3RlZFJvd0tleXNdPVwic2VsZWN0ZWRSb3dLZXlzXCJcclxuICAgICAgICAgICAgICAoc2VsZWN0ZWRSb3dLZXlzQ2hhbmdlKT1cInNlbGVjdGVkUm93S2V5c0NoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkNlbGxQcmVwYXJlZCk9XCJvbkNlbGxQcmVwYXJlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkNvbnRlbnRSZWFkeSk9XCJvbkNvbnRlbnRSZWFkeS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkVkaXRvclByZXBhcmluZyk9XCJvbkR4RGF0YUdyaWRFZGl0b3JQcmVwYXJpbmcoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uUm93Q2xpY2spPVwib25Sb3dDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblJvd0RibENsaWNrKT1cIm9uUm93RGJsQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KCRldmVudClcIj5cclxuICA8ZHhvLXNvcnRpbmcgbW9kZT1cIm11bHRpcGxlXCI+PC9keG8tc29ydGluZz5cclxuICA8ZHhvLXNlbGVjdGlvbiBbbW9kZV09XCJzZWxlY3Rpb25Nb2RlXCIgc2VsZWN0QWxsTW9kZT1cInBhZ2VcIiBzaG93Q2hlY2tCb3hlc01vZGU9XCJhbHdheXNcIj48L2R4by1zZWxlY3Rpb24+XHJcbiAgPGR4by1oZWFkZXItZmlsdGVyIFt2aXNpYmxlXT1cIiFvbmx5RnJvbnRFbmRcIj5cclxuICAgIDxkeG8tc2VhcmNoIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1zZWFyY2g+XHJcbiAgICA8ZHhvLXRleHRzIFtva109XCIn56Gu5a6aJ1wiPjwvZHhvLXRleHRzPlxyXG4gIDwvZHhvLWhlYWRlci1maWx0ZXI+XHJcbiAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG4gIDxkeG8tcmVtb3RlLW9wZXJhdGlvbnMgW2ZpbHRlcmluZ109XCIhb25seUZyb250RW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0aW5nXT1cIiFvbmx5RnJvbnRFbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2luZ109XCIhb25seUZyb250RW5kXCI+XHJcbiAgPC9keG8tcmVtb3RlLW9wZXJhdGlvbnM+XHJcbiAgPGR4by1wYWdpbmcgW2VuYWJsZWRdPVwiIWRpc2FibGVQYWdlXCIgW3BhZ2VTaXplXT1cIjE1XCI+PC9keG8tcGFnaW5nPlxyXG4gIDxkeG8tcGFnZXIgW3Zpc2libGVdPVwiIWRpc2FibGVQYWdlXCJcclxuICAgICAgICAgICAgIFtzaG93SW5mb109XCJ0cnVlXCJcclxuICAgICAgICAgICAgIGluZm9UZXh0PVwi56ysezB96aG177yM5YWxezF96aG177yI5YWxezJ95Liq6aG555uu77yJXCJcclxuICAgICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgIFthbGxvd2VkUGFnZVNpemVzXT1cIlsxNSwgMzAsIDUwXVwiXHJcbiAgPjwvZHhvLXBhZ2VyPlxyXG4gIDxkeG8tc2Nyb2xsaW5nIHNob3dTY3JvbGxiYXI9XCJhbHdheXNcIj48L2R4by1zY3JvbGxpbmc+XHJcbiAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsSW5mbyBvZiAncm93SW5kZXhUZW1wbGF0ZSdcIj5cclxuICAgIHt7IGNlbGxJbmZvLnJvd0luZGV4ICsgMSB9fVxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ2luc3RhbmNlTGlua1RlbXBsYXRlJ1wiPlxyXG4gICAgPHJzLWluc3RhbmNlLWxpbmstdGVtcGxhdGUgW3RlbmFudF09XCJ0ZW5hbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJjbGFzc05hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29pZF09XCJjZWxsSW5mby5kYXRhLm9pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5zdGFuY2VMaW5rVHlwZV09XCJpbnN0YW5jZUxpbmtUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkcmF3ZXJWaWV3Q29udGFpbmVyUmVmXT1cImRyYXdlckluc3RhbmNlTGlua1ZpZXdDb250YWluZXJSZWZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyYXdlclNpemVdPVwiZHJhd2VySW5zdGFuY2VMaW5rU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZHJhd2VyRm9ybVRlbXBsYXRlXT1cImRyYXdlckluc3RhbmNlTGlua0Zvcm1UZW1wbGF0ZVwiPlxyXG4gICAgPC9ycy1pbnN0YW5jZS1saW5rLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ2NlbGxDb21wb25lbnRUZW1wbGF0ZSdcIj5cclxuICAgIDxycy1jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZSBbY2VsbEluZm9dPVwiY2VsbEluZm9cIj48L3JzLWNlbGwtY29tcG9uZW50LXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ3Jvd0J1dHRvbnNUZW1wbGF0ZSdcIj5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicm93QnV0dG9uc1RlbXBsYXRlLnRlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGNlbGxJbmZvLCBjZWxsVGVtcGxhdGVMb2FkZWQkOiBzZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsSW5mbyBvZiAnY3VzdG9tVGVtcGxhdGUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVRlbXBsYXRlLnRlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGNlbGxJbmZvLCBjZWxsVGVtcGxhdGVMb2FkZWQkOiBzZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZHgtZGF0YS1ncmlkPlxyXG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9kYXRhLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLGlCQUFpQjtJQXdENUIsWUFBb0IsT0FBd0IsRUFBWSxPQUF3QixFQUFVLGdCQUFrQztRQUF4RyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUFZLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXRENUgsV0FBTSxHQUFTLEdBQUcsQ0FBQztRQVVuQixZQUFPLEdBQVcsRUFBRSxDQUFDLENBQUMsa0NBQWtDO1FBTXhELGlCQUFZLEdBQVksS0FBSyxDQUFDLENBQUMsOEJBQThCO1FBRTdELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGVBQVUsR0FBUSxFQUFF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LEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLGFBQWE7c0JBRFosS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04scUJBQXFCO3NCQURwQixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFHTixrQ0FBa0M7c0JBRGpDLEtBQUs7Z0JBR04sc0JBQXNCO3NCQURyQixLQUFLO2dCQUdOLDhCQUE4QjtzQkFEN0IsS0FBSztnQkFHTixjQUFjO3NCQURiLE1BQU07Z0JBR1AsY0FBYztzQkFEYixNQUFNO2dCQUdQLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFHUCxVQUFVO3NCQURULE1BQU07Z0JBR1AsYUFBYTtzQkFEWixNQUFNO2dCQUdQLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFFaUQsVUFBVTtzQkFBakUsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ08sa0JBQWtCO3NCQUF0RSxZQUFZO3VCQUFDLDJCQUEyQjtnQkFDUSxjQUFjO3NCQUE5RCxZQUFZO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0R4RGF0YUdyaWRDb21wb25lbnR9IGZyb20gXCJkZXZleHRyZW1lLWFuZ3VsYXJcIjtcclxuaW1wb3J0IHtEYXRhR3JpZFNlcnZpY2V9IGZyb20gXCIuL2RhdGEtZ3JpZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Um93QnV0dG9uc1RlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9yb3ctYnV0dG9ucy10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtEYXRhR3JpZEZhY3Rvcnl9IGZyb20gXCIuL2RhdGEtZ3JpZC5mYWN0b3J5XCI7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge25vdGlmeV9lcnJvcn0gZnJvbSBcIi4uL3V0aWwvdXRpbHNcIjtcclxuaW1wb3J0IHtDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vY3VzdG9tLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdycy1kYXRhLWdyaWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGEtZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW0RhdGFHcmlkU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIHRlbmFudD86IGFueSA9ICdUJztcclxuICBASW5wdXQoKVxyXG4gIGNsYXNzTmFtZSE6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHZpZXc/OiBhbnk7XHJcbiAgQElucHV0KClcclxuICBmaWx0ZXI/OiBBcnJheTxhbnk+IHwgc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3VzdG9tQ29sdW1uRm4/OiAoY29sdW1uczogYW55W10pID0+IHZvaWQ7XHJcbiAgQElucHV0KClcclxuICBrZXlFeHByOiBzdHJpbmcgPSAnJzsgLy8g55So5LqO5a6e5L6L5bGe5oCn6YCJ5oup5Zmo77yM5Yqg6L2957uE5Lu25YC85pe25Lul6YCJ5Lit5a2X5q615Li65Li76ZSu6I635Y+W6YCJ5Lit6KGM5pWw5o2uXHJcbiAgQElucHV0KClcclxuICBkYXRhR3JpZE5hbWU/OiBzdHJpbmc7IC8vIOeUqOS6juWcqOiOt+WPluaVsOaNruaXtuWQjOaXtuiOt+WPluWPsOi0pumFjee9rueahOihjOWGheaMiemSrlxyXG4gIEBJbnB1dCgpXHJcbiAgaGVpZ2h0OiBhbnk7XHJcbiAgQElucHV0KClcclxuICBvbmx5RnJvbnRFbmQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8g5LuF5YmN56uv77yM6ZyA5oyH5a6aZGF0YVNvdXJjZe+8jOS4jeiHquWKqOiOt+WPluihqOagvOaVsOaNrlxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZVBhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGRhdGFTb3VyY2U6IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0aW9uTW9kZTogJ25vbmUnIHwgJ211bHRpcGxlJyB8ICdzaW5nbGUnID0gJ25vbmUnO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSb3dLZXlzOiBhbnlbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkUm93S2V5c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcbiAgQElucHV0KClcclxuICBzaG93Um93TnVtOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIGluc3RhbmNlTGlua1R5cGU6ICd0YWInIHwgJ2RyYXdlcicgfCAnbm9uZScgPSAndGFiJztcclxuICBASW5wdXQoKVxyXG4gIGRyYXdlckluc3RhbmNlTGlua1ZpZXdDb250YWluZXJSZWY6IGFueSA9IHRoaXMudmlld0NvbnRhaW5lclJlZjtcclxuICBASW5wdXQoKVxyXG4gIGRyYXdlckluc3RhbmNlTGlua1NpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgfCBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KClcclxuICBkcmF3ZXJJbnN0YW5jZUxpbmtGb3JtVGVtcGxhdGU6IGFueTtcclxuICBAT3V0cHV0KClcclxuICBvbkNlbGxQcmVwYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ29udGVudFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25FZGl0b3JQcmVwYXJpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBvblJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25Sb3dEYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGQoRHhEYXRhR3JpZENvbXBvbmVudCwge3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgZHhEYXRhR3JpZCE6IER4RGF0YUdyaWRDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChSb3dCdXR0b25zVGVtcGxhdGVEaXJlY3RpdmUpIHByb3RlY3RlZCByb3dCdXR0b25zVGVtcGxhdGUhOiBSb3dCdXR0b25zVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZSkgcHJvdGVjdGVkIGN1c3RvbVRlbXBsYXRlITogQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgY29sdW1uczogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBEYXRhR3JpZEZhY3RvcnksIHByb3RlY3RlZCBzZXJ2aWNlOiBEYXRhR3JpZFNlcnZpY2UsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnJlbG9hZCgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCQucGlwZShkZWJvdW5jZVRpbWUoMTAwKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgKDxhbnk+dGhpcy5keERhdGFHcmlkLmluc3RhbmNlKS5yZXNpemUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVsb2FkKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLmZhY3RvcnkubWFrZURhdGFHcmlkQ29sdW1ucyh0aGlzLnRlbmFudCwgdGhpcy5jbGFzc05hbWUsIHRoaXMudmlldykuc3Vic2NyaWJlKGNvbHVtbnMgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdXN0b21Db2x1bW5Gbikge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tQ29sdW1uRm4oY29sdW1ucyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5zdGFuY2VMaW5rVHlwZSA9PT0gJ3RhYicgfHwgdGhpcy5pbnN0YW5jZUxpbmtUeXBlID09PSAnZHJhd2VyJykge1xyXG4gICAgICAgIGNvbHVtbnMudW5zaGlmdCh7XHJcbiAgICAgICAgICBjYXB0aW9uOiAn6K+m5oOFJyxcclxuICAgICAgICAgIGZpeGVkOiB0cnVlLFxyXG4gICAgICAgICAgd2lkdGg6IDQ4LFxyXG4gICAgICAgICAgYWxpZ25tZW50OiAnY2VudGVyJyxcclxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJ2luc3RhbmNlTGlua1RlbXBsYXRlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNob3dSb3dOdW0pIHtcclxuICAgICAgICBjb2x1bW5zLnVuc2hpZnQoe1xyXG4gICAgICAgICAgY2FwdGlvbjogJ+ihjOWPtycsXHJcbiAgICAgICAgICBmaXhlZDogdHJ1ZSxcclxuICAgICAgICAgIHdpZHRoOiA0OCxcclxuICAgICAgICAgIGFsaWdubWVudDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICdyb3dJbmRleFRlbXBsYXRlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLm9ubHlGcm9udEVuZCkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhU291cmNlICYmICFBcnJheS5pc0FycmF5KHRoaXMuZGF0YVNvdXJjZSkpIHtcclxuICAgICAgICBub3RpZnlfZXJyb3IoJ+WboG9ubHlGcm9udEVuZOWPguaVsOS4unRydWXvvIzpnIDopoHmmI7noa7mjIflrppkYXRhU291cmNl5Y+C5pWw5Li65pWw57uEJyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHRoaXMuZmFjdG9yeS5tYWtlRGF0YUdyaWREYXRhU291cmNlKHRoaXMudGVuYW50LCB0aGlzLmNsYXNzTmFtZSwgdGhpcy52aWV3LCB0aGlzLmZpbHRlciwgdGhpcy5rZXlFeHByLCB0aGlzLmRhdGFHcmlkTmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmdldFNlbGVjdGVkUm93S2V5cygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRSb3dzRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UuZ2V0U2VsZWN0ZWRSb3dzRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaChjYWxsYmFjaz86IGFueSkge1xyXG4gICAgdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLnJlZnJlc2goKS50aGVuKCgpID0+IHtcclxuICAgICAgaWYgKGNhbGxiYWNrKSB7XHJcbiAgICAgICAgY2FsbGJhY2soKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkR4RGF0YUdyaWRFZGl0b3JQcmVwYXJpbmcoJGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICgkZXZlbnQucGFyZW50VHlwZSA9PT0gJ2ZpbHRlclJvdycgJiYgJGV2ZW50LmVkaXRvck5hbWUgPT09ICdkeFRleHRCb3gnKSB7XHJcbiAgICAgICRldmVudC5lZGl0b3JPcHRpb25zLnZhbHVlQ2hhbmdlRXZlbnQgPSAnYmx1cic7XHJcbiAgICAgICRldmVudC5lZGl0b3JPcHRpb25zLm9uRW50ZXJLZXkgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgZS5jb21wb25lbnQuYmx1cigpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkVkaXRvclByZXBhcmluZy5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkeC1kYXRhLWdyaWQgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3Nob3dDb2x1bW5MaW5lc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3Jvd0FsdGVybmF0aW9uRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgICAgICAgICAgICAgZGF0ZVNlcmlhbGl6YXRpb25Gb3JtYXQ9XCJ5eXl5L01NL2RkIEhIOm1tOnNzXCJcclxuICAgICAgICAgICAgICBbc3luY0xvb2t1cEZpbHRlclZhbHVlc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXHJcbiAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgW2hlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICAgICAgICAgIFtrZXlFeHByXT1cImtleUV4cHJcIlxyXG4gICAgICAgICAgICAgIFtzZWxlY3RlZFJvd0tleXNdPVwic2VsZWN0ZWRSb3dLZXlzXCJcclxuICAgICAgICAgICAgICAoc2VsZWN0ZWRSb3dLZXlzQ2hhbmdlKT1cInNlbGVjdGVkUm93S2V5c0NoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkNlbGxQcmVwYXJlZCk9XCJvbkNlbGxQcmVwYXJlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkNvbnRlbnRSZWFkeSk9XCJvbkNvbnRlbnRSZWFkeS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkVkaXRvclByZXBhcmluZyk9XCJvbkR4RGF0YUdyaWRFZGl0b3JQcmVwYXJpbmcoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uUm93Q2xpY2spPVwib25Sb3dDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblJvd0RibENsaWNrKT1cIm9uUm93RGJsQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KCRldmVudClcIj5cclxuICA8ZHhvLXNvcnRpbmcgbW9kZT1cIm11bHRpcGxlXCI+PC9keG8tc29ydGluZz5cclxuICA8ZHhvLXNlbGVjdGlvbiBbbW9kZV09XCJzZWxlY3Rpb25Nb2RlXCIgc2VsZWN0QWxsTW9kZT1cInBhZ2VcIiBzaG93Q2hlY2tCb3hlc01vZGU9XCJhbHdheXNcIj48L2R4by1zZWxlY3Rpb24+XHJcbiAgPGR4by1oZWFkZXItZmlsdGVyIFt2aXNpYmxlXT1cIiFvbmx5RnJvbnRFbmRcIj5cclxuICAgIDxkeG8tc2VhcmNoIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1zZWFyY2g+XHJcbiAgICA8ZHhvLXRleHRzIFtva109XCIn56Gu5a6aJ1wiPjwvZHhvLXRleHRzPlxyXG4gIDwvZHhvLWhlYWRlci1maWx0ZXI+XHJcbiAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG4gIDxkeG8tcmVtb3RlLW9wZXJhdGlvbnMgW2ZpbHRlcmluZ109XCIhb25seUZyb250RW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0aW5nXT1cIiFvbmx5RnJvbnRFbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2luZ109XCIhb25seUZyb250RW5kXCI+XHJcbiAgPC9keG8tcmVtb3RlLW9wZXJhdGlvbnM+XHJcbiAgPGR4by1wYWdpbmcgW2VuYWJsZWRdPVwiIWRpc2FibGVQYWdlXCIgW3BhZ2VTaXplXT1cIjE1XCI+PC9keG8tcGFnaW5nPlxyXG4gIDxkeG8tcGFnZXIgW3Zpc2libGVdPVwiIWRpc2FibGVQYWdlXCJcclxuICAgICAgICAgICAgIFtzaG93SW5mb109XCJ0cnVlXCJcclxuICAgICAgICAgICAgIGluZm9UZXh0PVwi56ysezB96aG177yM5YWxezF96aG177yI5YWxezJ95Liq6aG555uu77yJXCJcclxuICAgICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgIFthbGxvd2VkUGFnZVNpemVzXT1cIlsxNSwgMzAsIDUwXVwiXHJcbiAgPjwvZHhvLXBhZ2VyPlxyXG4gIDxkeG8tc2Nyb2xsaW5nIHNob3dTY3JvbGxiYXI9XCJhbHdheXNcIj48L2R4by1zY3JvbGxpbmc+XHJcbiAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsSW5mbyBvZiAncm93SW5kZXhUZW1wbGF0ZSdcIj5cclxuICAgIHt7IGNlbGxJbmZvLnJvd0luZGV4ICsgMSB9fVxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ2luc3RhbmNlTGlua1RlbXBsYXRlJ1wiPlxyXG4gICAgPHJzLWluc3RhbmNlLWxpbmstdGVtcGxhdGUgW3RlbmFudF09XCJ0ZW5hbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJjbGFzc05hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29pZF09XCJjZWxsSW5mby5kYXRhLm9pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5zdGFuY2VMaW5rVHlwZV09XCJpbnN0YW5jZUxpbmtUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkcmF3ZXJWaWV3Q29udGFpbmVyUmVmXT1cImRyYXdlckluc3RhbmNlTGlua1ZpZXdDb250YWluZXJSZWZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyYXdlclNpemVdPVwiZHJhd2VySW5zdGFuY2VMaW5rU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZHJhd2VyRm9ybVRlbXBsYXRlXT1cImRyYXdlckluc3RhbmNlTGlua0Zvcm1UZW1wbGF0ZVwiPlxyXG4gICAgPC9ycy1pbnN0YW5jZS1saW5rLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ2NlbGxDb21wb25lbnRUZW1wbGF0ZSdcIj5cclxuICAgIDxycy1jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZSBbY2VsbEluZm9dPVwiY2VsbEluZm9cIj48L3JzLWNlbGwtY29tcG9uZW50LXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ3Jvd0J1dHRvbnNUZW1wbGF0ZSdcIj5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicm93QnV0dG9uc1RlbXBsYXRlLnRlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGNlbGxJbmZvLCBjZWxsVGVtcGxhdGVMb2FkZWQkOiBzZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsSW5mbyBvZiAnY3VzdG9tVGVtcGxhdGUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVRlbXBsYXRlLnRlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGNlbGxJbmZvLCBjZWxsVGVtcGxhdGVMb2FkZWQkOiBzZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZHgtZGF0YS1ncmlkPlxyXG4iXX0=
|
|
@@ -128,6 +128,7 @@ export class DataGridFactory {
|
|
|
128
128
|
});
|
|
129
129
|
};
|
|
130
130
|
};
|
|
131
|
+
column.alignment = 'right';
|
|
131
132
|
break;
|
|
132
133
|
case 'STRING':
|
|
133
134
|
column.headerFilter.dataSource = (options) => {
|
|
@@ -377,4 +378,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
377
378
|
providedIn: 'root'
|
|
378
379
|
}]
|
|
379
380
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
380
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9kYXRhLWdyaWQvZGF0YS1ncmlkLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU01QixZQUFPLEdBQVE7WUFDckIsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7YUFDcEU7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGdCQUFnQixFQUFFLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQzthQUNwRTtZQUNELE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsU0FBUztnQkFDbkIsZ0JBQWdCLEVBQUUsRUFBRTthQUNyQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUM7YUFDL0Q7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sUUFBUSxFQUFFLFFBQVE7Z0JBQ2xC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QUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUMvQixXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztxQkFDdkM7b0JBQ0QsSUFBSSxNQUFNLEVBQUU7d0JBQ1YsTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztxQkFDdkM7eUJBQU07d0JBQ0wsTUFBTSxHQUFHLFdBQVcsQ0FBQztxQkFDdEI7aUJBQ0Y7Z0JBQ0QsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsTUFBTSxJQUFJLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQ25FO2dCQUNELE1BQU0sSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksWUFBWSxFQUFFO29CQUNoQixNQUFNLElBQUksZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO2lCQUMzQztnQkFDRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEUsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OzZHQXpXVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEN1c3RvbVN0b3JlIGZyb20gXCJkZXZleHRyZW1lL2RhdGEvY3VzdG9tX3N0b3JlXCI7XHJcbmltcG9ydCB7bGFzdFZhbHVlRnJvbSwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0NvbHVtbn0gZnJvbSBcImRldmV4dHJlbWUvdWkvZGF0YV9ncmlkXCI7XHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtEYXRhR3JpZFNlcnZpY2V9IGZyb20gXCIuL2RhdGEtZ3JpZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZEZhY3Rvcnkge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlID0gbmV3IERhdGFHcmlkU2VydmljZShodHRwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VydmljZSE6IERhdGFHcmlkU2VydmljZTtcclxuXHJcbiAgcHJpdmF0ZSB0eXBlTWFwOiBhbnkgPSB7XHJcbiAgICBTVFJJTkc6IHtcclxuICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJ2NvbnRhaW5zJywgJ3N0YXJ0c3dpdGgnLCAnZW5kc3dpdGgnLCAnPScsICc8PiddXHJcbiAgICB9LFxyXG4gICAgVEVYVDoge1xyXG4gICAgICBkYXRhVHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnY29udGFpbnMnLCAnc3RhcnRzd2l0aCcsICdlbmRzd2l0aCcsICc9JywgJzw+J11cclxuICAgIH0sXHJcbiAgICBCT09MRUFOOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnYm9vbGVhbicsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFtdXHJcbiAgICB9LFxyXG4gICAgSU5URUdFUjoge1xyXG4gICAgICBkYXRhVHlwZTogJ251bWJlcicsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnPScsICc8PicsICc+JywgJz49JywgJzwnLCAnPD0nLCAnYmV0d2VlbiddXHJcbiAgICB9LFxyXG4gICAgRE9VQkxFOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcclxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogWyc9JywgJzw+JywgJz4nLCAnPj0nLCAnPCcsICc8PScsICdiZXR3ZWVuJ11cclxuICAgIH0sXHJcbiAgICBEQVRFOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnZGF0ZScsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnPScsICc8PicsICc+JywgJz49JywgJzwnLCAnPD0nLCAnYmV0d2VlbiddLFxyXG4gICAgICBmb3JtYXQ6ICd5eXl5L01NL2RkJ1xyXG4gICAgfSxcclxuICAgIERBVEVUSU1FOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnZGF0ZXRpbWUnLFxyXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJz4nLCAnPCcsICdiZXR3ZWVuJ10sXHJcbiAgICAgIGZvcm1hdDogJ3l5eXkvTU0vZGQgSEg6bW06c3MnXHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIG1ha2VEYXRhR3JpZENvbHVtbnModGVuYW50OiBhbnksIGNsYXNzTmFtZTogYW55LCB2aWV3OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHRoaXMuc2VydmljZS5nZXRNZXRhZGF0YUJ5Vmlldyh0ZW5hbnQsIGNsYXNzTmFtZSwgdmlldyB8fCAnJykuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcclxuICAgICAgY29uc3QgY29sdW1ucyA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBmaWVsZCBvZiByZXNwb25zZS5kYXRhLmNvbHVtbnMpIHtcclxuICAgICAgICBsZXQgY29sdW1uOiBhbnkgPSB7XHJcbiAgICAgICAgICBkYXRhRmllbGQ6IGZpZWxkLm5hbWUsXHJcbiAgICAgICAgICBjYXB0aW9uOiBmaWVsZC5jYXB0aW9uLFxyXG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgICAgYWxpZ25tZW50OiAnbGVmdCcsXHJcbiAgICAgICAgICBhbGxvd0hlYWRlckZpbHRlcmluZzogdHJ1ZSxcclxuICAgICAgICAgIGFsbG93RmlsdGVyaW5nOiB0cnVlLFxyXG4gICAgICAgICAgYWxsb3dTb3J0aW5nOiB0cnVlLFxyXG4gICAgICAgICAgdmlzaWJsZTogZmllbGQudmlzaWJsZSxcclxuICAgICAgICAgIGZpeGVkOiBmaWVsZC5maXhlZFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKGZpZWxkLnZpZXdDb25maWcuY29sdW1uV2lkdGgpIHtcclxuICAgICAgICAgIGNvbHVtbi53aWR0aCA9IGZpZWxkLnZpZXdDb25maWcuY29sdW1uV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWVsZC52aWV3Q29uZmlnLmFsaWduQ2VudGVyKSB7XHJcbiAgICAgICAgICBjb2x1bW4uYWxpZ25tZW50ID0gJ2NlbnRlcic7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWVsZC52aWV3Q29uZmlnLmNvbXBvbmVudCkge1xyXG4gICAgICAgICAgY29sdW1uLmNlbGxUZW1wbGF0ZSA9ICdjZWxsQ29tcG9uZW50VGVtcGxhdGUnO1xyXG4gICAgICAgICAgY29sdW1uLmNvbmZpZyA9IGZpZWxkLmNvbmZpZztcclxuICAgICAgICAgIGNvbHVtbi52aWV3Q29uZmlnID0gZmllbGQudmlld0NvbmZpZztcclxuICAgICAgICB9XHJcbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XHJcbiAgICAgICAgICBjYXNlICdGSUxFJzpcclxuICAgICAgICAgICAgY29sdW1uLmFsbG93SGVhZGVyRmlsdGVyaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGNvbHVtbi5hbGxvd0ZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb2x1bW4uYWxsb3dTb3J0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnTk9STUFMJzpcclxuICAgICAgICAgICAgY29sdW1uLmRhdGFUeXBlID0gdGhpcy50eXBlTWFwW2ZpZWxkLmRhdGFUeXBlXS5kYXRhVHlwZTtcclxuICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlciA9IHtcclxuICAgICAgICAgICAgICBhbGxvd1NlbGVjdEFsbDogZmFsc2VcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29sdW1uLmZpbHRlck9wZXJhdGlvbnMgPSB0aGlzLnR5cGVNYXBbZmllbGQuZGF0YVR5cGVdLmZpbHRlck9wZXJhdGlvbnM7XHJcbiAgICAgICAgICAgIGNvbHVtbi5mb3JtYXQgPSB0aGlzLnR5cGVNYXBbZmllbGQuZGF0YVR5cGVdLmZvcm1hdDtcclxuICAgICAgICAgICAgc3dpdGNoIChmaWVsZC5kYXRhVHlwZSkge1xyXG4gICAgICAgICAgICAgIGNhc2UgJ0JPT0xFQU4nOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmFsbG93SGVhZGVyRmlsdGVyaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uYWxpZ25tZW50ID0gJ2NlbnRlcic7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4udHJ1ZVRleHQgPSAn5pivJztcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5mYWxzZVRleHQgPSAn5ZCmJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIGNhc2UgJ0RBVEUnOlxyXG4gICAgICAgICAgICAgIGNhc2UgJ0RBVEVUSU1FJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJGaWx0ZXIuZGF0YVNvdXJjZSA9IChvcHRpb25zOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgb3B0aW9ucy5kYXRhU291cmNlLmdyb3VwLmxlbmd0aCA9IDM7XHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZGF0YVNvdXJjZS5wb3N0UHJvY2VzcyA9IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLmZvckVhY2goKHllYXI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgeWVhci50ZXh0ID0geWVhci5rZXkgKyAn5bm0JztcclxuICAgICAgICAgICAgICAgICAgICAgIHllYXIuaXRlbXMuZm9yRWFjaCgobW9udGg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aC50ZXh0ID0gbW9udGgua2V5ICsgJ+aciCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoLml0ZW1zLmZvckVhY2goKGRheTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5LnRleHQgPSBkYXkua2V5ICsgJ+aXpSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5Lml0ZW1zID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS51bnNoaWZ0KHtcclxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICco56m655m9KSdcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBjYXNlICdET1VCTEUnOlxyXG4gICAgICAgICAgICAgIGNhc2UgJ0lOVEVHRVInOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0gKG9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFTb3VyY2UucG9zdFByb2Nlc3MgPSAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS51bnNoaWZ0KHtcclxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICco56m655m9KSdcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAga2V5OiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdfXycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBjYXNlICdTVFJJTkcnOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0gKG9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFTb3VyY2UucG9zdFByb2Nlc3MgPSAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS51bnNoaWZ0KHtcclxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICco56m655m9KSdcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAga2V5OiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdfXycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50LnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnVVNFUic6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbi52aWV3Q29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4udmlld0NvbmZpZy5jb21wb25lbnRDb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbHVtbi52aWV3Q29uZmlnLmNvbXBvbmVudENvbmZpZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxGaWVsZDogZmllbGQubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0VXNlckNvbHVtbkRhdGFTb3VyY2UodGVuYW50LCBjbGFzc05hbWUsIHZpZXcsIGZpZWxkLm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICc9JywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgJ2NvbnRhaW5zJywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmRhdGFGaWVsZCA9ICdfXycgKyBmaWVsZC5uYW1lICsgJ1xcdTAwMDFVc2VyX2Rpc3BsYXlOYW1lJztcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IGFueSwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gJ2hlYWRlckZpbHRlcicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQgPSAnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVXNlcl91c2VybmFtZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uLCB0YXJnZXRdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uLm5hbWUsIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uLCBmaWx0ZXJWYWx1ZV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbJ19fJyArIGZpZWxkLm5hbWUgKyAnXFx1MDAwMVVzZXJfdXNlcm5hbWUnLCBzZWxlY3RlZEZpbHRlck9wZXJhdGlvbiwgZmlsdGVyVmFsdWVdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnVU5JVCc6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbi52aWV3Q29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4udmlld0NvbmZpZy5jb21wb25lbnRDb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbHVtbi52aWV3Q29uZmlnLmNvbXBvbmVudENvbmZpZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxGaWVsZDogZmllbGQubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0VW5pdENvbHVtbkRhdGFTb3VyY2UodGVuYW50LCBjbGFzc05hbWUsIHZpZXcsIGZpZWxkLm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICc9JywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgJ2NvbnRhaW5zJywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmRhdGFGaWVsZCA9ICdfXycgKyBmaWVsZC5uYW1lICsgJ1xcdTAwMDFVbml0X2Rpc3BsYXlOYW1lJztcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gJ2hlYWRlckZpbHRlcicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQgPSAnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVW5pdF9uYW1lJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIHRhcmdldF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW4ubmFtZSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIGZpbHRlclZhbHVlXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnb3InLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFsnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVW5pdF9uYW1lJywgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIGZpbHRlclZhbHVlXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ0NVU1RPTSc6XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0Q29uc3RyYWludENvbHVtbkRhdGFTb3VyY2UodGVuYW50LCBjbGFzc05hbWUsIHZpZXcsIGZpZWxkLm5hbWUsIGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmxvb2t1cCA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLmdldENvbnN0cmFpbnRFbnRyaWVzKHRlbmFudCwgZmllbGQuY29uZmlnLmNvbnN0cmFpbnQubmFtZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2luYXRlOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWVFeHByOiAnc3RvcmUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUV4cHI6ICdkaXNwbGF5J1xyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmZpbHRlck9wZXJhdGlvbnMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuY29uZmlnLmNvbnN0cmFpbnQubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICc9JywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgJ2NvbnRhaW5zJywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBjYXNlICdURVhUJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdSRUxBVElPTic6XHJcbiAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb2x1bW4uYWxsb3dTb3J0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHN3aXRjaCAoZmllbGQucmVsYXRpb25UeXBlKSB7XHJcbiAgICAgICAgICAgICAgY2FzZSAnTUFOWV9UT19PTkUnOlxyXG4gICAgICAgICAgICAgIGNhc2UgJ09ORV9UT19PTkUnOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmZpbHRlck9wZXJhdGlvbnMgPSBbJz0nXTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbHVtbnMucHVzaChjb2x1bW4pO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc3VsdC5uZXh0KGNvbHVtbnMpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1ha2VEYXRhR3JpZERhdGFTb3VyY2UodGVuYW50OiBhbnksIGNsYXNzTmFtZTogYW55LCB2aWV3OiBhbnksIGV4dHJhRmlsdGVyOiBhbnksIGtleUV4cHI/OiBzdHJpbmcsIGRhdGFHcmlkTmFtZT86IHN0cmluZyk6IEN1c3RvbVN0b3JlIHtcclxuICAgIGlmICgha2V5RXhwcikge1xyXG4gICAgICBrZXlFeHByID0gJ29pZCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEN1c3RvbVN0b3JlKHtcclxuICAgICAga2V5OiBrZXlFeHByLFxyXG4gICAgICBieUtleTogKGtleTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKCFrZXkpIHtcclxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGtleUV4cHIgPT09ICdvaWQnKSB7XHJcbiAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0T25lKHRlbmFudCwgY2xhc3NOYW1lLCBrZXkpLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXRPbmVCeUZpbHRlcih0ZW5hbnQsIGNsYXNzTmFtZSwga2V5RXhwciwga2V5LCB2aWV3KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBsb2FkOiAobG9hZE9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChsb2FkT3B0aW9ucy5kYXRhRmllbGQpIHtcclxuICAgICAgICAgIC8vIOacqumHjeWGmWhlYWRlckZpbHRlcueahGRhdGFTb3VyY2Xml7bvvIxoZWFkZXJGaWx0ZXLkvJrosIPnlKhsb2Fk5pa55rOV5Yqg6L29562b6YCJ5qCR77yM6YeN5YaZ6K+l5pa55rOV5p+l6K+i6K+l6KGo5omA5pyJ5pWw5o2uXHJcbiAgICAgICAgICAvLyDor6XmlrnlvI/lrZjlnKjpo47pmanvvIzml6Dms5Xor4bliKtEZXZFeHRyZW1l5LiA5a6a5piv6YCa6L+HaGVhZGVyRmlsdGVy6L+H5ruk5omN5a2Y5ZyoZGF0YUZpZWxk5Y+C5pWwXHJcbiAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0Q29sdW1uRGF0YVNvdXJjZSh0ZW5hbnQsIGNsYXNzTmFtZSwgdmlldywgbG9hZE9wdGlvbnMuZGF0YUZpZWxkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBwYXJhbXMgPSAnPyc7XHJcbiAgICAgICAgaWYgKGxvYWRPcHRpb25zLnNraXAgfHwgbG9hZE9wdGlvbnMudGFrZSkge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICdvZmZzZXQ9JyArIGxvYWRPcHRpb25zLnNraXA7XHJcbiAgICAgICAgICBwYXJhbXMgKz0gJyZsaW1pdD0nICsgbG9hZE9wdGlvbnMudGFrZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICdsaW1pdD0wJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxvYWRPcHRpb25zLnNvcnQpIHtcclxuICAgICAgICAgIGxldCBmaXJzdCA9IHRydWU7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IHRoaXNTb3J0IG9mIGxvYWRPcHRpb25zLnNvcnQpIHtcclxuICAgICAgICAgICAgaWYgKGZpcnN0KSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcmb3JkZXJCeT0nICsgdGhpc1NvcnQuc2VsZWN0b3I7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcsJyArIHRoaXNTb3J0LnNlbGVjdG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzU29ydC5kZXNjKSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcgZGVzYyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZmlyc3QgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGZpbHRlcjtcclxuICAgICAgICBpZiAobG9hZE9wdGlvbnMuZmlsdGVyKSB7XHJcbiAgICAgICAgICBmaWx0ZXIgPSBsb2FkT3B0aW9ucy5maWx0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChleHRyYUZpbHRlcikge1xyXG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGV4dHJhRmlsdGVyKSkge1xyXG4gICAgICAgICAgICBleHRyYUZpbHRlciA9IEpTT04ucGFyc2UoZXh0cmFGaWx0ZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGZpbHRlcikge1xyXG4gICAgICAgICAgICBmaWx0ZXIgPSBbZmlsdGVyLCAnYW5kJywgZXh0cmFGaWx0ZXJdO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZmlsdGVyID0gZXh0cmFGaWx0ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWx0ZXIpIHtcclxuICAgICAgICAgIHBhcmFtcyArPSAnJmZpbHRlcj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGZpbHRlcikpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwYXJhbXMgKz0gJyZ2aWV3PScgKyAodmlldyB8fCAnJyk7XHJcbiAgICAgICAgaWYgKGRhdGFHcmlkTmFtZSkge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICcmZGF0YUdyaWROYW1lPScgKyBkYXRhR3JpZE5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXRNYW55KHRlbmFudCwgY2xhc3NOYW1lLCBwYXJhbXMpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
381
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9kYXRhLWdyaWQvZGF0YS1ncmlkLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU01QixZQUFPLEdBQVE7WUFDckIsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7YUFDcEU7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGdCQUFnQixFQUFFLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQzthQUNwRTtZQUNELE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsU0FBUztnQkFDbkIsZ0JBQWdCLEVBQUUsRUFBRTthQUNyQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUM7YUFDL0Q7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sUUFBUSxFQUFFLFFBQVE7Z0JBQ2xC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QkFDRCxJQUFJLFdBQVcsRUFBRTtvQkFDZixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTt3QkFDL0IsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7cUJBQ3ZDO29CQUNELElBQUksTUFBTSxFQUFFO3dCQUNWLE1BQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7cUJBQ3ZDO3lCQUFNO3dCQUNMLE1BQU0sR0FBRyxXQUFXLENBQUM7cUJBQ3RCO2lCQUNGO2dCQUNELElBQUksTUFBTSxFQUFFO29CQUNWLE1BQU0sSUFBSSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUNuRTtnQkFDRCxNQUFNLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLFlBQVksRUFBRTtvQkFDaEIsTUFBTSxJQUFJLGdCQUFnQixHQUFHLFlBQVksQ0FBQztpQkFDM0M7Z0JBQ0QsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzs2R0ExV1UsZUFBZTtpSEFBZixlQUFlLGNBRmQsTUFBTTs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDdXN0b21TdG9yZSBmcm9tIFwiZGV2ZXh0cmVtZS9kYXRhL2N1c3RvbV9zdG9yZVwiO1xyXG5pbXBvcnQge2xhc3RWYWx1ZUZyb20sIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtDb2x1bW59IGZyb20gXCJkZXZleHRyZW1lL3VpL2RhdGFfZ3JpZFwiO1xyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7RGF0YUdyaWRTZXJ2aWNlfSBmcm9tIFwiLi9kYXRhLWdyaWQuc2VydmljZVwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YUdyaWRGYWN0b3J5IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHRoaXMuc2VydmljZSA9IG5ldyBEYXRhR3JpZFNlcnZpY2UoaHR0cCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlcnZpY2UhOiBEYXRhR3JpZFNlcnZpY2U7XHJcblxyXG4gIHByaXZhdGUgdHlwZU1hcDogYW55ID0ge1xyXG4gICAgU1RSSU5HOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcclxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogWydjb250YWlucycsICdzdGFydHN3aXRoJywgJ2VuZHN3aXRoJywgJz0nLCAnPD4nXVxyXG4gICAgfSxcclxuICAgIFRFWFQ6IHtcclxuICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJ2NvbnRhaW5zJywgJ3N0YXJ0c3dpdGgnLCAnZW5kc3dpdGgnLCAnPScsICc8PiddXHJcbiAgICB9LFxyXG4gICAgQk9PTEVBTjoge1xyXG4gICAgICBkYXRhVHlwZTogJ2Jvb2xlYW4nLFxyXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbXVxyXG4gICAgfSxcclxuICAgIElOVEVHRVI6IHtcclxuICAgICAgZGF0YVR5cGU6ICdudW1iZXInLFxyXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJz0nLCAnPD4nLCAnPicsICc+PScsICc8JywgJzw9JywgJ2JldHdlZW4nXVxyXG4gICAgfSxcclxuICAgIERPVUJMRToge1xyXG4gICAgICBkYXRhVHlwZTogJ251bWJlcicsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnPScsICc8PicsICc+JywgJz49JywgJzwnLCAnPD0nLCAnYmV0d2VlbiddXHJcbiAgICB9LFxyXG4gICAgREFURToge1xyXG4gICAgICBkYXRhVHlwZTogJ2RhdGUnLFxyXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJz0nLCAnPD4nLCAnPicsICc+PScsICc8JywgJzw9JywgJ2JldHdlZW4nXSxcclxuICAgICAgZm9ybWF0OiAneXl5eS9NTS9kZCdcclxuICAgIH0sXHJcbiAgICBEQVRFVElNRToge1xyXG4gICAgICBkYXRhVHlwZTogJ2RhdGV0aW1lJyxcclxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogWyc+JywgJzwnLCAnYmV0d2VlbiddLFxyXG4gICAgICBmb3JtYXQ6ICd5eXl5L01NL2RkIEhIOm1tOnNzJ1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBtYWtlRGF0YUdyaWRDb2x1bW5zKHRlbmFudDogYW55LCBjbGFzc05hbWU6IGFueSwgdmlldzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0TWV0YWRhdGFCeVZpZXcodGVuYW50LCBjbGFzc05hbWUsIHZpZXcgfHwgJycpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbHVtbnMgPSBbXTtcclxuICAgICAgZm9yIChsZXQgZmllbGQgb2YgcmVzcG9uc2UuZGF0YS5jb2x1bW5zKSB7XHJcbiAgICAgICAgbGV0IGNvbHVtbjogYW55ID0ge1xyXG4gICAgICAgICAgZGF0YUZpZWxkOiBmaWVsZC5uYW1lLFxyXG4gICAgICAgICAgY2FwdGlvbjogZmllbGQuY2FwdGlvbixcclxuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcclxuICAgICAgICAgIGFsaWdubWVudDogJ2xlZnQnLFxyXG4gICAgICAgICAgYWxsb3dIZWFkZXJGaWx0ZXJpbmc6IHRydWUsXHJcbiAgICAgICAgICBhbGxvd0ZpbHRlcmluZzogdHJ1ZSxcclxuICAgICAgICAgIGFsbG93U29ydGluZzogdHJ1ZSxcclxuICAgICAgICAgIHZpc2libGU6IGZpZWxkLnZpc2libGUsXHJcbiAgICAgICAgICBmaXhlZDogZmllbGQuZml4ZWRcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChmaWVsZC52aWV3Q29uZmlnLmNvbHVtbldpZHRoKSB7XHJcbiAgICAgICAgICBjb2x1bW4ud2lkdGggPSBmaWVsZC52aWV3Q29uZmlnLmNvbHVtbldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmllbGQudmlld0NvbmZpZy5hbGlnbkNlbnRlcikge1xyXG4gICAgICAgICAgY29sdW1uLmFsaWdubWVudCA9ICdjZW50ZXInO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmllbGQudmlld0NvbmZpZy5jb21wb25lbnQpIHtcclxuICAgICAgICAgIGNvbHVtbi5jZWxsVGVtcGxhdGUgPSAnY2VsbENvbXBvbmVudFRlbXBsYXRlJztcclxuICAgICAgICAgIGNvbHVtbi5jb25maWcgPSBmaWVsZC5jb25maWc7XHJcbiAgICAgICAgICBjb2x1bW4udmlld0NvbmZpZyA9IGZpZWxkLnZpZXdDb25maWc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xyXG4gICAgICAgICAgY2FzZSAnRklMRSc6XHJcbiAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29sdW1uLmFsbG93U29ydGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ05PUk1BTCc6XHJcbiAgICAgICAgICAgIGNvbHVtbi5kYXRhVHlwZSA9IHRoaXMudHlwZU1hcFtmaWVsZC5kYXRhVHlwZV0uZGF0YVR5cGU7XHJcbiAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJGaWx0ZXIgPSB7XHJcbiAgICAgICAgICAgICAgYWxsb3dTZWxlY3RBbGw6IGZhbHNlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGNvbHVtbi5maWx0ZXJPcGVyYXRpb25zID0gdGhpcy50eXBlTWFwW2ZpZWxkLmRhdGFUeXBlXS5maWx0ZXJPcGVyYXRpb25zO1xyXG4gICAgICAgICAgICBjb2x1bW4uZm9ybWF0ID0gdGhpcy50eXBlTWFwW2ZpZWxkLmRhdGFUeXBlXS5mb3JtYXQ7XHJcbiAgICAgICAgICAgIHN3aXRjaCAoZmllbGQuZGF0YVR5cGUpIHtcclxuICAgICAgICAgICAgICBjYXNlICdCT09MRUFOJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLmFsaWdubWVudCA9ICdjZW50ZXInO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLnRydWVUZXh0ID0gJ+aYryc7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uZmFsc2VUZXh0ID0gJ+WQpic7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBjYXNlICdEQVRFJzpcclxuICAgICAgICAgICAgICBjYXNlICdEQVRFVElNRSc6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uaGVhZGVyRmlsdGVyLmRhdGFTb3VyY2UgPSAob3B0aW9uczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZGF0YVNvdXJjZS5ncm91cC5sZW5ndGggPSAzO1xyXG4gICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFTb3VyY2UucG9zdFByb2Nlc3MgPSAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5mb3JFYWNoKCh5ZWFyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHllYXIudGV4dCA9IHllYXIua2V5ICsgJ+W5tCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICB5ZWFyLml0ZW1zLmZvckVhY2goKG1vbnRoOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9udGgudGV4dCA9IG1vbnRoLmtleSArICfmnIgnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aC5pdGVtcy5mb3JFYWNoKChkYXk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRheS50ZXh0ID0gZGF5LmtleSArICfml6UnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRheS5pdGVtcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEudW5zaGlmdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnKOepuueZvSknXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgY2FzZSAnRE9VQkxFJzpcclxuICAgICAgICAgICAgICBjYXNlICdJTlRFR0VSJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJGaWx0ZXIuZGF0YVNvdXJjZSA9IChvcHRpb25zOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgb3B0aW9ucy5kYXRhU291cmNlLnBvc3RQcm9jZXNzID0gKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEudW5zaGlmdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnKOepuueZvSknXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJ19fJyxcclxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ19fJyxcclxuICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLmFsaWdubWVudCA9ICdyaWdodCc7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBjYXNlICdTVFJJTkcnOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0gKG9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFTb3VyY2UucG9zdFByb2Nlc3MgPSAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS51bnNoaWZ0KHtcclxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICco56m655m9KSdcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAga2V5OiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdfXycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50LnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnVVNFUic6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbi52aWV3Q29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4udmlld0NvbmZpZy5jb21wb25lbnRDb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbHVtbi52aWV3Q29uZmlnLmNvbXBvbmVudENvbmZpZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxGaWVsZDogZmllbGQubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0VXNlckNvbHVtbkRhdGFTb3VyY2UodGVuYW50LCBjbGFzc05hbWUsIHZpZXcsIGZpZWxkLm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICc9JywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgJ2NvbnRhaW5zJywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmRhdGFGaWVsZCA9ICdfXycgKyBmaWVsZC5uYW1lICsgJ1xcdTAwMDFVc2VyX2Rpc3BsYXlOYW1lJztcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IGFueSwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gJ2hlYWRlckZpbHRlcicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQgPSAnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVXNlcl91c2VybmFtZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uLCB0YXJnZXRdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uLm5hbWUsIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uLCBmaWx0ZXJWYWx1ZV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbJ19fJyArIGZpZWxkLm5hbWUgKyAnXFx1MDAwMVVzZXJfdXNlcm5hbWUnLCBzZWxlY3RlZEZpbHRlck9wZXJhdGlvbiwgZmlsdGVyVmFsdWVdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnVU5JVCc6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbi52aWV3Q29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4udmlld0NvbmZpZy5jb21wb25lbnRDb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbHVtbi52aWV3Q29uZmlnLmNvbXBvbmVudENvbmZpZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxGaWVsZDogZmllbGQubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0VW5pdENvbHVtbkRhdGFTb3VyY2UodGVuYW50LCBjbGFzc05hbWUsIHZpZXcsIGZpZWxkLm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICc9JywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgJ2NvbnRhaW5zJywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmRhdGFGaWVsZCA9ICdfXycgKyBmaWVsZC5uYW1lICsgJ1xcdTAwMDFVbml0X2Rpc3BsYXlOYW1lJztcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gJ2hlYWRlckZpbHRlcicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQgPSAnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVW5pdF9uYW1lJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIHRhcmdldF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW4ubmFtZSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIGZpbHRlclZhbHVlXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnb3InLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFsnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVW5pdF9uYW1lJywgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIGZpbHRlclZhbHVlXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ0NVU1RPTSc6XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0Q29uc3RyYWludENvbHVtbkRhdGFTb3VyY2UodGVuYW50LCBjbGFzc05hbWUsIHZpZXcsIGZpZWxkLm5hbWUsIGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmxvb2t1cCA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLmdldENvbnN0cmFpbnRFbnRyaWVzKHRlbmFudCwgZmllbGQuY29uZmlnLmNvbnN0cmFpbnQubmFtZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2luYXRlOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWVFeHByOiAnc3RvcmUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUV4cHI6ICdkaXNwbGF5J1xyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmZpbHRlck9wZXJhdGlvbnMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuY29uZmlnLmNvbnN0cmFpbnQubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICc9JywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgJ2NvbnRhaW5zJywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBjYXNlICdURVhUJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdSRUxBVElPTic6XHJcbiAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb2x1bW4uYWxsb3dTb3J0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHN3aXRjaCAoZmllbGQucmVsYXRpb25UeXBlKSB7XHJcbiAgICAgICAgICAgICAgY2FzZSAnTUFOWV9UT19PTkUnOlxyXG4gICAgICAgICAgICAgIGNhc2UgJ09ORV9UT19PTkUnOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmZpbHRlck9wZXJhdGlvbnMgPSBbJz0nXTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbHVtbnMucHVzaChjb2x1bW4pO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc3VsdC5uZXh0KGNvbHVtbnMpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1ha2VEYXRhR3JpZERhdGFTb3VyY2UodGVuYW50OiBhbnksIGNsYXNzTmFtZTogYW55LCB2aWV3OiBhbnksIGV4dHJhRmlsdGVyOiBhbnksIGtleUV4cHI/OiBzdHJpbmcsIGRhdGFHcmlkTmFtZT86IHN0cmluZyk6IEN1c3RvbVN0b3JlIHtcclxuICAgIGlmICgha2V5RXhwcikge1xyXG4gICAgICBrZXlFeHByID0gJ29pZCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEN1c3RvbVN0b3JlKHtcclxuICAgICAga2V5OiBrZXlFeHByLFxyXG4gICAgICBieUtleTogKGtleTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKCFrZXkpIHtcclxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGtleUV4cHIgPT09ICdvaWQnKSB7XHJcbiAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0T25lKHRlbmFudCwgY2xhc3NOYW1lLCBrZXkpLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXRPbmVCeUZpbHRlcih0ZW5hbnQsIGNsYXNzTmFtZSwga2V5RXhwciwga2V5LCB2aWV3KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBsb2FkOiAobG9hZE9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChsb2FkT3B0aW9ucy5kYXRhRmllbGQpIHtcclxuICAgICAgICAgIC8vIOacqumHjeWGmWhlYWRlckZpbHRlcueahGRhdGFTb3VyY2Xml7bvvIxoZWFkZXJGaWx0ZXLkvJrosIPnlKhsb2Fk5pa55rOV5Yqg6L29562b6YCJ5qCR77yM6YeN5YaZ6K+l5pa55rOV5p+l6K+i6K+l6KGo5omA5pyJ5pWw5o2uXHJcbiAgICAgICAgICAvLyDor6XmlrnlvI/lrZjlnKjpo47pmanvvIzml6Dms5Xor4bliKtEZXZFeHRyZW1l5LiA5a6a5piv6YCa6L+HaGVhZGVyRmlsdGVy6L+H5ruk5omN5a2Y5ZyoZGF0YUZpZWxk5Y+C5pWwXHJcbiAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0Q29sdW1uRGF0YVNvdXJjZSh0ZW5hbnQsIGNsYXNzTmFtZSwgdmlldywgbG9hZE9wdGlvbnMuZGF0YUZpZWxkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBwYXJhbXMgPSAnPyc7XHJcbiAgICAgICAgaWYgKGxvYWRPcHRpb25zLnNraXAgfHwgbG9hZE9wdGlvbnMudGFrZSkge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICdvZmZzZXQ9JyArIGxvYWRPcHRpb25zLnNraXA7XHJcbiAgICAgICAgICBwYXJhbXMgKz0gJyZsaW1pdD0nICsgbG9hZE9wdGlvbnMudGFrZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICdsaW1pdD0wJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxvYWRPcHRpb25zLnNvcnQpIHtcclxuICAgICAgICAgIGxldCBmaXJzdCA9IHRydWU7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IHRoaXNTb3J0IG9mIGxvYWRPcHRpb25zLnNvcnQpIHtcclxuICAgICAgICAgICAgaWYgKGZpcnN0KSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcmb3JkZXJCeT0nICsgdGhpc1NvcnQuc2VsZWN0b3I7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcsJyArIHRoaXNTb3J0LnNlbGVjdG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzU29ydC5kZXNjKSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcgZGVzYyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZmlyc3QgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGZpbHRlcjtcclxuICAgICAgICBpZiAobG9hZE9wdGlvbnMuZmlsdGVyKSB7XHJcbiAgICAgICAgICBmaWx0ZXIgPSBsb2FkT3B0aW9ucy5maWx0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChleHRyYUZpbHRlcikge1xyXG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGV4dHJhRmlsdGVyKSkge1xyXG4gICAgICAgICAgICBleHRyYUZpbHRlciA9IEpTT04ucGFyc2UoZXh0cmFGaWx0ZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGZpbHRlcikge1xyXG4gICAgICAgICAgICBmaWx0ZXIgPSBbZmlsdGVyLCAnYW5kJywgZXh0cmFGaWx0ZXJdO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZmlsdGVyID0gZXh0cmFGaWx0ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWx0ZXIpIHtcclxuICAgICAgICAgIHBhcmFtcyArPSAnJmZpbHRlcj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGZpbHRlcikpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwYXJhbXMgKz0gJyZ2aWV3PScgKyAodmlldyB8fCAnJyk7XHJcbiAgICAgICAgaWYgKGRhdGFHcmlkTmFtZSkge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICcmZGF0YUdyaWROYW1lPScgKyBkYXRhR3JpZE5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXRNYW55KHRlbmFudCwgY2xhc3NOYW1lLCBwYXJhbXMpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -119,6 +119,7 @@ export class FieldSelectorComponent {
|
|
|
119
119
|
$event.stopPropagation();
|
|
120
120
|
const findIndex = this._fields.findIndex((innerName) => innerName === field.innerName);
|
|
121
121
|
this._fields.splice(findIndex, 1);
|
|
122
|
+
this.fieldChange(this.__fields);
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
FieldSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FieldSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -141,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
141
142
|
}], fieldChanged: [{
|
|
142
143
|
type: Output
|
|
143
144
|
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZm9ybS9maWVsZC1zZWxlY3Rvci9maWVsZC1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9mb3JtL2ZpZWxkLXNlbGVjdG9yL2ZpZWxkLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0FBUXJFLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFPRSxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBSXBCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsVUFBSyxHQUFXLElBQUksQ0FBQztRQUVyQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBYTdCLGFBQVEsR0FBYSxFQUFFLENBQUM7UUFrRWxDLDRCQUF1QixHQUFHLEtBQUssQ0FBQztLQStCakM7SUE1R0MsSUFBSSxPQUFPLENBQUMsUUFBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBSUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDckIs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QUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBYyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDOztvSEEzSFUsc0JBQXNCO3dHQUF0QixzQkFBc0IsNE9DUm5DLHF2R0ErREE7NEZEdkRhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBTTdCLFNBQVM7c0JBRFIsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEeERyb3BEb3duQm94Q29tcG9uZW50fSBmcm9tIFwiZGV2ZXh0cmVtZS1hbmd1bGFyXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLWZpZWxkLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNlbGVjdG9yQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZmllbGRUcmVlOiBhbnkgPSBbXTtcbiAgQElucHV0KClcbiAgY29uZmlnOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmcgPSAn5bGe5oCnJztcbiAgQElucHV0KClcbiAgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQE91dHB1dCgpXG4gIGZpZWxkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHNldCBfZmllbGRzKF9fZmllbGRzOiBhbnkpIHtcbiAgICBpZiAodGhpcy5fX2ZpZWxkcyAhPT0gX19maWVsZHMpIHtcbiAgICAgIHRoaXMuX19maWVsZHMgPSBfX2ZpZWxkcztcbiAgICAgIHRoaXMuZmllbGRDaGFuZ2UodGhpcy5fX2ZpZWxkcyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IF9maWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX19maWVsZHM7XG4gIH1cblxuICBwcm90ZWN0ZWQgX19maWVsZHM6IHN0cmluZ1tdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmZpZWxkKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmNvbmZpZy5maWVsZCkpIHtcbiAgICAgICAgdGhpcy5fZmllbGRzID0gdGhpcy5jb25maWcuZmllbGQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9maWVsZHMgPSBbdGhpcy5jb25maWcuZmllbGRdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZpZWxkQ2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jb25maWcuX19mb3JtQXR0cmlidXRlID0gdmFsdWUuam9pbignOycpO1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5jb25maWcuZmllbGQgPSB2YWx1ZTtcbiAgICAgICAgY29uc3QgZmllbGRzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgZmllbGROYW1lIG9mIHZhbHVlKSB7XG4gICAgICAgICAgZmllbGRzLnB1c2godGhpcy5nZXRGaWVsZCh0aGlzLmZpZWxkVHJlZSwgZmllbGROYW1lKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWVsZENoYW5nZWQuZW1pdChmaWVsZHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25maWcuZmllbGQgPSB2YWx1ZVswXTtcbiAgICAgICAgdGhpcy5maWVsZENoYW5nZWQuZW1pdCh0aGlzLmdldEZpZWxkKHRoaXMuZmllbGRUcmVlLCB2YWx1ZVswXSkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbmZpZy5maWVsZCA9ICcnO1xuICAgICAgdGhpcy5jb25maWcuX19mb3JtQXR0cmlidXRlID0gJyc7XG4gICAgICB0aGlzLmZpZWxkQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWVsZCh0cmVlOiBhbnksIGZpZWxkOiBhbnkpIHtcbiAgICBmb3IgKGNvbnN0IG5vZGUgb2YgdHJlZSkge1xuICAgICAgaWYgKG5vZGUuaW5uZXJOYW1lID09PSBmaWVsZCkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0gdGhpcy5nZXRGaWVsZChub2RlLmNoaWxkcmVuLCBmaWVsZCk7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBvblJvd1ByZXBhcmVkKCRldmVudDogYW55KSB7XG4gICAgaWYgKCRldmVudC5yb3dUeXBlID09PSAnaGVhZGVyJykge1xuICAgICAgJGV2ZW50LnJvd0VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG4gIH1cblxuICBvbkNlbGxQcmVwYXJlZCgkZXZlbnQ6IGFueSkge1xuICAgIGlmICgkZXZlbnQucm93VHlwZSA9PT0gJ2RhdGEnKSB7XG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgJGV2ZW50LmNlbGxFbGVtZW50LnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmICEkZXZlbnQudmlzaWJsZSAmJiAkZXZlbnQuZGF0YS5oYXNJdGVtcykge1xuICAgICAgICBjb25zdCBjaGVja2JveCA9ICRldmVudC5jZWxsRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZHgtc2VsZWN0LWNoZWNrYm94Jyk7XG4gICAgICAgIGNoZWNrYm94LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3VzcGVuZFNlbGVjdGlvbkNoYW5nZWQgPSBmYWxzZTtcblxuICBvblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50OiBhbnksIGRyb3BEb3duQm94OiBEeERyb3BEb3duQm94Q29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3VzcGVuZFNlbGVjdGlvbkNoYW5nZWQpIHtcbiAgICAgIHRoaXMuc3VzcGVuZFNlbGVjdGlvbkNoYW5nZWQgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCRldmVudC5zZWxlY3RlZFJvd3NEYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoISRldmVudC5zZWxlY3RlZFJvd3NEYXRhWzBdLnZpc2libGUgJiYgJGV2ZW50LnNlbGVjdGVkUm93c0RhdGFbMF0uaGFzSXRlbXMpIHtcbiAgICAgIGlmICgkZXZlbnQuY29tcG9uZW50LmlzUm93RXhwYW5kZWQoJGV2ZW50LnNlbGVjdGVkUm93S2V5c1swXSkpIHtcbiAgICAgICAgJGV2ZW50LmNvbXBvbmVudC5jb2xsYXBzZVJvdygkZXZlbnQuc2VsZWN0ZWRSb3dLZXlzWzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRldmVudC5jb21wb25lbnQuZXhwYW5kUm93KCRldmVudC5zZWxlY3RlZFJvd0tleXNbMF0pO1xuICAgICAgfVxuICAgICAgdGhpcy5zdXNwZW5kU2VsZWN0aW9uQ2hhbmdlZCA9IHRydWU7XG4gICAgICAkZXZlbnQuY29tcG9uZW50LnNlbGVjdFJvd3MoJGV2ZW50LmN1cnJlbnREZXNlbGVjdGVkUm93S2V5c1swXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGRyb3BEb3duQm94Lmluc3RhbmNlLmNsb3NlKCk7XG4gIH1cblxuICByZW1vdmVJdGVtKCRldmVudDogYW55LCBmaWVsZDogYW55KSB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IGZpbmRJbmRleCA9IHRoaXMuX2ZpZWxkcy5maW5kSW5kZXgoKGlubmVyTmFtZTogYW55KSA9PiBpbm5lck5hbWUgPT09IGZpZWxkLmlubmVyTmFtZSk7XG4gICAgdGhpcy5fZmllbGRzLnNwbGljZShmaW5kSW5kZXgsIDEpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZHgtZmllbGRcIj5cbiAgPGRpdiBjbGFzcz1cImR4LWZpZWxkLWxhYmVsXCI+XG4gICAgPHNwYW4+5bGe5oCnPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtbWFya1wiICpuZ0lmPVwicmVxdWlyZWRcIj4mbmJzcDsqPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImR4LWZpZWxkLXZhbHVlXCI+XG4gICAgPGR4LWRyb3AtZG93bi1ib3ggI2ZpZWxkRHJvcERvd25Cb3hcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJmaWVsZFRyZWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRXhwcj1cImlubmVyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRUZW1wbGF0ZT1cImZpZWxkVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUZW1wbGF0ZT1cImNvbnRlbnRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZHJvcERvd25PcHRpb25zXT1cInttYXhIZWlnaHQ6ICdub25lJywgZGVmZXJSZW5kZXJpbmc6IGZhbHNlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCI+XG4gICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGluZm8gb2YgJ2ZpZWxkVGVtcGxhdGUnXCI+XG4gICAgICAgIDxkeC10ZXh0LWJveCBbdmlzaWJsZV09XCJmYWxzZVwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgIDxkeC10YWctYm94IFtkYXRhU291cmNlXT1cImZpZWxkVHJlZVwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlRXhwcj1cImlubmVyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgIFtvcGVuT25GaWVsZENsaWNrXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb2FzdC10YWctc2VsZWN0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkb25seVwiPlxuICAgICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZmllbGQgb2YgJ3RhZydcIj5cbiAgICAgICAgICAgIDxkeC1idXR0b24gW2VsZW1lbnRBdHRyXT1cInsgY2xhc3M6ICdpdGVtJ31cIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgZmllbGQuY2FwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPGkgKm5nSWY9XCJtdWx0aXBsZSAmJiAhcmVhZG9ubHlcIiBjbGFzcz1cImNvYXN0LWljb24tY2xvc2VcIiAoY2xpY2spPVwicmVtb3ZlSXRlbSgkZXZlbnQsIGZpZWxkKVwiPjwvaT5cbiAgICAgICAgICAgIDwvZHgtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2R4LXRhZy1ib3g+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudFRlbXBsYXRlJ1wiPlxuICAgICAgICA8ZHgtdGV4dC1ib3ggbW9kZT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwi5pCc57SiLi4uXCIgdmFsdWVDaGFuZ2VFdmVudD1cImtleXVwXCJcbiAgICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJkeFRyZWVMaXN0Lmluc3RhbmNlLnNlYXJjaEJ5VGV4dCgkZXZlbnQudmFsdWUpXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgPGR4LXRyZWUtbGlzdCAjZHhUcmVlTGlzdFxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImZpZWxkVHJlZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlclZhbHVlXT1cIlsndmlzaWJsZScsJz0nLHRydWVdXCJcbiAgICAgICAgICAgICAgICAgICAgICBrZXlFeHByPVwiaW5uZXJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZEV4cHI9XCJwYXJlbnRJbm5lck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFsoc2VsZWN0ZWRSb3dLZXlzKV09XCJfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjM2MFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0JvcmRlcnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAob25Sb3dQcmVwYXJlZCk9XCJvblJvd1ByZXBhcmVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIChvbkNlbGxQcmVwYXJlZCk9XCJvbkNlbGxQcmVwYXJlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQsIGZpZWxkRHJvcERvd25Cb3gpXCI+XG4gICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwiaW5uZXJOYW1lXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbdmlzaWJsZV09XCJmYWxzZVwiPjwvZHhpLWNvbHVtbj5cbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJjYXB0aW9uXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBjYXB0aW9uPVwi5ZCN56ewXCI+PC9keGktY29sdW1uPlxuICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInZpc2libGVcIiBkYXRhVHlwZT1cImJvb2xlYW5cIiBbdmlzaWJsZV09XCJmYWxzZVwiPjwvZHhpLWNvbHVtbj5cbiAgICAgICAgICA8ZHhvLXNlbGVjdGlvbiBbbW9kZV09XCJtdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJ1wiIFthbGxvd1NlbGVjdEFsbF09XCJmYWxzZVwiPjwvZHhvLXNlbGVjdGlvbj5cbiAgICAgICAgICA8ZHhvLXNjcm9sbGluZyBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+PC9keG8tc2Nyb2xsaW5nPlxuICAgICAgICA8L2R4LXRyZWUtbGlzdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGR4LXZhbGlkYXRvcj5cbiAgICAgICAgPGR4aS12YWxpZGF0aW9uLXJ1bGUgKm5nSWY9XCJyZXF1aXJlZFwiIHR5cGU9XCJyZXF1aXJlZFwiIG1lc3NhZ2U9XCLlgLzkuI3og73kuLrnqbpcIj48L2R4aS12YWxpZGF0aW9uLXJ1bGU+XG4gICAgICA8L2R4LXZhbGlkYXRvcj5cbiAgICA8L2R4LWRyb3AtZG93bi1ib3g+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZm9ybS9maWVsZC1zZWxlY3Rvci9maWVsZC1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9mb3JtL2ZpZWxkLXNlbGVjdG9yL2ZpZWxkLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0FBUXJFLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFPRSxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBSXBCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsVUFBSyxHQUFXLElBQUksQ0FBQztRQUVyQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBYTdCLGFBQVEsR0FBYSxFQUFFLENBQUM7UUFrRWxDLDRCQUF1QixHQUFHLEtBQUssQ0FBQztLQWdDakM7SUE3R0MsSUFBSSxPQUFPLENBQUMsUUFBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBSUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDckIs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QUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBYyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDOztvSEE1SFUsc0JBQXNCO3dHQUF0QixzQkFBc0IsNE9DUm5DLHF2R0ErREE7NEZEdkRhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBTTdCLFNBQVM7c0JBRFIsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEeERyb3BEb3duQm94Q29tcG9uZW50fSBmcm9tIFwiZGV2ZXh0cmVtZS1hbmd1bGFyXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLWZpZWxkLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNlbGVjdG9yQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZmllbGRUcmVlOiBhbnkgPSBbXTtcbiAgQElucHV0KClcbiAgY29uZmlnOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmcgPSAn5bGe5oCnJztcbiAgQElucHV0KClcbiAgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQE91dHB1dCgpXG4gIGZpZWxkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHNldCBfZmllbGRzKF9fZmllbGRzOiBhbnkpIHtcbiAgICBpZiAodGhpcy5fX2ZpZWxkcyAhPT0gX19maWVsZHMpIHtcbiAgICAgIHRoaXMuX19maWVsZHMgPSBfX2ZpZWxkcztcbiAgICAgIHRoaXMuZmllbGRDaGFuZ2UodGhpcy5fX2ZpZWxkcyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IF9maWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX19maWVsZHM7XG4gIH1cblxuICBwcm90ZWN0ZWQgX19maWVsZHM6IHN0cmluZ1tdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmZpZWxkKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmNvbmZpZy5maWVsZCkpIHtcbiAgICAgICAgdGhpcy5fZmllbGRzID0gdGhpcy5jb25maWcuZmllbGQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9maWVsZHMgPSBbdGhpcy5jb25maWcuZmllbGRdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZpZWxkQ2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jb25maWcuX19mb3JtQXR0cmlidXRlID0gdmFsdWUuam9pbignOycpO1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5jb25maWcuZmllbGQgPSB2YWx1ZTtcbiAgICAgICAgY29uc3QgZmllbGRzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgZmllbGROYW1lIG9mIHZhbHVlKSB7XG4gICAgICAgICAgZmllbGRzLnB1c2godGhpcy5nZXRGaWVsZCh0aGlzLmZpZWxkVHJlZSwgZmllbGROYW1lKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWVsZENoYW5nZWQuZW1pdChmaWVsZHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25maWcuZmllbGQgPSB2YWx1ZVswXTtcbiAgICAgICAgdGhpcy5maWVsZENoYW5nZWQuZW1pdCh0aGlzLmdldEZpZWxkKHRoaXMuZmllbGRUcmVlLCB2YWx1ZVswXSkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbmZpZy5maWVsZCA9ICcnO1xuICAgICAgdGhpcy5jb25maWcuX19mb3JtQXR0cmlidXRlID0gJyc7XG4gICAgICB0aGlzLmZpZWxkQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWVsZCh0cmVlOiBhbnksIGZpZWxkOiBhbnkpIHtcbiAgICBmb3IgKGNvbnN0IG5vZGUgb2YgdHJlZSkge1xuICAgICAgaWYgKG5vZGUuaW5uZXJOYW1lID09PSBmaWVsZCkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0gdGhpcy5nZXRGaWVsZChub2RlLmNoaWxkcmVuLCBmaWVsZCk7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBvblJvd1ByZXBhcmVkKCRldmVudDogYW55KSB7XG4gICAgaWYgKCRldmVudC5yb3dUeXBlID09PSAnaGVhZGVyJykge1xuICAgICAgJGV2ZW50LnJvd0VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG4gIH1cblxuICBvbkNlbGxQcmVwYXJlZCgkZXZlbnQ6IGFueSkge1xuICAgIGlmICgkZXZlbnQucm93VHlwZSA9PT0gJ2RhdGEnKSB7XG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgJGV2ZW50LmNlbGxFbGVtZW50LnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmICEkZXZlbnQudmlzaWJsZSAmJiAkZXZlbnQuZGF0YS5oYXNJdGVtcykge1xuICAgICAgICBjb25zdCBjaGVja2JveCA9ICRldmVudC5jZWxsRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZHgtc2VsZWN0LWNoZWNrYm94Jyk7XG4gICAgICAgIGNoZWNrYm94LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3VzcGVuZFNlbGVjdGlvbkNoYW5nZWQgPSBmYWxzZTtcblxuICBvblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50OiBhbnksIGRyb3BEb3duQm94OiBEeERyb3BEb3duQm94Q29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3VzcGVuZFNlbGVjdGlvbkNoYW5nZWQpIHtcbiAgICAgIHRoaXMuc3VzcGVuZFNlbGVjdGlvbkNoYW5nZWQgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCRldmVudC5zZWxlY3RlZFJvd3NEYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoISRldmVudC5zZWxlY3RlZFJvd3NEYXRhWzBdLnZpc2libGUgJiYgJGV2ZW50LnNlbGVjdGVkUm93c0RhdGFbMF0uaGFzSXRlbXMpIHtcbiAgICAgIGlmICgkZXZlbnQuY29tcG9uZW50LmlzUm93RXhwYW5kZWQoJGV2ZW50LnNlbGVjdGVkUm93S2V5c1swXSkpIHtcbiAgICAgICAgJGV2ZW50LmNvbXBvbmVudC5jb2xsYXBzZVJvdygkZXZlbnQuc2VsZWN0ZWRSb3dLZXlzWzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRldmVudC5jb21wb25lbnQuZXhwYW5kUm93KCRldmVudC5zZWxlY3RlZFJvd0tleXNbMF0pO1xuICAgICAgfVxuICAgICAgdGhpcy5zdXNwZW5kU2VsZWN0aW9uQ2hhbmdlZCA9IHRydWU7XG4gICAgICAkZXZlbnQuY29tcG9uZW50LnNlbGVjdFJvd3MoJGV2ZW50LmN1cnJlbnREZXNlbGVjdGVkUm93S2V5c1swXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGRyb3BEb3duQm94Lmluc3RhbmNlLmNsb3NlKCk7XG4gIH1cblxuICByZW1vdmVJdGVtKCRldmVudDogYW55LCBmaWVsZDogYW55KSB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IGZpbmRJbmRleCA9IHRoaXMuX2ZpZWxkcy5maW5kSW5kZXgoKGlubmVyTmFtZTogYW55KSA9PiBpbm5lck5hbWUgPT09IGZpZWxkLmlubmVyTmFtZSk7XG4gICAgdGhpcy5fZmllbGRzLnNwbGljZShmaW5kSW5kZXgsIDEpO1xuICAgIHRoaXMuZmllbGRDaGFuZ2UodGhpcy5fX2ZpZWxkcyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkeC1maWVsZFwiPlxuICA8ZGl2IGNsYXNzPVwiZHgtZmllbGQtbGFiZWxcIj5cbiAgICA8c3Bhbj7lsZ7mgKc8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC1tYXJrXCIgKm5nSWY9XCJyZXF1aXJlZFwiPiZuYnNwOyo8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZHgtZmllbGQtdmFsdWVcIj5cbiAgICA8ZHgtZHJvcC1kb3duLWJveCAjZmllbGREcm9wRG93bkJveFxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImZpZWxkVHJlZVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWVFeHByPVwiaW5uZXJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWVsZFRlbXBsYXRlPVwiZmllbGRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgY29udGVudFRlbXBsYXRlPVwiY29udGVudFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0NsZWFyQnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkcm9wRG93bk9wdGlvbnNdPVwie21heEhlaWdodDogJ25vbmUnLCBkZWZlclJlbmRlcmluZzogZmFsc2V9XCJcbiAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHlcIj5cbiAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgaW5mbyBvZiAnZmllbGRUZW1wbGF0ZSdcIj5cbiAgICAgICAgPGR4LXRleHQtYm94IFt2aXNpYmxlXT1cImZhbHNlXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgPGR4LXRhZy1ib3ggW2RhdGFTb3VyY2VdPVwiZmllbGRUcmVlXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVFeHByPVwiaW5uZXJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgW29wZW5PbkZpZWxkQ2xpY2tdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvYXN0LXRhZy1zZWxlY3Rvcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCI+XG4gICAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBmaWVsZCBvZiAndGFnJ1wiPlxuICAgICAgICAgICAgPGR4LWJ1dHRvbiBbZWxlbWVudEF0dHJdPVwieyBjbGFzczogJ2l0ZW0nfVwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBmaWVsZC5jYXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8aSAqbmdJZj1cIm11bHRpcGxlICYmICFyZWFkb25seVwiIGNsYXNzPVwiY29hc3QtaWNvbi1jbG9zZVwiIChjbGljayk9XCJyZW1vdmVJdGVtKCRldmVudCwgZmllbGQpXCI+PC9pPlxuICAgICAgICAgICAgPC9keC1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZHgtdGFnLWJveD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBkYXRhIG9mICdjb250ZW50VGVtcGxhdGUnXCI+XG4gICAgICAgIDxkeC10ZXh0LWJveCBtb2RlPVwic2VhcmNoXCIgcGxhY2Vob2xkZXI9XCLmkJzntKIuLi5cIiB2YWx1ZUNoYW5nZUV2ZW50PVwia2V5dXBcIlxuICAgICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImR4VHJlZUxpc3QuaW5zdGFuY2Uuc2VhcmNoQnlUZXh0KCRldmVudC52YWx1ZSlcIj48L2R4LXRleHQtYm94PlxuICAgICAgICA8ZHgtdHJlZS1saXN0ICNkeFRyZWVMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZmllbGRUcmVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyVmFsdWVdPVwiWyd2aXNpYmxlJywnPScsdHJ1ZV1cIlxuICAgICAgICAgICAgICAgICAgICAgIGtleUV4cHI9XCJpbm5lck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkRXhwcj1cInBhcmVudElubmVyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhzZWxlY3RlZFJvd0tleXMpXT1cIl9maWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMzYwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Jvd0FsdGVybmF0aW9uRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIChvblJvd1ByZXBhcmVkKT1cIm9uUm93UHJlcGFyZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKG9uQ2VsbFByZXBhcmVkKT1cIm9uQ2VsbFByZXBhcmVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwib25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudCwgZmllbGREcm9wRG93bkJveClcIj5cbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJpbm5lck5hbWVcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFt2aXNpYmxlXT1cImZhbHNlXCI+PC9keGktY29sdW1uPlxuICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cImNhcHRpb25cIiBkYXRhVHlwZT1cInN0cmluZ1wiIGNhcHRpb249XCLlkI3np7BcIj48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidmlzaWJsZVwiIGRhdGFUeXBlPVwiYm9vbGVhblwiIFt2aXNpYmxlXT1cImZhbHNlXCI+PC9keGktY29sdW1uPlxuICAgICAgICAgIDxkeG8tc2VsZWN0aW9uIFttb2RlXT1cIm11bHRpcGxlID8gJ211bHRpcGxlJyA6ICdzaW5nbGUnXCIgW2FsbG93U2VsZWN0QWxsXT1cImZhbHNlXCI+PC9keG8tc2VsZWN0aW9uPlxuICAgICAgICAgIDxkeG8tc2Nyb2xsaW5nIHNob3dTY3JvbGxiYXI9XCJhbHdheXNcIj48L2R4by1zY3JvbGxpbmc+XG4gICAgICAgIDwvZHgtdHJlZS1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZHgtdmFsaWRhdG9yPlxuICAgICAgICA8ZHhpLXZhbGlkYXRpb24tcnVsZSAqbmdJZj1cInJlcXVpcmVkXCIgdHlwZT1cInJlcXVpcmVkXCIgbWVzc2FnZT1cIuWAvOS4jeiDveS4uuepulwiPjwvZHhpLXZhbGlkYXRpb24tcnVsZT5cbiAgICAgIDwvZHgtdmFsaWRhdG9yPlxuICAgIDwvZHgtZHJvcC1kb3duLWJveD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|