UNPKG

stimulsoft-viewer-angular

Version:
244 lines 25.2 kB
import { Subject } from 'rxjs'; export class ComponentDescription { constructor(type, caption, img, action, tooltip, arrow, menuItems, margin, selected) { this.type = type; this.caption = caption; this.img = img; this.action = action; this.tooltip = tooltip; this.arrow = arrow; this.menuItems = menuItems; this.margin = margin; this.selected = selected; this.selected = false; } } export class ViewerEvent { constructor(name, value, bookmarkPage, bookmarkAnchor, componentGuid) { this.name = name; this.value = value; this.bookmarkPage = bookmarkPage; this.bookmarkAnchor = bookmarkAnchor; this.componentGuid = componentGuid; } } export class ControlClass { constructor() { this.toolbar = new ControlProps(); this.reportPanel = new ControlProps(); this.drillDownPanel = new ControlProps(); this.findPanel = new ControlProps(); this.resourcesPanel = new ControlProps(); this.bookmarksPanel = new ControlProps(); this.navigatePanel = new ControlProps(); this.parametersPanel = new ControlProps(); this.dashboardsPanel = new ControlProps(); this.viewer = new ControlProps(); this.tooltip = new ControlProps(); this.aboutPanel = new ControlProps(); } get head() { return document.getElementsByTagName('head')[0]; } } export class ControlProps { constructor(pageService, el) { this.pageService = pageService; this.el = el; this._visible = false; this.subject = new Subject(); this.enabled = true; this.layout = new Rectangle(); } get offsetHeight() { return this.el?.nativeElement.offsetHeight || 0; } get offsetWidth() { return this.el?.nativeElement.offsetWidth || 0; } set visible(value) { this._visible = value; this.subject.next(value); this.pageService?.calculateLayout(); } get visible() { return this._visible; } getVisibility() { return this.subject.asObservable(); } get exists() { return this.el != null; } } export class Rectangle { set top(value) { this._top = value; } get top() { return this._top; } constructor(width = 0, height = 0, left = 0, bottom = 0, right = 0) { this.width = width; this.height = height; this.left = left; this.bottom = bottom; this.right = right; this._top = 0; } } export class BookmarkNode { constructor(name, url, page, compunentGuid, nodes, open, selected) { this.name = name; this.url = url; this.page = page; this.compunentGuid = compunentGuid; this.nodes = nodes; this.open = open; this.selected = selected; } } export class InteractionParams { constructor(action, drillDownParameters, drillDownGuid, dashboardDrillDownGuid, variables, sortingParameters, collapsingParameters, isBindingVariable) { this.action = action; this.drillDownParameters = drillDownParameters; this.drillDownGuid = drillDownGuid; this.dashboardDrillDownGuid = dashboardDrillDownGuid; this.variables = variables; this.sortingParameters = sortingParameters; this.collapsingParameters = collapsingParameters; this.isBindingVariable = isBindingVariable; } } export class InteractionObject { constructor(paramsVariables, countColumns, countInColumn) { this.paramsVariables = paramsVariables; this.countColumns = countColumns; this.countInColumn = countInColumn; } } export class Variable { constructor(name, alias, description, basicType, type, allowUserValues, dateTimeType, items, key, value, keyTo, isChecked = true, focusOnCreate, visible = true, binding, isNull, isFirstInitialization, checkedStates, isChanged, allowNullableString) { this.name = name; this.alias = alias; this.description = description; this.basicType = basicType; this.type = type; this.allowUserValues = allowUserValues; this.dateTimeType = dateTimeType; this.items = items; this.key = key; this.value = value; this.keyTo = keyTo; this.isChecked = isChecked; this.focusOnCreate = focusOnCreate; this.visible = visible; this.binding = binding; this.isNull = isNull; this.isFirstInitialization = isFirstInitialization; this.checkedStates = checkedStates; this.isChanged = isChanged; this.allowNullableString = allowNullableString; } } export class DateTimeObject { constructor(year, month, day, hours, minutes, seconds) { this.year = year; this.month = month; this.day = day; this.hours = hours; this.minutes = minutes; this.seconds = seconds; } } export class Item { constructor(name, caption, imageName, key, haveSubMenu, imageSizes, selected, type) { this.name = name; this.caption = caption; this.imageName = imageName; this.key = key; this.haveSubMenu = haveSubMenu; this.imageSizes = imageSizes; this.selected = selected; this.type = type; } } export class Message { constructor(action, data, subAction) { this.action = action; this.data = data; this.subAction = subAction; } } export class Form { constructor(name, left, top, isMooving = false, level, formData) { this.name = name; this.left = left; this.top = top; this.isMooving = isMooving; this.level = level; this.formData = formData; } } export class ExportFormSettings { constructor(components, cSettings, openAfterExport, groups, update) { this.components = components; this.cSettings = cSettings; this.openAfterExport = openAfterExport; this.groups = groups; this.update = update; } } export class ExportGroup { constructor(opened) { this.opened = opened; } } export class ExportComponent { constructor(name, type, margin, label, tooltip, caption, checked, width, disabled, items, key) { this.name = name; this.type = type; this.margin = margin; this.label = label; this.tooltip = tooltip; this.caption = caption; this.checked = checked; this.width = width; this.disabled = disabled; this.items = items; this.key = key; } } export class DrillDown { constructor(caption, selected = false, reportParams, visible) { this.caption = caption; this.selected = selected; this.reportParams = reportParams; this.visible = visible; } } export class ErrorMessage { constructor(error, type) { this.error = error; this.type = type; } } export class Resource { constructor(name, type, alias, id) { this.name = name; this.type = type; this.alias = alias; this.id = id; } } export class NotificationFormOptions { constructor(image, message, description, buttonCaption, cancelAction, action) { this.image = image; this.message = message; this.description = description; this.buttonCaption = buttonCaption; this.cancelAction = cancelAction; this.action = action; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0aW11bHNvZnQtdmlld2VyLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9vYmplY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFtQixJQUFZLEVBQVMsT0FBZ0IsRUFBUyxHQUFZLEVBQVMsTUFBZSxFQUM1RixPQUFpQixFQUFTLEtBQWMsRUFBUyxTQUFzQixFQUFTLE1BQWUsRUFBUyxRQUFrQjtRQURoSCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFTLFFBQUcsR0FBSCxHQUFHLENBQVM7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQzVGLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBYTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVM7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2pJLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQW1CLElBQVksRUFBUyxLQUFXLEVBQVMsWUFBcUIsRUFBUyxjQUF1QixFQUFTLGFBQXNCO1FBQTdILFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFNO1FBQVMsaUJBQVksR0FBWixZQUFZLENBQVM7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBUztRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFTO0lBQUksQ0FBQztDQUN0SjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBZ0J2QjtRQWZPLFlBQU8sR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMz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QUFhLEVBQVMsRUFBVztRQUEzRSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQVE7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFTO0lBQUksQ0FBQztDQUNwRztBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBbUIsS0FBYyxFQUFTLE9BQWdCLEVBQVMsV0FBb0IsRUFBUyxhQUFzQixFQUM3RyxZQUFrQixFQUFTLE1BQVk7UUFEN0IsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBQzdHLGlCQUFZLEdBQVosWUFBWSxDQUFNO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBTTtJQUFJLENBQUM7Q0FDdEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4uL21lbnUvbWVuaS1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGFnZVNlcnZpY2UgfSBmcm9tICcuL3BhZ2Uuc2VydmljZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50RGVzY3JpcHRpb24ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0eXBlOiBzdHJpbmcsIHB1YmxpYyBjYXB0aW9uPzogc3RyaW5nLCBwdWJsaWMgaW1nPzogc3RyaW5nLCBwdWJsaWMgYWN0aW9uPzogc3RyaW5nLFxyXG4gICAgcHVibGljIHRvb2x0aXA/OiBib29sZWFuLCBwdWJsaWMgYXJyb3c/OiBzdHJpbmcsIHB1YmxpYyBtZW51SXRlbXM/OiBNZW51SXRlbVtdLCBwdWJsaWMgbWFyZ2luPzogc3RyaW5nLCBwdWJsaWMgc2VsZWN0ZWQ/OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFZpZXdlckV2ZW50IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZTogc3RyaW5nLCBwdWJsaWMgdmFsdWU/OiBhbnksIHB1YmxpYyBib29rbWFya1BhZ2U/OiBudW1iZXIsIHB1YmxpYyBib29rbWFya0FuY2hvcj86IHN0cmluZywgcHVibGljIGNvbXBvbmVudEd1aWQ/OiBzdHJpbmcpIHsgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ29udHJvbENsYXNzIHtcclxuICBwdWJsaWMgdG9vbGJhcjogQ29udHJvbFByb3BzID0gbmV3IENvbnRyb2xQcm9wcygpO1xyXG4gIHB1YmxpYyByZXBvcnRQYW5lbDogQ29udHJvbFByb3BzID0gbmV3IENvbnRyb2xQcm9wcygpO1xyXG4gIHB1YmxpYyBkcmlsbERvd25QYW5lbDogQ29udHJvbFByb3BzID0gbmV3IENvbnRyb2xQcm9wcygpO1xyXG4gIHB1YmxpYyBmaW5kUGFuZWw6IENvbnRyb2xQcm9wcyA9IG5ldyBDb250cm9sUHJvcHMoKTtcclxuICBwdWJsaWMgcmVzb3VyY2VzUGFuZWw6IENvbnRyb2xQcm9wcyA9IG5ldyBDb250cm9sUHJvcHMoKTtcclxuICBwdWJsaWMgYm9va21hcmtzUGFuZWw6IENvbnRyb2xQcm9wcyA9IG5ldyBDb250cm9sUHJvcHMoKTtcclxuICBwdWJsaWMgbmF2aWdhdGVQYW5lbDogQ29udHJvbFByb3BzID0gbmV3IENvbnRyb2xQcm9wcygpO1xyXG4gIHB1YmxpYyBwYXJhbWV0ZXJzUGFuZWw6IENvbnRyb2xQcm9wcyA9IG5ldyBDb250cm9sUHJvcHMoKTtcclxuICBwdWJsaWMgZGFzaGJvYXJkc1BhbmVsOiBDb250cm9sUHJvcHMgPSBuZXcgQ29udHJvbFByb3BzKCk7XHJcbiAgcHVibGljIHZpZXdlcjogQ29udHJvbFByb3BzID0gbmV3IENvbnRyb2xQcm9wcygpO1xyXG4gIHB1YmxpYyB0b29sdGlwOiBDb250cm9sUHJvcHMgPSBuZXcgQ29udHJvbFByb3BzKCk7XHJcbiAgcHVibGljIGFib3V0UGFuZWw6IENvbnRyb2xQcm9wcyA9IG5ldyBDb250cm9sUHJvcHMoKTtcclxuXHJcbiAgcHVibGljIGJvb2ttYXJrc0xhYmVsOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaGVhZCgpOiBIVE1MSGVhZEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ29udHJvbFByb3BzIHtcclxuICBwcml2YXRlIF92aXNpYmxlID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICBwdWJsaWMgZW5hYmxlZCA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBsYXlvdXQ6IFJlY3RhbmdsZSA9IG5ldyBSZWN0YW5nbGUoKTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGFnZVNlcnZpY2U/OiBQYWdlU2VydmljZSwgcHVibGljIGVsPzogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gIHB1YmxpYyBnZXQgb2Zmc2V0SGVpZ2h0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5lbD8ubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgfHwgMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgb2Zmc2V0V2lkdGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmVsPy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIHx8IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3ViamVjdC5uZXh0KHZhbHVlKTtcclxuICAgIHRoaXMucGFnZVNlcnZpY2U/LmNhbGN1bGF0ZUxheW91dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VmlzaWJpbGl0eSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZXhpc3RzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWwgIT0gbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZWN0YW5nbGUge1xyXG5cclxuICBwcml2YXRlIF90b3A6IG51bWJlciA9IDA7XHJcblxyXG4gIHB1YmxpYyBzZXQgdG9wKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3RvcCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0b3AoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl90b3A7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgd2lkdGg6IG51bWJlciA9IDAsIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDAsIHB1YmxpYyBsZWZ0OiBudW1iZXIgPSAwLFxyXG4gICAgcHVibGljIGJvdHRvbTogbnVtYmVyID0gMCwgcHVibGljIHJpZ2h0OiBudW1iZXIgPSAwKSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEJvb2ttYXJrTm9kZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lPzogc3RyaW5nLCBwdWJsaWMgdXJsPzogc3RyaW5nLCBwdWJsaWMgcGFnZT86IG51bWJlciwgcHVibGljIGNvbXB1bmVudEd1aWQ/OiBzdHJpbmcsIHB1YmxpYyBub2Rlcz86IEJvb2ttYXJrTm9kZVtdLFxyXG4gICAgcHVibGljIG9wZW4/OiBib29sZWFuLCBwdWJsaWMgc2VsZWN0ZWQ/OiBib29sZWFuKSB7IH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvblBhcmFtcyB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhY3Rpb24/OiBzdHJpbmcsIHB1YmxpYyBkcmlsbERvd25QYXJhbWV0ZXJzPzogYW55LCBwdWJsaWMgZHJpbGxEb3duR3VpZD86IHN0cmluZywgcHVibGljIGRhc2hib2FyZERyaWxsRG93bkd1aWQ/OiBzdHJpbmcsXHJcbiAgICBwdWJsaWMgdmFyaWFibGVzPzogYW55LCBwdWJsaWMgc29ydGluZ1BhcmFtZXRlcnM/OiBhbnksIHB1YmxpYyBjb2xsYXBzaW5nUGFyYW1ldGVycz86IGFueSwgcHVibGljIGlzQmluZGluZ1ZhcmlhYmxlPzogdHJ1ZSkgeyB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvbk9iamVjdCB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBhcmFtc1ZhcmlhYmxlczogYW55W10sIHB1YmxpYyBjb3VudENvbHVtbnM6IGFueVtdLCBwdWJsaWMgY291bnRJbkNvbHVtbjogYW55W10pIHsgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVmFyaWFibGUge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lPzogc3RyaW5nLCBwdWJsaWMgYWxpYXM/OiBzdHJpbmcsIHB1YmxpYyBkZXNjcmlwdGlvbj86IHN0cmluZywgcHVibGljIGJhc2ljVHlwZT86IHN0cmluZywgcHVibGljIHR5cGU/OiBzdHJpbmcsXHJcbiAgICBwdWJsaWMgYWxsb3dVc2VyVmFsdWVzPzogYm9vbGVhbiwgcHVibGljIGRhdGVUaW1lVHlwZT86IHN0cmluZywgcHVibGljIGl0ZW1zPzogVmFyaWFibGVbXSwgcHVibGljIGtleT86IGFueSwgcHVibGljIHZhbHVlPzogYW55LFxyXG4gICAgcHVibGljIGtleVRvPzogYW55LCBwdWJsaWMgaXNDaGVja2VkOiBib29sZWFuID0gdHJ1ZSwgcHVibGljIGZvY3VzT25DcmVhdGU/OiBib29sZWFuLCBwdWJsaWMgdmlzaWJsZTogYm9vbGVhbiA9IHRydWUsIHB1YmxpYyBiaW5kaW5nPzogYm9vbGVhbixcclxuICAgIHB1YmxpYyBpc051bGw/OiBib29sZWFuLCBwdWJsaWMgaXNGaXJzdEluaXRpYWxpemF0aW9uPzogYm9vbGVhbiwgcHVibGljIGNoZWNrZWRTdGF0ZXM/OiBib29sZWFuW10sIHB1YmxpYyBpc0NoYW5nZWQ/OiBib29sZWFuLFxyXG4gICAgcHVibGljIGFsbG93TnVsbGFibGVTdHJpbmc/OiBib29sZWFuKSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lT2JqZWN0IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgeWVhcj86IG51bWJlciwgcHVibGljIG1vbnRoPzogbnVtYmVyLCBwdWJsaWMgZGF5PzogbnVtYmVyLCBwdWJsaWMgaG91cnM/OiBudW1iZXIsIHB1YmxpYyBtaW51dGVzPzogbnVtYmVyLCBwdWJsaWMgc2Vjb25kcz86IG51bWJlcikgeyB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJdGVtIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZT86IHN0cmluZywgcHVibGljIGNhcHRpb24/OiBzdHJpbmcsIHB1YmxpYyBpbWFnZU5hbWU/OiBzdHJpbmcsIHB1YmxpYyBrZXk/OiBhbnksIHB1YmxpYyBoYXZlU3ViTWVudT86IGJvb2xlYW4sIHB1YmxpYyBpbWFnZVNpemVzPzogYW55LFxyXG4gICAgcHVibGljIHNlbGVjdGVkPzogYm9vbGVhbiwgcHVibGljIHR5cGU/OiBzdHJpbmcpIHsgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGFjdGlvbjogc3RyaW5nLCBwdWJsaWMgZGF0YT86IGFueSwgcHVibGljIHN1YkFjdGlvbj86IHN0cmluZykgeyB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZTogc3RyaW5nLCBwdWJsaWMgbGVmdDogbnVtYmVyLCBwdWJsaWMgdG9wOiBudW1iZXIsIHB1YmxpYyBpc01vb3ZpbmcgPSBmYWxzZSwgcHVibGljIGxldmVsPzogbnVtYmVyLFxyXG4gICAgcHVibGljIGZvcm1EYXRhPzogYW55KSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEV4cG9ydEZvcm1TZXR0aW5ncyB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbXBvbmVudHM6IEV4cG9ydENvbXBvbmVudFtdLCBwdWJsaWMgY1NldHRpbmdzPzogYW55LCBwdWJsaWMgb3BlbkFmdGVyRXhwb3J0PzogYm9vbGVhbiwgcHVibGljIGdyb3Vwcz86IGFueSxcclxuICAgIHB1YmxpYyB1cGRhdGU/OiBib29sZWFuKSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEV4cG9ydEdyb3VwIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3BlbmVkOiBib29sZWFuKSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEV4cG9ydENvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIG5hbWU6IHN0cmluZywgcHVibGljIHR5cGU6IHN0cmluZywgcHVibGljIG1hcmdpbjogc3RyaW5nLCBwdWJsaWMgbGFiZWw/OiBzdHJpbmcsIHB1YmxpYyB0b29sdGlwPzogc3RyaW5nLFxyXG4gICAgcHVibGljIGNhcHRpb24/OiBzdHJpbmcsIHB1YmxpYyBjaGVja2VkPzogYm9vbGVhbiwgcHVibGljIHdpZHRoPzogbnVtYmVyLCBwdWJsaWMgZGlzYWJsZWQ/OiBib29sZWFuLCBwdWJsaWMgaXRlbXM/OiBJdGVtW10sXHJcbiAgICBwdWJsaWMga2V5PzogYW55KSB7IH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBEcmlsbERvd24ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjYXB0aW9uOiBzdHJpbmcsIHB1YmxpYyBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlLCBwdWJsaWMgcmVwb3J0UGFyYW1zOiBhbnksXHJcbiAgICBwdWJsaWMgdmlzaWJsZTogYm9vbGVhbikgeyB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFcnJvck1lc3NhZ2Uge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlcnJvcjogc3RyaW5nLCBwdWJsaWMgdHlwZTogYW55KSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlc291cmNlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZTogc3RyaW5nLCBwdWJsaWMgdHlwZTogc3RyaW5nLCBwdWJsaWMgYWxpYXM6IHN0cmluZywgcHVibGljIGlkPzogc3RyaW5nKSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkZvcm1PcHRpb25zIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaW1hZ2U/OiBzdHJpbmcsIHB1YmxpYyBtZXNzYWdlPzogc3RyaW5nLCBwdWJsaWMgZGVzY3JpcHRpb24/OiBzdHJpbmcsIHB1YmxpYyBidXR0b25DYXB0aW9uPzogc3RyaW5nLFxyXG4gICAgcHVibGljIGNhbmNlbEFjdGlvbj86IGFueSwgcHVibGljIGFjdGlvbj86IGFueSkgeyB9XHJcbn1cclxuIl19