tuain-ng-forms-lib 17.1.3 → 17.1.5
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/classes/forms/field.mjs +2 -1
- package/esm2022/lib/classes/forms/piece-propagate.mjs +2 -2
- package/esm2022/lib/components/elements/field.component.mjs +5 -3
- package/fesm2022/tuain-ng-forms-lib.mjs +6 -3
- package/fesm2022/tuain-ng-forms-lib.mjs.map +1 -1
- package/lib/components/elements/field.component.d.ts +3 -3
- package/package.json +1 -1
|
@@ -427,6 +427,7 @@ export class FieldDescriptor extends FormElement {
|
|
|
427
427
|
}
|
|
428
428
|
}
|
|
429
429
|
_setValue(newValue, widgetUpdate = true) {
|
|
430
|
+
console.log(`_setValue ${this._fieldCode} con ${newValue}`);
|
|
430
431
|
if (typeof newValue === UNDEFINED) {
|
|
431
432
|
return true;
|
|
432
433
|
}
|
|
@@ -466,4 +467,4 @@ export class FieldDescriptor extends FormElement {
|
|
|
466
467
|
return true;
|
|
467
468
|
}
|
|
468
469
|
}
|
|
469
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL2ZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFFOUIsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUM7QUFDbkMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFFakMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQztBQUUzQixNQUFNLGFBQWEsR0FBRztJQUNwQixpQkFBaUIsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFdBQVc7SUFDcEcsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTTtJQUNsRyxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGNBQWM7SUFDcEcsU0FBUyxFQUFFLGFBQWE7Q0FDekIsQ0FBQztBQUVGLE1BQU0sS0FBSyxHQUFHO0lBQ1osV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFO0lBQy9ELFNBQVMsRUFBRSxFQUFF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QUFDO2dCQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeW4gZnJvbSAneW4nO1xuaW1wb3J0IHsgZWxlbWVudFR5cGVzLCBOT19FUlJPUiB9IGZyb20gJy4vZm9ybS5jb25zdGFudHMnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuXG5jb25zdCBVTkRFRklORUQgPSAndW5kZWZpbmVkJztcblxuY29uc3QgREVGQVVMVF9FUlJPUl9UWVBFID0gJ2Vycm9yJztcbmNvbnN0IERFRkFVTFRfQ0FQVFVSRV9UWVBFID0gJ0lOUFVUJztcbmNvbnN0IERFRkFVTFRfQUxJR05NRU5UID0gJ2xlZnQnO1xuXG5jb25zdCBTVERfTUFYX0xFTkdUSCA9IDUwO1xuY29uc3QgQklHX01BWF9MRU5HVEggPSA1MDA7XG5cbmNvbnN0IGRpcmVjdENoYW5nZXMgPSBbXG4gICdkZWZhdWx0RWRpdGFibGUnLCAnZGVmYXVsdFZhbHVlJywgJ2FsaWdubWVudCcsICdyZXF1aXJlZCcsICdlcnJvckNvZGUnLCAnZXJyb3JNZXNzYWdlJywgJ2Vycm9yVHlwZScsXG4gICd0b29sdGlwJywgJ2luZm8nLCAnZm9ybWF0JywgJ2ludHJpbnNpY0Vycm9yTWVzc2FnZScsICdvdXRwdXRPbmx5JywgJ2NhcHR1cmVUeXBlJywgJ3RpdGxlJywgJ3R5cGUnLFxuICAnbWF4TGVuZ3RoJywgJ21heFZhbHVlJywgJ21pbkxlbmd0aCcsICdtaW5WYWx1ZScsICd2YWxpZGF0ZU9uU2VydmVyJywgJ3NlcnZlckFjdGlvbicsICd2aXNpYmxlTGFiZWwnLFxuICAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsXG5dO1xuXG5jb25zdCBhdHRycyA9IHtcbiAgY2FwdHVyZVR5cGU6IHsgbmFtZTogJ19jYXB0dXJlVHlwZScsIHByb3BhZ2F0ZTogJ2NhcHR1cmVUeXBlJyB9LFxuICBlcnJvckNvZGU6IHsgbmFtZTogJ19lcnJvckNvZGUnLCBwcm9wYWdhdGU6ICdlcnJvckNvZGUnIH0sXG4gIGVycm9yTWVzc2FnZTogeyBuYW1lOiAnX2Vycm9yTWVzc2FnZScsIHByb3BhZ2F0ZTogJ2Vycm9yTWVzc2FnZScgfSxcbiAgZXJyb3JUeXBlOiB7IG5hbWU6ICdfZXJyb3JUeXBlJywgcHJvcGFnYXRlOiAnZXJyb3JUeXBlJyB9LFxuICBkZWZhdWx0VmFsdWU6IHsgbmFtZTogJ19kZWZhdWx0VmFsdWUnLCBwcm9wYWdhdGU6ICdkZWZhdWx0VmFsdWUnIH0sXG4gIGRlZmF1bHRFZGl0YWJsZTogeyBuYW1lOiAnX2RlZmF1bHRFZGl0YWJsZScsIHByb3BhZ2F0ZTogJ2RlZmF1bHRFZGl0YWJsZScgfSxcbiAgZmllbGRBbGlnbm1lbnQ6IHsgbmFtZTogJ19maWVsZEFsaWdubWVudCcsIHByb3BhZ2F0ZTogJ2FsaWdubWVudCcgfSxcbiAgZmllbGRDb2RlOiB7IG5hbWU6ICdfZmllbGRDb2RlJywgcHJvcGFnYXRlOiAnY29kZScgfSxcbiAgZmllbGRJbmZvOiB7IG5hbWU6ICdfZmllbGRJbmZvJywgcHJvcGFnYXRlOiAnaW5mbycgfSxcbiAgZmllbGRSZXF1aXJlZDogeyBuYW1lOiAnX2ZpZWxkUmVxdWlyZWQnLCBwcm9wYWdhdGU6ICdyZXF1aXJlZCcgfSxcbiAgZmllbGRUaXRsZTogeyBuYW1lOiAnX2ZpZWxkVGl0bGUnLCBwcm9wYWdhdGU6ICd0aXRsZScgfSxcbiAgZmllbGRUeXBlOiB7IG5hbWU6ICdfZmllbGRUeXBlJywgcHJvcGFnYXRlOiAndHlwZScgfSxcbiAgZmllbGRGb3JtYXQ6IHsgbmFtZTogJ19maWVsZEZvcm1hdCcsIHByb3BhZ2F0ZTogJ2Zvcm1hdCcgfSxcbiAgZmllbGRPcHRpb25zOiB7IG5hbWU6ICdfZmllbGRPcHRpb25zJywgcHJvcGFnYXRlOiAnb3B0aW9ucycgfSxcbiAgZm9jdXM6IHsgbmFtZTogJ19mb2N1cycsIHByb3BhZ2F0ZTogJ2ZvY3VzJyB9LFxuICBoYXNDaGFuZ2VkOiB7IG5hbWU6ICdfaGFzQ2hhbmdlZCcsIHByb3BhZ2F0ZTogJ2hhc0NoYW5nZWQnIH0sXG4gIGludHJpbnNpY0Vycm9yTWVzc2FnZTogeyBuYW1lOiAnX2ludHJpbnNpY0Vycm9yTWVzc2FnZScsIHByb3BhZ2F0ZTogbnVsbCB9LFxuICBtYXhMZW5ndGg6IHsgbmFtZTogJ19tYXhMZW5ndGgnLCBwcm9wYWdhdGU6ICdtYXhMZW5ndGgnIH0sXG4gIG1heFZhbHVlOiB7IG5hbWU6ICdfbWF4VmFsdWUnLCBwcm9wYWdhdGU6ICdtYXhWYWx1ZScgfSxcbiAgbWluTGVuZ3RoOiB7IG5hbWU6ICdfbWluTGVuZ3RoJywgcHJvcGFnYXRlOiAnbWluTGVuZ3RoJyB9LFxuICBtaW5WYWx1ZTogeyBuYW1lOiAnX21pblZhbHVlJywgcHJvcGFnYXRlOiAnbWluVmFsdWUnIH0sXG4gIG9uVmFsaWRhdGlvbjogeyBuYW1lOiAnX29uVmFsaWRhdGlvbicsIHByb3BhZ2F0ZTogJ29uVmFsaWRhdGlvbicgfSxcbiAgb3V0cHV0T25seTogeyBuYW1lOiAnX291dHB1dE9ubHknLCBwcm9wYWdhdGU6ICdvdXRwdXRPbmx5JyB9LFxuICBwbGFjZWhvbGRlcjogeyBuYW1lOiAnX3BsYWNlaG9sZGVyJywgcHJvcGFnYXRlOiAncGxhY2Vob2xkZXInIH0sXG4gIHRvb2x0aXBUZXh0OiB7IG5hbWU6ICdfdG9vbHRpcFRleHQnLCBwcm9wYWdhdGU6ICd0b29sdGlwJyB9LFxuICB2YWxpZGF0ZU9uU2VydmVyOiB7IG5hbWU6ICdfdmFsaWRhdGVPblNlcnZlcicsIHByb3BhZ2F0ZTogJ3ZhbGlkYXRlT25TZXJ2ZXInIH0sXG4gIHZhbHVlOiB7IG5hbWU6ICdfdmFsdWUnLCBwcm9wYWdhdGU6ICd2YWx1ZScgfSxcbiAgdmlzaWJsZUxhYmVsOiB7IG5hbWU6ICdfdmlzaWJsZUxhYmVsJywgcHJvcGFnYXRlOiAndmlzaWJsZUxhYmVsJyB9LFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBEZXRhaWxFdmVudCB7XG4gIGNvZGU6IHN0cmluZztcbiAgZGV0YWlsOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRPcHRpb24ge1xuICBmaWVsZE9wdGlvblZhbHVlOiBzdHJpbmc7XG4gIGZpZWxkT3B0aW9uSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEZpZWxkRGVzY3JpcHRvciBleHRlbmRzIEZvcm1FbGVtZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWRpdGlvbkZpbmlzaCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWRpdGlvblBhcnRpYWwgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RldGFpbFJlcXVlc3QgPSBuZXcgU3ViamVjdDxEZXRhaWxFdmVudD4oKTtcblxuICBwcml2YXRlIF9lcnJvclR5cGU6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9lcnJvckNvZGU6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9lcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9pbnRyaW5zaWNFcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9taW5WYWx1ZTogYW55O1xuICBwcml2YXRlIF9tYXhWYWx1ZTogYW55O1xuICBwcml2YXRlIF9tYXhMZW5ndGg6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgX21pbkxlbmd0aDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBfZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfb25WYWxpZGF0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3ZhbGlkYXRlT25TZXJ2ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcbiAgcHJpdmF0ZSBfdmlzaWJsZUxhYmVsOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2NhcHR1cmVUeXBlOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBfZGVmYXVsdFZhbHVlOiBhbnkgPSAnJztcbiAgcHJpdmF0ZSBfZGVmYXVsdEVkaXRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2V4dGVybmFsVmFsdWU6IGFueTtcbiAgcHJpdmF0ZSBfZmllbGRBbGlnbm1lbnQ6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9maWVsZEluZm86IGFueSA9ICcnO1xuICBwcml2YXRlIF9maWVsZFJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2ZpZWxkVGl0bGU6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9maWVsZFR5cGU6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9maWVsZEZvcm1hdDogUmVnRXhwIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2hhc0NoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfb3V0cHV0T25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF90b29sdGlwVGV4dDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBfZmllbGRDb2RlOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBfZmllbGRPcHRpb25zOiBGaWVsZE9wdGlvbltdIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoaW5wdXRGaWVsZFJlY2VpdmVkLCBmb3JtQ29uZmlnKSB7XG4gICAgc3VwZXIoaW5wdXRGaWVsZFJlY2VpdmVkLCBmb3JtQ29uZmlnKTtcbiAgICB0aGlzLnByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlcyA9IHRoaXMuX2Zvcm1Db25maWc/LnByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlcz8uZmllbGRzID8/IFtdO1xuICAgIHRoaXMuZWxlbWVudFR5cGUgPSBlbGVtZW50VHlwZXMuZmllbGQ7XG4gICAgY29uc3QgZmxkID0gKGlucHV0RmllbGRSZWNlaXZlZCkgPyBpbnB1dEZpZWxkUmVjZWl2ZWQgOiB7fTtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuZmllbGRDb2RlLCBmbGQuZmllbGRDb2RlKTtcbiAgICB0aGlzLnRpdGxlID0gZmxkLmZpZWxkVGl0bGUgPz8gdGhpcy5fZmllbGRDb2RlO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBmbGQucGxhY2Vob2xkZXIgPz8gdGhpcy50aXRsZTtcbiAgICB0aGlzLnR5cGUgPSBmbGQuZmllbGRUeXBlQ29kZTtcbiAgICB0aGlzLmNhcHR1cmVUeXBlID0gZmxkLmNhcHR1cmVUeXBlID8/IERFRkFVTFRfQ0FQVFVSRV9UWVBFO1xuXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID0gZmxkLmRlZmF1bHRWYWx1ZSA/PyBudWxsO1xuICAgIGlmICh0aGlzLl9maWVsZFR5cGUgPT09IHRoaXMuX2Zvcm1Db25maWcuZmllbGRUeXBlcy5ib29sZWFuKSB7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZSA/PyBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRUeXBlQWxpZ25tZW50ID0gKHRoaXMuX2Zvcm1Db25maWcudGFibGVGaWVsZFN0eWxlc1t0aGlzLl9maWVsZFR5cGVdICE9IG51bGwpXG4gICAgICA/IHRoaXMuX2Zvcm1Db25maWcudGFibGVGaWVsZFN0eWxlc1t0aGlzLl9maWVsZFR5cGVdWyd0ZXh0LWFsaWduJ10gOiBERUZBVUxUX0FMSUdOTUVOVDtcbiAgICBjb25zdCBmaWVsZEFsaWdubWVudCA9IChmbGQuYWxpZ25tZW50ICE9IG51bGwpID8gZmxkLmFsaWdubWVudC50b0xvd2VyQ2FzZSgpIDogZGVmYXVsdFR5cGVBbGlnbm1lbnQ7XG4gICAgdGhpcy5hbGlnbm1lbnQgPSBmaWVsZEFsaWdubWVudDtcbiAgICB0aGlzLmluZm8gPSBmbGQuaW5mbyB8fCAnJztcbiAgICBsZXQgZmllbGRGb3JtYXQ7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChmbGQuZm9ybWF0ICYmIHR5cGVvZiBmbGQuZm9ybWF0ID09PSAnc3RyaW5nJykge1xuICAgICAgICBmaWVsZEZvcm1hdCA9IG5ldyBSZWdFeHAoZmxkLmZvcm1hdCk7XG4gICAgICB9IGVsc2UgaWYgKGZsZC5mb3JtYXQ/LnJlZ0V4cCkge1xuICAgICAgICBmaWVsZEZvcm1hdCA9IG5ldyBSZWdFeHAoZmxkLmZvcm1hdD8ucmVnRXhwKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBmaWVsZEZvcm1hdCA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuZm9ybWF0ID0gZmllbGRGb3JtYXQ7XG4gICAgdGhpcy52YWxpZGF0ZU9uU2VydmVyID0gZmxkLnNlcnZlckFjdGlvbiA/PyBmYWxzZTtcbiAgICB0aGlzLnRvb2x0aXAgPSBmbGQudG9vbHRpcCB8fCAnJztcbiAgICB0aGlzLmRlZmF1bHRFZGl0YWJsZSA9IHRoaXMuZW5hYmxlZDtcbiAgICB0aGlzLnJlcXVpcmVkID0gZmxkLnJlcXVpcmVkID8/IGZhbHNlO1xuICAgIHRoaXMub3V0cHV0T25seSA9IGZsZC5vdXRwdXRPbmx5ID8/IGZhbHNlO1xuICAgIHRoaXMubWluTGVuZ3RoID0gZmxkLm1pbkxlbmd0aCA/PyAwO1xuICAgIHRoaXMubWF4TGVuZ3RoID0gZmxkLm1heExlbmd0aCB8fCAodGhpcy5fY2FwdHVyZVR5cGUgPT09ICdURVhUQVJFQScgPyBCSUdfTUFYX0xFTkdUSCA6IFNURF9NQVhfTEVOR1RIKTtcbiAgICB0aGlzLmludHJpbnNpY0Vycm9yTWVzc2FnZSA9IHRoaXMuX2Zvcm1Db25maWc/LmZpZWxkVmFsaWRhdGlvbnM/Llt0aGlzLl9maWVsZFR5cGVdPy5tZXNzYWdlXG4gICAgICA/PyB0aGlzLl9mb3JtQ29uZmlnPy5maWVsZFZhbGlkYXRpb25zPy5ERUZBVUxUPy5tZXNzYWdlID8/ICcnO1xuXG4gICAgdGhpcy5zZXRFcnJvcihmbGQuZXJyb3JDb2RlLCBmbGQuZXJyb3JNZXNzYWdlLCBmbGQuZXJyb3JUeXBlID8/IERFRkFVTFRfRVJST1JfVFlQRSk7XG4gICAgdGhpcy5zZXRFZGl0YWJsZShmbGQuZWRpdGFibGUgPz8gdHJ1ZSk7XG4gICAgdGhpcy52aXNpYmxlTGFiZWwgPSBmbGQudmlzaWJsZUxhYmVsID8/IHRydWU7XG4gICAgdGhpcy5zZXRWaXNpYmlsaXR5KGZsZC52aXNpYmxlKTtcbiAgICB0aGlzLm9wdGlvbnMgPSBmbGQuZmllbGRPcHRpb25zO1xuICAgIHRoaXMuX3NldFZhbHVlKGZsZC5maWVsZFZhbHVlID8/IHRoaXMuX2RlZmF1bHRWYWx1ZSA/PyAnJyk7XG4gIH1cblxuICBnZXQgYWxpZ25tZW50KCkgeyByZXR1cm4gdGhpcy5fZmllbGRBbGlnbm1lbnQ7IH1cbiAgc2V0IGFsaWdubWVudChhbGlnbm1lbnQpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmZpZWxkQWxpZ25tZW50LCBhbGlnbm1lbnQpOyB9XG4gIGdldCBiYWNrZW5kKCkgeyByZXR1cm4gdGhpcy5fdmFsaWRhdGVPblNlcnZlcjsgfVxuXG4gIGdldCBjYXB0dXJlVHlwZSgpIHsgcmV0dXJuIHRoaXMuX2NhcHR1cmVUeXBlOyB9XG4gIHNldCBjYXB0dXJlVHlwZShjYXB0dXJlVHlwZSkgeyB0aGlzLnNldEF0dHIoYXR0cnMuY2FwdHVyZVR5cGUsIGNhcHR1cmVUeXBlKTsgfVxuXG4gIGdldCBwbGFjZWhvbGRlcigpIHsgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyOyB9XG4gIHNldCBwbGFjZWhvbGRlcihwbGFjZWhvbGRlcikgeyB0aGlzLnNldEF0dHIoYXR0cnMucGxhY2Vob2xkZXIsIHBsYWNlaG9sZGVyKTsgfVxuXG4gIGdldCBjb2RlKCkgeyByZXR1cm4gdGhpcy5fZmllbGRDb2RlOyB9XG4gIGdldCBkZWZhdWx0VmFsdWUoKSB7IHJldHVybiB0aGlzLl9kZWZhdWx0VmFsdWU7IH1cbiAgc2V0IGRlZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWUpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmRlZmF1bHRWYWx1ZSwgZGVmYXVsdFZhbHVlKTsgfVxuICBnZXQgZGVmYXVsdEVkaXRhYmxlKCkgeyByZXR1cm4gdGhpcy5fZGVmYXVsdEVkaXRhYmxlOyB9XG4gIHNldCBkZWZhdWx0RWRpdGFibGUoZWRpdGFibGUpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmRlZmF1bHRFZGl0YWJsZSwgZWRpdGFibGUpOyB9XG4gIGdldCBkZXRhaWxSZXF1ZXN0KCkgeyByZXR1cm4gdGhpcy5fZGV0YWlsUmVxdWVzdDsgfVxuICBnZXQgZWRpdGlvbkZpbmlzaCgpIHsgcmV0dXJuIHRoaXMuX2VkaXRpb25GaW5pc2g7IH1cbiAgZ2V0IGVkaXRpb25QYXJ0aWFsKCkgeyByZXR1cm4gdGhpcy5fZWRpdGlvblBhcnRpYWw7IH1cblxuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmllbGRDdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGlmIChmaWVsZEN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGZpZWxkQ3VycmVudFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLmFycmF5XG4gICAgICAmJiBBcnJheS5pc0FycmF5KGZpZWxkQ3VycmVudFZhbHVlKSAmJiBmaWVsZEN1cnJlbnRWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG4gICAgaWYgKHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLnBob25lKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZmllbGRDdXJyZW50VmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGZpZWxkQ3VycmVudFZhbHVlLmxlbmd0aCAhPT0gMiB8fCAhZmllbGRDdXJyZW50VmFsdWVbMF0gfHwgIWZpZWxkQ3VycmVudFZhbHVlWzFdKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG4gICAgY29uc3QgYXJyYXlGaWVsZFR5cGVzID0gdGhpcy5fZm9ybUNvbmZpZy5hcnJheUZpZWxkVHlwZXMgPz8gbnVsbDtcbiAgICBpZiAoYXJyYXlGaWVsZFR5cGVzICYmIE9iamVjdC5rZXlzKGFycmF5RmllbGRUeXBlcykuaW5jbHVkZXModGhpcy5fZmllbGRUeXBlKSkge1xuICAgICAgbGV0IGFycmF5U2l6ZSA9IGFycmF5RmllbGRUeXBlc1t0aGlzLl9maWVsZFR5cGVdO1xuICAgICAgYXJyYXlTaXplID0gIU51bWJlci5pc05hTigrYXJyYXlTaXplKSA/ICthcnJheVNpemUgOiAwO1xuICAgICAgaWYgKGFycmF5U2l6ZSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkoZmllbGRDdXJyZW50VmFsdWUpICYmIGZpZWxkQ3VycmVudFZhbHVlLmxlbmd0aCA9PT0gMCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkoZmllbGRDdXJyZW50VmFsdWUpICYmIGZpZWxkQ3VycmVudFZhbHVlLmxlbmd0aCA8IGFycmF5U2l6ZSk7XG4gICAgfTtcbiAgICByZXR1cm4gZmllbGRDdXJyZW50VmFsdWUgPT09ICcnO1xuICB9XG5cbiAgZ2V0IGVycm9yKCkgeyByZXR1cm4geyB0eXBlOiB0aGlzLl9lcnJvclR5cGUsIGNvZGU6IHRoaXMuX2Vycm9yQ29kZSwgbWVzc2FnZTogdGhpcy5fZXJyb3JNZXNzYWdlIH07IH1cbiAgc2V0IGVycm9yKGVycm9yT2JqKSB7IHRoaXMuc2V0RXJyb3IoZXJyb3JPYmouY29kZSwgZXJyb3JPYmoubWVzc2FnZSwgZXJyb3JPYmoudHlwZSA/PyBERUZBVUxUX0VSUk9SX1RZUEUpIH1cbiAgZ2V0IGVycm9yQ29kZSgpIHsgcmV0dXJuIHRoaXMuX2Vycm9yQ29kZTsgfVxuICBzZXQgZXJyb3JDb2RlKGNvZGUpIHsgdGhpcy5zZXRFcnJvcihjb2RlLCB0aGlzLl9lcnJvck1lc3NhZ2UpOyB9XG4gIGdldCBlcnJvck1lc3NhZ2UoKSB7IHJldHVybiB0aGlzLl9lcnJvck1lc3NhZ2U7IH1cbiAgc2V0IGVycm9yTWVzc2FnZShtc2cpIHsgdGhpcy5zZXRFcnJvcih0aGlzLl9lcnJvckNvZGUsIG1zZyk7IH1cbiAgZ2V0IGVycm9yVHlwZSgpIHsgcmV0dXJuIHRoaXMuX2Vycm9yVHlwZTsgfVxuICBnZXQgZXh0ZXJuYWxWYWx1ZSgpIHsgcmV0dXJuIHRoaXMuX2V4dGVybmFsVmFsdWU7IH1cbiAgZ2V0IGZvcm1hdCgpIHsgcmV0dXJuIHRoaXMuX2ZpZWxkRm9ybWF0OyB9XG4gIHNldCBmb3JtYXQoZm9ybWF0KSB7IHRoaXMuc2V0QXR0cihhdHRycy5maWVsZEZvcm1hdCwgZm9ybWF0KTsgfVxuICBnZXQgaGFzQ2hhbmdlZCgpIHsgcmV0dXJuIHRoaXMuX2hhc0NoYW5nZWQ7IH1cbiAgc2V0IGhhc0NoYW5nZWQoaGFzQ2hhbmdlZCkgeyB0aGlzLnNldEF0dHIoYXR0cnMuaGFzQ2hhbmdlZCwgaGFzQ2hhbmdlZCk7IH1cblxuICBnZXQgaW5mbygpIHsgcmV0dXJuIHRoaXMuX2ZpZWxkSW5mbzsgfVxuICBzZXQgaW5mbyhuZXdJbmZvOiBzdHJpbmcpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmZpZWxkSW5mbywgbmV3SW5mbyk7IH1cbiAgc2V0IGludHJpbnNpY0Vycm9yTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmludHJpbnNpY0Vycm9yTWVzc2FnZSwgbWVzc2FnZSk7IH1cbiAgZ2V0IG1heExlbmd0aCgpIHsgcmV0dXJuICh0aGlzLl9tYXhMZW5ndGggPiAwKSA/IHRoaXMuX21heExlbmd0aC50b1N0cmluZygpIDogJyc7IH1cbiAgc2V0IG1heExlbmd0aChyZXF1aXJlZE1heExlbmd0aDogYW55KSB7IHRoaXMuc2V0QXR0cihhdHRycy5tYXhMZW5ndGgsIHJlcXVpcmVkTWF4TGVuZ3RoID8gK3JlcXVpcmVkTWF4TGVuZ3RoIDogbnVsbCk7IH1cbiAgZ2V0IG1heFZhbHVlKCkgeyByZXR1cm4gdGhpcy5fbWF4VmFsdWU7IH1cblxuICBzZXQgbWF4VmFsdWUoaW5wdXRNYXhWYWx1ZSkge1xuICAgIGxldCBtYXhWYWx1ZSA9IGlucHV0TWF4VmFsdWU7XG4gICAgaWYgKHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLmRhdGUpIHtcbiAgICAgIG1heFZhbHVlID0gbmV3IERhdGUobWF4VmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLnNldEF0dHIoYXR0cnMubWF4VmFsdWUsIG1heFZhbHVlKTtcbiAgfVxuXG4gIGdldCBtaW5MZW5ndGgoKSB7IHJldHVybiB0aGlzLl9taW5MZW5ndGg7IH1cbiAgc2V0IG1pbkxlbmd0aChyZXF1aXJlZE1pbkxlbmd0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLm1pbkxlbmd0aCwgcmVxdWlyZWRNaW5MZW5ndGggPyArcmVxdWlyZWRNaW5MZW5ndGggOiBudWxsKTtcbiAgfVxuICBnZXQgbWluVmFsdWUoKSB7IHJldHVybiB0aGlzLl9taW5WYWx1ZTsgfVxuXG4gIHNldCBtaW5WYWx1ZShpbnB1dE1pblZhbHVlKSB7XG4gICAgbGV0IG1pblZhbHVlID0gaW5wdXRNaW5WYWx1ZTtcbiAgICBpZiAodGhpcy5fZmllbGRUeXBlID09PSB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVHlwZXMuZGF0ZSkge1xuICAgICAgbWluVmFsdWUgPSBuZXcgRGF0ZShtaW5WYWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuc2V0QXR0cihhdHRycy5taW5WYWx1ZSwgbWluVmFsdWUpO1xuICB9XG5cbiAgZ2V0IG5hbWUoKSB7IHJldHVybiB0aGlzLl9maWVsZENvZGU7IH1cblxuICBnZXQgb3B0aW9ucygpOiBGaWVsZE9wdGlvbltdIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkT3B0aW9ucz8ubWFwKG9wdGlvbiA9PiB7XG4gICAgICBjb25zdCBvcHRpb25Db3B5OiBGaWVsZE9wdGlvbiA9IHsgLi4ub3B0aW9uIH07XG4gICAgICByZXR1cm4gb3B0aW9uQ29weTtcbiAgICB9KSA/PyBudWxsO1xuICB9XG5cbiAgc2V0IG9wdGlvbnMobmV3T3B0aW9ucykge1xuICAgIGlmICgoIXRoaXMuX2Zvcm1Db25maWcuY2FwdHVyZVR5cGVzV2l0aE9wdGlvbnMuaW5jbHVkZXModGhpcy5fY2FwdHVyZVR5cGUpKVxuICAgICAgfHwgdHlwZW9mIG5ld09wdGlvbnMgPT09IFVOREVGSU5FRCB8fCAhbmV3T3B0aW9uc1xuICAgICAgfHwgIUFycmF5LmlzQXJyYXkobmV3T3B0aW9ucykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGZpZWxkT3B0aW9ucyA9IG5ld09wdGlvbnMubWFwKChvcHRpb246IGFueSkgPT4ge1xuICAgICAgaWYgKG9wdGlvbi50ZXh0ICE9PSB1bmRlZmluZWQgJiYgb3B0aW9uLnRleHQgIT09IG51bGxcbiAgICAgICAgJiYgb3B0aW9uLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgb3B0aW9uLnZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7IGZpZWxkT3B0aW9uVmFsdWU6IG9wdGlvbi50ZXh0LCBmaWVsZE9wdGlvbklkOiBvcHRpb24udmFsdWUgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfSk7XG4gICAgZmllbGRPcHRpb25zID0gKGZpZWxkT3B0aW9ucyAmJiBBcnJheS5pc0FycmF5KGZpZWxkT3B0aW9ucylcbiAgICAgICYmIGZpZWxkT3B0aW9ucy5sZW5ndGggPiAwKSA/IGZpZWxkT3B0aW9ucyA6IFtdO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5maWVsZE9wdGlvbnMsIGZpZWxkT3B0aW9ucyk7XG4gICAgaWYgKHRoaXMuX3ZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5fZmllbGRUeXBlID09PSB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVHlwZXMuYXJyYXkgJiYgQXJyYXkuaXNBcnJheSh0aGlzLl92YWx1ZSkpIHtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMuX3ZhbHVlPy5maWx0ZXIoaXRlbSA9PlxuICAgICAgICAgIHRoaXMuX2ZpZWxkT3B0aW9ucz8uZmluZChvcHQgPT4gb3B0LmZpZWxkT3B0aW9uSWQgPT09IGl0ZW0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2V0QXR0cihhdHRycy52YWx1ZSwgZmllbGRWYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWxJbk9wdGlvbnMgPSB0aGlzLl9maWVsZE9wdGlvbnM/LmZpbmQoaXRlbSA9PiBpdGVtLmZpZWxkT3B0aW9uSWQgPT09IHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgaWYgKCF2YWxJbk9wdGlvbnMpIHtcbiAgICAgICAgICB0aGlzLl9zZXRWYWx1ZSgnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuX2ZpZWxkUmVxdWlyZWQgJiYgdGhpcy5fZmllbGRPcHRpb25zPy5sZW5ndGggPT09IDEgJiYgdGhpcy5fdmFsdWUgIT09IHRoaXMuX2ZpZWxkT3B0aW9ucz8uWzBdLmZpZWxkT3B0aW9uSWQpIHtcbiAgICAgIHRoaXMuX3NldFZhbHVlKHRoaXMuX2ZpZWxkT3B0aW9ucz8uWzBdLmZpZWxkT3B0aW9uSWQpO1xuICAgICAgdGhpcy5ub3RpZnlFZGl0aW9uRmluaXNoKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG9wdGlvblRleHQoKSB7IHJldHVybiB0aGlzLl9maWVsZE9wdGlvbnM/LmZpbmQoaXRlbSA9PiBpdGVtLmZpZWxkT3B0aW9uSWQgPT09IHRoaXMuX3ZhbHVlKT8uZmllbGRPcHRpb25WYWx1ZSA/PyBudWxsOyB9XG4gIGdldCBvdXRwdXRPbmx5KCkgeyByZXR1cm4gdGhpcy5fb3V0cHV0T25seTsgfVxuICBzZXQgb3V0cHV0T25seShvdXRwdXRPbmx5KSB7IHRoaXMuc2V0QXR0cihhdHRycy5vdXRwdXRPbmx5LCBvdXRwdXRPbmx5KTsgfVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9maWVsZFJlcXVpcmVkOyB9XG4gIHNldCByZXF1aXJlZChyZXF1aXJlZDogYm9vbGVhbikgeyB0aGlzLnNldEF0dHIoYXR0cnMuZmllbGRSZXF1aXJlZCwgcmVxdWlyZWQgPz8gZmFsc2UpOyB9XG4gIGdldCB0aXRsZSgpIHsgcmV0dXJuIHRoaXMuX2ZpZWxkVGl0bGU7IH1cbiAgc2V0IHRpdGxlKHRpdGxlKSB7IHRoaXMuc2V0QXR0cihhdHRycy5maWVsZFRpdGxlLCB0aXRsZT8udG9TdHJpbmcoKSA/PyAnJyk7IH1cbiAgZ2V0IHRvb2x0aXAoKSB7IHJldHVybiB0aGlzLl90b29sdGlwVGV4dDsgfVxuICBzZXQgdG9vbHRpcCh0b29sdGlwKSB7IHRoaXMuc2V0QXR0cihhdHRycy50b29sdGlwVGV4dCwgdG9vbHRpcCk7IH1cbiAgZ2V0IHR5cGUoKSB7IHJldHVybiB0aGlzLl9maWVsZFR5cGU7IH1cbiAgc2V0IHR5cGUoZmllbGRUeXBlKSB7IHRoaXMuc2V0QXR0cihhdHRycy5maWVsZFR5cGUsIGZpZWxkVHlwZSk7IH1cbiAgZ2V0IG9uVmFsaWRhdGlvbigpIHsgcmV0dXJuIHRoaXMuX29uVmFsaWRhdGlvbjsgfVxuICBnZXQgdmFsaWRhdGluZygpIHsgcmV0dXJuIHRoaXMuX29uVmFsaWRhdGlvbjsgfVxuICBzZXQgdmFsaWRhdGluZyhpc1ZhbGlkYXRpbmc6IGJvb2xlYW4pIHsgdGhpcy5zZXRBdHRyKGF0dHJzLm9uVmFsaWRhdGlvbiwgaXNWYWxpZGF0aW5nKTsgfVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuICh0aGlzLl9maWVsZFR5cGUgPT09IHRoaXMuX2Zvcm1Db25maWcuZmllbGRUeXBlcy5ib29sZWFuXG4gICAgICB8fCB0aGlzLl9maWVsZFR5cGUgPT09IHRoaXMuX2Zvcm1Db25maWcuZmllbGRUeXBlcy5jaGVjaykgPyB5bih0aGlzLl92YWx1ZSkgOiB0aGlzLl92YWx1ZTtcbiAgfVxuICBnZXQgdmFsaWRhdGVPblNlcnZlcigpIHsgcmV0dXJuIHRoaXMuX3ZhbGlkYXRlT25TZXJ2ZXI7IH1cbiAgc2V0IHZhbGlkYXRlT25TZXJ2ZXIodmFsaWRhdGVPblNlcnZlcikgeyB0aGlzLnNldEF0dHIoYXR0cnMudmFsaWRhdGVPblNlcnZlciwgdmFsaWRhdGVPblNlcnZlcik7IH1cbiAgZ2V0IHNlcnZlckFjdGlvbigpIHsgcmV0dXJuIHRoaXMuX3ZhbGlkYXRlT25TZXJ2ZXI7IH1cbiAgc2V0IHNlcnZlckFjdGlvbih2YWxpZGF0ZU9uU2VydmVyOiBib29sZWFuKSB7IHRoaXMudmFsaWRhdGVPblNlcnZlciA9IHZhbGlkYXRlT25TZXJ2ZXI7IH1cblxuICBzZXQgdmFsdWUobmV3VmFsdWUpIHsgdGhpcy5fc2V0VmFsdWUobmV3VmFsdWUpOyB9XG4gIGdldCB2aXNpYmxlTGFiZWwoKSB7IHJldHVybiB0aGlzLl92aXNpYmxlTGFiZWw7IH1cbiAgc2V0IHZpc2libGVMYWJlbCh2aXNpYmxlTGFiZWw6IGJvb2xlYW4pIHsgdGhpcy5zZXRBdHRyKGF0dHJzLnZpc2libGVMYWJlbCwgdmlzaWJsZUxhYmVsKTsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdmFsdWVcbiAgICovXG4gIGdldCBmaWVsZFZhbHVlKCkgeyByZXR1cm4gdGhpcy52YWx1ZTsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgaGFzQ2hhbmdlZFxuICAgKi9cbiAgY2hhbmdlZChoYXNDaGFuZ2VkID0gdHJ1ZSkgeyB0aGlzLmhhc0NoYW5nZWQgPSBoYXNDaGFuZ2VkOyB9XG5cbiAgY2xlYW4oKSB7IHRoaXMuX3NldFZhbHVlKHRoaXMuX2RlZmF1bHRWYWx1ZSB8fCAnJyk7IHRoaXMucmVzZXRFcnJvcigpOyB9XG4gIGZvY3VzKCkgeyB0aGlzLnNldEF0dHIoYXR0cnMuZm9jdXMsIHRydWUpOyB9XG4gIGdldEVycm9yQ29kZSgpIHsgcmV0dXJuIHRoaXMuZXJyb3IuY29kZTsgfVxuICBzZXRFcnJvckNvZGUoY29kZSkgeyB0aGlzLnNldEVycm9yKGNvZGUsIHRoaXMuX2Vycm9yTWVzc2FnZSk7IH1cbiAgZ2V0RXJyb3JNZXNzYWdlKCkgeyByZXR1cm4gdGhpcy5lcnJvci5tZXNzYWdlOyB9XG4gIHNldEVycm9yTWVzc2FnZShtc2cpIHsgdGhpcy5zZXRFcnJvcih0aGlzLl9lcnJvckNvZGUsIG1zZyk7IH1cbiAgZ2V0UmVxdWlyZWQoKSB7IHJldHVybiB0aGlzLnJlcXVpcmVkOyB9XG4gIGhhc0Vycm9yKCkgeyByZXR1cm4gdGhpcy5fZXJyb3JDb2RlICE9PSBOT19FUlJPUjsgfVxuICBoaWRlTGFiZWwoKSB7IHRoaXMudmlzaWJsZUxhYmVsID0gZmFsc2U7IH1cbiAgcmVzZXRFcnJvcigpIHsgKHRoaXMuX2Vycm9yQ29kZSAhPT0gTk9fRVJST1IpICYmIHRoaXMuc2V0RXJyb3IoTk9fRVJST1IsIG51bGwpOyB9XG4gIHNldEVkaXRhYmxlKGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZSkgeyAoZWRpdGFibGUpID8gdGhpcy5lbmFibGUoKSA6IHRoaXMuZGlzYWJsZSgpOyB9XG4gIHNldFZhbHVlKG5ld1ZhbHVlLCB3aWRnZXRVcGRhdGUgPSB0cnVlKSB7IHRoaXMuX3NldFZhbHVlKG5ld1ZhbHVlLCB3aWRnZXRVcGRhdGUpOyB9XG4gIHNob3dMYWJlbCgpIHsgdGhpcy52aXNpYmxlTGFiZWwgPSB0cnVlOyB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBjb2RlXG4gICAqL1xuICBnZXQgZmllbGRDb2RlKCkgeyByZXR1cm4gdGhpcy5fZmllbGRDb2RlOyB9XG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHRpdGxlXG4gICAqL1xuICBzZXRMYWJlbChsYWJlbCkgeyB0aGlzLnRpdGxlID0gbGFiZWw7IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHJlcXVpcmVkXG4gICAqL1xuICBzZXRSZXF1aXJlZChyZXF1aXJlZDogYm9vbGVhbikgeyB0aGlzLnJlcXVpcmVkID0gcmVxdWlyZWQ7IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGNoYW5nZWRcbiAgICovXG4gIHNldENoYW5nZWQoaGFzQ2hhbmdlZDogYm9vbGVhbikgeyB0aGlzLmNoYW5nZWQoaGFzQ2hhbmdlZCk7IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHZhbHVlXG4gICAqL1xuICBnZXRWYWx1ZSgpOiBhbnkgeyByZXR1cm4gdGhpcy52YWx1ZTsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZW1wdHlcbiAgICovXG4gIGlzRW1wdHkoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmVtcHR5IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGVycm9yXG4gICAqL1xuICBnZXRFcnJvcigpIHsgcmV0dXJuIHRoaXMuZXJyb3I7IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIG9wdGlvblRleHRcbiAgICovXG4gIGdldE9wdGlvblRleHQoKSB7IHJldHVybiB0aGlzLm9wdGlvblRleHQ7IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIG9wdGlvbnNcbiAgICovXG4gIGdldEZpZWxkT3B0aW9ucygpIHsgcmV0dXJuIHRoaXMub3B0aW9uczsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2Ugb3B0aW9uc1xuICAgKi9cbiAgc2V0RmllbGRPcHRpb25zKG5ld09wdGlvbnMpIHsgcmV0dXJuIHRoaXMub3B0aW9ucyA9IG5ld09wdGlvbnM7IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGludHJpbnNpY0Vycm9yTWVzc2FnZVxuICAgKi9cbiAgc2V0SW50cmluc2ljRXJyb3JNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZykgeyB0aGlzLmludHJpbnNpY0Vycm9yTWVzc2FnZSA9IG1lc3NhZ2U7IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIG1heFZhbHVlXG4gICAqL1xuICBzZXRNYXhWYWx1ZShpbnB1dE1heFZhbHVlKSB7IHRoaXMubWF4VmFsdWUgPSBpbnB1dE1heFZhbHVlOyB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBtaW5WYWx1ZVxuICAgKi9cbiAgc2V0TWluVmFsdWUoaW5wdXRNaW5WYWx1ZSkgeyB0aGlzLm1pblZhbHVlID0gaW5wdXRNaW5WYWx1ZTsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2Ugc2hvd0xhYmVsXG4gICAqL1xuICBzZXRWaXNpYmxlTGFiZWwodmlzaWJsZUxhYmVsOiBib29sZWFuKSB7IHRoaXMudmlzaWJsZUxhYmVsID0gdmlzaWJsZUxhYmVsOyB9XG5cblxuICBub3RpZnlFZGl0aW9uUGFydGlhbCgpIHtcbiAgICB0aGlzLnJlc2V0RXJyb3IoKTtcbiAgICB0aGlzLl9lZGl0aW9uUGFydGlhbC5uZXh0KHsgY29kZTogdGhpcy5fZmllbGRDb2RlLCBpbnRyaW5zaWNWYWxpZGF0aW9uOiB0cnVlIH0pO1xuICB9XG5cbiAgbm90aWZ5RWRpdGlvbkZpbmlzaCgpIHtcbiAgICBjb25zdCBmaWVsZFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB0aGlzLnJlc2V0RXJyb3IoKTtcbiAgICBjb25zdCB2YWxpZGF0aW9uQ29uZmlnID0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFZhbGlkYXRpb25zPy5bdGhpcy5fZmllbGRUeXBlXSA/PyB7fTtcbiAgICBjb25zdCB7IHR5cGUsIHZhbGlkYXRpb24gfSA9IHZhbGlkYXRpb25Db25maWc7XG4gICAgbGV0IG1lc3NhZ2UgPSB2YWxpZGF0aW9uQ29uZmlnPy5tZXNzYWdlO1xuICAgIGxldCBpbnRyaW5zaWNWYWxpZGF0aW9uID0gdHJ1ZTtcbiAgICBpZiAoZmllbGRWYWx1ZSAmJiAodmFsaWRhdGlvbiB8fCB0aGlzLl9maWVsZEZvcm1hdCkpIHtcbiAgICAgIGlmICh0eXBlID09PSAncmVnZXhwJykge1xuICAgICAgICBpbnRyaW5zaWNWYWxpZGF0aW9uID0gKHZhbGlkYXRpb24/LnRlc3QoZmllbGRWYWx1ZSkgPz8gdHJ1ZSlcbiAgICAgICAgICAmJiAodGhpcy5fZmllbGRGb3JtYXQ/LnRlc3QoZmllbGRWYWx1ZSkgPz8gdHJ1ZSk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHZhbGlkYXRpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgeyB2YWxpZCwgbWVzc2FnZTogY3VzdG9tTWVzc2FnZSB9ID0gdmFsaWRhdGlvbihmaWVsZFZhbHVlLCB0aGlzKTtcbiAgICAgICAgaW50cmluc2ljVmFsaWRhdGlvbiA9IHZhbGlkO1xuICAgICAgICBtZXNzYWdlID0gY3VzdG9tTWVzc2FnZTtcbiAgICAgIH1cbiAgICAgIGlmICghaW50cmluc2ljVmFsaWRhdGlvbikge1xuICAgICAgICB0aGlzLnNldEVycm9yKCc5OScsIG1lc3NhZ2UgPz8gdGhpcy5faW50cmluc2ljRXJyb3JNZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGludHJpbnNpY1ZhbGlkYXRpb24gJiYgZmllbGRWYWx1ZSAmJiB0aGlzLl9taW5WYWx1ZSAmJiBmaWVsZFZhbHVlIDwgdGhpcy5fbWluVmFsdWUpIHtcbiAgICAgIGludHJpbnNpY1ZhbGlkYXRpb24gPSBmYWxzZTtcbiAgICAgIHRoaXMuc2V0RXJyb3IoJzk5JywgJ0NhbXBvIGNvbiB2YWxvciBpbmZlcmlvciBhbCBtw61uaW1vJyk7XG4gICAgfVxuICAgIGlmIChpbnRyaW5zaWNWYWxpZGF0aW9uICYmIGZpZWxkVmFsdWUgJiYgdGhpcy5fbWF4VmFsdWUgJiYgZmllbGRWYWx1ZSA+IHRoaXMuX21heFZhbHVlKSB7XG4gICAgICBpbnRyaW5zaWNWYWxpZGF0aW9uID0gZmFsc2U7XG4gICAgICB0aGlzLnNldEVycm9yKCc5OScsICdDYW1wbyBjb24gdmFsb3Igc3VwZXJpb3IgYWwgbcOheGltbycpO1xuICAgIH1cbiAgICBpZiAoaW50cmluc2ljVmFsaWRhdGlvbiAmJiBmaWVsZFZhbHVlICYmIHR5cGVvZiBmaWVsZFZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgJiYgdGhpcy5fbWluTGVuZ3RoICYmIGZpZWxkVmFsdWU/Lmxlbmd0aCA8IHRoaXMuX21pbkxlbmd0aCkge1xuICAgICAgaW50cmluc2ljVmFsaWRhdGlvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5zZXRFcnJvcignOTknLCBgTG9uZ2l0dWQgZGUgJHt0aGlzLl9maWVsZFRpdGxlfSBkZWJlIHNlciBkZSBhbCBtZW5vcyAke3RoaXMuX21pbkxlbmd0aH1gKTtcbiAgICB9XG4gICAgdGhpcy5fZWRpdGlvbkZpbmlzaC5uZXh0KHsgY29kZTogdGhpcy5fZmllbGRDb2RlLCBpbnRyaW5zaWNWYWxpZGF0aW9uIH0pO1xuICB9XG5cbiAgbm90aWZ5RWRpdGlvbkRldGFpbFJlcXVlc3QoZGV0YWlsOiBhbnkpIHtcbiAgICBjb25zdCBkZXRhaWxFdmVudDogRGV0YWlsRXZlbnQgPSB7IGNvZGU6IHRoaXMuX2ZpZWxkQ29kZSwgZGV0YWlsIH07XG4gICAgdGhpcy5fZGV0YWlsUmVxdWVzdC5uZXh0KGRldGFpbEV2ZW50KTtcbiAgfVxuXG4gIHNldEVycm9yKGNvZGUsIG1lc3NhZ2UsIHR5cGUgPSBERUZBVUxUX0VSUk9SX1RZUEUpIHtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuZXJyb3JDb2RlLCBjb2RlID8/IE5PX0VSUk9SKTtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuZXJyb3JUeXBlLCAodGhpcy5fZXJyb3JDb2RlID09PSBOT19FUlJPUikgPyAnJyA6IHR5cGUpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5lcnJvck1lc3NhZ2UsIG1lc3NhZ2UgPz8gJycpO1xuICB9XG5cbiAgdXBkYXRlRnJvbVNlcnZlcihmbGQpIHtcbiAgICBjb25zdCBmaWVsZEtleXMgPSBPYmplY3Qua2V5cyhmbGQpO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBmaWVsZEtleXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBhdHRyTmFtZSA9IGZpZWxkS2V5c1tpbmRleF07XG4gICAgICBjb25zdCBhdHRyVmFsdWUgPSBmbGRbYXR0ck5hbWVdO1xuICAgICAgaWYgKGRpcmVjdENoYW5nZXMuaW5jbHVkZXMoYXR0ck5hbWUpKSB7XG4gICAgICAgIHRoaXNbYXR0ck5hbWVdID0gYXR0clZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgKGF0dHJOYW1lID09PSAnbGFiZWwnKSAmJiAodGhpcy50aXRsZSA9IGF0dHJWYWx1ZSk7XG4gICAgICAgIChhdHRyTmFtZSA9PT0gJ2xhYmVsVmlzaWJsZScpICYmICh0aGlzLnZpc2libGVMYWJlbCA9IGF0dHJWYWx1ZSk7XG4gICAgICAgIChhdHRyTmFtZSA9PT0gJ2VkaXRhYmxlJykgJiYgdGhpcy5zZXRFZGl0YWJsZShhdHRyVmFsdWUpO1xuICAgICAgICAoYXR0ck5hbWUgPT09ICd2aXNpYmxlJykgJiYgdGhpcy5zZXRWaXNpYmlsaXR5KGF0dHJWYWx1ZSk7XG4gICAgICAgIChhdHRyTmFtZSA9PT0gJ3ZhbHVlJykgJiYgKHRoaXMuX3NldFZhbHVlKGF0dHJWYWx1ZSkgJiYgKHRoaXMuaGFzQ2hhbmdlZCA9IGZhbHNlKSk7XG4gICAgICAgIChhdHRyTmFtZSA9PT0gJ2ZpZWxkVmFsdWUnKSAmJiAodGhpcy5fc2V0VmFsdWUoYXR0clZhbHVlKSAmJiAodGhpcy5oYXNDaGFuZ2VkID0gZmFsc2UpKTtcbiAgICAgICAgKGF0dHJOYW1lID09PSAnZmllbGRPcHRpb25zJykgJiYgKHRoaXMub3B0aW9ucyA9IGF0dHJWYWx1ZSk7XG4gICAgICAgIChhdHRyTmFtZSA9PT0gJ2ZpZWxkVGl0bGUnKSAmJiAodGhpcy50aXRsZSA9IGF0dHJWYWx1ZSk7XG4gICAgICAgIChhdHRyTmFtZSA9PT0gJ2ZpZWxkVHlwZUNvZGUnKSAmJiAodGhpcy50eXBlID0gYXR0clZhbHVlKTtcbiAgICAgICAgKGF0dHJOYW1lID09PSAnZmllbGRUeXBlJykgJiYgKHRoaXMudHlwZSA9IGF0dHJWYWx1ZSk7XG4gICAgICAgIChhdHRyTmFtZSA9PT0gJ3Rvb2x0aXBUZXh0JykgJiYgKHRoaXMudG9vbHRpcCA9IGF0dHJWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VmFsdWUobmV3VmFsdWUsIHdpZGdldFVwZGF0ZSA9IHRydWUpIHtcbiAgICBpZiAodHlwZW9mIG5ld1ZhbHVlID09PSBVTkRFRklORUQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAobmV3VmFsdWUgPT09IG51bGwgJiYgdGhpcy5yZXF1aXJlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGxldCBuZXdGaW5hbFZhbHVlO1xuICAgIGlmICh0aGlzLl9maWVsZFR5cGUgPT09IHRoaXMuX2Zvcm1Db25maWcuZmllbGRUeXBlcy5ib29sZWFuXG4gICAgICB8fCB0aGlzLl9maWVsZFR5cGUgPT09IHRoaXMuX2Zvcm1Db25maWcuZmllbGRUeXBlcy5jaGVjaykge1xuICAgICAgbmV3RmluYWxWYWx1ZSA9IHluKG5ld1ZhbHVlKSA/PyBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLmFycmF5XG4gICAgICB8fCB0aGlzLl9maWVsZFR5cGUgPT09IHRoaXMuX2Zvcm1Db25maWcuZmllbGRUeXBlcy5tYXApIHtcbiAgICAgIGlmIChuZXdWYWx1ZSA9PT0gbnVsbCB8fCBuZXdWYWx1ZSA9PT0gJycpIHtcbiAgICAgICAgbmV3RmluYWxWYWx1ZSA9IFtdO1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG5ld1ZhbHVlKSkge1xuICAgICAgICBuZXdGaW5hbFZhbHVlID0gbmV3VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdGaW5hbFZhbHVlID0gbmV3VmFsdWUudG9TdHJpbmcoKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdGaW5hbFZhbHVlID0gbmV3VmFsdWU7XG4gICAgfVxuICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gbmV3RmluYWxWYWx1ZSkge1xuICAgICAgdGhpcy5oYXNDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgIGlmICh3aWRnZXRVcGRhdGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coYHNlIGFjdHVhbGl6YSBlbCBjYW1wbyAke3RoaXMuX2ZpZWxkQ29kZX0gY29uICR7bmV3RmluYWxWYWx1ZX1gKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyKGF0dHJzLnZhbHVlLCBuZXdGaW5hbFZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbmV3RmluYWxWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
470
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL2ZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFFOUIsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUM7QUFDbkMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFFakMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQztBQUUzQixNQUFNLGFBQWEsR0FBRztJQUNwQixpQkFBaUIsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFdBQVc7SUFDcEcsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTTtJQUNsRyxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGNBQWM7SUFDcEcsU0FBUyxFQUFFLGFBQWE7Q0FDekIsQ0FBQztBQUVGLE1BQU0sS0FBSyxHQUFHO0lBQ1osV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFO0lBQy9ELFNBQVMsRUFBRSxFQUFF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QUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztZQUMzQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB5biBmcm9tICd5bic7XG5pbXBvcnQgeyBlbGVtZW50VHlwZXMsIE5PX0VSUk9SIH0gZnJvbSAnLi9mb3JtLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtRWxlbWVudCB9IGZyb20gJy4vZWxlbWVudCc7XG5cbmNvbnN0IFVOREVGSU5FRCA9ICd1bmRlZmluZWQnO1xuXG5jb25zdCBERUZBVUxUX0VSUk9SX1RZUEUgPSAnZXJyb3InO1xuY29uc3QgREVGQVVMVF9DQVBUVVJFX1RZUEUgPSAnSU5QVVQnO1xuY29uc3QgREVGQVVMVF9BTElHTk1FTlQgPSAnbGVmdCc7XG5cbmNvbnN0IFNURF9NQVhfTEVOR1RIID0gNTA7XG5jb25zdCBCSUdfTUFYX0xFTkdUSCA9IDUwMDtcblxuY29uc3QgZGlyZWN0Q2hhbmdlcyA9IFtcbiAgJ2RlZmF1bHRFZGl0YWJsZScsICdkZWZhdWx0VmFsdWUnLCAnYWxpZ25tZW50JywgJ3JlcXVpcmVkJywgJ2Vycm9yQ29kZScsICdlcnJvck1lc3NhZ2UnLCAnZXJyb3JUeXBlJyxcbiAgJ3Rvb2x0aXAnLCAnaW5mbycsICdmb3JtYXQnLCAnaW50cmluc2ljRXJyb3JNZXNzYWdlJywgJ291dHB1dE9ubHknLCAnY2FwdHVyZVR5cGUnLCAndGl0bGUnLCAndHlwZScsXG4gICdtYXhMZW5ndGgnLCAnbWF4VmFsdWUnLCAnbWluTGVuZ3RoJywgJ21pblZhbHVlJywgJ3ZhbGlkYXRlT25TZXJ2ZXInLCAnc2VydmVyQWN0aW9uJywgJ3Zpc2libGVMYWJlbCcsXG4gICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJyxcbl07XG5cbmNvbnN0IGF0dHJzID0ge1xuICBjYXB0dXJlVHlwZTogeyBuYW1lOiAnX2NhcHR1cmVUeXBlJywgcHJvcGFnYXRlOiAnY2FwdHVyZVR5cGUnIH0sXG4gIGVycm9yQ29kZTogeyBuYW1lOiAnX2Vycm9yQ29kZScsIHByb3BhZ2F0ZTogJ2Vycm9yQ29kZScgfSxcbiAgZXJyb3JNZXNzYWdlOiB7IG5hbWU6ICdfZXJyb3JNZXNzYWdlJywgcHJvcGFnYXRlOiAnZXJyb3JNZXNzYWdlJyB9LFxuICBlcnJvclR5cGU6IHsgbmFtZTogJ19lcnJvclR5cGUnLCBwcm9wYWdhdGU6ICdlcnJvclR5cGUnIH0sXG4gIGRlZmF1bHRWYWx1ZTogeyBuYW1lOiAnX2RlZmF1bHRWYWx1ZScsIHByb3BhZ2F0ZTogJ2RlZmF1bHRWYWx1ZScgfSxcbiAgZGVmYXVsdEVkaXRhYmxlOiB7IG5hbWU6ICdfZGVmYXVsdEVkaXRhYmxlJywgcHJvcGFnYXRlOiAnZGVmYXVsdEVkaXRhYmxlJyB9LFxuICBmaWVsZEFsaWdubWVudDogeyBuYW1lOiAnX2ZpZWxkQWxpZ25tZW50JywgcHJvcGFnYXRlOiAnYWxpZ25tZW50JyB9LFxuICBmaWVsZENvZGU6IHsgbmFtZTogJ19maWVsZENvZGUnLCBwcm9wYWdhdGU6ICdjb2RlJyB9LFxuICBmaWVsZEluZm86IHsgbmFtZTogJ19maWVsZEluZm8nLCBwcm9wYWdhdGU6ICdpbmZvJyB9LFxuICBmaWVsZFJlcXVpcmVkOiB7IG5hbWU6ICdfZmllbGRSZXF1aXJlZCcsIHByb3BhZ2F0ZTogJ3JlcXVpcmVkJyB9LFxuICBmaWVsZFRpdGxlOiB7IG5hbWU6ICdfZmllbGRUaXRsZScsIHByb3BhZ2F0ZTogJ3RpdGxlJyB9LFxuICBmaWVsZFR5cGU6IHsgbmFtZTogJ19maWVsZFR5cGUnLCBwcm9wYWdhdGU6ICd0eXBlJyB9LFxuICBmaWVsZEZvcm1hdDogeyBuYW1lOiAnX2ZpZWxkRm9ybWF0JywgcHJvcGFnYXRlOiAnZm9ybWF0JyB9LFxuICBmaWVsZE9wdGlvbnM6IHsgbmFtZTogJ19maWVsZE9wdGlvbnMnLCBwcm9wYWdhdGU6ICdvcHRpb25zJyB9LFxuICBmb2N1czogeyBuYW1lOiAnX2ZvY3VzJywgcHJvcGFnYXRlOiAnZm9jdXMnIH0sXG4gIGhhc0NoYW5nZWQ6IHsgbmFtZTogJ19oYXNDaGFuZ2VkJywgcHJvcGFnYXRlOiAnaGFzQ2hhbmdlZCcgfSxcbiAgaW50cmluc2ljRXJyb3JNZXNzYWdlOiB7IG5hbWU6ICdfaW50cmluc2ljRXJyb3JNZXNzYWdlJywgcHJvcGFnYXRlOiBudWxsIH0sXG4gIG1heExlbmd0aDogeyBuYW1lOiAnX21heExlbmd0aCcsIHByb3BhZ2F0ZTogJ21heExlbmd0aCcgfSxcbiAgbWF4VmFsdWU6IHsgbmFtZTogJ19tYXhWYWx1ZScsIHByb3BhZ2F0ZTogJ21heFZhbHVlJyB9LFxuICBtaW5MZW5ndGg6IHsgbmFtZTogJ19taW5MZW5ndGgnLCBwcm9wYWdhdGU6ICdtaW5MZW5ndGgnIH0sXG4gIG1pblZhbHVlOiB7IG5hbWU6ICdfbWluVmFsdWUnLCBwcm9wYWdhdGU6ICdtaW5WYWx1ZScgfSxcbiAgb25WYWxpZGF0aW9uOiB7IG5hbWU6ICdfb25WYWxpZGF0aW9uJywgcHJvcGFnYXRlOiAnb25WYWxpZGF0aW9uJyB9LFxuICBvdXRwdXRPbmx5OiB7IG5hbWU6ICdfb3V0cHV0T25seScsIHByb3BhZ2F0ZTogJ291dHB1dE9ubHknIH0sXG4gIHBsYWNlaG9sZGVyOiB7IG5hbWU6ICdfcGxhY2Vob2xkZXInLCBwcm9wYWdhdGU6ICdwbGFjZWhvbGRlcicgfSxcbiAgdG9vbHRpcFRleHQ6IHsgbmFtZTogJ190b29sdGlwVGV4dCcsIHByb3BhZ2F0ZTogJ3Rvb2x0aXAnIH0sXG4gIHZhbGlkYXRlT25TZXJ2ZXI6IHsgbmFtZTogJ192YWxpZGF0ZU9uU2VydmVyJywgcHJvcGFnYXRlOiAndmFsaWRhdGVPblNlcnZlcicgfSxcbiAgdmFsdWU6IHsgbmFtZTogJ192YWx1ZScsIHByb3BhZ2F0ZTogJ3ZhbHVlJyB9LFxuICB2aXNpYmxlTGFiZWw6IHsgbmFtZTogJ192aXNpYmxlTGFiZWwnLCBwcm9wYWdhdGU6ICd2aXNpYmxlTGFiZWwnIH0sXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIERldGFpbEV2ZW50IHtcbiAgY29kZTogc3RyaW5nO1xuICBkZXRhaWw6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZE9wdGlvbiB7XG4gIGZpZWxkT3B0aW9uVmFsdWU6IHN0cmluZztcbiAgZmllbGRPcHRpb25JZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgRmllbGREZXNjcmlwdG9yIGV4dGVuZHMgRm9ybUVsZW1lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9lZGl0aW9uRmluaXNoID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lZGl0aW9uUGFydGlhbCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGV0YWlsUmVxdWVzdCA9IG5ldyBTdWJqZWN0PERldGFpbEV2ZW50PigpO1xuXG4gIHByaXZhdGUgX2Vycm9yVHlwZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2Vycm9yQ29kZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2Vycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2ludHJpbnNpY0Vycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX21pblZhbHVlOiBhbnk7XG4gIHByaXZhdGUgX21heFZhbHVlOiBhbnk7XG4gIHByaXZhdGUgX21heExlbmd0aDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBfbWluTGVuZ3RoOiBudW1iZXIgPSAwO1xuICBwcml2YXRlIF9mb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9vblZhbGlkYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfdmFsaWRhdGVPblNlcnZlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF92YWx1ZTogYW55O1xuICBwcml2YXRlIF92aXNpYmxlTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY2FwdHVyZVR5cGU6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9kZWZhdWx0VmFsdWU6IGFueSA9ICcnO1xuICBwcml2YXRlIF9kZWZhdWx0RWRpdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZXh0ZXJuYWxWYWx1ZTogYW55O1xuICBwcml2YXRlIF9maWVsZEFsaWdubWVudDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2ZpZWxkSW5mbzogYW55ID0gJyc7XG4gIHByaXZhdGUgX2ZpZWxkUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZmllbGRUaXRsZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2ZpZWxkVHlwZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2ZpZWxkRm9ybWF0OiBSZWdFeHAgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfaGFzQ2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9vdXRwdXRPbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3Rvb2x0aXBUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9maWVsZENvZGU6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9maWVsZE9wdGlvbnM6IEZpZWxkT3B0aW9uW10gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihpbnB1dEZpZWxkUmVjZWl2ZWQsIGZvcm1Db25maWcpIHtcbiAgICBzdXBlcihpbnB1dEZpZWxkUmVjZWl2ZWQsIGZvcm1Db25maWcpO1xuICAgIHRoaXMucHJvcGFnYXRpb25DdXN0b21BdHRyaWJ1dGVzID0gdGhpcy5fZm9ybUNvbmZpZz8ucHJvcGFnYXRpb25DdXN0b21BdHRyaWJ1dGVzPy5maWVsZHMgPz8gW107XG4gICAgdGhpcy5lbGVtZW50VHlwZSA9IGVsZW1lbnRUeXBlcy5maWVsZDtcbiAgICBjb25zdCBmbGQgPSAoaW5wdXRGaWVsZFJlY2VpdmVkKSA/IGlucHV0RmllbGRSZWNlaXZlZCA6IHt9O1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5maWVsZENvZGUsIGZsZC5maWVsZENvZGUpO1xuICAgIHRoaXMudGl0bGUgPSBmbGQuZmllbGRUaXRsZSA/PyB0aGlzLl9maWVsZENvZGU7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IGZsZC5wbGFjZWhvbGRlciA/PyB0aGlzLnRpdGxlO1xuICAgIHRoaXMudHlwZSA9IGZsZC5maWVsZFR5cGVDb2RlO1xuICAgIHRoaXMuY2FwdHVyZVR5cGUgPSBmbGQuY2FwdHVyZVR5cGUgPz8gREVGQVVMVF9DQVBUVVJFX1RZUEU7XG5cbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBmbGQuZGVmYXVsdFZhbHVlID8/IG51bGw7XG4gICAgaWYgKHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLmJvb2xlYW4pIHtcbiAgICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZGVmYXVsdFZhbHVlID8/IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFR5cGVBbGlnbm1lbnQgPSAodGhpcy5fZm9ybUNvbmZpZy50YWJsZUZpZWxkU3R5bGVzW3RoaXMuX2ZpZWxkVHlwZV0gIT0gbnVsbClcbiAgICAgID8gdGhpcy5fZm9ybUNvbmZpZy50YWJsZUZpZWxkU3R5bGVzW3RoaXMuX2ZpZWxkVHlwZV1bJ3RleHQtYWxpZ24nXSA6IERFRkFVTFRfQUxJR05NRU5UO1xuICAgIGNvbnN0IGZpZWxkQWxpZ25tZW50ID0gKGZsZC5hbGlnbm1lbnQgIT0gbnVsbCkgPyBmbGQuYWxpZ25tZW50LnRvTG93ZXJDYXNlKCkgOiBkZWZhdWx0VHlwZUFsaWdubWVudDtcbiAgICB0aGlzLmFsaWdubWVudCA9IGZpZWxkQWxpZ25tZW50O1xuICAgIHRoaXMuaW5mbyA9IGZsZC5pbmZvIHx8ICcnO1xuICAgIGxldCBmaWVsZEZvcm1hdDtcbiAgICB0cnkge1xuICAgICAgaWYgKGZsZC5mb3JtYXQgJiYgdHlwZW9mIGZsZC5mb3JtYXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGZpZWxkRm9ybWF0ID0gbmV3IFJlZ0V4cChmbGQuZm9ybWF0KTtcbiAgICAgIH0gZWxzZSBpZiAoZmxkLmZvcm1hdD8ucmVnRXhwKSB7XG4gICAgICAgIGZpZWxkRm9ybWF0ID0gbmV3IFJlZ0V4cChmbGQuZm9ybWF0Py5yZWdFeHApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGZpZWxkRm9ybWF0ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5mb3JtYXQgPSBmaWVsZEZvcm1hdDtcbiAgICB0aGlzLnZhbGlkYXRlT25TZXJ2ZXIgPSBmbGQuc2VydmVyQWN0aW9uID8/IGZhbHNlO1xuICAgIHRoaXMudG9vbHRpcCA9IGZsZC50b29sdGlwIHx8ICcnO1xuICAgIHRoaXMuZGVmYXVsdEVkaXRhYmxlID0gdGhpcy5lbmFibGVkO1xuICAgIHRoaXMucmVxdWlyZWQgPSBmbGQucmVxdWlyZWQgPz8gZmFsc2U7XG4gICAgdGhpcy5vdXRwdXRPbmx5ID0gZmxkLm91dHB1dE9ubHkgPz8gZmFsc2U7XG4gICAgdGhpcy5taW5MZW5ndGggPSBmbGQubWluTGVuZ3RoID8/IDA7XG4gICAgdGhpcy5tYXhMZW5ndGggPSBmbGQubWF4TGVuZ3RoIHx8ICh0aGlzLl9jYXB0dXJlVHlwZSA9PT0gJ1RFWFRBUkVBJyA/IEJJR19NQVhfTEVOR1RIIDogU1REX01BWF9MRU5HVEgpO1xuICAgIHRoaXMuaW50cmluc2ljRXJyb3JNZXNzYWdlID0gdGhpcy5fZm9ybUNvbmZpZz8uZmllbGRWYWxpZGF0aW9ucz8uW3RoaXMuX2ZpZWxkVHlwZV0/Lm1lc3NhZ2VcbiAgICAgID8/IHRoaXMuX2Zvcm1Db25maWc/LmZpZWxkVmFsaWRhdGlvbnM/LkRFRkFVTFQ/Lm1lc3NhZ2UgPz8gJyc7XG5cbiAgICB0aGlzLnNldEVycm9yKGZsZC5lcnJvckNvZGUsIGZsZC5lcnJvck1lc3NhZ2UsIGZsZC5lcnJvclR5cGUgPz8gREVGQVVMVF9FUlJPUl9UWVBFKTtcbiAgICB0aGlzLnNldEVkaXRhYmxlKGZsZC5lZGl0YWJsZSA/PyB0cnVlKTtcbiAgICB0aGlzLnZpc2libGVMYWJlbCA9IGZsZC52aXNpYmxlTGFiZWwgPz8gdHJ1ZTtcbiAgICB0aGlzLnNldFZpc2liaWxpdHkoZmxkLnZpc2libGUpO1xuICAgIHRoaXMub3B0aW9ucyA9IGZsZC5maWVsZE9wdGlvbnM7XG4gICAgdGhpcy5fc2V0VmFsdWUoZmxkLmZpZWxkVmFsdWUgPz8gdGhpcy5fZGVmYXVsdFZhbHVlID8/ICcnKTtcbiAgfVxuXG4gIGdldCBhbGlnbm1lbnQoKSB7IHJldHVybiB0aGlzLl9maWVsZEFsaWdubWVudDsgfVxuICBzZXQgYWxpZ25tZW50KGFsaWdubWVudCkgeyB0aGlzLnNldEF0dHIoYXR0cnMuZmllbGRBbGlnbm1lbnQsIGFsaWdubWVudCk7IH1cbiAgZ2V0IGJhY2tlbmQoKSB7IHJldHVybiB0aGlzLl92YWxpZGF0ZU9uU2VydmVyOyB9XG5cbiAgZ2V0IGNhcHR1cmVUeXBlKCkgeyByZXR1cm4gdGhpcy5fY2FwdHVyZVR5cGU7IH1cbiAgc2V0IGNhcHR1cmVUeXBlKGNhcHR1cmVUeXBlKSB7IHRoaXMuc2V0QXR0cihhdHRycy5jYXB0dXJlVHlwZSwgY2FwdHVyZVR5cGUpOyB9XG5cbiAgZ2V0IHBsYWNlaG9sZGVyKCkgeyByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7IH1cbiAgc2V0IHBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyKSB7IHRoaXMuc2V0QXR0cihhdHRycy5wbGFjZWhvbGRlciwgcGxhY2Vob2xkZXIpOyB9XG5cbiAgZ2V0IGNvZGUoKSB7IHJldHVybiB0aGlzLl9maWVsZENvZGU7IH1cbiAgZ2V0IGRlZmF1bHRWYWx1ZSgpIHsgcmV0dXJuIHRoaXMuX2RlZmF1bHRWYWx1ZTsgfVxuICBzZXQgZGVmYXVsdFZhbHVlKGRlZmF1bHRWYWx1ZSkgeyB0aGlzLnNldEF0dHIoYXR0cnMuZGVmYXVsdFZhbHVlLCBkZWZhdWx0VmFsdWUpOyB9XG4gIGdldCBkZWZhdWx0RWRpdGFibGUoKSB7IHJldHVybiB0aGlzLl9kZWZhdWx0RWRpdGFibGU7IH1cbiAgc2V0IGRlZmF1bHRFZGl0YWJsZShlZGl0YWJsZSkgeyB0aGlzLnNldEF0dHIoYXR0cnMuZGVmYXVsdEVkaXRhYmxlLCBlZGl0YWJsZSk7IH1cbiAgZ2V0IGRldGFpbFJlcXVlc3QoKSB7IHJldHVybiB0aGlzLl9kZXRhaWxSZXF1ZXN0OyB9XG4gIGdldCBlZGl0aW9uRmluaXNoKCkgeyByZXR1cm4gdGhpcy5fZWRpdGlvbkZpbmlzaDsgfVxuICBnZXQgZWRpdGlvblBhcnRpYWwoKSB7IHJldHVybiB0aGlzLl9lZGl0aW9uUGFydGlhbDsgfVxuXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBmaWVsZEN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgaWYgKGZpZWxkQ3VycmVudFZhbHVlID09PSB1bmRlZmluZWQgfHwgZmllbGRDdXJyZW50VmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZmllbGRUeXBlID09PSB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVHlwZXMuYXJyYXlcbiAgICAgICYmIEFycmF5LmlzQXJyYXkoZmllbGRDdXJyZW50VmFsdWUpICYmIGZpZWxkQ3VycmVudFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgICBpZiAodGhpcy5fZmllbGRUeXBlID09PSB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVHlwZXMucGhvbmUpIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWVsZEN1cnJlbnRWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoZmllbGRDdXJyZW50VmFsdWUubGVuZ3RoICE9PSAyIHx8ICFmaWVsZEN1cnJlbnRWYWx1ZVswXSB8fCAhZmllbGRDdXJyZW50VmFsdWVbMV0pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbiAgICBjb25zdCBhcnJheUZpZWxkVHlwZXMgPSB0aGlzLl9mb3JtQ29uZmlnLmFycmF5RmllbGRUeXBlcyA/PyBudWxsO1xuICAgIGlmIChhcnJheUZpZWxkVHlwZXMgJiYgT2JqZWN0LmtleXMoYXJyYXlGaWVsZFR5cGVzKS5pbmNsdWRlcyh0aGlzLl9maWVsZFR5cGUpKSB7XG4gICAgICBsZXQgYXJyYXlTaXplID0gYXJyYXlGaWVsZFR5cGVzW3RoaXMuX2ZpZWxkVHlwZV07XG4gICAgICBhcnJheVNpemUgPSAhTnVtYmVyLmlzTmFOKCthcnJheVNpemUpID8gK2FycmF5U2l6ZSA6IDA7XG4gICAgICBpZiAoYXJyYXlTaXplID09PSAwKSB7XG4gICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheShmaWVsZEN1cnJlbnRWYWx1ZSkgJiYgZmllbGRDdXJyZW50VmFsdWUubGVuZ3RoID09PSAwKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheShmaWVsZEN1cnJlbnRWYWx1ZSkgJiYgZmllbGRDdXJyZW50VmFsdWUubGVuZ3RoIDwgYXJyYXlTaXplKTtcbiAgICB9O1xuICAgIHJldHVybiBmaWVsZEN1cnJlbnRWYWx1ZSA9PT0gJyc7XG4gIH1cblxuICBnZXQgZXJyb3IoKSB7IHJldHVybiB7IHR5cGU6IHRoaXMuX2Vycm9yVHlwZSwgY29kZTogdGhpcy5fZXJyb3JDb2RlLCBtZXNzYWdlOiB0aGlzLl9lcnJvck1lc3NhZ2UgfTsgfVxuICBzZXQgZXJyb3IoZXJyb3JPYmopIHsgdGhpcy5zZXRFcnJvcihlcnJvck9iai5jb2RlLCBlcnJvck9iai5tZXNzYWdlLCBlcnJvck9iai50eXBlID8/IERFRkFVTFRfRVJST1JfVFlQRSkgfVxuICBnZXQgZXJyb3JDb2RlKCkgeyByZXR1cm4gdGhpcy5fZXJyb3JDb2RlOyB9XG4gIHNldCBlcnJvckNvZGUoY29kZSkgeyB0aGlzLnNldEVycm9yKGNvZGUsIHRoaXMuX2Vycm9yTWVzc2FnZSk7IH1cbiAgZ2V0IGVycm9yTWVzc2FnZSgpIHsgcmV0dXJuIHRoaXMuX2Vycm9yTWVzc2FnZTsgfVxuICBzZXQgZXJyb3JNZXNzYWdlKG1zZykgeyB0aGlzLnNldEVycm9yKHRoaXMuX2Vycm9yQ29kZSwgbXNnKTsgfVxuICBnZXQgZXJyb3JUeXBlKCkgeyByZXR1cm4gdGhpcy5fZXJyb3JUeXBlOyB9XG4gIGdldCBleHRlcm5hbFZhbHVlKCkgeyByZXR1cm4gdGhpcy5fZXh0ZXJuYWxWYWx1ZTsgfVxuICBnZXQgZm9ybWF0KCkgeyByZXR1cm4gdGhpcy5fZmllbGRGb3JtYXQ7IH1cbiAgc2V0IGZvcm1hdChmb3JtYXQpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmZpZWxkRm9ybWF0LCBmb3JtYXQpOyB9XG4gIGdldCBoYXNDaGFuZ2VkKCkgeyByZXR1cm4gdGhpcy5faGFzQ2hhbmdlZDsgfVxuICBzZXQgaGFzQ2hhbmdlZChoYXNDaGFuZ2VkKSB7IHRoaXMuc2V0QXR0cihhdHRycy5oYXNDaGFuZ2VkLCBoYXNDaGFuZ2VkKTsgfVxuXG4gIGdldCBpbmZvKCkgeyByZXR1cm4gdGhpcy5fZmllbGRJbmZvOyB9XG4gIHNldCBpbmZvKG5ld0luZm86IHN0cmluZykgeyB0aGlzLnNldEF0dHIoYXR0cnMuZmllbGRJbmZvLCBuZXdJbmZvKTsgfVxuICBzZXQgaW50cmluc2ljRXJyb3JNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZykgeyB0aGlzLnNldEF0dHIoYXR0cnMuaW50cmluc2ljRXJyb3JNZXNzYWdlLCBtZXNzYWdlKTsgfVxuICBnZXQgbWF4TGVuZ3RoKCkgeyByZXR1cm4gKHRoaXMuX21heExlbmd0aCA+IDApID8gdGhpcy5fbWF4TGVuZ3RoLnRvU3RyaW5nKCkgOiAnJzsgfVxuICBzZXQgbWF4TGVuZ3RoKHJlcXVpcmVkTWF4TGVuZ3RoOiBhbnkpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLm1heExlbmd0aCwgcmVxdWlyZWRNYXhMZW5ndGggPyArcmVxdWlyZWRNYXhMZW5ndGggOiBudWxsKTsgfVxuICBnZXQgbWF4VmFsdWUoKSB7IHJldHVybiB0aGlzLl9tYXhWYWx1ZTsgfVxuXG4gIHNldCBtYXhWYWx1ZShpbnB1dE1heFZhbHVlKSB7XG4gICAgbGV0IG1heFZhbHVlID0gaW5wdXRNYXhWYWx1ZTtcbiAgICBpZiAodGhpcy5fZmllbGRUeXBlID09PSB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVHlwZXMuZGF0ZSkge1xuICAgICAgbWF4VmFsdWUgPSBuZXcgRGF0ZShtYXhWYWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuc2V0QXR0cihhdHRycy5tYXhWYWx1ZSwgbWF4VmFsdWUpO1xuICB9XG5cbiAgZ2V0IG1pbkxlbmd0aCgpIHsgcmV0dXJuIHRoaXMuX21pbkxlbmd0aDsgfVxuICBzZXQgbWluTGVuZ3RoKHJlcXVpcmVkTWluTGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMubWluTGVuZ3RoLCByZXF1aXJlZE1pbkxlbmd0aCA/ICtyZXF1aXJlZE1pbkxlbmd0aCA6IG51bGwpO1xuICB9XG4gIGdldCBtaW5WYWx1ZSgpIHsgcmV0dXJuIHRoaXMuX21pblZhbHVlOyB9XG5cbiAgc2V0IG1pblZhbHVlKGlucHV0TWluVmFsdWUpIHtcbiAgICBsZXQgbWluVmFsdWUgPSBpbnB1dE1pblZhbHVlO1xuICAgIGlmICh0aGlzLl9maWVsZFR5cGUgPT09IHRoaXMuX2Zvcm1Db25maWcuZmllbGRUeXBlcy5kYXRlKSB7XG4gICAgICBtaW5WYWx1ZSA9IG5ldyBEYXRlKG1pblZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLm1pblZhbHVlLCBtaW5WYWx1ZSk7XG4gIH1cblxuICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRoaXMuX2ZpZWxkQ29kZTsgfVxuXG4gIGdldCBvcHRpb25zKCk6IEZpZWxkT3B0aW9uW10gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZmllbGRPcHRpb25zPy5tYXAob3B0aW9uID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbkNvcHk6IEZpZWxkT3B0aW9uID0geyAuLi5vcHRpb24gfTtcbiAgICAgIHJldHVybiBvcHRpb25Db3B5O1xuICAgIH0pID8/IG51bGw7XG4gIH1cblxuICBzZXQgb3B0aW9ucyhuZXdPcHRpb25zKSB7XG4gICAgaWYgKCghdGhpcy5fZm9ybUNvbmZpZy5jYXB0dXJlVHlwZXNXaXRoT3B0aW9ucy5pbmNsdWRlcyh0aGlzLl9jYXB0dXJlVHlwZSkpXG4gICAgICB8fCB0eXBlb2YgbmV3T3B0aW9ucyA9PT0gVU5ERUZJTkVEIHx8ICFuZXdPcHRpb25zXG4gICAgICB8fCAhQXJyYXkuaXNBcnJheShuZXdPcHRpb25zKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZmllbGRPcHRpb25zID0gbmV3T3B0aW9ucy5tYXAoKG9wdGlvbjogYW55KSA9PiB7XG4gICAgICBpZiAob3B0aW9uLnRleHQgIT09IHVuZGVmaW5lZCAmJiBvcHRpb24udGV4dCAhPT0gbnVsbFxuICAgICAgICAmJiBvcHRpb24udmFsdWUgIT09IHVuZGVmaW5lZCAmJiBvcHRpb24udmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHsgZmllbGRPcHRpb25WYWx1ZTogb3B0aW9uLnRleHQsIGZpZWxkT3B0aW9uSWQ6IG9wdGlvbi52YWx1ZSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICB9KTtcbiAgICBmaWVsZE9wdGlvbnMgPSAoZmllbGRPcHRpb25zICYmIEFycmF5LmlzQXJyYXkoZmllbGRPcHRpb25zKVxuICAgICAgJiYgZmllbGRPcHRpb25zLmxlbmd0aCA+IDApID8gZmllbGRPcHRpb25zIDogW107XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLmZpZWxkT3B0aW9ucywgZmllbGRPcHRpb25zKTtcbiAgICBpZiAodGhpcy5fdmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLl9maWVsZFR5cGUgPT09IHRoaXMuX2Zvcm1Db25maWcuZmllbGRUeXBlcy5hcnJheSAmJiBBcnJheS5pc0FycmF5KHRoaXMuX3ZhbHVlKSkge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdGhpcy5fdmFsdWU/LmZpbHRlcihpdGVtID0+XG4gICAgICAgICAgdGhpcy5fZmllbGRPcHRpb25zPy5maW5kKG9wdCA9PiBvcHQuZmllbGRPcHRpb25JZCA9PT0gaXRlbSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyKGF0dHJzLnZhbHVlLCBmaWVsZFZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHZhbEluT3B0aW9ucyA9IHRoaXMuX2ZpZWxkT3B0aW9ucz8uZmluZChpdGVtID0+IGl0ZW0uZmllbGRPcHRpb25JZCA9PT0gdGhpcy5fdmFsdWUpO1xuICAgICAgICBpZiAoIXZhbEluT3B0aW9ucykge1xuICAgICAgICAgIHRoaXMuX3NldFZhbHVlKCcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5fZmllbGRSZXF1aXJlZCAmJiB0aGlzLl9maWVsZE9wdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJiB0aGlzLl92YWx1ZSAhPT0gdGhpcy5fZmllbGRPcHRpb25zPy5bMF0uZmllbGRPcHRpb25JZCkge1xuICAgICAgdGhpcy5fc2V0VmFsdWUodGhpcy5fZmllbGRPcHRpb25zPy5bMF0uZmllbGRPcHRpb25JZCk7XG4gICAgICB0aGlzLm5vdGlmeUVkaXRpb25GaW5pc2goKTtcbiAgICB9XG4gIH1cblxuICBnZXQgb3B0aW9uVGV4dCgpIHsgcmV0dXJuIHRoaXMuX2ZpZWxkT3B0aW9ucz8uZmluZChpdGVtID0+IGl0ZW0uZmllbGRPcHRpb25JZCA9PT0gdGhpcy5fdmFsdWUpPy5maWVsZE9wdGlvblZhbHVlID8/IG51bGw7IH1cbiAgZ2V0IG91dHB1dE9ubHkoKSB7IHJldHVybiB0aGlzLl9vdXRwdXRPbmx5OyB9XG4gIHNldCBvdXRwdXRPbmx5KG91dHB1dE9ubHkpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLm91dHB1dE9ubHksIG91dHB1dE9ubHkpOyB9XG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2ZpZWxkUmVxdWlyZWQ7IH1cbiAgc2V0IHJlcXVpcmVkKHJlcXVpcmVkOiBib29sZWFuKSB7IHRoaXMuc2V0QXR0cihhdHRycy5maWVsZFJlcXVpcmVkLCByZXF1aXJlZCA/PyBmYWxzZSk7IH1cbiAgZ2V0IHRpdGxlKCkgeyByZXR1cm4gdGhpcy5fZmllbGRUaXRsZTsgfVxuICBzZXQgdGl0bGUodGl0bGUpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmZpZWxkVGl0bGUsIHRpdGxlPy50b1N0cmluZygpID8/ICcnKTsgfVxuICBnZXQgdG9vbHRpcCgpIHsgcmV0dXJuIHRoaXMuX3Rvb2x0aXBUZXh0OyB9XG4gIHNldCB0b29sdGlwKHRvb2x0aXApIHsgdGhpcy5zZXRBdHRyKGF0dHJzLnRvb2x0aXBUZXh0LCB0b29sdGlwKTsgfVxuICBnZXQgdHlwZSgpIHsgcmV0dXJuIHRoaXMuX2ZpZWxkVHlwZTsgfVxuICBzZXQgdHlwZShmaWVsZFR5cGUpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmZpZWxkVHlwZSwgZmllbGRUeXBlKTsgfVxuICBnZXQgb25WYWxpZGF0aW9uKCkgeyByZXR1cm4gdGhpcy5fb25WYWxpZGF0aW9uOyB9XG4gIGdldCB2YWxpZGF0aW5nKCkgeyByZXR1cm4gdGhpcy5fb25WYWxpZGF0aW9uOyB9XG4gIHNldCB2YWxpZGF0aW5nKGlzVmFsaWRhdGluZzogYm9vbGVhbikgeyB0aGlzLnNldEF0dHIoYXR0cnMub25WYWxpZGF0aW9uLCBpc1ZhbGlkYXRpbmcpOyB9XG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gKHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLmJvb2xlYW5cbiAgICAgIHx8IHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLmNoZWNrKSA/IHluKHRoaXMuX3ZhbHVlKSA6IHRoaXMuX3ZhbHVlO1xuICB9XG4gIGdldCB2YWxpZGF0ZU9uU2VydmVyKCkgeyByZXR1cm4gdGhpcy5fdmFsaWRhdGVPblNlcnZlcjsgfVxuICBzZXQgdmFsaWRhdGVPblNlcnZlcih2YWxpZGF0ZU9uU2VydmVyKSB7IHRoaXMuc2V0QXR0cihhdHRycy52YWxpZGF0ZU9uU2VydmVyLCB2YWxpZGF0ZU9uU2VydmVyKTsgfVxuICBnZXQgc2VydmVyQWN0aW9uKCkgeyByZXR1cm4gdGhpcy5fdmFsaWRhdGVPblNlcnZlcjsgfVxuICBzZXQgc2VydmVyQWN0aW9uKHZhbGlkYXRlT25TZXJ2ZXI6IGJvb2xlYW4pIHsgdGhpcy52YWxpZGF0ZU9uU2VydmVyID0gdmFsaWRhdGVPblNlcnZlcjsgfVxuXG4gIHNldCB2YWx1ZShuZXdWYWx1ZSkgeyB0aGlzLl9zZXRWYWx1ZShuZXdWYWx1ZSk7IH1cbiAgZ2V0IHZpc2libGVMYWJlbCgpIHsgcmV0dXJuIHRoaXMuX3Zpc2libGVMYWJlbDsgfVxuICBzZXQgdmlzaWJsZUxhYmVsKHZpc2libGVMYWJlbDogYm9vbGVhbikgeyB0aGlzLnNldEF0dHIoYXR0cnMudmlzaWJsZUxhYmVsLCB2aXNpYmxlTGFiZWwpOyB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSB2YWx1ZVxuICAgKi9cbiAgZ2V0IGZpZWxkVmFsdWUoKSB7IHJldHVybiB0aGlzLnZhbHVlOyB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBoYXNDaGFuZ2VkXG4gICAqL1xuICBjaGFuZ2VkKGhhc0NoYW5nZWQgPSB0cnVlKSB7IHRoaXMuaGFzQ2hhbmdlZCA9IGhhc0NoYW5nZWQ7IH1cblxuICBjbGVhbigpIHsgdGhpcy5fc2V0VmFsdWUodGhpcy5fZGVmYXVsdFZhbHVlIHx8ICcnKTsgdGhpcy5yZXNldEVycm9yKCk7IH1cbiAgZm9jdXMoKSB7IHRoaXMuc2V0QXR0cihhdHRycy5mb2N1cywgdHJ1ZSk7IH1cbiAgZ2V0RXJyb3JDb2RlKCkgeyByZXR1cm4gdGhpcy5lcnJvci5jb2RlOyB9XG4gIHNldEVycm9yQ29kZShjb2RlKSB7IHRoaXMuc2V0RXJyb3IoY29kZSwgdGhpcy5fZXJyb3JNZXNzYWdlKTsgfVxuICBnZXRFcnJvck1lc3NhZ2UoKSB7IHJldHVybiB0aGlzLmVycm9yLm1lc3NhZ2U7IH1cbiAgc2V0RXJyb3JNZXNzYWdlKG1zZykgeyB0aGlzLnNldEVycm9yKHRoaXMuX2Vycm9yQ29kZSwgbXNnKTsgfVxuICBnZXRSZXF1aXJlZCgpIHsgcmV0dXJuIHRoaXMucmVxdWlyZWQ7IH1cbiAgaGFzRXJyb3IoKSB7IHJldHVybiB0aGlzLl9lcnJvckNvZGUgIT09IE5PX0VSUk9SOyB9XG4gIGhpZGVMYWJlbCgpIHsgdGhpcy52aXNpYmxlTGFiZWwgPSBmYWxzZTsgfVxuICByZXNldEVycm9yKCkgeyAodGhpcy5fZXJyb3JDb2RlICE9PSBOT19FUlJPUikgJiYgdGhpcy5zZXRFcnJvcihOT19FUlJPUiwgbnVsbCk7IH1cbiAgc2V0RWRpdGFibGUoZWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlKSB7IChlZGl0YWJsZSkgPyB0aGlzLmVuYWJsZSgpIDogdGhpcy5kaXNhYmxlKCk7IH1cbiAgc2V0VmFsdWUobmV3VmFsdWUsIHdpZGdldFVwZGF0ZSA9IHRydWUpIHsgdGhpcy5fc2V0VmFsdWUobmV3VmFsdWUsIHdpZGdldFVwZGF0ZSk7IH1cbiAgc2hvd0xhYmVsKCkgeyB0aGlzLnZpc2libGVMYWJlbCA9IHRydWU7IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGNvZGVcbiAgICovXG4gIGdldCBmaWVsZENvZGUoKSB7IHJldHVybiB0aGlzLl9maWVsZENvZGU7IH1cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdGl0bGVcbiAgICovXG4gIHNldExhYmVsKGxhYmVsKSB7IHRoaXMudGl0bGUgPSBsYWJlbDsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgcmVxdWlyZWRcbiAgICovXG4gIHNldFJlcXVpcmVkKHJlcXVpcmVkOiBib29sZWFuKSB7IHRoaXMucmVxdWlyZWQgPSByZXF1aXJlZDsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgY2hhbmdlZFxuICAgKi9cbiAgc2V0Q2hhbmdlZChoYXNDaGFuZ2VkOiBib29sZWFuKSB7IHRoaXMuY2hhbmdlZChoYXNDaGFuZ2VkKTsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdmFsdWVcbiAgICovXG4gIGdldFZhbHVlKCk6IGFueSB7IHJldHVybiB0aGlzLnZhbHVlOyB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBlbXB0eVxuICAgKi9cbiAgaXNFbXB0eSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuZW1wdHkgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZXJyb3JcbiAgICovXG4gIGdldEVycm9yKCkgeyByZXR1cm4gdGhpcy5lcnJvcjsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2Ugb3B0aW9uVGV4dFxuICAgKi9cbiAgZ2V0T3B0aW9uVGV4dCgpIHsgcmV0dXJuIHRoaXMub3B0aW9uVGV4dDsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2Ugb3B0aW9uc1xuICAgKi9cbiAgZ2V0RmllbGRPcHRpb25zKCkgeyByZXR1cm4gdGhpcy5vcHRpb25zOyB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBvcHRpb25zXG4gICAqL1xuICBzZXRGaWVsZE9wdGlvbnMobmV3T3B0aW9ucykgeyByZXR1cm4gdGhpcy5vcHRpb25zID0gbmV3T3B0aW9uczsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgaW50cmluc2ljRXJyb3JNZXNzYWdlXG4gICAqL1xuICBzZXRJbnRyaW5zaWNFcnJvck1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7IHRoaXMuaW50cmluc2ljRXJyb3JNZXNzYWdlID0gbWVzc2FnZTsgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgbWF4VmFsdWVcbiAgICovXG4gIHNldE1heFZhbHVlKGlucHV0TWF4VmFsdWUpIHsgdGhpcy5tYXhWYWx1ZSA9IGlucHV0TWF4VmFsdWU7IH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIG1pblZhbHVlXG4gICAqL1xuICBzZXRNaW5WYWx1ZShpbnB1dE1pblZhbHVlKSB7IHRoaXMubWluVmFsdWUgPSBpbnB1dE1pblZhbHVlOyB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBzaG93TGFiZWxcbiAgICovXG4gIHNldFZpc2libGVMYWJlbCh2aXNpYmxlTGFiZWw6IGJvb2xlYW4pIHsgdGhpcy52aXNpYmxlTGFiZWwgPSB2aXNpYmxlTGFiZWw7IH1cblxuXG4gIG5vdGlmeUVkaXRpb25QYXJ0aWFsKCkge1xuICAgIHRoaXMucmVzZXRFcnJvcigpO1xuICAgIHRoaXMuX2VkaXRpb25QYXJ0aWFsLm5leHQoeyBjb2RlOiB0aGlzLl9maWVsZENvZGUsIGludHJpbnNpY1ZhbGlkYXRpb246IHRydWUgfSk7XG4gIH1cblxuICBub3RpZnlFZGl0aW9uRmluaXNoKCkge1xuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMucmVzZXRFcnJvcigpO1xuICAgIGNvbnN0IHZhbGlkYXRpb25Db25maWcgPSB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVmFsaWRhdGlvbnM/Llt0aGlzLl9maWVsZFR5cGVdID8/IHt9O1xuICAgIGNvbnN0IHsgdHlwZSwgdmFsaWRhdGlvbiB9ID0gdmFsaWRhdGlvbkNvbmZpZztcbiAgICBsZXQgbWVzc2FnZSA9IHZhbGlkYXRpb25Db25maWc/Lm1lc3NhZ2U7XG4gICAgbGV0IGludHJpbnNpY1ZhbGlkYXRpb24gPSB0cnVlO1xuICAgIGlmIChmaWVsZFZhbHVlICYmICh2YWxpZGF0aW9uIHx8IHRoaXMuX2ZpZWxkRm9ybWF0KSkge1xuICAgICAgaWYgKHR5cGUgPT09ICdyZWdleHAnKSB7XG4gICAgICAgIGludHJpbnNpY1ZhbGlkYXRpb24gPSAodmFsaWRhdGlvbj8udGVzdChmaWVsZFZhbHVlKSA/PyB0cnVlKVxuICAgICAgICAgICYmICh0aGlzLl9maWVsZEZvcm1hdD8udGVzdChmaWVsZFZhbHVlKSA/PyB0cnVlKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsaWRhdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCB7IHZhbGlkLCBtZXNzYWdlOiBjdXN0b21NZXNzYWdlIH0gPSB2YWxpZGF0aW9uKGZpZWxkVmFsdWUsIHRoaXMpO1xuICAgICAgICBpbnRyaW5zaWNWYWxpZGF0aW9uID0gdmFsaWQ7XG4gICAgICAgIG1lc3NhZ2UgPSBjdXN0b21NZXNzYWdlO1xuICAgICAgfVxuICAgICAgaWYgKCFpbnRyaW5zaWNWYWxpZGF0aW9uKSB7XG4gICAgICAgIHRoaXMuc2V0RXJyb3IoJzk5JywgbWVzc2FnZSA/PyB0aGlzLl9pbnRyaW5zaWNFcnJvck1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaW50cmluc2ljVmFsaWRhdGlvbiAmJiBmaWVsZFZhbHVlICYmIHRoaXMuX21pblZhbHVlICYmIGZpZWxkVmFsdWUgPCB0aGlzLl9taW5WYWx1ZSkge1xuICAgICAgaW50cmluc2ljVmFsaWRhdGlvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5zZXRFcnJvcignOTknLCAnQ2FtcG8gY29uIHZhbG9yIGluZmVyaW9yIGFsIG3DrW5pbW8nKTtcbiAgICB9XG4gICAgaWYgKGludHJpbnNpY1ZhbGlkYXRpb24gJiYgZmllbGRWYWx1ZSAmJiB0aGlzLl9tYXhWYWx1ZSAmJiBmaWVsZFZhbHVlID4gdGhpcy5fbWF4VmFsdWUpIHtcbiAgICAgIGludHJpbnNpY1ZhbGlkYXRpb24gPSBmYWxzZTtcbiAgICAgIHRoaXMuc2V0RXJyb3IoJzk5JywgJ0NhbXBvIGNvbiB2YWxvciBzdXBlcmlvciBhbCBtw6F4aW1vJyk7XG4gICAgfVxuICAgIGlmIChpbnRyaW5zaWNWYWxpZGF0aW9uICYmIGZpZWxkVmFsdWUgJiYgdHlwZW9mIGZpZWxkVmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAmJiB0aGlzLl9taW5MZW5ndGggJiYgZmllbGRWYWx1ZT8ubGVuZ3RoIDwgdGhpcy5fbWluTGVuZ3RoKSB7XG4gICAgICBpbnRyaW5zaWNWYWxpZGF0aW9uID0gZmFsc2U7XG4gICAgICB0aGlzLnNldEVycm9yKCc5OScsIGBMb25naXR1ZCBkZSAke3RoaXMuX2ZpZWxkVGl0bGV9IGRlYmUgc2VyIGRlIGFsIG1lbm9zICR7dGhpcy5fbWluTGVuZ3RofWApO1xuICAgIH1cbiAgICB0aGlzLl9lZGl0aW9uRmluaXNoLm5leHQoeyBjb2RlOiB0aGlzLl9maWVsZENvZGUsIGludHJpbnNpY1ZhbGlkYXRpb24gfSk7XG4gIH1cblxuICBub3RpZnlFZGl0aW9uRGV0YWlsUmVxdWVzdChkZXRhaWw6IGFueSkge1xuICAgIGNvbnN0IGRldGFpbEV2ZW50OiBEZXRhaWxFdmVudCA9IHsgY29kZTogdGhpcy5fZmllbGRDb2RlLCBkZXRhaWwgfTtcbiAgICB0aGlzLl9kZXRhaWxSZXF1ZXN0Lm5leHQoZGV0YWlsRXZlbnQpO1xuICB9XG5cbiAgc2V0RXJyb3IoY29kZSwgbWVzc2FnZSwgdHlwZSA9IERFRkFVTFRfRVJST1JfVFlQRSkge1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5lcnJvckNvZGUsIGNvZGUgPz8gTk9fRVJST1IpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5lcnJvclR5cGUsICh0aGlzLl9lcnJvckNvZGUgPT09IE5PX0VSUk9SKSA/ICcnIDogdHlwZSk7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLmVycm9yTWVzc2FnZSwgbWVzc2FnZSA/PyAnJyk7XG4gIH1cblxuICB1cGRhdGVGcm9tU2VydmVyKGZsZCkge1xuICAgIGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZsZCk7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZpZWxkS2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGF0dHJOYW1lID0gZmllbGRLZXlzW2luZGV4XTtcbiAgICAgIGNvbnN0IGF0dHJWYWx1ZSA9IGZsZFthdHRyTmFtZV07XG4gICAgICBpZiAoZGlyZWN0Q2hhbmdlcy5pbmNsdWRlcyhhdHRyTmFtZSkpIHtcbiAgICAgICAgdGhpc1thdHRyTmFtZV0gPSBhdHRyVmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAoYXR0ck5hbWUgPT09ICdsYWJlbCcpICYmICh0aGlzLnRpdGxlID0gYXR0clZhbHVlKTtcbiAgICAgICAgKGF0dHJOYW1lID09PSAnbGFiZWxWaXNpYmxlJykgJiYgKHRoaXMudmlzaWJsZUxhYmVsID0gYXR0clZhbHVlKTtcbiAgICAgICAgKGF0dHJOYW1lID09PSAnZWRpdGFibGUnKSAmJiB0aGlzLnNldEVkaXRhYmxlKGF0dHJWYWx1ZSk7XG4gICAgICAgIChhdHRyTmFtZSA9PT0gJ3Zpc2libGUnKSAmJiB0aGlzLnNldFZpc2liaWxpdHkoYXR0clZhbHVlKTtcbiAgICAgICAgKGF0dHJOYW1lID09PSAndmFsdWUnKSAmJiAodGhpcy5fc2V0VmFsdWUoYXR0clZhbHVlKSAmJiAodGhpcy5oYXNDaGFuZ2VkID0gZmFsc2UpKTtcbiAgICAgICAgKGF0dHJOYW1lID09PSAnZmllbGRWYWx1ZScpICYmICh0aGlzLl9zZXRWYWx1ZShhdHRyVmFsdWUpICYmICh0aGlzLmhhc0NoYW5nZWQgPSBmYWxzZSkpO1xuICAgICAgICAoYXR0ck5hbWUgPT09ICdmaWVsZE9wdGlvbnMnKSAmJiAodGhpcy5vcHRpb25zID0gYXR0clZhbHVlKTtcbiAgICAgICAgKGF0dHJOYW1lID09PSAnZmllbGRUaXRsZScpICYmICh0aGlzLnRpdGxlID0gYXR0clZhbHVlKTtcbiAgICAgICAgKGF0dHJOYW1lID09PSAnZmllbGRUeXBlQ29kZScpICYmICh0aGlzLnR5cGUgPSBhdHRyVmFsdWUpO1xuICAgICAgICAoYXR0ck5hbWUgPT09ICdmaWVsZFR5cGUnKSAmJiAodGhpcy50eXBlID0gYXR0clZhbHVlKTtcbiAgICAgICAgKGF0dHJOYW1lID09PSAndG9vbHRpcFRleHQnKSAmJiAodGhpcy50b29sdGlwID0gYXR0clZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRWYWx1ZShuZXdWYWx1ZSwgd2lkZ2V0VXBkYXRlID0gdHJ1ZSkge1xuICAgIGNvbnNvbGUubG9nKGBfc2V0VmFsdWUgJHt0aGlzLl9maWVsZENvZGV9IGNvbiAke25ld1ZhbHVlfWApO1xuICAgIGlmICh0eXBlb2YgbmV3VmFsdWUgPT09IFVOREVGSU5FRCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChuZXdWYWx1ZSA9PT0gbnVsbCAmJiB0aGlzLnJlcXVpcmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgbGV0IG5ld0ZpbmFsVmFsdWU7XG4gICAgaWYgKHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLmJvb2xlYW5cbiAgICAgIHx8IHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLmNoZWNrKSB7XG4gICAgICBuZXdGaW5hbFZhbHVlID0geW4obmV3VmFsdWUpID8/IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fZmllbGRUeXBlID09PSB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVHlwZXMuYXJyYXlcbiAgICAgIHx8IHRoaXMuX2ZpZWxkVHlwZSA9PT0gdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLm1hcCkge1xuICAgICAgaWYgKG5ld1ZhbHVlID09PSBudWxsIHx8IG5ld1ZhbHVlID09PSAnJykge1xuICAgICAgICBuZXdGaW5hbFZhbHVlID0gW107XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkobmV3VmFsdWUpKSB7XG4gICAgICAgIG5ld0ZpbmFsVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld0ZpbmFsVmFsdWUgPSBuZXdWYWx1ZS50b1N0cmluZygpLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0ZpbmFsVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3ZhbHVlICE9PSBuZXdGaW5hbFZhbHVlKSB7XG4gICAgICB0aGlzLmhhc0NoYW5nZWQgPSB0cnVlO1xuICAgICAgaWYgKHdpZGdldFVwZGF0ZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgc2UgYWN0dWFsaXphIGVsIGNhbXBvICR7dGhpcy5fZmllbGRDb2RlfSBjb24gJHtuZXdGaW5hbFZhbHVlfWApO1xuICAgICAgICB0aGlzLnNldEF0dHIoYXR0cnMudmFsdWUsIG5ld0ZpbmFsVmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBuZXdGaW5hbFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
@@ -11,7 +11,7 @@ export class FormPiecePropagate extends FormPiece {
|
|
|
11
11
|
}
|
|
12
12
|
get attributeChange() { return this._attributeChange; }
|
|
13
13
|
propagateAttribute(name, value) {
|
|
14
|
-
console.log(`Propagando ${name} con ${value}`);
|
|
14
|
+
(name === 'value') && console.log(`Propagando ${name} con ${value}`);
|
|
15
15
|
this._attributeChange?.next({ name, value });
|
|
16
16
|
}
|
|
17
17
|
setCustomAttribute(name, value) {
|
|
@@ -37,4 +37,4 @@ export class FormPiecePropagate extends FormPiece {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UtcHJvcGFnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy9waWVjZS1wcm9wYWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUMxQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFFNUIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFDckMsMkJBQTJCLEdBQWEsRUFBRSxDQUFDO0lBQzNDLGdCQUFnQixDQUF1QjtJQUVqRCxZQUFZLGVBQW9CLEVBQUUsVUFBZTtRQUMvQyxLQUFLLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBRXZELGtCQUFrQixDQUFDLElBQUksRUFBRSxLQUFLO1FBQzVCLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLFFBQVEsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVRLGtCQUFrQixDQUFDLElBQVksRUFBRSxLQUFVO1FBQ2xELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckQsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLElBQUksRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFUSxhQUFhLENBQUMsT0FBZ0IsRUFBRSxTQUF5QixJQUFJO1FBQ3BFLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFhLE9BQU8sQ0FBQyxPQUFPO1FBQzFCLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFUSxlQUFlLENBQUMsS0FBSztRQUM1QixLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtUGllY2UgfSBmcm9tICcuL3BpZWNlJztcblxuY29uc3QgVklTSUJMRSA9ICd2aXNpYmxlJztcbmNvbnN0IERJU0FCTEVEID0gJ2Rpc2FibGVkJztcblxuZXhwb3J0IGNsYXNzIEZvcm1QaWVjZVByb3BhZ2F0ZSBleHRlbmRzIEZvcm1QaWVjZSB7XG4gIHByb3RlY3RlZCBwcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW107XG4gIHByb3RlY3RlZCBfYXR0cmlidXRlQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8YW55PjtcblxuICBjb25zdHJ1Y3RvcihwaWVjZURlZmluaXRpb246IGFueSwgZm9ybUNvbmZpZzogYW55KSB7XG4gICAgc3VwZXIocGllY2VEZWZpbml0aW9uLCBmb3JtQ29uZmlnKTtcbiAgICB0aGlzLl9hdHRyaWJ1dGVDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gIH1cblxuICBnZXQgYXR0cmlidXRlQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fYXR0cmlidXRlQ2hhbmdlOyB9XG5cbiAgcHJvcGFnYXRlQXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7XG4gICAgKG5hbWUgPT09ICd2YWx1ZScpICYmIGNvbnNvbGUubG9nKGBQcm9wYWdhbmRvICR7bmFtZX0gY29uICR7dmFsdWV9YCk7XG4gICAgdGhpcy5fYXR0cmlidXRlQ2hhbmdlPy5uZXh0KHsgbmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBvdmVycmlkZSBzZXRDdXN0b21BdHRyaWJ1dGUobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgc3VwZXIuc2V0Q3VzdG9tQXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICBpZiAodGhpcy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXM/LmluY2x1ZGVzKG5hbWUpKSB7XG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGBjdXN0b21BdHRyaWJ1dGVzLiR7bmFtZX1gO1xuICAgICAgdGhpcy5wcm9wYWdhdGVBdHRyaWJ1dGUoZnVsbE5hbWUsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBzZXRWaXNpYmlsaXR5KHZpc2libGU6IGJvb2xlYW4sIGZvcmNlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmlzaWJpbGl0eSh2aXNpYmxlLCBmb3JjZWQpO1xuICAgIHRoaXMucHJvcGFnYXRlQXR0cmlidXRlKFZJU0lCTEUsIHRoaXMuX3Zpc2libGUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0IGVuYWJsZWQoZW5hYmxlZCkge1xuICAgIHN1cGVyLmVuYWJsZWQgPSBlbmFibGVkO1xuICAgIHRoaXMucHJvcGFnYXRlQXR0cmlidXRlKERJU0FCTEVELCB0aGlzLl9kaXNhYmxlZCk7XG4gIH1cblxuICBvdmVycmlkZSBmb3JtU3RhdGVDaGFuZ2Uoc3RhdGUpIHtcbiAgICBzdXBlci5mb3JtU3RhdGVDaGFuZ2Uoc3RhdGUpO1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgdGhpcy5wcm9wYWdhdGVBdHRyaWJ1dGUoVklTSUJMRSwgdGhpcy5fdmlzaWJsZSk7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShESVNBQkxFRCwgdGhpcy5fZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -41,7 +41,8 @@ export class FieldComponent extends ElementComponent {
|
|
|
41
41
|
updatePropagatedAttributes() {
|
|
42
42
|
this.updatePieceAttributes(this.field, signaledAttributes);
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
ngAfterViewInit() {
|
|
45
|
+
console.log(`ngOnInit ${this.field?.code}`);
|
|
45
46
|
if (!this.field) {
|
|
46
47
|
return;
|
|
47
48
|
}
|
|
@@ -49,9 +50,10 @@ export class FieldComponent extends ElementComponent {
|
|
|
49
50
|
this.formConfig = this.field?._formConfig;
|
|
50
51
|
this.updatePropagatedAttributes();
|
|
51
52
|
this.replaceCustomAttributes(this.field?.customAttributes);
|
|
53
|
+
console.log(`Se inicia subscripción para ${this.field.code}`);
|
|
52
54
|
this.field?.attributeChange.subscribe(event => {
|
|
53
55
|
const { name: attribute, value = null } = event ?? {};
|
|
54
|
-
console.log(`Se recibe actualización de ${attribute} con ${value}`);
|
|
56
|
+
(attribute === 'value') && console.log(`Se recibe actualización de ${attribute} con ${value}`);
|
|
55
57
|
const attributeParts = attribute?.split('.') ?? [];
|
|
56
58
|
if (attribute === VALUE) {
|
|
57
59
|
console.log('Vamos a ejecutar updateValue');
|
|
@@ -98,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
98
100
|
}], propDecorators: { field: [{
|
|
99
101
|
type: Input
|
|
100
102
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBOztBQUU3RCxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO0FBRTdDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsY0FBYztJQUNqRyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUztJQUNoRyxZQUFZLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxZQUFZO0lBQzVGLGFBQWEsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTztDQUM3RixDQUFDO0FBRUYsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUt0QixNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQUNsRCxzQ0FBc0M7SUFDdEMsV0FBVyxHQUFRLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUN0QyxTQUFTLEdBQVEsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLFlBQVksR0FBUSxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFRLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUNwQyxZQUFZLEdBQVEsTUFBTSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3RDLGVBQWUsR0FBUSxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDOUMsU0FBUyxHQUFRLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUNwQyxJQUFJLEdBQVEsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLElBQUksR0FBUSxNQUFNLENBQU0sSUFBSSxDQUFDLENBQUM7SUFDOUIsUUFBUSxHQUFRLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUN2QyxLQUFLLEdBQVEsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLElBQUksR0FBUSxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDL0IsTUFBTSxHQUFRLE1BQU0sQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNoQyxPQUFPLEdBQVEsTUFBTSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ2pDLFVBQVUsR0FBUSxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDekMsU0FBUyxHQUFRLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUNuQyxTQUFTLEdBQVEsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ25DLFFBQVEsR0FBUSxNQUFNLENBQU0sSUFBSSxDQUFDLENBQUM7SUFDbEMsUUFBUSxHQUFRLE1BQU0sQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNsQyxZQUFZLEdBQVEsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzNDLFVBQVUsR0FBUSxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDekMsV0FBVyxHQUFRLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUN0QyxPQUFPLEdBQVEsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLGdCQUFnQixHQUFRLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUMvQyxZQUFZLEdBQVEsTUFBTSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBRTFDLEtBQUssQ0FBTSxDQUFFLG1GQUFtRjtJQUN2RixLQUFLLEdBQTJCLElBQUksQ0FBQztJQUU5QywwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUM1RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQztRQUMxQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEdBQUcsSUFBSSxFQUFFLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixTQUFTLFFBQVEsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNwRSxNQUFNLGNBQWMsR0FBRyxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuRCxJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO2dCQUMzQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsQ0FBQztpQkFBTSxJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsQ0FBQztpQkFBTSxJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLENBQUM7aUJBQU0sSUFBSSxjQUFjLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNuRixNQUFNLFlBQVksR0FBRyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxhQUFhLEtBQUssVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsZUFBZSxLQUFLLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlFLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVuRyxLQUFLLEtBQUssQ0FBQztJQUVYLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXJGLFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzt3R0FoRlUsY0FBYzs0RkFBZCxjQUFjLG9HQUZmLDJCQUEyQjs7NEZBRTFCLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQThCVSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGREZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3Jtcy9maWVsZCc7XG5pbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQvZWxlbWVudC5jb21wb25lbnQnXG5cbmNvbnN0IENVU1RPTV9BVFRSSUJVVEVTID0gJ2N1c3RvbUF0dHJpYnV0ZXMnO1xuXG5jb25zdCBzaWduYWxlZEF0dHJpYnV0ZXMgPSBbJ2NhcHR1cmVUeXBlJywgJ2Vycm9yQ29kZScsICdlcnJvck1lc3NhZ2UnLCAnZXJyb3JUeXBlJywgJ2RlZmF1bHRWYWx1ZScsXG4gICdkZWZhdWx0RWRpdGFibGUnLCAnYWxpZ25tZW50JywgJ2NvZGUnLCAnaW5mbycsICdyZXF1aXJlZCcsICd0aXRsZScsICd0eXBlJywgJ2Zvcm1hdCcsICdvcHRpb25zJyxcbiAgJ2hhc0NoYW5nZWQnLCAnbWF4TGVuZ3RoJywgJ21heFZhbHVlJywgJ21pbkxlbmd0aCcsICdtaW5WYWx1ZScsICdvblZhbGlkYXRpb24nLCAnb3V0cHV0T25seScsXG4gICdwbGFjZWhvbGRlcicsICd0b29sdGlwJywgJ3ZhbGlkYXRlT25TZXJ2ZXInLCAndmlzaWJsZUxhYmVsJywgJ3Zpc2libGUnLCAnZGlzYWJsZWQnLCAndmFsdWUnLFxuXTtcblxuY29uc3QgVkFMVUUgPSAndmFsdWUnO1xuY29uc3QgRk9DVVMgPSAnZm9jdXMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZpZWxkJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZENvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBBdHJpYnV0b3MgcHJvcGFnYWRvcyBkZXNkZSBlbCBjYW1wb1xuICBjYXB0dXJlVHlwZTogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICBlcnJvckNvZGU6IGFueSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgZXJyb3JNZXNzYWdlOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGVycm9yVHlwZTogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICBkZWZhdWx0VmFsdWU6IGFueSA9IHNpZ25hbDxhbnk+KG51bGwpO1xuICBkZWZhdWx0RWRpdGFibGU6IGFueSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGFsaWdubWVudDogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICBjb2RlOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGluZm86IGFueSA9IHNpZ25hbDxhbnk+KG51bGwpO1xuICByZXF1aXJlZDogYW55ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgdGl0bGU6IGFueSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgdHlwZTogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICBmb3JtYXQ6IGFueSA9IHNpZ25hbDxhbnk+KG51bGwpO1xuICBvcHRpb25zOiBhbnkgPSBzaWduYWw8YW55PihudWxsKTtcbiAgaGFzQ2hhbmdlZDogYW55ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgbWluTGVuZ3RoOiBhbnkgPSBzaWduYWw8bnVtYmVyPigwKTtcbiAgbWF4TGVuZ3RoOiBhbnkgPSBzaWduYWw8bnVtYmVyPigwKTtcbiAgbWluVmFsdWU6IGFueSA9IHNpZ25hbDxhbnk+KG51bGwpO1xuICBtYXhWYWx1ZTogYW55ID0gc2lnbmFsPGFueT4obnVsbCk7XG4gIG9uVmFsaWRhdGlvbjogYW55ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgb3V0cHV0T25seTogYW55ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcGxhY2Vob2xkZXI6IGFueSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgdG9vbHRpcDogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICB2YWxpZGF0ZU9uU2VydmVyOiBhbnkgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICB2aXNpYmxlTGFiZWw6IGFueSA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcblxuICB2YWx1ZTogYW55OyAgLy8gVmFsb3IgZGVsIGNvbXBvbmVudGUgcmVsYWNpb25hZG8gY29uIGVsIGNhbXBvIChwdWVkZW4gZGlmZXJpciBlbiBmb3JtYXRvIHkgdGlwbylcbiAgQElucHV0KCkgZmllbGQ6IEZpZWxkRGVzY3JpcHRvciB8IG51bGwgPSBudWxsO1xuXG4gIHVwZGF0ZVByb3BhZ2F0ZWRBdHRyaWJ1dGVzKCkge1xuICAgIHRoaXMudXBkYXRlUGllY2VBdHRyaWJ1dGVzKHRoaXMuZmllbGQsIHNpZ25hbGVkQXR0cmlidXRlcylcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5maWVsZCkgeyByZXR1cm47IH1cbiAgICB0aGlzLmZpZWxkLndpZGdldCA9IHRoaXM7XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5maWVsZD8uX2Zvcm1Db25maWc7XG4gICAgdGhpcy51cGRhdGVQcm9wYWdhdGVkQXR0cmlidXRlcygpO1xuICAgIHRoaXMucmVwbGFjZUN1c3RvbUF0dHJpYnV0ZXModGhpcy5maWVsZD8uY3VzdG9tQXR0cmlidXRlcyk7XG4gICAgdGhpcy5maWVsZD8uYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zdCB7IG5hbWU6IGF0dHJpYnV0ZSwgdmFsdWUgPSBudWxsIH0gPSBldmVudCA/PyB7fTtcbiAgICAgIGNvbnNvbGUubG9nKGBTZSByZWNpYmUgYWN0dWFsaXphY2nDs24gZGUgJHthdHRyaWJ1dGV9IGNvbiAke3ZhbHVlfWApO1xuICAgICAgY29uc3QgYXR0cmlidXRlUGFydHMgPSBhdHRyaWJ1dGU/LnNwbGl0KCcuJykgPz8gW107XG4gICAgICBpZiAoYXR0cmlidXRlID09PSBWQUxVRSkge1xuICAgICAgICBjb25zb2xlLmxvZygnVmFtb3MgYSBlamVjdXRhciB1cGRhdGVWYWx1ZScpXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlID09PSBGT0NVUykge1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICB9IGVsc2UgaWYgKHNpZ25hbGVkQXR0cmlidXRlcy5pbmNsdWRlcyhhdHRyaWJ1dGUpKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUGllY2VBdHRyaWJ1dGUoc2lnbmFsZWRBdHRyaWJ1dGVzLCBhdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlUGFydHM/Lmxlbmd0aCA+IDEgJiYgYXR0cmlidXRlUGFydHM/LlswXSA9PT0gQ1VTVE9NX0FUVFJJQlVURVMpIHtcbiAgICAgICAgY29uc3Qgc3ViQXR0cmlidXRlID0gYXR0cmlidXRlUGFydHM/LlsxXSA/PyBudWxsO1xuICAgICAgICB0aGlzLnVwZGF0ZUN1c3RvbUF0dHJpYnV0ZShzdWJBdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZSgpIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5maWVsZD8udmFsdWU7XG4gIH1cblxuICBvbklucHV0Q2hhbmdlKCkgeyBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmllbGQ/Lm5vdGlmeUVkaXRpb25QYXJ0aWFsKCksIDUwKTsgfVxuICBvbkNoYW5nZUNvbnRlbnQoKSB7IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZD8ubm90aWZ5RWRpdGlvbkZpbmlzaCgpLCA1MCk7IH1cbiAgb25TaG93SW5mbyhkZXRhaWwgPSBudWxsKSB7IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZD8ubm90aWZ5RWRpdGlvbkRldGFpbFJlcXVlc3QoZGV0YWlsKSwgNTApOyB9XG5cbiAgZm9jdXMoKSB7IH1cblxuICB1cGRhdGVPYmplY3Qod2lkZ2V0VXBkYXRlID0gdHJ1ZSkgeyB0aGlzLmZpZWxkPy5zZXRWYWx1ZSh0aGlzLnZhbHVlLCB3aWRnZXRVcGRhdGUpOyB9XG5cbiAgaW5wdXRDaGFuZ2VkKCkge1xuICAgIHRoaXMuZmllbGQ/LnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25DaGFuZ2VDb250ZW50KCk7XG4gIH1cblxuICBpbnB1dFR5cGVkKCkge1xuICAgIHRoaXMudXBkYXRlT2JqZWN0KGZhbHNlKTtcbiAgICB0aGlzLm9uSW5wdXRDaGFuZ2UoKTtcbiAgfVxufVxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTs7QUFFN0QsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztBQUU3QyxNQUFNLGtCQUFrQixHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGNBQWM7SUFDakcsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVM7SUFDaEcsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWTtJQUM1RixhQUFhLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU87Q0FDN0YsQ0FBQztBQUVGLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFLdEIsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFDbEQsc0NBQXNDO0lBQ3RDLFdBQVcsR0FBUSxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDdEMsU0FBUyxHQUFRLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUNwQyxZQUFZLEdBQVEsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLFNBQVMsR0FBUSxNQUFN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LEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkcsS0FBSyxLQUFLLENBQUM7SUFFWCxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVyRixZQUFZO1FBQ1YsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBbEZVLGNBQWM7NEZBQWQsY0FBYyxvR0FGZiwyQkFBMkI7OzRGQUUxQixjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkE4QlUsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBzaWduYWwsIE9uSW5pdCwgSW5wdXQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybXMvZmllbGQnO1xuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0L2VsZW1lbnQuY29tcG9uZW50J1xuXG5jb25zdCBDVVNUT01fQVRUUklCVVRFUyA9ICdjdXN0b21BdHRyaWJ1dGVzJztcblxuY29uc3Qgc2lnbmFsZWRBdHRyaWJ1dGVzID0gWydjYXB0dXJlVHlwZScsICdlcnJvckNvZGUnLCAnZXJyb3JNZXNzYWdlJywgJ2Vycm9yVHlwZScsICdkZWZhdWx0VmFsdWUnLFxuICAnZGVmYXVsdEVkaXRhYmxlJywgJ2FsaWdubWVudCcsICdjb2RlJywgJ2luZm8nLCAncmVxdWlyZWQnLCAndGl0bGUnLCAndHlwZScsICdmb3JtYXQnLCAnb3B0aW9ucycsXG4gICdoYXNDaGFuZ2VkJywgJ21heExlbmd0aCcsICdtYXhWYWx1ZScsICdtaW5MZW5ndGgnLCAnbWluVmFsdWUnLCAnb25WYWxpZGF0aW9uJywgJ291dHB1dE9ubHknLFxuICAncGxhY2Vob2xkZXInLCAndG9vbHRpcCcsICd2YWxpZGF0ZU9uU2VydmVyJywgJ3Zpc2libGVMYWJlbCcsICd2aXNpYmxlJywgJ2Rpc2FibGVkJywgJ3ZhbHVlJyxcbl07XG5cbmNvbnN0IFZBTFVFID0gJ3ZhbHVlJztcbmNvbnN0IEZPQ1VTID0gJ2ZvY3VzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1maWVsZCcsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRDb21wb25lbnQgZXh0ZW5kcyBFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8vIEF0cmlidXRvcyBwcm9wYWdhZG9zIGRlc2RlIGVsIGNhbXBvXG4gIGNhcHR1cmVUeXBlOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGVycm9yQ29kZTogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICBlcnJvck1lc3NhZ2U6IGFueSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgZXJyb3JUeXBlOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGRlZmF1bHRWYWx1ZTogYW55ID0gc2lnbmFsPGFueT4obnVsbCk7XG4gIGRlZmF1bHRFZGl0YWJsZTogYW55ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgYWxpZ25tZW50OiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGNvZGU6IGFueSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgaW5mbzogYW55ID0gc2lnbmFsPGFueT4obnVsbCk7XG4gIHJlcXVpcmVkOiBhbnkgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICB0aXRsZTogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICB0eXBlOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGZvcm1hdDogYW55ID0gc2lnbmFsPGFueT4obnVsbCk7XG4gIG9wdGlvbnM6IGFueSA9IHNpZ25hbDxhbnk+KG51bGwpO1xuICBoYXNDaGFuZ2VkOiBhbnkgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBtaW5MZW5ndGg6IGFueSA9IHNpZ25hbDxudW1iZXI+KDApO1xuICBtYXhMZW5ndGg6IGFueSA9IHNpZ25hbDxudW1iZXI+KDApO1xuICBtaW5WYWx1ZTogYW55ID0gc2lnbmFsPGFueT4obnVsbCk7XG4gIG1heFZhbHVlOiBhbnkgPSBzaWduYWw8YW55PihudWxsKTtcbiAgb25WYWxpZGF0aW9uOiBhbnkgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBvdXRwdXRPbmx5OiBhbnkgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwbGFjZWhvbGRlcjogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICB0b29sdGlwOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIHZhbGlkYXRlT25TZXJ2ZXI6IGFueSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHZpc2libGVMYWJlbDogYW55ID0gc2lnbmFsPGJvb2xlYW4+KHRydWUpO1xuXG4gIHZhbHVlOiBhbnk7ICAvLyBWYWxvciBkZWwgY29tcG9uZW50ZSByZWxhY2lvbmFkbyBjb24gZWwgY2FtcG8gKHB1ZWRlbiBkaWZlcmlyIGVuIGZvcm1hdG8geSB0aXBvKVxuICBASW5wdXQoKSBmaWVsZDogRmllbGREZXNjcmlwdG9yIHwgbnVsbCA9IG51bGw7XG5cbiAgdXBkYXRlUHJvcGFnYXRlZEF0dHJpYnV0ZXMoKSB7XG4gICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZXModGhpcy5maWVsZCwgc2lnbmFsZWRBdHRyaWJ1dGVzKVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnNvbGUubG9nKGBuZ09uSW5pdCAke3RoaXMuZmllbGQ/LmNvZGV9YCk7XG4gICAgaWYgKCF0aGlzLmZpZWxkKSB7IHJldHVybjsgfVxuICAgIHRoaXMuZmllbGQud2lkZ2V0ID0gdGhpcztcbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLmZpZWxkPy5fZm9ybUNvbmZpZztcbiAgICB0aGlzLnVwZGF0ZVByb3BhZ2F0ZWRBdHRyaWJ1dGVzKCk7XG4gICAgdGhpcy5yZXBsYWNlQ3VzdG9tQXR0cmlidXRlcyh0aGlzLmZpZWxkPy5jdXN0b21BdHRyaWJ1dGVzKTtcbiAgICBjb25zb2xlLmxvZyhgU2UgaW5pY2lhIHN1YnNjcmlwY2nDs24gcGFyYSAke3RoaXMuZmllbGQuY29kZX1gKTtcbiAgICB0aGlzLmZpZWxkPy5hdHRyaWJ1dGVDaGFuZ2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZTogYXR0cmlidXRlLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgKGF0dHJpYnV0ZSA9PT0gJ3ZhbHVlJykgJiYgY29uc29sZS5sb2coYFNlIHJlY2liZSBhY3R1YWxpemFjacOzbiBkZSAke2F0dHJpYnV0ZX0gY29uICR7dmFsdWV9YCk7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVQYXJ0cyA9IGF0dHJpYnV0ZT8uc3BsaXQoJy4nKSA/PyBbXTtcbiAgICAgIGlmIChhdHRyaWJ1dGUgPT09IFZBTFVFKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdWYW1vcyBhIGVqZWN1dGFyIHVwZGF0ZVZhbHVlJylcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUgPT09IEZPQ1VTKSB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgIH0gZWxzZSBpZiAoc2lnbmFsZWRBdHRyaWJ1dGVzLmluY2x1ZGVzKGF0dHJpYnV0ZSkpIHtcbiAgICAgICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZShzaWduYWxlZEF0dHJpYnV0ZXMsIGF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGVQYXJ0cz8ubGVuZ3RoID4gMSAmJiBhdHRyaWJ1dGVQYXJ0cz8uWzBdID09PSBDVVNUT01fQVRUUklCVVRFUykge1xuICAgICAgICBjb25zdCBzdWJBdHRyaWJ1dGUgPSBhdHRyaWJ1dGVQYXJ0cz8uWzFdID8/IG51bGw7XG4gICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tQXR0cmlidXRlKHN1YkF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLmZpZWxkPy52YWx1ZTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoKSB7IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZD8ubm90aWZ5RWRpdGlvblBhcnRpYWwoKSwgNTApOyB9XG4gIG9uQ2hhbmdlQ29udGVudCgpIHsgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkPy5ub3RpZnlFZGl0aW9uRmluaXNoKCksIDUwKTsgfVxuICBvblNob3dJbmZvKGRldGFpbCA9IG51bGwpIHsgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkPy5ub3RpZnlFZGl0aW9uRGV0YWlsUmVxdWVzdChkZXRhaWwpLCA1MCk7IH1cblxuICBmb2N1cygpIHsgfVxuXG4gIHVwZGF0ZU9iamVjdCh3aWRnZXRVcGRhdGUgPSB0cnVlKSB7IHRoaXMuZmllbGQ/LnNldFZhbHVlKHRoaXMudmFsdWUsIHdpZGdldFVwZGF0ZSk7IH1cblxuICBpbnB1dENoYW5nZWQoKSB7XG4gICAgdGhpcy5maWVsZD8uc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZUNvbnRlbnQoKTtcbiAgfVxuXG4gIGlucHV0VHlwZWQoKSB7XG4gICAgdGhpcy51cGRhdGVPYmplY3QoZmFsc2UpO1xuICAgIHRoaXMub25JbnB1dENoYW5nZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -186,7 +186,8 @@ class FieldComponent extends ElementComponent {
|
|
|
186
186
|
updatePropagatedAttributes() {
|
|
187
187
|
this.updatePieceAttributes(this.field, signaledAttributes$4);
|
|
188
188
|
}
|
|
189
|
-
|
|
189
|
+
ngAfterViewInit() {
|
|
190
|
+
console.log(`ngOnInit ${this.field?.code}`);
|
|
190
191
|
if (!this.field) {
|
|
191
192
|
return;
|
|
192
193
|
}
|
|
@@ -194,9 +195,10 @@ class FieldComponent extends ElementComponent {
|
|
|
194
195
|
this.formConfig = this.field?._formConfig;
|
|
195
196
|
this.updatePropagatedAttributes();
|
|
196
197
|
this.replaceCustomAttributes(this.field?.customAttributes);
|
|
198
|
+
console.log(`Se inicia subscripción para ${this.field.code}`);
|
|
197
199
|
this.field?.attributeChange.subscribe(event => {
|
|
198
200
|
const { name: attribute, value = null } = event ?? {};
|
|
199
|
-
console.log(`Se recibe actualización de ${attribute} con ${value}`);
|
|
201
|
+
(attribute === 'value') && console.log(`Se recibe actualización de ${attribute} con ${value}`);
|
|
200
202
|
const attributeParts = attribute?.split('.') ?? [];
|
|
201
203
|
if (attribute === VALUE) {
|
|
202
204
|
console.log('Vamos a ejecutar updateValue');
|
|
@@ -731,7 +733,7 @@ class FormPiecePropagate extends FormPiece {
|
|
|
731
733
|
}
|
|
732
734
|
get attributeChange() { return this._attributeChange; }
|
|
733
735
|
propagateAttribute(name, value) {
|
|
734
|
-
console.log(`Propagando ${name} con ${value}`);
|
|
736
|
+
(name === 'value') && console.log(`Propagando ${name} con ${value}`);
|
|
735
737
|
this._attributeChange?.next({ name, value });
|
|
736
738
|
}
|
|
737
739
|
setCustomAttribute(name, value) {
|
|
@@ -1305,6 +1307,7 @@ class FieldDescriptor extends FormElement {
|
|
|
1305
1307
|
}
|
|
1306
1308
|
}
|
|
1307
1309
|
_setValue(newValue, widgetUpdate = true) {
|
|
1310
|
+
console.log(`_setValue ${this._fieldCode} con ${newValue}`);
|
|
1308
1311
|
if (typeof newValue === UNDEFINED) {
|
|
1309
1312
|
return true;
|
|
1310
1313
|
}
|