@ng-formworks/daisyui 18.6.0 → 18.6.3

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.
@@ -1,6 +1,6 @@
1
1
  import { Component, inject, input } from '@angular/core';
2
2
  import { hasNonNullValue, hasOwn, JsonPointer, JsonSchemaFormService, path2ControlKey } from '@ng-formworks/core';
3
- import { isEqual, isObject } from 'lodash';
3
+ import { isEqual, isObject, pick } from 'lodash';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./daisyui-tabs.component";
6
6
  // TODO: Add this control
@@ -52,14 +52,30 @@ export class DaisyUIOneOfComponent {
52
52
  let parts = controlName.split('$');
53
53
  let fieldName = parts[parts.length - 1];
54
54
  let controlValue = this.jsf.formGroup.controls[controlName].value;
55
- if (isObject(formValue) && hasOwn(formValue, fieldName) &&
56
- formValue[fieldName] == controlValue
57
- //formValue[fieldName]||controlValue
58
- ) {
59
- foundInd = ind;
55
+ let controlSchema = JsonPointer.get(this.jsf.schema, parts.join("/"));
56
+ let schemaPointer = parts.join("/");
57
+ let dPointer = schemaPointer.replace(/(anyOf|allOf|oneOf|none)\/[\d]+\//g, '')
58
+ .replace(/(if|then|else|properties)\//g, '').replace(/\/items\//g, '/-/');
59
+ //JsonPointer.toDataPointer(parts.join("/"),this.jsf.schema);
60
+ let dVal = JsonPointer.get(this.jsf.formValues, dPointer);
61
+ let compareVal = dVal; //formValue;
62
+ //compare only values that are in the subschema properties
63
+ if (controlSchema && controlSchema.properties) {
64
+ compareVal = isObject(dVal) && hasOwn(dVal, fieldName) ?
65
+ pick(dVal[fieldName], Object.keys(controlSchema.properties))
66
+ : pick(dVal, Object.keys(controlSchema.properties));
67
+ }
68
+ /*
69
+ if(isObject(compareVal) && hasOwn(compareVal,fieldName) &&
70
+ isEqual(compareVal[fieldName],controlValue)
71
+ ){
72
+ foundInd=ind;
73
+ }else //if(formValue || controlValue){
74
+ if(isEqual(compareVal,controlValue)){
75
+ foundInd=ind;
60
76
  }
61
- else //if(formValue || controlValue){
62
- if (isEqual(formValue, controlValue)) {
77
+ */
78
+ if (isEqual(compareVal, controlValue)) {
63
79
  foundInd = ind;
64
80
  }
65
81
  });
@@ -96,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
96
112
  standalone: false
97
113
  }]
98
114
  }] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS1vbmUtb2YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWRhaXN5dWkvc3JjL2xpYi93aWRnZXRzL2RhaXN5dWktb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7O0FBSTNDLHlCQUF5QjtBQVl6QixNQUFNLE9BQU8scUJBQXFCO0lBVmxDO1FBV1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSzVDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRVosZUFBVSxHQUFHLEtBQUssQ0FBTSxTQUFTLENBQUMsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO0tBbUVqRDtJQWpFQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBQyxXQUFXLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hELHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFD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LENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULG1DQUFtQztJQUNyQyxDQUFDOytHQTdFVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4ZEFQcEI7Ozs7MkJBSWE7OzRGQUdkLHFCQUFxQjtrQkFWakMsU0FBUzttQkFBQztvQkFDUCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7OzsyQkFJYTtvQkFDdkIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGhhc05vbk51bGxWYWx1ZSwgaGFzT3duLCBKc29uUG9pbnRlciwgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBwYXRoMkNvbnRyb2xLZXkgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0VxdWFsLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5cclxuXHJcbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdkYWlzeXVpLW9uZS1vZi13aWRnZXQnLFxyXG4gICAgdGVtcGxhdGU6IGA8aDQ+e3t0aGlzLm9wdGlvbnM/LmRlc2NyaXB0aW9ufX08L2g0PlxyXG4gICAgPGRhaXN5dWktdGFicy13aWRnZXQgI3RhYnMgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZSgpXCIgXHJcbiAgICBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXgoKVwiIFxyXG4gICAgW2RhdGFJbmRleF09XCJkYXRhSW5kZXgoKVwiID5cclxuICAgIDwvZGFpc3l1aS10YWJzLXdpZGdldD5gLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIERhaXN5VUlPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0Tm9kZSA9IGlucHV0PGFueT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLm9wdGlvbnMudGFiTW9kZT1cIm9uZU9mTW9kZVwiO1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiPXRoaXMuZmluZFNlbGVjdGVkVGFiKCk7XHJcbiAgICAvL3RoaXMub3B0aW9ucy5kZXNjcmlwdGlvbj10aGlzLm9wdGlvbnMuZGVzY3JpcHRpb258fFwiY2hvb3NlIG9uZSBvZlwiO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICAgICAgZmluZFNlbGVjdGVkVGFiKCl7XHJcbiAgICAgICAgLy9UT0RPIHRlc3QtIHRoaXMuanNmLmZvcm1WYWx1ZXMgc2VlbXMgdG8gYmUgdGhlIGluaXRpYWwgZGF0YSBzdXBwbGllZCB0byB0aGUgZm9ybVxyXG4gICAgICAgIC8vd2hpbGUgdGhlIGpzZi5mb3JtR3JvdXAgdmFsdWUgaXMgZGVyaXZlZCBmcm9tIHRoZSBhY3R1YWwgY29udHJvbHNcclxuICAgICAgICAvL2xldCBmb3JtVmFsdWU9dGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKTtcclxuICAgICAgICBsZXQgZm91bmRJbmQ9LTE7XHJcbiAgICAgICAgLy9zZWFjaCBmb3Igbm9uIG51bGwgdmFsdWVcclxuICAgICAgICBpZih0aGlzLmxheW91dE5vZGUoKS5pdGVtcyl7XHJcbiAgICAgICAgICB0aGlzLmxheW91dE5vZGUoKS5pdGVtcy5mb3JFYWNoKChsYXlvdXRJdGVtLGluZCk9PntcclxuICAgICAgICAgICAgbGV0IGZvcm1WYWx1ZT1Kc29uUG9pbnRlci5nZXQodGhpcy5qc2YuZm9ybVZhbHVlcyxsYXlvdXRJdGVtLmRhdGFQb2ludGVyKTtcclxuICAgICAgICAgICAgICBpZihsYXlvdXRJdGVtLm9uZU9mUG9pbnRlcil7XHJcbiAgICAgICAgICAgICAgICBsZXQgY29udHJvbEtleT1wYXRoMkNvbnRyb2xLZXkobGF5b3V0SXRlbS5vbmVPZlBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGZuYW1lPWxheW91dEl0ZW0ubmFtZTtcclxuICAgICAgICAgICAgICAgIGlmKGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkmJlxyXG4gICAgICAgICAgICAgICAgICAoZm9ybVZhbHVlIHx8IGhhc05vbk51bGxWYWx1ZSh0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpKVxyXG4gICAgICAgICAgICAgICAgICAvL2hhc093bihmb3JtVmFsdWUsZm5hbWUpICYmIGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkgXHJcbiAgICAgICAgICAgICAgICAvLyAmJiAoZm9ybVZhbHVlW2ZuYW1lXSB8fCB0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgIC8vJiZpc0VxdWFsKGZvcm1WYWx1ZVtmbmFtZV0sdGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgKXtcclxuICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL2ZvdW5kSW5kPWZvcm1WYWx1ZVtjb250cm9sS2V5XSE9bnVsbD9pbmQ6Zm91bmRJbmQ7XHJcbiAgICAgICAgICAgICAgICAvL2lmIG5vIGV4YWN0IG1hdGNoIGZvdW5kLCB0aGVuIHNlYXJjaCBpbiBkZXNjZW5kYW50IHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgLy90byBzZWUgd2hpY2ggb25lIG9mIGl0ZW0gbWF0Y2hlc1xyXG4gICAgICAgICAgICAgICAgaWYoZm91bmRJbmQ9PS0xKXtcclxuICAgICAgICAgICAgICAgICAgLy9maW5kIGFsbCBkZXNjZW5kYW50IG9uZW9mIHBhdGhzXHJcbiAgICAgICAgICAgICAgICAgIGxldCBkZXNjZW5kYW50T25lT2ZDb250cm9sTmFtZXM9T2JqZWN0LmtleXModGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzKS5maWx0ZXIoY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udHJvbE5hbWUuc3RhcnRzV2l0aChjb250cm9sS2V5KTtcclxuICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgZGVzY2VuZGFudE9uZU9mQ29udHJvbE5hbWVzLmZvckVhY2goY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcGFydHM9Y29udHJvbE5hbWUuc3BsaXQoJyQnKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmllbGROYW1lPXBhcnRzW3BhcnRzLmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29udHJvbFZhbHVlPXRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV0udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaXNPYmplY3QoZm9ybVZhbHVlKSAmJiBoYXNPd24oZm9ybVZhbHVlLGZpZWxkTmFtZSkgJiYgXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybVZhbHVlW2ZpZWxkTmFtZV09PWNvbnRyb2xWYWx1ZVxyXG4gICAgICAgICAgICAgICAgICAgLy9mb3JtVmFsdWVbZmllbGROYW1lXXx8Y29udHJvbFZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2UgLy9pZihmb3JtVmFsdWUgfHwgY29udHJvbFZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihpc0VxdWFsKGZvcm1WYWx1ZSxjb250cm9sVmFsdWUpKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIC8vbm93IG5lZWQgdG8gY29tcGFyZSB2YWx1ZXNcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gTWF0aC5tYXgoZm91bmRJbmQsMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcclxuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSAoKSB7XHJcbiAgICAvL3RoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS1vbmUtb2YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWRhaXN5dWkvc3JjL2xpYi93aWRnZXRzL2RhaXN5dWktb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQUlqRCx5QkFBeUI7QUFZekIsTUFBTSxPQUFPLHFCQUFxQjtJQVZsQztRQVdVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUs1QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVaLGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztLQW9GakQ7SUFsRkMsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUMsV0FBVyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxxRUFBcUU7UUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxp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Y3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGhhc05vbk51bGxWYWx1ZSwgaGFzT3duLCBKc29uUG9pbnRlciwgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBwYXRoMkNvbnRyb2xLZXkgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0VxdWFsLCBpc09iamVjdCwgcGljayB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5cclxuXHJcbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdkYWlzeXVpLW9uZS1vZi13aWRnZXQnLFxyXG4gICAgdGVtcGxhdGU6IGA8aDQ+e3t0aGlzLm9wdGlvbnM/LmRlc2NyaXB0aW9ufX08L2g0PlxyXG4gICAgPGRhaXN5dWktdGFicy13aWRnZXQgI3RhYnMgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZSgpXCIgXHJcbiAgICBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXgoKVwiIFxyXG4gICAgW2RhdGFJbmRleF09XCJkYXRhSW5kZXgoKVwiID5cclxuICAgIDwvZGFpc3l1aS10YWJzLXdpZGdldD5gLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIERhaXN5VUlPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0Tm9kZSA9IGlucHV0PGFueT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLm9wdGlvbnMudGFiTW9kZT1cIm9uZU9mTW9kZVwiO1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiPXRoaXMuZmluZFNlbGVjdGVkVGFiKCk7XHJcbiAgICAvL3RoaXMub3B0aW9ucy5kZXNjcmlwdGlvbj10aGlzLm9wdGlvbnMuZGVzY3JpcHRpb258fFwiY2hvb3NlIG9uZSBvZlwiO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICAgICAgZmluZFNlbGVjdGVkVGFiKCl7XHJcbiAgICAgICAgICAvL1RPRE8gdGVzdC0gdGhpcy5qc2YuZm9ybVZhbHVlcyBzZWVtcyB0byBiZSB0aGUgaW5pdGlhbCBkYXRhIHN1cHBsaWVkIHRvIHRoZSBmb3JtXHJcbiAgICAgICAgICAvL3doaWxlIHRoZSBqc2YuZm9ybUdyb3VwIHZhbHVlIGlzIGRlcml2ZWQgZnJvbSB0aGUgYWN0dWFsIGNvbnRyb2xzXHJcbiAgICAgICAgICAvL2xldCBmb3JtVmFsdWU9dGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKTtcclxuICAgICAgICAgIGxldCBmb3VuZEluZD0tMTtcclxuICAgICAgICAgIC8vc2VhY2ggZm9yIG5vbiBudWxsIHZhbHVlXHJcbiAgICAgICAgICBpZih0aGlzLmxheW91dE5vZGUoKS5pdGVtcyl7XHJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0Tm9kZSgpLml0ZW1zLmZvckVhY2goKGxheW91dEl0ZW0saW5kKT0+e1xyXG4gICAgICAgICAgICAgIGxldCBmb3JtVmFsdWU9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLmZvcm1WYWx1ZXMsbGF5b3V0SXRlbS5kYXRhUG9pbnRlcik7XHJcbiAgICAgICAgICAgICAgICBpZihsYXlvdXRJdGVtLm9uZU9mUG9pbnRlcil7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sS2V5PXBhdGgyQ29udHJvbEtleShsYXlvdXRJdGVtLm9uZU9mUG9pbnRlcik7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBmbmFtZT1sYXlvdXRJdGVtLm5hbWU7XHJcbiAgICAgICAgICAgICAgICAgIGlmKGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkmJlxyXG4gICAgICAgICAgICAgICAgICAgIChmb3JtVmFsdWUgfHwgaGFzTm9uTnVsbFZhbHVlKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgLy9oYXNPd24oZm9ybVZhbHVlLGZuYW1lKSAmJiBoYXNPd24odGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzLGNvbnRyb2xLZXkpIFxyXG4gICAgICAgICAgICAgICAgICAvLyAmJiAoZm9ybVZhbHVlW2ZuYW1lXSB8fCB0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgLy8mJmlzRXF1YWwoZm9ybVZhbHVlW2ZuYW1lXSx0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgLy9mb3VuZEluZD1mb3JtVmFsdWVbY29udHJvbEtleV0hPW51bGw/aW5kOmZvdW5kSW5kO1xyXG4gICAgICAgICAgICAgICAgICAvL2lmIG5vIGV4YWN0IG1hdGNoIGZvdW5kLCB0aGVuIHNlYXJjaCBpbiBkZXNjZW5kYW50IHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgICAvL3RvIHNlZSB3aGljaCBvbmUgb2YgaXRlbSBtYXRjaGVzXHJcbiAgICAgICAgICAgICAgICAgIGlmKGZvdW5kSW5kPT0tMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9maW5kIGFsbCBkZXNjZW5kYW50IG9uZW9mIHBhdGhzXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRlc2NlbmRhbnRPbmVPZkNvbnRyb2xOYW1lcz1PYmplY3Qua2V5cyh0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMpLmZpbHRlcihjb250cm9sTmFtZT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xOYW1lLnN0YXJ0c1dpdGgoY29udHJvbEtleSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICBkZXNjZW5kYW50T25lT2ZDb250cm9sTmFtZXMuZm9yRWFjaChjb250cm9sTmFtZT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcnRzPWNvbnRyb2xOYW1lLnNwbGl0KCckJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgZmllbGROYW1lPXBhcnRzW3BhcnRzLmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sVmFsdWU9dGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xOYW1lXS52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sU2NoZW1hPUpzb25Qb2ludGVyLmdldCh0aGlzLmpzZi5zY2hlbWEscGFydHMuam9pbihcIi9cIikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IHNjaGVtYVBvaW50ZXI9cGFydHMuam9pbihcIi9cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgZFBvaW50ZXI9c2NoZW1hUG9pbnRlci5yZXBsYWNlKC8oYW55T2Z8YWxsT2Z8b25lT2Z8bm9uZSlcXC9bXFxkXStcXC8vZywgJycpXHJcbiAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvKGlmfHRoZW58ZWxzZXxwcm9wZXJ0aWVzKVxcLy9nLCAnJykucmVwbGFjZSgvXFwvaXRlbXNcXC8vZywnLy0vJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvL0pzb25Qb2ludGVyLnRvRGF0YVBvaW50ZXIocGFydHMuam9pbihcIi9cIiksdGhpcy5qc2Yuc2NoZW1hKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBkVmFsPUpzb25Qb2ludGVyLmdldCh0aGlzLmpzZi5mb3JtVmFsdWVzLGRQb2ludGVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBjb21wYXJlVmFsPWRWYWw7Ly9mb3JtVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvL2NvbXBhcmUgb25seSB2YWx1ZXMgdGhhdCBhcmUgaW4gdGhlIHN1YnNjaGVtYSBwcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICAgICAgICBpZihjb250cm9sU2NoZW1hICYmIGNvbnRyb2xTY2hlbWEucHJvcGVydGllcyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVWYWw9aXNPYmplY3QoZFZhbCkgJiYgaGFzT3duKGRWYWwsZmllbGROYW1lKT9cclxuICAgICAgICAgICAgICAgICAgICAgICAgcGljayhkVmFsW2ZpZWxkTmFtZV0sT2JqZWN0LmtleXMoY29udHJvbFNjaGVtYS5wcm9wZXJ0aWVzKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOnBpY2soZFZhbCxPYmplY3Qua2V5cyhjb250cm9sU2NoZW1hLnByb3BlcnRpZXMpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAgIGlmKGlzT2JqZWN0KGNvbXBhcmVWYWwpICYmIGhhc093bihjb21wYXJlVmFsLGZpZWxkTmFtZSkgJiYgXHJcbiAgICAgICAgICAgICAgICAgICAgICBpc0VxdWFsKGNvbXBhcmVWYWxbZmllbGROYW1lXSxjb250cm9sVmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfWVsc2UgLy9pZihmb3JtVmFsdWUgfHwgY29udHJvbFZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGlmKGlzRXF1YWwoY29tcGFyZVZhbCxjb250cm9sVmFsdWUpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgICAgICAgIGlmKGlzRXF1YWwoY29tcGFyZVZhbCxjb250cm9sVmFsdWUpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLy9ub3cgbmVlZCB0byBjb21wYXJlIHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gTWF0aC5tYXgoZm91bmRJbmQsMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZShldmVudCkge1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95ICgpIHtcclxuICAgIC8vdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==