ngx-bimplus-components 0.0.156-28779-1 → 0.0.156-28791-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs +3 -3
- package/fesm2022/ngx-bimplus-components.mjs +4 -4
- package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -33,8 +33,8 @@ export class BimplusFlatTreeComponent {
|
|
|
33
33
|
this.enableDragAndDrop = false;
|
|
34
34
|
this.dataTestPrefix = "";
|
|
35
35
|
this.contextMenus = null;
|
|
36
|
-
this.hasCheckBox1 =
|
|
37
|
-
this.hasCheckBox2 =
|
|
36
|
+
this.hasCheckBox1 = false;
|
|
37
|
+
this.hasCheckBox2 = false;
|
|
38
38
|
this.customNodeTemplate = signal(null);
|
|
39
39
|
this.selectedNodes = new EventEmitter();
|
|
40
40
|
this.checked1Nodes = new EventEmitter();
|
|
@@ -437,4 +437,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
437
437
|
}], checked2Nodes: [{
|
|
438
438
|
type: Output
|
|
439
439
|
}] } });
|
|
440
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFNBQVMsRUFBVSxLQUFLLEVBQTJCLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNKLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFPLHdEQUF3RCxDQUFDOzs7Ozs7QUFzQnRHLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsNEVB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QixFQUFFO2dCQUNFLGdCQUFnQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLHdCQUF3QjtzQkFBL0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDa0MsWUFBWTtzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU96QixRQUFRO3NCQUFwQixLQUFLO2dCQU1zQyx1QkFBdUI7c0JBQWxFLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7Z0JBSzVCLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZSwgYm9vbGVhbkF0dHJpYnV0ZSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveCAgIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIsIE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IENka1RyZWVNb2R1bGUsIEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgZmlyZUV2ZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZSwgRmxhdE5vZGUsIEZsYXRUcmVlQ29udGV4dE1lbnVzIH0gZnJvbSAnLi9iaW1wbHVzLWZsYXQtdHJlZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICAnLi4vYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcclxuXHJcbmludGVyZmFjZSBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRBdHRyaWJ1dGUgIHtcclxuICBba2V5OiBzdHJpbmddOiB1bmtub3duOyAvLyBBZGQgaW5kZXggc2lnbmF0dXJlIGFsbG93aW5nIHN0cmluZyBpbmRleGluZ1xyXG4gICAvL090aGVyIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMuLi5cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1mbGF0LXRyZWUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdFRyZWVNb2R1bGVcclxuICAgICwgTWF0QnV0dG9uTW9kdWxlXHJcbiAgICAsIE1hdEljb25Nb2R1bGVcclxuICAgICwgQ2RrVHJlZU1vZHVsZVxyXG4gICAgLCBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnRcclxuICAgICwgQ29tbW9uTW9kdWxlXHJcbiAgICAsIE1hdENoZWNrYm94XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQubGVzcydcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlc3tcclxuICBASW5wdXQoKSB0cmVlRGF0YVN0cmluZ2lmaWVkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAvKiogVE9ETyByZW1vdmUgQElucHV0IG9uY2Ugc2lnbmFsIGlucHV0cyByZWxlYXNlIGZyb20gZGV2ZWxvcGVyIHByZXZpZXcuICovXHJcbiAgLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAndHJlZVRpdGxlJyB9KSBzZXQgdHJlZVRpdGxlVmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmVlVGl0bGUuc2V0KHZhbHVlKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyZWVUaXRsZSA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgQElucHV0KCkgcGFkZGluZ0luZGVudCA6IHN0cmluZyA9IFwiMi44cmVtXCJcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbXVsdGlTZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb25lTGV2ZWxNdWx0aVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Rm9sZGVyc0ljb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dPYmplY3RzSWNvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZW5hYmxlU2VsZWN0OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZW5hYmxlRHJhZ0FuZERyb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkYXRhVGVzdFByZWZpeCA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgY29udGV4dE1lbnVzOiBGbGF0VHJlZUNvbnRleHRNZW51cyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNDaGVja0JveDE6Ym9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0NoZWNrQm94Mjpib29sZWFuID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBnZXQgdHJlZURhdGEoKSA6IEFycmF5PFRyZWVOb2RlPntcclxuICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlLmRhdGE7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgdHJlZURhdGEoZGF0YTogQXJyYXk8VHJlZU5vZGU+KSB7XHJcbiAgICB0aGlzLnRyZWVEYXRhU3RyaW5naWZpZWQgPSBudWxsO1xyXG4gICAgdGhpcy5fZGF0YVNvdXJjZS5kYXRhID0gZGF0YTtcclxuICB9XHJcbiAgXHJcbiAgLyoqIFRPRE8gcmVtb3ZlIEBJbnB1dCBvbmNlIHNpZ25hbCBpbnB1dHMgcmVsZWFzZSBmcm9tIGRldmVsb3BlciBwcmV2aWV3LiAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnY3VzdG9tTm9kZVRlbXBsYXRlJyB9KSBzZXQgY3VzdG9tTm9kZVRlbXBsYXRlVmFsdWUodmFsdWU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCkge1xyXG4gICAgdGhpcy5jdXN0b21Ob2RlVGVtcGxhdGUuc2V0KHZhbHVlKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1c3RvbU5vZGVUZW1wbGF0ZSA9IHNpZ25hbDxUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGw+KG51bGwpO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0ZWROb2RlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmxhdE5vZGVbXT4oKTtcclxuICBAT3V0cHV0KCkgY2hlY2tlZDFOb2RlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmxhdE5vZGVbXT4oKTtcclxuICBAT3V0cHV0KCkgY2hlY2tlZDJOb2RlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmxhdE5vZGVbXT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTGlzdDogU2VsZWN0aW9uTW9kZWw8RmxhdE5vZGU+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgKGVsZW1lbnQgYXMgdW5rbm93biBhcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRBdHRyaWJ1dGUpWydnZXRfbm9kZSddID0gdGhpcy5nZXRfbm9kZS5iaW5kKHRoaXMpO1xyXG4gICAgICAoZWxlbWVudCBhcyB1bmtub3duIGFzIEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudEF0dHJpYnV0ZSlbJ3NlbGVjdF9ub2RlJ10gPSB0aGlzLnNlbGVjdF9ub2RlLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fc2VsZWN0aW9uTGlzdCA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4odGhpcy5tdWx0aVNlbGVjdCB8fCB0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QpO1xyXG4gICAgaWYodGhpcy50cmVlRGF0YVN0cmluZ2lmaWVkKXtcclxuICAgICAgdGhpcy5fc2V0TmV3RGF0YSh0aGlzLnRyZWVEYXRhU3RyaW5naWZpZWQpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kVHJlZSgpe1xyXG4gICAgdGhpcy5fdHJlZUNvbnRyb2wuZXhwYW5kQWxsKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXROb2RlKGlkOiBzdHJpbmcsIG5vZGVzOiBBcnJheTxUcmVlTm9kZT4pOiBUcmVlTm9kZSB8IG51bGwge1xyXG4gICAgZm9yKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcclxuICAgICAgaWYobm9kZS5pZCA9PT0gaWQpIHtcclxuICAgICAgICByZXR1cm4gbm9kZTtcclxuICAgICAgfVxyXG4gICAgICBpZihub2RlLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgY29uc3QgX25vZGU6IFRyZWVOb2RlIHwgbnVsbCA9IHRoaXMuX2dldE5vZGUoaWQsIG5vZGUuY2hpbGRyZW4pO1xyXG4gICAgICAgIGlmKF9ub2RlKSB7XHJcbiAgICAgICAgICByZXR1cm4gX25vZGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRfbm9kZShpZDogeyBpZDogc3RyaW5nIH0gfCBzdHJpbmcsIGdldERPTUVsZW1lbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IFRyZWVOb2RlIHwgRWxlbWVudCB8IG51bGwge1xyXG4gICAgaWYodHlwZW9mIGlkID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fZ2V0Tm9kZShpZCwgdGhpcy5fZGF0YVNvdXJjZS5kYXRhKTtcclxuICAgIH1cclxuICAgIGlmKGdldERPTUVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgX2VsZW1lbnQ6IEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgW25vZGUtaWQ9JyR7aWQuaWR9J11gKTtcclxuICAgICAgcmV0dXJuIF9lbGVtZW50O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2dldE5vZGUoaWQuaWQsIHRoaXMuX2RhdGFTb3VyY2UuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0X25vZGUoaWQ6IHN0cmluZywgc2tpcEV2ZW50OiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTtcclxuICAgIGlmKCFub2RlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0ICYmIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZih0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkWzBdLnBhcmVudCAhPT0gbm9kZS5wYXJlbnQpIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLl9zZWxlY3Rpb25MaXN0LmlzU2VsZWN0ZWQobm9kZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0KG5vZGUpO1xyXG4gICAgaWYoIXRoaXMubXVsdGlTZWxlY3QgJiYgIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCAmJiAhc2tpcEV2ZW50KSB7XHJcbiAgICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYoIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xyXG4gICAgICB0aGlzLl90b2dnbGVEZXNjZW5kYW50c05vZGVzKG5vZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nKSB7XHJcbiAgICAgIHRoaXMuX3VwZGF0ZVBhcmVudFNlbGVjdGlvbnMobm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoIXNraXBFdmVudCl7XHJcbiAgICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXNldF9zZWxlY3Rpb24oKXtcclxuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3Q/LmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kX25vZGUoaWQgOiBzdHJpbmcpe1xyXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xyXG4gICAgaWYoIW5vZGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3RyZWVDb250cm9sLmV4cGFuZChub2RlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc19leHBhbmRlZChpZCA6IHN0cmluZyl7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy5fdHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBpZCk7XHJcbiAgICBpZighbm9kZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3RyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNfc2VsZWN0ZWQoaWQgOiBzdHJpbmcpe1xyXG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBub2RlID0gdGhpcy5fdHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBpZCk7XHJcbiAgICBpZighbm9kZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkxpc3Q/LmlzU2VsZWN0ZWQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXROZXdEYXRhKHRyZWVEYXRhU3RyaW5naWZpZWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgX3RyZWVfZGF0YSA9IEpTT04ucGFyc2UodHJlZURhdGFTdHJpbmdpZmllZCk7XHJcbiAgICB0aGlzLl9kYXRhU291cmNlLmRhdGEgPSBfdHJlZV9kYXRhID8/IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2hhbmdlZFRyZWVEYXRhKGNoYW5nZTogU2ltcGxlQ2hhbmdlKSB7XHJcbiAgICB0aGlzLl9zZXROZXdEYXRhKGNoYW5nZS5jdXJyZW50VmFsdWUpXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSk6IHZvaWQge1xyXG4gICAgaWYoY2hhbmdlc1snbXVsdGlTZWxlY3QnXSB8fCBjaGFuZ2VzWydvbmVMZXZlbE11bHRpU2VsZWN0J10pIHtcclxuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdCA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4odGhpcy5tdWx0aVNlbGVjdCB8fCB0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QpO1xyXG4gICAgfVxyXG4gICAgaWYoY2hhbmdlc1sndHJlZURhdGFTdHJpbmdpZmllZCddKSB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZWRUcmVlRGF0YShjaGFuZ2VzWyd0cmVlRGF0YVN0cmluZ2lmaWVkJ10pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90cmFuc2Zvcm1lciA9IChub2RlOiBUcmVlTm9kZSwgbGV2ZWw6IG51bWJlcik6IEZsYXROb2RlID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGV4cGFuZGFibGU6IG5vZGUuY2hpbGRyZW4gIT09IHVuZGVmaW5lZCAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDAsXHJcbiAgICAgIGNoaWxkcmVuX2NvdW50OiBub2RlLmNoaWxkcmVuPy5sZW5ndGgsXHJcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIGxldmVsOiBsZXZlbCxcclxuICAgICAgcGFyZW50OiBub2RlLnBhcmVudCxcclxuICAgICAgbm9kZVR5cGU6IG5vZGUubm9kZVR5cGUsXHJcbiAgICAgIGlzQ2hlY2tlZDE6IHRydWUsXHJcbiAgICAgIGlzQ2hlY2tlZDI6IHRydWUsXHJcbiAgICAgIGlzVW5kZXRlcm1pbmVkMTogZmFsc2UsXHJcbiAgICAgIGlzVW5kZXRlcm1pbmVkMjogZmFsc2VcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgcHJvdGVjdGVkIF90cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8RmxhdE5vZGU+KFxyXG4gICAgbm9kZSA9PiBub2RlLmxldmVsLFxyXG4gICAgbm9kZSA9PiBub2RlLmV4cGFuZGFibGUsXHJcbiAgKTtcclxuXHJcbiAgcHJvdGVjdGVkIF90cmVlRmxhdHRlbmVyID0gbmV3IE1hdFRyZWVGbGF0dGVuZXIoXHJcbiAgICB0aGlzLl90cmFuc2Zvcm1lcixcclxuICAgIG5vZGUgPT4gbm9kZS5sZXZlbCxcclxuICAgIG5vZGUgPT4gbm9kZS5leHBhbmRhYmxlLFxyXG4gICAgbm9kZSA9PiBub2RlLmNoaWxkcmVuXHJcbiAgKTtcclxuXHJcbiAgcHJvdGVjdGVkIF9kYXRhU291cmNlID0gbmV3IE1hdFRyZWVGbGF0RGF0YVNvdXJjZSh0aGlzLl90cmVlQ29udHJvbCwgdGhpcy5fdHJlZUZsYXR0ZW5lcik7XHJcbiAgcHJvdGVjdGVkIF9pc0V4cGFuZGFibGUgPSAoXzogbnVtYmVyLCBub2RlOiBGbGF0Tm9kZSkgPT4gbm9kZS5leHBhbmRhYmxlO1xyXG4gIHByb3RlY3RlZCBfaXNDdXN0b21Ob2RlVHlwZShub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gbm9kZS5ub2RlVHlwZSAhPSB1bmRlZmluZWQgJiYgbm9kZS5ub2RlVHlwZSAhPSBcIlwiO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYXNDaGlsZHJlbihub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYoIW5vZGUuZXhwYW5kYWJsZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZihub2RlLmNoaWxkcmVuX2NvdW50ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbm9kZS5jaGlsZHJlbl9jb3VudCA+IDBcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfZGVzY2VuZGFudHNBbGxTZWxlY3RlZChub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IF9zZWxlY3Rpb25MaXN0OiBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4gPSB0aGlzLl9zZWxlY3Rpb25MaXN0O1xyXG5cclxuICAgIGNvbnN0IF9kZXNjZW5kYW50cyA9IHRoaXMuX3RyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xyXG4gICAgaWYoX2Rlc2NlbmRhbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IF9kZXNjQWxsU2VsZWN0ZWQgPSBfZGVzY2VuZGFudHMubGVuZ3RoID4gMCAmJiBfZGVzY2VuZGFudHMuZXZlcnkoKGNoaWxkKSA9PiB7XHJcbiAgICAgIHJldHVybiBfc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKGNoaWxkKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIF9kZXNjQWxsU2VsZWN0ZWQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2Rlc2NlbmRhbnRzUGFydGlhbGx5U2VsZWN0ZWQobm9kZTogRmxhdE5vZGUpOiBib29sZWFuIHtcclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IF9zZWxlY3Rpb25MaXN0OiBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4gPSB0aGlzLl9zZWxlY3Rpb25MaXN0O1xyXG5cclxuICAgIGNvbnN0IF9kZXNjZW5kYW50cyA9IHRoaXMuX3RyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xyXG4gICAgY29uc3QgX3Jlc3VsdCA9IF9kZXNjZW5kYW50cy5zb21lKChjaGlsZCkgPT4ge1xyXG4gICAgICByZXR1cm4gX3NlbGVjdGlvbkxpc3QuaXNTZWxlY3RlZChjaGlsZClcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIF9yZXN1bHQgJiYgIXRoaXMuX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90b2dnbGVEZXNjZW5kYW50c05vZGVzKG5vZGU6IEZsYXROb2RlKSB7XHJcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgX2lzTm9kZVNlbGVjdGVkID0gdGhpcy5fc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKG5vZGUpO1xyXG4gICAgaWYoX2lzTm9kZVNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0KC4uLnRoaXMuX3RyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmRlc2VsZWN0KC4uLnRoaXMuX3RyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZVBhcmVudFNlbGVjdGlvbnMobm9kZTogRmxhdE5vZGUpIHtcclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgX3BhcmVudElkID0gbm9kZS5wYXJlbnQ7XHJcbiAgICBsZXQgX3BhcmVudE5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IF9wYXJlbnRJZClcclxuICAgIHdoaWxlKF9wYXJlbnROb2RlKSB7XHJcbiAgICAgIGlmKHRoaXMuX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQoX3BhcmVudE5vZGUpKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3QoX3BhcmVudE5vZGUpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5kZXNlbGVjdChfcGFyZW50Tm9kZSk7XHJcbiAgICAgIH1cclxuICAgICAgX3BhcmVudElkID0gX3BhcmVudE5vZGUucGFyZW50O1xyXG4gICAgICBfcGFyZW50Tm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gX3BhcmVudElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfdG9nZ2xlTm9kZShldmVudDogRXZlbnQsIG5vZGU6IEZsYXROb2RlKSB7XHJcbiAgICBpZighbm9kZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYoIXRoaXMuZW5hYmxlU2VsZWN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgZXZlbnQgaXMgYSBNb3VzZUV2ZW50IGJlZm9yZSBhY2Nlc3NpbmcgY3RybEtleVxyXG4gICAgY29uc3QgaXNNb3VzZUV2ZW50ID0gZXZlbnQgIT0gbnVsbCAmJiBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQ7XHJcbiAgICBpZiAoaXNNb3VzZUV2ZW50ICYmICFldmVudD8uY3RybEtleSkge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmNsZWFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0ICYmIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZih0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkWzBdLnBhcmVudCAhPT0gbm9kZS5wYXJlbnQpIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LnRvZ2dsZShub2RlKTtcclxuICAgIGlmKCF0aGlzLm11bHRpU2VsZWN0ICYmICF0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QpIHtcclxuICAgICAgZmlyZUV2ZW50KHRoaXMsIFwic2VsZWN0ZWROb2Rlc1wiLCB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkICk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZighdGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0KSB7XHJcbiAgICAgIHRoaXMuX3RvZ2dsZURlc2NlbmRhbnRzTm9kZXMobm9kZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKHRoaXMuZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nKSB7XHJcbiAgICAgIHRoaXMuX3VwZGF0ZVBhcmVudFNlbGVjdGlvbnMobm9kZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9pc1NlbGVjdGVkKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbntcclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25MaXN0Py5pc1NlbGVjdGVkKG5vZGUpO1xyXG4gIH1cclxuICBcclxuICBwcm90ZWN0ZWQgX3RvZ2dsZUNoZWNrQm94MSggZXZlbnQ6RXZlbnQsbm9kZTogRmxhdE5vZGUpIHsgICAgXHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICBub2RlLmlzQ2hlY2tlZDEgPSAhbm9kZS5pc0NoZWNrZWQxO1xyXG4gICAgaWYobm9kZS5leHBhbmRhYmxlKXtcclxuICAgICAgdGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSkuZm9yRWFjaChuID0+IHtcclxuICAgICAgICBuLmlzQ2hlY2tlZDEgPSBub2RlLmlzQ2hlY2tlZDE7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgbm9kZS5pc1VuZGV0ZXJtaW5lZDEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hlY2tVbmRldGVybWluZWQobm9kZSwxKTtcclxuICAgIGZpcmVFdmVudCh0aGlzLCBcImNoZWNrZWQxTm9kZXNcIiwgW25vZGVdKTtcclxuICB9XHJcbiAgXHJcbiAgcHJvdGVjdGVkIF90b2dnbGVDaGVja0JveDIoZXZlbnQ6RXZlbnQsIG5vZGU6IEZsYXROb2RlKSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICBub2RlLmlzQ2hlY2tlZDIgPSAhbm9kZS5pc0NoZWNrZWQyO1xyXG4gICAgaWYobm9kZS5leHBhbmRhYmxlKXtcclxuICAgICAgdGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSkuZm9yRWFjaChuID0+IHtcclxuICAgICAgICBuLmlzQ2hlY2tlZDIgPSBub2RlLmlzQ2hlY2tlZDI7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgbm9kZS5pc1VuZGV0ZXJtaW5lZDIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hlY2tVbmRldGVybWluZWQobm9kZSwyKTtcclxuICAgIGZpcmVFdmVudCh0aGlzLCBcImNoZWNrZWQyTm9kZXNcIiwgW25vZGVdKTtcclxuICB9XHJcbiAgXHJcbiAgLy9zaW1wbGlmaWVkIHZlcnNpb24gb2YgY2hlY2tVbmRldGVybWluZWRcclxuICBjaGVja1VuZGV0ZXJtaW5lZChub2RlOkZsYXROb2RlLGNoZWNrYm94OiBudW1iZXIpe1xyXG4gICAgaWYoIXRoaXMuaGFzQ2hlY2tCb3gxICYmIGNoZWNrYm94ID09PSAxKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMuaGFzQ2hlY2tCb3gyICYmIGNoZWNrYm94ID09PSAyKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYoIW5vZGUucGFyZW50KXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IG15Tm9kZSA9IG5vZGU7ICAgIFxyXG4gICAgd2hpbGUobXlOb2RlICYmIG15Tm9kZS5wYXJlbnQpe1xyXG4gICAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5fdHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBteU5vZGUucGFyZW50KTsgICAgICBcclxuICAgICAgaWYoIXBhcmVudE5vZGUpe1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBsZXQgY2hlY2tlZCA9IDA7XHJcbiAgICAgIGxldCB1bmNoZWNrZWQgPSAwOyAgICAgICAgXHJcbiAgICAgIGxldCB1bmRldGVybWluZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMocGFyZW50Tm9kZSkuZm9yRWFjaChuID0+IHtcclxuICAgICAgICBpZihjaGVja2JveCA9PT0gMSA/IG4uaXNDaGVja2VkMTogbi5pc0NoZWNrZWQyKXsgXHJcbiAgICAgICAgICBjaGVja2VkKys7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHVuY2hlY2tlZCsrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjaGVja2JveCA9PT0gMSA/IG4uaXNVbmRldGVybWluZWQxOiBuLmlzVW5kZXRlcm1pbmVkMil7IFxyXG4gICAgICAgICAgdW5kZXRlcm1pbmVkID0gdHJ1ZTsgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjaGVja2VkID4gMCAmJiB1bmNoZWNrZWQgPiAwKXtcclxuICAgICAgICAgIHVuZGV0ZXJtaW5lZCA9IHRydWU7ICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZihjaGVja2JveCA9PT0gMSApe1xyXG4gICAgICAgIHBhcmVudE5vZGUuaXNVbmRldGVybWluZWQxID0gdW5kZXRlcm1pbmVkO1xyXG4gICAgICAgIHBhcmVudE5vZGUuaXNDaGVja2VkMSA9ICF1bmNoZWNrZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcGFyZW50Tm9kZS5pc1VuZGV0ZXJtaW5lZDIgPSB1bmRldGVybWluZWQ7XHJcbiAgICAgICAgcGFyZW50Tm9kZS5pc0NoZWNrZWQyID0gIXVuY2hlY2tlZDtcclxuICAgICAgfVxyXG4gICAgICBteU5vZGUgPSBwYXJlbnROb2RlO1xyXG4gICAgfTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIF9pc1VuZGV0ZXJtaW5lZDEobm9kZTogRmxhdE5vZGUpOiBib29sZWFue1xyXG4gICAgcmV0dXJuIG5vZGUuaXNVbmRldGVybWluZWQxO1xyXG4gIH1cclxuICBcclxuICBwcm90ZWN0ZWQgX2lzVW5kZXRlcm1pbmVkMihub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gbm9kZS5pc1VuZGV0ZXJtaW5lZDI7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2lzQ2hlY2tlZDEobm9kZTogRmxhdE5vZGUpOiBib29sZWFueyAgICAgICAgXHJcbiAgICByZXR1cm4gbm9kZS5pc0NoZWNrZWQxO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgX2lzQ2hlY2tlZDIobm9kZTogRmxhdE5vZGUpOiBib29sZWFueyAgICAgICAgXHJcbiAgICByZXR1cm4gbm9kZS5pc0NoZWNrZWQyO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJ0cmVlLWNvbnRhaW5lclwiPlxyXG4gIEBpZiAodHJlZVRpdGxlKCk7IGFzIHRyZWVUaXRsZSkge1xyXG4gICAgPGRpdiBjbGFzcz1cInRyZWUtdGl0bGVcIj57e3RyZWVUaXRsZX19PC9kaXY+XHJcbiAgfVxyXG4gIDxjZGstdHJlZSBbZGF0YVNvdXJjZV09XCJfZGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJfdHJlZUNvbnRyb2xcIj5cclxuICAgIDwhLS0gVGhpcyBpcyB0aGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciBsZWFmIG5vZGVzIC0tPlxyXG4gICAgPGNkay10cmVlLW5vZGVcclxuICAgICAgW21hdFRyZWVOb2RlUGFkZGluZ0luZGVudF09XCJwYWRkaW5nSW5kZW50XCJcclxuICAgICAgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGVcIlxyXG4gICAgICBtYXRUcmVlTm9kZVBhZGRpbmdcclxuICAgICAgKGNsaWNrKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAoa2V5cHJlc3MpPVwiX3RvZ2dsZU5vZGUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgIGNsYXNzPVwib2JqZWN0LW5vZGVcIlxyXG4gICAgICBbY2xhc3MuZHJhZ2FibGUtbm9kZV09XCJlbmFibGVEcmFnQW5kRHJvcCAmJiBub2RlLmxldmVsID4gMFwiXHJcbiAgICAgIFtjbGFzcy5zZWxlY3RlZC1ub2RlXT1cIl9pc1NlbGVjdGVkKG5vZGUpXCJcclxuICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cImRhdGFUZXN0UHJlZml4ICsgbm9kZS5pZFwiXHJcbiAgICAgIFt0aXRsZV09XCJub2RlLm5hbWVcIlxyXG4gICAgICBbYXR0ci5ub2RlLWlkXT1cIm5vZGUuaWRcIlxyXG4gICAgPlxyXG4gICAgICA8IS0tIHVzZSBhIGRpc2FibGVkIGJ1dHRvbiB0byBwcm92aWRlIHBhZGRpbmcgZm9yIHRyZWUgbGVhZiAtLT5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQ+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICBAaWYgKGN1c3RvbU5vZGVUZW1wbGF0ZSgpICYmIF9pc0N1c3RvbU5vZGVUeXBlKG5vZGUpKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBcclxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vZGVUZW1wbGF0ZSgpXCIgXHJcbiAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie25vZGU6bm9kZX1cIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgfUBlbHNle1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIG9iamVjdC1pY29uXCIgKm5nSWY9XCJzaG93T2JqZWN0c0ljb25zXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIGNsYXNzPVwibm9kZS1sYWJlbFwiXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1kcmFnLXBsYWNlaG9sZGVyXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48L2Rpdj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIHt7bm9kZS5uYW1lfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgICA8bGliLWJpbXBsdXMtY29udGV4dC1tZW51XHJcbiAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51cz8ub2JqZWN0Q29udGV4dE1lbnVpdGVtc1wiXHJcbiAgICAgICAgW2RhdGFdPVwibm9kZVwiXHJcbiAgICAgICAgKm5nSWY9XCJjb250ZXh0TWVudXM/Lm9iamVjdENvbnRleHRNZW51aXRlbXM/Lmxlbmd0aFwiXHJcbiAgICAgICAgKHRyaWdnZXJTZWxlY3RlZCk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2xpYi1iaW1wbHVzLWNvbnRleHQtbWVudT5cclxuICAgICAgQGlmKGhhc0NoZWNrQm94MSl7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJjdXN0b20tY2hlY2tib3gxXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ljb24tY2hlY2tlZCc6IF9pc0NoZWNrZWQxKG5vZGUpLCAnaWNvbi11bmNoZWNrZWQnOiAhX2lzQ2hlY2tlZDEobm9kZSkgfVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiX3RvZ2dsZUNoZWNrQm94MSgkZXZlbnQsbm9kZSlcIlxyXG4gICAgICAgICAgKGtleXByZXNzKT1cIl90b2dnbGVDaGVja0JveDEoJGV2ZW50LG5vZGUpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgQGlmKGhhc0NoZWNrQm94Mil7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJjdXN0b20tY2hlY2tib3gyXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ljb24tY2hlY2tlZCc6IF9pc0NoZWNrZWQyKG5vZGUpLCAnaWNvbi11bmNoZWNrZWQnOiAhX2lzQ2hlY2tlZDIobm9kZSkgfVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiX3RvZ2dsZUNoZWNrQm94MigkZXZlbnQsbm9kZSlcIlxyXG4gICAgICAgICAgKGtleXByZXNzKT1cIl90b2dnbGVDaGVja0JveDIoJGV2ZW50LG5vZGUpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvY2RrLXRyZWUtbm9kZT5cclxuICAgIDwhLS0gVGhpcyBpcyB0aGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciBleHBhbmRhYmxlIG5vZGVzIC0tPlxyXG4gICAgPGNkay10cmVlLW5vZGUgW21hdFRyZWVOb2RlUGFkZGluZ0luZGVudF09XCJwYWRkaW5nSW5kZW50XCJcclxuICAgICAgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7d2hlbjogX2lzRXhwYW5kYWJsZVwiXHJcbiAgICAgIG1hdFRyZWVOb2RlUGFkZGluZ1xyXG4gICAgICAoY2xpY2spPVwiX3RvZ2dsZU5vZGUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgIChrZXlwcmVzcyk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgY2xhc3M9XCJmb2xkZXItbm9kZVwiXHJcbiAgICAgIFtjbGFzcy5kcmFnYWJsZS1ub2RlXT1cImVuYWJsZURyYWdBbmREcm9wICYmIG5vZGUubGV2ZWwgPiAwXCJcclxuICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxyXG4gICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiZGF0YVRlc3RQcmVmaXggKyBub2RlLmlkXCJcclxuICAgICAgW3RpdGxlXT1cIm5vZGUubmFtZVwiXHJcbiAgICAgIFthdHRyLm5vZGUtaWRdPVwibm9kZS5pZFwiXHJcbiAgICA+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICBtYXRUcmVlTm9kZVRvZ2dsZVxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1RvZ2dsZSAnICsgbm9kZS5uYW1lXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiaWNvbiBleHBhbmQtY29sbGFwc2UtaWNvblwiXHJcbiAgICAgICAgICBbY2xhc3MuZXhwYW5kLW1vcmUtaWNvbl09XCJfaGFzQ2hpbGRyZW4obm9kZSkgJiYgIV90cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCJcclxuICAgICAgICAgIFtjbGFzcy5jb2xsYXBzZS1pY29uXT1cIl9oYXNDaGlsZHJlbihub2RlKSAmJiBfdHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2J1dHRvbj4gICAgICBcclxuICAgICAgQGlmIChjdXN0b21Ob2RlVGVtcGxhdGUoKSAmJiBfaXNDdXN0b21Ob2RlVHlwZShub2RlKSkge1xyXG4gICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21Ob2RlVGVtcGxhdGUoKVwiIFxyXG4gICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntub2RlOm5vZGV9XCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1AZWxzZXtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiBmb2xkZXItaWNvblwiICpuZ0lmPVwic2hvd0ZvbGRlcnNJY29uc1wiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZS1sYWJlbFwiXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtYWxsLWRlc2NlbmRhbnRzLW5vZGVzXT1cIl9kZXNjZW5kYW50c0FsbFNlbGVjdGVkKG5vZGUpICYmIF9pc1NlbGVjdGVkKG5vZGUpICYmIGVuYWJsZVBhcmVudEhpZ2hsaWdodGluZ1wiXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtcGFydGlhbGx5LWRlc2NlbmRhbnRzLW5vZGVzXT1cIl9kZXNjZW5kYW50c1BhcnRpYWxseVNlbGVjdGVkKG5vZGUpICYmIGVuYWJsZVBhcmVudEhpZ2hsaWdodGluZ1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1kcmFnLXBsYWNlaG9sZGVyXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RlLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIHt7bm9kZS5uYW1lfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgICA8bGliLWJpbXBsdXMtY29udGV4dC1tZW51XHJcbiAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51cz8uZm9sZGVyQ29udGV4dE1lbnVpdGVtc1wiXHJcbiAgICAgICAgW2RhdGFdPVwibm9kZVwiXHJcbiAgICAgICAgKm5nSWY9XCJjb250ZXh0TWVudXM/LmZvbGRlckNvbnRleHRNZW51aXRlbXM/Lmxlbmd0aFwiXHJcbiAgICAgICAgKHRyaWdnZXJTZWxlY3RlZCk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2xpYi1iaW1wbHVzLWNvbnRleHQtbWVudT5cclxuXHJcbiAgICAgIEBpZihoYXNDaGVja0JveDEpe1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLWNoZWNrYm94MVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICdpY29uLXVuZGV0ZXJtaW5lZCc6IF9pc1VuZGV0ZXJtaW5lZDEobm9kZSksXHJcbiAgICAgICAgICAgICdpY29uLWNoZWNrZWQnOiAhX2lzVW5kZXRlcm1pbmVkMShub2RlKSAmJiBfaXNDaGVja2VkMShub2RlKSxcclxuICAgICAgICAgICAgJ2ljb24tdW5jaGVja2VkJzogIV9pc1VuZGV0ZXJtaW5lZDEobm9kZSkgJiYgIV9pc0NoZWNrZWQxKG5vZGUpXHJcbiAgICAgICAgICB9XCJcclxuICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlQ2hlY2tCb3gxKCRldmVudCxub2RlKVwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwiX3RvZ2dsZUNoZWNrQm94MSgkZXZlbnQsbm9kZSlcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAaWYoaGFzQ2hlY2tCb3gyKXtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImN1c3RvbS1jaGVja2JveDJcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAnaWNvbi11bmRldGVybWluZWQnOiBfaXNVbmRldGVybWluZWQyKG5vZGUpLFxyXG4gICAgICAgICAgICAnaWNvbi1jaGVja2VkJzogIV9pc1VuZGV0ZXJtaW5lZDIobm9kZSkgJiYgX2lzQ2hlY2tlZDIobm9kZSksXHJcbiAgICAgICAgICAgICdpY29uLXVuY2hlY2tlZCc6ICFfaXNVbmRldGVybWluZWQyKG5vZGUpICYmICFfaXNDaGVja2VkMihub2RlKVxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiX3RvZ2dsZUNoZWNrQm94MigkZXZlbnQsbm9kZSlcIlxyXG4gICAgICAgICAgKGtleXByZXNzKT1cIl90b2dnbGVDaGVja0JveDIoJGV2ZW50LG5vZGUpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvY2RrLXRyZWUtbm9kZT5cclxuICA8L2Nkay10cmVlPlxyXG48L2Rpdj5cclxuIl19
|
|
440
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFNBQVMsRUFBVSxLQUFLLEVBQTJCLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNKLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFPLHdEQUF3RCxDQUFDOzs7Ozs7QUFzQnRHLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsNEVB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QixFQUFFO2dCQUNFLGdCQUFnQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLHdCQUF3QjtzQkFBL0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDa0MsWUFBWTtzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU96QixRQUFRO3NCQUFwQixLQUFLO2dCQU1zQyx1QkFBdUI7c0JBQWxFLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7Z0JBSzVCLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZSwgYm9vbGVhbkF0dHJpYnV0ZSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveCAgIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIsIE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IENka1RyZWVNb2R1bGUsIEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgZmlyZUV2ZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZSwgRmxhdE5vZGUsIEZsYXRUcmVlQ29udGV4dE1lbnVzIH0gZnJvbSAnLi9iaW1wbHVzLWZsYXQtdHJlZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICAnLi4vYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcclxuXHJcbmludGVyZmFjZSBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRBdHRyaWJ1dGUgIHtcclxuICBba2V5OiBzdHJpbmddOiB1bmtub3duOyAvLyBBZGQgaW5kZXggc2lnbmF0dXJlIGFsbG93aW5nIHN0cmluZyBpbmRleGluZ1xyXG4gICAvL090aGVyIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMuLi5cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1mbGF0LXRyZWUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdFRyZWVNb2R1bGVcclxuICAgICwgTWF0QnV0dG9uTW9kdWxlXHJcbiAgICAsIE1hdEljb25Nb2R1bGVcclxuICAgICwgQ2RrVHJlZU1vZHVsZVxyXG4gICAgLCBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnRcclxuICAgICwgQ29tbW9uTW9kdWxlXHJcbiAgICAsIE1hdENoZWNrYm94XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQubGVzcydcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlc3tcclxuICBASW5wdXQoKSB0cmVlRGF0YVN0cmluZ2lmaWVkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAvKiogVE9ETyByZW1vdmUgQElucHV0IG9uY2Ugc2lnbmFsIGlucHV0cyByZWxlYXNlIGZyb20gZGV2ZWxvcGVyIHByZXZpZXcuICovXHJcbiAgLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAndHJlZVRpdGxlJyB9KSBzZXQgdHJlZVRpdGxlVmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmVlVGl0bGUuc2V0KHZhbHVlKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyZWVUaXRsZSA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgQElucHV0KCkgcGFkZGluZ0luZGVudCA6IHN0cmluZyA9IFwiMi44cmVtXCJcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbXVsdGlTZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb25lTGV2ZWxNdWx0aVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Rm9sZGVyc0ljb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dPYmplY3RzSWNvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZW5hYmxlU2VsZWN0OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZW5hYmxlRHJhZ0FuZERyb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkYXRhVGVzdFByZWZpeCA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgY29udGV4dE1lbnVzOiBGbGF0VHJlZUNvbnRleHRNZW51cyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNDaGVja0JveDE6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNDaGVja0JveDI6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIGdldCB0cmVlRGF0YSgpIDogQXJyYXk8VHJlZU5vZGU+e1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2UuZGF0YTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCB0cmVlRGF0YShkYXRhOiBBcnJheTxUcmVlTm9kZT4pIHtcclxuICAgIHRoaXMudHJlZURhdGFTdHJpbmdpZmllZCA9IG51bGw7XHJcbiAgICB0aGlzLl9kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xyXG4gIH1cclxuICBcclxuICAvKiogVE9ETyByZW1vdmUgQElucHV0IG9uY2Ugc2lnbmFsIGlucHV0cyByZWxlYXNlIGZyb20gZGV2ZWxvcGVyIHByZXZpZXcuICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdjdXN0b21Ob2RlVGVtcGxhdGUnIH0pIHNldCBjdXN0b21Ob2RlVGVtcGxhdGVWYWx1ZSh2YWx1ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsKSB7XHJcbiAgICB0aGlzLmN1c3RvbU5vZGVUZW1wbGF0ZS5zZXQodmFsdWUpO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VzdG9tTm9kZVRlbXBsYXRlID0gc2lnbmFsPFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZE5vZGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGbGF0Tm9kZVtdPigpO1xyXG4gIEBPdXRwdXQoKSBjaGVja2VkMU5vZGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGbGF0Tm9kZVtdPigpO1xyXG4gIEBPdXRwdXQoKSBjaGVja2VkMk5vZGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGbGF0Tm9kZVtdPigpO1xyXG5cclxuICBwcml2YXRlIF9zZWxlY3Rpb25MaXN0OiBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAoZWxlbWVudCBhcyB1bmtub3duIGFzIEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudEF0dHJpYnV0ZSlbJ2dldF9ub2RlJ10gPSB0aGlzLmdldF9ub2RlLmJpbmQodGhpcyk7XHJcbiAgICAgIChlbGVtZW50IGFzIHVua25vd24gYXMgQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50QXR0cmlidXRlKVsnc2VsZWN0X25vZGUnXSA9IHRoaXMuc2VsZWN0X25vZGUuYmluZCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zZWxlY3Rpb25MaXN0ID0gbmV3IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPih0aGlzLm11bHRpU2VsZWN0IHx8IHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCk7XHJcbiAgICBpZih0aGlzLnRyZWVEYXRhU3RyaW5naWZpZWQpe1xyXG4gICAgICB0aGlzLl9zZXROZXdEYXRhKHRoaXMudHJlZURhdGFTdHJpbmdpZmllZClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBhbmRUcmVlKCl7XHJcbiAgICB0aGlzLl90cmVlQ29udHJvbC5leHBhbmRBbGwoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE5vZGUoaWQ6IHN0cmluZywgbm9kZXM6IEFycmF5PFRyZWVOb2RlPik6IFRyZWVOb2RlIHwgbnVsbCB7XHJcbiAgICBmb3IoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG4gICAgICBpZihub2RlLmlkID09PSBpZCkge1xyXG4gICAgICAgIHJldHVybiBub2RlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgICBjb25zdCBfbm9kZTogVHJlZU5vZGUgfCBudWxsID0gdGhpcy5fZ2V0Tm9kZShpZCwgbm9kZS5jaGlsZHJlbik7XHJcbiAgICAgICAgaWYoX25vZGUpIHtcclxuICAgICAgICAgIHJldHVybiBfbm9kZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldF9ub2RlKGlkOiB7IGlkOiBzdHJpbmcgfSB8IHN0cmluZywgZ2V0RE9NRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlKTogVHJlZU5vZGUgfCBFbGVtZW50IHwgbnVsbCB7XHJcbiAgICBpZih0eXBlb2YgaWQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9nZXROb2RlKGlkLCB0aGlzLl9kYXRhU291cmNlLmRhdGEpO1xyXG4gICAgfVxyXG4gICAgaWYoZ2V0RE9NRWxlbWVudCkge1xyXG4gICAgICBjb25zdCBfZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGBbbm9kZS1pZD0nJHtpZC5pZH0nXWApO1xyXG4gICAgICByZXR1cm4gX2VsZW1lbnQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Tm9kZShpZC5pZCwgdGhpcy5fZGF0YVNvdXJjZS5kYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3Rfbm9kZShpZDogc3RyaW5nLCBza2lwRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xyXG4gICAgaWYoIW5vZGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QgJiYgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmKHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWRbMF0ucGFyZW50ICE9PSBub2RlLnBhcmVudCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QuY2xlYXIoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuX3NlbGVjdGlvbkxpc3QuaXNTZWxlY3RlZChub2RlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3Qobm9kZSk7XHJcbiAgICBpZighdGhpcy5tdWx0aVNlbGVjdCAmJiAhdGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0ICYmICFza2lwRXZlbnQpIHtcclxuICAgICAgZmlyZUV2ZW50KHRoaXMsIFwic2VsZWN0ZWROb2Rlc1wiLCB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkICk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZighdGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0KSB7XHJcbiAgICAgIHRoaXMuX3RvZ2dsZURlc2NlbmRhbnRzTm9kZXMobm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5lbmFibGVQYXJlbnRIaWdobGlnaHRpbmcpIHtcclxuICAgICAgdGhpcy5fdXBkYXRlUGFyZW50U2VsZWN0aW9ucyhub2RlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZighc2tpcEV2ZW50KXtcclxuICAgICAgZmlyZUV2ZW50KHRoaXMsIFwic2VsZWN0ZWROb2Rlc1wiLCB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkICk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlc2V0X3NlbGVjdGlvbigpe1xyXG4gICAgdGhpcy5fc2VsZWN0aW9uTGlzdD8uY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBhbmRfbm9kZShpZCA6IHN0cmluZyl7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy5fdHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBpZCk7XHJcbiAgICBpZighbm9kZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fdHJlZUNvbnRyb2wuZXhwYW5kKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzX2V4cGFuZGVkKGlkIDogc3RyaW5nKXtcclxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTtcclxuICAgIGlmKCFub2RlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc19zZWxlY3RlZChpZCA6IHN0cmluZyl7XHJcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTtcclxuICAgIGlmKCFub2RlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTGlzdD8uaXNTZWxlY3RlZChub2RlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldE5ld0RhdGEodHJlZURhdGFTdHJpbmdpZmllZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBfdHJlZV9kYXRhID0gSlNPTi5wYXJzZSh0cmVlRGF0YVN0cmluZ2lmaWVkKTtcclxuICAgIHRoaXMuX2RhdGFTb3VyY2UuZGF0YSA9IF90cmVlX2RhdGEgPz8gW107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jaGFuZ2VkVHJlZURhdGEoY2hhbmdlOiBTaW1wbGVDaGFuZ2UpIHtcclxuICAgIHRoaXMuX3NldE5ld0RhdGEoY2hhbmdlLmN1cnJlbnRWYWx1ZSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHsgW3Byb3BLZXk6IHN0cmluZ106IFNpbXBsZUNoYW5nZSB9KTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzWydtdWx0aVNlbGVjdCddIHx8IGNoYW5nZXNbJ29uZUxldmVsTXVsdGlTZWxlY3QnXSkge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0ID0gbmV3IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPih0aGlzLm11bHRpU2VsZWN0IHx8IHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCk7XHJcbiAgICB9XHJcbiAgICBpZihjaGFuZ2VzWyd0cmVlRGF0YVN0cmluZ2lmaWVkJ10pIHtcclxuICAgICAgdGhpcy5fY2hhbmdlZFRyZWVEYXRhKGNoYW5nZXNbJ3RyZWVEYXRhU3RyaW5naWZpZWQnXSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RyYW5zZm9ybWVyID0gKG5vZGU6IFRyZWVOb2RlLCBsZXZlbDogbnVtYmVyKTogRmxhdE5vZGUgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXhwYW5kYWJsZTogbm9kZS5jaGlsZHJlbiAhPT0gdW5kZWZpbmVkICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCxcclxuICAgICAgY2hpbGRyZW5fY291bnQ6IG5vZGUuY2hpbGRyZW4/Lmxlbmd0aCxcclxuICAgICAgbmFtZTogbm9kZS5uYW1lLFxyXG4gICAgICBpZDogbm9kZS5pZCxcclxuICAgICAgbGV2ZWw6IGxldmVsLFxyXG4gICAgICBwYXJlbnQ6IG5vZGUucGFyZW50LFxyXG4gICAgICBub2RlVHlwZTogbm9kZS5ub2RlVHlwZSxcclxuICAgICAgaXNDaGVja2VkMTogdHJ1ZSxcclxuICAgICAgaXNDaGVja2VkMjogdHJ1ZSxcclxuICAgICAgaXNVbmRldGVybWluZWQxOiBmYWxzZSxcclxuICAgICAgaXNVbmRldGVybWluZWQyOiBmYWxzZVxyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBwcm90ZWN0ZWQgX3RyZWVDb250cm9sID0gbmV3IEZsYXRUcmVlQ29udHJvbDxGbGF0Tm9kZT4oXHJcbiAgICBub2RlID0+IG5vZGUubGV2ZWwsXHJcbiAgICBub2RlID0+IG5vZGUuZXhwYW5kYWJsZSxcclxuICApO1xyXG5cclxuICBwcm90ZWN0ZWQgX3RyZWVGbGF0dGVuZXIgPSBuZXcgTWF0VHJlZUZsYXR0ZW5lcihcclxuICAgIHRoaXMuX3RyYW5zZm9ybWVyLFxyXG4gICAgbm9kZSA9PiBub2RlLmxldmVsLFxyXG4gICAgbm9kZSA9PiBub2RlLmV4cGFuZGFibGUsXHJcbiAgICBub2RlID0+IG5vZGUuY2hpbGRyZW5cclxuICApO1xyXG5cclxuICBwcm90ZWN0ZWQgX2RhdGFTb3VyY2UgPSBuZXcgTWF0VHJlZUZsYXREYXRhU291cmNlKHRoaXMuX3RyZWVDb250cm9sLCB0aGlzLl90cmVlRmxhdHRlbmVyKTtcclxuICBwcm90ZWN0ZWQgX2lzRXhwYW5kYWJsZSA9IChfOiBudW1iZXIsIG5vZGU6IEZsYXROb2RlKSA9PiBub2RlLmV4cGFuZGFibGU7XHJcbiAgcHJvdGVjdGVkIF9pc0N1c3RvbU5vZGVUeXBlKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbntcclxuICAgIHJldHVybiBub2RlLm5vZGVUeXBlICE9IHVuZGVmaW5lZCAmJiBub2RlLm5vZGVUeXBlICE9IFwiXCI7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhc0NoaWxkcmVuKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbiB7XHJcbiAgICBpZighbm9kZS5leHBhbmRhYmxlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmKG5vZGUuY2hpbGRyZW5fY291bnQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICAgIHJldHVybiBub2RlLmNoaWxkcmVuX2NvdW50ID4gMFxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9kZXNjZW5kYW50c0FsbFNlbGVjdGVkKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbiB7XHJcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgX3NlbGVjdGlvbkxpc3Q6IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPiA9IHRoaXMuX3NlbGVjdGlvbkxpc3Q7XHJcblxyXG4gICAgY29uc3QgX2Rlc2NlbmRhbnRzID0gdGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSk7XHJcbiAgICBpZihfZGVzY2VuZGFudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgX2Rlc2NBbGxTZWxlY3RlZCA9IF9kZXNjZW5kYW50cy5sZW5ndGggPiAwICYmIF9kZXNjZW5kYW50cy5ldmVyeSgoY2hpbGQpID0+IHtcclxuICAgICAgcmV0dXJuIF9zZWxlY3Rpb25MaXN0LmlzU2VsZWN0ZWQoY2hpbGQpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gX2Rlc2NBbGxTZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfZGVzY2VuZGFudHNQYXJ0aWFsbHlTZWxlY3RlZChub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgX3NlbGVjdGlvbkxpc3Q6IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPiA9IHRoaXMuX3NlbGVjdGlvbkxpc3Q7XHJcblxyXG4gICAgY29uc3QgX2Rlc2NlbmRhbnRzID0gdGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSk7XHJcbiAgICBjb25zdCBfcmVzdWx0ID0gX2Rlc2NlbmRhbnRzLnNvbWUoKGNoaWxkKSA9PiB7XHJcbiAgICAgIHJldHVybiBfc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKGNoaWxkKVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gX3Jlc3VsdCAmJiAhdGhpcy5fZGVzY2VuZGFudHNBbGxTZWxlY3RlZChub2RlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RvZ2dsZURlc2NlbmRhbnRzTm9kZXMobm9kZTogRmxhdE5vZGUpIHtcclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBfaXNOb2RlU2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3Rpb25MaXN0LmlzU2VsZWN0ZWQobm9kZSk7XHJcbiAgICBpZihfaXNOb2RlU2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3QoLi4udGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QuZGVzZWxlY3QoLi4udGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlUGFyZW50U2VsZWN0aW9ucyhub2RlOiBGbGF0Tm9kZSkge1xyXG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBfcGFyZW50SWQgPSBub2RlLnBhcmVudDtcclxuICAgIGxldCBfcGFyZW50Tm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gX3BhcmVudElkKVxyXG4gICAgd2hpbGUoX3BhcmVudE5vZGUpIHtcclxuICAgICAgaWYodGhpcy5fZGVzY2VuZGFudHNBbGxTZWxlY3RlZChfcGFyZW50Tm9kZSkpIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdChfcGFyZW50Tm9kZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmRlc2VsZWN0KF9wYXJlbnROb2RlKTtcclxuICAgICAgfVxyXG4gICAgICBfcGFyZW50SWQgPSBfcGFyZW50Tm9kZS5wYXJlbnQ7XHJcbiAgICAgIF9wYXJlbnROb2RlID0gdGhpcy5fdHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBfcGFyZW50SWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF90b2dnbGVOb2RlKGV2ZW50OiBFdmVudCwgbm9kZTogRmxhdE5vZGUpIHtcclxuICAgIGlmKCFub2RlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZighdGhpcy5lbmFibGVTZWxlY3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDaGVjayBpZiBldmVudCBpcyBhIE1vdXNlRXZlbnQgYmVmb3JlIGFjY2Vzc2luZyBjdHJsS2V5XHJcbiAgICBjb25zdCBpc01vdXNlRXZlbnQgPSBldmVudCAhPSBudWxsICYmIGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudDtcclxuICAgIGlmIChpc01vdXNlRXZlbnQgJiYgIWV2ZW50Py5jdHJsS2V5KSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QgJiYgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmKHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWRbMF0ucGFyZW50ICE9PSBub2RlLnBhcmVudCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QuY2xlYXIoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QudG9nZ2xlKG5vZGUpO1xyXG4gICAgaWYoIXRoaXMubXVsdGlTZWxlY3QgJiYgIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xyXG4gICAgICBmaXJlRXZlbnQodGhpcywgXCJzZWxlY3RlZE5vZGVzXCIsIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWQgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKCF0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QpIHtcclxuICAgICAgdGhpcy5fdG9nZ2xlRGVzY2VuZGFudHNOb2Rlcyhub2RlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYodGhpcy5lbmFibGVQYXJlbnRIaWdobGlnaHRpbmcpIHtcclxuICAgICAgdGhpcy5fdXBkYXRlUGFyZW50U2VsZWN0aW9ucyhub2RlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZmlyZUV2ZW50KHRoaXMsIFwic2VsZWN0ZWROb2Rlc1wiLCB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkICk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2lzU2VsZWN0ZWQobm9kZTogRmxhdE5vZGUpOiBib29sZWFue1xyXG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkxpc3Q/LmlzU2VsZWN0ZWQobm9kZSk7XHJcbiAgfVxyXG4gIFxyXG4gIHByb3RlY3RlZCBfdG9nZ2xlQ2hlY2tCb3gxKCBldmVudDpFdmVudCxub2RlOiBGbGF0Tm9kZSkgeyAgICBcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIG5vZGUuaXNDaGVja2VkMSA9ICFub2RlLmlzQ2hlY2tlZDE7XHJcbiAgICBpZihub2RlLmV4cGFuZGFibGUpe1xyXG4gICAgICB0aGlzLl90cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKS5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICAgIG4uaXNDaGVja2VkMSA9IG5vZGUuaXNDaGVja2VkMTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBub2RlLmlzVW5kZXRlcm1pbmVkMSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jaGVja1VuZGV0ZXJtaW5lZChub2RlLDEpO1xyXG4gICAgZmlyZUV2ZW50KHRoaXMsIFwiY2hlY2tlZDFOb2Rlc1wiLCBbbm9kZV0pO1xyXG4gIH1cclxuICBcclxuICBwcm90ZWN0ZWQgX3RvZ2dsZUNoZWNrQm94MihldmVudDpFdmVudCwgbm9kZTogRmxhdE5vZGUpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIG5vZGUuaXNDaGVja2VkMiA9ICFub2RlLmlzQ2hlY2tlZDI7XHJcbiAgICBpZihub2RlLmV4cGFuZGFibGUpe1xyXG4gICAgICB0aGlzLl90cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKS5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICAgIG4uaXNDaGVja2VkMiA9IG5vZGUuaXNDaGVja2VkMjtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBub2RlLmlzVW5kZXRlcm1pbmVkMiA9IGZhbHNlO1xyXG4gICAgdGhpcy5jaGVja1VuZGV0ZXJtaW5lZChub2RlLDIpO1xyXG4gICAgZmlyZUV2ZW50KHRoaXMsIFwiY2hlY2tlZDJOb2Rlc1wiLCBbbm9kZV0pO1xyXG4gIH1cclxuICBcclxuICAvL3NpbXBsaWZpZWQgdmVyc2lvbiBvZiBjaGVja1VuZGV0ZXJtaW5lZFxyXG4gIGNoZWNrVW5kZXRlcm1pbmVkKG5vZGU6RmxhdE5vZGUsY2hlY2tib3g6IG51bWJlcil7XHJcbiAgICBpZighdGhpcy5oYXNDaGVja0JveDEgJiYgY2hlY2tib3ggPT09IDEpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZighdGhpcy5oYXNDaGVja0JveDIgJiYgY2hlY2tib3ggPT09IDIpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZighbm9kZS5wYXJlbnQpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgbXlOb2RlID0gbm9kZTsgICAgXHJcbiAgICB3aGlsZShteU5vZGUgJiYgbXlOb2RlLnBhcmVudCl7XHJcbiAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IG15Tm9kZS5wYXJlbnQpOyAgICAgIFxyXG4gICAgICBpZighcGFyZW50Tm9kZSl7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBjaGVja2VkID0gMDtcclxuICAgICAgbGV0IHVuY2hlY2tlZCA9IDA7ICAgICAgICBcclxuICAgICAgbGV0IHVuZGV0ZXJtaW5lZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl90cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhwYXJlbnROb2RlKS5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICAgIGlmKGNoZWNrYm94ID09PSAxID8gbi5pc0NoZWNrZWQxOiBuLmlzQ2hlY2tlZDIpeyBcclxuICAgICAgICAgIGNoZWNrZWQrKztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdW5jaGVja2VkKys7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGNoZWNrYm94ID09PSAxID8gbi5pc1VuZGV0ZXJtaW5lZDE6IG4uaXNVbmRldGVybWluZWQyKXsgXHJcbiAgICAgICAgICB1bmRldGVybWluZWQgPSB0cnVlOyAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGNoZWNrZWQgPiAwICYmIHVuY2hlY2tlZCA+IDApe1xyXG4gICAgICAgICAgdW5kZXRlcm1pbmVkID0gdHJ1ZTsgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGlmKGNoZWNrYm94ID09PSAxICl7XHJcbiAgICAgICAgcGFyZW50Tm9kZS5pc1VuZGV0ZXJtaW5lZDEgPSB1bmRldGVybWluZWQ7XHJcbiAgICAgICAgcGFyZW50Tm9kZS5pc0NoZWNrZWQxID0gIXVuY2hlY2tlZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwYXJlbnROb2RlLmlzVW5kZXRlcm1pbmVkMiA9IHVuZGV0ZXJtaW5lZDtcclxuICAgICAgICBwYXJlbnROb2RlLmlzQ2hlY2tlZDIgPSAhdW5jaGVja2VkO1xyXG4gICAgICB9XHJcbiAgICAgIG15Tm9kZSA9IHBhcmVudE5vZGU7XHJcbiAgICB9O1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgX2lzVW5kZXRlcm1pbmVkMShub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gbm9kZS5pc1VuZGV0ZXJtaW5lZDE7XHJcbiAgfVxyXG4gIFxyXG4gIHByb3RlY3RlZCBfaXNVbmRldGVybWluZWQyKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbntcclxuICAgIHJldHVybiBub2RlLmlzVW5kZXRlcm1pbmVkMjtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaXNDaGVja2VkMShub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW57ICAgICAgICBcclxuICAgIHJldHVybiBub2RlLmlzQ2hlY2tlZDE7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBfaXNDaGVja2VkMihub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW57ICAgICAgICBcclxuICAgIHJldHVybiBub2RlLmlzQ2hlY2tlZDI7XHJcbiAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInRyZWUtY29udGFpbmVyXCI+XHJcbiAgQGlmICh0cmVlVGl0bGUoKTsgYXMgdHJlZVRpdGxlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwidHJlZS10aXRsZVwiPnt7dHJlZVRpdGxlfX08L2Rpdj5cclxuICB9XHJcbiAgPGNkay10cmVlIFtkYXRhU291cmNlXT1cIl9kYXRhU291cmNlXCIgW3RyZWVDb250cm9sXT1cIl90cmVlQ29udHJvbFwiPlxyXG4gICAgPCEtLSBUaGlzIGlzIHRoZSB0cmVlIG5vZGUgdGVtcGxhdGUgZm9yIGxlYWYgbm9kZXMgLS0+XHJcbiAgICA8Y2RrLXRyZWUtbm9kZVxyXG4gICAgICBbbWF0VHJlZU5vZGVQYWRkaW5nSW5kZW50XT1cInBhZGRpbmdJbmRlbnRcIlxyXG4gICAgICAqbWF0VHJlZU5vZGVEZWY9XCJsZXQgbm9kZVwiXHJcbiAgICAgIG1hdFRyZWVOb2RlUGFkZGluZ1xyXG4gICAgICAoY2xpY2spPVwiX3RvZ2dsZU5vZGUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgIChrZXlwcmVzcyk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgY2xhc3M9XCJvYmplY3Qtbm9kZVwiXHJcbiAgICAgIFtjbGFzcy5kcmFnYWJsZS1ub2RlXT1cImVuYWJsZURyYWdBbmREcm9wICYmIG5vZGUubGV2ZWwgPiAwXCJcclxuICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxyXG4gICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiZGF0YVRlc3RQcmVmaXggKyBub2RlLmlkXCJcclxuICAgICAgW3RpdGxlXT1cIm5vZGUubmFtZVwiXHJcbiAgICAgIFthdHRyLm5vZGUtaWRdPVwibm9kZS5pZFwiXHJcbiAgICA+XHJcbiAgICAgIDwhLS0gdXNlIGEgZGlzYWJsZWQgYnV0dG9uIHRvIHByb3ZpZGUgcGFkZGluZyBmb3IgdHJlZSBsZWFmIC0tPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlZD5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIEBpZiAoY3VzdG9tTm9kZVRlbXBsYXRlKCkgJiYgX2lzQ3VzdG9tTm9kZVR5cGUobm9kZSkpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tTm9kZVRlbXBsYXRlKClcIiBcclxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTpub2RlfVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICB9QGVsc2V7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24gb2JqZWN0LWljb25cIiAqbmdJZj1cInNob3dPYmplY3RzSWNvbnNcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgY2xhc3M9XCJub2RlLWxhYmVsXCJcclxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1ub2RlXT1cIl9pc1NlbGVjdGVkKG5vZGUpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAge3tub2RlLm5hbWV9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICAgIDxsaWItYmltcGx1cy1jb250ZXh0LW1lbnVcclxuICAgICAgICBbaXRlbXNdPVwiY29udGV4dE1lbnVzPy5vYmplY3RDb250ZXh0TWVudWl0ZW1zXCJcclxuICAgICAgICBbZGF0YV09XCJub2RlXCJcclxuICAgICAgICAqbmdJZj1cImNvbnRleHRNZW51cz8ub2JqZWN0Q29udGV4dE1lbnVpdGVtcz8ubGVuZ3RoXCJcclxuICAgICAgICAodHJpZ2dlclNlbGVjdGVkKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbGliLWJpbXBsdXMtY29udGV4dC1tZW51PlxyXG4gICAgICBAaWYoaGFzQ2hlY2tCb3gxKXtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImN1c3RvbS1jaGVja2JveDFcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaWNvbi1jaGVja2VkJzogX2lzQ2hlY2tlZDEobm9kZSksICdpY29uLXVuY2hlY2tlZCc6ICFfaXNDaGVja2VkMShub2RlKSB9XCJcclxuICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlQ2hlY2tCb3gxKCRldmVudCxub2RlKVwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwiX3RvZ2dsZUNoZWNrQm94MSgkZXZlbnQsbm9kZSlcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAaWYoaGFzQ2hlY2tCb3gyKXtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImN1c3RvbS1jaGVja2JveDJcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaWNvbi1jaGVja2VkJzogX2lzQ2hlY2tlZDIobm9kZSksICdpY29uLXVuY2hlY2tlZCc6ICFfaXNDaGVja2VkMihub2RlKSB9XCJcclxuICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlQ2hlY2tCb3gyKCRldmVudCxub2RlKVwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwiX3RvZ2dsZUNoZWNrQm94MigkZXZlbnQsbm9kZSlcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9jZGstdHJlZS1ub2RlPlxyXG4gICAgPCEtLSBUaGlzIGlzIHRoZSB0cmVlIG5vZGUgdGVtcGxhdGUgZm9yIGV4cGFuZGFibGUgbm9kZXMgLS0+XHJcbiAgICA8Y2RrLXRyZWUtbm9kZSBbbWF0VHJlZU5vZGVQYWRkaW5nSW5kZW50XT1cInBhZGRpbmdJbmRlbnRcIlxyXG4gICAgICAqbWF0VHJlZU5vZGVEZWY9XCJsZXQgbm9kZTt3aGVuOiBfaXNFeHBhbmRhYmxlXCJcclxuICAgICAgbWF0VHJlZU5vZGVQYWRkaW5nXHJcbiAgICAgIChjbGljayk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgKGtleXByZXNzKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICBjbGFzcz1cImZvbGRlci1ub2RlXCJcclxuICAgICAgW2NsYXNzLmRyYWdhYmxlLW5vZGVdPVwiZW5hYmxlRHJhZ0FuZERyb3AgJiYgbm9kZS5sZXZlbCA+IDBcIlxyXG4gICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXHJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJkYXRhVGVzdFByZWZpeCArIG5vZGUuaWRcIlxyXG4gICAgICBbdGl0bGVdPVwibm9kZS5uYW1lXCJcclxuICAgICAgW2F0dHIubm9kZS1pZF09XCJub2RlLmlkXCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIG1hdFRyZWVOb2RlVG9nZ2xlXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInVG9nZ2xlICcgKyBub2RlLm5hbWVcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJpY29uIGV4cGFuZC1jb2xsYXBzZS1pY29uXCJcclxuICAgICAgICAgIFtjbGFzcy5leHBhbmQtbW9yZS1pY29uXT1cIl9oYXNDaGlsZHJlbihub2RlKSAmJiAhX3RyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIlxyXG4gICAgICAgICAgW2NsYXNzLmNvbGxhcHNlLWljb25dPVwiX2hhc0NoaWxkcmVuKG5vZGUpICYmIF90cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvYnV0dG9uPiAgICAgIFxyXG4gICAgICBAaWYgKGN1c3RvbU5vZGVUZW1wbGF0ZSgpICYmIF9pc0N1c3RvbU5vZGVUeXBlKG5vZGUpKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBcclxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vZGVUZW1wbGF0ZSgpXCIgXHJcbiAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie25vZGU6bm9kZX1cIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgfUBlbHNle1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIGZvbGRlci1pY29uXCIgKm5nSWY9XCJzaG93Rm9sZGVyc0ljb25zXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJub2RlLWxhYmVsXCJcclxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1ub2RlXT1cIl9pc1NlbGVjdGVkKG5vZGUpXCJcclxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1hbGwtZGVzY2VuZGFudHMtbm9kZXNdPVwiX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSkgJiYgX2lzU2VsZWN0ZWQobm9kZSkgJiYgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nXCJcclxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1wYXJ0aWFsbHktZGVzY2VuZGFudHMtbm9kZXNdPVwiX2Rlc2NlbmRhbnRzUGFydGlhbGx5U2VsZWN0ZWQobm9kZSkgJiYgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGUtbGFiZWxcIj5cclxuICAgICAgICAgICAge3tub2RlLm5hbWV9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICAgIDxsaWItYmltcGx1cy1jb250ZXh0LW1lbnVcclxuICAgICAgICBbaXRlbXNdPVwiY29udGV4dE1lbnVzPy5mb2xkZXJDb250ZXh0TWVudWl0ZW1zXCJcclxuICAgICAgICBbZGF0YV09XCJub2RlXCJcclxuICAgICAgICAqbmdJZj1cImNvbnRleHRNZW51cz8uZm9sZGVyQ29udGV4dE1lbnVpdGVtcz8ubGVuZ3RoXCJcclxuICAgICAgICAodHJpZ2dlclNlbGVjdGVkKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbGliLWJpbXBsdXMtY29udGV4dC1tZW51PlxyXG5cclxuICAgICAgQGlmKGhhc0NoZWNrQm94MSl7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJjdXN0b20tY2hlY2tib3gxXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgJ2ljb24tdW5kZXRlcm1pbmVkJzogX2lzVW5kZXRlcm1pbmVkMShub2RlKSxcclxuICAgICAgICAgICAgJ2ljb24tY2hlY2tlZCc6ICFfaXNVbmRldGVybWluZWQxKG5vZGUpICYmIF9pc0NoZWNrZWQxKG5vZGUpLFxyXG4gICAgICAgICAgICAnaWNvbi11bmNoZWNrZWQnOiAhX2lzVW5kZXRlcm1pbmVkMShub2RlKSAmJiAhX2lzQ2hlY2tlZDEobm9kZSlcclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIl90b2dnbGVDaGVja0JveDEoJGV2ZW50LG5vZGUpXCJcclxuICAgICAgICAgIChrZXlwcmVzcyk9XCJfdG9nZ2xlQ2hlY2tCb3gxKCRldmVudCxub2RlKVwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIEBpZihoYXNDaGVja0JveDIpe1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLWNoZWNrYm94MlwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICdpY29uLXVuZGV0ZXJtaW5lZCc6IF9pc1VuZGV0ZXJtaW5lZDIobm9kZSksXHJcbiAgICAgICAgICAgICdpY29uLWNoZWNrZWQnOiAhX2lzVW5kZXRlcm1pbmVkMihub2RlKSAmJiBfaXNDaGVja2VkMihub2RlKSxcclxuICAgICAgICAgICAgJ2ljb24tdW5jaGVja2VkJzogIV9pc1VuZGV0ZXJtaW5lZDIobm9kZSkgJiYgIV9pc0NoZWNrZWQyKG5vZGUpXHJcbiAgICAgICAgICB9XCJcclxuICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlQ2hlY2tCb3gyKCRldmVudCxub2RlKVwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwiX3RvZ2dsZUNoZWNrQm94MigkZXZlbnQsbm9kZSlcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9jZGstdHJlZS1ub2RlPlxyXG4gIDwvY2RrLXRyZWU+XHJcbjwvZGl2PlxyXG4iXX0=
|
package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs
CHANGED
|
@@ -102,11 +102,11 @@ export class BimplusObjectStructureComponent {
|
|
|
102
102
|
this.treeComponent?.expandTree();
|
|
103
103
|
}
|
|
104
104
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectStructureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BimplusObjectStructureComponent, isStandalone: true, selector: "lib-bimplus-object-structure", inputs: { objectStructureValue: ["objectStructure", "objectStructureValue"] }, outputs: { nodeSelected: "nodeSelected", nodeVisible: "nodeVisible", nodeOpaque: "nodeOpaque" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "hasCheckBox1", "hasCheckBox2", "treeData", "customNodeTemplate"], outputs: ["selectedNodes", "checked1Nodes", "checked2Nodes"] }] }); }
|
|
105
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BimplusObjectStructureComponent, isStandalone: true, selector: "lib-bimplus-object-structure", inputs: { objectStructureValue: ["objectStructure", "objectStructureValue"] }, outputs: { nodeSelected: "nodeSelected", nodeVisible: "nodeVisible", nodeOpaque: "nodeOpaque" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n [hasCheckBox1]=\"true\"\r\n [hasCheckBox2]=\"true\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "hasCheckBox1", "hasCheckBox2", "treeData", "customNodeTemplate"], outputs: ["selectedNodes", "checked1Nodes", "checked2Nodes"] }] }); }
|
|
106
106
|
}
|
|
107
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectStructureComponent, decorators: [{
|
|
108
108
|
type: Component,
|
|
109
|
-
args: [{ selector: 'lib-bimplus-object-structure', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"] }]
|
|
109
|
+
args: [{ selector: 'lib-bimplus-object-structure', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n [hasCheckBox1]=\"true\"\r\n [hasCheckBox2]=\"true\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"] }]
|
|
110
110
|
}], propDecorators: { objectStructureValue: [{
|
|
111
111
|
type: Input,
|
|
112
112
|
args: [{ alias: 'objectStructure' }]
|
|
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
120
120
|
}], nodeOpaque: [{
|
|
121
121
|
type: Output
|
|
122
122
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVc1RixNQUFNLE9BQU8sK0JBQStCO0lBUDVDO1FBZW1CLHFCQUFnQixHQUFHLE1BQU0sQ0FBc0I7WUFDOUQsRUFBRSxFQUFHLEVBQUU7WUFDUCxJQUFJLEVBQUcsRUFBRTtZQUNULE1BQU0sRUFBRSxFQUFFO1lBQ1YsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztRQUVrQyxrQkFBYSxHQUFvQyxJQUFJLENBQUM7UUFxQmxGLGFBQVEsR0FBRyxRQUFRLENBQWEsR0FBRyxFQUFFO1lBQzVDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2hELElBQUcsQ0FBQyxlQUFlLEVBQUMsQ0FBQztnQkFDbkIsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1lBRUQsTUFBTSxJQUFJLEdBQUcsSUFB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LG9CQUFvQjtzQkFEdkIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFhRSxhQUFhO3NCQUFqRCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFrR3pCLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGbGF0Tm9kZSwgVHJlZU5vZGUgfSBmcm9tICcuLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBPYmplY3RTdHJ1Y3R1cmVOb2RlIH0gZnJvbSAnLi9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5sZXNzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmltcGx1c09iamVjdFN0cnVjdHVyZUNvbXBvbmVudHtcclxuICAvKiogVE9ETyByZW1vdmUgQElucHV0IG9uY2Ugc2lnbmFsIGlucHV0cyByZWxlYXNlIGZyb20gZGV2ZWxvcGVyIHByZXZpZXcuICovXHJcbiAgLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnb2JqZWN0U3RydWN0dXJlJyB9KVxyXG4gIHNldCBvYmplY3RTdHJ1Y3R1cmVWYWx1ZShub2RlIDogT2JqZWN0U3RydWN0dXJlTm9kZSl7XHJcbiAgICB0aGlzLl9vYmplY3RTdHJ1Y3R1cmUuc2V0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfb2JqZWN0U3RydWN0dXJlID0gc2lnbmFsPE9iamVjdFN0cnVjdHVyZU5vZGU+KHtcclxuICAgIGlkIDogXCJcIixcclxuICAgIG5hbWUgOiBcIlwiLFxyXG4gICAgcGFyZW50OiBcIlwiLFxyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIG9wYXF1ZTogdHJ1ZVxyXG4gIH0pO1xyXG5cclxuICBAVmlld0NoaWxkKEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCkgdHJlZUNvbXBvbmVudDogQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgXHJcbiAgcHJpdmF0ZSBfY29udmVydE9iamVjdFN0cnVjdHVyZU5vZGVUb1RyZWVOb2RlKG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlKSA6IFRyZWVOb2Rle1xyXG5cclxuICAgIGNvbnN0IHRyZWVOb2RlIDogVHJlZU5vZGUgPSB7XHJcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIHBhcmVudDogbm9kZS5wYXJlbnQgXHJcbiAgICB9O1xyXG5cclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICB0cmVlTm9kZS5jaGlsZHJlbiA9IFtdO1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgY29uc3QgY2hpbGRUcmVlTm9kZSA9IHRoaXMuX2NvbnZlcnRPYmplY3RTdHJ1Y3R1cmVOb2RlVG9UcmVlTm9kZShjaGlsZCk7XHJcbiAgICAgICAgdHJlZU5vZGUuY2hpbGRyZW4ucHVzaChjaGlsZFRyZWVOb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cmVlTm9kZTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHRyZWVEYXRhID0gY29tcHV0ZWQ8VHJlZU5vZGVbXT4oKCkgPT4ge1xyXG4gICAgY29uc3Qgb2JqZWN0U3RydWN0dXJlID0gdGhpcy5fb2JqZWN0U3RydWN0dXJlKCk7XHJcbiAgICBpZighb2JqZWN0U3RydWN0dXJlKXtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJvb3QgPSB0aGlzLl9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUob2JqZWN0U3RydWN0dXJlKTtcclxuICAgIGlmKCFyb290KXtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbcm9vdF07XHJcbiAgfSlcclxuXHJcblxyXG4gIHByaXZhdGUgX2ZpbmROb2RlKGlkOnN0cmluZywgbm9kZSA6IE9iamVjdFN0cnVjdHVyZU5vZGUpIDogT2JqZWN0U3RydWN0dXJlTm9kZSB8IG51bGx7XHJcbiAgICBpZihub2RlLmlkID09IGlkKXtcclxuICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYobm9kZS5jaGlsZHJlbil7XHJcbiAgICAgIGZvcihjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKXtcclxuICAgICAgICBjb25zdCByZXMgPSB0aGlzLl9maW5kTm9kZShpZCwgY2hpbGQpO1xyXG4gICAgICAgIGlmKHJlcyl7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0ZWROb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgaWYobm9kZXMubGVuZ3RoID09PSAxKXtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlID0gdGhpcy5fZmluZE5vZGUobm9kZXNbMF0uaWQsIHRoaXMuX29iamVjdFN0cnVjdHVyZSgpKTtcclxuICAgICAgaWYoc2VsZWN0ZWROb2RlKXtcclxuICAgICAgICB0aGlzLm5vZGVTZWxlY3RlZC5lbWl0KHNlbGVjdGVkTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgfVxyXG4gIFxyXG4gIGhhbmRsZVZpc2libGVOb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgaWYobm9kZXMubGVuZ3RoID09PSAxKXtcclxuICAgICAgY29uc3QgdmlzaWJsZU5vZGUgPSB0aGlzLl9maW5kTm9kZShub2Rlc1swXS5pZCwgdGhpcy5fb2JqZWN0U3RydWN0dXJlKCkpO1xyXG4gICAgICBpZih2aXNpYmxlTm9kZSl7XHJcbiAgICAgICAgY29uc3Qgb3V0cHVEYXRhOk9iamVjdFN0cnVjdHVyZU5vZGUgPXtcclxuICAgICAgICAgIG5hbWU6dmlzaWJsZU5vZGUubmFtZSxcclxuICAgICAgICAgIHBhcmVudDogdmlzaWJsZU5vZGUucGFyZW50LCAgICAgICAgICBcclxuICAgICAgICAgIGlkOiB2aXNpYmxlTm9kZS5pZCxcclxuICAgICAgICAgIHZpc2libGU6IG5vZGVzWzBdLmlzQ2hlY2tlZDIsXHJcbiAgICAgICAgICBvcGFxdWU6ICBub2Rlc1swXS5pc0NoZWNrZWQxLFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGVWaXNpYmxlLmVtaXQob3V0cHVEYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcbiAgXHJcbiAgaGFuZGxlT3BhcXVlTm9kZXMobm9kZXMgOiBGbGF0Tm9kZVtdKXtcclxuICAgIGlmKG5vZGVzLmxlbmd0aCA9PT0gMSl7XHJcbiAgICAgIGNvbnN0IG9wYXF1ZU5vZGUgPSB0aGlzLl9maW5kTm9kZShub2Rlc1swXS5pZCwgdGhpcy5fb2JqZWN0U3RydWN0dXJlKCkpO1xyXG4gICAgICBpZihvcGFxdWVOb2RlKXtcclxuICAgICAgICBjb25zdCBvdXRwdURhdGE6T2JqZWN0U3RydWN0dXJlTm9kZSA9e1xyXG4gICAgICAgICAgbmFtZTpvcGFxdWVOb2RlLm5hbWUsXHJcbiAgICAgICAgICBwYXJlbnQ6IG9wYXF1ZU5vZGUucGFyZW50LCAgICAgICAgICBcclxuICAgICAgICAgIGlkOiBvcGFxdWVOb2RlLmlkLFxyXG4gICAgICAgICAgdmlzaWJsZTogbm9kZXNbMF0uaXNDaGVja2VkMixcclxuICAgICAgICAgIG9wYXF1ZTogIG5vZGVzWzBdLmlzQ2hlY2tlZDEsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZU9wYXF1ZS5lbWl0KG91dHB1RGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgfVxyXG5cclxuICBleHBhbmRUcmVlKCl7XHJcbiAgICB0aGlzLnRyZWVDb21wb25lbnQ/LmV4cGFuZFRyZWUoKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBub2RlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE9iamVjdFN0cnVjdHVyZU5vZGU+KCk7XHJcbiAgQE91dHB1dCgpIG5vZGVWaXNpYmxlICA9IG5ldyBFdmVudEVtaXR0ZXI8T2JqZWN0U3RydWN0dXJlTm9kZT4oKTtcclxuICBAT3V0cHV0KCkgbm9kZU9wYXF1ZSAgID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3RTdHJ1Y3R1cmVOb2RlPigpO1xyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcclxuICBwYWRkaW5nSW5kZW50PVwiMS40cmVtXCJcclxuICBbdHJlZURhdGFdPVwidHJlZURhdGEoKVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIChzZWxlY3RlZE5vZGVzKSA9IFwiaGFuZGxlU2VsZWN0ZWROb2RlcygkZXZlbnQpXCJcclxuICAoY2hlY2tlZDJOb2RlcykgPSBcImhhbmRsZVZpc2libGVOb2RlcygkZXZlbnQpXCJcclxuICAoY2hlY2tlZDFOb2RlcykgPSBcImhhbmRsZU9wYXF1ZU5vZGVzKCRldmVudClcIlxyXG4gIGRhdGFUZXN0UHJlZml4PVwib2JqZWN0LXN0cnVjdHVyZS10cmVlLVwiXHJcbj48L2xpYi1iaW1wbHVzLWZsYXQtdHJlZT5cclxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVc1RixNQUFNLE9BQU8sK0JBQStCO0lBUDVDO1FBZW1CLHFCQUFnQixHQUFHLE1BQU0sQ0FBc0I7WUFDOUQsRUFBRSxFQUFHLEVBQUU7WUFDUCxJQUFJLEVBQUcsRUFBRTtZQUNULE1BQU0sRUFBRSxFQUFFO1lBQ1YsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztRQUVrQyxrQkFBYSxHQUFvQyxJQUFJLENBQUM7UUFxQmxGLGFBQVEsR0FBRyxRQUFRLENBQWEsR0FBRyxFQUFFO1lBQzVDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2hELElBQUcsQ0FBQyxlQUFlLEVBQUMsQ0FBQztnQkFDbkIsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1lBRUQsTUFBTSxJQUFJLEdBQUcsSUFB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LG9CQUFvQjtzQkFEdkIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFhRSxhQUFhO3NCQUFqRCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFrR3pCLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGbGF0Tm9kZSwgVHJlZU5vZGUgfSBmcm9tICcuLi9iaW1wbHVzLWZsYXQtdHJlZS9iaW1wbHVzLWZsYXQtdHJlZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBPYmplY3RTdHJ1Y3R1cmVOb2RlIH0gZnJvbSAnLi9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5sZXNzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmltcGx1c09iamVjdFN0cnVjdHVyZUNvbXBvbmVudHtcclxuICAvKiogVE9ETyByZW1vdmUgQElucHV0IG9uY2Ugc2lnbmFsIGlucHV0cyByZWxlYXNlIGZyb20gZGV2ZWxvcGVyIHByZXZpZXcuICovXHJcbiAgLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnb2JqZWN0U3RydWN0dXJlJyB9KVxyXG4gIHNldCBvYmplY3RTdHJ1Y3R1cmVWYWx1ZShub2RlIDogT2JqZWN0U3RydWN0dXJlTm9kZSl7XHJcbiAgICB0aGlzLl9vYmplY3RTdHJ1Y3R1cmUuc2V0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfb2JqZWN0U3RydWN0dXJlID0gc2lnbmFsPE9iamVjdFN0cnVjdHVyZU5vZGU+KHtcclxuICAgIGlkIDogXCJcIixcclxuICAgIG5hbWUgOiBcIlwiLFxyXG4gICAgcGFyZW50OiBcIlwiLFxyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIG9wYXF1ZTogdHJ1ZVxyXG4gIH0pO1xyXG5cclxuICBAVmlld0NoaWxkKEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCkgdHJlZUNvbXBvbmVudDogQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgXHJcbiAgcHJpdmF0ZSBfY29udmVydE9iamVjdFN0cnVjdHVyZU5vZGVUb1RyZWVOb2RlKG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlKSA6IFRyZWVOb2Rle1xyXG5cclxuICAgIGNvbnN0IHRyZWVOb2RlIDogVHJlZU5vZGUgPSB7XHJcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIHBhcmVudDogbm9kZS5wYXJlbnQgXHJcbiAgICB9O1xyXG5cclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICB0cmVlTm9kZS5jaGlsZHJlbiA9IFtdO1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgY29uc3QgY2hpbGRUcmVlTm9kZSA9IHRoaXMuX2NvbnZlcnRPYmplY3RTdHJ1Y3R1cmVOb2RlVG9UcmVlTm9kZShjaGlsZCk7XHJcbiAgICAgICAgdHJlZU5vZGUuY2hpbGRyZW4ucHVzaChjaGlsZFRyZWVOb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cmVlTm9kZTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHRyZWVEYXRhID0gY29tcHV0ZWQ8VHJlZU5vZGVbXT4oKCkgPT4ge1xyXG4gICAgY29uc3Qgb2JqZWN0U3RydWN0dXJlID0gdGhpcy5fb2JqZWN0U3RydWN0dXJlKCk7XHJcbiAgICBpZighb2JqZWN0U3RydWN0dXJlKXtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJvb3QgPSB0aGlzLl9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUob2JqZWN0U3RydWN0dXJlKTtcclxuICAgIGlmKCFyb290KXtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbcm9vdF07XHJcbiAgfSlcclxuXHJcblxyXG4gIHByaXZhdGUgX2ZpbmROb2RlKGlkOnN0cmluZywgbm9kZSA6IE9iamVjdFN0cnVjdHVyZU5vZGUpIDogT2JqZWN0U3RydWN0dXJlTm9kZSB8IG51bGx7XHJcbiAgICBpZihub2RlLmlkID09IGlkKXtcclxuICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYobm9kZS5jaGlsZHJlbil7XHJcbiAgICAgIGZvcihjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKXtcclxuICAgICAgICBjb25zdCByZXMgPSB0aGlzLl9maW5kTm9kZShpZCwgY2hpbGQpO1xyXG4gICAgICAgIGlmKHJlcyl7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0ZWROb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgaWYobm9kZXMubGVuZ3RoID09PSAxKXtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlID0gdGhpcy5fZmluZE5vZGUobm9kZXNbMF0uaWQsIHRoaXMuX29iamVjdFN0cnVjdHVyZSgpKTtcclxuICAgICAgaWYoc2VsZWN0ZWROb2RlKXtcclxuICAgICAgICB0aGlzLm5vZGVTZWxlY3RlZC5lbWl0KHNlbGVjdGVkTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgfVxyXG4gIFxyXG4gIGhhbmRsZVZpc2libGVOb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgaWYobm9kZXMubGVuZ3RoID09PSAxKXtcclxuICAgICAgY29uc3QgdmlzaWJsZU5vZGUgPSB0aGlzLl9maW5kTm9kZShub2Rlc1swXS5pZCwgdGhpcy5fb2JqZWN0U3RydWN0dXJlKCkpO1xyXG4gICAgICBpZih2aXNpYmxlTm9kZSl7XHJcbiAgICAgICAgY29uc3Qgb3V0cHVEYXRhOk9iamVjdFN0cnVjdHVyZU5vZGUgPXtcclxuICAgICAgICAgIG5hbWU6dmlzaWJsZU5vZGUubmFtZSxcclxuICAgICAgICAgIHBhcmVudDogdmlzaWJsZU5vZGUucGFyZW50LCAgICAgICAgICBcclxuICAgICAgICAgIGlkOiB2aXNpYmxlTm9kZS5pZCxcclxuICAgICAgICAgIHZpc2libGU6IG5vZGVzWzBdLmlzQ2hlY2tlZDIsXHJcbiAgICAgICAgICBvcGFxdWU6ICBub2Rlc1swXS5pc0NoZWNrZWQxLFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGVWaXNpYmxlLmVtaXQob3V0cHVEYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcbiAgXHJcbiAgaGFuZGxlT3BhcXVlTm9kZXMobm9kZXMgOiBGbGF0Tm9kZVtdKXtcclxuICAgIGlmKG5vZGVzLmxlbmd0aCA9PT0gMSl7XHJcbiAgICAgIGNvbnN0IG9wYXF1ZU5vZGUgPSB0aGlzLl9maW5kTm9kZShub2Rlc1swXS5pZCwgdGhpcy5fb2JqZWN0U3RydWN0dXJlKCkpO1xyXG4gICAgICBpZihvcGFxdWVOb2RlKXtcclxuICAgICAgICBjb25zdCBvdXRwdURhdGE6T2JqZWN0U3RydWN0dXJlTm9kZSA9e1xyXG4gICAgICAgICAgbmFtZTpvcGFxdWVOb2RlLm5hbWUsXHJcbiAgICAgICAgICBwYXJlbnQ6IG9wYXF1ZU5vZGUucGFyZW50LCAgICAgICAgICBcclxuICAgICAgICAgIGlkOiBvcGFxdWVOb2RlLmlkLFxyXG4gICAgICAgICAgdmlzaWJsZTogbm9kZXNbMF0uaXNDaGVja2VkMixcclxuICAgICAgICAgIG9wYXF1ZTogIG5vZGVzWzBdLmlzQ2hlY2tlZDEsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZU9wYXF1ZS5lbWl0KG91dHB1RGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgfVxyXG5cclxuICBleHBhbmRUcmVlKCl7XHJcbiAgICB0aGlzLnRyZWVDb21wb25lbnQ/LmV4cGFuZFRyZWUoKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBub2RlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE9iamVjdFN0cnVjdHVyZU5vZGU+KCk7XHJcbiAgQE91dHB1dCgpIG5vZGVWaXNpYmxlICA9IG5ldyBFdmVudEVtaXR0ZXI8T2JqZWN0U3RydWN0dXJlTm9kZT4oKTtcclxuICBAT3V0cHV0KCkgbm9kZU9wYXF1ZSAgID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3RTdHJ1Y3R1cmVOb2RlPigpO1xyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcclxuICBwYWRkaW5nSW5kZW50PVwiMS40cmVtXCJcclxuICBbdHJlZURhdGFdPVwidHJlZURhdGEoKVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIChzZWxlY3RlZE5vZGVzKSA9IFwiaGFuZGxlU2VsZWN0ZWROb2RlcygkZXZlbnQpXCJcclxuICAoY2hlY2tlZDJOb2RlcykgPSBcImhhbmRsZVZpc2libGVOb2RlcygkZXZlbnQpXCJcclxuICAoY2hlY2tlZDFOb2RlcykgPSBcImhhbmRsZU9wYXF1ZU5vZGVzKCRldmVudClcIlxyXG4gIGRhdGFUZXN0UHJlZml4PVwib2JqZWN0LXN0cnVjdHVyZS10cmVlLVwiXHJcbiAgW2hhc0NoZWNrQm94MV09XCJ0cnVlXCJcclxuICBbaGFzQ2hlY2tCb3gyXT1cInRydWVcIlxyXG4+PC9saWItYmltcGx1cy1mbGF0LXRyZWU+XHJcbiJdfQ==
|
|
@@ -4232,8 +4232,8 @@ class BimplusFlatTreeComponent {
|
|
|
4232
4232
|
this.enableDragAndDrop = false;
|
|
4233
4233
|
this.dataTestPrefix = "";
|
|
4234
4234
|
this.contextMenus = null;
|
|
4235
|
-
this.hasCheckBox1 =
|
|
4236
|
-
this.hasCheckBox2 =
|
|
4235
|
+
this.hasCheckBox1 = false;
|
|
4236
|
+
this.hasCheckBox2 = false;
|
|
4237
4237
|
this.customNodeTemplate = signal(null);
|
|
4238
4238
|
this.selectedNodes = new EventEmitter();
|
|
4239
4239
|
this.checked1Nodes = new EventEmitter();
|
|
@@ -4776,11 +4776,11 @@ class BimplusObjectStructureComponent {
|
|
|
4776
4776
|
this.treeComponent?.expandTree();
|
|
4777
4777
|
}
|
|
4778
4778
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectStructureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4779
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BimplusObjectStructureComponent, isStandalone: true, selector: "lib-bimplus-object-structure", inputs: { objectStructureValue: ["objectStructure", "objectStructureValue"] }, outputs: { nodeSelected: "nodeSelected", nodeVisible: "nodeVisible", nodeOpaque: "nodeOpaque" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "hasCheckBox1", "hasCheckBox2", "treeData", "customNodeTemplate"], outputs: ["selectedNodes", "checked1Nodes", "checked2Nodes"] }] }); }
|
|
4779
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BimplusObjectStructureComponent, isStandalone: true, selector: "lib-bimplus-object-structure", inputs: { objectStructureValue: ["objectStructure", "objectStructureValue"] }, outputs: { nodeSelected: "nodeSelected", nodeVisible: "nodeVisible", nodeOpaque: "nodeOpaque" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n [hasCheckBox1]=\"true\"\r\n [hasCheckBox2]=\"true\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "hasCheckBox1", "hasCheckBox2", "treeData", "customNodeTemplate"], outputs: ["selectedNodes", "checked1Nodes", "checked2Nodes"] }] }); }
|
|
4780
4780
|
}
|
|
4781
4781
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectStructureComponent, decorators: [{
|
|
4782
4782
|
type: Component,
|
|
4783
|
-
args: [{ selector: 'lib-bimplus-object-structure', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"] }]
|
|
4783
|
+
args: [{ selector: 'lib-bimplus-object-structure', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes) = \"handleSelectedNodes($event)\"\r\n (checked2Nodes) = \"handleVisibleNodes($event)\"\r\n (checked1Nodes) = \"handleOpaqueNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n [hasCheckBox1]=\"true\"\r\n [hasCheckBox2]=\"true\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"] }]
|
|
4784
4784
|
}], propDecorators: { objectStructureValue: [{
|
|
4785
4785
|
type: Input,
|
|
4786
4786
|
args: [{ alias: 'objectStructure' }]
|