UNPKG

@kushki/ng-suka

Version:

<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>

412 lines 26.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, ElementRef } from '@angular/core'; var PaddingDirective = /** @class */ (function () { function PaddingDirective(elementRef) { this.p = {}; this.elementRef = elementRef; } /** * @return {?} */ PaddingDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var paddingKeys = Object.keys(this.p); paddingKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("p-" + _this.p[key]); } else { _this.elementRef.nativeElement.classList.add("p-" + key + "-" + _this.p[key]); } })); } catch (err) { console.error("Malformed paddings`: " + err); } }; PaddingDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[p]' },] } ]; /** @nocollapse */ PaddingDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; PaddingDirective.propDecorators = { p: [{ type: Input }] }; return PaddingDirective; }()); export { PaddingDirective }; if (false) { /** @type {?} */ PaddingDirective.prototype.p; /** * @type {?} * @private */ PaddingDirective.prototype.elementRef; } var PaddingTopDirective = /** @class */ (function () { function PaddingTopDirective(elementRef) { this.pt = {}; this.elementRef = elementRef; } /** * @return {?} */ PaddingTopDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var paddingKeys = Object.keys(this.pt); paddingKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("pt-" + _this.pt[key]); } else { _this.elementRef.nativeElement.classList.add("pt-" + key + "-" + _this.pt[key]); } })); } catch (err) { console.error("Malformed paddings`: " + err); } }; PaddingTopDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[pt]' },] } ]; /** @nocollapse */ PaddingTopDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; PaddingTopDirective.propDecorators = { pt: [{ type: Input }] }; return PaddingTopDirective; }()); export { PaddingTopDirective }; if (false) { /** @type {?} */ PaddingTopDirective.prototype.pt; /** * @type {?} * @private */ PaddingTopDirective.prototype.elementRef; } var PaddingBottomDirective = /** @class */ (function () { function PaddingBottomDirective(elementRef) { this.pb = {}; this.elementRef = elementRef; } /** * @return {?} */ PaddingBottomDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var paddingKeys = Object.keys(this.pb); paddingKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("pb-" + _this.pb[key]); } else { _this.elementRef.nativeElement.classList.add("pb-" + key + "-" + _this.pb[key]); } })); } catch (err) { console.error("Malformed paddings`: " + err); } }; PaddingBottomDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[pb]' },] } ]; /** @nocollapse */ PaddingBottomDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; PaddingBottomDirective.propDecorators = { pb: [{ type: Input }] }; return PaddingBottomDirective; }()); export { PaddingBottomDirective }; if (false) { /** @type {?} */ PaddingBottomDirective.prototype.pb; /** * @type {?} * @private */ PaddingBottomDirective.prototype.elementRef; } var PaddingLeftDirective = /** @class */ (function () { function PaddingLeftDirective(elementRef) { this.pl = {}; this.elementRef = elementRef; } /** * @return {?} */ PaddingLeftDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var paddingKeys = Object.keys(this.pl); paddingKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("pl-" + _this.pl[key]); } else { _this.elementRef.nativeElement.classList.add("pl-" + key + "-" + _this.pl[key]); } })); } catch (err) { console.error("Malformed paddings`: " + err); } }; PaddingLeftDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[pl]' },] } ]; /** @nocollapse */ PaddingLeftDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; PaddingLeftDirective.propDecorators = { pl: [{ type: Input }] }; return PaddingLeftDirective; }()); export { PaddingLeftDirective }; if (false) { /** @type {?} */ PaddingLeftDirective.prototype.pl; /** * @type {?} * @private */ PaddingLeftDirective.prototype.elementRef; } var PaddingRightDirective = /** @class */ (function () { function PaddingRightDirective(elementRef) { this.pr = {}; this.elementRef = elementRef; } /** * @return {?} */ PaddingRightDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var paddingKeys = Object.keys(this.pr); paddingKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("pr-" + _this.pr[key]); } else { _this.elementRef.nativeElement.classList.add("pr-" + key + "-" + _this.pr[key]); } })); } catch (err) { console.error("Malformed paddings`: " + err); } }; PaddingRightDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[pr]' },] } ]; /** @nocollapse */ PaddingRightDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; PaddingRightDirective.propDecorators = { pr: [{ type: Input }] }; return PaddingRightDirective; }()); export { PaddingRightDirective }; if (false) { /** @type {?} */ PaddingRightDirective.prototype.pr; /** * @type {?} * @private */ PaddingRightDirective.prototype.elementRef; } var PaddingHorizontalDirective = /** @class */ (function () { function PaddingHorizontalDirective(elementRef) { this.px = {}; this.elementRef = elementRef; } /** * @return {?} */ PaddingHorizontalDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var paddingKeys = Object.keys(this.px); paddingKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("px-" + _this.px[key]); } else { _this.elementRef.nativeElement.classList.add("px-" + key + "-" + _this.px[key]); } })); } catch (err) { console.error("Malformed paddings`: " + err); } }; PaddingHorizontalDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[px]' },] } ]; /** @nocollapse */ PaddingHorizontalDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; PaddingHorizontalDirective.propDecorators = { px: [{ type: Input }] }; return PaddingHorizontalDirective; }()); export { PaddingHorizontalDirective }; if (false) { /** @type {?} */ PaddingHorizontalDirective.prototype.px; /** * @type {?} * @private */ PaddingHorizontalDirective.prototype.elementRef; } var PaddingVerticalDirective = /** @class */ (function () { function PaddingVerticalDirective(elementRef) { this.py = {}; this.elementRef = elementRef; } /** * @return {?} */ PaddingVerticalDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var paddingKeys = Object.keys(this.py); paddingKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("py-" + _this.py[key]); } else { _this.elementRef.nativeElement.classList.add("py-" + key + "-" + _this.py[key]); } })); } catch (err) { console.error("Malformed paddings`: " + err); } }; PaddingVerticalDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[py]' },] } ]; /** @nocollapse */ PaddingVerticalDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; PaddingVerticalDirective.propDecorators = { py: [{ type: Input }] }; return PaddingVerticalDirective; }()); export { PaddingVerticalDirective }; if (false) { /** @type {?} */ PaddingVerticalDirective.prototype.py; /** * @type {?} * @private */ PaddingVerticalDirective.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3VzaGtpL25nLXN1a2EvIiwic291cmNlcyI6WyJsaWIvc3BhY2luZy9wYWRkaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJFO0lBU0UsMEJBQVksVUFBc0I7UUFKekIsTUFBQyxHQUFHLEVBQUUsQ0FBQztRQUtkLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCxtQ0FBUTs7O0lBQVI7UUFBQSxpQkFjQztRQWJDLElBQUk7O2dCQUNJLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFdkMsV0FBVyxDQUFDLE9BQU87Ozs7WUFBQyxVQUFBLEdBQUc7Z0JBQ3JCLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRTtvQkFDakIsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFLLEtBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFHLENBQUMsQ0FBQztpQkFDakU7cUJBQU07b0JBQ0wsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFLLEdBQUcsU0FBSSxLQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBRyxDQUFDLENBQUM7aUJBQ3hFO1lBQ0gsQ0FBQyxFQUFDLENBQUM7U0FDSjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBeUIsR0FBSyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDOztnQkEzQkYsU0FBUyxTQUFDOztvQkFFVCxRQUFRLEVBQUUsS0FBSztpQkFDaEI7Ozs7Z0JBTGtDLFVBQVU7OztvQkFPMUMsS0FBSzs7SUF1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Qzs7b0JBRVQsUUFBUSxFQUFFLE1BQU07aUJBQ2pCOzs7O2dCQXpMa0MsVUFBVTs7O3FCQTJMMUMsS0FBSzs7SUF1QlIsK0JBQUM7Q0FBQSxBQTVCRCxJQTRCQztTQXhCWSx3QkFBd0I7OztJQUNuQyxzQ0FBaUI7Ozs7O0lBRWpCLDhDQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcF0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwID0ge307XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhZGRpbmdLZXlzID0gT2JqZWN0LmtleXModGhpcy5wKTtcblxuICAgICAgcGFkZGluZ0tleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHAtJHt0aGlzLnBba2V5XX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBwLSR7a2V5fS0ke3RoaXMucFtrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twdF0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdUb3BEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdCA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYWRkaW5nS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucHQpO1xuXG4gICAgICBwYWRkaW5nS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHQtJHt0aGlzLnB0W2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHQtJHtrZXl9LSR7dGhpcy5wdFtrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twYl0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdCb3R0b21EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwYiA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYWRkaW5nS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucGIpO1xuXG4gICAgICBwYWRkaW5nS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcGItJHt0aGlzLnBiW2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcGItJHtrZXl9LSR7dGhpcy5wYltrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twbF0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdMZWZ0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGwgPSB7fTtcblxuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFkZGluZ0tleXMgPSBPYmplY3Qua2V5cyh0aGlzLnBsKTtcblxuICAgICAgcGFkZGluZ0tleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHBsLSR7dGhpcy5wbFtrZXldfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHBsLSR7a2V5fS0ke3RoaXMucGxba2V5XX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNYWxmb3JtZWQgcGFkZGluZ3NcXGA6ICR7ZXJyfWApO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcHJdJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWRkaW5nUmlnaHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwciA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYWRkaW5nS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucHIpO1xuXG4gICAgICBwYWRkaW5nS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHItJHt0aGlzLnByW2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHItJHtrZXl9LSR7dGhpcy5wcltrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tweF0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdIb3Jpem9udGFsRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHggPSB7fTtcblxuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFkZGluZ0tleXMgPSBPYmplY3Qua2V5cyh0aGlzLnB4KTtcblxuICAgICAgcGFkZGluZ0tleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHB4LSR7dGhpcy5weFtrZXldfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHB4LSR7a2V5fS0ke3RoaXMucHhba2V5XX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNYWxmb3JtZWQgcGFkZGluZ3NcXGA6ICR7ZXJyfWApO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcHldJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWRkaW5nVmVydGljYWxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBweSA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYWRkaW5nS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucHkpO1xuXG4gICAgICBwYWRkaW5nS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHktJHt0aGlzLnB5W2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHktJHtrZXl9LSR7dGhpcy5weVtrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=