@netgrif/components 6.4.0-rc.7 → 6.4.0
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/esm2020/lib/data-fields/user-field/user-default-field/user-default-field.component.mjs +3 -3
- package/esm2020/lib/data-fields/user-list-field/user-list-default-field/user-list-default-field.component.mjs +3 -3
- package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs +3 -3
- package/fesm2015/netgrif-components.mjs +6 -6
- package/fesm2015/netgrif-components.mjs.map +1 -1
- package/fesm2020/netgrif-components.mjs +6 -6
- package/fesm2020/netgrif-components.mjs.map +1 -1
- package/package.json +2 -2
package/esm2020/lib/data-fields/user-field/user-default-field/user-default-field.component.mjs
CHANGED
|
@@ -22,14 +22,14 @@ export class UserDefaultFieldComponent extends AbstractUserDefaultFieldComponent
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
UserDefaultFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UserDefaultFieldComponent, deps: [{ token: i1.MatDialog }, { token: i2.SnackBarService }, { token: i3.TranslateService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
UserDefaultFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UserDefaultFieldComponent, selector: "nc-user-default-field", usesInheritance: true, ngImport: i0, template: "<div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"100\" class=\"netgrif-user-padding\">\n <div #userLabel class=\"user-field-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'form-input-disabled': formControlRef.disabled, 'form-input-error': dataField.isInvalid(formControlRef)}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(userLabel),\n 'clip-path': getCutProperty(userLabel)\n }\">\n <button mat-icon-button\n *ngIf=\"!!dataField.value\"\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\"\n [matTooltip]=\"'dataField.
|
|
25
|
+
UserDefaultFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UserDefaultFieldComponent, selector: "nc-user-default-field", usesInheritance: true, ngImport: i0, template: "<div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"100\" class=\"netgrif-user-padding\">\n <div #userLabel class=\"user-field-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'form-input-disabled': formControlRef.disabled, 'form-input-error': dataField.isInvalid(formControlRef)}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(userLabel),\n 'clip-path': getCutProperty(userLabel)\n }\">\n <button mat-icon-button\n *ngIf=\"!!dataField.value && !formControlRef.disabled\"\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\"\n [matTooltip]=\"'dataField.user.deleteUser' | translate\"\n [class.do-not-click]=\"formControlRef.disabled\">\n <mat-icon (click)='deleteUser()' color='warn' *ngIf='!formControlRef.disabled'>close</mat-icon>\n </button>\n <button mat-icon-button\n *ngIf=\"!dataField.value && !formControlRef.disabled\"\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\"\n [matTooltip]=\"'dataField.user.selectUser' | translate\"\n [class.do-not-click]=\"formControlRef.disabled\">\n <mat-icon>person_add</mat-icon>\n </button>\n <span fxFlex class=\"input-name-ellipsis padding-left\" [ngClass]=\"{'input-placeholder': !!dataField.value, 'no-cursor': !!dataField.value && formControlRef.disabled}\">\n {{!!dataField.value ? dataField.value.fullName : 'dataField.user.selectUser' | translate}}</span>\n </div>\n <mat-hint class=\"user-hint-error\" [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\"\n *ngIf=\"!dataField.isInvalid(formControlRef) && hasHint()\">{{dataField.description}}</mat-hint>\n <mat-error class=\"user-hint-error\"\n *ngIf=\"dataField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n</div>\n", styles: [".do-not-click:hover{cursor:not-allowed}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-placeholder{color:#64748b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.padding-left{padding-left:8px}.form-input{background:#FFFFFF;color:#64748b;outline:none;border:1px solid #64748B;text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:8px 15px;box-sizing:border-box;height:44px}.form-input:hover{border-width:2px;padding-left:1px!important}.form-input-disabled{background:transparent!important;border-color:#cbd5e1!important}.form-input-disabled:hover{border-width:1px;padding:2px!important}.user-hint-error{font-size:75%;padding:0 1em;width:unset;position:absolute;margin-top:.5em;top:calc(100% - 2em)}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important;color:#64748b}.border-default{border-width:1px;border-style:solid;border-color:#000}@media only screen and (max-width: 959.99px){.input-name-ellipsis{word-break:break-word;white-space:normal;overflow-y:auto;max-height:40px}}.user-field-label{transform:translate(.4em,-.45em) scale(.75);transform-origin:left;color:#64748b;background:transparent;width:fit-content;padding:0 .5em;z-index:5;height:0;position:relative}.netgrif-user-padding{padding-bottom:13px;position:relative}\n"], components: [{ type: i4.RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i11.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i11.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i3.TranslatePipe } });
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UserDefaultFieldComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
|
-
args: [{ selector: 'nc-user-default-field', template: "<div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"100\" class=\"netgrif-user-padding\">\n <div #userLabel class=\"user-field-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'form-input-disabled': formControlRef.disabled, 'form-input-error': dataField.isInvalid(formControlRef)}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(userLabel),\n 'clip-path': getCutProperty(userLabel)\n }\">\n <button mat-icon-button\n *ngIf=\"!!dataField.value\"\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\"\n [matTooltip]=\"'dataField.
|
|
28
|
+
args: [{ selector: 'nc-user-default-field', template: "<div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"100\" class=\"netgrif-user-padding\">\n <div #userLabel class=\"user-field-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'form-input-disabled': formControlRef.disabled, 'form-input-error': dataField.isInvalid(formControlRef)}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(userLabel),\n 'clip-path': getCutProperty(userLabel)\n }\">\n <button mat-icon-button\n *ngIf=\"!!dataField.value && !formControlRef.disabled\"\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\"\n [matTooltip]=\"'dataField.user.deleteUser' | translate\"\n [class.do-not-click]=\"formControlRef.disabled\">\n <mat-icon (click)='deleteUser()' color='warn' *ngIf='!formControlRef.disabled'>close</mat-icon>\n </button>\n <button mat-icon-button\n *ngIf=\"!dataField.value && !formControlRef.disabled\"\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\"\n [matTooltip]=\"'dataField.user.selectUser' | translate\"\n [class.do-not-click]=\"formControlRef.disabled\">\n <mat-icon>person_add</mat-icon>\n </button>\n <span fxFlex class=\"input-name-ellipsis padding-left\" [ngClass]=\"{'input-placeholder': !!dataField.value, 'no-cursor': !!dataField.value && formControlRef.disabled}\">\n {{!!dataField.value ? dataField.value.fullName : 'dataField.user.selectUser' | translate}}</span>\n </div>\n <mat-hint class=\"user-hint-error\" [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\"\n *ngIf=\"!dataField.isInvalid(formControlRef) && hasHint()\">{{dataField.description}}</mat-hint>\n <mat-error class=\"user-hint-error\"\n *ngIf=\"dataField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n</div>\n", styles: [".do-not-click:hover{cursor:not-allowed}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-placeholder{color:#64748b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.padding-left{padding-left:8px}.form-input{background:#FFFFFF;color:#64748b;outline:none;border:1px solid #64748B;text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:8px 15px;box-sizing:border-box;height:44px}.form-input:hover{border-width:2px;padding-left:1px!important}.form-input-disabled{background:transparent!important;border-color:#cbd5e1!important}.form-input-disabled:hover{border-width:1px;padding:2px!important}.user-hint-error{font-size:75%;padding:0 1em;width:unset;position:absolute;margin-top:.5em;top:calc(100% - 2em)}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important;color:#64748b}.border-default{border-width:1px;border-style:solid;border-color:#000}@media only screen and (max-width: 959.99px){.input-name-ellipsis{word-break:break-word;white-space:normal;overflow-y:auto;max-height:40px}}.user-field-label{transform:translate(.4em,-.45em) scale(.75);transform-origin:left;color:#64748b;background:transparent;width:fit-content;padding:0 .5em;z-index:5;height:0;position:relative}.netgrif-user-padding{padding-bottom:13px;position:relative}\n"] }]
|
|
29
29
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.SnackBarService }, { type: i3.TranslateService }, { type: undefined, decorators: [{
|
|
30
30
|
type: Optional
|
|
31
31
|
}, {
|
|
32
32
|
type: Inject,
|
|
33
33
|
args: [DATA_FIELD_PORTAL_DATA]
|
|
34
34
|
}] }]; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZWZhdWx0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL3VzZXItZmllbGQvdXNlci1kZWZhdWx0LWZpZWxkL3VzZXItZGVmYXVsdC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRhLWZpZWxkcy91c2VyLWZpZWxkL3VzZXItZGVmYXVsdC1maWVsZC91c2VyLWRlZmF1bHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFELE9BQU8sRUFDSCxzQkFBc0IsRUFJdEIsaUNBQWlDLEVBQ3BDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUVBQWlFLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRMUcsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGlDQUFpQztJQUU1RSxZQUFZLE1BQWlCLEVBQ2pCLFFBQXlCLEVBQ3pCLFNBQTJCLEVBQ2lCLG1CQUFtRDtRQUN2RyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sVUFBVTtRQUNiLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O3VIQVhRLHlCQUF5QiwwR0FLRixzQkFBc0I7MkdBTDdDLHlCQUF5QixvRkNqQnRDLHVoRkF1Q0E7NEZEdEJhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx1QkFBdUI7OzBCQVNsQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7XG4gICAgREFUQV9GSUVMRF9QT1JUQUxfREFUQSxcbiAgICBTbmFja0JhclNlcnZpY2UsXG4gICAgRGF0YUZpZWxkUG9ydGFsRGF0YSxcbiAgICBVc2VyRmllbGQsXG4gICAgQWJzdHJhY3RVc2VyRGVmYXVsdEZpZWxkQ29tcG9uZW50XG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge1VzZXJBc3NpZ25EaWFsb2dDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2RpYWxvZy91c2VyLWFzc2lnbi1kaWFsb2cvdXNlci1hc3NpZ24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmMtdXNlci1kZWZhdWx0LWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItZGVmYXVsdC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VzZXItZGVmYXVsdC1maWVsZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJEZWZhdWx0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFVzZXJEZWZhdWx0RmllbGRDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IoZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgICAgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBkYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPFVzZXJGaWVsZD4pIHtcbiAgICAgICAgc3VwZXIoZGlhbG9nLCBzbmFja2JhciwgdHJhbnNsYXRlLCBkYXRhRmllbGRQb3J0YWxEYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VXNlcigpIHtcbiAgICAgICAgc3VwZXIuc2VsZWN0QWJzdHJhY3RVc2VyKFVzZXJBc3NpZ25EaWFsb2dDb21wb25lbnQpO1xuICAgIH1cblxufVxuIiwiPGRpdiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0PVwicm93XCI+XG4gICAgPGRpdiBmeEZsZXg9XCIxMDBcIiBjbGFzcz1cIm5ldGdyaWYtdXNlci1wYWRkaW5nXCI+XG4gICAgICAgIDxkaXYgI3VzZXJMYWJlbCBjbGFzcz1cInVzZXItZmllbGQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J25ldGdyaWYtbGFiZWwtZGlzYWJsZWQnOiBmb3JtQ29udHJvbFJlZi5kaXNhYmxlZH1cIj5cbiAgICAgICAgICAgIHt7ZGF0YUZpZWxkLnRpdGxlfX1cbiAgICAgICAgICAgIDxuYy1yZXF1aXJlZC1sYWJlbCAqbmdJZj1cImRhdGFGaWVsZC5iZWhhdmlvci5yZXF1aXJlZFwiIFtpc0luXT1cIiFkYXRhRmllbGQuZGlzYWJsZWRcIj48L25jLXJlcXVpcmVkLWxhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taW5wdXQgYnV0dG9uLWljb24taW5wdXQgZnVsbC13aWR0aFwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXG4gICAgICAgICAgICAgW25nQ2xhc3NdPVwieydmb3JtLWlucHV0LWRpc2FibGVkJzogZm9ybUNvbnRyb2xSZWYuZGlzYWJsZWQsICdmb3JtLWlucHV0LWVycm9yJzogZGF0YUZpZWxkLmlzSW52YWxpZChmb3JtQ29udHJvbFJlZil9XCJcbiAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgICAgICctd2Via2l0LWNsaXAtcGF0aCc6IGdldEN1dFByb3BlcnR5KHVzZXJMYWJlbCksXG4gICAgICAgICAgICAgICAgICAgICdjbGlwLXBhdGgnOiBnZXRDdXRQcm9wZXJ0eSh1c2VyTGFiZWwpXG4gICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiEhZGF0YUZpZWxkLnZhbHVlICYmICFmb3JtQ29udHJvbFJlZi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtQ29udHJvbFJlZi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RVc2VyKClcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInZGF0YUZpZWxkLnVzZXIuZGVsZXRlVXNlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG8tbm90LWNsaWNrXT1cImZvcm1Db250cm9sUmVmLmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9J2RlbGV0ZVVzZXIoKScgY29sb3I9J3dhcm4nICpuZ0lmPSchZm9ybUNvbnRyb2xSZWYuZGlzYWJsZWQnPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZGF0YUZpZWxkLnZhbHVlICYmICFmb3JtQ29udHJvbFJlZi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtQ29udHJvbFJlZi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RVc2VyKClcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInZGF0YUZpZWxkLnVzZXIuc2VsZWN0VXNlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG8tbm90LWNsaWNrXT1cImZvcm1Db250cm9sUmVmLmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnBlcnNvbl9hZGQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9XCJpbnB1dC1uYW1lLWVsbGlwc2lzIHBhZGRpbmctbGVmdFwiIFtuZ0NsYXNzXT1cInsnaW5wdXQtcGxhY2Vob2xkZXInOiAhIWRhdGFGaWVsZC52YWx1ZSwgJ25vLWN1cnNvcic6ICEhZGF0YUZpZWxkLnZhbHVlICYmIGZvcm1Db250cm9sUmVmLmRpc2FibGVkfVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyEhZGF0YUZpZWxkLnZhbHVlID8gZGF0YUZpZWxkLnZhbHVlLmZ1bGxOYW1lIDogJ2RhdGFGaWVsZC51c2VyLnNlbGVjdFVzZXInIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWhpbnQgY2xhc3M9XCJ1c2VyLWhpbnQtZXJyb3JcIiBbbmdDbGFzc109XCJ7J21hdC1oaW50LWRpc2FibGVkJzogZm9ybUNvbnRyb2xSZWYuZGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRhdGFGaWVsZC5pc0ludmFsaWQoZm9ybUNvbnRyb2xSZWYpICYmIGhhc0hpbnQoKVwiPnt7ZGF0YUZpZWxkLmRlc2NyaXB0aW9ufX08L21hdC1oaW50PlxuICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwidXNlci1oaW50LWVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGFGaWVsZC5pc0ludmFsaWQoZm9ybUNvbnRyb2xSZWYpXCI+e3snZGF0YUZpZWxkLnZhbGlkYXRpb25zLnJlcXVpcmVkJyB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -26,14 +26,14 @@ export class UserListDefaultFieldComponent extends AbstractUserListDefaultFieldC
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
UserListDefaultFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UserListDefaultFieldComponent, deps: [{ token: i1.MatDialog }, { token: i2.SnackBarService }, { token: i3.TranslateService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
UserListDefaultFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UserListDefaultFieldComponent, selector: "nc-user-list-default-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"dataField.materialAppearance\" class=\"full-width\"
|
|
29
|
+
UserListDefaultFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UserListDefaultFieldComponent, selector: "nc-user-list-default-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"dataField.materialAppearance\" class=\"full-width\"\n [ngClass]=\"{'netgrif-chip-fix' : dataField.value?.userValues?.size > 0}\" color=\"primary\">\n <mat-label class=\"netgrif-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\"\n *ngIf=\"!showLargeLayout.value\">{{ dataField.title }}\n </mat-label>\n <button *ngIf=\"!formControlRef.disabled\" mat-icon-button matPrefix\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\"\n [matTooltip]=\"'dataField.user.selectUser' | translate\"\n [class.do-not-click]=\"formControlRef.disabled\">\n <mat-icon>how_to_reg</mat-icon>\n </button>\n <button *ngIf=\"!formControlRef.disabled\" mat-icon-button matPrefix\n [disabled]='formControlRef.disabled || !dataField.value || dataField?.value?.userValues?.size === 0'\n color='warn'\n (click)='removeAll()'\n [matTooltip]=\"'dataField.user.deleteAll' | translate\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n <mat-chip-list #chipList aria-label=\"Autocomplete\" [formControl]=\"formControlRef\">\n <mat-chip\n *ngFor='let user of dataField.value?.userValues | keyvalue' (removed)=\"deleteUser(user.key)\">\n {{ user.value.fullName }}\n <button *ngIf=\"!formControlRef.disabled\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n <input\n aria-label=\"Autocomplete\"\n matInput\n #input\n [placeholder]=\"dataField.placeholder\"\n [required]=\"dataField.behavior.required\"\n [matChipInputFor]=\"chipList\">\n </mat-chip-list>\n <mat-hint [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\">{{ dataField.description }}</mat-hint>\n <mat-error *ngIf='dataField.isInvalid(formControlRef)'>{{ 'dataField.validations.required' | translate }}\n </mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"], components: [{ type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }], directives: [{ type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatLabel, selector: "mat-label" }, { type: i4.MatPrefix, selector: "[matPrefix]" }, { type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i7.MatChipRemove, selector: "[matChipRemove]" }, { type: i12.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i4.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i3.TranslatePipe, "keyvalue": i8.KeyValuePipe } });
|
|
30
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UserListDefaultFieldComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
|
-
args: [{ selector: 'nc-user-list-default-field', template: "<mat-form-field [appearance]=\"dataField.materialAppearance\" class=\"full-width\"
|
|
32
|
+
args: [{ selector: 'nc-user-list-default-field', template: "<mat-form-field [appearance]=\"dataField.materialAppearance\" class=\"full-width\"\n [ngClass]=\"{'netgrif-chip-fix' : dataField.value?.userValues?.size > 0}\" color=\"primary\">\n <mat-label class=\"netgrif-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\"\n *ngIf=\"!showLargeLayout.value\">{{ dataField.title }}\n </mat-label>\n <button *ngIf=\"!formControlRef.disabled\" mat-icon-button matPrefix\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\"\n [matTooltip]=\"'dataField.user.selectUser' | translate\"\n [class.do-not-click]=\"formControlRef.disabled\">\n <mat-icon>how_to_reg</mat-icon>\n </button>\n <button *ngIf=\"!formControlRef.disabled\" mat-icon-button matPrefix\n [disabled]='formControlRef.disabled || !dataField.value || dataField?.value?.userValues?.size === 0'\n color='warn'\n (click)='removeAll()'\n [matTooltip]=\"'dataField.user.deleteAll' | translate\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n <mat-chip-list #chipList aria-label=\"Autocomplete\" [formControl]=\"formControlRef\">\n <mat-chip\n *ngFor='let user of dataField.value?.userValues | keyvalue' (removed)=\"deleteUser(user.key)\">\n {{ user.value.fullName }}\n <button *ngIf=\"!formControlRef.disabled\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n <input\n aria-label=\"Autocomplete\"\n matInput\n #input\n [placeholder]=\"dataField.placeholder\"\n [required]=\"dataField.behavior.required\"\n [matChipInputFor]=\"chipList\">\n </mat-chip-list>\n <mat-hint [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\">{{ dataField.description }}</mat-hint>\n <mat-error *ngIf='dataField.isInvalid(formControlRef)'>{{ 'dataField.validations.required' | translate }}\n </mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"] }]
|
|
33
33
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.SnackBarService }, { type: i3.TranslateService }, { type: undefined, decorators: [{
|
|
34
34
|
type: Optional
|
|
35
35
|
}, {
|
|
36
36
|
type: Inject,
|
|
37
37
|
args: [DATA_FIELD_PORTAL_DATA]
|
|
38
38
|
}] }]; } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LWRlZmF1bHQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWVsZHMvdXNlci1saXN0LWZpZWxkL3VzZXItbGlzdC1kZWZhdWx0LWZpZWxkL3VzZXItbGlzdC1kZWZhdWx0LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL3VzZXItbGlzdC1maWVsZC91c2VyLWxpc3QtZGVmYXVsdC1maWVsZC91c2VyLWxpc3QtZGVmYXVsdC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUNILHFDQUFxQyxFQUNyQyxzQkFBc0IsRUFJekIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQ0gsOEJBQThCLEVBQ2pDLE1BQU0sNkVBQTZFLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUXJGLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxxQ0FBcUM7SUFFcEYsWUFBWSxNQUFpQixFQUNqQixRQUF5QixFQUN6QixTQUEyQixFQUNpQixtQkFBdUQ7UUFDM0csS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OzJIQWZRLDZCQUE2QiwwR0FLTixzQkFBc0I7K0dBTDdDLDZCQUE2Qix5RkNuQjFDLGdrRUF3Q0E7NEZEckJhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSw0QkFBNEI7OzBCQVN2QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RVc2VyTGlzdERlZmF1bHRGaWVsZENvbXBvbmVudCxcbiAgICBEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLFxuICAgIERhdGFGaWVsZFBvcnRhbERhdGEsXG4gICAgU25hY2tCYXJTZXJ2aWNlLFxuICAgIFVzZXJMaXN0RmllbGRcbn0gZnJvbSBcIkBuZXRncmlmL2NvbXBvbmVudHMtY29yZVwiO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtcbiAgICBNdWx0aVVzZXJBc3NpZ25EaWFsb2dDb21wb25lbnRcbn0gZnJvbSAnLi4vLi4vLi4vZGlhbG9nL211bHRpLXVzZXItYXNzaWduLWRpYWxvZy9tdWx0aS11c2VyLWFzc2lnbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduYy11c2VyLWxpc3QtZGVmYXVsdC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWxpc3QtZGVmYXVsdC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VzZXItbGlzdC1kZWZhdWx0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVXNlckxpc3REZWZhdWx0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFVzZXJMaXN0RGVmYXVsdEZpZWxkQ29tcG9uZW50e1xuXG4gICAgY29uc3RydWN0b3IoZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgICAgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBkYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPFVzZXJMaXN0RmllbGQ+KSB7XG4gICAgICAgIHN1cGVyKGRpYWxvZywgc25hY2tiYXIsIHRyYW5zbGF0ZSwgZGF0YUZpZWxkUG9ydGFsRGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdFVzZXIoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWJzdHJhY3RVc2VyKE11bHRpVXNlckFzc2lnbkRpYWxvZ0NvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZVVzZXIodXNlcklkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBYnN0cmFjdFVzZXIodXNlcklkKTtcbiAgICB9XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJkYXRhRmllbGQubWF0ZXJpYWxBcHBlYXJhbmNlXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J25ldGdyaWYtY2hpcC1maXgnIDogZGF0YUZpZWxkLnZhbHVlPy51c2VyVmFsdWVzPy5zaXplID4gMH1cIiBjb2xvcj1cInByaW1hcnlcIj5cbiAgICA8bWF0LWxhYmVsIGNsYXNzPVwibmV0Z3JpZi1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnbmV0Z3JpZi1sYWJlbC1kaXNhYmxlZCc6IGZvcm1Db250cm9sUmVmLmRpc2FibGVkfVwiXG4gICAgICAgICAgICAgICAqbmdJZj1cIiFzaG93TGFyZ2VMYXlvdXQudmFsdWVcIj57eyBkYXRhRmllbGQudGl0bGUgfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICA8YnV0dG9uICpuZ0lmPVwiIWZvcm1Db250cm9sUmVmLmRpc2FibGVkXCIgbWF0LWljb24tYnV0dG9uIG1hdFByZWZpeFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1Db250cm9sUmVmLmRpc2FibGVkXCJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VXNlcigpXCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidkYXRhRmllbGQudXNlci5zZWxlY3RVc2VyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbY2xhc3MuZG8tbm90LWNsaWNrXT1cImZvcm1Db250cm9sUmVmLmRpc2FibGVkXCI+XG4gICAgICAgIDxtYXQtaWNvbj5ob3dfdG9fcmVnPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiIWZvcm1Db250cm9sUmVmLmRpc2FibGVkXCIgbWF0LWljb24tYnV0dG9uIG1hdFByZWZpeFxuICAgICAgICAgICAgW2Rpc2FibGVkXT0nZm9ybUNvbnRyb2xSZWYuZGlzYWJsZWQgfHwgIWRhdGFGaWVsZC52YWx1ZSB8fCBkYXRhRmllbGQ/LnZhbHVlPy51c2VyVmFsdWVzPy5zaXplID09PSAwJ1xuICAgICAgICAgICAgY29sb3I9J3dhcm4nXG4gICAgICAgICAgICAoY2xpY2spPSdyZW1vdmVBbGwoKSdcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidkYXRhRmllbGQudXNlci5kZWxldGVBbGwnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGVfb3V0bGluZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1jaGlwLWxpc3QgI2NoaXBMaXN0IGFyaWEtbGFiZWw9XCJBdXRvY29tcGxldGVcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xSZWZcIj5cbiAgICAgICAgPG1hdC1jaGlwXG4gICAgICAgICAgICAqbmdGb3I9J2xldCB1c2VyIG9mIGRhdGFGaWVsZC52YWx1ZT8udXNlclZhbHVlcyB8IGtleXZhbHVlJyAocmVtb3ZlZCk9XCJkZWxldGVVc2VyKHVzZXIua2V5KVwiPlxuICAgICAgICAgICAge3sgdXNlci52YWx1ZS5mdWxsTmFtZSB9fVxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFmb3JtQ29udHJvbFJlZi5kaXNhYmxlZFwiIG1hdENoaXBSZW1vdmU+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtY2hpcD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhRmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImRhdGFGaWVsZC5iZWhhdmlvci5yZXF1aXJlZFwiXG4gICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBMaXN0XCI+XG4gICAgPC9tYXQtY2hpcC1saXN0PlxuICAgIDxtYXQtaGludCBbbmdDbGFzc109XCJ7J21hdC1oaW50LWRpc2FibGVkJzogZm9ybUNvbnRyb2xSZWYuZGlzYWJsZWR9XCI+e3sgZGF0YUZpZWxkLmRlc2NyaXB0aW9uIH19PC9tYXQtaGludD5cbiAgICA8bWF0LWVycm9yICpuZ0lmPSdkYXRhRmllbGQuaXNJbnZhbGlkKGZvcm1Db250cm9sUmVmKSc+e3sgJ2RhdGFGaWVsZC52YWxpZGF0aW9ucy5yZXF1aXJlZCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
|
package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs
CHANGED
|
@@ -31,7 +31,7 @@ export class NavigationDoubleDrawerComponent extends AbstractNavigationDoubleDra
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
NavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationDoubleDrawerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BreakpointObserver }, { token: i3.LanguageService }, { token: i4.TranslateService }, { token: i3.UserService }, { token: i3.AccessService }, { token: i3.LoggerService }, { token: i3.ConfigurationService }, { token: i3.UriService }, { token: i3.CaseResourceService }, { token: i3.ImpersonationUserSelectService }, { token: i3.ImpersonationService }, { token: i3.DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
NavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: NavigationDoubleDrawerComponent, selector: "nc-navigation-double-drawer", usesInheritance: true, ngImport: i0, template: "<div class=\"drawer-control rail-color height-60\" [ngClass]=\"{'index-menu': !configLeftMenu.opened}\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"menu-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container deny-select\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active-tree-node\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span *ngIf=\"!user.isImpersonating()\" class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}}</span>\n <span *ngIf=\"user.isImpersonating()\" class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}} ({{user.getSelfOrImpersonated().fullName}})</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{user.email}}</span>\n </div>\n </div>\n <button *ngIf=\"includeImpersonation && !user.isImpersonating()\" mat-menu-item (click)=\"impersonate()\">\n <mat-icon>supervisor_account</mat-icon>\n <span>{{'side-menu.impersonation.submit' | translate}}</span>\n </button>\n <button *ngIf=\"includeImpersonation && user.isImpersonating()\" mat-menu-item (click)=\"stopImpersonating()\">\n <mat-icon>clear</mat-icon>\n <span>{{'side-menu.impersonation.cease' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\" class=\"menu-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" ></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of hiddenCustomItems; trackBy: itemsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active-tree-node\">\n <mat-icon>{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button mat-icon-button [matMenuTriggerFor]=\"railMenu\"\n class=\"menu-button mat-typography menu-font-color margin-bottom-x2\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n </div>\n </mat-sidenav>\n\n <mat-sidenav-content class=\"first-content index-menu\" >\n <mat-sidenav-container class=\"drawer-container\" (backdropClick)=\"toggleLeftMenu()\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content class=\"content-color\">\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n\n <div class=\"height-60 border-bottom\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleRightMenu()\" class=\"menu-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n\n <button mat-icon-button (click)=\"onHomeClick()\" class=\"menu-button mat-typography menu-font-color margin-top-default\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"menu-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n\n <button *ngFor='let folder of leftItems; trackBy: itemsTrackBy' mat-icon-button (click)=\"onItemClick(folder)\"\n class=\"menu-button mat-typography menu-font-color\" [matTooltip]=\"folder.navigation.title\" [matTooltipPosition]=\"'right'\"\n [ngClass]=\"isItemAndNodeEqual(folder, currentNode) ? 'rail-selected-color' : 'menu-font-color'\" [routerLink]='folder.routing.path'\n routerLinkActive=\"active\">\n <mat-icon>{{folder.navigation.icon}}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo border-bottom\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\">\n <div fxLayout=\"column\" fxLayoutAlign=\"end end\" class=\"order-icon-wrapper\">\n <button mat-icon-button fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"mat-button mat-typography menu-font-color order-icon\" (click)=\"switchOrder()\"\n [matTooltip]=\"isAscending() ? ('dynamicNavigation.ascending' | translate) : ('dynamicNavigation.descending' | translate)\">\n <mat-icon>{{isAscending() ? \"expand_more\" : \"expand_less\"}}</mat-icon>\n </button>\n </div>\n <div *ngFor='let item of rightItems; trackBy: itemsTrackBy' (click)=\"onItemClick(item)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" [routerLink]='item.routing.path'\n routerLinkActive=\"active-tree-node\">\n <mat-icon class=\"tree-node-icon\">{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n <div *ngIf=\"moreItems.length > 0\">\n <button mat-button color=\"primary\" (click)=\"loadMoreItems()\">{{'dynamicNavigation.loadMoreItems' | translate}}</button>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:52px;min-width:52px;border-right:none!important}.drawer-container{height:100%}.menu-button{margin-left:6px;margin-right:6px;border-radius:8px}.drawer-content{width:300px;min-width:300px;box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.height-60{height:60px}.drawer-control{position:absolute;box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.index-menu{z-index:2}.first-content{box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.border-bottom{border-bottom:1px solid #E2E8F0}.logo{height:60px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:35px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:10px 8px;margin:0 8px;color:#000000b3;position:relative;border-radius:8px;font-weight:500;font-size:14px;line-height:20px;letter-spacing:.1px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logoimg-tool{height:33px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:50px!important;height:50px;border-bottom:1px solid #E2E8F0}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 50px)}.rail-content{width:52px;min-width:52px;top:0;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{font-weight:400;font-size:12px;line-height:16px;letter-spacing:.4px;padding-top:4px}.headline-padding{padding:0 8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.content-color{background-color:#f8fafc}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}.order-icon{transform:scale(.7)}.order-text{color:#000000b3}.order-icon-wrapper{margin-bottom:0}.deny-select{-webkit-user-select:none;user-select:none}\n"], components: [{ type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i9.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i9.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.LanguageSelectorComponent, selector: "nc-language-selector" }, { type: i9.MatSidenavContent, selector: "mat-sidenav-content" }], directives: [{ type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i13.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i7.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i16.ResizableDirective, selector: "[mwlResizable]", inputs: ["resizeEdges", "enableGhostResize", "resizeSnapGrid", "resizeCursors", "resizeCursorPrecision", "ghostElementPositioning", "allowNegativeResizes", "mouseMoveThrottleMS", "validateResize"], outputs: ["resizeStart", "resizing", "resizeEnd"] }], pipes: { "translate": i4.TranslatePipe, "async": i14.AsyncPipe }, animations: [
|
|
34
|
+
NavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: NavigationDoubleDrawerComponent, selector: "nc-navigation-double-drawer", usesInheritance: true, ngImport: i0, template: "<div class=\"drawer-control rail-color height-60\" [ngClass]=\"{'index-menu': !configLeftMenu.opened}\"\n fxLayoutAlign=\"center center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"menu-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container deny-select\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div class=\"margin-top-x2\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active-tree-node\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span *ngIf=\"!user.isImpersonating()\" class=\"large-menu-item-text\"\n fxFlex=\"50\">{{ user.fullName }}</span>\n <span *ngIf=\"user.isImpersonating()\" class=\"large-menu-item-text\"\n fxFlex=\"50\">{{ user.fullName }} ({{ user.getSelfOrImpersonated().fullName }})</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{ user.email }}</span>\n </div>\n </div>\n <button *ngIf=\"includeImpersonation && !user.isImpersonating()\" mat-menu-item (click)=\"impersonate()\">\n <mat-icon>supervisor_account</mat-icon>\n <span>{{ 'side-menu.impersonation.submit' | translate }}</span>\n </button>\n <button *ngIf=\"includeImpersonation && user.isImpersonating()\" mat-menu-item\n (click)=\"stopImpersonating()\">\n <mat-icon>clear</mat-icon>\n <span>{{ 'side-menu.impersonation.cease' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\"\n class=\"menu-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\">\n <button mat-icon-button class=\"menu-button mat-typography menu-font-color\">\n <nc-language-selector fxLayout=\"row\"></nc-language-selector>\n </button>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of hiddenCustomItems; trackBy: itemsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active-tree-node\">\n <mat-icon>{{ item.navigation.icon }}</mat-icon>\n <span>{{ item.navigation.title }}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button mat-icon-button *ngIf=\"hiddenCustomItems && hiddenCustomItems.length > 0\"\n [matMenuTriggerFor]=\"railMenu\"\n class=\"menu-button mat-typography menu-font-color\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n <div class=\"margin-top-x2\"></div>\n </div>\n </mat-sidenav>\n\n <mat-sidenav-content class=\"first-content index-menu\">\n <mat-sidenav-container class=\"drawer-container\" (backdropClick)=\"toggleLeftMenu()\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content class=\"content-color\">\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n\n <div class=\"height-60 border-bottom\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleRightMenu()\" class=\"menu-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n\n <button mat-icon-button (click)=\"onHomeClick()\"\n class=\"menu-button mat-typography menu-font-color margin-top-default\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"menu-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n\n <button *ngFor='let folder of leftItems; trackBy: itemsTrackBy' mat-icon-button (click)=\"onItemClick(folder)\"\n class=\"menu-button mat-typography menu-font-color\" [matTooltip]=\"folder.navigation.title\"\n [matTooltipPosition]=\"'right'\"\n [ngClass]=\"isItemAndNodeEqual(folder, currentNode) ? 'rail-selected-color' : 'menu-font-color'\"\n [routerLink]='folder.routing.path'\n routerLinkActive=\"active\">\n <mat-icon>{{ folder.navigation.icon }}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo border-bottom\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\">\n <div fxLayout=\"column\" fxLayoutAlign=\"end end\" class=\"order-icon-wrapper\">\n <button mat-icon-button fxLayout=\"column\" fxLayoutAlign=\"center center\"\n class=\"mat-button mat-typography menu-font-color order-icon\" (click)=\"switchOrder()\"\n [matTooltip]=\"isAscending() ? ('dynamicNavigation.ascending' | translate) : ('dynamicNavigation.descending' | translate)\">\n <mat-icon>{{ isAscending() ? \"expand_more\" : \"expand_less\" }}</mat-icon>\n </button>\n </div>\n <div *ngFor='let item of rightItems; trackBy: itemsTrackBy' (click)=\"onItemClick(item)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" [routerLink]='item.routing.path'\n routerLinkActive=\"active-tree-node\">\n <mat-icon class=\"tree-node-icon\">{{ item.navigation.icon }}</mat-icon>\n <span>{{ item.navigation.title }}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n <div *ngIf=\"moreItems.length > 0\">\n <button mat-button color=\"primary\"\n (click)=\"loadMoreItems()\">{{ 'dynamicNavigation.loadMoreItems' | translate }}\n </button>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:52px;min-width:52px;border-right:none!important}.drawer-container{height:100%}.menu-button{margin:0 auto;border-radius:8px}.drawer-content{width:300px;min-width:300px;box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.height-60{height:60px}.drawer-control{position:absolute;box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.index-menu{z-index:2}.first-content{box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.border-bottom{border-bottom:1px solid #E2E8F0}.logo{height:60px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:35px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:10px 8px;margin:0 8px;color:#000000b3;position:relative;border-radius:8px;font-weight:500;font-size:14px;line-height:20px;letter-spacing:.1px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logoimg-tool{height:33px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:50px!important;height:50px;border-bottom:1px solid #E2E8F0}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 50px)}.rail-content{width:52px;min-width:52px;top:0;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{font-weight:400;font-size:12px;line-height:16px;letter-spacing:.4px;padding-top:4px}.headline-padding{padding:0 8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.content-color{background-color:#f8fafc}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}.order-icon{transform:scale(.7)}.order-text{color:#000000b3}.order-icon-wrapper{margin-bottom:0}.deny-select{-webkit-user-select:none;user-select:none}\n"], components: [{ type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i9.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i9.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.LanguageSelectorComponent, selector: "nc-language-selector" }, { type: i9.MatSidenavContent, selector: "mat-sidenav-content" }], directives: [{ type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i13.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i7.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i16.ResizableDirective, selector: "[mwlResizable]", inputs: ["resizeEdges", "enableGhostResize", "resizeSnapGrid", "resizeCursors", "resizeCursorPrecision", "ghostElementPositioning", "allowNegativeResizes", "mouseMoveThrottleMS", "validateResize"], outputs: ["resizeStart", "resizing", "resizeEnd"] }], pipes: { "translate": i4.TranslatePipe, "async": i14.AsyncPipe }, animations: [
|
|
35
35
|
trigger('sectionExpansion', [
|
|
36
36
|
state('expanded, void', style({
|
|
37
37
|
height: '*',
|
|
@@ -84,6 +84,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
84
84
|
animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
|
|
85
85
|
])
|
|
86
86
|
])
|
|
87
|
-
], template: "<div class=\"drawer-control rail-color height-60\" [ngClass]=\"{'index-menu': !configLeftMenu.opened}\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"menu-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container deny-select\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active-tree-node\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span *ngIf=\"!user.isImpersonating()\" class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}}</span>\n <span *ngIf=\"user.isImpersonating()\" class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}} ({{user.getSelfOrImpersonated().fullName}})</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{user.email}}</span>\n </div>\n </div>\n <button *ngIf=\"includeImpersonation && !user.isImpersonating()\" mat-menu-item (click)=\"impersonate()\">\n <mat-icon>supervisor_account</mat-icon>\n <span>{{'side-menu.impersonation.submit' | translate}}</span>\n </button>\n <button *ngIf=\"includeImpersonation && user.isImpersonating()\" mat-menu-item (click)=\"stopImpersonating()\">\n <mat-icon>clear</mat-icon>\n <span>{{'side-menu.impersonation.cease' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\" class=\"menu-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" ></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of hiddenCustomItems; trackBy: itemsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active-tree-node\">\n <mat-icon>{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button mat-icon-button [matMenuTriggerFor]=\"railMenu\"\n class=\"menu-button mat-typography menu-font-color margin-bottom-x2\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n </div>\n </mat-sidenav>\n\n <mat-sidenav-content class=\"first-content index-menu\" >\n <mat-sidenav-container class=\"drawer-container\" (backdropClick)=\"toggleLeftMenu()\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content class=\"content-color\">\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n\n <div class=\"height-60 border-bottom\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleRightMenu()\" class=\"menu-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n\n <button mat-icon-button (click)=\"onHomeClick()\" class=\"menu-button mat-typography menu-font-color margin-top-default\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"menu-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n\n <button *ngFor='let folder of leftItems; trackBy: itemsTrackBy' mat-icon-button (click)=\"onItemClick(folder)\"\n class=\"menu-button mat-typography menu-font-color\" [matTooltip]=\"folder.navigation.title\" [matTooltipPosition]=\"'right'\"\n [ngClass]=\"isItemAndNodeEqual(folder, currentNode) ? 'rail-selected-color' : 'menu-font-color'\" [routerLink]='folder.routing.path'\n routerLinkActive=\"active\">\n <mat-icon>{{folder.navigation.icon}}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo border-bottom\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\">\n <div fxLayout=\"column\" fxLayoutAlign=\"end end\" class=\"order-icon-wrapper\">\n <button mat-icon-button fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"mat-button mat-typography menu-font-color order-icon\" (click)=\"switchOrder()\"\n [matTooltip]=\"isAscending() ? ('dynamicNavigation.ascending' | translate) : ('dynamicNavigation.descending' | translate)\">\n <mat-icon>{{isAscending() ? \"expand_more\" : \"expand_less\"}}</mat-icon>\n </button>\n </div>\n <div *ngFor='let item of rightItems; trackBy: itemsTrackBy' (click)=\"onItemClick(item)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" [routerLink]='item.routing.path'\n routerLinkActive=\"active-tree-node\">\n <mat-icon class=\"tree-node-icon\">{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n <div *ngIf=\"moreItems.length > 0\">\n <button mat-button color=\"primary\" (click)=\"loadMoreItems()\">{{'dynamicNavigation.loadMoreItems' | translate}}</button>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:52px;min-width:52px;border-right:none!important}.drawer-container{height:100%}.menu-button{margin-left:6px;margin-right:6px;border-radius:8px}.drawer-content{width:300px;min-width:300px;box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.height-60{height:60px}.drawer-control{position:absolute;box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.index-menu{z-index:2}.first-content{box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.border-bottom{border-bottom:1px solid #E2E8F0}.logo{height:60px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:35px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:10px 8px;margin:0 8px;color:#000000b3;position:relative;border-radius:8px;font-weight:500;font-size:14px;line-height:20px;letter-spacing:.1px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logoimg-tool{height:33px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:50px!important;height:50px;border-bottom:1px solid #E2E8F0}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 50px)}.rail-content{width:52px;min-width:52px;top:0;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{font-weight:400;font-size:12px;line-height:16px;letter-spacing:.4px;padding-top:4px}.headline-padding{padding:0 8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.content-color{background-color:#f8fafc}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}.order-icon{transform:scale(.7)}.order-text{color:#000000b3}.order-icon-wrapper{margin-bottom:0}.deny-select{-webkit-user-select:none;user-select:none}\n"] }]
|
|
87
|
+
], template: "<div class=\"drawer-control rail-color height-60\" [ngClass]=\"{'index-menu': !configLeftMenu.opened}\"\n fxLayoutAlign=\"center center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"menu-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container deny-select\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div class=\"margin-top-x2\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active-tree-node\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span *ngIf=\"!user.isImpersonating()\" class=\"large-menu-item-text\"\n fxFlex=\"50\">{{ user.fullName }}</span>\n <span *ngIf=\"user.isImpersonating()\" class=\"large-menu-item-text\"\n fxFlex=\"50\">{{ user.fullName }} ({{ user.getSelfOrImpersonated().fullName }})</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{ user.email }}</span>\n </div>\n </div>\n <button *ngIf=\"includeImpersonation && !user.isImpersonating()\" mat-menu-item (click)=\"impersonate()\">\n <mat-icon>supervisor_account</mat-icon>\n <span>{{ 'side-menu.impersonation.submit' | translate }}</span>\n </button>\n <button *ngIf=\"includeImpersonation && user.isImpersonating()\" mat-menu-item\n (click)=\"stopImpersonating()\">\n <mat-icon>clear</mat-icon>\n <span>{{ 'side-menu.impersonation.cease' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\"\n class=\"menu-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\">\n <button mat-icon-button class=\"menu-button mat-typography menu-font-color\">\n <nc-language-selector fxLayout=\"row\"></nc-language-selector>\n </button>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of hiddenCustomItems; trackBy: itemsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active-tree-node\">\n <mat-icon>{{ item.navigation.icon }}</mat-icon>\n <span>{{ item.navigation.title }}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button mat-icon-button *ngIf=\"hiddenCustomItems && hiddenCustomItems.length > 0\"\n [matMenuTriggerFor]=\"railMenu\"\n class=\"menu-button mat-typography menu-font-color\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n <div class=\"margin-top-x2\"></div>\n </div>\n </mat-sidenav>\n\n <mat-sidenav-content class=\"first-content index-menu\">\n <mat-sidenav-container class=\"drawer-container\" (backdropClick)=\"toggleLeftMenu()\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content class=\"content-color\">\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n\n <div class=\"height-60 border-bottom\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleRightMenu()\" class=\"menu-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n\n <button mat-icon-button (click)=\"onHomeClick()\"\n class=\"menu-button mat-typography menu-font-color margin-top-default\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"menu-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n\n <button *ngFor='let folder of leftItems; trackBy: itemsTrackBy' mat-icon-button (click)=\"onItemClick(folder)\"\n class=\"menu-button mat-typography menu-font-color\" [matTooltip]=\"folder.navigation.title\"\n [matTooltipPosition]=\"'right'\"\n [ngClass]=\"isItemAndNodeEqual(folder, currentNode) ? 'rail-selected-color' : 'menu-font-color'\"\n [routerLink]='folder.routing.path'\n routerLinkActive=\"active\">\n <mat-icon>{{ folder.navigation.icon }}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo border-bottom\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\">\n <div fxLayout=\"column\" fxLayoutAlign=\"end end\" class=\"order-icon-wrapper\">\n <button mat-icon-button fxLayout=\"column\" fxLayoutAlign=\"center center\"\n class=\"mat-button mat-typography menu-font-color order-icon\" (click)=\"switchOrder()\"\n [matTooltip]=\"isAscending() ? ('dynamicNavigation.ascending' | translate) : ('dynamicNavigation.descending' | translate)\">\n <mat-icon>{{ isAscending() ? \"expand_more\" : \"expand_less\" }}</mat-icon>\n </button>\n </div>\n <div *ngFor='let item of rightItems; trackBy: itemsTrackBy' (click)=\"onItemClick(item)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" [routerLink]='item.routing.path'\n routerLinkActive=\"active-tree-node\">\n <mat-icon class=\"tree-node-icon\">{{ item.navigation.icon }}</mat-icon>\n <span>{{ item.navigation.title }}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n <div *ngIf=\"moreItems.length > 0\">\n <button mat-button color=\"primary\"\n (click)=\"loadMoreItems()\">{{ 'dynamicNavigation.loadMoreItems' | translate }}\n </button>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:52px;min-width:52px;border-right:none!important}.drawer-container{height:100%}.menu-button{margin:0 auto;border-radius:8px}.drawer-content{width:300px;min-width:300px;box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.height-60{height:60px}.drawer-control{position:absolute;box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.index-menu{z-index:2}.first-content{box-shadow:0 2px 4px #0d2d3c29,0 4px 8px #546e7a29}.border-bottom{border-bottom:1px solid #E2E8F0}.logo{height:60px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:35px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:10px 8px;margin:0 8px;color:#000000b3;position:relative;border-radius:8px;font-weight:500;font-size:14px;line-height:20px;letter-spacing:.1px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logoimg-tool{height:33px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:50px!important;height:50px;border-bottom:1px solid #E2E8F0}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 50px)}.rail-content{width:52px;min-width:52px;top:0;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{font-weight:400;font-size:12px;line-height:16px;letter-spacing:.4px;padding-top:4px}.headline-padding{padding:0 8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.content-color{background-color:#f8fafc}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}.order-icon{transform:scale(.7)}.order-text{color:#000000b3}.order-icon-wrapper{margin-bottom:0}.deny-select{-webkit-user-select:none;user-select:none}\n"] }]
|
|
88
88
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BreakpointObserver }, { type: i3.LanguageService }, { type: i4.TranslateService }, { type: i3.UserService }, { type: i3.AccessService }, { type: i3.LoggerService }, { type: i3.ConfigurationService }, { type: i3.UriService }, { type: i3.CaseResourceService }, { type: i3.ImpersonationUserSelectService }, { type: i3.ImpersonationService }, { type: i3.DynamicNavigationRouteProviderService }]; } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLEVBTUgsdUNBQXVDLEVBTTFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0MvRSxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsdUNBQXVDO0lBT3hGLFlBQVksT0FBZSxFQUNmLGVBQStCLEVBQy9CLFdBQStCLEVBQy9CLGdCQUFpQyxFQUNqQyxpQkFBbUMsRUFDbkMsWUFBeUIsRUFDekIsY0FBNkIsRUFDN0IsSUFBbUIsRUFDbkIsT0FBNkIsRUFDN0IsV0FBdUIsRUFDdkIsb0JBQXlDLEVBQ3pDLHdCQUF3RCxFQUN4RCxjQUFvQyxFQUNwQyw0QkFBbUU7UUFDM0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQzFHLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSw0QkFBNEIsQ0FBQyxDQUFBO1FBcEIxSCxrQkFBYSxHQUFHO1lBQ25CLE9BQU8sRUFBRSxJQUFJO1lBQ2IsS0FBSyxFQUFFLElBQUk7U0FDZCxDQUFDO0lBa0JGLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs2SEEzQlEsK0JBQStCO2lIQUEvQiwrQkFBK0IsMEZDbEQ1Qyx5eFRBOEtBLDZ6U0R2SmdCO1FBQ1IsT0FBTyxDQUFDLGtCQUFrQixFQUFFO1lBQ3hCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7Z0JBQzFCLE1BQU0sRUFBRSxHQUFHO2dCQUNYLFVBQVUsRUFBRSxTQUFTO2FBQ3hCLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dCQUNyQixNQUFNLEVBQUUsS0FBSztnQkFDYixVQUFVLEVBQUUsUUFBUTthQUN2QixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsMENBQTBDLEVBQUU7Z0JBQ25ELE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzthQUMvQyxDQUFDO1NBQ0wsQ0FBQztRQUNGLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtZQUN2QixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO2dCQUMxQixTQUFTLEVBQUUsZ0JBQWdCO2FBQzlCLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dCQUNyQixTQUFTLEVBQUUsY0FBYzthQUM1QixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsMENBQTBDLEVBQUU7Z0JBQ25ELE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzthQUMvQyxDQUFDO1NBQ0wsQ0FBQztLQUNMOzRGQUVRLCtCQUErQjtrQkEvQjNDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBRzNCO3dCQUNSLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTs0QkFDeEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztnQ0FDMUIsTUFBTSxFQUFFLEdBQUc7Z0NBQ1gsVUFBVSxFQUFFLFNBQVM7NkJBQ3hCLENBQUMsQ0FBQzs0QkFDSCxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztnQ0FDckIsTUFBTSxFQUFFLEtBQUs7Z0NBQ2IsVUFBVSxFQUFFLFFBQVE7NkJBQ3ZCLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsMENBQTBDLEVBQUU7Z0NBQ25ELE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzs2QkFDL0MsQ0FBQzt5QkFDTCxDQUFDO3dCQUNGLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTs0QkFDdkIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztnQ0FDMUIsU0FBUyxFQUFFLGdCQUFnQjs2QkFDOUIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dDQUNyQixTQUFTLEVBQUUsY0FBYzs2QkFDNUIsQ0FBQyxDQUFDOzRCQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQ0FDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDOzZCQUMvQyxDQUFDO3lCQUNMLENBQUM7cUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIExhbmd1YWdlU2VydmljZSxcbiAgICBVcmlTZXJ2aWNlLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgVXNlclNlcnZpY2UsXG4gICAgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50LFxuICAgIER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2UsXG4gICAgQWNjZXNzU2VydmljZSxcbiAgICBJbXBlcnNvbmF0aW9uVXNlclNlbGVjdFNlcnZpY2UsXG4gICAgSW1wZXJzb25hdGlvblNlcnZpY2UsXG4gICAgQ2FzZVJlc291cmNlU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3NlY3Rpb25FeHBhbnNpb24nLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnKicsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIGhlaWdodDogJzBweCcsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKCdpbmRpY2F0b3JSb3RhdGUnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKDE4MGRlZyknXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKSdcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IHtcblxuICAgIHB1YmxpYyBpc1NlY3Rpb25PcGVuID0ge1xuICAgICAgICBmb2xkZXJzOiB0cnVlLFxuICAgICAgICB2aWV3czogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICBfYnJlYWtwb2ludDogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICAgICAgICAgIF9sYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgICAgICAgICBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9hY2Nlc3NTZXJ2aWNlOiBBY2Nlc3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2NvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2Nhc2VSZXNvdXJjZVNlcnZpY2U6IENhc2VSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2ltcGVyc29uYXRpb25Vc2VyU2VsZWN0OiBJbXBlcnNvbmF0aW9uVXNlclNlbGVjdFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2ltcGVyc29uYXRpb246IEltcGVyc29uYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9keW5hbWljUm91dGVQcm92aWRlclNlcnZpY2U6IER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3JvdXRlciwgX2FjdGl2YXRlZFJvdXRlLCBfYnJlYWtwb2ludCwgX2xhbmd1YWdlU2VydmljZSwgX3RyYW5zbGF0ZVNlcnZpY2UsIF91c2VyU2VydmljZSwgX2FjY2Vzc1NlcnZpY2UsXG4gICAgICAgICAgICBfbG9nLCBfY29uZmlnLCBfdXJpU2VydmljZSwgX2Nhc2VSZXNvdXJjZVNlcnZpY2UsIF9pbXBlcnNvbmF0aW9uVXNlclNlbGVjdCwgX2ltcGVyc29uYXRpb24sIF9keW5hbWljUm91dGVQcm92aWRlclNlcnZpY2UpXG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZVNlY3Rpb24oc2VjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTZWN0aW9uT3BlbltzZWN0aW9uXSA9ICF0aGlzLmlzU2VjdGlvbk9wZW5bc2VjdGlvbl07XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJhd2VyLWNvbnRyb2wgcmFpbC1jb2xvciBoZWlnaHQtNjBcIiBbbmdDbGFzc109XCJ7J2luZGV4LW1lbnUnOiAhY29uZmlnTGVmdE1lbnUub3BlbmVkfVwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhIaWRlLmx0LW1kPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIiBjbGFzcz1cIm1lbnUtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiPlxuICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbjxtYXQtdG9vbGJhciBmeEhpZGUuZ3Qtc20gY2xhc3M9XCJ0b29sYmFyXCI+XG4gICAgPG1hdC10b29sYmFyLXJvdyBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2hcIj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4RmxleD5cbiAgICAgICAgICAgIDxpbWcgI2xvZ28gW2FsdF09XCJpbWFnZUFsdFwiIFtzcmNdPVwiaW1hZ2VcIiBjbGFzcz1cImxvZ29pbWctdG9vbFwiXG4gICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImltYWdlUm91dGVyTGluayAhPT0gdW5kZWZpbmVkID8gaW1hZ2VSb3V0ZXJMaW5rIDogW11cIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXItcm93PlxuPC9tYXQtdG9vbGJhcj5cbjxtYXQtc3Bpbm5lciAqbmdJZj1cIiFsb2dvXCI+PC9tYXQtc3Bpbm5lcj5cbjxtYXQtc2lkZW5hdi1jb250YWluZXIgY2xhc3M9XCJyYWlsLWNvbnRhaW5lciBkZW55LXNlbGVjdFwiPlxuICAgIDxtYXQtc2lkZW5hdiBtb2RlPVwic2lkZVwiIFsob3BlbmVkKV09XCJjb25maWdMZWZ0TWVudS5vcGVuZWRcIiBwb3NpdGlvbj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVDbG9zZV09XCJjb25maWdMZWZ0TWVudS5kaXNhYmxlQ2xvc2VcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cInJhaWwtY29udGVudFwiPlxuXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cInJhaWwtY29sb3JcIiBmeEZsZXg+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3J0YWxMZWZ0TWVudSB8fCBkZWZhdWx0TGVmdFNpZGVcIj48L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjdXNlclJhaWxNZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbVwiIGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInByb2ZpbGVSb3V0ZXJMaW5rXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZS10cmVlLW5vZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWFyZ2luLWF1dG9cIiBmeEZsZXg+ZmFjZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXJnZS1tZW51LWl0ZW1cIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdXNlci5pc0ltcGVyc29uYXRpbmcoKVwiICBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbS10ZXh0XCIgZnhGbGV4PVwiNTBcIj57e3VzZXIuZnVsbE5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlci5pc0ltcGVyc29uYXRpbmcoKVwiIGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtLXRleHRcIiBmeEZsZXg9XCI1MFwiPnt7dXNlci5mdWxsTmFtZX19ICh7e3VzZXIuZ2V0U2VsZk9ySW1wZXJzb25hdGVkKCkuZnVsbE5hbWV9fSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbS10ZXh0XCIgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCIgZnhGbGV4PVwiNTBcIj57e3VzZXIuZW1haWx9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImluY2x1ZGVJbXBlcnNvbmF0aW9uICYmICF1c2VyLmlzSW1wZXJzb25hdGluZygpXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiaW1wZXJzb25hdGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+c3VwZXJ2aXNvcl9hY2NvdW50PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3snc2lkZS1tZW51LmltcGVyc29uYXRpb24uc3VibWl0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpbmNsdWRlSW1wZXJzb25hdGlvbiAmJiB1c2VyLmlzSW1wZXJzb25hdGluZygpXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic3RvcEltcGVyc29uYXRpbmcoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eydzaWRlLW1lbnUuaW1wZXJzb25hdGlvbi5jZWFzZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJsb2dvdXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZXhpdF90b19hcHA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyAndG9vbGJhci5tZW51LmxvZ291dCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImluY2x1ZGVVc2VyXCIgbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJ1c2VyUmFpbE1lbnVcIiBjbGFzcz1cIm1lbnUtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInVzZXIuZnVsbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+YWNjb3VudF9jaXJjbGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbmNsdWRlTGFuZ3VhZ2VcIiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxuYy1sYW5ndWFnZS1zZWxlY3RvciBmeExheW91dD1cInJvd1wiID48L25jLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjcmFpbE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9J2xldCBpdGVtIG9mIGhpZGRlbkN1c3RvbUl0ZW1zOyB0cmFja0J5OiBpdGVtc1RyYWNrQnknIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT0naXRlbS5yb3V0aW5nLnBhdGgnIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmUtdHJlZS1ub2RlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57e2l0ZW0ubmF2aWdhdGlvbi5pY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2l0ZW0ubmF2aWdhdGlvbi50aXRsZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJtYXJnaW4tYm90dG9tLXgyIGljb24tY29udGFpbmVyXCIgbWF0VG9vbHRpcD1cIk90dm9yacWlIG1lbnVcIi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj4tLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInJhaWxNZW51XCI+LS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uLWxhcmdlIHNpZGVtZW51LWljb25cIj5tb3JlX3ZlcnQ8L21hdC1pY29uPi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICA8L2J1dHRvbj4tLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICA8L2Rpdj4tLT5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJyYWlsTWVudVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yIG1hcmdpbi1ib3R0b20teDJcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCIndG9vbGJhci5tZW51Lm9wZW4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXNpZGVuYXY+XG5cbiAgICA8bWF0LXNpZGVuYXYtY29udGVudCBjbGFzcz1cImZpcnN0LWNvbnRlbnQgaW5kZXgtbWVudVwiID5cbiAgICAgICAgPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBjbGFzcz1cImRyYXdlci1jb250YWluZXJcIiAoYmFja2Ryb3BDbGljayk9XCJ0b2dnbGVMZWZ0TWVudSgpXCI+XG4gICAgICAgICAgICA8bWF0LXNpZGVuYXYgW21vZGVdPVwiY29uZmlnUmlnaHRNZW51Lm1vZGVcIiBbKG9wZW5lZCldPVwiY29uZmlnUmlnaHRNZW51Lm9wZW5lZFwiIHBvc2l0aW9uPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlQ2xvc2VdPVwiY29uZmlnUmlnaHRNZW51LmRpc2FibGVDbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkcmF3ZXItY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgbXdsUmVzaXphYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNvbmZpZ1JpZ2h0TWVudS53aWR0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc2l6ZUN1cnNvclByZWNpc2lvbl09XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc2l6ZUVkZ2VzXT1cIntyaWdodDogdHJ1ZX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNpemluZyk9XCJvblJlc2l6ZUV2ZW50KCRldmVudClcIj5cblxuICAgICAgICAgICAgICAgIDxkaXYgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3J0YWxSaWdodE1lbnUgfHwgZGVmYXVsdFJpZ2h0U2lkZVwiPjwvZGl2PlxuXG4gICAgICAgICAgICA8L21hdC1zaWRlbmF2PlxuXG4gICAgICAgICAgICA8bWF0LXNpZGVuYXYtY29udGVudCBjbGFzcz1cImNvbnRlbnQtY29sb3JcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuICAgIDwvbWF0LXNpZGVuYXYtY29udGVudD5cbjwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRMZWZ0U2lkZT5cblxuICAgIDxkaXYgY2xhc3M9XCJoZWlnaHQtNjAgYm9yZGVyLWJvdHRvbVwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhIaWRlLmx0LW1kPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlUmlnaHRNZW51KClcIiBjbGFzcz1cIm1lbnUtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkhvbWVDbGljaygpXCIgY2xhc3M9XCJtZW51LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3IgbWFyZ2luLXRvcC1kZWZhdWx0XCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIid0b29sYmFyLm1lbnUuaG9tZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIj5cbiAgICAgICAgPG1hdC1pY29uPmhvbWU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiAqbmdJZj0nIWlzT25aZXJvTGV2ZWwoKSAmJiAoY2FuR29CYWNrTG9hZGluZyQgfCBhc3luYykgPT09IGZhbHNlJyBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uQmFja0NsaWNrKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJtZW51LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIiBbbWF0VG9vbHRpcF09XCIndG9vbGJhci5tZW51LmJhY2snIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICAgIDxtYXQtaWNvbj5hcnJvd19iYWNrPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2ICpuZ0lmPVwiKGNhbkdvQmFja0xvYWRpbmckIHwgYXN5bmMpXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwibWFyZ2luLXRvcC1kZWZhdWx0XCI+XG4gICAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cInByaW1hcnlcIiBkaWFtZXRlcj1cIjMwXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1zcGlubmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1hcmdpbi10b3AteDJcIj48L2Rpdj5cblxuICAgIDxidXR0b24gKm5nRm9yPSdsZXQgZm9sZGVyIG9mIGxlZnRJdGVtczsgdHJhY2tCeTogaXRlbXNUcmFja0J5JyBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGZvbGRlcilcIlxuICAgICAgICAgICAgY2xhc3M9XCJtZW51LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIiBbbWF0VG9vbHRpcF09XCJmb2xkZXIubmF2aWdhdGlvbi50aXRsZVwiIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpc0l0ZW1BbmROb2RlRXF1YWwoZm9sZGVyLCBjdXJyZW50Tm9kZSkgPyAncmFpbC1zZWxlY3RlZC1jb2xvcicgOiAnbWVudS1mb250LWNvbG9yJ1wiIFtyb3V0ZXJMaW5rXT0nZm9sZGVyLnJvdXRpbmcucGF0aCdcbiAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgICAgPG1hdC1pY29uPnt7Zm9sZGVyLm5hdmlnYXRpb24uaWNvbn19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXYgKm5nSWY9XCIobGVmdExvYWRpbmckIHwgYXN5bmMpXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwibWFyZ2luLXRvcC1kZWZhdWx0XCI+XG4gICAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cInByaW1hcnlcIiBkaWFtZXRlcj1cIjMwXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1zcGlubmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0UmlnaHRTaWRlPlxuICAgIDxkaXYgY2xhc3M9XCJsb2dvIGJvcmRlci1ib3R0b21cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4SGlkZS5sdC1tZD5cbiAgICAgICAgPGltZyAqbmdJZj1cImltYWdlICE9PSB1bmRlZmluZWRcIiBbYWx0XT1cImltYWdlQWx0XCIgW3NyY109XCJpbWFnZVwiIGNsYXNzPVwibG9nb2ltZ1wiXG4gICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaW1hZ2VSb3V0ZXJMaW5rICE9PSB1bmRlZmluZWQgPyBpbWFnZVJvdXRlckxpbmsgOiBbXVwiPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIocmlnaHRMb2FkaW5nJCB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJlbmQgZW5kXCIgY2xhc3M9XCJvcmRlci1pY29uLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hdC1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yIG9yZGVyLWljb25cIiAoY2xpY2spPVwic3dpdGNoT3JkZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImlzQXNjZW5kaW5nKCkgPyAoJ2R5bmFtaWNOYXZpZ2F0aW9uLmFzY2VuZGluZycgfCB0cmFuc2xhdGUpIDogKCdkeW5hbWljTmF2aWdhdGlvbi5kZXNjZW5kaW5nJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+e3tpc0FzY2VuZGluZygpID8gXCJleHBhbmRfbW9yZVwiIDogXCJleHBhbmRfbGVzc1wifX08L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0Zvcj0nbGV0IGl0ZW0gb2YgcmlnaHRJdGVtczsgdHJhY2tCeTogaXRlbXNUcmFja0J5JyAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgIGNsYXNzPVwidHJlZS1ub2RlIG1hdC10eXBvZ3JhcGh5IG1hdC1ib2R5LTJcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgW3JvdXRlckxpbmtdPSdpdGVtLnJvdXRpbmcucGF0aCdcbiAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlLXRyZWUtbm9kZVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidHJlZS1ub2RlLWljb25cIj57e2l0ZW0ubmF2aWdhdGlvbi5pY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4+e3tpdGVtLm5hdmlnYXRpb24udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1pdGVtLWZvY3VzLW92ZXJsYXlcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibW9yZUl0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwibG9hZE1vcmVJdGVtcygpXCI+e3snZHluYW1pY05hdmlnYXRpb24ubG9hZE1vcmVJdGVtcycgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiKHJpZ2h0TG9hZGluZyQgfCBhc3luYylcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgY2xhc3M9XCJtYXJnaW4tdG9wLWRlZmF1bHRcIj5cbiAgICAgICAgPG1hdC1zcGlubmVyIGNvbG9yPVwicHJpbWFyeVwiIGRpYW1ldGVyPVwiNDBcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXNwaW5uZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLEVBTUgsdUNBQXVDLEVBTTFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0MvRSxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsdUNBQXVDO0lBT3hGLFlBQVksT0FBZSxFQUNmLGVBQStCLEVBQy9CLFdBQStCLEVBQy9CLGdCQUFpQyxFQUNqQyxpQkFBbUMsRUFDbkMsWUFBeUIsRUFDekIsY0FBNkIsRUFDN0IsSUFBbUIsRUFDbkIsT0FBNkIsRUFDN0IsV0FBdUIsRUFDdkIsb0JBQXlDLEVBQ3pDLHdCQUF3RCxFQUN4RCxjQUFvQyxFQUNwQyw0QkFBbUU7UUFDM0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQzFHLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSw0QkFBNEIsQ0FBQyxDQUFBO1FBcEIxSCxrQkFBYSxHQUFHO1lBQ25CLE9BQU8sRUFBRSxJQUFJO1lBQ2IsS0FBSyxFQUFFLElBQUk7U0FDZCxDQUFDO0lBa0JGLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs2SEEzQlEsK0JBQStCO2lIQUEvQiwrQkFBK0IsMEZDbEQ1Qyxvd1VBZ01BLDB5U0R6S2dCO1FBQ1IsT0FBTyxDQUFDLGtCQUFrQixFQUFFO1lBQ3hCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7Z0JBQzFCLE1BQU0sRUFBRSxHQUFHO2dCQUNYLFVBQVUsRUFBRSxTQUFTO2FBQ3hCLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dCQUNyQixNQUFNLEVBQUUsS0FBSztnQkFDYixVQUFVLEVBQUUsUUFBUTthQUN2QixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsMENBQTBDLEVBQUU7Z0JBQ25ELE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzthQUMvQyxDQUFDO1NBQ0wsQ0FBQztRQUNGLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtZQUN2QixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO2dCQUMxQixTQUFTLEVBQUUsZ0JBQWdCO2FBQzlCLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dCQUNyQixTQUFTLEVBQUUsY0FBYzthQUM1QixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsMENBQTBDLEVBQUU7Z0JBQ25ELE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzthQUMvQyxDQUFDO1NBQ0wsQ0FBQztLQUNMOzRGQUVRLCtCQUErQjtrQkEvQjNDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBRzNCO3dCQUNSLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTs0QkFDeEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztnQ0FDMUIsTUFBTSxFQUFFLEdBQUc7Z0NBQ1gsVUFBVSxFQUFFLFNBQVM7NkJBQ3hCLENBQUMsQ0FBQzs0QkFDSCxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztnQ0FDckIsTUFBTSxFQUFFLEtBQUs7Z0NBQ2IsVUFBVSxFQUFFLFFBQVE7NkJBQ3ZCLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsMENBQTBDLEVBQUU7Z0NBQ25ELE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzs2QkFDL0MsQ0FBQzt5QkFDTCxDQUFDO3dCQUNGLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTs0QkFDdkIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztnQ0FDMUIsU0FBUyxFQUFFLGdCQUFnQjs2QkFDOUIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dDQUNyQixTQUFTLEVBQUUsY0FBYzs2QkFDNUIsQ0FBQyxDQUFDOzRCQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQ0FDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDOzZCQUMvQyxDQUFDO3lCQUNMLENBQUM7cUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIExhbmd1YWdlU2VydmljZSxcbiAgICBVcmlTZXJ2aWNlLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgVXNlclNlcnZpY2UsXG4gICAgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50LFxuICAgIER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2UsXG4gICAgQWNjZXNzU2VydmljZSxcbiAgICBJbXBlcnNvbmF0aW9uVXNlclNlbGVjdFNlcnZpY2UsXG4gICAgSW1wZXJzb25hdGlvblNlcnZpY2UsXG4gICAgQ2FzZVJlc291cmNlU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3NlY3Rpb25FeHBhbnNpb24nLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnKicsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIGhlaWdodDogJzBweCcsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKCdpbmRpY2F0b3JSb3RhdGUnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKDE4MGRlZyknXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKSdcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IHtcblxuICAgIHB1YmxpYyBpc1NlY3Rpb25PcGVuID0ge1xuICAgICAgICBmb2xkZXJzOiB0cnVlLFxuICAgICAgICB2aWV3czogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICBfYnJlYWtwb2ludDogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICAgICAgICAgIF9sYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgICAgICAgICBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9hY2Nlc3NTZXJ2aWNlOiBBY2Nlc3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2NvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2Nhc2VSZXNvdXJjZVNlcnZpY2U6IENhc2VSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2ltcGVyc29uYXRpb25Vc2VyU2VsZWN0OiBJbXBlcnNvbmF0aW9uVXNlclNlbGVjdFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2ltcGVyc29uYXRpb246IEltcGVyc29uYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9keW5hbWljUm91dGVQcm92aWRlclNlcnZpY2U6IER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3JvdXRlciwgX2FjdGl2YXRlZFJvdXRlLCBfYnJlYWtwb2ludCwgX2xhbmd1YWdlU2VydmljZSwgX3RyYW5zbGF0ZVNlcnZpY2UsIF91c2VyU2VydmljZSwgX2FjY2Vzc1NlcnZpY2UsXG4gICAgICAgICAgICBfbG9nLCBfY29uZmlnLCBfdXJpU2VydmljZSwgX2Nhc2VSZXNvdXJjZVNlcnZpY2UsIF9pbXBlcnNvbmF0aW9uVXNlclNlbGVjdCwgX2ltcGVyc29uYXRpb24sIF9keW5hbWljUm91dGVQcm92aWRlclNlcnZpY2UpXG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZVNlY3Rpb24oc2VjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTZWN0aW9uT3BlbltzZWN0aW9uXSA9ICF0aGlzLmlzU2VjdGlvbk9wZW5bc2VjdGlvbl07XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJhd2VyLWNvbnRyb2wgcmFpbC1jb2xvciBoZWlnaHQtNjBcIiBbbmdDbGFzc109XCJ7J2luZGV4LW1lbnUnOiAhY29uZmlnTGVmdE1lbnUub3BlbmVkfVwiXG4gICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhIaWRlLmx0LW1kPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIiBjbGFzcz1cIm1lbnUtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiPlxuICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC10b29sYmFyIGZ4SGlkZS5ndC1zbSBjbGFzcz1cInRvb2xiYXJcIj5cbiAgICA8bWF0LXRvb2xiYXItcm93IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RyZXRjaFwiPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlTWVudSgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhGbGV4PlxuICAgICAgICAgICAgPGltZyAjbG9nbyBbYWx0XT1cImltYWdlQWx0XCIgW3NyY109XCJpbWFnZVwiIGNsYXNzPVwibG9nb2ltZy10b29sXCJcbiAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaW1hZ2VSb3V0ZXJMaW5rICE9PSB1bmRlZmluZWQgPyBpbWFnZVJvdXRlckxpbmsgOiBbXVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhci1yb3c+XG48L21hdC10b29sYmFyPlxuPG1hdC1zcGlubmVyICpuZ0lmPVwiIWxvZ29cIj48L21hdC1zcGlubmVyPlxuPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBjbGFzcz1cInJhaWwtY29udGFpbmVyIGRlbnktc2VsZWN0XCI+XG4gICAgPG1hdC1zaWRlbmF2IG1vZGU9XCJzaWRlXCIgWyhvcGVuZWQpXT1cImNvbmZpZ0xlZnRNZW51Lm9wZW5lZFwiIHBvc2l0aW9uPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICBbZGlzYWJsZUNsb3NlXT1cImNvbmZpZ0xlZnRNZW51LmRpc2FibGVDbG9zZVwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwicmFpbC1jb250ZW50XCI+XG5cbiAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGNsYXNzPVwicmFpbC1jb2xvclwiIGZ4RmxleD5cblxuICAgICAgICAgICAgPGRpdiAqbmdUZW1wbGF0ZU91dGxldD1cInBvcnRhbExlZnRNZW51IHx8IGRlZmF1bHRMZWZ0U2lkZVwiPjwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLXRvcC14MlwiPjwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgICAgPG1hdC1tZW51ICN1c2VyUmFpbE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtIHJvbGU9XCJtZW51aXRlbVwiIGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXhBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicHJvZmlsZVJvdXRlckxpbmtcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlLXRyZWUtbm9kZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXJnaW4tYXV0b1wiIGZ4RmxleD5mYWNlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGbGV4QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiF1c2VyLmlzSW1wZXJzb25hdGluZygpXCIgY2xhc3M9XCJsYXJnZS1tZW51LWl0ZW0tdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9XCI1MFwiPnt7IHVzZXIuZnVsbE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXIuaXNJbXBlcnNvbmF0aW5nKClcIiBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbS10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ4RmxleD1cIjUwXCI+e3sgdXNlci5mdWxsTmFtZSB9fSAoe3sgdXNlci5nZXRTZWxmT3JJbXBlcnNvbmF0ZWQoKS5mdWxsTmFtZSB9fSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbS10ZXh0XCIgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCIgZnhGbGV4PVwiNTBcIj57eyB1c2VyLmVtYWlsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaW5jbHVkZUltcGVyc29uYXRpb24gJiYgIXVzZXIuaXNJbXBlcnNvbmF0aW5nKClcIiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJpbXBlcnNvbmF0ZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zdXBlcnZpc29yX2FjY291bnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyAnc2lkZS1tZW51LmltcGVyc29uYXRpb24uc3VibWl0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaW5jbHVkZUltcGVyc29uYXRpb24gJiYgdXNlci5pc0ltcGVyc29uYXRpbmcoKVwiIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzdG9wSW1wZXJzb25hdGluZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdzaWRlLW1lbnUuaW1wZXJzb25hdGlvbi5jZWFzZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJsb2dvdXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZXhpdF90b19hcHA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyAndG9vbGJhci5tZW51LmxvZ291dCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImluY2x1ZGVVc2VyXCIgbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJ1c2VyUmFpbE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInVzZXIuZnVsbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+YWNjb3VudF9jaXJjbGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbmNsdWRlTGFuZ3VhZ2VcIiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cIm1lbnUtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmMtbGFuZ3VhZ2Utc2VsZWN0b3IgZnhMYXlvdXQ9XCJyb3dcIj48L25jLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjcmFpbE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9J2xldCBpdGVtIG9mIGhpZGRlbkN1c3RvbUl0ZW1zOyB0cmFja0J5OiBpdGVtc1RyYWNrQnknIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT0naXRlbS5yb3V0aW5nLnBhdGgnIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmUtdHJlZS1ub2RlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57eyBpdGVtLm5hdmlnYXRpb24uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubmF2aWdhdGlvbi50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwibWFyZ2luLWJvdHRvbS14MiBpY29uLWNvbnRhaW5lclwiIG1hdFRvb2x0aXA9XCJPdHZvcmnFpSBtZW51XCItLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCItLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+LS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJyYWlsTWVudVwiPi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1sYXJnZSBzaWRlbWVudS1pY29uXCI+bW9yZV92ZXJ0PC9tYXQtaWNvbj4tLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgPC9idXR0b24+LS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgPC9kaXY+LS0+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cImhpZGRlbkN1c3RvbUl0ZW1zICYmIGhpZGRlbkN1c3RvbUl0ZW1zLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwicmFpbE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIid0b29sYmFyLm1lbnUub3BlbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tdG9wLXgyXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXNpZGVuYXY+XG5cbiAgICA8bWF0LXNpZGVuYXYtY29udGVudCBjbGFzcz1cImZpcnN0LWNvbnRlbnQgaW5kZXgtbWVudVwiPlxuICAgICAgICA8bWF0LXNpZGVuYXYtY29udGFpbmVyIGNsYXNzPVwiZHJhd2VyLWNvbnRhaW5lclwiIChiYWNrZHJvcENsaWNrKT1cInRvZ2dsZUxlZnRNZW51KClcIj5cbiAgICAgICAgICAgIDxtYXQtc2lkZW5hdiBbbW9kZV09XCJjb25maWdSaWdodE1lbnUubW9kZVwiIFsob3BlbmVkKV09XCJjb25maWdSaWdodE1lbnUub3BlbmVkXCIgcG9zaXRpb249XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVDbG9zZV09XCJjb25maWdSaWdodE1lbnUuZGlzYWJsZUNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyYXdlci1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtd2xSZXNpemFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29uZmlnUmlnaHRNZW51LndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzaXplQ3Vyc29yUHJlY2lzaW9uXT1cIjIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzaXplRWRnZXNdPVwie3JpZ2h0OiB0cnVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHJlc2l6aW5nKT1cIm9uUmVzaXplRXZlbnQoJGV2ZW50KVwiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdUZW1wbGF0ZU91dGxldD1cInBvcnRhbFJpZ2h0TWVudSB8fCBkZWZhdWx0UmlnaHRTaWRlXCI+PC9kaXY+XG5cbiAgICAgICAgICAgIDwvbWF0LXNpZGVuYXY+XG5cbiAgICAgICAgICAgIDxtYXQtc2lkZW5hdi1jb250ZW50IGNsYXNzPVwiY29udGVudC1jb2xvclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LXNpZGVuYXYtY29udGVudD5cbiAgICAgICAgPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG4gICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExlZnRTaWRlPlxuXG4gICAgPGRpdiBjbGFzcz1cImhlaWdodC02MCBib3JkZXItYm90dG9tXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeEhpZGUubHQtbWQ+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVSaWdodE1lbnUoKVwiIGNsYXNzPVwibWVudS1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uSG9tZUNsaWNrKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJtZW51LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3IgbWFyZ2luLXRvcC1kZWZhdWx0XCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIid0b29sYmFyLm1lbnUuaG9tZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIj5cbiAgICAgICAgPG1hdC1pY29uPmhvbWU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiAqbmdJZj0nIWlzT25aZXJvTGV2ZWwoKSAmJiAoY2FuR29CYWNrTG9hZGluZyQgfCBhc3luYykgPT09IGZhbHNlJyBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uQmFja0NsaWNrKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJtZW51LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIiBbbWF0VG9vbHRpcF09XCIndG9vbGJhci5tZW51LmJhY2snIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICAgIDxtYXQtaWNvbj5hcnJvd19iYWNrPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2ICpuZ0lmPVwiKGNhbkdvQmFja0xvYWRpbmckIHwgYXN5bmMpXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwibWFyZ2luLXRvcC1kZWZhdWx0XCI+XG4gICAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cInByaW1hcnlcIiBkaWFtZXRlcj1cIjMwXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1zcGlubmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1hcmdpbi10b3AteDJcIj48L2Rpdj5cblxuICAgIDxidXR0b24gKm5nRm9yPSdsZXQgZm9sZGVyIG9mIGxlZnRJdGVtczsgdHJhY2tCeTogaXRlbXNUcmFja0J5JyBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGZvbGRlcilcIlxuICAgICAgICAgICAgY2xhc3M9XCJtZW51LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIiBbbWF0VG9vbHRpcF09XCJmb2xkZXIubmF2aWdhdGlvbi50aXRsZVwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXNJdGVtQW5kTm9kZUVxdWFsKGZvbGRlciwgY3VycmVudE5vZGUpID8gJ3JhaWwtc2VsZWN0ZWQtY29sb3InIDogJ21lbnUtZm9udC1jb2xvcidcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPSdmb2xkZXIucm91dGluZy5wYXRoJ1xuICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxuICAgICAgICA8bWF0LWljb24+e3sgZm9sZGVyLm5hdmlnYXRpb24uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiKGxlZnRMb2FkaW5nJCB8IGFzeW5jKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtZGVmYXVsdFwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCIzMFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJpZ2h0U2lkZT5cbiAgICA8ZGl2IGNsYXNzPVwibG9nbyBib3JkZXItYm90dG9tXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeEhpZGUubHQtbWQ+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJpbWFnZSAhPT0gdW5kZWZpbmVkXCIgW2FsdF09XCJpbWFnZUFsdFwiIFtzcmNdPVwiaW1hZ2VcIiBjbGFzcz1cImxvZ29pbWdcIlxuICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImltYWdlUm91dGVyTGluayAhPT0gdW5kZWZpbmVkID8gaW1hZ2VSb3V0ZXJMaW5rIDogW11cIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiKHJpZ2h0TG9hZGluZyQgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiZW5kIGVuZFwiIGNsYXNzPVwib3JkZXItaWNvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvciBvcmRlci1pY29uXCIgKGNsaWNrKT1cInN3aXRjaE9yZGVyKClcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpc0FzY2VuZGluZygpID8gKCdkeW5hbWljTmF2aWdhdGlvbi5hc2NlbmRpbmcnIHwgdHJhbnNsYXRlKSA6ICgnZHluYW1pY05hdmlnYXRpb24uZGVzY2VuZGluZycgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnt7IGlzQXNjZW5kaW5nKCkgPyBcImV4cGFuZF9tb3JlXCIgOiBcImV4cGFuZF9sZXNzXCIgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0Zvcj0nbGV0IGl0ZW0gb2YgcmlnaHRJdGVtczsgdHJhY2tCeTogaXRlbXNUcmFja0J5JyAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgIGNsYXNzPVwidHJlZS1ub2RlIG1hdC10eXBvZ3JhcGh5IG1hdC1ib2R5LTJcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgW3JvdXRlckxpbmtdPSdpdGVtLnJvdXRpbmcucGF0aCdcbiAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlLXRyZWUtbm9kZVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidHJlZS1ub2RlLWljb25cIj57eyBpdGVtLm5hdmlnYXRpb24uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3Bhbj57eyBpdGVtLm5hdmlnYXRpb24udGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaXRlbS1mb2N1cy1vdmVybGF5XCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1vcmVJdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImxvYWRNb3JlSXRlbXMoKVwiPnt7ICdkeW5hbWljTmF2aWdhdGlvbi5sb2FkTW9yZUl0ZW1zJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIocmlnaHRMb2FkaW5nJCB8IGFzeW5jKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtZGVmYXVsdFwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCI0MFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|