ets-fe-ng-sdk 17.0.183 → 17.0.184

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.
@@ -131,7 +131,7 @@ export class InputBase {
131
131
  this.iS = inject(InputService);
132
132
  this.destroyer = inject(DestroyRef);
133
133
  this.destroyerFunc = this.destroyer.onDestroy(() => {
134
- console.log('dropped input listener', this.labelSignal());
134
+ // console.log('dropped input listener', this.labelSignal());
135
135
  this.controlValueChangesSub?.unsubscribe();
136
136
  });
137
137
  this.validSignal = signal(false);
@@ -177,14 +177,14 @@ export class InputBase {
177
177
  this.mchange = new EventEmitter();
178
178
  effect(() => {
179
179
  const label = this.labelSignal();
180
- console.log('Label set to control');
180
+ // console.log('Label set to control');
181
181
  // value = this.valueSignal();
182
182
  if (this.control)
183
183
  this.control.labelValue = label;
184
184
  });
185
185
  effect(() => {
186
186
  const presetValue = this.presetValue(), options = this.options();
187
- console.log('check preset');
187
+ // console.log('check preset');
188
188
  if (presetValue && options?.length == 1 && !this.control?.value) {
189
189
  this.control?.patchValue(options[0].value);
190
190
  }
@@ -249,4 +249,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
249
249
  }], mchange: [{
250
250
  type: Output
251
251
  }] } });
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTzdELE1BQU0sT0FBTyxTQUFTO0lBa0NwQixnQkFBZ0I7SUFDaEIsSUFBK0MsS0FBSyxDQUFDLENBQTRFO1FBQy9ILElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBMEIsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFTRCxzQkFBc0I7SUFDdEIsSUFBK0MsS0FBSyxDQUFDLENBQW1CO1FBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBSUQsSUFBNEIsY0FBYyxDQUFDLENBQVU7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7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QUU7Z0JBT2IsY0FBYztzQkFBekMsS0FBSzt1QkFBQyxlQUFlO2dCQUlKLElBQUk7c0JBQXJCLEtBQUs7dUJBQUMsS0FBSztnQkFHTSxJQUFJO3NCQUFyQixLQUFLO3VCQUFDLEtBQUs7Z0JBR0MsUUFBUTtzQkFBcEIsS0FBSztnQkFHTyxRQUFRO3NCQUFwQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBY2lCLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsVUFBVTtnQkFZRSxLQUFLO3NCQUF2QixLQUFLO3VCQUFDLE1BQU07Z0JBOEJXLFlBQVk7c0JBQW5DLFNBQVM7dUJBQUMsV0FBVztnQkF3RlosT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJT3B0aW9uLCBJbnB1dFNlcnZpY2UgfSBmcm9tICcuL2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9iamVjdExpdGVyYWwsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgbWVyZ2UsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlIH0gZnJvbSAnLi9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRCYXNlPFxuICBURm9ybUdyb3VwIGV4dGVuZHMge1xuICAgIFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+O1xuICB9ID0gYW55LFxuICBUQ29udHJvbCA9IGFueSxcbiAgVE9wdGlvbiA9IGFueSxcbj4ge1xuICBjbHMgPSBpbnB1dDxzdHJpbmc+KG51bGwpO1xuICBkb250Rm9ybWF0QXNJbnB1dFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgYWxpYXM6ICdkb250Rm9ybWF0QXNJbnB1dCcgfSk7XG4gIGR1cGxpY2F0ZUNoZWNrU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyBhbGlhczogJ2R1cGxpY2F0ZUNoZWNrJyB9KTtcbiAgcHJlc2V0VmFsdWUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGVuZExhYmVsU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnZW5kTGFiZWwnIH0pO1xuICBlbmRMYWJlbFRvb2x0aXBTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdlbmRMYWJlbFRvb2x0aXAnIH0pO1xuICBpZFNpZ25hbCA9IGlucHV0KCdpZCcgKyBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKSwgeyBhbGlhczogJ2lkJyB9KTtcbiAgaW5wdXRDb250Q2xhc3NTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdpbnB1dENvbnRDbGFzcycgfSk7XG4gIGxhYmVsU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnbGFiZWwnIH0pO1xuICBub0Zvcm1hdCA9IGlucHV0PGJvb2xlYW4+KG51bGwpO1xuICBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4obnVsbCk7XG4gIHJlYWRvbmx5U2lnbmFsID0gaW5wdXQ8Ym9vbGVhbiB8IG51bGw+KG51bGwsIHsgYWxpYXM6ICdyZWFkb25seScgfSk7XG4gIHJlcXVpcmVkU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbiB8IG51bGw+KG51bGwsIHsgYWxpYXM6ICdyZXF1aXJlZCcgfSk7XG4gIHNob3dSZXF1aXJlZFRhZ1NpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgYWxpYXM6ICdzaG93UmVxdWlyZWRUYWcnIH0pO1xuICBzdWZmaXggPSBpbnB1dDxzdHJpbmc+KG51bGwpO1xuICB0ZXh0YXJlYVJvd3NTaWduYWwgPSBpbnB1dDxudW1iZXI+KG51bGwsIHsgYWxpYXM6ICd0ZXh0YXJlYVJvd3MnIH0pO1xuICB0cmFuc2xhdGVPcHRpb25zID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbXB1dGVkTm9Gb3JtYXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgbm9Gb3JtYXQgPSB0aGlzLm5vRm9ybWF0KCksXG4gICAgICB0eXBlU2lnbmFsID0gdGhpcy50eXBlU2lnbmFsKCksXG4gICAgICBzaG93VmFsaWRhdGlvblNpZ25hbCA9IHRoaXMuc2hvd1ZhbGlkYXRpb25TaWduYWwoKSxcbiAgICAgIHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCA9IHRoaXMuc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsKCksXG4gICAgICBsYWJlbFNpZ25hbCA9IHRoaXMubGFiZWxTaWduYWwoKTtcbiAgICByZXR1cm4gbm9Gb3JtYXQgPT0gbnVsbCA/IHR5cGVTaWduYWwgPT0gJ3ZpZXdlcicgfHwgc2hvd1ZhbGlkYXRpb25TaWduYWwgfHwgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsIHx8IGxhYmVsU2lnbmFsPy5pbmNsdWRlcygnY29kZScpIDogbm9Gb3JtYXQ7XG4gIH0pO1xuXG4gIC8qKiBGb3JtR3JvdXAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlLCBhbGlhczogJ2Zvcm0nIH0pIHNldCBfZm9ybSh2OiBGb3JtR3JvdXA8VEZvcm1Hcm91cD4gfCBGb3JtQ29udHJvbDxUQ29udHJvbD4gfCBBYnN0cmFjdENvbnRyb2w8VENvbnRyb2w+KSB7XG4gICAgdGhpcy5mb3JtID0gdiBhcyBGb3JtR3JvdXA8VEZvcm1Hcm91cD47XG4gICAgdGhpcy5mb3JtU2lnbmFsLnNldCh0aGlzLmZvcm0pO1xuICAgIHRoaXMubGlzdGVuVG9Db250cm9sKCk7XG4gIH1cblxuICAvKiogU2hvdyB0aGUgaGludCB3aXRob3V0IHRoZSB0b29sdGlwICovXG4gIEBJbnB1dCgpIGlubGluZUhpbnQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGF1dG9QaWNrVmFsdWVGaWVsZDogYm9vbGVhbjtcbiAgQElucHV0KCkgbGFiZWxGaWVsZDoga2V5b2YgVE9wdGlvbjtcbiAgQElucHV0KCkgbGFiZWxUeXBlOiBPcHRpb25MYWJlbFR5cGU7IC8vdXNlIHRoaXMgdG8gcGljayBhIHByZXNldCB2YWx1ZSBsYWJlbCBncm91cCBmb3IgdGhlIG9wdGlvbnNcbiAgQElucHV0KCkgb3B0aW9uRm9ybWF0dGVyOiAoaXRlbTogVE9wdGlvbikgPT4gc3RyaW5nO1xuXG4gIC8qKiBGb3JtQ29udHJvbE5hbWUgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlLCBhbGlhczogJ25hbWUnIH0pIHNldCBfbmFtZSh2OiBrZXlvZiBURm9ybUdyb3VwKSB7XG4gICAgdGhpcy5uYW1lU2lnbmFsLnNldCh2KTtcbiAgICB0aGlzLmxpc3RlblRvQ29udHJvbCgpO1xuICB9XG5cbiAgaW5kZXRlcm1pbmF0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoJ2luZGV0ZXJtaW5hdGUnKSBzZXQgX2luZGV0ZXJtaW5hdGUodjogYm9vbGVhbikge1xuICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IHY7XG4gICAgaWYgKHYpIHRoaXMuY29udHJvbD8ucGF0Y2hWYWx1ZShmYWxzZSk7XG4gIH1cbiAgQElucHV0KCdtYXgnKSBzZXQgX21heCh2OiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICB0aGlzLm1heFNpZ25hbC5zZXQodik7XG4gIH1cbiAgQElucHV0KCdtaW4nKSBzZXQgX21pbih2OiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICB0aGlzLm1pblNpZ25hbC5zZXQodik7XG4gIH1cbiAgQElucHV0KCkgc2V0IG1heFRvZGF5KHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodikgdGhpcy5tYXhTaWduYWwuc2V0KG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IG1pblRvZGF5KHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodikgdGhpcy5taW5TaWduYWwuc2V0KG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSk7XG4gIH1cbiAgQElucHV0KCkgdmFsdWVGaWVsZDoga2V5b2YgVE9wdGlvbjsgLy91c2UgdGhpcyB0byBjaG9vc2UgYSBmaWVsZCBpbiB0aGUgb3B0aW9uIGZvciBtb2RlbGluZ1xuICBwcmVmaXhTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdwcmVmaXgnIH0pO1xuICBtaW5pU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyBhbGlhczogJ21pbmknIH0pO1xuICBpbnBDbFNpZ25hbCA9IGlucHV0PHN0cmluZz4oJ2NvbnRyb2wtYmctZ3JheScsIHsgYWxpYXM6ICdpbnBDbCcgfSk7XG4gIHNob3dFbXB0eU9wdGlvblNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzaG93RW1wdHlPcHRpb24nIH0pO1xuICBzaG93TGFiZWxTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc2hvd0xhYmVsJyB9KTtcbiAgc2hvd1ZhbGlkYXRpb25TaWduYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSwgeyBhbGlhczogJ3Nob3dWYWxpZGF0aW9uJywgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCB9KTtcbiAgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3Nob3dWYWxpZGF0aW9uSWNvbicgfSk7XG4gIHNtYWxsU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3NtYWxsJyB9KTtcbiAgc2hvd1ZhbGlkYXRpb25Nc2dTaWduYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3Nob3dWYWxpZGF0aW9uTXNnJyB9KTtcbiAgc3RhY2tlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzdGFja2VkJyB9KTtcbiAgZGVidWcgPSBpbnB1dDxib29sZWFuPigpO1xuICBjbGVhck9uRGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIEBJbnB1dCgnZGlzYWJsZWQnKSBzZXQgX2Rpc2FibGVkKHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICB0aGlzLmRpc2FibGVkU2lnbmFsLnNldCh2KTtcbiAgICBpZiAodGhpcy5jb250cm9sPy5wYXJlbnQ/LmRpc2FibGVkKSByZXR1cm47XG4gICAgaWYgKHYpIHtcbiAgICAgIGlmICh0aGlzLmNsZWFyT25EaXNhYmxlKCkpIHRoaXMuY29udHJvbD8ucmVzZXQoKTtcbiAgICAgIHRoaXMuY29udHJvbD8uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250cm9sPy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5jb250cm9sPy5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ3R5cGUnKSBzZXQgX3R5cGUodjogSW5wdXRUeXBlKSB7XG4gICAgdGhpcy5vVHlwZVNpZ25hbC5zZXQodik7XG4gICAgaWYgKHYgPT0gJ3BlcmNlbnRhZ2UnKSB7XG4gICAgICB0aGlzLnR5cGVTaWduYWwuc2V0KCdudW1iZXInKTtcbiAgICAgIHRoaXMubWF4U2lnbmFsLnNldCgxMDApO1xuICAgICAgdGhpcy5taW5TaWduYWwuc2V0KDApO1xuICAgIH0gZWxzZSB0aGlzLnR5cGVTaWduYWwuc2V0KHYpO1xuICB9XG5cbiAgc2hvd1Bhc3N3b3JkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KG51bGwpO1xuXG4gIGRpc2FibGVkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KG51bGwpO1xuXG4gIG9UeXBlU2lnbmFsID0gc2lnbmFsPElucHV0VHlwZSB8IG51bGw+KG51bGwpO1xuICB0eXBlU2lnbmFsID0gc2lnbmFsPElucHV0VHlwZT4oJ3RleHQnKTtcbiAgbWF4U2lnbmFsID0gc2lnbmFsPG51bWJlciB8IHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBtaW5TaWduYWwgPSBzaWduYWw8bnVtYmVyIHwgc3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgZm9ybTogRm9ybUdyb3VwPFRGb3JtR3JvdXA+O1xuICBmb3JtU2lnbmFsID0gc2lnbmFsPEZvcm1Hcm91cDxURm9ybUdyb3VwPj4obnVsbCk7XG4gIG5hbWVTaWduYWwgPSBzaWduYWw8a2V5b2YgVEZvcm1Hcm91cD4obnVsbCk7XG5cbiAgY29tcHV0ZWRTaG93TGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2hvd0xhYmVsID0gdGhpcy5zaG93TGFiZWxTaWduYWwoKSxcbiAgICAgIGxhYmVsID0gdGhpcy5sYWJlbFNpZ25hbCgpO1xuICAgIHJldHVybiBzaG93TGFiZWwgJiYgbGFiZWwgIT0gbnVsbDtcbiAgfSk7XG5cbiAgcHVibGljIGlTID0gaW5qZWN0KElucHV0U2VydmljZSk7XG5cbiAgQFZpZXdDaGlsZCgnZGF0ZUlucHV0JykgZGF0ZUlucHV0UmVmPzogRGF0ZUlucHV0Q29tcG9uZW50O1xuXG4gIHByb3RlY3RlZCBnZXQgY29udHJvbCgpIHtcbiAgICByZXR1cm4gKHRoaXMuZm9ybSBhcyBGb3JtR3JvdXA8VEZvcm1Hcm91cD4pPy5jb250cm9sc1t0aGlzLm5hbWVTaWduYWwoKSBhcyBhbnldIGFzIEFic3RyYWN0Q29udHJvbDxhbnk+O1xuICB9XG5cbiAgcHJvdGVjdGVkIGRlc3Ryb3llciA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJvdGVjdGVkIGNvbnRyb2xWYWx1ZUNoYW5nZXNTdWI6IFN1YnNjcmlwdGlvbjtcblxuICBsaXN0ZW5Ub0NvbnRyb2woKSB7XG4gICAgdGhpcy5jb250cm9sVmFsdWVDaGFuZ2VzU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMudXBkYXRlQ29udHJvbFNpZ25hbHMoKTtcbiAgICB0aGlzLmNvbnRyb2xWYWx1ZUNoYW5nZXNTdWIgPSBtZXJnZSh0aGlzLmNvbnRyb2w/LnZhbHVlQ2hhbmdlcyB8fCBvZihudWxsKSwgdGhpcy5jb250cm9sPy5zdGF0dXNDaGFuZ2VzIHx8IG9mKG51bGwpKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXG4gICAgICAuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQ29udHJvbFNpZ25hbHMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUNvbnRyb2xTaWduYWxzKCkge1xuICAgIHRoaXMudmFsaWRTaWduYWwuc2V0KHRoaXMuY29udHJvbD8udmFsaWQpO1xuICAgIHRoaXMuaW52YWxpZFNpZ25hbC5zZXQodGhpcy5jb250cm9sPy5pbnZhbGlkKTtcbiAgICB0aGlzLmRpcnR5U2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LmRpcnR5KTtcbiAgICB0aGlzLnRvdWNoZWRTaWduYWwuc2V0KHRoaXMuY29udHJvbD8udG91Y2hlZCk7XG4gICAgdGhpcy5lcnJvcnNTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uZXJyb3JzKTtcbiAgICB0aGlzLnBlbmRpbmdTaWduYWwuc2V0KHRoaXMuY29udHJvbD8ucGVuZGluZyk7XG4gICAgdGhpcy5wcmlzdGluZVNpZ25hbC5zZXQodGhpcy5jb250cm9sPy5wcmlzdGluZSk7XG4gICAgdGhpcy52YWx1ZVNpZ25hbC5zZXQodGhpcy5jb250cm9sPy5nZXRSYXdWYWx1ZSgpKTtcbiAgICB0aGlzLmNvbnRyb2xSZXF1aXJlZFNpZ25hbC5zZXQodGhpcy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpO1xuICB9XG5cbiAgZGVzdHJveWVyRnVuYyA9IHRoaXMuZGVzdHJveWVyLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgY29uc29sZS5sb2coJ2Ryb3BwZWQgaW5wdXQgbGlzdGVuZXInLCB0aGlzLmxhYmVsU2lnbmFsKCkpO1xuICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlc1N1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfSk7XG5cbiAgdmFsaWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBpbnZhbGlkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgdmFsdWVTaWduYWwgPSBzaWduYWw8UmV0dXJuVHlwZTx0eXBlb2YgdGhpcy5jb250cm9sLmdldFJhd1ZhbHVlPj4obnVsbCk7XG4gIGhhc1ZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52YWx1ZVNpZ25hbCgpPy50b1N0cmluZygpPy50cmltKCk/Lmxlbmd0aCA+IDApO1xuICBpbnZhbGlkQ2hlY2tib3hTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZFNpZ25hbCgpICYmIHRoaXMudHlwZVNpZ25hbCgpID09ICdjaGVja2JveCc7XG4gIH0pO1xuICBkaXJ0eVNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGNvbnRyb2xTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy52YWxpZFNpZ25hbCgpO1xuICAgIHRoaXMuaW52YWxpZFNpZ25hbCgpO1xuICAgIHRoaXMuZGlydHlTaWduYWwoKTtcbiAgICB0aGlzLnRvdWNoZWRTaWduYWwoKTtcbiAgICB0aGlzLmVycm9yc1NpZ25hbCgpO1xuICAgIHRoaXMucGVuZGluZ1NpZ25hbCgpO1xuICAgIHRoaXMucHJpc3RpbmVTaWduYWwoKTtcbiAgICB0aGlzLnZhbHVlU2lnbmFsKCk7XG4gICAgdGhpcy5jb250cm9sUmVxdWlyZWRTaWduYWwoKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sO1xuICB9KTtcbiAgdG91Y2hlZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGVycm9yc1NpZ25hbCA9IHNpZ25hbDxJT2JqZWN0TGl0ZXJhbD4obnVsbCk7XG4gIHBlbmRpbmdTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcmlzdGluZVNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGNvbnRyb2xSZXF1aXJlZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIGlzUmVxdWlyZWRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlcXVpcmVkU2lnbmFsKCkgfHwgdGhpcy5jb250cm9sUmVxdWlyZWRTaWduYWwoKSk7XG4gIG5hbWVTdHJTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm5hbWVTaWduYWwoKT8udG9TdHJpbmcoKSk7XG4gIGlucHV0Q2xhc3NTaWduYWwgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuaVMuaW5wdXRDbGFzcyh0aGlzLmlucENsU2lnbmFsKCksIHRoaXMuZGlydHlTaWduYWwoKSwgdGhpcy52YWxpZFNpZ25hbCgpLCB0aGlzLmludmFsaWRTaWduYWwoKSwgdGhpcy5zaG93VmFsaWRhdGlvblNpZ25hbCgpKSxcbiAgKTtcbiAgY29sb3JlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgYWxpYXM6ICdjb2xvcmVkJyB9KTtcbiAgY2hlY2tlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTsgLy9vcHRpb25hbCBjaGVja2VkIG9wdGlvbiBmb3IgY2hlY2tib3hlc1xuICByYXdPcHRpb25zU2lnbmFsID0gc2lnbmFsPGFueVtdPihbXSk7XG4gIG9wdGlvbnMgPSBjb21wdXRlZDxJT3B0aW9uW10+KCgpID0+XG4gICAgdGhpcy5pUy5vcHRpb25zRm9ybWF0dGVyKFxuICAgICAgdGhpcy5yYXdPcHRpb25zU2lnbmFsKCksXG4gICAgICB0aGlzLnZhbHVlRmllbGQgYXMgc3RyaW5nLFxuICAgICAgdGhpcy5vcHRpb25Gb3JtYXR0ZXIsXG4gICAgICB0aGlzLmxhYmVsVHlwZSxcbiAgICAgIHRoaXMubGFiZWxGaWVsZCBhcyBzdHJpbmcsXG4gICAgICB0aGlzLmF1dG9QaWNrVmFsdWVGaWVsZCxcbiAgICApLFxuICApO1xuICBvcHRpb25zTWFwID0gY29tcHV0ZWQ8eyBbdmFsdWU6IHN0cmluZ106IElPcHRpb24gfT4oKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMoKTtcbiAgICBjb25zdCBtYXA6IHsgW3ZhbHVlS2V5OiBzdHJpbmddOiBJT3B0aW9uIH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygb3B0aW9ucykge1xuICAgICAgbWFwW0pTT04uc3RyaW5naWZ5KGl0ZW0udmFsdWUpXSA9IGl0ZW07XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG4gIH0pO1xuXG4gIEBPdXRwdXQoKSBtY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9IHRoaXMubGFiZWxTaWduYWwoKTtcbiAgICAgIGNvbnNvbGUubG9nKCdMYWJlbCBzZXQgdG8gY29udHJvbCcpO1xuICAgICAgLy8gdmFsdWUgPSB0aGlzLnZhbHVlU2lnbmFsKCk7XG4gICAgICBpZiAodGhpcy5jb250cm9sKSB0aGlzLmNvbnRyb2wubGFiZWxWYWx1ZSA9IGxhYmVsO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHByZXNldFZhbHVlID0gdGhpcy5wcmVzZXRWYWx1ZSgpLFxuICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG4gICAgICBjb25zb2xlLmxvZygnY2hlY2sgcHJlc2V0Jyk7XG4gICAgICBpZiAocHJlc2V0VmFsdWUgJiYgb3B0aW9ucz8ubGVuZ3RoID09IDEgJiYgIXRoaXMuY29udHJvbD8udmFsdWUpIHtcbiAgICAgICAgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKG9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGF0ZUNoYW5nZWQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5jb250cm9sKSByZXR1cm47XG4gICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUodmFsdWUpO1xuICAgIHRoaXMudmFsdWVTaWduYWwuc2V0KHRoaXMuY29udHJvbC52YWx1ZSk7XG4gICAgdGhpcy5tY2hhbmdlLmVtaXQodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgfVxufVxuIl19
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTzdELE1BQU0sT0FBTyxTQUFTO0lBa0NwQixnQkFBZ0I7SUFDaEIsSUFBK0MsS0FBSyxDQUFDLENBQTRFO1FBQy9ILElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBMEIsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFTRCxzQkFBc0I7SUFDdEIsSUFBK0MsS0FBSyxDQUFDLENBQW1CO1FBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBSUQsSUFBNEIsY0FBYyxDQUFDLENBQVU7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7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QVE7c0JBQXBCLEtBQUs7Z0JBR08sUUFBUTtzQkFBcEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQWNpQixTQUFTO3NCQUEvQixLQUFLO3VCQUFDLFVBQVU7Z0JBWUUsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxNQUFNO2dCQThCVyxZQUFZO3NCQUFuQyxTQUFTO3VCQUFDLFdBQVc7Z0JBd0ZaLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSU9wdGlvbiwgSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi9pbnB1dC5zZXJ2aWNlJztcbmltcG9ydCB7IElPYmplY3RMaXRlcmFsLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUsIG1lcmdlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkxhYmVsVHlwZSB9IGZyb20gJy4vaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0QmFzZTxcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbiAgVENvbnRyb2wgPSBhbnksXG4gIFRPcHRpb24gPSBhbnksXG4+IHtcbiAgY2xzID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcbiAgZG9udEZvcm1hdEFzSW5wdXRTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IGFsaWFzOiAnZG9udEZvcm1hdEFzSW5wdXQnIH0pO1xuICBkdXBsaWNhdGVDaGVja1NpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgYWxpYXM6ICdkdXBsaWNhdGVDaGVjaycgfSk7XG4gIHByZXNldFZhbHVlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBlbmRMYWJlbFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2VuZExhYmVsJyB9KTtcbiAgZW5kTGFiZWxUb29sdGlwU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnZW5kTGFiZWxUb29sdGlwJyB9KTtcbiAgaWRTaWduYWwgPSBpbnB1dCgnaWQnICsgTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwMDAwMCksIHsgYWxpYXM6ICdpZCcgfSk7XG4gIGlucHV0Q29udENsYXNzU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnaW5wdXRDb250Q2xhc3MnIH0pO1xuICBsYWJlbFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2xhYmVsJyB9KTtcbiAgbm9Gb3JtYXQgPSBpbnB1dDxib29sZWFuPihudWxsKTtcbiAgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KG51bGwpO1xuICByZWFkb25seVNpZ25hbCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPihudWxsLCB7IGFsaWFzOiAncmVhZG9ubHknIH0pO1xuICByZXF1aXJlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPihudWxsLCB7IGFsaWFzOiAncmVxdWlyZWQnIH0pO1xuICBzaG93UmVxdWlyZWRUYWdTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IGFsaWFzOiAnc2hvd1JlcXVpcmVkVGFnJyB9KTtcbiAgc3VmZml4ID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcbiAgdGV4dGFyZWFSb3dzU2lnbmFsID0gaW5wdXQ8bnVtYmVyPihudWxsLCB7IGFsaWFzOiAndGV4dGFyZWFSb3dzJyB9KTtcbiAgdHJhbnNsYXRlT3B0aW9ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb21wdXRlZE5vRm9ybWF0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG5vRm9ybWF0ID0gdGhpcy5ub0Zvcm1hdCgpLFxuICAgICAgdHlwZVNpZ25hbCA9IHRoaXMudHlwZVNpZ25hbCgpLFxuICAgICAgc2hvd1ZhbGlkYXRpb25TaWduYWwgPSB0aGlzLnNob3dWYWxpZGF0aW9uU2lnbmFsKCksXG4gICAgICBzaG93VmFsaWRhdGlvbkljb25TaWduYWwgPSB0aGlzLnNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCgpLFxuICAgICAgbGFiZWxTaWduYWwgPSB0aGlzLmxhYmVsU2lnbmFsKCk7XG4gICAgcmV0dXJuIG5vRm9ybWF0ID09IG51bGwgPyB0eXBlU2lnbmFsID09ICd2aWV3ZXInIHx8IHNob3dWYWxpZGF0aW9uU2lnbmFsIHx8IHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCB8fCBsYWJlbFNpZ25hbD8uaW5jbHVkZXMoJ2NvZGUnKSA6IG5vRm9ybWF0O1xuICB9KTtcblxuICAvKiogRm9ybUdyb3VwICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSwgYWxpYXM6ICdmb3JtJyB9KSBzZXQgX2Zvcm0odjogRm9ybUdyb3VwPFRGb3JtR3JvdXA+IHwgRm9ybUNvbnRyb2w8VENvbnRyb2w+IHwgQWJzdHJhY3RDb250cm9sPFRDb250cm9sPikge1xuICAgIHRoaXMuZm9ybSA9IHYgYXMgRm9ybUdyb3VwPFRGb3JtR3JvdXA+O1xuICAgIHRoaXMuZm9ybVNpZ25hbC5zZXQodGhpcy5mb3JtKTtcbiAgICB0aGlzLmxpc3RlblRvQ29udHJvbCgpO1xuICB9XG5cbiAgLyoqIFNob3cgdGhlIGhpbnQgd2l0aG91dCB0aGUgdG9vbHRpcCAqL1xuICBASW5wdXQoKSBpbmxpbmVIaW50OiBib29sZWFuO1xuICBASW5wdXQoKSBhdXRvUGlja1ZhbHVlRmllbGQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxhYmVsRmllbGQ6IGtleW9mIFRPcHRpb247XG4gIEBJbnB1dCgpIGxhYmVsVHlwZTogT3B0aW9uTGFiZWxUeXBlOyAvL3VzZSB0aGlzIHRvIHBpY2sgYSBwcmVzZXQgdmFsdWUgbGFiZWwgZ3JvdXAgZm9yIHRoZSBvcHRpb25zXG4gIEBJbnB1dCgpIG9wdGlvbkZvcm1hdHRlcjogKGl0ZW06IFRPcHRpb24pID0+IHN0cmluZztcblxuICAvKiogRm9ybUNvbnRyb2xOYW1lICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSwgYWxpYXM6ICduYW1lJyB9KSBzZXQgX25hbWUodjoga2V5b2YgVEZvcm1Hcm91cCkge1xuICAgIHRoaXMubmFtZVNpZ25hbC5zZXQodik7XG4gICAgdGhpcy5saXN0ZW5Ub0NvbnRyb2woKTtcbiAgfVxuXG4gIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCdpbmRldGVybWluYXRlJykgc2V0IF9pbmRldGVybWluYXRlKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSB2O1xuICAgIGlmICh2KSB0aGlzLmNvbnRyb2w/LnBhdGNoVmFsdWUoZmFsc2UpO1xuICB9XG4gIEBJbnB1dCgnbWF4Jykgc2V0IF9tYXgodjogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5tYXhTaWduYWwuc2V0KHYpO1xuICB9XG4gIEBJbnB1dCgnbWluJykgc2V0IF9taW4odjogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5taW5TaWduYWwuc2V0KHYpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBtYXhUb2RheSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYpIHRoaXMubWF4U2lnbmFsLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBtaW5Ub2RheSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYpIHRoaXMubWluU2lnbmFsLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpO1xuICB9XG4gIEBJbnB1dCgpIHZhbHVlRmllbGQ6IGtleW9mIFRPcHRpb247IC8vdXNlIHRoaXMgdG8gY2hvb3NlIGEgZmllbGQgaW4gdGhlIG9wdGlvbiBmb3IgbW9kZWxpbmdcbiAgcHJlZml4U2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAncHJlZml4JyB9KTtcbiAgbWluaVNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgYWxpYXM6ICdtaW5pJyB9KTtcbiAgaW5wQ2xTaWduYWwgPSBpbnB1dDxzdHJpbmc+KCdjb250cm9sLWJnLWdyYXknLCB7IGFsaWFzOiAnaW5wQ2wnIH0pO1xuICBzaG93RW1wdHlPcHRpb25TaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc2hvd0VtcHR5T3B0aW9uJyB9KTtcbiAgc2hvd0xhYmVsU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3Nob3dMYWJlbCcgfSk7XG4gIHNob3dWYWxpZGF0aW9uU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UsIHsgYWxpYXM6ICdzaG93VmFsaWRhdGlvbicsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQgfSk7XG4gIHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzaG93VmFsaWRhdGlvbkljb24nIH0pO1xuICBzbWFsbFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzbWFsbCcgfSk7XG4gIHNob3dWYWxpZGF0aW9uTXNnU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzaG93VmFsaWRhdGlvbk1zZycgfSk7XG4gIHN0YWNrZWRTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc3RhY2tlZCcgfSk7XG4gIGRlYnVnID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgY2xlYXJPbkRpc2FibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICBASW5wdXQoJ2Rpc2FibGVkJykgc2V0IF9kaXNhYmxlZCh2OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuZGVidWcoKSkgZGVidWdnZXI7XG4gICAgdGhpcy5kaXNhYmxlZFNpZ25hbC5zZXQodik7XG4gICAgaWYgKHRoaXMuY29udHJvbD8ucGFyZW50Py5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmICh2KSB7XG4gICAgICBpZiAodGhpcy5jbGVhck9uRGlzYWJsZSgpKSB0aGlzLmNvbnRyb2w/LnJlc2V0KCk7XG4gICAgICB0aGlzLmNvbnRyb2w/LmRpc2FibGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udHJvbD8uZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY29udHJvbD8uZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCd0eXBlJykgc2V0IF90eXBlKHY6IElucHV0VHlwZSkge1xuICAgIHRoaXMub1R5cGVTaWduYWwuc2V0KHYpO1xuICAgIGlmICh2ID09ICdwZXJjZW50YWdlJykge1xuICAgICAgdGhpcy50eXBlU2lnbmFsLnNldCgnbnVtYmVyJyk7XG4gICAgICB0aGlzLm1heFNpZ25hbC5zZXQoMTAwKTtcbiAgICAgIHRoaXMubWluU2lnbmFsLnNldCgwKTtcbiAgICB9IGVsc2UgdGhpcy50eXBlU2lnbmFsLnNldCh2KTtcbiAgfVxuXG4gIHNob3dQYXNzd29yZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihudWxsKTtcblxuICBkaXNhYmxlZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihudWxsKTtcblxuICBvVHlwZVNpZ25hbCA9IHNpZ25hbDxJbnB1dFR5cGUgfCBudWxsPihudWxsKTtcbiAgdHlwZVNpZ25hbCA9IHNpZ25hbDxJbnB1dFR5cGU+KCd0ZXh0Jyk7XG4gIG1heFNpZ25hbCA9IHNpZ25hbDxudW1iZXIgfCBzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgbWluU2lnbmFsID0gc2lnbmFsPG51bWJlciB8IHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIGZvcm06IEZvcm1Hcm91cDxURm9ybUdyb3VwPjtcbiAgZm9ybVNpZ25hbCA9IHNpZ25hbDxGb3JtR3JvdXA8VEZvcm1Hcm91cD4+KG51bGwpO1xuICBuYW1lU2lnbmFsID0gc2lnbmFsPGtleW9mIFRGb3JtR3JvdXA+KG51bGwpO1xuXG4gIGNvbXB1dGVkU2hvd0xhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHNob3dMYWJlbCA9IHRoaXMuc2hvd0xhYmVsU2lnbmFsKCksXG4gICAgICBsYWJlbCA9IHRoaXMubGFiZWxTaWduYWwoKTtcbiAgICByZXR1cm4gc2hvd0xhYmVsICYmIGxhYmVsICE9IG51bGw7XG4gIH0pO1xuXG4gIHB1YmxpYyBpUyA9IGluamVjdChJbnB1dFNlcnZpY2UpO1xuXG4gIEBWaWV3Q2hpbGQoJ2RhdGVJbnB1dCcpIGRhdGVJbnB1dFJlZj86IERhdGVJbnB1dENvbXBvbmVudDtcblxuICBwcm90ZWN0ZWQgZ2V0IGNvbnRyb2woKSB7XG4gICAgcmV0dXJuICh0aGlzLmZvcm0gYXMgRm9ybUdyb3VwPFRGb3JtR3JvdXA+KT8uY29udHJvbHNbdGhpcy5uYW1lU2lnbmFsKCkgYXMgYW55XSBhcyBBYnN0cmFjdENvbnRyb2w8YW55PjtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95ZXIgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByb3RlY3RlZCBjb250cm9sVmFsdWVDaGFuZ2VzU3ViOiBTdWJzY3JpcHRpb247XG5cbiAgbGlzdGVuVG9Db250cm9sKCkge1xuICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlc1N1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnVwZGF0ZUNvbnRyb2xTaWduYWxzKCk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVDaGFuZ2VzU3ViID0gbWVyZ2UodGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXMgfHwgb2YobnVsbCksIHRoaXMuY29udHJvbD8uc3RhdHVzQ2hhbmdlcyB8fCBvZihudWxsKSlcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRyb2xTaWduYWxzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVDb250cm9sU2lnbmFscygpIHtcbiAgICB0aGlzLnZhbGlkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnZhbGlkKTtcbiAgICB0aGlzLmludmFsaWRTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uaW52YWxpZCk7XG4gICAgdGhpcy5kaXJ0eVNpZ25hbC5zZXQodGhpcy5jb250cm9sPy5kaXJ0eSk7XG4gICAgdGhpcy50b3VjaGVkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnRvdWNoZWQpO1xuICAgIHRoaXMuZXJyb3JzU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LmVycm9ycyk7XG4gICAgdGhpcy5wZW5kaW5nU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnBlbmRpbmcpO1xuICAgIHRoaXMucHJpc3RpbmVTaWduYWwuc2V0KHRoaXMuY29udHJvbD8ucHJpc3RpbmUpO1xuICAgIHRoaXMudmFsdWVTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uZ2V0UmF3VmFsdWUoKSk7XG4gICAgdGhpcy5jb250cm9sUmVxdWlyZWRTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcbiAgfVxuXG4gIGRlc3Ryb3llckZ1bmMgPSB0aGlzLmRlc3Ryb3llci5vbkRlc3Ryb3koKCkgPT4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdkcm9wcGVkIGlucHV0IGxpc3RlbmVyJywgdGhpcy5sYWJlbFNpZ25hbCgpKTtcbiAgICB0aGlzLmNvbnRyb2xWYWx1ZUNoYW5nZXNTdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH0pO1xuXG4gIHZhbGlkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgaW52YWxpZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHZhbHVlU2lnbmFsID0gc2lnbmFsPFJldHVyblR5cGU8dHlwZW9mIHRoaXMuY29udHJvbC5nZXRSYXdWYWx1ZT4+KG51bGwpO1xuICBoYXNWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmFsdWVTaWduYWwoKT8udG9TdHJpbmcoKT8udHJpbSgpPy5sZW5ndGggPiAwKTtcbiAgaW52YWxpZENoZWNrYm94U2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmludmFsaWRTaWduYWwoKSAmJiB0aGlzLnR5cGVTaWduYWwoKSA9PSAnY2hlY2tib3gnO1xuICB9KTtcbiAgZGlydHlTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb250cm9sU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMudmFsaWRTaWduYWwoKTtcbiAgICB0aGlzLmludmFsaWRTaWduYWwoKTtcbiAgICB0aGlzLmRpcnR5U2lnbmFsKCk7XG4gICAgdGhpcy50b3VjaGVkU2lnbmFsKCk7XG4gICAgdGhpcy5lcnJvcnNTaWduYWwoKTtcbiAgICB0aGlzLnBlbmRpbmdTaWduYWwoKTtcbiAgICB0aGlzLnByaXN0aW5lU2lnbmFsKCk7XG4gICAgdGhpcy52YWx1ZVNpZ25hbCgpO1xuICAgIHRoaXMuY29udHJvbFJlcXVpcmVkU2lnbmFsKCk7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbDtcbiAgfSk7XG4gIHRvdWNoZWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBlcnJvcnNTaWduYWwgPSBzaWduYWw8SU9iamVjdExpdGVyYWw+KG51bGwpO1xuICBwZW5kaW5nU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpc3RpbmVTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb250cm9sUmVxdWlyZWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xuICBpc1JlcXVpcmVkU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZXF1aXJlZFNpZ25hbCgpIHx8IHRoaXMuY29udHJvbFJlcXVpcmVkU2lnbmFsKCkpO1xuICBuYW1lU3RyU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYW1lU2lnbmFsKCk/LnRvU3RyaW5nKCkpO1xuICBpbnB1dENsYXNzU2lnbmFsID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmlTLmlucHV0Q2xhc3ModGhpcy5pbnBDbFNpZ25hbCgpLCB0aGlzLmRpcnR5U2lnbmFsKCksIHRoaXMudmFsaWRTaWduYWwoKSwgdGhpcy5pbnZhbGlkU2lnbmFsKCksIHRoaXMuc2hvd1ZhbGlkYXRpb25TaWduYWwoKSksXG4gICk7XG4gIGNvbG9yZWRTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IGFsaWFzOiAnY29sb3JlZCcgfSk7XG4gIGNoZWNrZWRTaWduYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7IC8vb3B0aW9uYWwgY2hlY2tlZCBvcHRpb24gZm9yIGNoZWNrYm94ZXNcbiAgcmF3T3B0aW9uc1NpZ25hbCA9IHNpZ25hbDxhbnlbXT4oW10pO1xuICBvcHRpb25zID0gY29tcHV0ZWQ8SU9wdGlvbltdPigoKSA9PlxuICAgIHRoaXMuaVMub3B0aW9uc0Zvcm1hdHRlcihcbiAgICAgIHRoaXMucmF3T3B0aW9uc1NpZ25hbCgpLFxuICAgICAgdGhpcy52YWx1ZUZpZWxkIGFzIHN0cmluZyxcbiAgICAgIHRoaXMub3B0aW9uRm9ybWF0dGVyLFxuICAgICAgdGhpcy5sYWJlbFR5cGUsXG4gICAgICB0aGlzLmxhYmVsRmllbGQgYXMgc3RyaW5nLFxuICAgICAgdGhpcy5hdXRvUGlja1ZhbHVlRmllbGQsXG4gICAgKSxcbiAgKTtcbiAgb3B0aW9uc01hcCA9IGNvbXB1dGVkPHsgW3ZhbHVlOiBzdHJpbmddOiBJT3B0aW9uIH0+KCgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG4gICAgY29uc3QgbWFwOiB7IFt2YWx1ZUtleTogc3RyaW5nXTogSU9wdGlvbiB9ID0ge307XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIG9wdGlvbnMpIHtcbiAgICAgIG1hcFtKU09OLnN0cmluZ2lmeShpdGVtLnZhbHVlKV0gPSBpdGVtO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9KTtcblxuICBAT3V0cHV0KCkgbWNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmxhYmVsU2lnbmFsKCk7XG4gICAgICAvLyBjb25zb2xlLmxvZygnTGFiZWwgc2V0IHRvIGNvbnRyb2wnKTtcbiAgICAgIC8vIHZhbHVlID0gdGhpcy52YWx1ZVNpZ25hbCgpO1xuICAgICAgaWYgKHRoaXMuY29udHJvbCkgdGhpcy5jb250cm9sLmxhYmVsVmFsdWUgPSBsYWJlbDtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBwcmVzZXRWYWx1ZSA9IHRoaXMucHJlc2V0VmFsdWUoKSxcbiAgICAgICAgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuICAgICAgLy8gY29uc29sZS5sb2coJ2NoZWNrIHByZXNldCcpO1xuICAgICAgaWYgKHByZXNldFZhbHVlICYmIG9wdGlvbnM/Lmxlbmd0aCA9PSAxICYmICF0aGlzLmNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICAgIHRoaXMuY29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRhdGVDaGFuZ2VkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCkgcmV0dXJuO1xuICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnZhbHVlU2lnbmFsLnNldCh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICAgIHRoaXMubWNoYW5nZS5lbWl0KHRoaXMuY29udHJvbC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -78,6 +78,8 @@ export class InputBasicComponent extends InputBase {
78
78
  }
79
79
  change(e) {
80
80
  // debugger;
81
+ if (this.debug())
82
+ debugger;
81
83
  let val;
82
84
  if (this.typeSignal() == 'checkbox') {
83
85
  val = e.target?.['checked'];
@@ -175,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
175
177
  type: ViewChild,
176
178
  args: ['matSelectTag']
177
179
  }] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2lucHV0L2lucHV0LWJhc2ljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBb0IsUUFBUSxFQUFFLE1BQU0sRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFFckosT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFXbkQsTUFBTSxPQUFPLG1CQU9YLFNBQVEsU0FBd0M7SUFpQ2hELHNCQUFzQjtJQUN0QixJQUE2QixlQUFlLENBQUMsQ0FBVTtRQUNyRCxJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRCxJQUFzQixRQUFRLENBQUMsQ0FBbUI7UUFDaEQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsUUFBUSxDQUFDO1FBQzNCLElBQUks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Q0FBQzt3REFZeEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ1UsR0FBRztzQkFBbEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNMLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFVc0IsZUFBZTtzQkFBM0MsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBR0QsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxTQUFTO2dCQUtLLE1BQU07c0JBQTFCLEtBQUs7dUJBQUMsUUFBUTtnQkFHWSxTQUFTO3NCQUFuQyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGJvb2xlYW5BdHRyaWJ1dGUsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRkNJbnB1dCwgSW5wdXRUeXBlLCBJVmFsaWRhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRQcm92aWRlcnMsIElucHV0U2hhcmVkTW9kdWxlcyB9IGZyb20gJy4vaW5wdXQtc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRCYXNlIH0gZnJvbSAnLi9pbnB1dC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJT3B0aW9uLCBJbnB1dFNlcnZpY2UgfSBmcm9tICcuL2lucHV0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQtYmFzaWMsYXBwLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBJbnB1dFByb3ZpZGVycyxcbiAgaW1wb3J0czogW0RhdGVJbnB1dENvbXBvbmVudCwgSW5wdXRTaGFyZWRNb2R1bGVzXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRCYXNpY0NvbXBvbmVudDxcbiAgICBURm9ybUdyb3VwIGV4dGVuZHMge1xuICAgICAgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG4gICAgfSA9IGFueSxcbiAgICBUQ29udHJvbCA9IGFueSxcbiAgICBUT3B0aW9uID0gYW55LFxuICA+XG4gIGV4dGVuZHMgSW5wdXRCYXNlPFRGb3JtR3JvdXAsIFRDb250cm9sLCBUT3B0aW9uPlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBASW5wdXQoKSBhY2NlcHQ6IHN0cmluZztcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCdpbnB1dCcpIGlucDogRkNJbnB1dDtcbiAgQElucHV0KCkgY29udGV4dERhdGE6IGFueTtcbiAgQElucHV0KCkgZGVjaW1hbFBvaW50czogbnVtYmVyO1xuICBASW5wdXQoKSBmaWxlczogRmlsZVtdO1xuICBASW5wdXQoKSBoaWRlOiBib29sZWFuO1xuICBASW5wdXQoKSBoaW50OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgQElucHV0KCkgbGFiZWxMaW5rOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxibENsOiBzdHJpbmcgPSAnMic7XG4gIEBJbnB1dCgpIGxpZ2h0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcbiAgQElucHV0KCkgbWluTGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgb3B0aW9uc0Z1bmM6ICguLi52YWw6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnlbXT47XG4gIEBJbnB1dCgpIHRoZW1lOiBJbnB1dFRoZW1lID0gMTtcbiAgQElucHV0KCkgdm1zOiBJVmFsaWRhdGlvbk1lc3NhZ2VbXTtcbiAgQElucHV0KCkgeHNtYWxsOiBib29sZWFuO1xuICBAT3V0cHV0KCkgbVNlbGVjdE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VE9wdGlvbj4oKTtcbiAgQE91dHB1dCgpIG1TZWxlY3RlZE9wdGlvbkxhYmVsID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIG9wdGlvbnMkID0gbmV3IFJlcGxheVN1YmplY3Q8SU9wdGlvbltdPigpO1xuICB2aWV3SW5pdGVkOiBib29sZWFuO1xuICBmb3JjZVBhdGNoZWQ6IGJvb2xlYW47XG4gIHNlbGVjdGlvbk9iamVjdFNpZ25hbCA9IGNvbXB1dGVkPFRPcHRpb24+KCgpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWVTaWduYWwoKSxcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnJhd09wdGlvbnNTaWduYWwoKTtcbiAgICByZXR1cm4gKG9wdGlvbnMgfHwgW10pLmZpbmQoKHgpID0+IHhbdGhpcy52YWx1ZUZpZWxkXSA9PSB2YWx1ZSk7XG4gIH0pO1xuICAvLyBsYWJlbFZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgnc2V0Q3VycmVudERhdGUnKSBzZXQgX3NldEN1cnJlbnREYXRlKHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodikgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdKTtcbiAgfVxuICBASW5wdXQoJ29wdGlvbnMnKSBzZXQgX29wdGlvbnModjogVE9wdGlvbltdIHwgbnVsbCkge1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIHRoaXMucmF3T3B0aW9uc1NpZ25hbC5zZXQodiB8fCBbXSk7XG4gICAgdGhpcy5vcHRpb25zJC5uZXh0KHRoaXMub3B0aW9ucygpKTtcbiAgfVxuICBASW5wdXQoJ212YWx1ZScpIHNldCBfdmFsdWUodjogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgdGhpcy52YWx1ZVNpZ25hbC5zZXQodik7XG4gIH1cbiAgQFZpZXdDaGlsZCgnbWF0U2VsZWN0VGFnJykgbWF0U2VsZWN0OiBNYXRTZWxlY3Q7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudHlwZVNpZ25hbCgpID09ICdzZWxlY3QnKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5mb3JtYXR0ZWRWYWx1ZSA9ICg8TWF0T3B0aW9uPnRoaXMubWF0U2VsZWN0Py5zZWxlY3RlZCk/LnZpZXdWYWx1ZTtcbiAgICAgICAgdGhpcy5tU2VsZWN0ZWRPcHRpb25MYWJlbC5lbWl0KCg8TWF0T3B0aW9uPnRoaXMubWF0U2VsZWN0Py5zZWxlY3RlZCk/LnZpZXdWYWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvUGlja1ZhbHVlRmllbGQpIHtcbiAgICAgIGlmICghdGhpcy5sYWJlbFR5cGUpIHRoaXMubGFiZWxUeXBlID0gJ2NkdCc7XG4gICAgICBpZiAoIXRoaXMudmFsdWVGaWVsZCkgdGhpcy52YWx1ZUZpZWxkID0gJ2NvZGUnIGFzIGFueTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWluU2lnbmFsKCkgPT0gMCAmJiB0aGlzLm1heFNpZ25hbCgpID09IDEwMCkgdGhpcy5vVHlwZVNpZ25hbC5zZXQoJ3BlcmNlbnRhZ2UnKTtcblxuICAgIC8vIGlmICh0aGlzLnR5cGUgPT0gJ3NlbGVjdCcgfHwgdGhpcy50eXBlID09ICdhdXRvY29tcGxldGUnKVxuICAgIC8vICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAvLyAgICAgdGhpcy5sYWJlbFZhbHVlID0gdGhpcy5vcHRpb25zLmZpbmQoKHgpID0+IHgudmFsdWUgPT0gcik/LmxhYmVsO1xuICAgIC8vICAgfSk7XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5pZClcbiAgICAvLyBpZiAodGhpcy5kaXNhYmxlZCkgdGhpcy5fZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIHRoaXMudmlld0luaXRlZCA9IHRydWU7XG4gIH1cblxuICBkaXNhYmxlQ29udHJvbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSB0aGlzLmNvbnRyb2wpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRTaWduYWwoKSkgcmV0dXJuO1xuICAgIGNvbnRyb2w/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgY2hhbmdlKGU6IHsgdGFyZ2V0OiB7IGNoZWNrZWQ/OiBib29sZWFuOyB2YWx1ZTogYW55IH0gfSB8IEV2ZW50KSB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgbGV0IHZhbDtcbiAgICBpZiAodGhpcy50eXBlU2lnbmFsKCkgPT0gJ2NoZWNrYm94Jykge1xuICAgICAgdmFsID0gZS50YXJnZXQ/LlsnY2hlY2tlZCddO1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGUudGFyZ2V0Py5bJ2NoZWNrZWQnXSk7XG4gICAgfSBlbHNlIHZhbCA9IGUudGFyZ2V0Py5bJ3ZhbHVlJ107XG4gICAgaWYgKHRoaXMudHlwZVNpZ25hbCgpID09ICdudW1iZXInKSB7XG4gICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgIGlmICh0aGlzLm9UeXBlU2lnbmFsKCkgPT0gJ3BlcmNlbnRhZ2UnICYmICF0aGlzLm1heFNpZ25hbCgpKSB7XG4gICAgICAgIHRoaXMubWF4U2lnbmFsLnNldCgxMDApO1xuICAgICAgICB0aGlzLm1pblNpZ25hbC5zZXQoMCk7XG4gICAgICB9XG4gICAgICBpZiAodmFsICE9IG51bGwgJiYgdmFsICE9ICcnKSB7XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBpZiAodGhpcy5tYXhTaWduYWwoKSAmJiArdmFsID4gK3RoaXMubWF4U2lnbmFsKCkpIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLm1heFNpZ25hbCgpKTtcbiAgICAgICAgZWxzZSBpZiAodGhpcy5taW5TaWduYWwoKSAhPSBudWxsICYmIHRoaXMubWluU2lnbmFsKCkgIT0gdW5kZWZpbmVkICYmICt2YWwgPCArdGhpcy5taW5TaWduYWwoKSkgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMubWluU2lnbmFsKCkpO1xuICAgICAgICBpZiAodGhpcy5kZWNpbWFsUG9pbnRzICE9IHVuZGVmaW5lZCAmJiB0aGlzLmRlY2ltYWxQb2ludHMgIT0gbnVsbCkgdGhpcy5jb250cm9sLnNldFZhbHVlKCsoK3ZhbCkudG9GaXhlZCh0aGlzLmRlY2ltYWxQb2ludHMpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMubWF4TGVuZ3RoICYmIHRoaXMuY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCkubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgIHRoaXMudHlwZVNpZ25hbCgpID09ICdudW1iZXInXG4gICAgICAgICAgPyArdGhpcy5jb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKS5zbGljZSgwLCB0aGlzLm1heExlbmd0aClcbiAgICAgICAgICA6IHRoaXMuY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCkuc2xpY2UoMCwgdGhpcy5tYXhMZW5ndGgpLFxuICAgICAgKTtcbiAgICB0aGlzLnZhbHVlU2lnbmFsLnNldCh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICAgIHRoaXMubWNoYW5nZS5lbWl0KHRoaXMuY29udHJvbC52YWx1ZSk7XG5cbiAgICB0aGlzLm1TZWxlY3RPcHRpb25DaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGlvbk9iamVjdFNpZ25hbCgpKTtcbiAgfVxuXG4gIHVwbG9hZChlKSB7XG4gICAgdGhpcy5maWxlcyA9IGUudGFyZ2V0LmZpbGVzO1xuICAgIHRoaXMubWNoYW5nZS5lbWl0KGUpO1xuICB9XG59XG50eXBlIElucHV0VGhlbWUgPSAxIHwgMjtcbmV4cG9ydCB0eXBlIE9wdGlvbkxhYmVsVHlwZSA9XG4gIHwgJ2FjZCdcbiAgfCAnYm5rJ1xuICB8ICdjY2QnXG4gIHwgJ2NkJ1xuICB8ICdjZHQnXG4gIHwgJ2NmJ1xuICB8ICdjZydcbiAgfCAnY2wnXG4gIHwgJ2NtZCdcbiAgfCAnY24nXG4gIHwgJ2N0J1xuICB8ICdjdSdcbiAgfCAnZ2QnXG4gIHwgJ2hhJ1xuICB8ICdpZCdcbiAgfCAnaWYnXG4gIHwgJ2lmbCdcbiAgfCAnaWwnXG4gIHwgJ2l0J1xuICB8ICdtZCdcbiAgfCAnbmEnXG4gIHwgJ3BkJ1xuICB8ICdwZXAnXG4gIHwgJ3BhbSdcbiAgfCAnbmYnXG4gIHwgJ3RkJ1xuICB8ICd0aXRsZSdcbiAgfCAndWQnXG4gIHwgJ3VmJ1xuICB8ICd2bCdcbiAgfCAndnYnO1xuXG5leHBvcnQgeyBJT3B0aW9uIH0gZnJvbSAnLi9pbnB1dC5zZXJ2aWNlJztcbiIsIjxkaXYgY2xhc3M9XCIgIGN1c3RvbS1pbnB1dCBhbGlnbi1pdGVtcy1jZW50ZXIge3sgdHlwZVNpZ25hbCgpIH19IGd4LTFcIiBbZm9ybUdyb3VwXT1cImZvcm1TaWduYWwoKVwiIFtuZ0NsYXNzXT1cInsgJ2QtZmxleCc6ICFzdGFja2VkU2lnbmFsKCkgfVwiPlxuICBAaWYgKGNvbXB1dGVkU2hvd0xhYmVsKCkpIHtcbiAgICA8YXBwLWlucHV0LWxhYmVsXG4gICAgICBbY29sb3JlZF09XCJjb2xvcmVkU2lnbmFsKClcIlxuICAgICAgW2Zvcm1dPVwiZm9ybVNpZ25hbCgpXCJcbiAgICAgIFtoaW50XT1cImhpbnRcIlxuICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgW2ludmFsaWRDaGVja2JveF09XCJpbnZhbGlkQ2hlY2tib3hTaWduYWwoKVwiXG4gICAgICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgW2xhYmVsXT1cImxhYmVsU2lnbmFsKClcIlxuICAgICAgW2xibENsXT1cImxibENsXCJcbiAgICAgIFtsaWdodF09XCJsaWdodFwiXG4gICAgICBbbWluaV09XCJtaW5pU2lnbmFsKClcIlxuICAgICAgW25nQ2xhc3NdPVwieyAndy0xMDAnOiBzdGFja2VkU2lnbmFsKCkgfVwiXG4gICAgICBbaW5saW5lSGludF09XCJpbmxpbmVIaW50XCJcbiAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2hvd1JlcXVpcmVkVGFnU2lnbmFsKClcIlxuICAgICAgW3Nob3dMYWJlbF09XCJzaG93TGFiZWxTaWduYWwoKVwiXG4gICAgICBbc21hbGxdPVwic21hbGxTaWduYWwoKVwiXG4gICAgICBbc3RhY2tlZF09XCJzdGFja2VkU2lnbmFsKClcIlxuICAgICAgW3RoZW1lXT1cInRoZW1lXCJcbiAgICAgIFt4c21hbGxdPVwieHNtYWxsXCI+PC9hcHAtaW5wdXQtbGFiZWw+XG4gIH1cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIge3sgaW5wdXRDb250Q2xhc3NTaWduYWwoKSB9fSBcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIGQtZmxleCBpbnB1dC1jb250ZW50IHctMTAwXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ21zLTInOiAhc3RhY2tlZFNpZ25hbCgpLFxuICAgICAgICBzaG93VmFsaWRhdGlvbkljb246IHNob3dWYWxpZGF0aW9uU2lnbmFsKCkgfHwgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsKCksXG4gICAgICAgIGRvbnRGb3JtYXRBc0lucHV0OiBkb250Rm9ybWF0QXNJbnB1dFNpZ25hbCgpXG4gICAgICB9XCI+XG4gICAgICA8bmctdGVtcGxhdGUgI2RhdGU+XG4gICAgICAgIDxkYXRlLWlucHV0XG4gICAgICAgICAgI2RhdGVJbnB1dFxuICAgICAgICAgIFtkZWJ1Z109XCJkZWJ1ZygpXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgIGNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgIFt0eXBlXT1cInR5cGVTaWduYWwoKVwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlZCk9XCJkYXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWVTaWduYWwoKVwiXG4gICAgICAgICAgW2lucHV0Q2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRTaWduYWwoKVwiXG4gICAgICAgICAgW21heF09XCJtYXhTaWduYWwoKVwiXG4gICAgICAgICAgW21pbl09XCJtaW5TaWduYWwoKVwiXG4gICAgICAgICAgW3ZhbGlkXT1cInZhbGlkU2lnbmFsKClcIlxuICAgICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRTaWduYWwoKVwiXG4gICAgICAgICAgW3Nob3dWYWxpZGF0aW9uXT1cInNob3dWYWxpZGF0aW9uU2lnbmFsKClcIiAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIEBzd2l0Y2ggKHR5cGVTaWduYWwoKSkge1xuICAgICAgICA8IS0tIERBVEUgLS0+XG4gICAgICAgIEBjYXNlICgnZGF0ZScpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0ZVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBEQVRFVElNRS1MT0NBTCAtLT5cbiAgICAgICAgQGNhc2UgKCdkYXRldGltZS1sb2NhbCcpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0ZVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBDSEVDS0JPWCAtLT5cbiAgICAgICAgQGNhc2UgKCdjaGVja2JveCcpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cImNvbXB1dGVkTm9Gb3JtYXQoKVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlYnVnXT1cImRlYnVnKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBpbnBDbFNpZ25hbCgpIH19IGQtaW5saW5lLWJsb2NrIGZvcm0tY29udHJvbCB3aWR0aC11bnNldFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyKCkgfX1cIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2F0dHIuaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ2NoZWNrZWRib3gnKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBpbnBDbFNpZ25hbCgpIH19IGQtaW5saW5lLWJsb2NrIGZvcm0tY29udHJvbCB3aWR0aC11bnNldFwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWJ1Z109XCJkZWJ1ZygpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwiY29tcHV0ZWROb0Zvcm1hdCgpXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gRklMRSAtLT5cbiAgICAgICAgQGNhc2UgKCdmaWxlJykge1xuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIFtpZF09XCJpZFNpZ25hbCgpXCIgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiIChjaGFuZ2UpPVwidXBsb2FkKCRldmVudClcIiBbYWNjZXB0XT1cImFjY2VwdFwiIFthdHRyLm11bHRpcGxlXT1cIm11bHRpcGxlXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIEZJTEUgQlVUVE9OLS0+XG4gICAgICAgIEBjYXNlICgnZmlsZUJ1dHRvbicpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGxvYWQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgICAgICBbYXR0ci5tdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICAgICNmaWxlIC8+XG4gICAgICAgICAgPGFwcC1idG5cbiAgICAgICAgICAgIGNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgICAgKG1jbGljayk9XCJmaWxlLmNsaWNrKClcIlxuICAgICAgICAgICAgaWNvbj1cInVwbG9hZFwiXG4gICAgICAgICAgICBbdHlwZV09XCJmaWxlcyA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgIHRleHQ9XCJ7eyBwbGFjZWhvbGRlcigpIHx8IGxhYmVsU2lnbmFsKCkgfHwgJ1VwbG9hZCcgfX1cIj48L2FwcC1idG4+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBTRUxFQ1QgLS0+XG4gICAgICAgIEBjYXNlICgnc2VsZWN0Jykge1xuICAgICAgICAgIDwhLS0gW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAtLT5cbiAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgI21hdFNlbGVjdFRhZ1xuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlcigpIH19XCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7IG5hbWVTdHJTaWduYWwoKSB9fVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBjbGFzcz1cInt7IGNscygpIH19IHt7IGlucHV0Q2xhc3NTaWduYWwoKSB9fVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cImNoYW5nZSh7IHRhcmdldDogJGV2ZW50IH0pXCI+XG4gICAgICAgICAgICBAaWYgKHNob3dFbXB0eU9wdGlvblNpZ25hbCgpKSB7XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHNlbGVjdGVkIFt2YWx1ZV09XCJudWxsXCIgY2xhc3M9XCJlbXB0eS1vcHRpb25cIj5cbiAgICAgICAgICAgICAgICB7eyBwbGFjZWhvbGRlcigpIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9ucygpOyB0cmFjayBpUy50cmFja0J5VmFsdWUoJGluZGV4LCBpdGVtKSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25cIiBbbWF0VG9vbHRpcF09XCJpdGVtLmxhYmVsXCIgW21hdFRvb2x0aXBEaXNhYmxlZF09XCJlbGUuc2Nyb2xsV2lkdGggPD0gZWxlLm9mZnNldFdpZHRoXCIgI2VsZT5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCBhcHBUcmFuc2xhdGU6IHRyYW5zbGF0ZU9wdGlvbnMoKSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIH0gXG4gICAgICAgIDwhLS0gVEVYVEFSRUEgLS0+XG4gICAgICAgIEBjYXNlICgndGV4dGFyZWEnKSB7XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwiY29tcHV0ZWROb0Zvcm1hdCgpXCJcbiAgICAgICAgICAgIFtyb3dzXT1cInRleHRhcmVhUm93c1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIj48L3RleHRhcmVhPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gUmFkaW8gLS0+XG4gICAgICAgIEBjYXNlICgncmFkaW8nKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cImNvbXB1dGVkTm9Gb3JtYXQoKVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVTaWduYWwoKVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBWaWV3ZXIgLS0+XG4gICAgICAgIEBjYXNlICgndmlld2VyJykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlcigpIH19XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwiY29tcHV0ZWROb0Zvcm1hdCgpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlU2lnbmFsKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gUEFTU1dPUkQgLS0+XG4gICAgICAgIEBjYXNlICgncGFzc3dvcmQnKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwie3sgc2hvd1Bhc3N3b3JkU2lnbmFsKCkgPyAndGV4dCcgOiAncGFzc3dvcmQnIH19XCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVN0clNpZ25hbCgpXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIoKSB9fVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cImNvbXB1dGVkTm9Gb3JtYXQoKVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFttYXhdPVwibWF4U2lnbmFsKClcIlxuICAgICAgICAgICAgW21pbl09XCJtaW5TaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVNpZ25hbCgpXCIgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFzc3dvcmQtaWNvbnMgcG9pbnRlclwiIChjbGljayk9XCJzaG93UGFzc3dvcmRTaWduYWwuc2V0KCFzaG93UGFzc3dvcmRTaWduYWwpXCI+XG4gICAgICAgICAgICBAaWYgKHNob3dQYXNzd29yZFNpZ25hbCgpKSB7XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXllLXNsYXNoXCI+PC9pPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICghc2hvd1Bhc3N3b3JkU2lnbmFsKCkpIHtcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leWVcIj48L2k+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBERUZBVUxUIC0tPlxuICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgPGRpdiBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCIgW25nQ2xhc3NdPVwieyAnaGFzLXByZWZpeCc6ICEhcHJlZml4U2lnbmFsKCksIGRpc2FibGVkOiByZWFkb25seVNpZ25hbCgpIHx8IGRpc2FibGVkU2lnbmFsKCkgfVwiPlxuICAgICAgICAgICAgQGlmIChwcmVmaXhTaWduYWwoKSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJlZml4LXZhbFwiICNwcmVmaXhWYWw+XG4gICAgICAgICAgICAgICAge3sgcHJlZml4U2lnbmFsKCkgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyKCkgfX1cIlxuICAgICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImVsZS5pbm5lclRleHRcIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cImVsZS5zY3JvbGxXaWR0aCA8PSBlbGUub2Zmc2V0V2lkdGhcIlxuICAgICAgICAgICAgICAjZWxlXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtZGVidWddPVwiZGVidWcoKVwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwiY29tcHV0ZWROb0Zvcm1hdCgpXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1vdHlwZV09XCJvVHlwZVNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgICBbbWF4XT1cIm1heFNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW21pbl09XCJtaW5TaWduYWwoKVwiXG4gICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVNpZ25hbCgpXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgKGRpcnR5U2lnbmFsKCkgJiYgKHNob3dWYWxpZGF0aW9uU2lnbmFsKCkgfHwgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsKCkpKSB7XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyB2YWxpZDogdmFsaWRTaWduYWwoKSB9XCIgY2xhc3M9XCJ2YWxpZGl0eS1pY29uXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyBwZW5kaW5nOiBwZW5kaW5nU2lnbmFsKCkgfVwiIGNsYXNzPVwidmFsaWRpdHktaWNvblwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc3Bpbm5lciBmYS1zcGluXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IGludmFsaWQ6IGludmFsaWRTaWduYWwoKSB9XCIgY2xhc3M9XCJ2YWxpZGl0eS1pY29uXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8IS0tIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImlucHV0XCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ7e2lucC50eXBlfX1cIiBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiaW5wLmZvcm1Db250cm9sXCI+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgaW5wLnZtc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2YWxpZGF0aW9ufHZhbGlkYXRvcjppbnAuZm9ybUNvbnRyb2w6aW5wLmZvcm1Db250cm9sPy52YWx1ZVwiPlxuICAgICAgICAgICAge3t2YWxpZGF0aW9uLm1lc3NhZ2V8dmFsaWRhdGlvbk1zZzppbnAucHJlZml4OmlucC5zdWZmaXh9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+IC0tPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoZW5kTGFiZWxTaWduYWwoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIHRleHQtcHJpbWFyeSBtcy0yXCIgKGNsaWNrKT1cImlTLmxvZyhmb3JtU2lnbmFsKCkpXCIgW21hdFRvb2x0aXBdPVwiZW5kTGFiZWxUb29sdGlwU2lnbmFsKCkgfCBhcHBUcmFuc2xhdGUgfCBhc3luY1wiPlxuICAgICAgICB7eyBlbmRMYWJlbFNpZ25hbCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbkBpZiAoc2hvd1ZhbGlkYXRpb25Nc2dTaWduYWwoKSkge1xuICA8YXBwLXZhbGlkYXRpb24tbWVzc2FnZSBbbGFiZWxdPVwibGFiZWxTaWduYWwoKVwiIFtjb250cm9sXT1cImNvbnRyb2xTaWduYWwoKVwiIC8+XG59XG4iXX0=
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2lucHV0L2lucHV0LWJhc2ljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBb0IsUUFBUSxFQUFFLE1BQU0sRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFFckosT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFXbkQsTUFBTSxPQUFPLG1CQU9YLFNBQVEsU0FBd0M7SUFpQ2hELHNCQUFzQjtJQUN0QixJQUE2QixlQUFlLENBQUMsQ0FBVTtRQUNyRCxJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRCxJQUFzQixRQUFRLENBQUMsQ0FBbUI7UUFDaEQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFxQixNQUFNLENBQUMsQ0FBa0I7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUdEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUE1Q0QsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFTN0IsVUFBSyxHQUFXLEdBQUcsQ0FBQztRQUNwQixVQUFLLEdBQVksSUFBSSxDQUFDO1FBTXRCLFVBQUssR0FBZSxDQUFDLENBQUM7UUFHckIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzVELGFBQVEsR0FBRyxJQUFJLGFBQWEsRUFBYSxDQUFDO1FBRzFDLDBCQUFxQixHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUU7WUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUM5QixPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7UUFpQkQsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLFFBQVEsRUFBRTtnQkFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQWUsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFTLEVBQUUsU0FBUyxDQUFDO2dCQUMvRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFhLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2xGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFhLENBQUM7U0FDdkQ7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEdBQUc7WUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV6Riw0REFBNEQ7UUFDNUQsaURBQWlEO1FBQ2pELHVFQUF1RTtRQUN2RSxRQUFRO1FBQ1IsdUJBQXVCO1FBQ3ZCLHFEQUFxRDtJQUN2RCxDQUFDO0lBRUQsZUFBZTtRQUNiLDBCQUEwQjtJQUM1QixDQUFDO0lBRUQsY0FBYyxDQUFDLFVBQTJCLElBQUksQ0FBQyxPQUFPO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQUUsT0FBTztRQUNuQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUF3RDtRQUM3RCxZQUFZO1FBQ1osSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsUUFBUSxDQUFDO1FBQzNCLElBQUksR0FBRyxDQUFDO1FBQ1IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksVUFBVSxFQUFFO1lBQ25DLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDOUM7O1lBQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxRQUFRLEVBQUU7WUFDakMsWUFBWTtZQUNaLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZCO1lBQ0QsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUU7Z0JBQzVCLFlBQVk7Z0JBQ1osSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO3FCQUNyRixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLFNBQVMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7Z0JBQ3hJLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJO29CQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzthQUMvSDtTQUNGO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUztZQUMzRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDbkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLFFBQVE7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUM3RCxDQUFDO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsTUFBTSxDQUFDLENBQUM7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7OEdBNUhVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLCtyQkFIbkIsY0FBYyw0SkNoQjNCLDhvVEF3UEEsdTVCRHZPWSxrQkFBa0I7OzJGQUVqQixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsMkJBQTJCLGNBR3pCLElBQUksYUFDTCxjQUFjLFdBQ2hCLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUM7d0RBWXhDLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNVLEdBQUc7c0JBQWxCLEtBQUs7dUJBQUMsT0FBTztnQkFDTCxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBVXNCLGVBQWU7c0JBQTNDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUdELFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsU0FBUztnQkFLSyxNQUFNO3NCQUExQixLQUFLO3VCQUFDLFFBQVE7Z0JBR1ksU0FBUztzQkFBbkMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZDSW5wdXQsIElucHV0VHlwZSwgSVZhbGlkYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IElucHV0UHJvdmlkZXJzLCBJbnB1dFNoYXJlZE1vZHVsZXMgfSBmcm9tICcuL2lucHV0LXNoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0QmFzZSB9IGZyb20gJy4vaW5wdXQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSU9wdGlvbiwgSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi9pbnB1dC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWlucHV0LWJhc2ljLGFwcC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogSW5wdXRQcm92aWRlcnMsXG4gIGltcG9ydHM6IFtEYXRlSW5wdXRDb21wb25lbnQsIElucHV0U2hhcmVkTW9kdWxlc10sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0QmFzaWNDb21wb25lbnQ8XG4gICAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICAgIFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+O1xuICAgIH0gPSBhbnksXG4gICAgVENvbnRyb2wgPSBhbnksXG4gICAgVE9wdGlvbiA9IGFueSxcbiAgPlxuICBleHRlbmRzIElucHV0QmFzZTxURm9ybUdyb3VwLCBUQ29udHJvbCwgVE9wdGlvbj5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgQElucHV0KCkgYWNjZXB0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgnaW5wdXQnKSBpbnA6IEZDSW5wdXQ7XG4gIEBJbnB1dCgpIGNvbnRleHREYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGRlY2ltYWxQb2ludHM6IG51bWJlcjtcbiAgQElucHV0KCkgZmlsZXM6IEZpbGVbXTtcbiAgQElucHV0KCkgaGlkZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaGludDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGxhYmVsTGluazogc3RyaW5nO1xuICBASW5wdXQoKSBsYmxDbDogc3RyaW5nID0gJzInO1xuICBASW5wdXQoKSBsaWdodDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG1pbkxlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG9wdGlvbnNGdW5jOiAoLi4udmFsOiBhbnkpID0+IE9ic2VydmFibGU8YW55W10+O1xuICBASW5wdXQoKSB0aGVtZTogSW5wdXRUaGVtZSA9IDE7XG4gIEBJbnB1dCgpIHZtczogSVZhbGlkYXRpb25NZXNzYWdlW107XG4gIEBJbnB1dCgpIHhzbWFsbDogYm9vbGVhbjtcbiAgQE91dHB1dCgpIG1TZWxlY3RPcHRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRPcHRpb24+KCk7XG4gIEBPdXRwdXQoKSBtU2VsZWN0ZWRPcHRpb25MYWJlbCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBvcHRpb25zJCA9IG5ldyBSZXBsYXlTdWJqZWN0PElPcHRpb25bXT4oKTtcbiAgdmlld0luaXRlZDogYm9vbGVhbjtcbiAgZm9yY2VQYXRjaGVkOiBib29sZWFuO1xuICBzZWxlY3Rpb25PYmplY3RTaWduYWwgPSBjb21wdXRlZDxUT3B0aW9uPigoKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlU2lnbmFsKCksXG4gICAgICBvcHRpb25zID0gdGhpcy5yYXdPcHRpb25zU2lnbmFsKCk7XG4gICAgcmV0dXJuIChvcHRpb25zIHx8IFtdKS5maW5kKCh4KSA9PiB4W3RoaXMudmFsdWVGaWVsZF0gPT0gdmFsdWUpO1xuICB9KTtcbiAgLy8gbGFiZWxWYWx1ZTogc3RyaW5nO1xuICBASW5wdXQoJ3NldEN1cnJlbnREYXRlJykgc2V0IF9zZXRDdXJyZW50RGF0ZSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYpIHRoaXMuY29udHJvbD8ucGF0Y2hWYWx1ZShuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSk7XG4gIH1cbiAgQElucHV0KCdvcHRpb25zJykgc2V0IF9vcHRpb25zKHY6IFRPcHRpb25bXSB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICB0aGlzLnJhd09wdGlvbnNTaWduYWwuc2V0KHYgfHwgW10pO1xuICAgIHRoaXMub3B0aW9ucyQubmV4dCh0aGlzLm9wdGlvbnMoKSk7XG4gIH1cbiAgQElucHV0KCdtdmFsdWUnKSBzZXQgX3ZhbHVlKHY6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHRoaXMudmFsdWVTaWduYWwuc2V0KHYpO1xuICB9XG4gIEBWaWV3Q2hpbGQoJ21hdFNlbGVjdFRhZycpIG1hdFNlbGVjdDogTWF0U2VsZWN0O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnR5cGVTaWduYWwoKSA9PSAnc2VsZWN0Jykge1xuICAgICAgICB0aGlzLmNvbnRyb2wuZm9ybWF0dGVkVmFsdWUgPSAoPE1hdE9wdGlvbj50aGlzLm1hdFNlbGVjdD8uc2VsZWN0ZWQpPy52aWV3VmFsdWU7XG4gICAgICAgIHRoaXMubVNlbGVjdGVkT3B0aW9uTGFiZWwuZW1pdCgoPE1hdE9wdGlvbj50aGlzLm1hdFNlbGVjdD8uc2VsZWN0ZWQpPy52aWV3VmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b1BpY2tWYWx1ZUZpZWxkKSB7XG4gICAgICBpZiAoIXRoaXMubGFiZWxUeXBlKSB0aGlzLmxhYmVsVHlwZSA9ICdjZHQnO1xuICAgICAgaWYgKCF0aGlzLnZhbHVlRmllbGQpIHRoaXMudmFsdWVGaWVsZCA9ICdjb2RlJyBhcyBhbnk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1pblNpZ25hbCgpID09IDAgJiYgdGhpcy5tYXhTaWduYWwoKSA9PSAxMDApIHRoaXMub1R5cGVTaWduYWwuc2V0KCdwZXJjZW50YWdlJyk7XG5cbiAgICAvLyBpZiAodGhpcy50eXBlID09ICdzZWxlY3QnIHx8IHRoaXMudHlwZSA9PSAnYXV0b2NvbXBsZXRlJylcbiAgICAvLyAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgLy8gICAgIHRoaXMubGFiZWxWYWx1ZSA9IHRoaXMub3B0aW9ucy5maW5kKCh4KSA9PiB4LnZhbHVlID09IHIpPy5sYWJlbDtcbiAgICAvLyAgIH0pO1xuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuaWQpXG4gICAgLy8gaWYgKHRoaXMuZGlzYWJsZWQpIHRoaXMuX2Rpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLnZpZXdJbml0ZWQgPSB0cnVlO1xuICB9XG5cbiAgZGlzYWJsZUNvbnRyb2woY29udHJvbDogQWJzdHJhY3RDb250cm9sID0gdGhpcy5jb250cm9sKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkU2lnbmFsKCkpIHJldHVybjtcbiAgICBjb250cm9sPy5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgfVxuXG4gIGNoYW5nZShlOiB7IHRhcmdldDogeyBjaGVja2VkPzogYm9vbGVhbjsgdmFsdWU6IGFueSB9IH0gfCBFdmVudCkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIGxldCB2YWw7XG4gICAgaWYgKHRoaXMudHlwZVNpZ25hbCgpID09ICdjaGVja2JveCcpIHtcbiAgICAgIHZhbCA9IGUudGFyZ2V0Py5bJ2NoZWNrZWQnXTtcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShlLnRhcmdldD8uWydjaGVja2VkJ10pO1xuICAgIH0gZWxzZSB2YWwgPSBlLnRhcmdldD8uWyd2YWx1ZSddO1xuICAgIGlmICh0aGlzLnR5cGVTaWduYWwoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLy8gZGVidWdnZXI7XG4gICAgICBpZiAodGhpcy5vVHlwZVNpZ25hbCgpID09ICdwZXJjZW50YWdlJyAmJiAhdGhpcy5tYXhTaWduYWwoKSkge1xuICAgICAgICB0aGlzLm1heFNpZ25hbC5zZXQoMTAwKTtcbiAgICAgICAgdGhpcy5taW5TaWduYWwuc2V0KDApO1xuICAgICAgfVxuICAgICAgaWYgKHZhbCAhPSBudWxsICYmIHZhbCAhPSAnJykge1xuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgaWYgKHRoaXMubWF4U2lnbmFsKCkgJiYgK3ZhbCA+ICt0aGlzLm1heFNpZ25hbCgpKSB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy5tYXhTaWduYWwoKSk7XG4gICAgICAgIGVsc2UgaWYgKHRoaXMubWluU2lnbmFsKCkgIT0gbnVsbCAmJiB0aGlzLm1pblNpZ25hbCgpICE9IHVuZGVmaW5lZCAmJiArdmFsIDwgK3RoaXMubWluU2lnbmFsKCkpIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLm1pblNpZ25hbCgpKTtcbiAgICAgICAgaWYgKHRoaXMuZGVjaW1hbFBvaW50cyAhPSB1bmRlZmluZWQgJiYgdGhpcy5kZWNpbWFsUG9pbnRzICE9IG51bGwpIHRoaXMuY29udHJvbC5zZXRWYWx1ZSgrKCt2YWwpLnRvRml4ZWQodGhpcy5kZWNpbWFsUG9pbnRzKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiB0aGlzLmNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKVxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKFxuICAgICAgICB0aGlzLnR5cGVTaWduYWwoKSA9PSAnbnVtYmVyJ1xuICAgICAgICAgID8gK3RoaXMuY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCkuc2xpY2UoMCwgdGhpcy5tYXhMZW5ndGgpXG4gICAgICAgICAgOiB0aGlzLmNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpLnNsaWNlKDAsIHRoaXMubWF4TGVuZ3RoKSxcbiAgICAgICk7XG4gICAgdGhpcy52YWx1ZVNpZ25hbC5zZXQodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdCh0aGlzLmNvbnRyb2wudmFsdWUpO1xuXG4gICAgdGhpcy5tU2VsZWN0T3B0aW9uQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3Rpb25PYmplY3RTaWduYWwoKSk7XG4gIH1cblxuICB1cGxvYWQoZSkge1xuICAgIHRoaXMuZmlsZXMgPSBlLnRhcmdldC5maWxlcztcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdChlKTtcbiAgfVxufVxudHlwZSBJbnB1dFRoZW1lID0gMSB8IDI7XG5leHBvcnQgdHlwZSBPcHRpb25MYWJlbFR5cGUgPVxuICB8ICdhY2QnXG4gIHwgJ2JuaydcbiAgfCAnY2NkJ1xuICB8ICdjZCdcbiAgfCAnY2R0J1xuICB8ICdjZidcbiAgfCAnY2cnXG4gIHwgJ2NsJ1xuICB8ICdjbWQnXG4gIHwgJ2NuJ1xuICB8ICdjdCdcbiAgfCAnY3UnXG4gIHwgJ2dkJ1xuICB8ICdoYSdcbiAgfCAnaWQnXG4gIHwgJ2lmJ1xuICB8ICdpZmwnXG4gIHwgJ2lsJ1xuICB8ICdpdCdcbiAgfCAnbWQnXG4gIHwgJ25hJ1xuICB8ICdwZCdcbiAgfCAncGVwJ1xuICB8ICdwYW0nXG4gIHwgJ25mJ1xuICB8ICd0ZCdcbiAgfCAndGl0bGUnXG4gIHwgJ3VkJ1xuICB8ICd1ZidcbiAgfCAndmwnXG4gIHwgJ3Z2JztcblxuZXhwb3J0IHsgSU9wdGlvbiB9IGZyb20gJy4vaW5wdXQuc2VydmljZSc7XG4iLCI8ZGl2IGNsYXNzPVwiICBjdXN0b20taW5wdXQgYWxpZ24taXRlbXMtY2VudGVyIHt7IHR5cGVTaWduYWwoKSB9fSBneC0xXCIgW2Zvcm1Hcm91cF09XCJmb3JtU2lnbmFsKClcIiBbbmdDbGFzc109XCJ7ICdkLWZsZXgnOiAhc3RhY2tlZFNpZ25hbCgpIH1cIj5cbiAgQGlmIChjb21wdXRlZFNob3dMYWJlbCgpKSB7XG4gICAgPGFwcC1pbnB1dC1sYWJlbFxuICAgICAgW2NvbG9yZWRdPVwiY29sb3JlZFNpZ25hbCgpXCJcbiAgICAgIFtmb3JtXT1cImZvcm1TaWduYWwoKVwiXG4gICAgICBbaGludF09XCJoaW50XCJcbiAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgIFtpbnZhbGlkQ2hlY2tib3hdPVwiaW52YWxpZENoZWNrYm94U2lnbmFsKClcIlxuICAgICAgW2lzUmVxdWlyZWRdPVwiaXNSZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFNpZ25hbCgpXCJcbiAgICAgIFtsYmxDbF09XCJsYmxDbFwiXG4gICAgICBbbGlnaHRdPVwibGlnaHRcIlxuICAgICAgW21pbmldPVwibWluaVNpZ25hbCgpXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3ctMTAwJzogc3RhY2tlZFNpZ25hbCgpIH1cIlxuICAgICAgW2lubGluZUhpbnRdPVwiaW5saW5lSGludFwiXG4gICAgICBbc2hvd1JlcXVpcmVkVGFnXT1cInNob3dSZXF1aXJlZFRhZ1NpZ25hbCgpXCJcbiAgICAgIFtzaG93TGFiZWxdPVwic2hvd0xhYmVsU2lnbmFsKClcIlxuICAgICAgW3NtYWxsXT1cInNtYWxsU2lnbmFsKClcIlxuICAgICAgW3N0YWNrZWRdPVwic3RhY2tlZFNpZ25hbCgpXCJcbiAgICAgIFt0aGVtZV09XCJ0aGVtZVwiXG4gICAgICBbeHNtYWxsXT1cInhzbWFsbFwiPjwvYXBwLWlucHV0LWxhYmVsPlxuICB9XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHt7IGlucHV0Q29udENsYXNzU2lnbmFsKCkgfX0gXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBkLWZsZXggaW5wdXQtY29udGVudCB3LTEwMFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdtcy0yJzogIXN0YWNrZWRTaWduYWwoKSxcbiAgICAgICAgc2hvd1ZhbGlkYXRpb25JY29uOiBzaG93VmFsaWRhdGlvblNpZ25hbCgpIHx8IHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCgpLFxuICAgICAgICBkb250Rm9ybWF0QXNJbnB1dDogZG9udEZvcm1hdEFzSW5wdXRTaWduYWwoKVxuICAgICAgfVwiPlxuICAgICAgPG5nLXRlbXBsYXRlICNkYXRlPlxuICAgICAgICA8ZGF0ZS1pbnB1dFxuICAgICAgICAgICNkYXRlSW5wdXRcbiAgICAgICAgICBbZGVidWddPVwiZGVidWcoKVwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlU2lnbmFsKClcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZWQpPVwiZGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW3ZhbHVlXT1cInZhbHVlU2lnbmFsKClcIlxuICAgICAgICAgIFtpbnB1dENsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkU2lnbmFsKClcIlxuICAgICAgICAgIFttYXhdPVwibWF4U2lnbmFsKClcIlxuICAgICAgICAgIFttaW5dPVwibWluU2lnbmFsKClcIlxuICAgICAgICAgIFt2YWxpZF09XCJ2YWxpZFNpZ25hbCgpXCJcbiAgICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkU2lnbmFsKClcIlxuICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCJzaG93VmFsaWRhdGlvblNpZ25hbCgpXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICBAc3dpdGNoICh0eXBlU2lnbmFsKCkpIHtcbiAgICAgICAgPCEtLSBEQVRFIC0tPlxuICAgICAgICBAY2FzZSAoJ2RhdGUnKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gREFURVRJTUUtTE9DQUwgLS0+XG4gICAgICAgIEBjYXNlICgnZGF0ZXRpbWUtbG9jYWwnKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gQ0hFQ0tCT1ggLS0+XG4gICAgICAgIEBjYXNlICgnY2hlY2tib3gnKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJjb21wdXRlZE5vRm9ybWF0KClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWJ1Z109XCJkZWJ1ZygpXCJcbiAgICAgICAgICAgIGNsYXNzPVwie3sgaW5wQ2xTaWduYWwoKSB9fSBkLWlubGluZS1ibG9jayBmb3JtLWNvbnRyb2wgd2lkdGgtdW5zZXRcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlcigpIH19XCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFthdHRyLmluZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdjaGVja2VkYm94Jykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGNsYXNzPVwie3sgaW5wQ2xTaWduYWwoKSB9fSBkLWlubGluZS1ibG9jayBmb3JtLWNvbnRyb2wgd2lkdGgtdW5zZXRcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVidWddPVwiZGVidWcoKVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cImNvbXB1dGVkTm9Gb3JtYXQoKVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIEZJTEUgLS0+XG4gICAgICAgIEBjYXNlICgnZmlsZScpIHtcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBbaWRdPVwiaWRTaWduYWwoKVwiIFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIiAoY2hhbmdlKT1cInVwbG9hZCgkZXZlbnQpXCIgW2FjY2VwdF09XCJhY2NlcHRcIiBbYXR0ci5tdWx0aXBsZV09XCJtdWx0aXBsZVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBGSUxFIEJVVFRPTi0tPlxuICAgICAgICBAY2FzZSAoJ2ZpbGVCdXR0b24nKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBsb2FkKCRldmVudClcIlxuICAgICAgICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgICAgICAgW2F0dHIubXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgaGlkZGVuXG4gICAgICAgICAgICAjZmlsZSAvPlxuICAgICAgICAgIDxhcHAtYnRuXG4gICAgICAgICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgICAgICAgIChtY2xpY2spPVwiZmlsZS5jbGljaygpXCJcbiAgICAgICAgICAgIGljb249XCJ1cGxvYWRcIlxuICAgICAgICAgICAgW3R5cGVdPVwiZmlsZXMgPyAncHJpbWFyeScgOiAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICB0ZXh0PVwie3sgcGxhY2Vob2xkZXIoKSB8fCBsYWJlbFNpZ25hbCgpIHx8ICdVcGxvYWQnIH19XCI+PC9hcHAtYnRuPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gU0VMRUNUIC0tPlxuICAgICAgICBAY2FzZSAoJ3NlbGVjdCcpIHtcbiAgICAgICAgICA8IS0tIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCIgLS0+XG4gICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICNtYXRTZWxlY3RUYWdcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIoKSB9fVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ7eyBuYW1lU3RyU2lnbmFsKCkgfX1cIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBjbHMoKSB9fSB7eyBpbnB1dENsYXNzU2lnbmFsKCkgfX1cIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2UoeyB0YXJnZXQ6ICRldmVudCB9KVwiPlxuICAgICAgICAgICAgQGlmIChzaG93RW1wdHlPcHRpb25TaWduYWwoKSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBzZWxlY3RlZCBbdmFsdWVdPVwibnVsbFwiIGNsYXNzPVwiZW1wdHktb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAge3sgcGxhY2Vob2xkZXIoKSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wdGlvbnMoKTsgdHJhY2sgaVMudHJhY2tCeVZhbHVlKCRpbmRleCwgaXRlbSkpIHtcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCIgW21hdFRvb2x0aXBdPVwiaXRlbS5sYWJlbFwiIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiZWxlLnNjcm9sbFdpZHRoIDw9IGVsZS5vZmZzZXRXaWR0aFwiICNlbGU+XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIHwgYXBwVHJhbnNsYXRlOiB0cmFuc2xhdGVPcHRpb25zKCkgfCBhc3luYyB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICB9IFxuICAgICAgICA8IS0tIFRFWFRBUkVBIC0tPlxuICAgICAgICBAY2FzZSAoJ3RleHRhcmVhJykge1xuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cImNvbXB1dGVkTm9Gb3JtYXQoKVwiXG4gICAgICAgICAgICBbcm93c109XCJ0ZXh0YXJlYVJvd3NTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFJhZGlvIC0tPlxuICAgICAgICBAY2FzZSAoJ3JhZGlvJykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVN0clNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJjb21wdXRlZE5vRm9ybWF0KClcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlU2lnbmFsKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gVmlld2VyIC0tPlxuICAgICAgICBAY2FzZSAoJ3ZpZXdlcicpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIoKSB9fVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cImNvbXB1dGVkTm9Gb3JtYXQoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVNpZ25hbCgpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFBBU1NXT1JEIC0tPlxuICAgICAgICBAY2FzZSAoJ3Bhc3N3b3JkJykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInt7IHNob3dQYXNzd29yZFNpZ25hbCgpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJyB9fVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyKCkgfX1cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJjb21wdXRlZE5vRm9ybWF0KClcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbbWF4XT1cIm1heFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFttaW5dPVwibWluU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVTaWduYWwoKVwiIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhc3N3b3JkLWljb25zIHBvaW50ZXJcIiAoY2xpY2spPVwic2hvd1Bhc3N3b3JkU2lnbmFsLnNldCghc2hvd1Bhc3N3b3JkU2lnbmFsKVwiPlxuICAgICAgICAgICAgQGlmIChzaG93UGFzc3dvcmRTaWduYWwoKSkge1xuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV5ZS1zbGFzaFwiPjwvaT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoIXNob3dQYXNzd29yZFNpZ25hbCgpKSB7XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXllXCI+PC9pPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gREVGQVVMVCAtLT5cbiAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgIDxkaXYgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiIFtuZ0NsYXNzXT1cInsgJ2hhcy1wcmVmaXgnOiAhIXByZWZpeFNpZ25hbCgpLCBkaXNhYmxlZDogcmVhZG9ubHlTaWduYWwoKSB8fCBkaXNhYmxlZFNpZ25hbCgpIH1cIj5cbiAgICAgICAgICAgIEBpZiAocHJlZml4U2lnbmFsKCkpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZWZpeC12YWxcIiAjcHJlZml4VmFsPlxuICAgICAgICAgICAgICAgIHt7IHByZWZpeFNpZ25hbCgpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVN0clNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlcigpIH19XCJcbiAgICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJlbGUuaW5uZXJUZXh0XCJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCJlbGUuc2Nyb2xsV2lkdGggPD0gZWxlLm9mZnNldFdpZHRoXCJcbiAgICAgICAgICAgICAgI2VsZVxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLWRlYnVnXT1cImRlYnVnKClcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cImNvbXB1dGVkTm9Gb3JtYXQoKVwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtb3R5cGVdPVwib1R5cGVTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW21heF09XCJtYXhTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFttaW5dPVwibWluU2lnbmFsKClcIlxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVTaWduYWwoKVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmIChkaXJ0eVNpZ25hbCgpICYmIChzaG93VmFsaWRhdGlvblNpZ25hbCgpIHx8IHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCgpKSkge1xuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgdmFsaWQ6IHZhbGlkU2lnbmFsKCkgfVwiIGNsYXNzPVwidmFsaWRpdHktaWNvblwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2tcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgcGVuZGluZzogcGVuZGluZ1NpZ25hbCgpIH1cIiBjbGFzcz1cInZhbGlkaXR5LWljb25cIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNwaW5uZXIgZmEtc3BpblwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyBpbnZhbGlkOiBpbnZhbGlkU2lnbmFsKCkgfVwiIGNsYXNzPVwidmFsaWRpdHktaWNvblwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPCEtLSA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpbnB1dFwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwie3tpbnAudHlwZX19XCIgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImlucC5mb3JtQ29udHJvbFwiPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0Zvcj1cImxldCB2YWxpZGF0aW9uIG9mIGlucC52bXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFsaWRhdGlvbnx2YWxpZGF0b3I6aW5wLmZvcm1Db250cm9sOmlucC5mb3JtQ29udHJvbD8udmFsdWVcIj5cbiAgICAgICAgICAgIHt7dmFsaWRhdGlvbi5tZXNzYWdlfHZhbGlkYXRpb25Nc2c6aW5wLnByZWZpeDppbnAuc3VmZml4fX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPiAtLT5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGVuZExhYmVsU2lnbmFsKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byB0ZXh0LXByaW1hcnkgbXMtMlwiIChjbGljayk9XCJpUy5sb2coZm9ybVNpZ25hbCgpKVwiIFttYXRUb29sdGlwXT1cImVuZExhYmVsVG9vbHRpcFNpZ25hbCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmNcIj5cbiAgICAgICAge3sgZW5kTGFiZWxTaWduYWwoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG5AaWYgKHNob3dWYWxpZGF0aW9uTXNnU2lnbmFsKCkpIHtcbiAgPGFwcC12YWxpZGF0aW9uLW1lc3NhZ2UgW2xhYmVsXT1cImxhYmVsU2lnbmFsKClcIiBbY29udHJvbF09XCJjb250cm9sU2lnbmFsKClcIiAvPlxufVxuIl19
@@ -6059,7 +6059,7 @@ class InputBase {
6059
6059
  this.iS = inject(InputService);
6060
6060
  this.destroyer = inject(DestroyRef);
6061
6061
  this.destroyerFunc = this.destroyer.onDestroy(() => {
6062
- console.log('dropped input listener', this.labelSignal());
6062
+ // console.log('dropped input listener', this.labelSignal());
6063
6063
  this.controlValueChangesSub?.unsubscribe();
6064
6064
  });
6065
6065
  this.validSignal = signal(false);
@@ -6105,14 +6105,14 @@ class InputBase {
6105
6105
  this.mchange = new EventEmitter();
6106
6106
  effect(() => {
6107
6107
  const label = this.labelSignal();
6108
- console.log('Label set to control');
6108
+ // console.log('Label set to control');
6109
6109
  // value = this.valueSignal();
6110
6110
  if (this.control)
6111
6111
  this.control.labelValue = label;
6112
6112
  });
6113
6113
  effect(() => {
6114
6114
  const presetValue = this.presetValue(), options = this.options();
6115
- console.log('check preset');
6115
+ // console.log('check preset');
6116
6116
  if (presetValue && options?.length == 1 && !this.control?.value) {
6117
6117
  this.control?.patchValue(options[0].value);
6118
6118
  }
@@ -6239,6 +6239,8 @@ class InputBasicComponent extends InputBase {
6239
6239
  }
6240
6240
  change(e) {
6241
6241
  // debugger;
6242
+ if (this.debug())
6243
+ debugger;
6242
6244
  let val;
6243
6245
  if (this.typeSignal() == 'checkbox') {
6244
6246
  val = e.target?.['checked'];