dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
490 lines • 27.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { ElementApiService } from 'dbweb-core';
import { map } from 'rxjs/operators';
import { Category } from './types/category';
import { OwnerByEnum } from './types/model';
import { of } from 'rxjs';
import * as i0 from "@angular/core";
import * as i1 from "dbweb-core";
/**
* @record
*/
export function ModelElementCategory() { }
if (false) {
/** @type {?} */
ModelElementCategory.prototype.ID;
/** @type {?} */
ModelElementCategory.prototype.EleName;
/** @type {?} */
ModelElementCategory.prototype.OwnerBy;
/** @type {?} */
ModelElementCategory.prototype.Owner;
/** @type {?} */
ModelElementCategory.prototype.Name;
/** @type {?} */
ModelElementCategory.prototype.Position;
/** @type {?} */
ModelElementCategory.prototype.Labels;
}
/**
* @record
*/
export function ModelElementLabel() { }
if (false) {
/** @type {?} */
ModelElementLabel.prototype.CategoryID;
/** @type {?} */
ModelElementLabel.prototype.ID;
/** @type {?} */
ModelElementLabel.prototype.Name;
/** @type {?} */
ModelElementLabel.prototype.Position;
/** @type {?} */
ModelElementLabel.prototype.LastWriteTime;
/** @type {?} */
ModelElementLabel.prototype.LastWriteUser;
/** @type {?} */
ModelElementLabel.prototype.Conts;
/** @type {?} */
ModelElementLabel.prototype.PlainText;
}
/**
* @record
*/
export function AddCategoryParam() { }
if (false) {
/** @type {?} */
AddCategoryParam.prototype.EleName;
/** @type {?} */
AddCategoryParam.prototype.Name;
/** @type {?} */
AddCategoryParam.prototype.OwnerBy;
/** @type {?|undefined} */
AddCategoryParam.prototype.BeforeAtID;
}
/**
* @record
*/
export function SetCategoryPositionParam() { }
if (false) {
/** @type {?} */
SetCategoryPositionParam.prototype.ID;
/** @type {?} */
SetCategoryPositionParam.prototype.Position;
}
/**
* @record
*/
export function SetCategoryPositionResult() { }
if (false) {
/** @type {?} */
SetCategoryPositionResult.prototype.ID;
/** @type {?} */
SetCategoryPositionResult.prototype.Position;
}
/**
* @record
*/
export function UpdateCategoryParam() { }
if (false) {
/** @type {?} */
UpdateCategoryParam.prototype.ID;
/** @type {?} */
UpdateCategoryParam.prototype.Name;
/** @type {?} */
UpdateCategoryParam.prototype.OwnerBy;
}
/**
* @record
*/
export function AddLabelParam() { }
if (false) {
/** @type {?} */
AddLabelParam.prototype.CategoryID;
/** @type {?} */
AddLabelParam.prototype.Name;
/** @type {?} */
AddLabelParam.prototype.Conts;
/** @type {?} */
AddLabelParam.prototype.PlainText;
}
/**
* @record
*/
export function SetLabelPositionParam() { }
if (false) {
/** @type {?} */
SetLabelPositionParam.prototype.CategoryID;
/** @type {?} */
SetLabelPositionParam.prototype.ID;
/** @type {?} */
SetLabelPositionParam.prototype.Position;
}
/**
* @record
*/
export function SetLabelPositionResult() { }
if (false) {
/** @type {?} */
SetLabelPositionResult.prototype.ID;
/** @type {?} */
SetLabelPositionResult.prototype.Position;
}
/**
* @record
*/
export function UpdateLabelParam() { }
if (false) {
/** @type {?} */
UpdateLabelParam.prototype.CategoryID;
/** @type {?} */
UpdateLabelParam.prototype.ID;
/** @type {?} */
UpdateLabelParam.prototype.Name;
/** @type {?} */
UpdateLabelParam.prototype.Conts;
/** @type {?} */
UpdateLabelParam.prototype.PlainText;
}
/**
* @record
*/
export function IFetchElementAllCategoriesResult() { }
if (false) {
/** @type {?} */
IFetchElementAllCategoriesResult.prototype.OwnerBy;
/** @type {?} */
IFetchElementAllCategoriesResult.prototype.Owner;
/** @type {?} */
IFetchElementAllCategoriesResult.prototype.DeptName;
}
var FetchElementAllCategoriesResult = /** @class */ (function () {
function FetchElementAllCategoriesResult() {
}
/**
* @param {?} data
* @return {?}
*/
FetchElementAllCategoriesResult.fromInterface = /**
* @param {?} data
* @return {?}
*/
function (data) {
/** @type {?} */
var rev = new FetchElementAllCategoriesResult();
Object.assign(rev, tslib_1.__assign({}, data));
return rev;
};
/**
* @return {?}
*/
FetchElementAllCategoriesResult.prototype.categoryDisplayLabel = /**
* @return {?}
*/
function () {
switch (this.OwnerBy) {
case OwnerByEnum.ownerByEle:
return '缺省';
case OwnerByEnum.ownerByDept:
return this.Owner + "." + this.DeptName;
case OwnerByEnum.ownerByUser:
return '私有';
}
};
return FetchElementAllCategoriesResult;
}());
export { FetchElementAllCategoriesResult };
if (false) {
/** @type {?} */
FetchElementAllCategoriesResult.prototype.OwnerBy;
/** @type {?} */
FetchElementAllCategoriesResult.prototype.Owner;
/** @type {?} */
FetchElementAllCategoriesResult.prototype.DeptName;
}
/**
* @record
*/
export function FetchLabelResult() { }
if (false) {
/** @type {?} */
FetchLabelResult.prototype.Name;
/** @type {?} */
FetchLabelResult.prototype.Position;
/** @type {?} */
FetchLabelResult.prototype.LastWriteTime;
/** @type {?} */
FetchLabelResult.prototype.LastWriteUser;
/** @type {?} */
FetchLabelResult.prototype.Conts;
/** @type {?} */
FetchLabelResult.prototype.PlainText;
}
var EleViewBackFaceService = /** @class */ (function () {
function EleViewBackFaceService(api) {
this.api = api;
this.ele = 'eleview';
}
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.addCategory = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api
.post(this.ele, 'add-category', param)
.pipe(map((/**
* @param {?} v
* @return {?}
*/
function (v) { return (v ? Category.fromInterface(v) : null); })));
};
/**
* @param {?} id
* @return {?}
*/
EleViewBackFaceService.prototype.removeCategory = /**
* @param {?} id
* @return {?}
*/
function (id) {
return this.api.post(this.ele, 'remove-category', id);
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.setCategoryPosition = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.post(this.ele, 'set-category-position', param);
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.updateCategory = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.post(this.ele, 'update-category', param);
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.fetchCategories = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api
.get(this.ele, 'fetch-categories', param)
.pipe(map((/**
* @param {?} v
* @return {?}
*/
function (v) { return (v ? v.map((/**
* @param {?} vv
* @return {?}
*/
function (vv) { return Category.fromInterface(vv); })) : null); })));
};
/**
* @param {?} eleName
* @return {?}
*/
EleViewBackFaceService.prototype.fetchElementAllCategories = /**
* @param {?} eleName
* @return {?}
*/
function (eleName) {
return this.api.get(this.ele, 'fetch-element-all-categories', eleName).pipe(map((/**
* @param {?} v
* @return {?}
*/
function (v) {
return v.map((/**
* @param {?} vv
* @return {?}
*/
function (vv) { return FetchElementAllCategoriesResult.fromInterface(vv); }));
})));
};
// 获取菜单项所有标签的日志
// 获取菜单项所有标签的日志
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.fetchCategoryLabelHis =
// 获取菜单项所有标签的日志
/**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.get(this.ele, 'fetch-category-label-his', param);
};
// 获取标签的日志列表
// 获取标签的日志列表
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.fetchLabelHisList =
// 获取标签的日志列表
/**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.get(this.ele, 'fetch-label-his-list', param);
};
// 根据时间获取label的内容
// 根据时间获取label的内容
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.fetchLabelHis =
// 根据时间获取label的内容
/**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.get(this.ele, 'fetch-label-his', param);
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.addLabel = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.post(this.ele, 'add-label', param);
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.removeLabel = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.post(this.ele, 'remove-label', param);
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.nodeToString = /**
* @param {?} param
* @return {?}
*/
function (param) {
if (param) {
return this.api.post(this.ele, 'node-to-string', param);
}
else {
return of('');
}
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.stringToNode = /**
* @param {?} param
* @return {?}
*/
function (param) {
if (param) {
return this.api.post(this.ele, 'string-to-node', param);
}
else {
return of(null);
}
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.setLabelPosition = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.post(this.ele, 'set-label-position', param);
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.updateLabel = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.post(this.ele, 'update-label', param);
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.fetchLabel = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.get(this.ele, 'fetch-label', param);
};
/**
* @param {?} param
* @return {?}
*/
EleViewBackFaceService.prototype.fetchFullCategories = /**
* @param {?} param
* @return {?}
*/
function (param) {
return this.api.get(this.ele, 'fetch-full-categories', param);
};
EleViewBackFaceService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
EleViewBackFaceService.ctorParameters = function () { return [
{ type: ElementApiService }
]; };
/** @nocollapse */ EleViewBackFaceService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function EleViewBackFaceService_Factory() { return new EleViewBackFaceService(i0.ɵɵinject(i1.ElementApiService)); }, token: EleViewBackFaceService, providedIn: "root" });
return EleViewBackFaceService;
}());
export { EleViewBackFaceService };
if (false) {
/** @type {?} */
EleViewBackFaceService.prototype.ele;
/**
* @type {?}
* @private
*/
EleViewBackFaceService.prototype.api;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxldmlldy1iYWNrZmFjZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Rid2ViLWNvbW1vbi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9lbGV2aWV3L2VsZXZpZXctYmFja2ZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBK0QsV0FBVyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQUMxQiwwQ0FRQzs7O0lBUEEsa0NBQVc7O0lBQ1gsdUNBQWdCOztJQUNoQix1Q0FBcUI7O0lBQ3JCLHFDQUFjOztJQUNkLG9DQUFhOztJQUNiLHdDQUFpQjs7SUFDakIsc0NBQTRCOzs7OztBQUc3Qix1Q0FTQzs7O0lBUkEsdUNBQW1COztJQUNuQiwrQkFBVzs7SUFDWCxpQ0FBYTs7SUFDYixxQ0FBaUI7O0lBQ2pCLDBDQUFvQjs7SUFDcEIsMENBQXNCOztJQUN0QixrQ0FBYzs7SUFDZCxzQ0FBa0I7Ozs7O0FBRW5CLHNDQUtDOzs7SUFKQSxtQ0FBZ0I7O0lBQ2hCLGdDQUFhOztJQUNiLG1DQUFnQjs7SUFDaEIsc0NBQW9COzs7OztBQUdyQiw4Q0FHQzs7O0lBRkEsc0NBQVc7O0lBQ1gsNENBQWlCOzs7OztBQUVsQiwrQ0FHQzs7O0lBRkEsdUNBQVc7O0lBQ1gsNkNBQWlCOzs7OztBQUVsQix5Q0FJQzs7O0lBSEEsaUNBQVc7O0lBQ1gsbUNBQWE7O0lBQ2Isc0NBQWdCOzs7OztBQUVqQixtQ0FLQzs7O0lBSkEsbUNBQW1COztJQUNuQiw2QkFBYTs7SUFDYiw4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LEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7Ozs7SUFDRCwyQ0FBVTs7OztJQUFWLFVBQVcsS0FBZ0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBbUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7Ozs7SUFDRCxvREFBbUI7Ozs7SUFBbkIsVUFBb0IsS0FBK0Q7UUFDbEYsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBeUIsSUFBSSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RixDQUFDOztnQkE5RUQsVUFBVSxTQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7OztnQkF0R1EsaUJBQWlCOzs7aUNBRDFCO0NBb0xDLEFBL0VELElBK0VDO1NBNUVZLHNCQUFzQjs7O0lBQ2xDLHFDQUF5Qjs7Ozs7SUFDYixxQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRBcGlTZXJ2aWNlIH0gZnJvbSAnZGJ3ZWItY29yZSc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuL3R5cGVzL2NhdGVnb3J5JztcclxuaW1wb3J0IHsgSUVsZW1lbnRIaXMsIElMYWJlbCwgSUxhYmVsSGlzSXRlbSwgSUxhYmVsSGlzS2V5LCBJTGFiZWxLZXksIE93bmVyQnlFbnVtLCBJTm9kZSB9IGZyb20gJy4vdHlwZXMvbW9kZWwnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsRWxlbWVudENhdGVnb3J5IHtcclxuXHRJRDogc3RyaW5nO1xyXG5cdEVsZU5hbWU6IHN0cmluZztcclxuXHRPd25lckJ5OiBPd25lckJ5RW51bTtcclxuXHRPd25lcjogc3RyaW5nO1xyXG5cdE5hbWU6IHN0cmluZztcclxuXHRQb3NpdGlvbjogbnVtYmVyO1xyXG5cdExhYmVsczogTW9kZWxFbGVtZW50TGFiZWxbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNb2RlbEVsZW1lbnRMYWJlbCB7XHJcblx0Q2F0ZWdvcnlJRDogc3RyaW5nO1xyXG5cdElEOiBzdHJpbmc7XHJcblx0TmFtZTogc3RyaW5nO1xyXG5cdFBvc2l0aW9uOiBudW1iZXI7XHJcblx0TGFzdFdyaXRlVGltZTogRGF0ZTtcclxuXHRMYXN0V3JpdGVVc2VyOiBzdHJpbmc7XHJcblx0Q29udHM6IHN0cmluZztcclxuXHRQbGFpblRleHQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEFkZENhdGVnb3J5UGFyYW0ge1xyXG5cdEVsZU5hbWU6IHN0cmluZztcclxuXHROYW1lOiBzdHJpbmc7XHJcblx0T3duZXJCeTogc3RyaW5nO1xyXG5cdEJlZm9yZUF0SUQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2V0Q2F0ZWdvcnlQb3NpdGlvblBhcmFtIHtcclxuXHRJRDogc3RyaW5nO1xyXG5cdFBvc2l0aW9uOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZXRDYXRlZ29yeVBvc2l0aW9uUmVzdWx0IHtcclxuXHRJRDogc3RyaW5nO1xyXG5cdFBvc2l0aW9uOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVDYXRlZ29yeVBhcmFtIHtcclxuXHRJRDogc3RyaW5nO1xyXG5cdE5hbWU6IHN0cmluZztcclxuXHRPd25lckJ5OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBBZGRMYWJlbFBhcmFtIHtcclxuXHRDYXRlZ29yeUlEOiBzdHJpbmc7XHJcblx0TmFtZTogc3RyaW5nO1xyXG5cdENvbnRzOiBzdHJpbmc7XHJcblx0UGxhaW5UZXh0OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZXRMYWJlbFBvc2l0aW9uUGFyYW0ge1xyXG5cdENhdGVnb3J5SUQ6IHN0cmluZztcclxuXHRJRDogc3RyaW5nO1xyXG5cdFBvc2l0aW9uOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZXRMYWJlbFBvc2l0aW9uUmVzdWx0IHtcclxuXHRJRDogc3RyaW5nO1xyXG5cdFBvc2l0aW9uOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVMYWJlbFBhcmFtIHtcclxuXHRDYXRlZ29yeUlEOiBzdHJpbmc7XHJcblx0SUQ6IHN0cmluZztcclxuXHROYW1lOiBzdHJpbmc7XHJcblx0Q29udHM6IHN0cmluZztcclxuXHRQbGFpblRleHQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElGZXRjaEVsZW1lbnRBbGxDYXRlZ29yaWVzUmVzdWx0IHtcclxuXHRPd25lckJ5OiBzdHJpbmc7XHJcblx0T3duZXI6IHN0cmluZztcclxuXHREZXB0TmFtZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBGZXRjaEVsZW1lbnRBbGxDYXRlZ29yaWVzUmVzdWx0IGltcGxlbWVudHMgSUZldGNoRWxlbWVudEFsbENhdGVnb3JpZXNSZXN1bHQge1xyXG5cdE93bmVyQnk6IHN0cmluZztcclxuXHRPd25lcjogc3RyaW5nO1xyXG5cdERlcHROYW1lOiBzdHJpbmc7XHJcblx0cHVibGljIHN0YXRpYyBmcm9tSW50ZXJmYWNlKGRhdGE6IElGZXRjaEVsZW1lbnRBbGxDYXRlZ29yaWVzUmVzdWx0KSB7XHJcblx0XHRjb25zdCByZXYgPSBuZXcgRmV0Y2hFbGVtZW50QWxsQ2F0ZWdvcmllc1Jlc3VsdCgpO1xyXG5cdFx0T2JqZWN0LmFzc2lnbihyZXYsIHsgLi4uZGF0YSB9KTtcclxuXHRcdHJldHVybiByZXY7XHJcblx0fVxyXG5cdGNhdGVnb3J5RGlzcGxheUxhYmVsKCkge1xyXG5cdFx0c3dpdGNoICh0aGlzLk93bmVyQnkpIHtcclxuXHRcdFx0Y2FzZSBPd25lckJ5RW51bS5vd25lckJ5RWxlOlxyXG5cdFx0XHRcdHJldHVybiAn57y655yBJztcclxuXHRcdFx0Y2FzZSBPd25lckJ5RW51bS5vd25lckJ5RGVwdDpcclxuXHRcdFx0XHRyZXR1cm4gYCR7dGhpcy5Pd25lcn0uJHt0aGlzLkRlcHROYW1lfWA7XHJcblx0XHRcdGNhc2UgT3duZXJCeUVudW0ub3duZXJCeVVzZXI6XHJcblx0XHRcdFx0cmV0dXJuICfnp4HmnIknO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoTGFiZWxSZXN1bHQge1xyXG5cdE5hbWU6IHN0cmluZztcclxuXHRQb3NpdGlvbjogbnVtYmVyO1xyXG5cdExhc3RXcml0ZVRpbWU6IERhdGU7XHJcblx0TGFzdFdyaXRlVXNlcjogc3RyaW5nO1xyXG5cdENvbnRzOiBzdHJpbmc7XHJcblx0UGxhaW5UZXh0OiBzdHJpbmc7XHJcbn1cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWxlVmlld0JhY2tGYWNlU2VydmljZSB7XHJcblx0cmVhZG9ubHkgZWxlID0gJ2VsZXZpZXcnO1xyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpOiBFbGVtZW50QXBpU2VydmljZSkge31cclxuXHRhZGRDYXRlZ29yeShwYXJhbTogQWRkQ2F0ZWdvcnlQYXJhbSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuYXBpXHJcblx0XHRcdC5wb3N0PENhdGVnb3J5Pih0aGlzLmVsZSwgJ2FkZC1jYXRlZ29yeScsIHBhcmFtKVxyXG5cdFx0XHQucGlwZShtYXAodiA9PiAodiA/IENhdGVnb3J5LmZyb21JbnRlcmZhY2UodikgOiBudWxsKSkpO1xyXG5cdH1cclxuXHRyZW1vdmVDYXRlZ29yeShpZDogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5hcGkucG9zdDxib29sZWFuPih0aGlzLmVsZSwgJ3JlbW92ZS1jYXRlZ29yeScsIGlkKTtcclxuXHR9XHJcblx0c2V0Q2F0ZWdvcnlQb3NpdGlvbihwYXJhbTogU2V0Q2F0ZWdvcnlQb3NpdGlvblBhcmFtKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5hcGkucG9zdDxTZXRDYXRlZ29yeVBvc2l0aW9uUmVzdWx0W10+KHRoaXMuZWxlLCAnc2V0LWNhdGVnb3J5LXBvc2l0aW9uJywgcGFyYW0pO1xyXG5cdH1cclxuXHR1cGRhdGVDYXRlZ29yeShwYXJhbTogVXBkYXRlQ2F0ZWdvcnlQYXJhbSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuYXBpLnBvc3Q8Ym9vbGVhbj4odGhpcy5lbGUsICd1cGRhdGUtY2F0ZWdvcnknLCBwYXJhbSk7XHJcblx0fVxyXG5cdGZldGNoQ2F0ZWdvcmllcyhwYXJhbTogeyBFbGVOYW1lOiBzdHJpbmc7IE93bmVyQnk6IE93bmVyQnlFbnVtOyBPd25lcjogc3RyaW5nIH0pIHtcclxuXHRcdHJldHVybiB0aGlzLmFwaVxyXG5cdFx0XHQuZ2V0PENhdGVnb3J5W10+KHRoaXMuZWxlLCAnZmV0Y2gtY2F0ZWdvcmllcycsIHBhcmFtKVxyXG5cdFx0XHQucGlwZShtYXAodiA9PiAodiA/IHYubWFwKHZ2ID0+IENhdGVnb3J5LmZyb21JbnRlcmZhY2UodnYpKSA6IG51bGwpKSk7XHJcblx0fVxyXG5cdGZldGNoRWxlbWVudEFsbENhdGVnb3JpZXMoZWxlTmFtZTogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5hcGkuZ2V0PElGZXRjaEVsZW1lbnRBbGxDYXRlZ29yaWVzUmVzdWx0W10+KHRoaXMuZWxlLCAnZmV0Y2gtZWxlbWVudC1hbGwtY2F0ZWdvcmllcycsIGVsZU5hbWUpLnBpcGUoXHJcblx0XHRcdG1hcCh2ID0+IHtcclxuXHRcdFx0XHRyZXR1cm4gdi5tYXAodnYgPT4gRmV0Y2hFbGVtZW50QWxsQ2F0ZWdvcmllc1Jlc3VsdC5mcm9tSW50ZXJmYWNlKHZ2KSk7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHQvLyDojrflj5boj5zljZXpobnmiYDmnInmoIfnrb7nmoTml6Xlv5dcclxuXHRmZXRjaENhdGVnb3J5TGFiZWxIaXMocGFyYW06IHsgRWxlTmFtZTogc3RyaW5nOyBPd25lckJ5OiBPd25lckJ5RW51bTsgT3duZXI6IHN0cmluZ1tdIH0pIHtcclxuXHRcdHJldHVybiB0aGlzLmFwaS5nZXQ8SUVsZW1lbnRIaXNbXT4odGhpcy5lbGUsICdmZXRjaC1jYXRlZ29yeS1sYWJlbC1oaXMnLCBwYXJhbSk7XHJcblx0fVxyXG5cdC8vIOiOt+WPluagh+etvueahOaXpeW/l+WIl+ihqFxyXG5cdGZldGNoTGFiZWxIaXNMaXN0KHBhcmFtOiBJTGFiZWxLZXkpIHtcclxuXHRcdHJldHVybiB0aGlzLmFwaS5nZXQ8SUxhYmVsSGlzSXRlbVtdPih0aGlzLmVsZSwgJ2ZldGNoLWxhYmVsLWhpcy1saXN0JywgcGFyYW0pO1xyXG5cdH1cclxuXHQvLyDmoLnmja7ml7bpl7Tojrflj5ZsYWJlbOeahOWGheWuuVxyXG5cdGZldGNoTGFiZWxIaXMocGFyYW06IElMYWJlbEhpc0tleSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuYXBpLmdldDx7XHJcblx0XHRcdENvbnRzOiBzdHJpbmc7XHJcblx0XHRcdFBsYWluVGV4dDogc3RyaW5nO1xyXG5cdFx0fT4odGhpcy5lbGUsICdmZXRjaC1sYWJlbC1oaXMnLCBwYXJhbSk7XHJcblx0fVxyXG5cdGFkZExhYmVsKHBhcmFtOiBBZGRMYWJlbFBhcmFtKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5hcGkucG9zdDxJTGFiZWw+KHRoaXMuZWxlLCAnYWRkLWxhYmVsJywgcGFyYW0pO1xyXG5cdH1cclxuXHRyZW1vdmVMYWJlbChwYXJhbTogSUxhYmVsS2V5KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5hcGkucG9zdDxib29sZWFuPih0aGlzLmVsZSwgJ3JlbW92ZS1sYWJlbCcsIHBhcmFtKTtcclxuXHR9XHJcblx0bm9kZVRvU3RyaW5nKHBhcmFtOiBJTm9kZSkge1xyXG5cdFx0aWYgKHBhcmFtKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLmFwaS5wb3N0PHN0cmluZz4odGhpcy5lbGUsICdub2RlLXRvLXN0cmluZycsIHBhcmFtKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiBvZignJyk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHN0cmluZ1RvTm9kZShwYXJhbTogc3RyaW5nKSB7XHJcblx0XHRpZiAocGFyYW0pIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuYXBpLnBvc3Q8SU5vZGU+KHRoaXMuZWxlLCAnc3RyaW5nLXRvLW5vZGUnLCBwYXJhbSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRyZXR1cm4gb2YobnVsbCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHNldExhYmVsUG9zaXRpb24ocGFyYW06IFNldExhYmVsUG9zaXRpb25QYXJhbSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuYXBpLnBvc3Q8U2V0TGFiZWxQb3NpdGlvblJlc3VsdFtdPih0aGlzLmVsZSwgJ3NldC1sYWJlbC1wb3NpdGlvbicsIHBhcmFtKTtcclxuXHR9XHJcblx0dXBkYXRlTGFiZWwocGFyYW06IFVwZGF0ZUxhYmVsUGFyYW0pIHtcclxuXHRcdHJldHVybiB0aGlzLmFwaS5wb3N0PElMYWJlbD4odGhpcy5lbGUsICd1cGRhdGUtbGFiZWwnLCBwYXJhbSk7XHJcblx0fVxyXG5cdGZldGNoTGFiZWwocGFyYW06IElMYWJlbEtleSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuYXBpLmdldDxGZXRjaExhYmVsUmVzdWx0Pih0aGlzLmVsZSwgJ2ZldGNoLWxhYmVsJywgcGFyYW0pO1xyXG5cdH1cclxuXHRmZXRjaEZ1bGxDYXRlZ29yaWVzKHBhcmFtOiB7IEVsZU5hbWU6IHN0cmluZzsgT3duZXJCeTogT3duZXJCeUVudW07IE93bmVyOiBzdHJpbmcgfSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuYXBpLmdldDxNb2RlbEVsZW1lbnRDYXRlZ29yeVtdPih0aGlzLmVsZSwgJ2ZldGNoLWZ1bGwtY2F0ZWdvcmllcycsIHBhcmFtKTtcclxuXHR9XHJcbn1cclxuIl19