myrta-ui 1.0.48 → 1.0.49

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.
@@ -11,22 +11,7 @@ export class MaskedInputTelDirective {
11
11
  this.customMaxLength = null;
12
12
  this.changeModel = new EventEmitter();
13
13
  }
14
- ngOnChanges(changes) {
15
- if (changes['selectedCountry']) {
16
- this._analiseMaxLength();
17
- }
18
- }
19
- _analiseMaxLength() {
20
- if (!this.selectedCountry)
21
- return;
22
- const selectedPlaceholder = getExample(this.selectedCountry.iso2.toUpperCase(), 'mobile').number;
23
- if (selectedPlaceholder) {
24
- this.customMaxLength ?
25
- this._renderer.setAttribute(this._element.nativeElement, 'maxlength', String(this.customMaxLength)) :
26
- this._renderer.setAttribute(this._element.nativeElement, 'maxlength', String(selectedPlaceholder.international.length));
27
- }
28
- }
29
- onInput(event) {
14
+ _validateValue(event) {
30
15
  event.target.value = event.target.value.replace(this.pattern, '');
31
16
  if (this._model) {
32
17
  this._model.update.emit(event.target.value);
@@ -34,6 +19,20 @@ export class MaskedInputTelDirective {
34
19
  this.changeModel.emit(event.target.value);
35
20
  }
36
21
  }
22
+ _analiseMaxLength(event) {
23
+ if (this.parsedPhoneNumber && this.parsedPhoneNumber.regionCode) {
24
+ const selectedPlaceholder = getExample(this.parsedPhoneNumber.regionCode, 'mobile').number;
25
+ if (selectedPlaceholder) {
26
+ this.customMaxLength ?
27
+ this._renderer.setAttribute(this._element.nativeElement, 'maxlength', String(this.customMaxLength)) :
28
+ this._renderer.setAttribute(this._element.nativeElement, 'maxlength', String(selectedPlaceholder.international.length));
29
+ }
30
+ }
31
+ }
32
+ onInput(event) {
33
+ this._validateValue(event);
34
+ this._analiseMaxLength(event);
35
+ }
37
36
  onCtrlV() {
38
37
  setTimeout(() => {
39
38
  this._element.nativeElement.value = this._model.model;
@@ -41,13 +40,13 @@ export class MaskedInputTelDirective {
41
40
  }
42
41
  }
43
42
  MaskedInputTelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MaskedInputTelDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.NgModel }], target: i0.ɵɵFactoryTarget.Directive });
44
- MaskedInputTelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: MaskedInputTelDirective, selector: "[formatterPhone]", inputs: { selectedCountry: "selectedCountry", customMaxLength: "customMaxLength" }, outputs: { changeModel: "changeModel" }, host: { listeners: { "input": "onInput($event)", "keydown.control.v": "onCtrlV()" } }, usesOnChanges: true, ngImport: i0 });
43
+ MaskedInputTelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: MaskedInputTelDirective, selector: "[formatterPhone]", inputs: { parsedPhoneNumber: "parsedPhoneNumber", customMaxLength: "customMaxLength" }, outputs: { changeModel: "changeModel" }, host: { listeners: { "input": "onInput($event)", "keydown.control.v": "onCtrlV()" } }, ngImport: i0 });
45
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MaskedInputTelDirective, decorators: [{
46
45
  type: Directive,
47
46
  args: [{
48
47
  selector: '[formatterPhone]'
49
48
  }]
50
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.NgModel }]; }, propDecorators: { selectedCountry: [{
49
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.NgModel }]; }, propDecorators: { parsedPhoneNumber: [{
51
50
  type: Input
52
51
  }], customMaxLength: [{
53
52
  type: Input
@@ -60,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
60
59
  type: HostListener,
61
60
  args: ['keydown.control.v']
62
61
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2lucHV0LXRlbC9kaXJlY3RpdmVzL2lucHV0LXRlbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFBYyxZQUFZLEVBQ25DLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxHQUN2QyxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUtqRCxNQUFNLE9BQU8sdUJBQXVCO0lBUWxDLFlBQ1UsUUFBb0IsRUFDcEIsU0FBb0IsRUFDcEIsTUFBZTtRQUZmLGFBQVEsR0FBUixRQUFRLENBQVk7UUFDcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBVmpCLFlBQU8sR0FBRyxvQkFBb0IsQ0FBQztRQUc5QixvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFFckMsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQU9qRixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUFFLE9BQU07UUFDakMsTUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRWpHLElBQUksbUJBQW1CLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDM0g7SUFDSCxDQUFDO0lBRWtDLE9BQU8sQ0FBQyxLQUFVO1FBQ25ELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDMUM7SUFDSCxDQUFDO0lBRWtDLE9BQU87UUFDeEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUN2RCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7O29IQTlDVSx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOytJQUlVLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQTBCNEIsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVUUsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvdW50cnksIElucHV0VmFsdWUgfSBmcm9tICcuLi9tb2RlbHMvY291bnRyeS5tb2RlbCc7XHJcbmltcG9ydCB7IGdldEV4YW1wbGUgfSBmcm9tICdhd2Vzb21lLXBob25lbnVtYmVyJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Zvcm1hdHRlclBob25lXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hc2tlZElucHV0VGVsRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHBhdHRlcm4gPSAvW15cXGRcXChcXClcXC1cXCtcXCBdKy9naTtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRDb3VudHJ5ITogQ291bnRyeTtcclxuICBASW5wdXQoKSBjdXN0b21NYXhMZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICBAT3V0cHV0KCkgY2hhbmdlTW9kZWw6IEV2ZW50RW1pdHRlcjxJbnB1dFZhbHVlPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRWYWx1ZT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgX21vZGVsOiBOZ01vZGVsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWRDb3VudHJ5J10pIHtcclxuICAgICAgdGhpcy5fYW5hbGlzZU1heExlbmd0aCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYW5hbGlzZU1heExlbmd0aCgpIHtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZENvdW50cnkpIHJldHVyblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRQbGFjZWhvbGRlciA9IGdldEV4YW1wbGUodGhpcy5zZWxlY3RlZENvdW50cnkuaXNvMi50b1VwcGVyQ2FzZSgpLCAnbW9iaWxlJykubnVtYmVyO1xyXG5cclxuICAgIGlmIChzZWxlY3RlZFBsYWNlaG9sZGVyKSB7XHJcbiAgICAgIHRoaXMuY3VzdG9tTWF4TGVuZ3RoID9cclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnbWF4bGVuZ3RoJywgU3RyaW5nKHRoaXMuY3VzdG9tTWF4TGVuZ3RoKSkgOlxyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdtYXhsZW5ndGgnLCBTdHJpbmcoc2VsZWN0ZWRQbGFjZWhvbGRlci5pbnRlcm5hdGlvbmFsLmxlbmd0aCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKSBvbklucHV0KGV2ZW50OiBhbnkpIHtcclxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZS5yZXBsYWNlKHRoaXMucGF0dGVybiwgJycpO1xyXG5cclxuICAgIGlmICh0aGlzLl9tb2RlbCkge1xyXG4gICAgICB0aGlzLl9tb2RlbC51cGRhdGUuZW1pdChldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCB0aGlzLl9tb2RlbC5tb2RlbClcclxuICAgICAgdGhpcy5jaGFuZ2VNb2RlbC5lbWl0KGV2ZW50LnRhcmdldC52YWx1ZSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uY29udHJvbC52Jykgb25DdHJsVigpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLl9tb2RlbC5tb2RlbFxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2lucHV0LXRlbC9kaXJlY3RpdmVzL2lucHV0LXRlbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFBYyxZQUFZLEVBQ25DLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUM1QixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLHFCQUFxQixDQUFDOzs7QUFLcEUsTUFBTSxPQUFPLHVCQUF1QjtJQVFsQyxZQUNVLFFBQW9CLEVBQ3BCLFNBQW9CLEVBQ3BCLE1BQWU7UUFGZixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQVZqQixZQUFPLEdBQUcsb0JBQW9CLENBQUM7UUFHOUIsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBRXJDLGdCQUFXLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7SUFPakYsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFVO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDMUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBVTtRQUNsQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFO1lBQy9ELE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBRTNGLElBQUksbUJBQW1CLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQzNIO1NBQ0Y7SUFDSCxDQUFDO0lBRWtDLE9BQU8sQ0FBQyxLQUFVO1FBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFa0MsT0FBTztRQUN4QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7b0hBOUNVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7K0lBSVUsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkErQjRCLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUtFLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFJlbmRlcmVyMixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW5wdXRWYWx1ZSB9IGZyb20gJy4uL21vZGVscy9jb3VudHJ5Lm1vZGVsJztcclxuaW1wb3J0IHsgZ2V0RXhhbXBsZSwgUGFyc2VkUGhvbmVOdW1iZXIgfSBmcm9tICdhd2Vzb21lLXBob25lbnVtYmVyJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Zvcm1hdHRlclBob25lXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hc2tlZElucHV0VGVsRGlyZWN0aXZlIHtcclxuICBwcml2YXRlIHBhdHRlcm4gPSAvW15cXGRcXChcXClcXC1cXCtcXCBdKy9naTtcclxuXHJcbiAgQElucHV0KCkgcGFyc2VkUGhvbmVOdW1iZXI/OiBQYXJzZWRQaG9uZU51bWJlcjtcclxuICBASW5wdXQoKSBjdXN0b21NYXhMZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICBAT3V0cHV0KCkgY2hhbmdlTW9kZWw6IEV2ZW50RW1pdHRlcjxJbnB1dFZhbHVlPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRWYWx1ZT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgX21vZGVsOiBOZ01vZGVsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF92YWxpZGF0ZVZhbHVlKGV2ZW50OiBhbnkpIHtcclxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZS5yZXBsYWNlKHRoaXMucGF0dGVybiwgJycpO1xyXG5cclxuICAgIGlmICh0aGlzLl9tb2RlbCkge1xyXG4gICAgICB0aGlzLl9tb2RlbC51cGRhdGUuZW1pdChldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCB0aGlzLl9tb2RlbC5tb2RlbClcclxuICAgICAgdGhpcy5jaGFuZ2VNb2RlbC5lbWl0KGV2ZW50LnRhcmdldC52YWx1ZSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FuYWxpc2VNYXhMZW5ndGgoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMucGFyc2VkUGhvbmVOdW1iZXIgJiYgdGhpcy5wYXJzZWRQaG9uZU51bWJlci5yZWdpb25Db2RlKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkUGxhY2Vob2xkZXIgPSBnZXRFeGFtcGxlKHRoaXMucGFyc2VkUGhvbmVOdW1iZXIucmVnaW9uQ29kZSwgJ21vYmlsZScpLm51bWJlcjtcclxuXHJcbiAgICAgIGlmIChzZWxlY3RlZFBsYWNlaG9sZGVyKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21NYXhMZW5ndGggP1xyXG4gICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ21heGxlbmd0aCcsIFN0cmluZyh0aGlzLmN1c3RvbU1heExlbmd0aCkpIDpcclxuICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdtYXhsZW5ndGgnLCBTdHJpbmcoc2VsZWN0ZWRQbGFjZWhvbGRlci5pbnRlcm5hdGlvbmFsLmxlbmd0aCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pIG9uSW5wdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5fdmFsaWRhdGVWYWx1ZShldmVudClcclxuICAgIHRoaXMuX2FuYWxpc2VNYXhMZW5ndGgoZXZlbnQpXHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmNvbnRyb2wudicpIG9uQ3RybFYoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5fbW9kZWwubW9kZWxcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==