@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 • 25.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Input, ElementRef } from '@angular/core';
var MarginDirective = /** @class */ (function () {
function MarginDirective(elementRef) {
this.m = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
MarginDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var marginKeys = Object.keys(this.m);
marginKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("m-" + _this.m[key]);
}
else {
_this.elementRef.nativeElement.classList.add("m-" + key + "-" + _this.m[key]);
}
}));
}
catch (err) {
console.error("Malformed margins`: " + err);
}
};
MarginDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[m]'
},] }
];
/** @nocollapse */
MarginDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
MarginDirective.propDecorators = {
m: [{ type: Input }]
};
return MarginDirective;
}());
export { MarginDirective };
if (false) {
/** @type {?} */
MarginDirective.prototype.m;
/**
* @type {?}
* @private
*/
MarginDirective.prototype.elementRef;
}
var MarginTopDirective = /** @class */ (function () {
function MarginTopDirective(elementRef) {
this.mt = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
MarginTopDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var marginKeys = Object.keys(this.mt);
marginKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("mt-" + _this.mt[key]);
}
else {
_this.elementRef.nativeElement.classList.add("mt-" + key + "-" + _this.mt[key]);
}
}));
}
catch (err) {
console.error("Malformed margins`: " + err);
}
};
MarginTopDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[mt]'
},] }
];
/** @nocollapse */
MarginTopDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
MarginTopDirective.propDecorators = {
mt: [{ type: Input }]
};
return MarginTopDirective;
}());
export { MarginTopDirective };
if (false) {
/** @type {?} */
MarginTopDirective.prototype.mt;
/**
* @type {?}
* @private
*/
MarginTopDirective.prototype.elementRef;
}
var MarginBottomDirective = /** @class */ (function () {
function MarginBottomDirective(elementRef) {
this.mb = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
MarginBottomDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var marginKeys = Object.keys(this.mb);
marginKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("mb-" + _this.mb[key]);
}
else {
_this.elementRef.nativeElement.classList.add("mb-" + key + "-" + _this.mb[key]);
}
}));
}
catch (err) {
console.error("Malformed margins`: " + err);
}
};
MarginBottomDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[mb]'
},] }
];
/** @nocollapse */
MarginBottomDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
MarginBottomDirective.propDecorators = {
mb: [{ type: Input }]
};
return MarginBottomDirective;
}());
export { MarginBottomDirective };
if (false) {
/** @type {?} */
MarginBottomDirective.prototype.mb;
/**
* @type {?}
* @private
*/
MarginBottomDirective.prototype.elementRef;
}
var MarginLeftDirective = /** @class */ (function () {
function MarginLeftDirective(elementRef) {
this.ml = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
MarginLeftDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var marginKeys = Object.keys(this.ml);
marginKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("ml-" + _this.ml[key]);
}
else {
_this.elementRef.nativeElement.classList.add("ml-" + key + "-" + _this.ml[key]);
}
}));
}
catch (err) {
console.error("Malformed margins`: " + err);
}
};
MarginLeftDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[ml]'
},] }
];
/** @nocollapse */
MarginLeftDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
MarginLeftDirective.propDecorators = {
ml: [{ type: Input }]
};
return MarginLeftDirective;
}());
export { MarginLeftDirective };
if (false) {
/** @type {?} */
MarginLeftDirective.prototype.ml;
/**
* @type {?}
* @private
*/
MarginLeftDirective.prototype.elementRef;
}
var MarginRightDirective = /** @class */ (function () {
function MarginRightDirective(elementRef) {
this.mr = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
MarginRightDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var marginKeys = Object.keys(this.mr);
marginKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("mr-" + _this.mr[key]);
}
else {
_this.elementRef.nativeElement.classList.add("mr-" + key + "-" + _this.mr[key]);
}
}));
}
catch (err) {
console.error("Malformed margins`: " + err);
}
};
MarginRightDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[mr]'
},] }
];
/** @nocollapse */
MarginRightDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
MarginRightDirective.propDecorators = {
mr: [{ type: Input }]
};
return MarginRightDirective;
}());
export { MarginRightDirective };
if (false) {
/** @type {?} */
MarginRightDirective.prototype.mr;
/**
* @type {?}
* @private
*/
MarginRightDirective.prototype.elementRef;
}
var MarginHorizontalDirective = /** @class */ (function () {
function MarginHorizontalDirective(elementRef) {
this.mx = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
MarginHorizontalDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var marginKeys = Object.keys(this.mx);
marginKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("mx-" + _this.mx[key]);
}
else {
_this.elementRef.nativeElement.classList.add("mx-" + key + "-" + _this.mx[key]);
}
}));
}
catch (err) {
console.error("Malformed margins`: " + err);
}
};
MarginHorizontalDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[mx]'
},] }
];
/** @nocollapse */
MarginHorizontalDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
MarginHorizontalDirective.propDecorators = {
mx: [{ type: Input }]
};
return MarginHorizontalDirective;
}());
export { MarginHorizontalDirective };
if (false) {
/** @type {?} */
MarginHorizontalDirective.prototype.mx;
/**
* @type {?}
* @private
*/
MarginHorizontalDirective.prototype.elementRef;
}
var MarginVerticalDirective = /** @class */ (function () {
function MarginVerticalDirective(elementRef) {
this.my = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
MarginVerticalDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var marginKeys = Object.keys(this.my);
marginKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("my-" + _this.my[key]);
}
else {
_this.elementRef.nativeElement.classList.add("my-" + key + "-" + _this.my[key]);
}
}));
}
catch (err) {
console.error("Malformed margins`: " + err);
}
};
MarginVerticalDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[my]'
},] }
];
/** @nocollapse */
MarginVerticalDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
MarginVerticalDirective.propDecorators = {
my: [{ type: Input }]
};
return MarginVerticalDirective;
}());
export { MarginVerticalDirective };
if (false) {
/** @type {?} */
MarginVerticalDirective.prototype.my;
/**
* @type {?}
* @private
*/
MarginVerticalDirective.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyZ2luLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrdXNoa2kvbmctc3VrYS8iLCJzb3VyY2VzIjpbImxpYi9zcGFjaW5nL21hcmdpbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRTtJQVNFLHlCQUFZLFVBQXNCO1FBSnpCLE1BQUMsR0FBRyxFQUFFLENBQUM7UUFLZCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDOzs7O0lBRUQsa0NBQVE7OztJQUFSO1FBQUEsaUJBY0M7UUFiQyxJQUFJOztnQkFDSSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRXRDLFVBQVUsQ0FBQyxPQUFPOzs7O1lBQUMsVUFBQSxHQUFHO2dCQUNwQixJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUU7b0JBQ2pCLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBSyxLQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBRyxDQUFDLENBQUM7aUJBQ2pFO3FCQUFNO29CQUNMLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBSyxHQUFHLFNBQUksS0FBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUcsQ0FBQyxDQUFDO2lCQUN4RTtZQUNILENBQUMsRUFBQyxDQUFDO1NBQ0o7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXdCLEdBQUssQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7Z0JBM0JGLFNBQVMsU0FBQzs7b0JBRVQsUUFBUSxFQUFFLEtBQUs7aUJBQ2hCOzs7O2dCQUxrQyxVQUFVOzs7b0JBTzFDLEtBQUs7O0lBdUJS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QkFFVCxRQUFRLEVBQUUsTUFBTTtpQkFDakI7Ozs7Z0JBekxrQyxVQUFVOzs7cUJBMkwxQyxLQUFLOztJQXVCUiw4QkFBQztDQUFBLEFBNUJELElBNEJDO1NBeEJZLHVCQUF1Qjs7O0lBQ2xDLHFDQUFpQjs7Ozs7SUFFakIsNkNBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1ttXSdcbn0pXG5leHBvcnQgY2xhc3MgTWFyZ2luRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbSA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtYXJnaW5LZXlzID0gT2JqZWN0LmtleXModGhpcy5tKTtcblxuICAgICAgbWFyZ2luS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbS0ke3RoaXMubVtrZXldfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG0tJHtrZXl9LSR7dGhpcy5tW2tleV19YCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihgTWFsZm9ybWVkIG1hcmdpbnNcXGA6ICR7ZXJyfWApO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbbXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBNYXJnaW5Ub3BEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtdCA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtYXJnaW5LZXlzID0gT2JqZWN0LmtleXModGhpcy5tdCk7XG5cbiAgICAgIG1hcmdpbktleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG10LSR7dGhpcy5tdFtrZXldfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG10LSR7a2V5fS0ke3RoaXMubXRba2V5XX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNYWxmb3JtZWQgbWFyZ2luc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1ttYl0nXG59KVxuZXhwb3J0IGNsYXNzIE1hcmdpbkJvdHRvbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1iID0ge307XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1hcmdpbktleXMgPSBPYmplY3Qua2V5cyh0aGlzLm1iKTtcblxuICAgICAgbWFyZ2luS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbWItJHt0aGlzLm1iW2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbWItJHtrZXl9LSR7dGhpcy5tYltrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBtYXJnaW5zXFxgOiAke2Vycn1gKTtcbiAgICB9XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW21sXSdcbn0pXG5leHBvcnQgY2xhc3MgTWFyZ2luTGVmdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1sID0ge307XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1hcmdpbktleXMgPSBPYmplY3Qua2V5cyh0aGlzLm1sKTtcblxuICAgICAgbWFyZ2luS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbWwtJHt0aGlzLm1sW2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbWwtJHtrZXl9LSR7dGhpcy5tbFtrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBtYXJnaW5zXFxgOiAke2Vycn1gKTtcbiAgICB9XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW21yXSdcbn0pXG5leHBvcnQgY2xhc3MgTWFyZ2luUmlnaHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtciA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtYXJnaW5LZXlzID0gT2JqZWN0LmtleXModGhpcy5tcik7XG5cbiAgICAgIG1hcmdpbktleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG1yLSR7dGhpcy5tcltrZXldfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG1yLSR7a2V5fS0ke3RoaXMubXJba2V5XX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNYWxmb3JtZWQgbWFyZ2luc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tteF0nXG59KVxuZXhwb3J0IGNsYXNzIE1hcmdpbkhvcml6b250YWxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBteCA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtYXJnaW5LZXlzID0gT2JqZWN0LmtleXModGhpcy5teCk7XG5cbiAgICAgIG1hcmdpbktleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG14LSR7dGhpcy5teFtrZXldfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG14LSR7a2V5fS0ke3RoaXMubXhba2V5XX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNYWxmb3JtZWQgbWFyZ2luc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tteV0nXG59KVxuZXhwb3J0IGNsYXNzIE1hcmdpblZlcnRpY2FsRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbXkgPSB7fTtcblxuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbWFyZ2luS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMubXkpO1xuXG4gICAgICBtYXJnaW5LZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2FsbCcpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBteS0ke3RoaXMubXlba2V5XX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBteS0ke2tleX0tJHt0aGlzLm15W2tleV19YCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihgTWFsZm9ybWVkIG1hcmdpbnNcXGA6ICR7ZXJyfWApO1xuICAgIH1cbiAgfVxufVxuIl19