ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
185 lines • 19.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: list.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { __decorate, __metadata } from "tslib";
/**
* @license
* Copyright Alibaba.com All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, ViewEncapsulation } from '@angular/core';
import { InputBoolean } from 'ng-zorro-antd/core/util';
import { BehaviorSubject } from 'rxjs';
import { NzListFooterComponent, NzListLoadMoreDirective, NzListPaginationComponent } from './list-cell';
var NzListComponent = /** @class */ (function () {
function NzListComponent() {
this.nzBordered = false;
this.nzItemLayout = 'horizontal';
this.nzLoading = false;
this.nzSize = 'default';
this.nzSplit = true;
this.hasSomethingAfterLastItem = false;
this.itemLayoutNotifySource = new BehaviorSubject(this.nzItemLayout);
}
Object.defineProperty(NzListComponent.prototype, "itemLayoutNotify$", {
get: /**
* @return {?}
*/
function () {
return this.itemLayoutNotifySource.asObservable();
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
NzListComponent.prototype.getSomethingAfterLastItem = /**
* @return {?}
*/
function () {
return !!(this.nzLoadMore ||
this.nzPagination ||
this.nzFooter ||
this.nzListFooterComponent ||
this.nzListPaginationComponent ||
this.nzListLoadMoreDirective);
};
/**
* @param {?} changes
* @return {?}
*/
NzListComponent.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
if (changes.nzItemLayout) {
this.itemLayoutNotifySource.next(this.nzItemLayout);
}
};
/**
* @return {?}
*/
NzListComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.itemLayoutNotifySource.unsubscribe();
};
/**
* @return {?}
*/
NzListComponent.prototype.ngAfterContentInit = /**
* @return {?}
*/
function () {
this.hasSomethingAfterLastItem = this.getSomethingAfterLastItem();
};
NzListComponent.decorators = [
{ type: Component, args: [{
selector: 'nz-list, [nz-list]',
exportAs: 'nzList',
template: "\n <ng-template #itemsTpl>\n <div class=\"ant-list-items\">\n <ng-container *ngFor=\"let item of nzDataSource; let index = index\">\n <ng-template [ngTemplateOutlet]=\"nzRenderItem\" [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"></ng-template>\n </ng-container>\n <ng-content select=\"nz-list-item, [nz-list-item]\"></ng-content>\n </div>\n </ng-template>\n\n <nz-list-header *ngIf=\"nzHeader\">\n <ng-container *nzStringTemplateOutlet=\"nzHeader\">{{ nzHeader }}</ng-container>\n </nz-list-header>\n <ng-content select=\"nz-list-header\"></ng-content>\n\n <nz-spin [nzSpinning]=\"nzLoading\">\n <ng-container>\n <div *ngIf=\"nzLoading && nzDataSource && nzDataSource.length === 0\" [style.min-height.px]=\"53\"></div>\n <div *ngIf=\"nzGrid && nzDataSource; else itemsTpl\" nz-row [nzGutter]=\"nzGrid.gutter\">\n <div\n nz-col\n [nzSpan]=\"nzGrid.span\"\n [nzXs]=\"nzGrid.xs\"\n [nzSm]=\"nzGrid.sm\"\n [nzMd]=\"nzGrid.md\"\n [nzLg]=\"nzGrid.lg\"\n [nzXl]=\"nzGrid.xl\"\n [nzXXl]=\"nzGrid.xxl\"\n *ngFor=\"let item of nzDataSource; let index = index\"\n >\n <ng-template [ngTemplateOutlet]=\"nzRenderItem\" [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"></ng-template>\n </div>\n </div>\n <nz-list-empty *ngIf=\"!nzLoading && nzDataSource && nzDataSource.length === 0\" [nzNoResult]=\"nzNoResult\"></nz-list-empty>\n </ng-container>\n <ng-content></ng-content>\n </nz-spin>\n\n <nz-list-footer *ngIf=\"nzFooter\">\n <ng-container *nzStringTemplateOutlet=\"nzFooter\">{{ nzFooter }}</ng-container>\n </nz-list-footer>\n <ng-content select=\"nz-list-footer, [nz-list-footer]\"></ng-content>\n\n <ng-template [ngTemplateOutlet]=\"nzLoadMore\"></ng-template>\n <ng-content select=\"nz-list-load-more, [nz-list-load-more]\"></ng-content>\n\n <nz-list-pagination *ngIf=\"nzPagination\">\n <ng-template [ngTemplateOutlet]=\"nzPagination\"></ng-template>\n </nz-list-pagination>\n <ng-content select=\"nz-list-pagination, [nz-list-pagination]\"></ng-content>\n ",
preserveWhitespaces: false,
encapsulation: ViewEncapsulation.None,
changeDetection: ChangeDetectionStrategy.OnPush,
host: {
'[class.ant-list]': 'true',
'[class.ant-list-vertical]': 'nzItemLayout === "vertical"',
'[class.ant-list-lg]': 'nzSize === "large"',
'[class.ant-list-sm]': 'nzSize === "small"',
'[class.ant-list-split]': 'nzSplit',
'[class.ant-list-bordered]': 'nzBordered',
'[class.ant-list-loading]': 'nzLoading',
'[class.ant-list-something-after-last-item]': 'hasSomethingAfterLastItem'
}
}] }
];
/** @nocollapse */
NzListComponent.ctorParameters = function () { return []; };
NzListComponent.propDecorators = {
nzDataSource: [{ type: Input }],
nzBordered: [{ type: Input }],
nzGrid: [{ type: Input }],
nzHeader: [{ type: Input }],
nzFooter: [{ type: Input }],
nzItemLayout: [{ type: Input }],
nzRenderItem: [{ type: Input }],
nzLoading: [{ type: Input }],
nzLoadMore: [{ type: Input }],
nzPagination: [{ type: Input }],
nzSize: [{ type: Input }],
nzSplit: [{ type: Input }],
nzNoResult: [{ type: Input }],
nzListFooterComponent: [{ type: ContentChild, args: [NzListFooterComponent,] }],
nzListPaginationComponent: [{ type: ContentChild, args: [NzListPaginationComponent,] }],
nzListLoadMoreDirective: [{ type: ContentChild, args: [NzListLoadMoreDirective,] }]
};
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzListComponent.prototype, "nzBordered", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzListComponent.prototype, "nzLoading", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzListComponent.prototype, "nzSplit", void 0);
return NzListComponent;
}());
export { NzListComponent };
if (false) {
/** @type {?} */
NzListComponent.ngAcceptInputType_nzBordered;
/** @type {?} */
NzListComponent.ngAcceptInputType_nzLoading;
/** @type {?} */
NzListComponent.ngAcceptInputType_nzSplit;
/** @type {?} */
NzListComponent.prototype.nzDataSource;
/** @type {?} */
NzListComponent.prototype.nzBordered;
/** @type {?} */
NzListComponent.prototype.nzGrid;
/** @type {?} */
NzListComponent.prototype.nzHeader;
/** @type {?} */
NzListComponent.prototype.nzFooter;
/** @type {?} */
NzListComponent.prototype.nzItemLayout;
/** @type {?} */
NzListComponent.prototype.nzRenderItem;
/** @type {?} */
NzListComponent.prototype.nzLoading;
/** @type {?} */
NzListComponent.prototype.nzLoadMore;
/** @type {?} */
NzListComponent.prototype.nzPagination;
/** @type {?} */
NzListComponent.prototype.nzSize;
/** @type {?} */
NzListComponent.prototype.nzSplit;
/** @type {?} */
NzListComponent.prototype.nzNoResult;
/** @type {?} */
NzListComponent.prototype.nzListFooterComponent;
/** @type {?} */
NzListComponent.prototype.nzListPaginationComponent;
/** @type {?} */
NzListComponent.prototype.nzListLoadMoreDirective;
/** @type {?} */
NzListComponent.prototype.hasSomethingAfterLastItem;
/**
* @type {?}
* @private
*/
NzListComponent.prototype.itemLayoutNotifySource;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkL2xpc3QvIiwic291cmNlcyI6WyJsaXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RztJQW1HRTtRQXpCeUIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUluQyxpQkFBWSxHQUFzQixZQUFZLENBQUM7UUFFL0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQyxXQUFNLEdBQWtCLFNBQVMsQ0FBQztRQUNsQixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBT3hDLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUUxQiwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBTTVFLENBQUM7SUFKaEIsc0JBQUksOENBQWlCOzs7O1FBQXJCO1lBQ0UsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEQsQ0FBQzs7O09BQUE7Ozs7SUFJRCxtREFBeUI7OztJQUF6QjtRQUNFLE9BQU8sQ0FBQyxDQUFDLENBQ1AsSUFBSSxDQUFDLFVBQVU7WUFDZixJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJLENBQUMsUUFBUTtZQUNiLElBQUksQ0FBQyxxQkFBcUI7WUFDMUIsSUFBSSxDQUFDLHlCQUF5QjtZQUM5QixJQUFJLENBQUMsdUJBQXVCLENBQzdCLENBQUM7SUFDSixDQUFDOzs7OztJQUNELHFDQUFXOzs7O0lBQVgsVUFBWSxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOzs7O0lBRUQscUNBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFRCw0Q0FBa0I7OztJQUFsQjtRQUNFLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNwRSxDQUFDOztnQkEzSEYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixRQUFRLEVBQUUsOHRFQWtEVDtvQkFDRCxtQkFBbUIsRUFBRSxLQUFLO29CQUMxQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixrQkFBa0IsRUFBRSxNQUFNO3dCQUMxQiwyQkFBMkIsRUFBRSw2QkFBNkI7d0JBQzFELHFCQUFxQixFQUFFLG9CQUFvQjt3QkFDM0MscUJBQXFCLEVBQUUsb0JBQW9CO3dCQUMzQyx3QkFBd0IsRUFBRSxTQUFTO3dCQUNuQywyQkFBMkIsRUFBRSxZQUFZO3dCQUN6QywwQkFBMEIsRUFBRSxXQUFXO3dCQUN2Qyw0Q0FBNEMsRUFBRSwyQkFBMkI7cUJBQzFFO2lCQUNGOzs7OzsrQkFNRSxLQUFLOzZCQUNMLEtBQUs7eUJBQ0wsS0FBSzsyQkFDTCxLQUFLOzJCQUNMLEtBQUs7K0JBQ0wsS0FBSzsrQkFDTCxLQUFLOzRCQUNMLEtBQUs7NkJBQ0wsS0FBSzsrQkFDTCxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSzs2QkFDTCxLQUFLO3dDQUVMLFlBQVksU0FBQyxxQkFBcUI7NENBQ2xDLFlBQVksU0FBQyx5QkFBeUI7MENBQ3RDLFlBQVksU0FBQyx1QkFBdUI7O0lBZlo7UUFBZixZQUFZLEVBQUU7O3VEQUFvQjtJQU1uQjtRQUFmLFlBQVksRUFBRTs7c0RBQW1CO0lBSWxCO1FBQWYsWUFBWSxFQUFFOztvREFBZ0I7SUF3QzFDLHNCQUFDO0NBQUEsQUE1SEQsSUE0SEM7U0F4RFksZUFBZTs7O0lBQzFCLDZDQUFrRDs7SUFDbEQsNENBQWlEOztJQUNqRCwwQ0FBK0M7O0lBRS9DLHVDQUFtQzs7SUFDbkMscUNBQTRDOztJQUM1QyxpQ0FBNEI7O0lBQzVCLG1DQUE4Qzs7SUFDOUMsbUNBQThDOztJQUM5Qyx1Q0FBd0Q7O0lBQ3hELHVDQUF5Qzs7SUFDekMsb0NBQTJDOztJQUMzQyxxQ0FBdUM7O0lBQ3ZDLHVDQUF5Qzs7SUFDekMsaUNBQTJDOztJQUMzQyxrQ0FBd0M7O0lBQ3hDLHFDQUFnRDs7SUFFaEQsZ0RBQWtGOztJQUNsRixvREFBOEY7O0lBQzlGLGtEQUF3Rjs7SUFFeEYsb0RBQWtDOzs7OztJQUVsQyxpREFBMkYiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQWxpYmFiYS5jb20gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgTnpEaXJlY3Rpb25WSFR5cGUsIE56U2FmZUFueSwgTnpTaXplTERTVHlwZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdXRpbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE56TGlzdEdyaWQgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBOekxpc3RGb290ZXJDb21wb25lbnQsIE56TGlzdExvYWRNb3JlRGlyZWN0aXZlLCBOekxpc3RQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWNlbGwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduei1saXN0LCBbbnotbGlzdF0nLFxuICBleHBvcnRBczogJ256TGlzdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNpdGVtc1RwbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJhbnQtbGlzdC1pdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG56RGF0YVNvdXJjZTsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibnpSZW5kZXJJdGVtXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCBpbmRleDogaW5kZXggfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuei1saXN0LWl0ZW0sIFtuei1saXN0LWl0ZW1dXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuei1saXN0LWhlYWRlciAqbmdJZj1cIm56SGVhZGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuelN0cmluZ1RlbXBsYXRlT3V0bGV0PVwibnpIZWFkZXJcIj57eyBuekhlYWRlciB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvbnotbGlzdC1oZWFkZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibnotbGlzdC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bnotc3BpbiBbbnpTcGlubmluZ109XCJuekxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJuekxvYWRpbmcgJiYgbnpEYXRhU291cmNlICYmIG56RGF0YVNvdXJjZS5sZW5ndGggPT09IDBcIiBbc3R5bGUubWluLWhlaWdodC5weF09XCI1M1wiPjwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibnpHcmlkICYmIG56RGF0YVNvdXJjZTsgZWxzZSBpdGVtc1RwbFwiIG56LXJvdyBbbnpHdXR0ZXJdPVwibnpHcmlkLmd1dHRlclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIG56LWNvbFxuICAgICAgICAgICAgW256U3Bhbl09XCJuekdyaWQuc3BhblwiXG4gICAgICAgICAgICBbbnpYc109XCJuekdyaWQueHNcIlxuICAgICAgICAgICAgW256U21dPVwibnpHcmlkLnNtXCJcbiAgICAgICAgICAgIFtuek1kXT1cIm56R3JpZC5tZFwiXG4gICAgICAgICAgICBbbnpMZ109XCJuekdyaWQubGdcIlxuICAgICAgICAgICAgW256WGxdPVwibnpHcmlkLnhsXCJcbiAgICAgICAgICAgIFtuelhYbF09XCJuekdyaWQueHhsXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG56RGF0YVNvdXJjZTsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJuelJlbmRlckl0ZW1cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiBpbmRleCB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuei1saXN0LWVtcHR5ICpuZ0lmPVwiIW56TG9hZGluZyAmJiBuekRhdGFTb3VyY2UgJiYgbnpEYXRhU291cmNlLmxlbmd0aCA9PT0gMFwiIFtuek5vUmVzdWx0XT1cIm56Tm9SZXN1bHRcIj48L256LWxpc3QtZW1wdHk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L256LXNwaW4+XG5cbiAgICA8bnotbGlzdC1mb290ZXIgKm5nSWY9XCJuekZvb3RlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbnpTdHJpbmdUZW1wbGF0ZU91dGxldD1cIm56Rm9vdGVyXCI+e3sgbnpGb290ZXIgfX08L25nLWNvbnRhaW5lcj5cbiAgICA8L256LWxpc3QtZm9vdGVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm56LWxpc3QtZm9vdGVyLCBbbnotbGlzdC1mb290ZXJdXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm56TG9hZE1vcmVcIj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm56LWxpc3QtbG9hZC1tb3JlLCBbbnotbGlzdC1sb2FkLW1vcmVdXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPG56LWxpc3QtcGFnaW5hdGlvbiAqbmdJZj1cIm56UGFnaW5hdGlvblwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm56UGFnaW5hdGlvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uei1saXN0LXBhZ2luYXRpb24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibnotbGlzdC1wYWdpbmF0aW9uLCBbbnotbGlzdC1wYWdpbmF0aW9uXVwiPjwvbmctY29udGVudD5cbiAgYCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5hbnQtbGlzdF0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5hbnQtbGlzdC12ZXJ0aWNhbF0nOiAnbnpJdGVtTGF5b3V0ID09PSBcInZlcnRpY2FsXCInLFxuICAgICdbY2xhc3MuYW50LWxpc3QtbGddJzogJ256U2l6ZSA9PT0gXCJsYXJnZVwiJyxcbiAgICAnW2NsYXNzLmFudC1saXN0LXNtXSc6ICduelNpemUgPT09IFwic21hbGxcIicsXG4gICAgJ1tjbGFzcy5hbnQtbGlzdC1zcGxpdF0nOiAnbnpTcGxpdCcsXG4gICAgJ1tjbGFzcy5hbnQtbGlzdC1ib3JkZXJlZF0nOiAnbnpCb3JkZXJlZCcsXG4gICAgJ1tjbGFzcy5hbnQtbGlzdC1sb2FkaW5nXSc6ICduekxvYWRpbmcnLFxuICAgICdbY2xhc3MuYW50LWxpc3Qtc29tZXRoaW5nLWFmdGVyLWxhc3QtaXRlbV0nOiAnaGFzU29tZXRoaW5nQWZ0ZXJMYXN0SXRlbSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBOekxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9uekJvcmRlcmVkOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9uekxvYWRpbmc6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX256U3BsaXQ6IEJvb2xlYW5JbnB1dDtcblxuICBASW5wdXQoKSBuekRhdGFTb3VyY2U6IE56U2FmZUFueVtdO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgbnpCb3JkZXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBuekdyaWQ6IE56TGlzdEdyaWQ7XG4gIEBJbnB1dCgpIG56SGVhZGVyOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQElucHV0KCkgbnpGb290ZXI6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBASW5wdXQoKSBuekl0ZW1MYXlvdXQ6IE56RGlyZWN0aW9uVkhUeXBlID0gJ2hvcml6b250YWwnO1xuICBASW5wdXQoKSBuelJlbmRlckl0ZW06IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgbnpMb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIG56TG9hZE1vcmU6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBASW5wdXQoKSBuelBhZ2luYXRpb246IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBASW5wdXQoKSBuelNpemU6IE56U2l6ZUxEU1R5cGUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBuelNwbGl0ID0gdHJ1ZTtcbiAgQElucHV0KCkgbnpOb1Jlc3VsdDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgQENvbnRlbnRDaGlsZChOekxpc3RGb290ZXJDb21wb25lbnQpIG56TGlzdEZvb3RlckNvbXBvbmVudDogTnpMaXN0Rm9vdGVyQ29tcG9uZW50O1xuICBAQ29udGVudENoaWxkKE56TGlzdFBhZ2luYXRpb25Db21wb25lbnQpIG56TGlzdFBhZ2luYXRpb25Db21wb25lbnQ6IE56TGlzdFBhZ2luYXRpb25Db21wb25lbnQ7XG4gIEBDb250ZW50Q2hpbGQoTnpMaXN0TG9hZE1vcmVEaXJlY3RpdmUpIG56TGlzdExvYWRNb3JlRGlyZWN0aXZlOiBOekxpc3RMb2FkTW9yZURpcmVjdGl2ZTtcblxuICBoYXNTb21ldGhpbmdBZnRlckxhc3RJdGVtID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBpdGVtTGF5b3V0Tm90aWZ5U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOekRpcmVjdGlvblZIVHlwZT4odGhpcy5uekl0ZW1MYXlvdXQpO1xuXG4gIGdldCBpdGVtTGF5b3V0Tm90aWZ5JCgpOiBPYnNlcnZhYmxlPE56RGlyZWN0aW9uVkhUeXBlPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbUxheW91dE5vdGlmeVNvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBnZXRTb21ldGhpbmdBZnRlckxhc3RJdGVtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShcbiAgICAgIHRoaXMubnpMb2FkTW9yZSB8fFxuICAgICAgdGhpcy5uelBhZ2luYXRpb24gfHxcbiAgICAgIHRoaXMubnpGb290ZXIgfHxcbiAgICAgIHRoaXMubnpMaXN0Rm9vdGVyQ29tcG9uZW50IHx8XG4gICAgICB0aGlzLm56TGlzdFBhZ2luYXRpb25Db21wb25lbnQgfHxcbiAgICAgIHRoaXMubnpMaXN0TG9hZE1vcmVEaXJlY3RpdmVcbiAgICApO1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5uekl0ZW1MYXlvdXQpIHtcbiAgICAgIHRoaXMuaXRlbUxheW91dE5vdGlmeVNvdXJjZS5uZXh0KHRoaXMubnpJdGVtTGF5b3V0KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1MYXlvdXROb3RpZnlTb3VyY2UudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1NvbWV0aGluZ0FmdGVyTGFzdEl0ZW0gPSB0aGlzLmdldFNvbWV0aGluZ0FmdGVyTGFzdEl0ZW0oKTtcbiAgfVxufVxuIl19