barsa-tiles 2.0.11 → 2.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/barsa-shellbar/barsa-shellbar.component.mjs +1 -1
- package/esm2022/lib/popover-app-finder/popover-app-finder.component.mjs +3 -13
- package/esm2022/lib/shellbar/shellbar.component.mjs +17 -8
- package/fesm2022/barsa-tiles.mjs +156 -147
- package/fesm2022/barsa-tiles.mjs.map +1 -1
- package/lib/barsa-shellbar/barsa-shellbar.component.d.ts +1 -1
- package/lib/shellbar/shellbar.component.d.ts +2 -0
- package/package.json +1 -1
|
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
195
195
|
type: ViewChild,
|
|
196
196
|
args: ['notificationsDialog', { static: true, read: TemplateRef }]
|
|
197
197
|
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etc2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9iYXJzYS1zaGVsbGJhci9iYXJzYS1zaGVsbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2JhcnNhLXNoZWxsYmFyL2JhcnNhLXNoZWxsYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUNILGlCQUFpQixFQU1wQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFDSCxhQUFhLEVBSWIsV0FBVyxFQUtkLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQWtCOUIsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGFBQWE7SUF5RXJELFlBQ1ksb0JBQXlDLEVBQ3pDLGNBQTZCLEVBQ1gsU0FBbUIsRUFDakIsVUFBa0I7UUFFOUMsS0FBSyxFQUFFLENBQUM7UUFMQSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQ3pDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQ1gsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNqQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBbER6QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUlyQiw2QkFBd0IsR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENB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ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgQ29tYm9ib3hDb21wb25lbnQsXG4gICAgRGlhbG9nU2VydmljZSxcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFByb2R1Y3RTd2l0Y2hJdGVtLFxuICAgIFNoZWxsYmFyTWVudUl0ZW0sXG4gICAgU2hlbGxiYXJVc2VyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIEZpbGVQaWN0dXJlSW5mb01vZGVsLFxuICAgIE1vRm9yUmVwb3J0TW9kZWwsXG4gICAgQVBQX1ZFUlNJT04sXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBOb3RpZmljYXRpb25JdGVtLFxuICAgIE5vdGlmaWNhdGlvbkFjdGlvbixcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemVcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbnRlcmZhY2UgU2hlbGxiYXJTZXR0aW5nIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgc3VidGl0bGU6IHN0cmluZztcbiAgICBjYWxjU3VidGl0bGU6IHN0cmluZztcbiAgICBsb2dvOiBGaWxlUGljdHVyZUluZm9Nb2RlbDtcbiAgICBQcm9kdWN0U3dpdGNoSXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgUHJvZHVjdE1lbnVJdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBVc2VyTWVudUl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIEFjdGlvbkl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2J0LWJhcnNhLXNoZWxsYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2Etc2hlbGxiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLXNoZWxsYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQmFyc2FTaGVsbGJhckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGNzc0N1c3RvbVVybDogU2FmZVJlc291cmNlVXJsIHwgbnVsbDtcbiAgICBASW5wdXQoKSBjc3NVcmw6IFNhZmVSZXNvdXJjZVVybCB8IG51bGw7XG4gICAgQElucHV0KCkgYWxsb3dBbm9ueW1vdXM6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlMYW5ndWFnZXM6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIHByb2R1Y3RNZW51Q29udHJvbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBjdWx0dXJlczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBASW5wdXQoKSBzaGVsbGJhckRhdGE6IFNoZWxsYmFyU2V0dGluZztcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25Db3VudDogeyB1bnJlYWQ6IG51bWJlcjsgYWxsOiBudW1iZXIgfTtcbiAgICBASW5wdXQoKSBub3RpZmNhdGlvbkxvYWRlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25Mb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbkl0ZW1bXTtcbiAgICBASW5wdXQoKSBwcm9kdWN0TWVudUl0ZW1zMTogU2hlbGxiYXJNZW51SXRlbVtdO1xuICAgIEBJbnB1dCgpIGJvZHlDbGljazogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxvZ286IHsgRmlsZUlkOiBzdHJpbmcgfTtcbiAgICBASW5wdXQoKSBhY3Rpb25zOiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPjtcbiAgICBASW5wdXQoKSB1c2VyTWVudTogeyB0ZXh0OiBzdHJpbmc7IGNhbGxiYWNrOiAoKSA9PiB2b2lkIH1bXTtcbiAgICBASW5wdXQoKSBwcm9kdWN0U3dpdGNoZXI6IFByb2R1Y3RTd2l0Y2hJdGVtW107XG4gICAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc01vYmlsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoaWRlU2hlbGxiYXJBY3Rpb25zOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNob3dFeHRyYUJ1dHRvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc1RhYmxldDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc0Rlc2t0b3A6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNTZXJ2aWNlRGVzayA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzT3BlblF1aWNrQWNjZXNzO1xuICAgIEBJbnB1dCgpIHNpZGVNZW51VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAT3V0cHV0KCkgaXNPcGVuUXVpY2tBY2Nlc3NDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG4gICAgQE91dHB1dCgpIG9wZW5Ob3RpZmljYXRpb25QYW5lbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgb3BlblF1aWNrQWNjZXNzUGFuZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIGN1bHR1cmVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQE91dHB1dCgpIG5vdGlmaWNhdGlvbkxvYWRNb3JlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSByZW1vdmVOb3RpZmljYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTsgc2lsZW50OiBib29sZWFuIH0+KCk7XG4gICAgQE91dHB1dCgpIG5vdGlmaWF0aW9uQWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogTm90aWZpY2F0aW9uSXRlbTsgYnRuOiBOb3RpZmljYXRpb25BY3Rpb24gfT4oKTtcbiAgICBAT3V0cHV0KCkgbm90aWZpY2F0aW9uVmlld2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOb3RpZmljYXRpb25JdGVtPigpO1xuXG4gICAgQFZpZXdDaGlsZChDb21ib2JveENvbXBvbmVudCkgY29tYm9ib3hDb21wb25lbnQ6IENvbWJvYm94Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ3BvcG92ZXJDb21wb25lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wb3ZlckNvbXBvbmVudDogUG9wb3ZlckNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdub3RpZmljYXRpb25zRGlhbG9nJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIF9ub3RpZmljYXRpb25zRGlhbG9nOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHJpdmF0ZSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIEFycmF5ID0gQXJyYXk7XG4gICAgaXNPcGVuTm90aWZpY2F0b2luID0gZmFsc2U7XG5cbiAgICB1c2VyOiBTaGVsbGJhclVzZXIgPSB7XG4gICAgICAgIGluaXRpYWxzOiAnV1cnLFxuICAgICAgICBjb2xvckFjY2VudDogMVxuICAgIH07XG4gICAgc2VhcmNoVGVybXMgPSBbJ9mF2LHYrti124wnLCAn2YXYp9mF2YjYsduM2KonLCAn2KrbjNqp2KonLCAn2b7YsdmI2pjZhyddO1xuICAgIHNlYXJjaFRlcm06IHN0cmluZztcbiAgICBhY3Rpb25zJDogT2JzZXJ2YWJsZTxTaGVsbGJhck1lbnVJdGVtW10+O1xuXG4gICAgc2hvd1ZlcnNpb24gPSBmYWxzZTtcblxuICAgIF92aWV3ZWROb3RpZmljYXRpb25zJCA9IG5ldyBTdWJqZWN0PE5vdGlmaWNhdGlvbkl0ZW0+KCk7XG4gICAgb25CZWxsTm90aWZpY2F0aW9uID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLl9kb2N1bWVudD8uYm9keSAmJiB0aGlzLl9kb2N1bWVudC5ib2R5LmNsaWNrKCk7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2VcbiAgICAgICAgICAgIC5vcGVuKHRoaXMuX25vdGlmaWNhdGlvbnNEaWFsb2csIHtcbiAgICAgICAgICAgICAgICBtb2JpbGU6IHRydWUsXG4gICAgICAgICAgICAgICAgdmVydGljYWxQYWRkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZnRlckxvYWRlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3Blbk5vdGlmaWNhdGlvblBhbmVsLmVtaXQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH07XG4gICAgX3ZpZXdlZE5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbkl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9ub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoQVBQX1ZFUlNJT04pIHB1YmxpYyBhcHBWZXJzaW9uOiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zaG93VmVyc2lvbiA9IGZhbHNlO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc09wZW5RdWlja0FjY2Vzc0NoYW5nZWQuZW1pdChmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBvbkN1bHR1cmVDaGFuZ2UoY3VsdHVyZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGFuZ2VDdWx0dXJlKGN1bHR1cmUpO1xuICAgIH1cbiAgICBvblNob3dOb3RpZmljYXRpb24oZTogeyB0YWc6IHN0cmluZzsgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7IG5hbWE6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuTm90aWZpY2F0b2luID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2UuU2hvd05vdGlmaWNhdGlvblJlbGF0ZWRNbyhlKTtcbiAgICB9XG4gICAgb25Ob3RpZmljYXRpb25JdGVtVmlld2VkKHZpZXdlZE1vOiBOb3RpZmljYXRpb25JdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uVmlld2VkLmVtaXQodmlld2VkTW8pO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlTm90aWZpY2F0aW9ucyhlOiB7IGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107IHNpbGVudDogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlTm90aWZpY2F0aW9uLmVtaXQoZSk7XG4gICAgfVxuICAgIG9uT3BlblF1aWNrQWNjZXNzID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzT3BlblF1aWNrQWNjZXNzQ2hhbmdlZC5lbWl0KHRydWUpO1xuICAgICAgICB0aGlzLm9wZW5RdWlja0FjY2Vzc1BhbmVsLmVtaXQoKTtcbiAgICB9O1xuICAgIG9uT3Blbk5vdGlmaWNhdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc09wZW5Ob3RpZmljYXRvaW4gPSB0cnVlO1xuICAgICAgICB0aGlzLm9wZW5Ob3RpZmljYXRpb25QYW5lbC5lbWl0KCk7XG4gICAgfTtcbiAgICBvbk5vdGlmaWNhdGlvbkFjdGlvbihlOiB7IGl0ZW06IE5vdGlmaWNhdGlvbkl0ZW07IGJ0bjogTm90aWZpY2F0aW9uQWN0aW9uIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub3RpZmlhdGlvbkFjdGlvbkNsaWNrLmVtaXQoZSk7XG4gICAgfVxuICAgIG9uTGFuZ3VhZ2UgPSAoZSk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBjdWx0dXJlID0gZS5jdXJyZW50VGFyZ2V0LnRleHRDb250ZW50LnRyaW0oKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlQ3VsdHVyZShjdWx0dXJlKTtcbiAgICB9O1xuICAgIG9uTm90aWZpY2F0aW9uTG9hZE1vcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uTG9hZE1vcmUuZW1pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NoYW5nZUN1bHR1cmUoY3VsdHVyZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VsdHVyZUNoYW5nZWQuZW1pdChjdWx0dXJlKTtcbiAgICB9XG59XG4iLCJAaWYgKGNzc1VybCkge1xuPGxpbmsgdHlwZT1cInRleHQvY3NzXCIgcmVsPVwic3R5bGVzaGVldFwiIFtocmVmXT1cImNzc1VybFwiIC8+XG59IEBpZiAoY3NzQ3VzdG9tVXJsKSB7XG48bGluayB0eXBlPVwidGV4dC9jc3NcIiByZWw9XCJzdHlsZXNoZWV0XCIgW2hyZWZdPVwiY3NzQ3VzdG9tVXJsXCIgLz5cbn0gQGlmICh1c2VyTG9nZ2VkSW4gfHwgYWxsb3dBbm9ueW1vdXMpIHtcbjxmZC1zaGVsbGJhciBbc2l6ZV09XCJkZXZpY2VTaXplXCIgW25nQ2xhc3NdPVwiZGV2aWNlU2l6ZVwiPlxuICAgIEBpZiAoc2lkZU1lbnVUZW1wbGF0ZSkge1xuICAgIDxmZC1zaGVsbGJhci1hY3Rpb25cbiAgICAgICAgW2dseXBoXT1cIidhcHBzJ1wiXG4gICAgICAgIFtsYWJlbF09XCInUXVpY2sgQWNjZXNzJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIFtub3RpZmljYXRpb25Db3VudF09XCJub3RpZmljYXRpb25Db3VudC51bnJlYWQgPz8gMFwiXG4gICAgICAgIFtub3RpZmljYXRpb25MYWJlbF09XCInUXVpY2sgQWNjZXNzJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIFtjYWxsYmFja109XCJvbk9wZW5RdWlja0FjY2Vzc1wiXG4gICAgPlxuICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgIH0gQGlmIChzaWRlTWVudVRlbXBsYXRlKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBmZC1zaGVsbGJhci1zaWRlLW5hdlxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBnbHlwaD1cIm1lbnUyXCJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMi43NXJlbVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGlzT3BlblF1aWNrQWNjZXNzQ2hhbmdlZC5lbWl0KCFpc09wZW5RdWlja0FjY2VzcylcIlxuICAgID48L2J1dHRvbj5cbiAgICB9IEBpZiAobG9nbykge1xuICAgIDxmZC1zaGVsbGJhci1sb2dvPlxuICAgICAgICA8YVxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyAobG9nbz8uRmlsZUlkIHwgcGljRmllbGRTcmM6ICdHZXRQaWN0dXJlRnJvbUZpbGVJbmZvJzpudWxsKSArICcpJ1wiXG4gICAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgICBjbGFzcz1cImZkLXNoZWxsYmFyX19sb2dvIGZkLXNoZWxsYmFyX19sb2dvLS1pbWFnZS1yZXBsYWNlZFwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQmFyc2EgTm92aW4gUmF5XCJcbiAgICAgICAgPjwvYT5cbiAgICA8L2ZkLXNoZWxsYmFyLWxvZ28+XG4gICAgfSBAaWYgKCFzZXR0aW5ncz8uSGlkZVByb2R1Y3RNZW51ICYmIHByb2R1Y3RNZW51SXRlbXMxICYmIHByb2R1Y3RNZW51SXRlbXMxLmxlbmd0aCA+IDApIHtcbiAgICA8ZmQtcHJvZHVjdC1tZW51IFtjb250cm9sXT1cInByb2R1Y3RNZW51Q29udHJvbFwiIFtjbG9zZVBvcG92ZXJPblNlbGVjdF09XCJ0cnVlXCIgW2l0ZW1zXT1cInByb2R1Y3RNZW51SXRlbXMxXCI+XG4gICAgPC9mZC1wcm9kdWN0LW1lbnU+XG4gICAgfVxuICAgIDxmZC1zaGVsbGJhci1zdWJ0aXRsZT4ge3sgc3VidGl0bGUgfCBiYmJUcmFuc2xhdGUgfX17eyBzaG93VmVyc2lvbiA/IGFwcFZlcnNpb24gOiAnJyB9fTwvZmQtc2hlbGxiYXItc3VidGl0bGU+XG4gICAgQGlmICghaGlkZVNoZWxsYmFyQWN0aW9ucyYmIHVzZXIgJiYgKHVzZXJNZW51Py5sZW5ndGggfHwgIXNldHRpbmdzPy5IaWRlTGFuZ3VhZ2UpKSB7XG4gICAgPGZkLXNoZWxsYmFyLWFjdGlvbnMgW3VzZXJdPVwidXNlclwiIFt1c2VyTWVudV09XCJ1c2VyTWVudVwiICNsYW5nUmVmPlxuICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9uczsgdHJhY2sgYWN0aW9uKSB7XG4gICAgICAgIDxmZC1zaGVsbGJhci1hY3Rpb25cbiAgICAgICAgICAgIFtnbHlwaF09XCJhY3Rpb24uSWNvblwiXG4gICAgICAgICAgICBbY2FsbGJhY2tdPVwiYWN0aW9uLkNhbGxiYWNrXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJhY3Rpb24uTGFiZWxcIlxuICAgICAgICAgICAgbm90aWZpY2F0aW9uTGFiZWw9XCJsb2dpblwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1zaGVsbGJhci1hY3Rpb24+XG4gICAgICAgIH0gQGlmIChkZXZpY2VTaXplID09PSAncycgJiYgdXNlckxvZ2dlZEluICYmICFzZXR0aW5ncz8uSGlkZU5vdGlmaWNhdGlvbnMpIHtcbiAgICAgICAgPGZkLXNoZWxsYmFyLWFjdGlvblxuICAgICAgICAgICAgW2dseXBoXT1cIidiZWxsJ1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ05vdGlmaWNhdGlvbnMnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtub3RpZmljYXRpb25Db3VudF09XCJub3RpZmljYXRpb25Db3VudC51bnJlYWQgPz8gMFwiXG4gICAgICAgICAgICBbbm90aWZpY2F0aW9uTGFiZWxdPVwiJ05vdGlmaWNhdGlvbnMnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtjYWxsYmFja109XCJvbkJlbGxOb3RpZmljYXRpb25cIlxuICAgICAgICA+XG4gICAgICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgICAgICB9IEBpZiAoIXNldHRpbmdzPy5IaWRlTm90aWZpY2F0aW9ucyAmJiB1c2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgPGZkLXBvcG92ZXJcbiAgICAgICAgICAgIFsoaXNPcGVuKV09XCJpc09wZW5Ob3RpZmljYXRvaW5cIlxuICAgICAgICAgICAgW3RyaWdnZXJzXT1cIltdXCJcbiAgICAgICAgICAgIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbbm9BcnJvd109XCJ0cnVlXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICB0aXRsZT1cIk5vdGlmaWNhdGlvbiBQb3BvdmVyXCJcbiAgICAgICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW21vYmlsZV09XCJkZXZpY2VTaXplID09PSAncydcIlxuICAgICAgICAgICAgI3BvcG92ZXJDb21wb25lbnRcbiAgICAgICAgPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICA8ZmQtc2hlbGxiYXItYWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCInYmVsbCdcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ05vdGlmaWNhdGlvbidcIlxuICAgICAgICAgICAgICAgICAgICBbbm90aWZpY2F0aW9uQ291bnRdPVwibm90aWZpY2F0aW9uQ291bnQudW5yZWFkXCJcbiAgICAgICAgICAgICAgICAgICAgW25vdGlmaWNhdGlvbkxhYmVsXT1cIidOb3RpZmljYXRpb24gTGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhbGxiYWNrXT1cIm9uT3Blbk5vdGlmaWNhdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IHN0eWxlPVwibWluLXdpZHRoOiAzMjBweDsgb3ZlcmZsb3cteDogYXV0bzsgYm94LXNoYWRvdzogdmFyKC0tc2FwQ29udGVudF9TaGFkb3cwKVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub3RpZmljYXRpb25Hcm91cFRwbDsgY29udGV4dDogeyBub3RpZmljYXRpb25Db3VudDogbm90aWZpY2F0aW9uQ291bnQgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgfSBAaWYgKCFzZXR0aW5ncz8uSGlkZUxhbmd1YWdlICYmIGRldmljZVNpemUgIT09ICdzJyAmJiBtdWx0aUxhbmd1YWdlcykge1xuICAgICAgICA8ZmQtc2hlbGxiYXItYWN0aW9uIFtnbHlwaF09XCInd29ybGQnXCIgW2xhYmVsXT1cIidsYW5ndWFnZSdcIiBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCIgKGNhbGxiYWNrKT1cIihvbkxhbmd1YWdlKVwiPlxuICAgICAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbj5cbiAgICAgICAgfSBAaWYgKCFzZXR0aW5ncz8uSGlkZUxhbmd1YWdlICYmIGRldmljZVNpemUgPT09ICdzJyAmJiBtdWx0aUxhbmd1YWdlcykgeyBAZm9yIChjdWx0dXJlIG9mIGN1bHR1cmVzIHwga2V5dmFsdWU7XG4gICAgICAgIHRyYWNrIGN1bHR1cmUpIHtcbiAgICAgICAgPGZkLXNoZWxsYmFyLWFjdGlvblxuICAgICAgICAgICAgW2xhYmVsXT1cImN1bHR1cmUudmFsdWVcIlxuICAgICAgICAgICAgW2NhbGxiYWNrXT1cIm9uTGFuZ3VhZ2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJjdWx0dXJlLWFiYnJpdmF0aW9uXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCJjdWx0dXJlLmtleVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCInZmxhZ3MnXCJcbiAgICAgICAgPlxuICAgICAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbj5cbiAgICAgICAgfSB9IEBpZiAocHJvZHVjdFN3aXRjaGVyPy5sZW5ndGgpIHtcbiAgICAgICAgPGZkLXByb2R1Y3Qtc3dpdGNoPlxuICAgICAgICAgICAgPGZkLXByb2R1Y3Qtc3dpdGNoLWJvZHkgW3Byb2R1Y3RzXT1cInByb2R1Y3RTd2l0Y2hlclwiIFtmb3JjZUxpc3RNb2RlXT1cImRldmljZVNpemUgPT09ICdzJ1wiPlxuICAgICAgICAgICAgPC9mZC1wcm9kdWN0LXN3aXRjaC1ib2R5PlxuICAgICAgICA8L2ZkLXByb2R1Y3Qtc3dpdGNoPlxuICAgICAgICB9XG4gICAgPC9mZC1zaGVsbGJhci1hY3Rpb25zPlxuICAgIH1cbjwvZmQtc2hlbGxiYXI+XG59IEBpZihzaG93RXh0cmFCdXR0b24pe1xuPGRpdlxuICAgIFtjbGFzcy5mZC1zaGVsbGJhci0teGxdPVwiaXNEZXNrdG9wXCJcbiAgICBbY2xhc3MuZmQtc2hlbGxiYXItLW1dPVwiaXNUYWJsZXRcIlxuICAgIFtjbGFzcy5mZC1zaGVsbGJhci0tc109XCJpc01vYmlsZVwiXG4gICAgY2xhc3M9XCJleHRyYS1idXR0b24td3JhcHBlclwiXG4gICAgW2NsYXNzLnNlcnZpY2UtZGVza109XCJpc1NlcnZpY2VEZXNrXCJcbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJidXR0b25cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbn1cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8YnN1LW1hc2s+PC9ic3UtbWFzaz5cbjwvbmctdGVtcGxhdGU+XG5cbjxkaXZcbiAgICAqbmdJZj1cInNpZGVNZW51VGVtcGxhdGVcIlxuICAgIGNsYXNzPVwidHctZml4ZWQgdHctdG9wLVszOC41cHhdIHR3LWgtW2NhbGMoMTAwdmgtMzguNXB4KV0gdHctYmctd2hpdGUgdHctdHJhbnNpdGlvbi1hbGwgdHctei1bMTAwXSB0dy1zaGFkb3ctMnhsIHR3LW92ZXJmbG93LWF1dG9cIlxuICAgIFtjbGFzcy50dy13LXNjcmVlbl09XCJpc01vYmlsZVwiXG4gICAgW2NsYXNzLi10dy1yaWdodC1mdWxsXT1cImlzTW9iaWxlXCJcbiAgICBbY2xhc3MudHctdy05Nl09XCIhaXNNb2JpbGVcIlxuICAgIFtjbGFzcy4tdHctcmlnaHQtOTZdPVwiIWlzTW9iaWxlXCJcbiAgICBbY2xhc3MuIXR3LXJpZ2h0LTBdPVwiaXNPcGVuUXVpY2tBY2Nlc3NcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlTWVudVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuQGlmKGlzT3BlblF1aWNrQWNjZXNzKSB7XG48ZGl2XG4gICAgY2xhc3M9XCJ0dy1maXhlZCB0dy1yaWdodC0wIHR3LXRvcC1bMzguNXB4XSB0dy1oLVtjYWxjKDEwMHZoLTM4LjVweCldIHR3LWJnLXNsYXRlLTgwMC9bLjVdIHR3LXotWzkwXSB0dy13LXNjcmVlbiB0dy1iYWNrZHJvcC1ibHVyLXNtXCJcbiAgICAoY2xpY2spPVwiaXNPcGVuUXVpY2tBY2Nlc3NDaGFuZ2VkLmVtaXQoZmFsc2UpXCJcbj48L2Rpdj5cbn1cbjxmZC1tZW51ICNtZW51PlxuICAgIDx1bCBmZC1saXN0PlxuICAgICAgICBAZm9yIChjdWx0dXJlIG9mIGN1bHR1cmVzIHwga2V5dmFsdWU7IHRyYWNrIGN1bHR1cmUpIHtcbiAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwib25DdWx0dXJlQ2hhbmdlKGN1bHR1cmUudmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyB3aWR0aD1cIjE0cHhcIiBoZWlnaHQ9XCIxMnB4XCIgW3NyY109XCInL2Fzc2V0cy9mbGFncy8nICsgY3VsdHVyZS5rZXkgKyAnLnBuZydcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1bHR1cmUtYWJicml2YXRpb25cIiBbbmdDbGFzc109XCJjdWx0dXJlLmtleVwiPiB7eyBjdWx0dXJlLmtleSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICA8L3VsPlxuPC9mZC1tZW51PlxuPG5nLXRlbXBsYXRlICNub3RpZmljYXRpb25Hcm91cFRwbCBsZXQtbm90aWZpY2F0aW9uQ291bnQ9XCJub3RpZmljYXRpb25Db3VudFwiPlxuICAgIEBpZiAoIW5vdGlmY2F0aW9uTG9hZGVkICYmIG5vdGlmaWNhdGlvbkxvYWRpbmcgPT09IHRydWUpIHtcbiAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMHB4XCI+XG4gICAgICAgIDxic3UtbWFzayBzaXplPVwic1wiPjwvYnN1LW1hc2s+XG4gICAgPC9kaXY+XG4gICAgfVxuICAgIDxidC1ub3RpZmljYXRpb24tZ3JvdXBcbiAgICAgICAgW25vdGlmaWNhdGlvbnNdPVwibm90aWZpY2F0aW9uc1wiXG4gICAgICAgIFtub3RpZmljYXRpb25Db3VudF09XCJub3RpZmljYXRpb25Db3VudFwiXG4gICAgICAgIFtsb2FkaW5nXT1cIm5vdGlmaWNhdGlvbkxvYWRpbmcgPT09IHRydWVcIlxuICAgICAgICAodmlld2VkKT1cIm9uTm90aWZpY2F0aW9uSXRlbVZpZXdlZCgkZXZlbnQpXCJcbiAgICAgICAgKHJlbW92ZSk9XCJvblJlbW92ZU5vdGlmaWNhdGlvbnMoJGV2ZW50KVwiXG4gICAgICAgIChzaG93RXZlbnQpPVwicG9wb3ZlckNvbXBvbmVudC5jbG9zZSgpOyBvblNob3dOb3RpZmljYXRpb24oJGV2ZW50KVwiXG4gICAgICAgIChhY3Rpb25DbGljayk9XCJwb3BvdmVyQ29tcG9uZW50LmNsb3NlKCk7IG9uTm90aWZpY2F0aW9uQWN0aW9uKCRldmVudClcIlxuICAgICAgICAobG9hZE1vcmUpPVwib25Ob3RpZmljYXRpb25Mb2FkTW9yZSgpXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgPjwvYnQtbm90aWZpY2F0aW9uLWdyb3VwPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICNub3RpZmljYXRpb25zRGlhbG9nPlxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxoMSBpZD1cImZkLWRpYWxvZy1oZWFkZXItMTBcIiBmZC10aXRsZT57eyAnTm90aWZpY2F0aW9uJyB8IGJiYlRyYW5zbGF0ZSB9fTwvaDE+XG4gICAgICAgICAgICA8YnV0dG9uIGZkLWRpYWxvZy1jbG9zZS1idXR0b24gKGNsaWNrKT1cImRpYWxvZy5kaXNtaXNzKClcIj48L2J1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHkgY2xhc3M9XCJtb2JpbGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vdGlmaWNhdGlvbkdyb3VwVHBsOyBjb250ZXh0OiB7IG5vdGlmaWNhdGlvbkNvdW50OiBub3RpZmljYXRpb25Db3VudCB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cbiAgICA8L2ZkLWRpYWxvZz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etc2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9iYXJzYS1zaGVsbGJhci9iYXJzYS1zaGVsbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2JhcnNhLXNoZWxsYmFyL2JhcnNhLXNoZWxsYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUNILGlCQUFpQixFQU1wQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFDSCxhQUFhLEVBSWIsV0FBVyxFQUtkLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQWtCOUIsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGFBQWE7SUF5RXJELFlBQ1ksb0JBQXlDLEVBQ3pDLGNBQTZCLEVBQ1gsU0FBbUIsRUFDakIsVUFBa0I7UUFFOUMsS0FBSyxFQUFFLENBQUM7UUFMQSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQ3pDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQ1gsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNqQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBbER6QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUlyQiw2QkFBd0IsR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENB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ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgQ29tYm9ib3hDb21wb25lbnQsXG4gICAgRGlhbG9nU2VydmljZSxcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFByb2R1Y3RTd2l0Y2hJdGVtLFxuICAgIFNoZWxsYmFyTWVudUl0ZW0sXG4gICAgU2hlbGxiYXJVc2VyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIEZpbGVQaWN0dXJlSW5mb01vZGVsLFxuICAgIE1vRm9yUmVwb3J0TW9kZWwsXG4gICAgQVBQX1ZFUlNJT04sXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBOb3RpZmljYXRpb25JdGVtLFxuICAgIE5vdGlmaWNhdGlvbkFjdGlvbixcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemVcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbnRlcmZhY2UgU2hlbGxiYXJTZXR0aW5nIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgc3VidGl0bGU6IHN0cmluZztcbiAgICBjYWxjU3VidGl0bGU6IHN0cmluZztcbiAgICBsb2dvOiBGaWxlUGljdHVyZUluZm9Nb2RlbDtcbiAgICBQcm9kdWN0U3dpdGNoSXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgUHJvZHVjdE1lbnVJdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBVc2VyTWVudUl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIEFjdGlvbkl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2J0LWJhcnNhLXNoZWxsYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2Etc2hlbGxiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLXNoZWxsYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQmFyc2FTaGVsbGJhckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGNzc0N1c3RvbVVybDogU2FmZVJlc291cmNlVXJsIHwgbnVsbDtcbiAgICBASW5wdXQoKSBjc3NVcmw6IFNhZmVSZXNvdXJjZVVybCB8IG51bGw7XG4gICAgQElucHV0KCkgYWxsb3dBbm9ueW1vdXM6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlMYW5ndWFnZXM6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIHByb2R1Y3RNZW51Q29udHJvbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBjdWx0dXJlczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBASW5wdXQoKSBzaGVsbGJhckRhdGE6IFNoZWxsYmFyU2V0dGluZztcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25Db3VudDogeyB1bnJlYWQ6IG51bWJlcjsgYWxsOiBudW1iZXIgfTtcbiAgICBASW5wdXQoKSBub3RpZmNhdGlvbkxvYWRlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25Mb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbkl0ZW1bXTtcbiAgICBASW5wdXQoKSBwcm9kdWN0TWVudUl0ZW1zMTogU2hlbGxiYXJNZW51SXRlbVtdO1xuICAgIEBJbnB1dCgpIGJvZHlDbGljazogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxvZ286IHsgRmlsZUlkOiBzdHJpbmcgfTtcbiAgICBASW5wdXQoKSBhY3Rpb25zOiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPjtcbiAgICBASW5wdXQoKSB1c2VyTWVudTogeyB0ZXh0OiBzdHJpbmc7IGNhbGxiYWNrOiAoKSA9PiB2b2lkIH1bXTtcbiAgICBASW5wdXQoKSBwcm9kdWN0U3dpdGNoZXI6IFByb2R1Y3RTd2l0Y2hJdGVtW107XG4gICAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc01vYmlsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoaWRlU2hlbGxiYXJBY3Rpb25zOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNob3dFeHRyYUJ1dHRvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc1RhYmxldDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc0Rlc2t0b3A6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNTZXJ2aWNlRGVzayA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzT3BlblF1aWNrQWNjZXNzO1xuICAgIEBJbnB1dCgpIHNpZGVNZW51VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuXG4gICAgQE91dHB1dCgpIGlzT3BlblF1aWNrQWNjZXNzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIEBPdXRwdXQoKSBvcGVuTm90aWZpY2F0aW9uUGFuZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIG9wZW5RdWlja0FjY2Vzc1BhbmVsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBjdWx0dXJlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBPdXRwdXQoKSBub3RpZmljYXRpb25Mb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgcmVtb3ZlTm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107IHNpbGVudDogYm9vbGVhbiB9PigpO1xuICAgIEBPdXRwdXQoKSBub3RpZmlhdGlvbkFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW06IE5vdGlmaWNhdGlvbkl0ZW07IGJ0bjogTm90aWZpY2F0aW9uQWN0aW9uIH0+KCk7XG4gICAgQE91dHB1dCgpIG5vdGlmaWNhdGlvblZpZXdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm90aWZpY2F0aW9uSXRlbT4oKTtcblxuICAgIEBWaWV3Q2hpbGQoQ29tYm9ib3hDb21wb25lbnQpIGNvbWJvYm94Q29tcG9uZW50OiBDb21ib2JveENvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdwb3BvdmVyQ29tcG9uZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHBvcG92ZXJDb21wb25lbnQ6IFBvcG92ZXJDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnbm90aWZpY2F0aW9uc0RpYWxvZycsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KSBfbm90aWZpY2F0aW9uc0RpYWxvZzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHByaXZhdGUgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBBcnJheSA9IEFycmF5O1xuICAgIGlzT3Blbk5vdGlmaWNhdG9pbiA9IGZhbHNlO1xuXG4gICAgdXNlcjogU2hlbGxiYXJVc2VyID0ge1xuICAgICAgICBpbml0aWFsczogJ1dXJyxcbiAgICAgICAgY29sb3JBY2NlbnQ6IDFcbiAgICB9O1xuICAgIHNlYXJjaFRlcm1zID0gWyfZhdix2K7YtduMJywgJ9mF2KfZhdmI2LHbjNiqJywgJ9iq24zaqdiqJywgJ9m+2LHZiNqY2YcnXTtcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gICAgYWN0aW9ucyQ6IE9ic2VydmFibGU8U2hlbGxiYXJNZW51SXRlbVtdPjtcblxuICAgIHNob3dWZXJzaW9uID0gZmFsc2U7XG5cbiAgICBfdmlld2VkTm90aWZpY2F0aW9ucyQgPSBuZXcgU3ViamVjdDxOb3RpZmljYXRpb25JdGVtPigpO1xuICAgIG9uQmVsbE5vdGlmaWNhdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5fZG9jdW1lbnQ/LmJvZHkgJiYgdGhpcy5fZG9jdW1lbnQuYm9keS5jbGljaygpO1xuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlXG4gICAgICAgICAgICAub3Blbih0aGlzLl9ub3RpZmljYXRpb25zRGlhbG9nLCB7XG4gICAgICAgICAgICAgICAgbW9iaWxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWZ0ZXJMb2FkZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5Ob3RpZmljYXRpb25QYW5lbC5lbWl0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9O1xuICAgIF92aWV3ZWROb3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25JdGVtW10gPSBbXTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KEFQUF9WRVJTSU9OKSBwdWJsaWMgYXBwVmVyc2lvbjogc3RyaW5nXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2hvd1ZlcnNpb24gPSBmYWxzZTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuUXVpY2tBY2Nlc3NDaGFuZ2VkLmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgb25DdWx0dXJlQ2hhbmdlKGN1bHR1cmUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlQ3VsdHVyZShjdWx0dXJlKTtcbiAgICB9XG4gICAgb25TaG93Tm90aWZpY2F0aW9uKGU6IHsgdGFnOiBzdHJpbmc7IG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsOyBuYW1hOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3Blbk5vdGlmaWNhdG9pbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLlNob3dOb3RpZmljYXRpb25SZWxhdGVkTW8oZSk7XG4gICAgfVxuICAgIG9uTm90aWZpY2F0aW9uSXRlbVZpZXdlZCh2aWV3ZWRNbzogTm90aWZpY2F0aW9uSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblZpZXdlZC5lbWl0KHZpZXdlZE1vKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZU5vdGlmaWNhdGlvbnMoZTogeyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdOyBzaWxlbnQ6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZU5vdGlmaWNhdGlvbi5lbWl0KGUpO1xuICAgIH1cbiAgICBvbk9wZW5RdWlja0FjY2VzcyA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc09wZW5RdWlja0FjY2Vzc0NoYW5nZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgdGhpcy5vcGVuUXVpY2tBY2Nlc3NQYW5lbC5lbWl0KCk7XG4gICAgfTtcbiAgICBvbk9wZW5Ob3RpZmljYXRpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuaXNPcGVuTm90aWZpY2F0b2luID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuTm90aWZpY2F0aW9uUGFuZWwuZW1pdCgpO1xuICAgIH07XG4gICAgb25Ob3RpZmljYXRpb25BY3Rpb24oZTogeyBpdGVtOiBOb3RpZmljYXRpb25JdGVtOyBidG46IE5vdGlmaWNhdGlvbkFjdGlvbiB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMubm90aWZpYXRpb25BY3Rpb25DbGljay5lbWl0KGUpO1xuICAgIH1cbiAgICBvbkxhbmd1YWdlID0gKGUpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgY3VsdHVyZSA9IGUuY3VycmVudFRhcmdldC50ZXh0Q29udGVudC50cmltKCk7XG4gICAgICAgIHRoaXMuX2NoYW5nZUN1bHR1cmUoY3VsdHVyZSk7XG4gICAgfTtcbiAgICBvbk5vdGlmaWNhdGlvbkxvYWRNb3JlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbkxvYWRNb3JlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGFuZ2VDdWx0dXJlKGN1bHR1cmU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1bHR1cmVDaGFuZ2VkLmVtaXQoY3VsdHVyZSk7XG4gICAgfVxufVxuIiwiQGlmIChjc3NVcmwpIHtcbjxsaW5rIHR5cGU9XCJ0ZXh0L2Nzc1wiIHJlbD1cInN0eWxlc2hlZXRcIiBbaHJlZl09XCJjc3NVcmxcIiAvPlxufSBAaWYgKGNzc0N1c3RvbVVybCkge1xuPGxpbmsgdHlwZT1cInRleHQvY3NzXCIgcmVsPVwic3R5bGVzaGVldFwiIFtocmVmXT1cImNzc0N1c3RvbVVybFwiIC8+XG59IEBpZiAodXNlckxvZ2dlZEluIHx8IGFsbG93QW5vbnltb3VzKSB7XG48ZmQtc2hlbGxiYXIgW3NpemVdPVwiZGV2aWNlU2l6ZVwiIFtuZ0NsYXNzXT1cImRldmljZVNpemVcIj5cbiAgICBAaWYgKHNpZGVNZW51VGVtcGxhdGUpIHtcbiAgICA8ZmQtc2hlbGxiYXItYWN0aW9uXG4gICAgICAgIFtnbHlwaF09XCInYXBwcydcIlxuICAgICAgICBbbGFiZWxdPVwiJ1F1aWNrIEFjY2VzcycgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICBbbm90aWZpY2F0aW9uQ291bnRdPVwibm90aWZpY2F0aW9uQ291bnQudW5yZWFkID8/IDBcIlxuICAgICAgICBbbm90aWZpY2F0aW9uTGFiZWxdPVwiJ1F1aWNrIEFjY2VzcycgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICBbY2FsbGJhY2tdPVwib25PcGVuUXVpY2tBY2Nlc3NcIlxuICAgID5cbiAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbj5cbiAgICB9IEBpZiAoc2lkZU1lbnVUZW1wbGF0ZSkge1xuICAgIDxidXR0b25cbiAgICAgICAgZmQtc2hlbGxiYXItc2lkZS1uYXZcbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgZ2x5cGg9XCJtZW51MlwiXG4gICAgICAgIHN0eWxlPVwid2lkdGg6IDIuNzVyZW1cIlxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBpc09wZW5RdWlja0FjY2Vzc0NoYW5nZWQuZW1pdCghaXNPcGVuUXVpY2tBY2Nlc3MpXCJcbiAgICA+PC9idXR0b24+XG4gICAgfSBAaWYgKGxvZ28pIHtcbiAgICA8ZmQtc2hlbGxiYXItbG9nbz5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgKGxvZ28/LkZpbGVJZCB8IHBpY0ZpZWxkU3JjOiAnR2V0UGljdHVyZUZyb21GaWxlSW5mbyc6bnVsbCkgKyAnKSdcIlxuICAgICAgICAgICAgaHJlZj1cIi9cIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1zaGVsbGJhcl9fbG9nbyBmZC1zaGVsbGJhcl9fbG9nby0taW1hZ2UtcmVwbGFjZWRcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkJhcnNhIE5vdmluIFJheVwiXG4gICAgICAgID48L2E+XG4gICAgPC9mZC1zaGVsbGJhci1sb2dvPlxuICAgIH0gQGlmICghc2V0dGluZ3M/LkhpZGVQcm9kdWN0TWVudSAmJiBwcm9kdWN0TWVudUl0ZW1zMSAmJiBwcm9kdWN0TWVudUl0ZW1zMS5sZW5ndGggPiAwKSB7XG4gICAgPGZkLXByb2R1Y3QtbWVudSBbY29udHJvbF09XCJwcm9kdWN0TWVudUNvbnRyb2xcIiBbY2xvc2VQb3BvdmVyT25TZWxlY3RdPVwidHJ1ZVwiIFtpdGVtc109XCJwcm9kdWN0TWVudUl0ZW1zMVwiPlxuICAgIDwvZmQtcHJvZHVjdC1tZW51PlxuICAgIH1cbiAgICA8ZmQtc2hlbGxiYXItc3VidGl0bGU+IHt7IHN1YnRpdGxlIHwgYmJiVHJhbnNsYXRlIH19e3sgc2hvd1ZlcnNpb24gPyBhcHBWZXJzaW9uIDogJycgfX08L2ZkLXNoZWxsYmFyLXN1YnRpdGxlPlxuICAgIEBpZiAoIWhpZGVTaGVsbGJhckFjdGlvbnMmJiB1c2VyICYmICh1c2VyTWVudT8ubGVuZ3RoIHx8ICFzZXR0aW5ncz8uSGlkZUxhbmd1YWdlKSkge1xuICAgIDxmZC1zaGVsbGJhci1hY3Rpb25zIFt1c2VyXT1cInVzZXJcIiBbdXNlck1lbnVdPVwidXNlck1lbnVcIiAjbGFuZ1JlZj5cbiAgICAgICAgQGZvciAoYWN0aW9uIG9mIGFjdGlvbnM7IHRyYWNrIGFjdGlvbikge1xuICAgICAgICA8ZmQtc2hlbGxiYXItYWN0aW9uXG4gICAgICAgICAgICBbZ2x5cGhdPVwiYWN0aW9uLkljb25cIlxuICAgICAgICAgICAgW2NhbGxiYWNrXT1cImFjdGlvbi5DYWxsYmFja1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiYWN0aW9uLkxhYmVsXCJcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbkxhYmVsPVwibG9naW5cIlxuICAgICAgICA+XG4gICAgICAgIDwvZmQtc2hlbGxiYXItYWN0aW9uPlxuICAgICAgICB9IEBpZiAoZGV2aWNlU2l6ZSA9PT0gJ3MnICYmIHVzZXJMb2dnZWRJbiAmJiAhc2V0dGluZ3M/LkhpZGVOb3RpZmljYXRpb25zKSB7XG4gICAgICAgIDxmZC1zaGVsbGJhci1hY3Rpb25cbiAgICAgICAgICAgIFtnbHlwaF09XCInYmVsbCdcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidOb3RpZmljYXRpb25zJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbbm90aWZpY2F0aW9uQ291bnRdPVwibm90aWZpY2F0aW9uQ291bnQudW5yZWFkID8/IDBcIlxuICAgICAgICAgICAgW25vdGlmaWNhdGlvbkxhYmVsXT1cIidOb3RpZmljYXRpb25zJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbY2FsbGJhY2tdPVwib25CZWxsTm90aWZpY2F0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbj5cbiAgICAgICAgfSBAaWYgKCFzZXR0aW5ncz8uSGlkZU5vdGlmaWNhdGlvbnMgJiYgdXNlckxvZ2dlZEluKSB7XG4gICAgICAgIDxmZC1wb3BvdmVyXG4gICAgICAgICAgICBbKGlzT3BlbildPVwiaXNPcGVuTm90aWZpY2F0b2luXCJcbiAgICAgICAgICAgIFt0cmlnZ2Vyc109XCJbXVwiXG4gICAgICAgICAgICBbZm9jdXNUcmFwcGVkXT1cInRydWVcIlxuICAgICAgICAgICAgW25vQXJyb3ddPVwidHJ1ZVwiXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgdGl0bGU9XCJOb3RpZmljYXRpb24gUG9wb3ZlclwiXG4gICAgICAgICAgICBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFttb2JpbGVdPVwiZGV2aWNlU2l6ZSA9PT0gJ3MnXCJcbiAgICAgICAgICAgICNwb3BvdmVyQ29tcG9uZW50XG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgPGZkLXNoZWxsYmFyLWFjdGlvblxuICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiJ2JlbGwnXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidOb3RpZmljYXRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgW25vdGlmaWNhdGlvbkNvdW50XT1cIm5vdGlmaWNhdGlvbkNvdW50LnVucmVhZFwiXG4gICAgICAgICAgICAgICAgICAgIFtub3RpZmljYXRpb25MYWJlbF09XCInTm90aWZpY2F0aW9uIExhYmVsJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjYWxsYmFja109XCJvbk9wZW5Ob3RpZmljYXRpb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2ZkLXNoZWxsYmFyLWFjdGlvbj5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keSBzdHlsZT1cIm1pbi13aWR0aDogMzIwcHg7IG92ZXJmbG93LXg6IGF1dG87IGJveC1zaGFkb3c6IHZhcigtLXNhcENvbnRlbnRfU2hhZG93MClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibm90aWZpY2F0aW9uR3JvdXBUcGw7IGNvbnRleHQ6IHsgbm90aWZpY2F0aW9uQ291bnQ6IG5vdGlmaWNhdGlvbkNvdW50IH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgIH0gQGlmICghc2V0dGluZ3M/LkhpZGVMYW5ndWFnZSAmJiBkZXZpY2VTaXplICE9PSAncycgJiYgbXVsdGlMYW5ndWFnZXMpIHtcbiAgICAgICAgPGZkLXNoZWxsYmFyLWFjdGlvbiBbZ2x5cGhdPVwiJ3dvcmxkJ1wiIFtsYWJlbF09XCInbGFuZ3VhZ2UnXCIgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiIChjYWxsYmFjayk9XCIob25MYW5ndWFnZSlcIj5cbiAgICAgICAgPC9mZC1zaGVsbGJhci1hY3Rpb24+XG4gICAgICAgIH0gQGlmICghc2V0dGluZ3M/LkhpZGVMYW5ndWFnZSAmJiBkZXZpY2VTaXplID09PSAncycgJiYgbXVsdGlMYW5ndWFnZXMpIHsgQGZvciAoY3VsdHVyZSBvZiBjdWx0dXJlcyB8IGtleXZhbHVlO1xuICAgICAgICB0cmFjayBjdWx0dXJlKSB7XG4gICAgICAgIDxmZC1zaGVsbGJhci1hY3Rpb25cbiAgICAgICAgICAgIFtsYWJlbF09XCJjdWx0dXJlLnZhbHVlXCJcbiAgICAgICAgICAgIFtjYWxsYmFja109XCJvbkxhbmd1YWdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3VsdHVyZS1hYmJyaXZhdGlvblwiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiY3VsdHVyZS5rZXlcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ2ZsYWdzJ1wiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1zaGVsbGJhci1hY3Rpb24+XG4gICAgICAgIH0gfSBAaWYgKHByb2R1Y3RTd2l0Y2hlcj8ubGVuZ3RoKSB7XG4gICAgICAgIDxmZC1wcm9kdWN0LXN3aXRjaD5cbiAgICAgICAgICAgIDxmZC1wcm9kdWN0LXN3aXRjaC1ib2R5IFtwcm9kdWN0c109XCJwcm9kdWN0U3dpdGNoZXJcIiBbZm9yY2VMaXN0TW9kZV09XCJkZXZpY2VTaXplID09PSAncydcIj5cbiAgICAgICAgICAgIDwvZmQtcHJvZHVjdC1zd2l0Y2gtYm9keT5cbiAgICAgICAgPC9mZC1wcm9kdWN0LXN3aXRjaD5cbiAgICAgICAgfVxuICAgIDwvZmQtc2hlbGxiYXItYWN0aW9ucz5cbiAgICB9XG48L2ZkLXNoZWxsYmFyPlxufSBAaWYoc2hvd0V4dHJhQnV0dG9uKXtcbjxkaXZcbiAgICBbY2xhc3MuZmQtc2hlbGxiYXItLXhsXT1cImlzRGVza3RvcFwiXG4gICAgW2NsYXNzLmZkLXNoZWxsYmFyLS1tXT1cImlzVGFibGV0XCJcbiAgICBbY2xhc3MuZmQtc2hlbGxiYXItLXNdPVwiaXNNb2JpbGVcIlxuICAgIGNsYXNzPVwiZXh0cmEtYnV0dG9uLXdyYXBwZXJcIlxuICAgIFtjbGFzcy5zZXJ2aWNlLWRlc2tdPVwiaXNTZXJ2aWNlRGVza1wiXG4+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG59XG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gICAgPGJzdS1tYXNrPjwvYnN1LW1hc2s+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2XG4gICAgKm5nSWY9XCJzaWRlTWVudVRlbXBsYXRlXCJcbiAgICBjbGFzcz1cInR3LWZpeGVkIHR3LXRvcC1bMzguNXB4XSB0dy1oLVtjYWxjKDEwMHZoLTM4LjVweCldIHR3LWJnLXdoaXRlIHR3LXRyYW5zaXRpb24tYWxsIHR3LXotWzEwMF0gdHctc2hhZG93LTJ4bCB0dy1vdmVyZmxvdy1hdXRvXCJcbiAgICBbY2xhc3MudHctdy1zY3JlZW5dPVwiaXNNb2JpbGVcIlxuICAgIFtjbGFzcy4tdHctcmlnaHQtZnVsbF09XCJpc01vYmlsZVwiXG4gICAgW2NsYXNzLnR3LXctOTZdPVwiIWlzTW9iaWxlXCJcbiAgICBbY2xhc3MuLXR3LXJpZ2h0LTk2XT1cIiFpc01vYmlsZVwiXG4gICAgW2NsYXNzLiF0dy1yaWdodC0wXT1cImlzT3BlblF1aWNrQWNjZXNzXCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2lkZU1lbnVUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbkBpZihpc09wZW5RdWlja0FjY2Vzcykge1xuPGRpdlxuICAgIGNsYXNzPVwidHctZml4ZWQgdHctcmlnaHQtMCB0dy10b3AtWzM4LjVweF0gdHctaC1bY2FsYygxMDB2aC0zOC41cHgpXSB0dy1iZy1zbGF0ZS04MDAvWy41XSB0dy16LVs5MF0gdHctdy1zY3JlZW4gdHctYmFja2Ryb3AtYmx1ci1zbVwiXG4gICAgKGNsaWNrKT1cImlzT3BlblF1aWNrQWNjZXNzQ2hhbmdlZC5lbWl0KGZhbHNlKVwiXG4+PC9kaXY+XG59XG48ZmQtbWVudSAjbWVudT5cbiAgICA8dWwgZmQtbGlzdD5cbiAgICAgICAgQGZvciAoY3VsdHVyZSBvZiBjdWx0dXJlcyB8IGtleXZhbHVlOyB0cmFjayBjdWx0dXJlKSB7XG4gICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm9uQ3VsdHVyZUNoYW5nZShjdWx0dXJlLnZhbHVlKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgd2lkdGg9XCIxNHB4XCIgaGVpZ2h0PVwiMTJweFwiIFtzcmNdPVwiJy9hc3NldHMvZmxhZ3MvJyArIGN1bHR1cmUua2V5ICsgJy5wbmcnXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdWx0dXJlLWFiYnJpdmF0aW9uXCIgW25nQ2xhc3NdPVwiY3VsdHVyZS5rZXlcIj4ge3sgY3VsdHVyZS5rZXkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgPC91bD5cbjwvZmQtbWVudT5cbjxuZy10ZW1wbGF0ZSAjbm90aWZpY2F0aW9uR3JvdXBUcGwgbGV0LW5vdGlmaWNhdGlvbkNvdW50PVwibm90aWZpY2F0aW9uQ291bnRcIj5cbiAgICBAaWYgKCFub3RpZmNhdGlvbkxvYWRlZCAmJiBub3RpZmljYXRpb25Mb2FkaW5nID09PSB0cnVlKSB7XG4gICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDBweFwiPlxuICAgICAgICA8YnN1LW1hc2sgc2l6ZT1cInNcIj48L2JzdS1tYXNrPlxuICAgIDwvZGl2PlxuICAgIH1cbiAgICA8YnQtbm90aWZpY2F0aW9uLWdyb3VwXG4gICAgICAgIFtub3RpZmljYXRpb25zXT1cIm5vdGlmaWNhdGlvbnNcIlxuICAgICAgICBbbm90aWZpY2F0aW9uQ291bnRdPVwibm90aWZpY2F0aW9uQ291bnRcIlxuICAgICAgICBbbG9hZGluZ109XCJub3RpZmljYXRpb25Mb2FkaW5nID09PSB0cnVlXCJcbiAgICAgICAgKHZpZXdlZCk9XCJvbk5vdGlmaWNhdGlvbkl0ZW1WaWV3ZWQoJGV2ZW50KVwiXG4gICAgICAgIChyZW1vdmUpPVwib25SZW1vdmVOb3RpZmljYXRpb25zKCRldmVudClcIlxuICAgICAgICAoc2hvd0V2ZW50KT1cInBvcG92ZXJDb21wb25lbnQuY2xvc2UoKTsgb25TaG93Tm90aWZpY2F0aW9uKCRldmVudClcIlxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwicG9wb3ZlckNvbXBvbmVudC5jbG9zZSgpOyBvbk5vdGlmaWNhdGlvbkFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgKGxvYWRNb3JlKT1cIm9uTm90aWZpY2F0aW9uTG9hZE1vcmUoKVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgID48L2J0LW5vdGlmaWNhdGlvbi1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtZGlhbG9nIGxldC1kaWFsb2dDb25maWc9XCJkaWFsb2dDb25maWdcIiAjbm90aWZpY2F0aW9uc0RpYWxvZz5cbiAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIj5cbiAgICAgICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgICAgICA8aDEgaWQ9XCJmZC1kaWFsb2ctaGVhZGVyLTEwXCIgZmQtdGl0bGU+e3sgJ05vdGlmaWNhdGlvbicgfCBiYmJUcmFuc2xhdGUgfX08L2gxPlxuICAgICAgICAgICAgPGJ1dHRvbiBmZC1kaWFsb2ctY2xvc2UtYnV0dG9uIChjbGljayk9XCJkaWFsb2cuZGlzbWlzcygpXCI+PC9idXR0b24+XG4gICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgPGZkLWRpYWxvZy1ib2R5IGNsYXNzPVwibW9iaWxlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub3RpZmljYXRpb25Hcm91cFRwbDsgY29udGV4dDogeyBub3RpZmljYXRpb25Db3VudDogbm90aWZpY2F0aW9uQ291bnQgfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZmQtZGlhbG9nLWJvZHk+XG4gICAgPC9mZC1kaWFsb2c+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -5,16 +5,6 @@ import { PinTileComponent } from '../pin-tile/pin-tile.component';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@fundamental-ngx/core";
|
|
7
7
|
import * as i2 from "../app-finder.service";
|
|
8
|
-
import * as i3 from "@angular/forms";
|
|
9
|
-
import * as i4 from "@fundamental-ngx/core/content-density";
|
|
10
|
-
import * as i5 from "@fundamental-ngx/core/button";
|
|
11
|
-
import * as i6 from "@fundamental-ngx/core/form";
|
|
12
|
-
import * as i7 from "@fundamental-ngx/core/input-group";
|
|
13
|
-
import * as i8 from "@fundamental-ngx/core/list";
|
|
14
|
-
import * as i9 from "@fundamental-ngx/core/panel";
|
|
15
|
-
import * as i10 from "barsa-novin-ray-core";
|
|
16
|
-
import * as i11 from "@angular/common";
|
|
17
|
-
import * as i12 from "./filter-apps-grouped.pipe";
|
|
18
8
|
export class PopoverAppFinderComponent extends BaseComponent {
|
|
19
9
|
constructor(_cdr, _dialogService, _appFinderService, _el, _contentDensityService) {
|
|
20
10
|
super();
|
|
@@ -99,14 +89,14 @@ export class PopoverAppFinderComponent extends BaseComponent {
|
|
|
99
89
|
this._cdr.detectChanges();
|
|
100
90
|
}
|
|
101
91
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PopoverAppFinderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DialogService }, { token: i2.AppFinderService }, { token: i0.ElementRef }, { token: i1.ContentDensityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: PopoverAppFinderComponent, selector: "bt-popover-app-finder", outputs: { closeMenu: "closeMenu" }, host: { classAttribute: "!tw-min-h-min" }, usesInheritance: true, ngImport: i0, template: "<!-- \n<div>\n <div class=\"!tw-px-4 !tw-pt-2\" fd-form-item>\n <fd-input-group\n glyph=\"decline\"\n glyphAriaLabel=\"Clear\"\n placeholder=\"\u062C\u0633\u062A\u062C\u0648\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"searchTerm = ''\"\n >\n </fd-input-group>\n </div>\n @for (cat of appGroups$ | async | filterAppsGrouped:searchTerm; track cat.Id) {\n <fd-panel\n fdCompact\n expandAriaLabel=\"Panel Expand\"\n expandAriaLabelledBy=\"panel-compact-1\"\n [expanded]=\"!!searchTerm?.length\"\n >\n <h5 fd-panel-title id=\"panel-compact-1\">{{ cat.Title }}</h5>\n <div fd-panel-content ariaLabel=\"Panel Content\" id=\"panel-content-3\" class=\"!p-0\">\n <ul fd-list [noBorder]=\"false\">\n @for (app of cat.Apps | filterApps:searchTerm; track app.Id) {\n <li fd-list-item>\n <a fd-list-link [navigated]=\"true\" [dynCommand]=\"app.DynamicCommand\" (click)=\"closeMenu.emit()\">\n <i fd-list-icon glyph=\"history\"></i>\n <span fd-list-title>{{ app.Title }}</span>\n <span fd-list-secondary>\n @if(pinnedAppInAppTileGroups$ | async; as pinnedAppInAppTileGroups) {\n <button\n ariaLabel=\"Bookmark\"\n fdType=\"transparent\"\n title=\"Bookmark\"\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups[app.Id]\n ? pinnedAppInAppTileGroups[app.Id].length\n ? 'emphasized'\n : 'transparent'\n : app.$HasPinned\n ? 'emphasized'\n : 'transparent'\n \"\n (click)=\"$event.stopPropagation(); onPinClick(app)\"\n ></button>\n }\n </span>\n </a>\n </li>\n }\n </ul>\n </div>\n </fd-panel>\n }\n</div> -->\n", styles: [":host{display:block;min-height:100vh}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
103
93
|
}
|
|
104
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PopoverAppFinderComponent, decorators: [{
|
|
105
95
|
type: Component,
|
|
106
96
|
args: [{ selector: 'bt-popover-app-finder', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
107
97
|
class: '!tw-min-h-min'
|
|
108
|
-
}, template: "
|
|
98
|
+
}, template: "<!-- \n<div>\n <div class=\"!tw-px-4 !tw-pt-2\" fd-form-item>\n <fd-input-group\n glyph=\"decline\"\n glyphAriaLabel=\"Clear\"\n placeholder=\"\u062C\u0633\u062A\u062C\u0648\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"searchTerm = ''\"\n >\n </fd-input-group>\n </div>\n @for (cat of appGroups$ | async | filterAppsGrouped:searchTerm; track cat.Id) {\n <fd-panel\n fdCompact\n expandAriaLabel=\"Panel Expand\"\n expandAriaLabelledBy=\"panel-compact-1\"\n [expanded]=\"!!searchTerm?.length\"\n >\n <h5 fd-panel-title id=\"panel-compact-1\">{{ cat.Title }}</h5>\n <div fd-panel-content ariaLabel=\"Panel Content\" id=\"panel-content-3\" class=\"!p-0\">\n <ul fd-list [noBorder]=\"false\">\n @for (app of cat.Apps | filterApps:searchTerm; track app.Id) {\n <li fd-list-item>\n <a fd-list-link [navigated]=\"true\" [dynCommand]=\"app.DynamicCommand\" (click)=\"closeMenu.emit()\">\n <i fd-list-icon glyph=\"history\"></i>\n <span fd-list-title>{{ app.Title }}</span>\n <span fd-list-secondary>\n @if(pinnedAppInAppTileGroups$ | async; as pinnedAppInAppTileGroups) {\n <button\n ariaLabel=\"Bookmark\"\n fdType=\"transparent\"\n title=\"Bookmark\"\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups[app.Id]\n ? pinnedAppInAppTileGroups[app.Id].length\n ? 'emphasized'\n : 'transparent'\n : app.$HasPinned\n ? 'emphasized'\n : 'transparent'\n \"\n (click)=\"$event.stopPropagation(); onPinClick(app)\"\n ></button>\n }\n </span>\n </a>\n </li>\n }\n </ul>\n </div>\n </fd-panel>\n }\n</div> -->\n", styles: [":host{display:block;min-height:100vh}\n"] }]
|
|
109
99
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DialogService }, { type: i2.AppFinderService }, { type: i0.ElementRef }, { type: i1.ContentDensityService }], propDecorators: { closeMenu: [{
|
|
110
100
|
type: Output
|
|
111
101
|
}] } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1hcHAtZmluZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvcG9wb3Zlci1hcHAtZmluZGVyL3BvcG92ZXItYXBwLWZpbmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3BvcG92ZXItYXBwLWZpbmRlci9wb3BvdmVyLWFwcC1maW5kZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUVaLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBRSxhQUFhLEVBQThDLE1BQU0sc0JBQXNCLENBQUM7QUFHakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBV2xFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxhQUFhO0lBZ0J4RCxZQUNZLElBQXVCLEVBQ3ZCLGNBQTZCLEVBQzdCLGlCQUFtQyxFQUNuQyxHQUFlLEVBQ3ZCLHNCQUE2QztRQUU3QyxLQUFLLEVBQUUsQ0FBQztRQU5BLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQW5CakIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFL0Msa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFxQmpCLElBQUksQ0FBQyxlQUFlLEdBQUcsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVFLElBQUks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QyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDRCxTQUFTLEtBQVUsQ0FBQztJQUNwQixLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFHN0I7UUFDRyxJQUFJLENBQUM7WUFDRCxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7Z0JBQzVFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNYLGlCQUFpQjtRQUNyQixDQUFDO2dCQUFTLENBQUM7WUFDUCx3QkFBd0I7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFDTyxZQUFZLENBQUMsVUFBa0I7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBNUdRLHlCQUF5QjtrR0FBekIseUJBQXlCLG9LQzNCdEMsK3dHQXVFQTs7MkZENUNhLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLGVBQWU7cUJBQ3pCOzhNQUdTLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSwgQ29udGVudERlbnNpdHlTZXJ2aWNlLCBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgTWV0YW9iamVjdERhdGFNb2RlbCwgQWJicmV2YXRpb25EZXZpY2VTaXplIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgQXBwRmluZGVyU2VydmljZSB9IGZyb20gJy4uL2FwcC1maW5kZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBUaWxlR3JvdXBQaW4gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgUGluVGlsZUNvbXBvbmVudCB9IGZyb20gJy4uL3Bpbi10aWxlL3Bpbi10aWxlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnQtcG9wb3Zlci1hcHAtZmluZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1hcHAtZmluZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wb3BvdmVyLWFwcC1maW5kZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnIXR3LW1pbi1oLW1pbidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJBcHBGaW5kZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAT3V0cHV0KCkgY2xvc2VNZW51ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIHNlbGVjdGVkR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgaXNBbGxTZWxlY3RlZCA9IHRydWU7XG4gICAgYXBwR3JvdXBzJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10gfCB1bmRlZmluZWQ+O1xuICAgIGFwcFRpbGVHcm91cHMkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XG4gICAgc2VhcmNoVGVybTogc3RyaW5nO1xuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XG4gICAgc2lkZUNvbnRlbnRTaXplJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGNvbnRlbnREZW5zaXR5JDogT2JzZXJ2YWJsZTxDb250ZW50RGVuc2l0eT47XG4gICAgc2VsZWN0ZWRBcHBHcm91cCQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IHVuZGVmaW5lZD47XG4gICAgc2VsZWN0ZWRBcHBHcm91cElkJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIG1vYmlsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgY29udGVudEhlaWdodDogc3RyaW5nO1xuICAgIHBpbm5lZEFwcEluQXBwVGlsZUdyb3VwcyQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgc3RyaW5nW10+PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9hcHBGaW5kZXJTZXJ2aWNlOiBBcHBGaW5kZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9lbDogRWxlbWVudFJlZixcbiAgICAgICAgX2NvbnRlbnREZW5zaXR5U2VydmljZTogQ29udGVudERlbnNpdHlTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29udGVudERlbnNpdHkkID0gX2NvbnRlbnREZW5zaXR5U2VydmljZS5jb250ZW50RGVuc2l0eS5hc09ic2VydmFibGUoKTtcbiAgICAgICAgdGhpcy5hcHBHcm91cHMkID0gdGhpcy5fYXBwRmluZGVyU2VydmljZS5hcHBHcm91cHMkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGFwcEdyb3VwcykgPT4ge1xuICAgICAgICAgICAgICAgIGFwcEdyb3Vwcy5mb3JFYWNoKChjYXQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXBwRmluZGVyU2VydmljZS5sb2FkQXBwc0J5QXBwR3JvdXAoYXBwR3JvdXBzLCBjYXQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBhcHBHcm91cHM7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXBwR3JvdXAkID0gdGhpcy5fYXBwRmluZGVyU2VydmljZS5zZWxlY3RlZEFwcEdyb3VwJDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFwcEdyb3VwSWQkID0gdGhpcy5fYXBwRmluZGVyU2VydmljZS5zZWxlY3RlZEFwcEdyb3VwSWQkO1xuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fYXBwRmluZGVyU2VydmljZS5kZXZpY2VTaXplJDtcbiAgICAgICAgdGhpcy5waW5uZWRBcHBJbkFwcFRpbGVHcm91cHMkID0gdGhpcy5fYXBwRmluZGVyU2VydmljZS5waW5uZWRBcHBJbkFwcFRpbGVHcm91cHMkO1xuICAgICAgICB0aGlzLm1vYmlsZSQgPSB0aGlzLmRldmljZVNpemUkLnBpcGUobWFwKChjKSA9PiBjID09PSAncycpKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmNvbnRlbnRIZWlnaHQgPSAnY2FsYygnICsgdGhpcy5fZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgKyAncHggLSAyLjc1cmVtKSc7XG5cbiAgICAgICAgdGhpcy5zaWRlQ29udGVudFNpemUkID0gdGhpcy5kZXZpY2VTaXplJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgbWFwKChkZXZpY2VTaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChkZXZpY2VTaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3MnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdzbSc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ20nOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdtZCc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2wnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdsZyc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3hsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAneGwnO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdsJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uU2VsZWN0ZWRBcHBHcm91cENoYW5nZShhcHBHcm91cElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlR3JvdXAoYXBwR3JvdXBJZCk7XG4gICAgfVxuXG4gICAgb25QaW5DbGljayhhcHA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGlubmVkQXBwSW5UaWxlR3JvdXBzID0gdGhpcy5fYXBwRmluZGVyU2VydmljZS5sb2FkUGlubmVkQXBwSW5UaWxlR3JvdXBzKGFwcCk7XG4gICAgICAgIGNvbnN0IGFwcFRpbGVHcm91cHMgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmFwcFRpbGVHcm91cHM7XG4gICAgICAgIGNvbnN0IGRldmljZVNpemUgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmRldmljZVNpemU7XG4gICAgICAgIGNvbnN0IG1vYmlsZSA9IGRldmljZVNpemUgPT09ICdzJztcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZVxuICAgICAgICAgICAgLm9wZW4oUGluVGlsZUNvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGRhdGE6IHsgYXBwLCBwaW5uZWRBcHBJblRpbGVHcm91cHMsIGFwcFRpbGVHcm91cHMgfSxcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzM1MHB4JyxcbiAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICc0MjBweCcsXG4gICAgICAgICAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtb2JpbGUsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xpY2tDbG9zZWFibGU6IGZhbHNlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYXBwVGlsZUdyb3Vwc1BpbkNoYW5nZShyZXN1bHQpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIG9uUmVmcmVzaCgpOiB2b2lkIHt9XG4gICAgYXN5bmMgX2FwcFRpbGVHcm91cHNQaW5DaGFuZ2UocmVzdWx0OiB7XG4gICAgICAgIGFwcFRpbGVHcm91cHNQaW46IEFwcFRpbGVHcm91cFBpbltdO1xuICAgICAgICBhcHA6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgfSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2lsbCB0cnkgdG8gYXNrIGZvciBwZXJtaXNzaW9uXG4gICAgICAgICAgICB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLnBpblRpbGVDaGFuZ2VkKHJlc3VsdC5hcHBUaWxlR3JvdXBzUGluLCByZXN1bHQuYXBwLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIC8vIHNob3cgbXNnIGVycm9yXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAvLyBzaG93IHRvYXN0IHN1Y2Nlc3NmdWxcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF9jaGFuZ2VHcm91cChhcHBHcm91cElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0FsbFNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2FwcEZpbmRlclNlcnZpY2Uuc2VsZWN0QXBwR3JvdXAoYXBwR3JvdXBJZCk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuIiwiPCEtLUBmb3IgKGNhdCBvZiBhcHBHcm91cHMkIHwgYXN5bmM7IHRyYWNrIGNhdC5JZCkgey0tPlxuPCEtLSAgICA8ZGl2IGNsYXNzPVwicHgtNCBweS0yIGZvbnQtbGdcIj4tLT5cbjwhLS0gICAgICAgIDxwIGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgY2F0LiRDYXB0aW9uIH19PC9wPi0tPlxuPCEtLSAgICA8L2Rpdj4tLT5cbjwhLS0gICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTQgZ2FwLTIgcC0yXCI+LS0+XG48IS0tICAgICAgICBAZm9yIChhcHAgb2YgY2F0LkFwcHM7IHRyYWNrIGFwcC5JZCkgey0tPlxuPCEtLSAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciB3LTI0IGdhcC0xIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgaG92ZXI6Ym9yZGVyLWdyYXktMzAwIGJnLXRyYW5zcGFyZW50IGhvdmVyOmJnLWdyYXktMTAwIHRyYW5zaXRpb24tYWxsIHJvdW5kZWQtbGcgcC0yIGN1cnNvci1wb2ludGVyXCI+LS0+XG48IS0tICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaXplLTEyIHJvdW5kZWQtZnVsbCBiZy1ncmF5LTMwMFwiPjwvZGl2Pi0tPlxuPCEtLSAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRydW5jYXRlIHctMjAgdGV4dC1jZW50ZXJcIj4tLT5cbjwhLS0gICAgICAgICAgICAgICAge3sgYXBwLiRDYXB0aW9uIH19PC9zcGFuPi0tPlxuPCEtLSAgICAgICAgICAgIDwvZGl2Pi0tPlxuPCEtLSAgICAgICAgfS0tPlxuPCEtLSAgICA8L2Rpdj4tLT5cbjwhLS19LS0+XG48ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCIhdHctcHgtNCAhdHctcHQtMlwiIGZkLWZvcm0taXRlbT5cbiAgICAgICAgPGZkLWlucHV0LWdyb3VwXG4gICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxuICAgICAgICAgICAgZ2x5cGhBcmlhTGFiZWw9XCJDbGVhclwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cItis2LPYqtis2YhcIlxuICAgICAgICAgICAgW2J1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuICAgICAgICAgICAgKGFkZE9uQnV0dG9uQ2xpY2tlZCk9XCJzZWFyY2hUZXJtID0gJydcIlxuICAgICAgICA+XG4gICAgICAgIDwvZmQtaW5wdXQtZ3JvdXA+XG4gICAgPC9kaXY+XG4gICAgQGZvciAoY2F0IG9mIGFwcEdyb3VwcyQgfCBhc3luYyB8IGZpbHRlckFwcHNHcm91cGVkOnNlYXJjaFRlcm07IHRyYWNrIGNhdC5JZCkge1xuICAgIDxmZC1wYW5lbFxuICAgICAgICBmZENvbXBhY3RcbiAgICAgICAgZXhwYW5kQXJpYUxhYmVsPVwiUGFuZWwgRXhwYW5kXCJcbiAgICAgICAgZXhwYW5kQXJpYUxhYmVsbGVkQnk9XCJwYW5lbC1jb21wYWN0LTFcIlxuICAgICAgICBbZXhwYW5kZWRdPVwiISFzZWFyY2hUZXJtPy5sZW5ndGhcIlxuICAgID5cbiAgICAgICAgPGg1IGZkLXBhbmVsLXRpdGxlIGlkPVwicGFuZWwtY29tcGFjdC0xXCI+e3sgY2F0LlRpdGxlIH19PC9oNT5cbiAgICAgICAgPGRpdiBmZC1wYW5lbC1jb250ZW50IGFyaWFMYWJlbD1cIlBhbmVsIENvbnRlbnRcIiBpZD1cInBhbmVsLWNvbnRlbnQtM1wiIGNsYXNzPVwiIXAtMFwiPlxuICAgICAgICAgICAgPHVsIGZkLWxpc3QgW25vQm9yZGVyXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoYXBwIG9mIGNhdC5BcHBzIHwgZmlsdGVyQXBwczpzZWFyY2hUZXJtOyB0cmFjayBhcHAuSWQpIHtcbiAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgW25hdmlnYXRlZF09XCJ0cnVlXCIgW2R5bkNvbW1hbmRdPVwiYXBwLkR5bmFtaWNDb21tYW5kXCIgKGNsaWNrKT1cImNsb3NlTWVudS5lbWl0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGZkLWxpc3QtaWNvbiBnbHlwaD1cImhpc3RvcnlcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7IGFwcC5UaXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3Qtc2Vjb25kYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZihwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHMkIHwgYXN5bmM7IGFzIHBpbm5lZEFwcEluQXBwVGlsZUdyb3Vwcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwiQm9va21hcmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiQm9va21hcmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIidwdXNocGluLW9mZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzW2FwcC5JZF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHBpbm5lZEFwcEluQXBwVGlsZUdyb3Vwc1thcHAuSWRdLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdlbXBoYXNpemVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0cmFuc3BhcmVudCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGFwcC4kSGFzUGlubmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnZW1waGFzaXplZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0cmFuc3BhcmVudCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25QaW5DbGljayhhcHApXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ZkLXBhbmVsPlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1hcHAtZmluZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvcG9wb3Zlci1hcHAtZmluZGVyL3BvcG92ZXItYXBwLWZpbmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3BvcG92ZXItYXBwLWZpbmRlci9wb3BvdmVyLWFwcC1maW5kZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUVaLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBRSxhQUFhLEVBQThDLE1BQU0sc0JBQXNCLENBQUM7QUFHakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFXbEUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFnQnhELFlBQ1ksSUFBdUIsRUFDdkIsY0FBNkIsRUFDN0IsaUJBQW1DLEVBQ25DLEdBQWUsRUFDdkIsc0JBQTZDO1FBRTdDLEtBQUssRUFBRSxDQUFDO1FBTkEsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBbkJqQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUvQyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQXFCakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUUsSUFBSSxDQUFDLFVBQVUs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QyxDQUFDO0lBQ1gsQ0FBQztJQUNELFNBQVMsS0FBVSxDQUFDO0lBQ3BCLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxNQUc3QjtRQUNHLElBQUksQ0FBQztZQUNELGlDQUFpQztZQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtnQkFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsaUJBQWlCO1FBQ3JCLENBQUM7Z0JBQVMsQ0FBQztZQUNQLHdCQUF3QjtRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUNPLFlBQVksQ0FBQyxVQUFrQjtRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0E1R1EseUJBQXlCO2tHQUF6Qix5QkFBeUIsb0tDM0J0Qyw4aEZBMERBOzsyRkQvQmEseUJBQXlCO2tCQVRyQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsZUFBZTtxQkFDekI7OE1BR1MsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBDb250ZW50RGVuc2l0eVNlcnZpY2UsIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBBcHBGaW5kZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYXBwLWZpbmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFRpbGVHcm91cFBpbiB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBQaW5UaWxlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGluLXRpbGUvcGluLXRpbGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidC1wb3BvdmVyLWFwcC1maW5kZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLWFwcC1maW5kZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BvcG92ZXItYXBwLWZpbmRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICchdHctbWluLWgtbWluJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckFwcEZpbmRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBPdXRwdXQoKSBjbG9zZU1lbnUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgc2VsZWN0ZWRHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBpc0FsbFNlbGVjdGVkID0gdHJ1ZTtcbiAgICBhcHBHcm91cHMkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXSB8IHVuZGVmaW5lZD47XG4gICAgYXBwVGlsZUdyb3VwcyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbFtdPjtcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcbiAgICBzaWRlQ29udGVudFNpemUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgY29udGVudERlbnNpdHkkOiBPYnNlcnZhYmxlPENvbnRlbnREZW5zaXR5PjtcbiAgICBzZWxlY3RlZEFwcEdyb3VwJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsIHwgdW5kZWZpbmVkPjtcbiAgICBzZWxlY3RlZEFwcEdyb3VwSWQkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgbW9iaWxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjb250ZW50SGVpZ2h0OiBzdHJpbmc7XG4gICAgcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2FwcEZpbmRlclNlcnZpY2U6IEFwcEZpbmRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLFxuICAgICAgICBfY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb250ZW50RGVuc2l0eSQgPSBfY29udGVudERlbnNpdHlTZXJ2aWNlLmNvbnRlbnREZW5zaXR5LmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICB0aGlzLmFwcEdyb3VwcyQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmFwcEdyb3VwcyQucGlwZShcbiAgICAgICAgICAgIG1hcCgoYXBwR3JvdXBzKSA9PiB7XG4gICAgICAgICAgICAgICAgYXBwR3JvdXBzLmZvckVhY2goKGNhdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmxvYWRBcHBzQnlBcHBHcm91cChhcHBHcm91cHMsIGNhdCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwcEdyb3VwcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBcHBHcm91cCQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLnNlbGVjdGVkQXBwR3JvdXAkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXBwR3JvdXBJZCQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLnNlbGVjdGVkQXBwR3JvdXBJZCQ7XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmRldmljZVNpemUkO1xuICAgICAgICB0aGlzLnBpbm5lZEFwcEluQXBwVGlsZUdyb3VwcyQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLnBpbm5lZEFwcEluQXBwVGlsZUdyb3VwcyQ7XG4gICAgICAgIHRoaXMubW9iaWxlJCA9IHRoaXMuZGV2aWNlU2l6ZSQucGlwZShtYXAoKGMpID0+IGMgPT09ICdzJykpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuY29udGVudEhlaWdodCA9ICdjYWxjKCcgKyB0aGlzLl9lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArICdweCAtIDIuNzVyZW0pJztcblxuICAgICAgICB0aGlzLnNpZGVDb250ZW50U2l6ZSQgPSB0aGlzLmRldmljZVNpemUkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICBtYXAoKGRldmljZVNpemUpID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGRldmljZVNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3NtJztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ21kJztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2xnJztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAneGwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd4bCc7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2wnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RlZEFwcEdyb3VwQ2hhbmdlKGFwcEdyb3VwSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGFuZ2VHcm91cChhcHBHcm91cElkKTtcbiAgICB9XG5cbiAgICBvblBpbkNsaWNrKGFwcDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwaW5uZWRBcHBJblRpbGVHcm91cHMgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmxvYWRQaW5uZWRBcHBJblRpbGVHcm91cHMoYXBwKTtcbiAgICAgICAgY29uc3QgYXBwVGlsZUdyb3VwcyA9IHRoaXMuX2FwcEZpbmRlclNlcnZpY2UuYXBwVGlsZUdyb3VwcztcbiAgICAgICAgY29uc3QgZGV2aWNlU2l6ZSA9IHRoaXMuX2FwcEZpbmRlclNlcnZpY2UuZGV2aWNlU2l6ZTtcbiAgICAgICAgY29uc3QgbW9iaWxlID0gZGV2aWNlU2l6ZSA9PT0gJ3MnO1xuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlXG4gICAgICAgICAgICAub3BlbihQaW5UaWxlQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgZGF0YTogeyBhcHAsIHBpbm5lZEFwcEluVGlsZUdyb3VwcywgYXBwVGlsZUdyb3VwcyB9LFxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMzUwcHgnLFxuICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzQyMHB4JyxcbiAgICAgICAgICAgICAgICBkcmFnZ2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1vYmlsZSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogZmFsc2VcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hcHBUaWxlR3JvdXBzUGluQ2hhbmdlKHJlc3VsdCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgb25SZWZyZXNoKCk6IHZvaWQge31cbiAgICBhc3luYyBfYXBwVGlsZUdyb3Vwc1BpbkNoYW5nZShyZXN1bHQ6IHtcbiAgICAgICAgYXBwVGlsZUdyb3Vwc1BpbjogQXBwVGlsZUdyb3VwUGluW107XG4gICAgICAgIGFwcDogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaWxsIHRyeSB0byBhc2sgZm9yIHBlcm1pc3Npb25cbiAgICAgICAgICAgIHRoaXMuX2FwcEZpbmRlclNlcnZpY2UucGluVGlsZUNoYW5nZWQocmVzdWx0LmFwcFRpbGVHcm91cHNQaW4sIHJlc3VsdC5hcHAsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgLy8gc2hvdyBtc2cgZXJyb3JcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIC8vIHNob3cgdG9hc3Qgc3VjY2Vzc2Z1bFxuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgX2NoYW5nZUdyb3VwKGFwcEdyb3VwSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQWxsU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fYXBwRmluZGVyU2VydmljZS5zZWxlY3RBcHBHcm91cChhcHBHcm91cElkKTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCI8IS0tIFxuPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwiIXR3LXB4LTQgIXR3LXB0LTJcIiBmZC1mb3JtLWl0ZW0+XG4gICAgICAgIDxmZC1pbnB1dC1ncm91cFxuICAgICAgICAgICAgZ2x5cGg9XCJkZWNsaW5lXCJcbiAgICAgICAgICAgIGdseXBoQXJpYUxhYmVsPVwiQ2xlYXJcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLYrNiz2KrYrNmIXCJcbiAgICAgICAgICAgIFtidXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwic2VhcmNoVGVybSA9ICcnXCJcbiAgICAgICAgPlxuICAgICAgICA8L2ZkLWlucHV0LWdyb3VwPlxuICAgIDwvZGl2PlxuICAgIEBmb3IgKGNhdCBvZiBhcHBHcm91cHMkIHwgYXN5bmMgfCBmaWx0ZXJBcHBzR3JvdXBlZDpzZWFyY2hUZXJtOyB0cmFjayBjYXQuSWQpIHtcbiAgICA8ZmQtcGFuZWxcbiAgICAgICAgZmRDb21wYWN0XG4gICAgICAgIGV4cGFuZEFyaWFMYWJlbD1cIlBhbmVsIEV4cGFuZFwiXG4gICAgICAgIGV4cGFuZEFyaWFMYWJlbGxlZEJ5PVwicGFuZWwtY29tcGFjdC0xXCJcbiAgICAgICAgW2V4cGFuZGVkXT1cIiEhc2VhcmNoVGVybT8ubGVuZ3RoXCJcbiAgICA+XG4gICAgICAgIDxoNSBmZC1wYW5lbC10aXRsZSBpZD1cInBhbmVsLWNvbXBhY3QtMVwiPnt7IGNhdC5UaXRsZSB9fTwvaDU+XG4gICAgICAgIDxkaXYgZmQtcGFuZWwtY29udGVudCBhcmlhTGFiZWw9XCJQYW5lbCBDb250ZW50XCIgaWQ9XCJwYW5lbC1jb250ZW50LTNcIiBjbGFzcz1cIiFwLTBcIj5cbiAgICAgICAgICAgIDx1bCBmZC1saXN0IFtub0JvcmRlcl09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGFwcCBvZiBjYXQuQXBwcyB8IGZpbHRlckFwcHM6c2VhcmNoVGVybTsgdHJhY2sgYXBwLklkKSB7XG4gICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIFtuYXZpZ2F0ZWRdPVwidHJ1ZVwiIFtkeW5Db21tYW5kXT1cImFwcC5EeW5hbWljQ29tbWFuZFwiIChjbGljayk9XCJjbG9zZU1lbnUuZW1pdCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBmZC1saXN0LWljb24gZ2x5cGg9XCJoaXN0b3J5XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyBhcHAuVGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXNlY29uZGFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYocGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzJCB8IGFzeW5jOyBhcyBwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIkJvb2ttYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkJvb2ttYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCIncHVzaHBpbi1vZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpbm5lZEFwcEluQXBwVGlsZUdyb3Vwc1thcHAuSWRdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHNbYXBwLklkXS5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnZW1waGFzaXplZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAndHJhbnNwYXJlbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhcHAuJEhhc1Bpbm5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2VtcGhhc2l6ZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAndHJhbnNwYXJlbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IG9uUGluQ2xpY2soYXBwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mZC1wYW5lbD5cbiAgICB9XG48L2Rpdj4gLS0+XG4iXX0=
|
|
@@ -7,11 +7,10 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
import * as i1 from "barsa-novin-ray-core";
|
|
8
8
|
import * as i2 from "../tiles.service";
|
|
9
9
|
import * as i3 from "@angular/platform-browser";
|
|
10
|
-
import * as i4 from "@
|
|
11
|
-
import * as i5 from "
|
|
12
|
-
import * as i6 from "
|
|
13
|
-
import * as i7 from "../
|
|
14
|
-
import * as i8 from "@angular/common";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
import * as i5 from "@fundamental-ngx/core/button";
|
|
12
|
+
import * as i6 from "barsa-sap-ui";
|
|
13
|
+
import * as i7 from "../barsa-shellbar/barsa-shellbar.component";
|
|
15
14
|
export class ShellbarComponent extends BaseComponent {
|
|
16
15
|
get subtitle() {
|
|
17
16
|
if (!this.shellbarData) {
|
|
@@ -32,6 +31,16 @@ export class ShellbarComponent extends BaseComponent {
|
|
|
32
31
|
get actions() {
|
|
33
32
|
return this.settings?.HideUserMenu ? [] : this.shellbarData?.ActionItems?.MoDataList ?? [];
|
|
34
33
|
}
|
|
34
|
+
get sidebarSettings() {
|
|
35
|
+
if (!this.shellbarData?.SidebarReport?.Id) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
RelatedReport: { Id: this.shellbarData?.SidebarReport?.Id, $Caption: '' },
|
|
40
|
+
RowClick: '',
|
|
41
|
+
DataOnly: false
|
|
42
|
+
};
|
|
43
|
+
}
|
|
35
44
|
get userMenu() {
|
|
36
45
|
const moDataList = BarsaApi.Common.Util.TryGetValue(this.shellbarData, 'UserMenuItems.MoDataList');
|
|
37
46
|
const items = moDataList ? [...moDataList] : [];
|
|
@@ -189,11 +198,11 @@ export class ShellbarComponent extends BaseComponent {
|
|
|
189
198
|
BarsaApi.Bw.NavigateTo('/');
|
|
190
199
|
}
|
|
191
200
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ShellbarComponent, deps: [{ token: i1.BbbTranslatePipe }, { token: i1.PortalService }, { token: i1.BreadcrumbService }, { token: i2.TilesService }, { token: i0.ChangeDetectorRef }, { token: i3.DomSanitizer }, { token: i1.NotificationService }, { token: APP_VERSION }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
192
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ShellbarComponent, selector: "bt-shellbar", viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }, { propertyName: "popoverComponent", first: true, predicate: ["popoverComponent"], descendants: true }, { propertyName: "_notificationsDialog", first: true, predicate: ["notificationsDialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "@if (userLoggedIn$ | async; as userloggend) { @if (notifiationCountLoaded$ | async; as notifiationCountLoaded) { @if\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"cssUrl$ | async\"\n [cssCustomUrl]=\"cssCustomUrl$ | async\"\n [userLoggedIn]=\"true\"\n [allowAnonymous]=\"allowAnonymous\"\n [deviceSize]=\"deviceSize\"\n [shellbarData]=\"shellbarData\"\n [productMenuControl]=\"productMenuControl\"\n [settings]=\"settings\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [multiLanguages]=\"multiLanguages\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notifications]=\"(notifications$ | async) ?? []\"\n [notifcationLoaded]=\"notifcationLoaded\"\n [notificationLoading]=\"(notificationLoading$ | async) === true\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [isServiceDesk]=\"isServiceDesk\"\n [sideMenuTemplate]=\"QuickAccessTemplate\"\n [productMenuItems1]=\"productMenuItems1\"\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\n (cultureChanged)=\"onCultureChanged($event)\"\n (notificationViewed)=\"onNotificationItemViewed($event)\"\n (notifiationActionClick)=\"onNotificationAction($event)\"\n (removeNotification)=\"onRemoveNotifications($event)\"\n (notificationLoadMore)=\"onNotificationLoadMore()\"\n (openNotificationPanel)=\"onHandleOpenNotificationPanel()\"\n>\n</bt-barsa-shellbar>\n} } } } @else { @if (notificationsCount$ | async; as notificationCount) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"''\"\n [cssCustomUr]=\"''\"\n [userLoggedIn]=\"false\"\n [multiLanguages]=\"multiLanguages\"\n [userMenu]=\"userMenu\"\n [logo]=\"logo\"\n [productMenuItems1]=\"productMenuItems1\"\n [allowAnonymous]=\"allowAnonymous\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [shellbarData]=\"shellbarData\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [isServiceDesk]=\"isServiceDesk\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productMenuControl]=\"productMenuControl\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [settings]=\"settings\"\n [notificationCount]=\"{ unread: 0, all: 0 }\"\n [notifications]=\"[]\"\n [notifcationLoaded]=\"true\"\n [notificationLoading]=\"false\"\n [hideShellbarActions]=\"true\"\n [cultures]=\"cultures\"\n [productMenuItems1]=\"productMenuItems1\"\n (cultureChanged)=\"onCultureChanged($event)\"\n>\n <button\n id=\"login_btn\"\n fd-button\n [label]=\"'\u0648\u0631\u0648\u062F' | bbbTranslate\"\n glyph=\"person-placeholder\"\n [routerLink]=\"[loginRouterLink$ | async]\"\n fdType=\"emphasized\"\n ></button>\n</bt-barsa-shellbar>\n} }\n<ng-template #QuickAccessTemplate>\n @if ((notificationLoading$ | async) === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder
|
|
201
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ShellbarComponent, selector: "bt-shellbar", viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }, { propertyName: "popoverComponent", first: true, predicate: ["popoverComponent"], descendants: true }, { propertyName: "_notificationsDialog", first: true, predicate: ["notificationsDialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "@if (userLoggedIn$ | async; as userloggend) { @if (notifiationCountLoaded$ | async; as notifiationCountLoaded) { @if\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"cssUrl$ | async\"\n [cssCustomUrl]=\"cssCustomUrl$ | async\"\n [userLoggedIn]=\"true\"\n [allowAnonymous]=\"allowAnonymous\"\n [deviceSize]=\"deviceSize\"\n [shellbarData]=\"shellbarData\"\n [productMenuControl]=\"productMenuControl\"\n [settings]=\"settings\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [multiLanguages]=\"multiLanguages\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notifications]=\"(notifications$ | async) ?? []\"\n [notifcationLoaded]=\"notifcationLoaded\"\n [notificationLoading]=\"(notificationLoading$ | async) === true\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [isServiceDesk]=\"isServiceDesk\"\n [sideMenuTemplate]=\"QuickAccessTemplate\"\n [productMenuItems1]=\"productMenuItems1\"\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\n (cultureChanged)=\"onCultureChanged($event)\"\n (notificationViewed)=\"onNotificationItemViewed($event)\"\n (notifiationActionClick)=\"onNotificationAction($event)\"\n (removeNotification)=\"onRemoveNotifications($event)\"\n (notificationLoadMore)=\"onNotificationLoadMore()\"\n (openNotificationPanel)=\"onHandleOpenNotificationPanel()\"\n>\n</bt-barsa-shellbar>\n} } } } @else { @if (notificationsCount$ | async; as notificationCount) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"''\"\n [cssCustomUr]=\"''\"\n [userLoggedIn]=\"false\"\n [multiLanguages]=\"multiLanguages\"\n [userMenu]=\"userMenu\"\n [logo]=\"logo\"\n [productMenuItems1]=\"productMenuItems1\"\n [allowAnonymous]=\"allowAnonymous\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [shellbarData]=\"shellbarData\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [isServiceDesk]=\"isServiceDesk\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productMenuControl]=\"productMenuControl\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [settings]=\"settings\"\n [notificationCount]=\"{ unread: 0, all: 0 }\"\n [notifications]=\"[]\"\n [notifcationLoaded]=\"true\"\n [notificationLoading]=\"false\"\n [hideShellbarActions]=\"true\"\n [cultures]=\"cultures\"\n [productMenuItems1]=\"productMenuItems1\"\n (cultureChanged)=\"onCultureChanged($event)\"\n>\n <button\n id=\"login_btn\"\n fd-button\n [label]=\"'\u0648\u0631\u0648\u062F' | bbbTranslate\"\n glyph=\"person-placeholder\"\n [routerLink]=\"[loginRouterLink$ | async]\"\n fdType=\"emphasized\"\n ></button>\n</bt-barsa-shellbar>\n} }\n<ng-template #QuickAccessTemplate>\n @if ((notificationLoading$ | async) === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bnrc-report-container *ngIf=\"sidebarSettings\" [settings]=\"sidebarSettings\"> </bnrc-report-container>\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\n</ng-template>\n", styles: [":host{display:block;position:relative}:host #login_btn{background-color:transparent;border-color:transparent}:host #menu_btn{background-color:transparent;border-color:transparent}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i1.ReportContainerComponent, selector: "bnrc-report-container", inputs: ["settings"] }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i7.BarsaShellbarComponent, selector: "bt-barsa-shellbar", inputs: ["cssCustomUrl", "cssUrl", "allowAnonymous", "multiLanguages", "userLoggedIn", "settings", "productMenuControl", "deviceSize", "cultures", "shellbarData", "notificationCount", "notifcationLoaded", "notificationLoading", "notifications", "productMenuItems1", "bodyClick", "logo", "actions", "userMenu", "productSwitcher", "subtitle", "isMobile", "hideShellbarActions", "showExtraButton", "isTablet", "isDesktop", "isServiceDesk", "isOpenQuickAccess", "sideMenuTemplate"], outputs: ["isOpenQuickAccessChanged", "openNotificationPanel", "openQuickAccessPanel", "cultureChanged", "notificationLoadMore", "removeNotification", "notifiationActionClick", "notificationViewed"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
193
202
|
}
|
|
194
203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ShellbarComponent, decorators: [{
|
|
195
204
|
type: Component,
|
|
196
|
-
args: [{ selector: 'bt-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (userLoggedIn$ | async; as userloggend) { @if (notifiationCountLoaded$ | async; as notifiationCountLoaded) { @if\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"cssUrl$ | async\"\n [cssCustomUrl]=\"cssCustomUrl$ | async\"\n [userLoggedIn]=\"true\"\n [allowAnonymous]=\"allowAnonymous\"\n [deviceSize]=\"deviceSize\"\n [shellbarData]=\"shellbarData\"\n [productMenuControl]=\"productMenuControl\"\n [settings]=\"settings\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [multiLanguages]=\"multiLanguages\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notifications]=\"(notifications$ | async) ?? []\"\n [notifcationLoaded]=\"notifcationLoaded\"\n [notificationLoading]=\"(notificationLoading$ | async) === true\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [isServiceDesk]=\"isServiceDesk\"\n [sideMenuTemplate]=\"QuickAccessTemplate\"\n [productMenuItems1]=\"productMenuItems1\"\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\n (cultureChanged)=\"onCultureChanged($event)\"\n (notificationViewed)=\"onNotificationItemViewed($event)\"\n (notifiationActionClick)=\"onNotificationAction($event)\"\n (removeNotification)=\"onRemoveNotifications($event)\"\n (notificationLoadMore)=\"onNotificationLoadMore()\"\n (openNotificationPanel)=\"onHandleOpenNotificationPanel()\"\n>\n</bt-barsa-shellbar>\n} } } } @else { @if (notificationsCount$ | async; as notificationCount) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"''\"\n [cssCustomUr]=\"''\"\n [userLoggedIn]=\"false\"\n [multiLanguages]=\"multiLanguages\"\n [userMenu]=\"userMenu\"\n [logo]=\"logo\"\n [productMenuItems1]=\"productMenuItems1\"\n [allowAnonymous]=\"allowAnonymous\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [shellbarData]=\"shellbarData\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [isServiceDesk]=\"isServiceDesk\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productMenuControl]=\"productMenuControl\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [settings]=\"settings\"\n [notificationCount]=\"{ unread: 0, all: 0 }\"\n [notifications]=\"[]\"\n [notifcationLoaded]=\"true\"\n [notificationLoading]=\"false\"\n [hideShellbarActions]=\"true\"\n [cultures]=\"cultures\"\n [productMenuItems1]=\"productMenuItems1\"\n (cultureChanged)=\"onCultureChanged($event)\"\n>\n <button\n id=\"login_btn\"\n fd-button\n [label]=\"'\u0648\u0631\u0648\u062F' | bbbTranslate\"\n glyph=\"person-placeholder\"\n [routerLink]=\"[loginRouterLink$ | async]\"\n fdType=\"emphasized\"\n ></button>\n</bt-barsa-shellbar>\n} }\n<ng-template #QuickAccessTemplate>\n @if ((notificationLoading$ | async) === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder
|
|
205
|
+
args: [{ selector: 'bt-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (userLoggedIn$ | async; as userloggend) { @if (notifiationCountLoaded$ | async; as notifiationCountLoaded) { @if\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"cssUrl$ | async\"\n [cssCustomUrl]=\"cssCustomUrl$ | async\"\n [userLoggedIn]=\"true\"\n [allowAnonymous]=\"allowAnonymous\"\n [deviceSize]=\"deviceSize\"\n [shellbarData]=\"shellbarData\"\n [productMenuControl]=\"productMenuControl\"\n [settings]=\"settings\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [multiLanguages]=\"multiLanguages\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notifications]=\"(notifications$ | async) ?? []\"\n [notifcationLoaded]=\"notifcationLoaded\"\n [notificationLoading]=\"(notificationLoading$ | async) === true\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [isServiceDesk]=\"isServiceDesk\"\n [sideMenuTemplate]=\"QuickAccessTemplate\"\n [productMenuItems1]=\"productMenuItems1\"\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\n (cultureChanged)=\"onCultureChanged($event)\"\n (notificationViewed)=\"onNotificationItemViewed($event)\"\n (notifiationActionClick)=\"onNotificationAction($event)\"\n (removeNotification)=\"onRemoveNotifications($event)\"\n (notificationLoadMore)=\"onNotificationLoadMore()\"\n (openNotificationPanel)=\"onHandleOpenNotificationPanel()\"\n>\n</bt-barsa-shellbar>\n} } } } @else { @if (notificationsCount$ | async; as notificationCount) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"''\"\n [cssCustomUr]=\"''\"\n [userLoggedIn]=\"false\"\n [multiLanguages]=\"multiLanguages\"\n [userMenu]=\"userMenu\"\n [logo]=\"logo\"\n [productMenuItems1]=\"productMenuItems1\"\n [allowAnonymous]=\"allowAnonymous\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [shellbarData]=\"shellbarData\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [isServiceDesk]=\"isServiceDesk\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productMenuControl]=\"productMenuControl\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [settings]=\"settings\"\n [notificationCount]=\"{ unread: 0, all: 0 }\"\n [notifications]=\"[]\"\n [notifcationLoaded]=\"true\"\n [notificationLoading]=\"false\"\n [hideShellbarActions]=\"true\"\n [cultures]=\"cultures\"\n [productMenuItems1]=\"productMenuItems1\"\n (cultureChanged)=\"onCultureChanged($event)\"\n>\n <button\n id=\"login_btn\"\n fd-button\n [label]=\"'\u0648\u0631\u0648\u062F' | bbbTranslate\"\n glyph=\"person-placeholder\"\n [routerLink]=\"[loginRouterLink$ | async]\"\n fdType=\"emphasized\"\n ></button>\n</bt-barsa-shellbar>\n} }\n<ng-template #QuickAccessTemplate>\n @if ((notificationLoading$ | async) === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bnrc-report-container *ngIf=\"sidebarSettings\" [settings]=\"sidebarSettings\"> </bnrc-report-container>\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\n</ng-template>\n", styles: [":host{display:block;position:relative}:host #login_btn{background-color:transparent;border-color:transparent}:host #menu_btn{background-color:transparent;border-color:transparent}\n"] }]
|
|
197
206
|
}], ctorParameters: () => [{ type: i1.BbbTranslatePipe }, { type: i1.PortalService }, { type: i1.BreadcrumbService }, { type: i2.TilesService }, { type: i0.ChangeDetectorRef }, { type: i3.DomSanitizer }, { type: i1.NotificationService }, { type: undefined, decorators: [{
|
|
198
207
|
type: Inject,
|
|
199
208
|
args: [APP_VERSION]
|
|
@@ -207,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
207
216
|
type: ViewChild,
|
|
208
217
|
args: ['notificationsDialog', { static: true, read: TemplateRef }]
|
|
209
218
|
}] } });
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9zaGVsbGJhci9zaGVsbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3NoZWxsYmFyL3NoZWxsYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUNILGlCQUFpQixFQUtwQixNQUFNLHVCQUF1QixDQUFDO0FBRy9CLE9BQU8sRUFDSCxhQUFhLEVBQ2IsUUFBUSxFQU1SLFdBQVcsRUFNWCxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNwQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBb0I5QixNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBYTtJQWtDaEQsSUFBSSxRQUFRO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNyQixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzdFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjO2dCQUNuQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMs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QixXQUFXLGtFQzVEdkUsczZHQTJGQTs7MkZEbENhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDSSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OzBCQThGMUMsTUFBTTsyQkFBQyxXQUFXO3lDQTNGTyxpQkFBaUI7c0JBQTlDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNzQixnQkFBZ0I7c0JBQWpFLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUN1QixvQkFBb0I7c0JBQTFGLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgT25Jbml0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBDb21ib2JveENvbXBvbmVudCxcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFByb2R1Y3RTd2l0Y2hJdGVtLFxuICAgIFNoZWxsYmFyTWVudUl0ZW0sXG4gICAgU2hlbGxiYXJVc2VyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgQmFyc2FBcGksXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBGaWxlUGljdHVyZUluZm9Nb2RlbCxcbiAgICBNb0ZvclJlcG9ydE1vZGVsLFxuICAgIFBvcnRhbFNlcnZpY2UsXG4gICAgQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgQVBQX1ZFUlNJT04sXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBOb3RpZmljYXRpb25JdGVtLFxuICAgIE5vdGlmaWNhdGlvbkFjdGlvbixcbiAgICBCYmJUcmFuc2xhdGVQaXBlLFxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcbiAgICBnZXREZXZpY2VJc01vYmlsZSxcbiAgICBnZXREZXZpY2VJc0Rlc2t0b3AsXG4gICAgZ2V0RGV2aWNlSXNUYWJsZXRcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5pbXBvcnQgeyBUaWxlc1NlcnZpY2UgfSBmcm9tICcuLi90aWxlcy5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIFNoZWxsYmFyU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIHN1YnRpdGxlOiBzdHJpbmc7XG4gICAgY2FsY1N1YnRpdGxlOiBzdHJpbmc7XG4gICAgbG9nbzogRmlsZVBpY3R1cmVJbmZvTW9kZWw7XG4gICAgUHJvZHVjdFN3aXRjaEl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIFByb2R1Y3RNZW51SXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgVXNlck1lbnVJdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBBY3Rpb25JdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidC1zaGVsbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaGVsbGJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsYmFyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZChDb21ib2JveENvbXBvbmVudCkgY29tYm9ib3hDb21wb25lbnQ6IENvbWJvYm94Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ3BvcG92ZXJDb21wb25lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wb3ZlckNvbXBvbmVudDogUG9wb3ZlckNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdub3RpZmljYXRpb25zRGlhbG9nJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIF9ub3RpZmljYXRpb25zRGlhbG9nOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHNoZWxsYmFyRGF0YTogU2hlbGxiYXJTZXR0aW5nO1xuICAgIHNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIGlzT3Blbk5vdGlmaWNhdG9pbiA9IGZhbHNlO1xuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XG4gICAgcHJvZHVjdE1lbnVDb250cm9sOiBzdHJpbmc7XG4gICAgdXNlcjogU2hlbGxiYXJVc2VyID0ge1xuICAgICAgICBpbml0aWFsczogJ1dXJyxcbiAgICAgICAgY29sb3JBY2NlbnQ6IDFcbiAgICB9O1xuXG4gICAgcHJvZHVjdE1lbnVJdGVtczE6IFNoZWxsYmFyTWVudUl0ZW1bXTtcbiAgICB1c2VyTG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGNzc1VybCQ6IE9ic2VydmFibGU8U2FmZVJlc291cmNlVXJsIHwgbnVsbD47XG4gICAgY3NzQ3VzdG9tVXJsJDogT2JzZXJ2YWJsZTxTYWZlUmVzb3VyY2VVcmwgfCBudWxsPjtcbiAgICBhbGxvd0Fub255bW91cyA9IHRydWU7XG4gICAgY3VsdHVyZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgbm90aWZpY2F0aW9uc0NvdW50JDogT2JzZXJ2YWJsZTx7IHVucmVhZDogbnVtYmVyOyBhbGw6IG51bWJlciB9PjtcbiAgICBub3RpZmljYXRpb25zJDogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25JdGVtW10+O1xuICAgIG5vdGlmaWNhdGlvbkxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIG5vdGlmY2F0aW9uTG9hZGVkID0gZmFsc2U7XG4gICAgbm90aWZpYXRpb25Db3VudExvYWRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgX3ZpZXdlZE5vdGlmaWNhdGlvbnMkID0gbmV3IFN1YmplY3Q8Tm90aWZpY2F0aW9uSXRlbT4oKTtcbiAgICBfdmlld2VkTm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uSXRlbVtdID0gW107XG4gICAgYm9keUNsaWNrID0gJzskKFwiYm9keVwiKS5jbGljaygpJztcbiAgICBpc01vYmlsZSA9IGdldERldmljZUlzTW9iaWxlKCk7XG4gICAgaXNEZXNrdG9wID0gZ2V0RGV2aWNlSXNEZXNrdG9wKCk7XG4gICAgaXNUYWJsZXQgPSBnZXREZXZpY2VJc1RhYmxldCgpO1xuICAgIGxvZ2luUm91dGVyTGluayQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBpc1NlcnZpY2VEZXNrID0gZmFsc2U7XG4gICAgaXNPcGVuUXVpY2tBY2Nlc3MgPSBmYWxzZTtcbiAgICBnZXQgc3VidGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLnNoZWxsYmFyRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUgPT09ICdzJyAmJiB0aGlzLnNoZWxsYmFyRGF0YS5Nb2JpbGVTdWJ0aXRsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhLk1vYmlsZVN1YnRpdGxlXG4gICAgICAgICAgICAgICAgPyBgJHt0aGlzLnNoZWxsYmFyRGF0YS5Nb2JpbGVTdWJ0aXRsZX0gJHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaGVsbGJhckRhdGE/LmNhbGNTdWJ0aXRsZSA9PT0gJ3N0cmluZycgPyB0aGlzLnNoZWxsYmFyRGF0YS5jYWxjU3VidGl0bGUgOiAnJ1xuICAgICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgICA6ICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNoZWxsYmFyRGF0YS5TdWJ0aXRsZVxuICAgICAgICAgICAgPyBgJHt0aGlzLnNoZWxsYmFyRGF0YT8uU3VidGl0bGV9ICR7XG4gICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaGVsbGJhckRhdGE/LmNhbGNTdWJ0aXRsZSA9PT0gJ3N0cmluZycgPyB0aGlzLnNoZWxsYmFyRGF0YS5jYWxjU3VidGl0bGUgOiAnJ1xuICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG4gICAgZ2V0IGxvZ28oKTogeyBGaWxlSWQ6IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhPy5Mb2dvO1xuICAgIH1cbiAgICBnZXQgYWN0aW9ucygpOiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5IaWRlVXNlck1lbnUgPyBbXSA6IHRoaXMuc2hlbGxiYXJEYXRhPy5BY3Rpb25JdGVtcz8uTW9EYXRhTGlzdCA/PyBbXTtcbiAgICB9XG4gICAgZ2V0IHVzZXJNZW51KCk6IHsgdGV4dDogc3RyaW5nOyBjYWxsYmFjazogKCkgPT4gdm9pZCB9W10ge1xuICAgICAgICBjb25zdCBtb0RhdGFMaXN0ID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5zaGVsbGJhckRhdGEsICdVc2VyTWVudUl0ZW1zLk1vRGF0YUxpc3QnKTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBtb0RhdGFMaXN0ID8gWy4uLm1vRGF0YUxpc3RdIDogW107XG4gICAgICAgIGlmICghaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgYy50ZXh0ID0gdGhpcy5fYmJiVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oYy50ZXh0KTtcbiAgICAgICAgICAgIGMuY2FsbGJhY2sgPSBuZXcgRnVuY3Rpb24oYy5Db2RlICsgdGhpcy5ib2R5Q2xpY2spO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzQW5vbnltb3VzICYmIEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNVc2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgIGl0ZW1zLnNwbGljZSgwLCAwLCB7IElkOiAnLTEnLCAkQ2FwdGlvbjogJycsIHRleHQ6IEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuVXNlckRpc3BsYXlOYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5IaWRlVXNlck1lbnUgPyBbXSA6IChpdGVtcyBhcyBhbnkpO1xuICAgIH1cbiAgICBnZXQgcHJvZHVjdFN3aXRjaGVyKCk6IFByb2R1Y3RTd2l0Y2hJdGVtW10ge1xuICAgICAgICByZXR1cm4gKHRoaXMuc2hlbGxiYXJEYXRhPy5Qcm9kdWN0U3dpdGNoSXRlbXM/Lk1vRGF0YUxpc3QgPz8gW10pIGFzIHVua25vd24gYXMgUHJvZHVjdFN3aXRjaEl0ZW1bXTtcbiAgICB9XG4gICAgZ2V0IG11bHRpTGFuZ3VhZ2VzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGVsbGJhckRhdGE/Lk11bHRpTGFuZ3VhZ2VzO1xuICAgIH1cbiAgICBnZXQgcHJvZHVjdE1lbnVJdGVtcygpOiBTaGVsbGJhck1lbnVJdGVtW10ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuc2hlbGxiYXJEYXRhPy5Qcm9kdWN0TWVudUl0ZW1zPy5Nb0RhdGFMaXN0ID8/IFtdO1xuICAgICAgICBpdGVtcy5mb3JFYWNoKChjKSA9PiAoYy5jYWxsYmFjayA9IG5ldyBGdW5jdGlvbihjLkNvZGUgKyB0aGlzLmJvZHlDbGljaykpKTtcbiAgICAgICAgcmV0dXJuIGl0ZW1zIGFzIHVua25vd24gYXMgU2hlbGxiYXJNZW51SXRlbVtdO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9iYmJUcmFuc2xhdGVQaXBlOiBCYmJUcmFuc2xhdGVQaXBlLFxuICAgICAgICBwcml2YXRlIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9icmVhZENydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3RpbGVzU2VydmljZTogVGlsZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9kb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgQEluamVjdChBUFBfVkVSU0lPTikgcHVibGljIGFwcFZlcnNpb246IHN0cmluZ1xuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMudXNlckxvZ2dlZEluJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UudXNlckxvZ2dlZEluJDtcbiAgICAgICAgdGhpcy5ub3RpZmlhdGlvbkNvdW50TG9hZGVkJCA9IHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9uQ291bnRMb2FkZWQkO1xuICAgICAgICB0aGlzLl92aWV3ZWROb3RpZmljYXRpb25zJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIHRhcCgoaXRlbSkgPT4gdGhpcy5fdmlld2VkTm90aWZpY2F0aW9ucy5wdXNoKGl0ZW0pKSxcbiAgICAgICAgICAgICAgICBtYXAoKGl0ZW0pID0+IHRoaXMuX3ZpZXdlZE5vdGlmaWNhdGlvbnMpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDAwKSxcbiAgICAgICAgICAgICAgICBtYXAoKGl0ZW1zKSA9PiBpdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uVGFnKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRhZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3ZWROb3RpZmljYXRpb25zID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5zZXROb3RpZmljYXRpb25WaWV3ZWQodGFncyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5pc1NlcnZpY2VEZXNrID0gQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1NlcnZpY2VEZXNrO1xuXG4gICAgICAgIHRoaXMuY3VsdHVyZXMgPSBCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLkN1bHR1cmVzO1xuICAgICAgICB0aGlzLmNzc1VybCQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmNzc1VybCQ7XG4gICAgICAgIHRoaXMuY3NzQ3VzdG9tVXJsJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuY3NzQ3VzdG9tVXJsJDtcbiAgICAgICAgdGhpcy5sb2dpblJvdXRlckxpbmskID0gdGhpcy5fcG9ydGFsU2VydmljZS5sb2dpblJvdXRlJDtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zQ291bnQkID0gdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5ub3RpZmljYXRpb25Db3VudCQ7XG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9uQ291bnQkLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25Mb2FkaW5nJCA9IHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9uTG9hZGluZyQ7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9ucyQgPSB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLm5vdGlmaWNhdGlvbnMkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICBtYXAoKG5vdGlmaWNhdGlvbnMpID0+IHRoaXMuX21hcE5vdGlmaWNhdGlvbnMobm90aWZpY2F0aW9ucykpXG4gICAgICAgICk7XG4gICAgICAgIEJhcnNhQXBpLkJ3LlNldFVzZXJQb3J0YWxTZXR0aW5ncyA9ICh1c2VyUG9ydGFsU2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2Uuc2V0VXNlclBvcnRhbFNldHRpbmdzKHVzZXJQb3J0YWxTZXR0aW5ncyk7XG4gICAgICAgIH07XG4gICAgICAgIEJhcnNhQXBpLkJ3LlNldFNoZWxsYmFyU3VidGl0bGUgPSAoY2FsY1N1YnRpdGxlOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hlbGxiYXJEYXRhLmNhbGNTdWJ0aXRsZSA9IGNhbGNTdWJ0aXRsZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcblxuICAgICAgICB0aGlzLl9icmVhZENydW1iU2VydmljZS5icmVhZGNydW1icyQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoYnJlYWRDcnVtYnMpID0+IHtcbiAgICAgICAgICAgIGlmIChicmVhZENydW1icy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0TWVudUNvbnRyb2wgPSBicmVhZENydW1ic1ticmVhZENydW1icy5sZW5ndGggLSAxXS5sYWJlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zaGVsbGJhciQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hlbGxiYXJEYXRhID0gbW8gYXMgU2hlbGxiYXJTZXR0aW5nO1xuICAgICAgICAgICAgLy8gdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIGZvcmtKb2luKFtvZih0aGlzLnByb2R1Y3RNZW51SXRlbXMpLCBvZihbXSldKSAvLyB0byBhcHBlbmQgdXNlciBkZWZpbmVkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbczEsIHMyXSkgPT4gWy4uLnMxLCAuLi5zMl0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0TWVudUl0ZW1zMSA9IGM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5hbGxvd0Fub255bW91cykge1xuICAgICAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLmxvYWRTaGVsbGJhcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UudXNlckxvZ2dlZEluJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChsb2dnZWRJbikgPT4ge1xuICAgICAgICAgICAgaWYgKCFsb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5sb2FkU2hlbGxiYXIoKTtcbiAgICAgICAgICAgIHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2UubG9hZFVucmVhZE5vdGlmaWNhdGlvbkNvdW50KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ3VsdHVyZUNoYW5nZShjdWx0dXJlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZUN1bHR1cmUoY3VsdHVyZSk7XG4gICAgfVxuICAgIG9uU2hvd05vdGlmaWNhdGlvbihlOiB7IHRhZzogc3RyaW5nOyBtbzogTWV0YW9iamVjdERhdGFNb2RlbDsgbmFtYTogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW5Ob3RpZmljYXRvaW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5TaG93Tm90aWZpY2F0aW9uUmVsYXRlZE1vKGUpO1xuICAgIH1cbiAgICBvbk5vdGlmaWNhdGlvbkl0ZW1WaWV3ZWQodmlld2VkTW86IE5vdGlmaWNhdGlvbkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmlld2VkTm90aWZpY2F0aW9ucyQubmV4dCh2aWV3ZWRNbyk7XG4gICAgfVxuXG4gICAgb25SZW1vdmVOb3RpZmljYXRpb25zKGU6IHsgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTsgc2lsZW50OiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5yZW1vdmVOb3RpZmljYXRpb24oZS5pdGVtcyk7XG4gICAgfVxuICAgIG9uT3Blbk5vdGlmaWNhdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc09wZW5Ob3RpZmljYXRvaW4gPSB0cnVlO1xuICAgICAgICB0aGlzLl9oYW5kbGVPcGVuTm90aWZpY2F0aW9uUGFuZWwoKTtcbiAgICB9O1xuICAgIG9uTm90aWZpY2F0aW9uQWN0aW9uKGU6IHsgaXRlbTogTm90aWZpY2F0aW9uSXRlbTsgYnRuOiBOb3RpZmljYXRpb25BY3Rpb24gfSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLkV4ZWN1dGVOb3RpZmljYXRpb25BY3Rpb24oZS5pdGVtLlRhZywgZS5idG4uVGl0bGUpO1xuICAgIH1cbiAgICBvbkN1bHR1cmVDaGFuZ2VkID0gKGN1bHR1cmU6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLl9jaGFuZ2VDdWx0dXJlKGN1bHR1cmUpO1xuICAgIH07XG4gICAgb25Ob3RpZmljYXRpb25Mb2FkTW9yZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5sb2FkTW9yZSgpO1xuICAgIH1cbiAgICBvbk5vdGlmaWNhdGlvbldvcmtmbG93Q2hvaWNlU3VjY2VzcyhyZXN1bHQpOiB2b2lkIHt9XG4gICAgb25Ob3RpZmljYXRpb25Xb3JrZmxvd0Nob2ljZUZhaWxlZChlcnIpOiB2b2lkIHt9XG5cbiAgICBvbkhhbmRsZU9wZW5Ob3RpZmljYXRpb25QYW5lbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGFuZGxlT3Blbk5vdGlmaWNhdGlvblBhbmVsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFuZGxlT3Blbk5vdGlmaWNhdGlvblBhbmVsKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ub3RpZmNhdGlvbkxvYWRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubm90aWZjYXRpb25Mb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLmxvYWROb3RpZmljYXRpb25zKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX21hcE5vdGlmaWNhdGlvbnMobm90aWZpY2F0aW9ucyk6IE5vdGlmaWNhdGlvbkl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBub3RpZmljYXRpb25zLm1hcCgobm90aWZpY2F0aW9uKSA9PiAoe1xuICAgICAgICAgICAgLi4ubm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgY29udGVudFNhZmVIdG1sOiBub3RpZmljYXRpb24uQ29udGVudFxuICAgICAgICAgICAgICAgID8gdGhpcy5fZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vdGlmaWNhdGlvbi5Db250ZW50KVxuICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jaGFuZ2VDdWx0dXJlKGN1bHR1cmU6IHN0cmluZyAvKiBjdWx0dXJlIHNhbXBsZSA6RW5nbGlzaCAqLyk6IHZvaWQge1xuICAgICAgICBCYXJzYUFwaS5Cdy5TZXRDdWx0dXJlQnlEaXNwbGF5TmFtZShjdWx0dXJlKTtcbiAgICAgICAgQmFyc2FBcGkuQncuTmF2aWdhdGVUbygnLycpO1xuICAgIH1cbn1cbiIsIkBpZiAodXNlckxvZ2dlZEluJCB8IGFzeW5jOyBhcyB1c2VybG9nZ2VuZCkgeyBAaWYgKG5vdGlmaWF0aW9uQ291bnRMb2FkZWQkIHwgYXN5bmM7IGFzIG5vdGlmaWF0aW9uQ291bnRMb2FkZWQpIHsgQGlmXG4oZGV2aWNlU2l6ZSQgfCBhc3luYzsgYXMgZGV2aWNlU2l6ZSkgeyBAaWYgKHNoZWxsYmFyRGF0YSkge1xuPGJ0LWJhcnNhLXNoZWxsYmFyXG4gICAgW2NsYXNzLnNlcnZpY2UtZGVza109XCJpc1NlcnZpY2VEZXNrXCJcbiAgICBbY3NzVXJsXT1cImNzc1VybCQgfCBhc3luY1wiXG4gICAgW2Nzc0N1c3RvbVVybF09XCJjc3NDdXN0b21VcmwkIHwgYXN5bmNcIlxuICAgIFt1c2VyTG9nZ2VkSW5dPVwidHJ1ZVwiXG4gICAgW2FsbG93QW5vbnltb3VzXT1cImFsbG93QW5vbnltb3VzXCJcbiAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICBbc2hlbGxiYXJEYXRhXT1cInNoZWxsYmFyRGF0YVwiXG4gICAgW3Byb2R1Y3RNZW51Q29udHJvbF09XCJwcm9kdWN0TWVudUNvbnRyb2xcIlxuICAgIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiXG4gICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICBbaXNUYWJsZXRdPVwiaXNUYWJsZXRcIlxuICAgIFtpc0Rlc2t0b3BdPVwiaXNEZXNrdG9wXCJcbiAgICBbbXVsdGlMYW5ndWFnZXNdPVwibXVsdGlMYW5ndWFnZXNcIlxuICAgIFtub3RpZmljYXRpb25Db3VudF09XCIobm90aWZpY2F0aW9uc0NvdW50JCB8IGFzeW5jKSEhXCJcbiAgICBbbm90aWZpY2F0aW9uc109XCIobm90aWZpY2F0aW9ucyQgfCBhc3luYykgPz8gW11cIlxuICAgIFtub3RpZmNhdGlvbkxvYWRlZF09XCJub3RpZmNhdGlvbkxvYWRlZFwiXG4gICAgW25vdGlmaWNhdGlvbkxvYWRpbmddPVwiKG5vdGlmaWNhdGlvbkxvYWRpbmckIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbY3VsdHVyZXNdPVwiY3VsdHVyZXNcIlxuICAgIFtsb2dvXT1cImxvZ29cIlxuICAgIFthY3Rpb25zXT1cImFjdGlvbnNcIlxuICAgIFt1c2VyTWVudV09XCJ1c2VyTWVudVwiXG4gICAgW3Byb2R1Y3RTd2l0Y2hlcl09XCJwcm9kdWN0U3dpdGNoZXJcIlxuICAgIFtzdWJ0aXRsZV09XCJzdWJ0aXRsZVwiXG4gICAgW2lzU2VydmljZURlc2tdPVwiaXNTZXJ2aWNlRGVza1wiXG4gICAgW3NpZGVNZW51VGVtcGxhdGVdPVwiUXVpY2tBY2Nlc3NUZW1wbGF0ZVwiXG4gICAgW3Byb2R1Y3RNZW51SXRlbXMxXT1cInByb2R1Y3RNZW51SXRlbXMxXCJcbiAgICBbaXNPcGVuUXVpY2tBY2Nlc3NdPVwiaXNPcGVuUXVpY2tBY2Nlc3NcIlxuICAgIChpc09wZW5RdWlja0FjY2Vzc0NoYW5nZWQpPVwiaXNPcGVuUXVpY2tBY2Nlc3MgPSAkZXZlbnRcIlxuICAgIChjdWx0dXJlQ2hhbmdlZCk9XCJvbkN1bHR1cmVDaGFuZ2VkKCRldmVudClcIlxuICAgIChub3RpZmljYXRpb25WaWV3ZWQpPVwib25Ob3RpZmljYXRpb25JdGVtVmlld2VkKCRldmVudClcIlxuICAgIChub3RpZmlhdGlvbkFjdGlvbkNsaWNrKT1cIm9uTm90aWZpY2F0aW9uQWN0aW9uKCRldmVudClcIlxuICAgIChyZW1vdmVOb3RpZmljYXRpb24pPVwib25SZW1vdmVOb3RpZmljYXRpb25zKCRldmVudClcIlxuICAgIChub3RpZmljYXRpb25Mb2FkTW9yZSk9XCJvbk5vdGlmaWNhdGlvbkxvYWRNb3JlKClcIlxuICAgIChvcGVuTm90aWZpY2F0aW9uUGFuZWwpPVwib25IYW5kbGVPcGVuTm90aWZpY2F0aW9uUGFuZWwoKVwiXG4+XG48L2J0LWJhcnNhLXNoZWxsYmFyPlxufSB9IH0gfSBAZWxzZSB7IEBpZiAobm90aWZpY2F0aW9uc0NvdW50JCB8IGFzeW5jOyBhcyBub3RpZmljYXRpb25Db3VudCkge1xuPGJ0LWJhcnNhLXNoZWxsYmFyXG4gICAgW2NsYXNzLnNlcnZpY2UtZGVza109XCJpc1NlcnZpY2VEZXNrXCJcbiAgICBbY3NzVXJsXT1cIicnXCJcbiAgICBbY3NzQ3VzdG9tVXJdPVwiJydcIlxuICAgIFt1c2VyTG9nZ2VkSW5dPVwiZmFsc2VcIlxuICAgIFttdWx0aUxhbmd1YWdlc109XCJtdWx0aUxhbmd1YWdlc1wiXG4gICAgW3VzZXJNZW51XT1cInVzZXJNZW51XCJcbiAgICBbbG9nb109XCJsb2dvXCJcbiAgICBbcHJvZHVjdE1lbnVJdGVtczFdPVwicHJvZHVjdE1lbnVJdGVtczFcIlxuICAgIFthbGxvd0Fub255bW91c109XCJhbGxvd0Fub255bW91c1wiXG4gICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxuICAgIFtzaGVsbGJhckRhdGFdPVwic2hlbGxiYXJEYXRhXCJcbiAgICBbY3VsdHVyZXNdPVwiY3VsdHVyZXNcIlxuICAgIFtsb2dvXT1cImxvZ29cIlxuICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgW2lzVGFibGV0XT1cImlzVGFibGV0XCJcbiAgICBbaXNEZXNrdG9wXT1cImlzRGVza3RvcFwiXG4gICAgW2lzU2VydmljZURlc2tdPVwiaXNTZXJ2aWNlRGVza1wiXG4gICAgW2FjdGlvbnNdPVwiYWN0aW9uc1wiXG4gICAgW3VzZXJNZW51XT1cInVzZXJNZW51XCJcbiAgICBbcHJvZHVjdE1lbnVDb250cm9sXT1cInByb2R1Y3RNZW51Q29udHJvbFwiXG4gICAgW3Byb2R1Y3RTd2l0Y2hlcl09XCJwcm9kdWN0U3dpdGNoZXJcIlxuICAgIFtzdWJ0aXRsZV09XCJzdWJ0aXRsZVwiXG4gICAgW3NldHRpbmdzXT1cInNldHRpbmdzXCJcbiAgICBbbm90aWZpY2F0aW9uQ291bnRdPVwieyB1bnJlYWQ6IDAsIGFsbDogMCB9XCJcbiAgICBbbm90aWZpY2F0aW9uc109XCJbXVwiXG4gICAgW25vdGlmY2F0aW9uTG9hZGVkXT1cInRydWVcIlxuICAgIFtub3RpZmljYXRpb25Mb2FkaW5nXT1cImZhbHNlXCJcbiAgICBbaGlkZVNoZWxsYmFyQWN0aW9uc109XCJ0cnVlXCJcbiAgICBbY3VsdHVyZXNdPVwiY3VsdHVyZXNcIlxuICAgIFtwcm9kdWN0TWVudUl0ZW1zMV09XCJwcm9kdWN0TWVudUl0ZW1zMVwiXG4gICAgKGN1bHR1cmVDaGFuZ2VkKT1cIm9uQ3VsdHVyZUNoYW5nZWQoJGV2ZW50KVwiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBpZD1cImxvZ2luX2J0blwiXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBbbGFiZWxdPVwiJ9mI2LHZiNivJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIGdseXBoPVwicGVyc29uLXBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiW2xvZ2luUm91dGVyTGluayQgfCBhc3luY11cIlxuICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICA+PC9idXR0b24+XG48L2J0LWJhcnNhLXNoZWxsYmFyPlxufSB9XG48bmctdGVtcGxhdGUgI1F1aWNrQWNjZXNzVGVtcGxhdGU+XG4gICAgQGlmICgobm90aWZpY2F0aW9uTG9hZGluZyQgfCBhc3luYykgPT09IHRydWUpIHtcbiAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMHB4XCI+XG4gICAgICAgIDxic3UtbWFzayBzaXplPVwic1wiPjwvYnN1LW1hc2s+XG4gICAgPC9kaXY+XG4gICAgfVxuICAgIDxidC1wb3BvdmVyLWFwcC1maW5kZXIgKGNsb3NlTWVudSk9XCJpc09wZW5RdWlja0FjY2VzcyA9IGZhbHNlXCI+PC9idC1wb3BvdmVyLWFwcC1maW5kZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9zaGVsbGJhci9zaGVsbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3NoZWxsYmFyL3NoZWxsYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUNILGlCQUFpQixFQUtwQixNQUFNLHVCQUF1QixDQUFDO0FBRy9CLE9BQU8sRUFDSCxhQUFhLEVBQ2IsUUFBUSxFQU1SLFdBQVcsRUFNWCxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNwQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFxQjlCLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBa0NoRCxJQUFJLFFBQVE7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDN0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWM7Z0JBQ25DLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZ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LE9BQU8sQ0FBQztnQkFDbEUsQ0FBQyxDQUFDLEVBQUU7U0FDWCxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFDTyxjQUFjLENBQUMsT0FBZSxDQUFDLDZCQUE2QjtRQUNoRSxRQUFRLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBdk9RLGlCQUFpQiw0T0FzR2QsV0FBVztrR0F0R2QsaUJBQWlCLHNHQUNmLGlCQUFpQixnUEFFNEIsV0FBVyxrRUM3RHZFLDhoSEE0RkE7OzJGRGxDYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzswQkF3RzFDLE1BQU07MkJBQUMsV0FBVzt5Q0FyR08saUJBQWlCO3NCQUE5QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDc0IsZ0JBQWdCO3NCQUFqRSxTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDdUIsb0JBQW9CO3NCQUExRixTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIE9uSW5pdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgQ29tYm9ib3hDb21wb25lbnQsXG4gICAgUG9wb3ZlckNvbXBvbmVudCxcbiAgICBQcm9kdWN0U3dpdGNoSXRlbSxcbiAgICBTaGVsbGJhck1lbnVJdGVtLFxuICAgIFNoZWxsYmFyVXNlclxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIEJhcnNhQXBpLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgRmlsZVBpY3R1cmVJbmZvTW9kZWwsXG4gICAgTW9Gb3JSZXBvcnRNb2RlbCxcbiAgICBQb3J0YWxTZXJ2aWNlLFxuICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgIEFQUF9WRVJTSU9OLFxuICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgTm90aWZpY2F0aW9uSXRlbSxcbiAgICBOb3RpZmljYXRpb25BY3Rpb24sXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXG4gICAgZ2V0RGV2aWNlSXNEZXNrdG9wLFxuICAgIGdldERldmljZUlzVGFibGV0XG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuaW1wb3J0IHsgVGlsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vdGlsZXMuc2VydmljZSc7XG5cbmludGVyZmFjZSBTaGVsbGJhclNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIGNhbGNTdWJ0aXRsZTogc3RyaW5nO1xuICAgIGxvZ286IEZpbGVQaWN0dXJlSW5mb01vZGVsO1xuICAgIFByb2R1Y3RTd2l0Y2hJdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBQcm9kdWN0TWVudUl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIFVzZXJNZW51SXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgQWN0aW9uSXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgU2lkZWJhclJlcG9ydDogTWV0YW9iamVjdERhdGFNb2RlbDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidC1zaGVsbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaGVsbGJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsYmFyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZChDb21ib2JveENvbXBvbmVudCkgY29tYm9ib3hDb21wb25lbnQ6IENvbWJvYm94Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ3BvcG92ZXJDb21wb25lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wb3ZlckNvbXBvbmVudDogUG9wb3ZlckNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdub3RpZmljYXRpb25zRGlhbG9nJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIF9ub3RpZmljYXRpb25zRGlhbG9nOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHNoZWxsYmFyRGF0YTogU2hlbGxiYXJTZXR0aW5nO1xuICAgIHNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIGlzT3Blbk5vdGlmaWNhdG9pbiA9IGZhbHNlO1xuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XG4gICAgcHJvZHVjdE1lbnVDb250cm9sOiBzdHJpbmc7XG4gICAgdXNlcjogU2hlbGxiYXJVc2VyID0ge1xuICAgICAgICBpbml0aWFsczogJ1dXJyxcbiAgICAgICAgY29sb3JBY2NlbnQ6IDFcbiAgICB9O1xuXG4gICAgcHJvZHVjdE1lbnVJdGVtczE6IFNoZWxsYmFyTWVudUl0ZW1bXTtcbiAgICB1c2VyTG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGNzc1VybCQ6IE9ic2VydmFibGU8U2FmZVJlc291cmNlVXJsIHwgbnVsbD47XG4gICAgY3NzQ3VzdG9tVXJsJDogT2JzZXJ2YWJsZTxTYWZlUmVzb3VyY2VVcmwgfCBudWxsPjtcbiAgICBhbGxvd0Fub255bW91cyA9IHRydWU7XG4gICAgY3VsdHVyZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgbm90aWZpY2F0aW9uc0NvdW50JDogT2JzZXJ2YWJsZTx7IHVucmVhZDogbnVtYmVyOyBhbGw6IG51bWJlciB9PjtcbiAgICBub3RpZmljYXRpb25zJDogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25JdGVtW10+O1xuICAgIG5vdGlmaWNhdGlvbkxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIG5vdGlmY2F0aW9uTG9hZGVkID0gZmFsc2U7XG4gICAgbm90aWZpYXRpb25Db3VudExvYWRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgX3ZpZXdlZE5vdGlmaWNhdGlvbnMkID0gbmV3IFN1YmplY3Q8Tm90aWZpY2F0aW9uSXRlbT4oKTtcbiAgICBfdmlld2VkTm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uSXRlbVtdID0gW107XG4gICAgYm9keUNsaWNrID0gJzskKFwiYm9keVwiKS5jbGljaygpJztcbiAgICBpc01vYmlsZSA9IGdldERldmljZUlzTW9iaWxlKCk7XG4gICAgaXNEZXNrdG9wID0gZ2V0RGV2aWNlSXNEZXNrdG9wKCk7XG4gICAgaXNUYWJsZXQgPSBnZXREZXZpY2VJc1RhYmxldCgpO1xuICAgIGxvZ2luUm91dGVyTGluayQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBpc1NlcnZpY2VEZXNrID0gZmFsc2U7XG4gICAgaXNPcGVuUXVpY2tBY2Nlc3MgPSBmYWxzZTtcbiAgICBnZXQgc3VidGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLnNoZWxsYmFyRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUgPT09ICdzJyAmJiB0aGlzLnNoZWxsYmFyRGF0YS5Nb2JpbGVTdWJ0aXRsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhLk1vYmlsZVN1YnRpdGxlXG4gICAgICAgICAgICAgICAgPyBgJHt0aGlzLnNoZWxsYmFyRGF0YS5Nb2JpbGVTdWJ0aXRsZX0gJHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaGVsbGJhckRhdGE/LmNhbGNTdWJ0aXRsZSA9PT0gJ3N0cmluZycgPyB0aGlzLnNoZWxsYmFyRGF0YS5jYWxjU3VidGl0bGUgOiAnJ1xuICAgICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgICA6ICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNoZWxsYmFyRGF0YS5TdWJ0aXRsZVxuICAgICAgICAgICAgPyBgJHt0aGlzLnNoZWxsYmFyRGF0YT8uU3VidGl0bGV9ICR7XG4gICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaGVsbGJhckRhdGE/LmNhbGNTdWJ0aXRsZSA9PT0gJ3N0cmluZycgPyB0aGlzLnNoZWxsYmFyRGF0YS5jYWxjU3VidGl0bGUgOiAnJ1xuICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG4gICAgZ2V0IGxvZ28oKTogeyBGaWxlSWQ6IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhPy5Mb2dvO1xuICAgIH1cbiAgICBnZXQgYWN0aW9ucygpOiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5IaWRlVXNlck1lbnUgPyBbXSA6IHRoaXMuc2hlbGxiYXJEYXRhPy5BY3Rpb25JdGVtcz8uTW9EYXRhTGlzdCA/PyBbXTtcbiAgICB9XG4gICAgZ2V0IHNpZGViYXJTZXR0aW5ncygpOiBudWxsIHwgYW55IHtcbiAgICAgICAgaWYgKCF0aGlzLnNoZWxsYmFyRGF0YT8uU2lkZWJhclJlcG9ydD8uSWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBSZWxhdGVkUmVwb3J0OiB7IElkOiB0aGlzLnNoZWxsYmFyRGF0YT8uU2lkZWJhclJlcG9ydD8uSWQsICRDYXB0aW9uOiAnJyB9LFxuICAgICAgICAgICAgUm93Q2xpY2s6ICcnLFxuICAgICAgICAgICAgRGF0YU9ubHk6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfVxuICAgIGdldCB1c2VyTWVudSgpOiB7IHRleHQ6IHN0cmluZzsgY2FsbGJhY2s6ICgpID0+IHZvaWQgfVtdIHtcbiAgICAgICAgY29uc3QgbW9EYXRhTGlzdCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuc2hlbGxiYXJEYXRhLCAnVXNlck1lbnVJdGVtcy5Nb0RhdGFMaXN0Jyk7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gbW9EYXRhTGlzdCA/IFsuLi5tb0RhdGFMaXN0XSA6IFtdO1xuICAgICAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICAgIGMudGV4dCA9IHRoaXMuX2JiYlRyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKGMudGV4dCk7XG4gICAgICAgICAgICBjLmNhbGxiYWNrID0gbmV3IEZ1bmN0aW9uKGMuQ29kZSArIHRoaXMuYm9keUNsaWNrKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc0Fub255bW91cyAmJiBCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzVXNlckxvZ2dlZEluKSB7XG4gICAgICAgICAgICBpdGVtcy5zcGxpY2UoMCwgMCwgeyBJZDogJy0xJywgJENhcHRpb246ICcnLCB0ZXh0OiBCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLlVzZXJEaXNwbGF5TmFtZSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5ncz8uSGlkZVVzZXJNZW51ID8gW10gOiAoaXRlbXMgYXMgYW55KTtcbiAgICB9XG4gICAgZ2V0IHByb2R1Y3RTd2l0Y2hlcigpOiBQcm9kdWN0U3dpdGNoSXRlbVtdIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnNoZWxsYmFyRGF0YT8uUHJvZHVjdFN3aXRjaEl0ZW1zPy5Nb0RhdGFMaXN0ID8/IFtdKSBhcyB1bmtub3duIGFzIFByb2R1Y3RTd2l0Y2hJdGVtW107XG4gICAgfVxuICAgIGdldCBtdWx0aUxhbmd1YWdlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhPy5NdWx0aUxhbmd1YWdlcztcbiAgICB9XG4gICAgZ2V0IHByb2R1Y3RNZW51SXRlbXMoKTogU2hlbGxiYXJNZW51SXRlbVtdIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLnNoZWxsYmFyRGF0YT8uUHJvZHVjdE1lbnVJdGVtcz8uTW9EYXRhTGlzdCA/PyBbXTtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoYykgPT4gKGMuY2FsbGJhY2sgPSBuZXcgRnVuY3Rpb24oYy5Db2RlICsgdGhpcy5ib2R5Q2xpY2spKSk7XG4gICAgICAgIHJldHVybiBpdGVtcyBhcyB1bmtub3duIGFzIFNoZWxsYmFyTWVudUl0ZW1bXTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfYmJiVHJhbnNsYXRlUGlwZTogQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgcHJpdmF0ZSBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfYnJlYWRDcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF90aWxlc1NlcnZpY2U6IFRpbGVzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByaXZhdGUgX25vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoQVBQX1ZFUlNJT04pIHB1YmxpYyBhcHBWZXJzaW9uOiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnVzZXJMb2dnZWRJbiQ7XG4gICAgICAgIHRoaXMubm90aWZpYXRpb25Db3VudExvYWRlZCQgPSB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLm5vdGlmaWNhdGlvbkNvdW50TG9hZGVkJDtcbiAgICAgICAgdGhpcy5fdmlld2VkTm90aWZpY2F0aW9ucyRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICB0YXAoKGl0ZW0pID0+IHRoaXMuX3ZpZXdlZE5vdGlmaWNhdGlvbnMucHVzaChpdGVtKSksXG4gICAgICAgICAgICAgICAgbWFwKChpdGVtKSA9PiB0aGlzLl92aWV3ZWROb3RpZmljYXRpb25zKSxcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMjAwMCksXG4gICAgICAgICAgICAgICAgbWFwKChpdGVtcykgPT4gaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLlRhZykpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh0YWdzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld2VkTm90aWZpY2F0aW9ucyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uuc2V0Tm90aWZpY2F0aW9uVmlld2VkKHRhZ3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5pc1NlcnZpY2VEZXNrID0gQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1NlcnZpY2VEZXNrO1xuXG4gICAgICAgIHRoaXMuY3VsdHVyZXMgPSBCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLkN1bHR1cmVzO1xuICAgICAgICB0aGlzLmNzc1VybCQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmNzc1VybCQ7XG4gICAgICAgIHRoaXMuY3NzQ3VzdG9tVXJsJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuY3NzQ3VzdG9tVXJsJDtcbiAgICAgICAgdGhpcy5sb2dpblJvdXRlckxpbmskID0gdGhpcy5fcG9ydGFsU2VydmljZS5sb2dpblJvdXRlJDtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zQ291bnQkID0gdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5ub3RpZmljYXRpb25Db3VudCQ7XG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9uQ291bnQkLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25Mb2FkaW5nJCA9IHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9uTG9hZGluZyQ7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9ucyQgPSB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLm5vdGlmaWNhdGlvbnMkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICBtYXAoKG5vdGlmaWNhdGlvbnMpID0+IHRoaXMuX21hcE5vdGlmaWNhdGlvbnMobm90aWZpY2F0aW9ucykpXG4gICAgICAgICk7XG4gICAgICAgIEJhcnNhQXBpLkJ3LlNldFVzZXJQb3J0YWxTZXR0aW5ncyA9ICh1c2VyUG9ydGFsU2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2Uuc2V0VXNlclBvcnRhbFNldHRpbmdzKHVzZXJQb3J0YWxTZXR0aW5ncyk7XG4gICAgICAgIH07XG4gICAgICAgIEJhcnNhQXBpLkJ3LlNldFNoZWxsYmFyU3VidGl0bGUgPSAoY2FsY1N1YnRpdGxlOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hlbGxiYXJEYXRhLmNhbGNTdWJ0aXRsZSA9IGNhbGNTdWJ0aXRsZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcblxuICAgICAgICB0aGlzLl9icmVhZENydW1iU2VydmljZS5icmVhZGNydW1icyQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoYnJlYWRDcnVtYnMpID0+IHtcbiAgICAgICAgICAgIGlmIChicmVhZENydW1icy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0TWVudUNvbnRyb2wgPSBicmVhZENydW1ic1ticmVhZENydW1icy5sZW5ndGggLSAxXS5sYWJlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zaGVsbGJhciQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hlbGxiYXJEYXRhID0gbW8gYXMgU2hlbGxiYXJTZXR0aW5nO1xuICAgICAgICAgICAgLy8gdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIGZvcmtKb2luKFtvZih0aGlzLnByb2R1Y3RNZW51SXRlbXMpLCBvZihbXSldKSAvLyB0byBhcHBlbmQgdXNlciBkZWZpbmVkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbczEsIHMyXSkgPT4gWy4uLnMxLCAuLi5zMl0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0TWVudUl0ZW1zMSA9IGM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5hbGxvd0Fub255bW91cykge1xuICAgICAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLmxvYWRTaGVsbGJhcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UudXNlckxvZ2dlZEluJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChsb2dnZWRJbikgPT4ge1xuICAgICAgICAgICAgaWYgKCFsb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5sb2FkU2hlbGxiYXIoKTtcbiAgICAgICAgICAgIHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2UubG9hZFVucmVhZE5vdGlmaWNhdGlvbkNvdW50KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ3VsdHVyZUNoYW5nZShjdWx0dXJlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZUN1bHR1cmUoY3VsdHVyZSk7XG4gICAgfVxuICAgIG9uU2hvd05vdGlmaWNhdGlvbihlOiB7IHRhZzogc3RyaW5nOyBtbzogTWV0YW9iamVjdERhdGFNb2RlbDsgbmFtYTogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW5Ob3RpZmljYXRvaW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5TaG93Tm90aWZpY2F0aW9uUmVsYXRlZE1vKGUpO1xuICAgIH1cbiAgICBvbk5vdGlmaWNhdGlvbkl0ZW1WaWV3ZWQodmlld2VkTW86IE5vdGlmaWNhdGlvbkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmlld2VkTm90aWZpY2F0aW9ucyQubmV4dCh2aWV3ZWRNbyk7XG4gICAgfVxuXG4gICAgb25SZW1vdmVOb3RpZmljYXRpb25zKGU6IHsgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTsgc2lsZW50OiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5yZW1vdmVOb3RpZmljYXRpb24oZS5pdGVtcyk7XG4gICAgfVxuICAgIG9uT3Blbk5vdGlmaWNhdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc09wZW5Ob3RpZmljYXRvaW4gPSB0cnVlO1xuICAgICAgICB0aGlzLl9oYW5kbGVPcGVuTm90aWZpY2F0aW9uUGFuZWwoKTtcbiAgICB9O1xuICAgIG9uTm90aWZpY2F0aW9uQWN0aW9uKGU6IHsgaXRlbTogTm90aWZpY2F0aW9uSXRlbTsgYnRuOiBOb3RpZmljYXRpb25BY3Rpb24gfSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLkV4ZWN1dGVOb3RpZmljYXRpb25BY3Rpb24oZS5pdGVtLlRhZywgZS5idG4uVGl0bGUpO1xuICAgIH1cbiAgICBvbkN1bHR1cmVDaGFuZ2VkID0gKGN1bHR1cmU6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLl9jaGFuZ2VDdWx0dXJlKGN1bHR1cmUpO1xuICAgIH07XG4gICAgb25Ob3RpZmljYXRpb25Mb2FkTW9yZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5sb2FkTW9yZSgpO1xuICAgIH1cbiAgICBvbk5vdGlmaWNhdGlvbldvcmtmbG93Q2hvaWNlU3VjY2VzcyhyZXN1bHQpOiB2b2lkIHt9XG4gICAgb25Ob3RpZmljYXRpb25Xb3JrZmxvd0Nob2ljZUZhaWxlZChlcnIpOiB2b2lkIHt9XG5cbiAgICBvbkhhbmRsZU9wZW5Ob3RpZmljYXRpb25QYW5lbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGFuZGxlT3Blbk5vdGlmaWNhdGlvblBhbmVsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFuZGxlT3Blbk5vdGlmaWNhdGlvblBhbmVsKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ub3RpZmNhdGlvbkxvYWRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubm90aWZjYXRpb25Mb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLmxvYWROb3RpZmljYXRpb25zKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX21hcE5vdGlmaWNhdGlvbnMobm90aWZpY2F0aW9ucyk6IE5vdGlmaWNhdGlvbkl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBub3RpZmljYXRpb25zLm1hcCgobm90aWZpY2F0aW9uKSA9PiAoe1xuICAgICAgICAgICAgLi4ubm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgY29udGVudFNhZmVIdG1sOiBub3RpZmljYXRpb24uQ29udGVudFxuICAgICAgICAgICAgICAgID8gdGhpcy5fZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vdGlmaWNhdGlvbi5Db250ZW50KVxuICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jaGFuZ2VDdWx0dXJlKGN1bHR1cmU6IHN0cmluZyAvKiBjdWx0dXJlIHNhbXBsZSA6RW5nbGlzaCAqLyk6IHZvaWQge1xuICAgICAgICBCYXJzYUFwaS5Cdy5TZXRDdWx0dXJlQnlEaXNwbGF5TmFtZShjdWx0dXJlKTtcbiAgICAgICAgQmFyc2FBcGkuQncuTmF2aWdhdGVUbygnLycpO1xuICAgIH1cbn1cbiIsIkBpZiAodXNlckxvZ2dlZEluJCB8IGFzeW5jOyBhcyB1c2VybG9nZ2VuZCkgeyBAaWYgKG5vdGlmaWF0aW9uQ291bnRMb2FkZWQkIHwgYXN5bmM7IGFzIG5vdGlmaWF0aW9uQ291bnRMb2FkZWQpIHsgQGlmXG4oZGV2aWNlU2l6ZSQgfCBhc3luYzsgYXMgZGV2aWNlU2l6ZSkgeyBAaWYgKHNoZWxsYmFyRGF0YSkge1xuPGJ0LWJhcnNhLXNoZWxsYmFyXG4gICAgW2NsYXNzLnNlcnZpY2UtZGVza109XCJpc1NlcnZpY2VEZXNrXCJcbiAgICBbY3NzVXJsXT1cImNzc1VybCQgfCBhc3luY1wiXG4gICAgW2Nzc0N1c3RvbVVybF09XCJjc3NDdXN0b21VcmwkIHwgYXN5bmNcIlxuICAgIFt1c2VyTG9nZ2VkSW5dPVwidHJ1ZVwiXG4gICAgW2FsbG93QW5vbnltb3VzXT1cImFsbG93QW5vbnltb3VzXCJcbiAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICBbc2hlbGxiYXJEYXRhXT1cInNoZWxsYmFyRGF0YVwiXG4gICAgW3Byb2R1Y3RNZW51Q29udHJvbF09XCJwcm9kdWN0TWVudUNvbnRyb2xcIlxuICAgIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiXG4gICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICBbaXNUYWJsZXRdPVwiaXNUYWJsZXRcIlxuICAgIFtpc0Rlc2t0b3BdPVwiaXNEZXNrdG9wXCJcbiAgICBbbXVsdGlMYW5ndWFnZXNdPVwibXVsdGlMYW5ndWFnZXNcIlxuICAgIFtub3RpZmljYXRpb25Db3VudF09XCIobm90aWZpY2F0aW9uc0NvdW50JCB8IGFzeW5jKSEhXCJcbiAgICBbbm90aWZpY2F0aW9uc109XCIobm90aWZpY2F0aW9ucyQgfCBhc3luYykgPz8gW11cIlxuICAgIFtub3RpZmNhdGlvbkxvYWRlZF09XCJub3RpZmNhdGlvbkxvYWRlZFwiXG4gICAgW25vdGlmaWNhdGlvbkxvYWRpbmddPVwiKG5vdGlmaWNhdGlvbkxvYWRpbmckIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbY3VsdHVyZXNdPVwiY3VsdHVyZXNcIlxuICAgIFtsb2dvXT1cImxvZ29cIlxuICAgIFthY3Rpb25zXT1cImFjdGlvbnNcIlxuICAgIFt1c2VyTWVudV09XCJ1c2VyTWVudVwiXG4gICAgW3Byb2R1Y3RTd2l0Y2hlcl09XCJwcm9kdWN0U3dpdGNoZXJcIlxuICAgIFtzdWJ0aXRsZV09XCJzdWJ0aXRsZVwiXG4gICAgW2lzU2VydmljZURlc2tdPVwiaXNTZXJ2aWNlRGVza1wiXG4gICAgW3NpZGVNZW51VGVtcGxhdGVdPVwiUXVpY2tBY2Nlc3NUZW1wbGF0ZVwiXG4gICAgW3Byb2R1Y3RNZW51SXRlbXMxXT1cInByb2R1Y3RNZW51SXRlbXMxXCJcbiAgICBbaXNPcGVuUXVpY2tBY2Nlc3NdPVwiaXNPcGVuUXVpY2tBY2Nlc3NcIlxuICAgIChpc09wZW5RdWlja0FjY2Vzc0NoYW5nZWQpPVwiaXNPcGVuUXVpY2tBY2Nlc3MgPSAkZXZlbnRcIlxuICAgIChjdWx0dXJlQ2hhbmdlZCk9XCJvbkN1bHR1cmVDaGFuZ2VkKCRldmVudClcIlxuICAgIChub3RpZmljYXRpb25WaWV3ZWQpPVwib25Ob3RpZmljYXRpb25JdGVtVmlld2VkKCRldmVudClcIlxuICAgIChub3RpZmlhdGlvbkFjdGlvbkNsaWNrKT1cIm9uTm90aWZpY2F0aW9uQWN0aW9uKCRldmVudClcIlxuICAgIChyZW1vdmVOb3RpZmljYXRpb24pPVwib25SZW1vdmVOb3RpZmljYXRpb25zKCRldmVudClcIlxuICAgIChub3RpZmljYXRpb25Mb2FkTW9yZSk9XCJvbk5vdGlmaWNhdGlvbkxvYWRNb3JlKClcIlxuICAgIChvcGVuTm90aWZpY2F0aW9uUGFuZWwpPVwib25IYW5kbGVPcGVuTm90aWZpY2F0aW9uUGFuZWwoKVwiXG4+XG48L2J0LWJhcnNhLXNoZWxsYmFyPlxufSB9IH0gfSBAZWxzZSB7IEBpZiAobm90aWZpY2F0aW9uc0NvdW50JCB8IGFzeW5jOyBhcyBub3RpZmljYXRpb25Db3VudCkge1xuPGJ0LWJhcnNhLXNoZWxsYmFyXG4gICAgW2NsYXNzLnNlcnZpY2UtZGVza109XCJpc1NlcnZpY2VEZXNrXCJcbiAgICBbY3NzVXJsXT1cIicnXCJcbiAgICBbY3NzQ3VzdG9tVXJdPVwiJydcIlxuICAgIFt1c2VyTG9nZ2VkSW5dPVwiZmFsc2VcIlxuICAgIFttdWx0aUxhbmd1YWdlc109XCJtdWx0aUxhbmd1YWdlc1wiXG4gICAgW3VzZXJNZW51XT1cInVzZXJNZW51XCJcbiAgICBbbG9nb109XCJsb2dvXCJcbiAgICBbcHJvZHVjdE1lbnVJdGVtczFdPVwicHJvZHVjdE1lbnVJdGVtczFcIlxuICAgIFthbGxvd0Fub255bW91c109XCJhbGxvd0Fub255bW91c1wiXG4gICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxuICAgIFtzaGVsbGJhckRhdGFdPVwic2hlbGxiYXJEYXRhXCJcbiAgICBbY3VsdHVyZXNdPVwiY3VsdHVyZXNcIlxuICAgIFtsb2dvXT1cImxvZ29cIlxuICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgW2lzVGFibGV0XT1cImlzVGFibGV0XCJcbiAgICBbaXNEZXNrdG9wXT1cImlzRGVza3RvcFwiXG4gICAgW2lzU2VydmljZURlc2tdPVwiaXNTZXJ2aWNlRGVza1wiXG4gICAgW2FjdGlvbnNdPVwiYWN0aW9uc1wiXG4gICAgW3VzZXJNZW51XT1cInVzZXJNZW51XCJcbiAgICBbcHJvZHVjdE1lbnVDb250cm9sXT1cInByb2R1Y3RNZW51Q29udHJvbFwiXG4gICAgW3Byb2R1Y3RTd2l0Y2hlcl09XCJwcm9kdWN0U3dpdGNoZXJcIlxuICAgIFtzdWJ0aXRsZV09XCJzdWJ0aXRsZVwiXG4gICAgW3NldHRpbmdzXT1cInNldHRpbmdzXCJcbiAgICBbbm90aWZpY2F0aW9uQ291bnRdPVwieyB1bnJlYWQ6IDAsIGFsbDogMCB9XCJcbiAgICBbbm90aWZpY2F0aW9uc109XCJbXVwiXG4gICAgW25vdGlmY2F0aW9uTG9hZGVkXT1cInRydWVcIlxuICAgIFtub3RpZmljYXRpb25Mb2FkaW5nXT1cImZhbHNlXCJcbiAgICBbaGlkZVNoZWxsYmFyQWN0aW9uc109XCJ0cnVlXCJcbiAgICBbY3VsdHVyZXNdPVwiY3VsdHVyZXNcIlxuICAgIFtwcm9kdWN0TWVudUl0ZW1zMV09XCJwcm9kdWN0TWVudUl0ZW1zMVwiXG4gICAgKGN1bHR1cmVDaGFuZ2VkKT1cIm9uQ3VsdHVyZUNoYW5nZWQoJGV2ZW50KVwiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBpZD1cImxvZ2luX2J0blwiXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBbbGFiZWxdPVwiJ9mI2LHZiNivJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIGdseXBoPVwicGVyc29uLXBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiW2xvZ2luUm91dGVyTGluayQgfCBhc3luY11cIlxuICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICA+PC9idXR0b24+XG48L2J0LWJhcnNhLXNoZWxsYmFyPlxufSB9XG48bmctdGVtcGxhdGUgI1F1aWNrQWNjZXNzVGVtcGxhdGU+XG4gICAgQGlmICgobm90aWZpY2F0aW9uTG9hZGluZyQgfCBhc3luYykgPT09IHRydWUpIHtcbiAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMHB4XCI+XG4gICAgICAgIDxic3UtbWFzayBzaXplPVwic1wiPjwvYnN1LW1hc2s+XG4gICAgPC9kaXY+XG4gICAgfVxuICAgIDxibnJjLXJlcG9ydC1jb250YWluZXIgKm5nSWY9XCJzaWRlYmFyU2V0dGluZ3NcIiBbc2V0dGluZ3NdPVwic2lkZWJhclNldHRpbmdzXCI+IDwvYm5yYy1yZXBvcnQtY29udGFpbmVyPlxuICAgIDwhLS0gPGJ0LXBvcG92ZXItYXBwLWZpbmRlciAoY2xvc2VNZW51KT1cImlzT3BlblF1aWNrQWNjZXNzID0gZmFsc2VcIj48L2J0LXBvcG92ZXItYXBwLWZpbmRlcj4gLS0+XG48L25nLXRlbXBsYXRlPlxuIl19
|