@trudb/tru-common-lib 0.1.164 → 0.1.166

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.
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
122
122
  providedIn: 'root',
123
123
  }]
124
124
  }], ctorParameters: () => [{ type: i1.TruDataContext }, { type: i2.TruActionInvoke }, { type: i3.TruModelTypeLookup }, { type: i4.TruGlobalDataContext }, { type: i5.TruUser }] });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXJlcG9ydC1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy90cnUtcmVwb3J0LW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBVW5ELE1BQU0sT0FBTyxnQkFBZ0I7SUFFakI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUxWLFlBQ1UsV0FBMkIsRUFDM0IsWUFBNkIsRUFDN0IsZUFBbUMsRUFDbkMsaUJBQXVDLEVBQ3ZDLElBQWE7UUFKYixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNuQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQVM7SUFBSSxDQUFDO0lBRXBCLGFBQWEsQ0FBQyxNQUFXLEVBQUUsSUFBUyxFQUFFLGFBQWtCLEVBQUUsT0FBaUI7UUFDakYsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUMzQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUM7UUFDbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2xCO1lBQ0UsU0FBUyxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtZQUN4QixPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDO1lBQ0QsU0FBUyxFQUFFLFNBQVM7WUFDcEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsSUFBSSxFQUFF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QyxNQUFNLEVBQUUsSUFBSSxDQUFDO2lCQUMvQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQztpQkFDeEQsR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzNELENBQUM7WUFDSCxDQUFDO2lCQUNJLENBQUM7Z0JBQ0osT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7dUdBL0dTLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW50aXR5VHlwZSwgYnJlZXplIH0gZnJvbSAnYnJlZXplLWNsaWVudCc7XHJcbmltcG9ydCB7IFRydUdsb2JhbERhdGFDb250ZXh0IH0gZnJvbSAnLi90cnUtZ2xvYmFsLWRhdGEtY29udGV4dCc7XHJcbmltcG9ydCB7IFRydVVzZXIgfSBmcm9tICcuL3RydS11c2VyJztcclxuaW1wb3J0IHsgVHJ1RGF0YUNvbnRleHQgfSBmcm9tICcuL3RydS1kYXRhLWNvbnRleHQnO1xyXG5pbXBvcnQgeyBUcnVNb2RlbFR5cGVMb29rdXAgfSBmcm9tICcuL3RydS1tb2RlbC10eXBlLWxvb2t1cCc7XHJcbmltcG9ydCB7IFRydUFjdGlvbkludm9rZSB9IGZyb20gJy4vdHJ1LWFjdGlvbi1pbnZva2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVJlcG9ydE1hbmFnZXIge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRhQ29udGV4dDogVHJ1RGF0YUNvbnRleHQsXHJcbiAgICBwcml2YXRlIGFjdGlvbkludm9rZTogVHJ1QWN0aW9uSW52b2tlLFxyXG4gICAgcHJpdmF0ZSBtb2RlbFR5cGVMb29rdXA6IFRydU1vZGVsVHlwZUxvb2t1cCxcclxuICAgIHByaXZhdGUgZ2xvYmFsRGF0YUNvbnRleHQ6IFRydUdsb2JhbERhdGFDb250ZXh0LFxyXG4gICAgcHJpdmF0ZSB1c2VyOiBUcnVVc2VyKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cE1lbnVJbXBsKHJlcG9ydDogYW55LCBtZW51OiBhbnksIGdldEFjdGlvblJlZnM6IGFueSwgZW5hYmxlZDogKCkgPT4ge30pIHtcclxuICAgIHZhciByZXBvcnRSZWYgPSByZXBvcnQuUmVmO1xyXG4gICAgdmFyIG1pbWVSZWYgPSByZXBvcnQuUmVwb3J0TWltZVR5cGVTdGRNaW1lVHlwZVJlZjtcclxuICAgIG1lbnVbMF0uY2hvaWNlcy5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgaGFzQWNjZXNzOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxhYmVsOiByZXBvcnQuUmVwb3J0TmFtZSxcclxuICAgICAgICBlbmFibGVkOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICByZXR1cm4gZW5hYmxlZCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVwb3J0UmVmOiByZXBvcnRSZWYsXHJcbiAgICAgICAgbWltZVJlZjogbWltZVJlZixcclxuICAgICAgICBmaXJlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICB0aGlzLmFjdGlvbkludm9rZS5wcm9jZXNzQ3VzdG9tUmVwb3J0KFxyXG4gICAgICAgICAgICB0aGlzLnJlcG9ydFJlZixcclxuICAgICAgICAgICAgZ2V0QWN0aW9uUmVmcygpLFxyXG4gICAgICAgICAgICB0aGlzLm1pbWVSZWZcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCh1cmw6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIGNhbGxiYWNrOiAobzogYW55KSA9PiBhbnksIHBhcmFtcyA9IG51bGwpIHtcclxuICAgIGxldCBvYmogPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgIHRyeSB7XHJcbiAgICAgIG9iaiA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBhbGVydChcIllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEFqYXguXCIpO1xyXG4gICAgfVxyXG4gICAgb2JqLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgaWYgKG9iai5yZWFkeVN0YXRlID09IDQpIHtcclxuICAgICAgICBjYWxsYmFjayhvYmopO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvYmoub3BlbihtZXRob2QsIHVybCwgdHJ1ZSk7XHJcbiAgICBvYmouc2VuZChwYXJhbXMpO1xyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBNZW51KHJlcG9ydDogYW55LCBtZW51OiBhbnksIGdldEFjdGlvblJlZnM6IGFueSwgZW5hYmxlZDogKCkgPT4ge30pIHtcclxuICAgIHRoaXMuZGF0YUNvbnRleHQuZW50aXR5QWNjZXNzKCkuc2VhcmNoKHRoaXMubW9kZWxUeXBlTG9va3VwLmdldFR5cGUoJ1RydURiQ2xvdWRGaWxlJyksIChxdWVyeTogYW55KSA9PiB7XHJcbiAgICB2YXIgcHJlZGljYXRlID0gbmV3IGJyZWV6ZS5QcmVkaWNhdGUoJ1RydURiQ2xvdWRGaWxlUmVmJywgYnJlZXplLkZpbHRlclF1ZXJ5T3AuRXF1YWxzLCByZXBvcnQuUmVwb3J0VHJ1RGJDbG91ZEZpbGVSZWYpXHJcbiAgICAgIHJldHVybiBxdWVyeS53aGVyZShwcmVkaWNhdGUpO1xyXG4gICAgfSwgbnVsbCwgZmFsc2UpLnN1YnNjcmliZSgoY2xvdWRGaWxlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChjbG91ZEZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgIC8vdGhlcmUgaXMgYSBjbG91ZCBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydFxyXG4gICAgICAgIGlmIChjbG91ZEZpbGVzWzBdLkZpbGVuYW1lLmVuZHNXaXRoKFwiLm1ydFwiKSkge1xyXG4gICAgICAgICAgLy90aGlzIGlzIGEgc3RpbXVsc29mdCByZXBvcnQsIGNoZWNrIGlmIGxpY2Vuc2UgZmlsZSBleGlzdHNcclxuXHJcbiAgICAgICAgICB0aGlzLmRhdGFDb250ZXh0LmVudGl0eUFjY2VzcygpLnNlYXJjaCh0aGlzLm1vZGVsVHlwZUxvb2t1cC5nZXRUeXBlKCdUcnVEYkNvbmZpZycpLCAocXVlcnk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB2YXIgcHJlZGljYXRlID0gbmV3IGJyZWV6ZS5QcmVkaWNhdGUoJ0tleScsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgJ1N0aW11bHNvZnRMaWNlbnNlUGF0aCcpO1xyXG4gICAgICAgICAgICByZXR1cm4gcXVlcnkud2hlcmUocHJlZGljYXRlKTtcclxuICAgICAgICAgIH0sIG51bGwsIGZhbHNlKS5zdWJzY3JpYmUoKGNvbmZpZzogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghY29uZmlnLmxlbmd0aCB8fCAhY29uZmlnWzBdLlZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgLy9kbyBub3RoaW5nLCBubyBtZW51IG9wdGlvbiB3aWxsIGJlIHB1c2hlZCBpbnRvIHRoZSBkb20gc2luY2VcclxuICAgICAgICAgICAgICAvL3dlIGNvdWxkbid0IGZpbmQgdGhlIHJlcXVpcmVkIGxpY2Vuc2UgcGF0aCBpbmZvIGluIHRoZSBjb25maWdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICB2YXIgcGF0aCA9IGNvbmZpZ1swXS5WYWx1ZS5yZXBsYWNlKFwiflwiLCBcIlwiKTtcclxuICAgICAgICAgICAgICB0aGlzLmdldChwYXRoLCAnZ2V0JywgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBNZW51SW1wbChyZXBvcnQsIG1lbnUsIGdldEFjdGlvblJlZnMsIGVuYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAvL3RoZXJlIGlzIGEgY2xvdWQgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnQsIGJ1dCBpdCBpc24ndCBhbiBtcnQgcmVwb3J0IHB1c2ggbWVudSBvcHRpb25cclxuICAgICAgICAgIC8vc2luY2UgdGhpcyBhIGRpZmZlcmVudCB0eXBlIG9mIHJlcG9ydCAod29yZCwgZXhjZWwpXHJcbiAgICAgICAgICB0aGlzLnNldHVwTWVudUltcGwocmVwb3J0LCBtZW51LCBnZXRBY3Rpb25SZWZzLCBlbmFibGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgLy9ubyBjbG91ZCBmaWxlLCBzbyBubyBuZWVkIHRvIGNoZWNrIGZvciBsaWNlbnNlLCBwdXNoIG1lbnUgb3B0aW9uXHJcbiAgICAgICAgLy9zaW5jZSB0aGlzIGNvdWxkIGJlIGEgbm9uIG1ydCByZXBvcnQgKHdvcmQsIGV4Y2VsKVxyXG4gICAgICAgIHRoaXMuc2V0dXBNZW51SW1wbChyZXBvcnQsIG1lbnUsIGdldEFjdGlvblJlZnMsIGVuYWJsZWQpO1xyXG4gICAgICAgIFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBxdWVyeVJlcG9ydHMgPSAodGFibGVOYW1lOiBzdHJpbmcsIG1lbnU6IGFueSwgZ2V0QWN0aW9uUmVmczogW10sIGVuYWJsZWQ6ICgpID0+IHt9KSA9PiB7XHJcbiAgICB0aGlzLmdsb2JhbERhdGFDb250ZXh0LmRhdGFDb250ZXh0Py5lbnRpdHlBY2Nlc3MoKS5zZWFyY2hDYWNoZU9ubHkodGhpcy5tb2RlbFR5cGVMb29rdXAuZ2V0VHlwZSgnVHJ1RGJSZXBvcnQnKSwgKHF1ZXJ5OiBhbnkpID0+IHtcclxuICAgICAgdmFyIHByZWRpY2F0ZSA9IG5ldyBicmVlemUuUHJlZGljYXRlKCdPd25lclRydURiVXNlclJlZicsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgdGhpcy51c2VyLmFjdGl2ZVVzZXJSZWYpXHJcbiAgICAgICAgLm9yKCdPd25lclRydURiVXNlclJlZicsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgbnVsbClcclxuICAgICAgICAub3IoJ1B1YmxpYycsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgdHJ1ZSlcclxuICAgICAgICAuYW5kKCdUYWJsZU5hbWUnLCBicmVlemUuRmlsdGVyUXVlcnlPcC5FcXVhbHMsIHRhYmxlTmFtZSlcclxuICAgICAgICAuYW5kKCcnLCBicmVlemUuRmlsdGVyUXVlcnlPcC5Ob3RFcXVhbHMsIG51bGwpO1xyXG4gICAgICByZXR1cm4gcXVlcnkud2hlcmUocHJlZGljYXRlKTtcclxuICAgIH0pLnN1YnNjcmliZSgocmVwb3J0cykgPT4ge1xyXG4gICAgICAgIGlmIChyZXBvcnRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXBvcnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0dXBNZW51KHJlcG9ydHNbaV0sIG1lbnUsIGdldEFjdGlvblJlZnMsIGVuYWJsZWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBtZW51XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXJlcG9ydC1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy90cnUtcmVwb3J0LW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBVW5ELE1BQU0sT0FBTyxnQkFBZ0I7SUFFakI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUxWLFlBQ1UsV0FBMkIsRUFDM0IsWUFBNkIsRUFDN0IsZUFBbUMsRUFDbkMsaUJBQXVDLEVBQ3ZDLElBQWE7UUFKYixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNuQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQVM7SUFBSSxDQUFDO0lBRXBCLGFBQWEsQ0FBQyxNQUFXLEVBQUUsSUFBUyxFQUFFLGFBQWtCLEVBQUUsT0FBaUI7UUFDakYsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUMzQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUM7UUFDbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2xCO1lBQ0UsU0FBUyxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtZQUN4QixPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDO1lBQ0QsU0FBUyxFQUFFLFNBQVM7WUFDcEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsSUFBSSxFQUFF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QyxNQUFNLEVBQUUsSUFBSSxDQUFDO2lCQUMvQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQztpQkFDeEQsR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzNELENBQUM7WUFDSCxDQUFDO2lCQUNJLENBQUM7Z0JBQ0osT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7dUdBL0dTLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW50aXR5VHlwZSwgYnJlZXplIH0gZnJvbSAnYnJlZXplLWNsaWVudCc7XHJcbmltcG9ydCB7IFRydUdsb2JhbERhdGFDb250ZXh0IH0gZnJvbSAnLi90cnUtZ2xvYmFsLWRhdGEtY29udGV4dCc7XHJcbmltcG9ydCB7IFRydVVzZXIgfSBmcm9tICcuL3RydS11c2VyJztcclxuaW1wb3J0IHsgVHJ1RGF0YUNvbnRleHQgfSBmcm9tICcuL3RydS1kYXRhLWNvbnRleHQnO1xyXG5pbXBvcnQgeyBUcnVNb2RlbFR5cGVMb29rdXAgfSBmcm9tICcuL3RydS1tb2RlbC10eXBlLWxvb2t1cCc7XHJcbmltcG9ydCB7IFRydUFjdGlvbkludm9rZSB9IGZyb20gJy4vdHJ1LWFjdGlvbi1pbnZva2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVJlcG9ydE1hbmFnZXIge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRhQ29udGV4dDogVHJ1RGF0YUNvbnRleHQsXHJcbiAgICBwcml2YXRlIGFjdGlvbkludm9rZTogVHJ1QWN0aW9uSW52b2tlLFxyXG4gICAgcHJpdmF0ZSBtb2RlbFR5cGVMb29rdXA6IFRydU1vZGVsVHlwZUxvb2t1cCxcclxuICAgIHByaXZhdGUgZ2xvYmFsRGF0YUNvbnRleHQ6IFRydUdsb2JhbERhdGFDb250ZXh0LFxyXG4gICAgcHJpdmF0ZSB1c2VyOiBUcnVVc2VyKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cE1lbnVJbXBsKHJlcG9ydDogYW55LCBtZW51OiBhbnksIGdldEFjdGlvblJlZnM6IGFueSwgZW5hYmxlZDogKCkgPT4ge30pIHtcclxuICAgIHZhciByZXBvcnRSZWYgPSByZXBvcnQuUmVmO1xyXG4gICAgdmFyIG1pbWVSZWYgPSByZXBvcnQuUmVwb3J0TWltZVR5cGVTdGRNaW1lVHlwZVJlZjtcclxuICAgIG1lbnVbMF0uY2hvaWNlcy5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgaGFzQWNjZXNzOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxhYmVsOiByZXBvcnQuUmVwb3J0TmFtZSxcclxuICAgICAgICBlbmFibGVkOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICByZXR1cm4gZW5hYmxlZCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVwb3J0UmVmOiByZXBvcnRSZWYsXHJcbiAgICAgICAgbWltZVJlZjogbWltZVJlZixcclxuICAgICAgICBmaXJlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICB0aGlzLmFjdGlvbkludm9rZS5wcm9jZXNzQ3VzdG9tUmVwb3J0KFxyXG4gICAgICAgICAgICB0aGlzLnJlcG9ydFJlZixcclxuICAgICAgICAgICAgZ2V0QWN0aW9uUmVmcygpLFxyXG4gICAgICAgICAgICB0aGlzLm1pbWVSZWZcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCh1cmw6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIGNhbGxiYWNrOiAobzogYW55KSA9PiBhbnksIHBhcmFtcyA9IG51bGwpIHtcclxuICAgIGxldCBvYmogPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgIHRyeSB7XHJcbiAgICAgIG9iaiA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBhbGVydChcIllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEFqYXguXCIpO1xyXG4gICAgfVxyXG4gICAgb2JqLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgaWYgKG9iai5yZWFkeVN0YXRlID09IDQpIHtcclxuICAgICAgICBjYWxsYmFjayhvYmopO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvYmoub3BlbihtZXRob2QsIHVybCwgdHJ1ZSk7XHJcbiAgICBvYmouc2VuZChwYXJhbXMpO1xyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBNZW51KHJlcG9ydDogYW55LCBtZW51OiBhbnksIGdldEFjdGlvblJlZnM6IGFueSwgZW5hYmxlZDogKCkgPT4ge30pIHtcclxuICAgIHRoaXMuZGF0YUNvbnRleHQuZW50aXR5QWNjZXNzKCkuc2VhcmNoKHRoaXMubW9kZWxUeXBlTG9va3VwLmdldFR5cGUoJ1RydURiQ2xvdWRGaWxlJyksIChxdWVyeTogYW55KSA9PiB7XHJcbiAgICB2YXIgcHJlZGljYXRlID0gbmV3IGJyZWV6ZS5QcmVkaWNhdGUoJ1RydURiQ2xvdWRGaWxlUmVmJywgYnJlZXplLkZpbHRlclF1ZXJ5T3AuRXF1YWxzLCByZXBvcnQuUmVwb3J0VHJ1RGJDbG91ZEZpbGVSZWYpXHJcbiAgICAgIHJldHVybiBxdWVyeS53aGVyZShwcmVkaWNhdGUpO1xyXG4gICAgfSwgbnVsbCwgZmFsc2UpLnN1YnNjcmliZSgoY2xvdWRGaWxlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChjbG91ZEZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgIC8vdGhlcmUgaXMgYSBjbG91ZCBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydFxyXG4gICAgICAgIGlmIChjbG91ZEZpbGVzWzBdLkZpbGVuYW1lLmVuZHNXaXRoKFwiLm1ydFwiKSkge1xyXG4gICAgICAgICAgLy90aGlzIGlzIGEgc3RpbXVsc29mdCByZXBvcnQsIGNoZWNrIGlmIGxpY2Vuc2UgZmlsZSBleGlzdHNcclxuXHJcbiAgICAgICAgICB0aGlzLmRhdGFDb250ZXh0LmVudGl0eUFjY2VzcygpLnNlYXJjaCh0aGlzLm1vZGVsVHlwZUxvb2t1cC5nZXRUeXBlKCdUcnVEYkNvbmZpZycpLCAocXVlcnk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB2YXIgcHJlZGljYXRlID0gbmV3IGJyZWV6ZS5QcmVkaWNhdGUoJ0tleScsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgJ1N0aW11bHNvZnRMaWNlbnNlUGF0aCcpO1xyXG4gICAgICAgICAgICByZXR1cm4gcXVlcnkud2hlcmUocHJlZGljYXRlKTtcclxuICAgICAgICAgIH0sIG51bGwsIGZhbHNlKS5zdWJzY3JpYmUoKGNvbmZpZzogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghY29uZmlnLmxlbmd0aCB8fCAhY29uZmlnWzBdLlZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgLy9kbyBub3RoaW5nLCBubyBtZW51IG9wdGlvbiB3aWxsIGJlIHB1c2hlZCBpbnRvIHRoZSBkb20gc2luY2VcclxuICAgICAgICAgICAgICAvL3dlIGNvdWxkbid0IGZpbmQgdGhlIHJlcXVpcmVkIGxpY2Vuc2UgcGF0aCBpbmZvIGluIHRoZSBjb25maWdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICB2YXIgcGF0aCA9IGNvbmZpZ1swXS5WYWx1ZS5yZXBsYWNlKFwiflwiLCBcIlwiKTtcclxuICAgICAgICAgICAgICB0aGlzLmdldChwYXRoLCAnZ2V0JywgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBNZW51SW1wbChyZXBvcnQsIG1lbnUsIGdldEFjdGlvblJlZnMsIGVuYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAvL3RoZXJlIGlzIGEgY2xvdWQgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnQsIGJ1dCBpdCBpc24ndCBhbiBtcnQgcmVwb3J0IHB1c2ggbWVudSBvcHRpb25cclxuICAgICAgICAgIC8vc2luY2UgdGhpcyBhIGRpZmZlcmVudCB0eXBlIG9mIHJlcG9ydCAod29yZCwgZXhjZWwpXHJcbiAgICAgICAgICB0aGlzLnNldHVwTWVudUltcGwocmVwb3J0LCBtZW51LCBnZXRBY3Rpb25SZWZzLCBlbmFibGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgLy9ubyBjbG91ZCBmaWxlLCBzbyBubyBuZWVkIHRvIGNoZWNrIGZvciBsaWNlbnNlLCBwdXNoIG1lbnUgb3B0aW9uXHJcbiAgICAgICAgLy9zaW5jZSB0aGlzIGNvdWxkIGJlIGEgbm9uIG1ydCByZXBvcnQgKHdvcmQsIGV4Y2VsKVxyXG4gICAgICAgIHRoaXMuc2V0dXBNZW51SW1wbChyZXBvcnQsIG1lbnUsIGdldEFjdGlvblJlZnMsIGVuYWJsZWQpO1xyXG4gICAgICAgIFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBxdWVyeVJlcG9ydHMgPSAodGFibGVOYW1lOiBzdHJpbmcsIG1lbnU6IGFueSwgZ2V0QWN0aW9uUmVmczogc3RyaW5nLCBlbmFibGVkOiAoKSA9PiB7fSkgPT4ge1xyXG4gICAgdGhpcy5nbG9iYWxEYXRhQ29udGV4dC5kYXRhQ29udGV4dD8uZW50aXR5QWNjZXNzKCkuc2VhcmNoQ2FjaGVPbmx5KHRoaXMubW9kZWxUeXBlTG9va3VwLmdldFR5cGUoJ1RydURiUmVwb3J0JyksIChxdWVyeTogYW55KSA9PiB7XHJcbiAgICAgIHZhciBwcmVkaWNhdGUgPSBuZXcgYnJlZXplLlByZWRpY2F0ZSgnT3duZXJUcnVEYlVzZXJSZWYnLCBicmVlemUuRmlsdGVyUXVlcnlPcC5FcXVhbHMsIHRoaXMudXNlci5hY3RpdmVVc2VyUmVmKVxyXG4gICAgICAgIC5vcignT3duZXJUcnVEYlVzZXJSZWYnLCBicmVlemUuRmlsdGVyUXVlcnlPcC5FcXVhbHMsIG51bGwpXHJcbiAgICAgICAgLm9yKCdQdWJsaWMnLCBicmVlemUuRmlsdGVyUXVlcnlPcC5FcXVhbHMsIHRydWUpXHJcbiAgICAgICAgLmFuZCgnVGFibGVOYW1lJywgYnJlZXplLkZpbHRlclF1ZXJ5T3AuRXF1YWxzLCB0YWJsZU5hbWUpXHJcbiAgICAgICAgLmFuZCgnJywgYnJlZXplLkZpbHRlclF1ZXJ5T3AuTm90RXF1YWxzLCBudWxsKTtcclxuICAgICAgcmV0dXJuIHF1ZXJ5LndoZXJlKHByZWRpY2F0ZSk7XHJcbiAgICB9KS5zdWJzY3JpYmUoKHJlcG9ydHMpID0+IHtcclxuICAgICAgICBpZiAocmVwb3J0cy5sZW5ndGgpIHtcclxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVwb3J0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICB0aGlzLnNldHVwTWVudShyZXBvcnRzW2ldLCBtZW51LCBnZXRBY3Rpb25SZWZzLCBlbmFibGVkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gbWVudVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gIH07XHJcbn1cclxuIl19