ps-toolkit-ui 0.1.76 → 0.1.77

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.
@@ -48,46 +48,40 @@ export class FormBankCardComponent {
48
48
  this.part4 = new InputClass(this.inp.environment, this.inp.l, 'BankCardPart4', null, InputType.Number, 'bank-card-part-4 bank-card-part-item', '', true, 1000, 9999);
49
49
  this.part1.displayLabel = this.part2.displayLabel = this.part3.displayLabel = this.part4.displayLabel = false;
50
50
  this.part1.placeholder = this.part2.placeholder = this.part3.placeholder = this.part4.placeholder = null;
51
- const bankNames = this.banks.map(x => x.name);
52
51
  this.part1.onChange = (v) => {
53
52
  this.inp.error = null;
53
+ this.setIcon();
54
54
  if (v.length === 4) {
55
55
  this.part2.focus();
56
- const b = this.banks.filter(x => x.startWith.includes(this.part1.data().toString()));
57
- if (b.length > 0) {
58
- $(this.inputIcon.nativeElement).removeClass('fa-money-check').addClass(b[0].name);
59
- }
60
- else {
61
- $(this.inputIcon.nativeElement).addClass('fa-money-check').removeClass(bankNames);
62
- }
63
56
  }
64
57
  };
65
58
  this.part2.onChange = (v) => {
66
59
  this.inp.error = null;
67
- if (v.length === 2) {
68
- const b = this.banks.filter(x => x.startWith.includes(this.part1.data().toString() + this.part2.data().toString()));
69
- if (b.length > 0) {
70
- $(this.inputIcon.nativeElement).removeClass('fa-money-check').addClass(b[0].name);
71
- }
72
- else {
73
- $(this.inputIcon.nativeElement).addClass('fa-money-check').removeClass(bankNames);
74
- }
75
- }
60
+ this.setIcon();
76
61
  if (v.length === 4) {
77
62
  this.part3.focus();
78
63
  }
64
+ else if (v.length === 0) {
65
+ this.part1.focus();
66
+ }
79
67
  };
80
68
  this.part3.onChange = (v) => {
81
69
  this.inp.error = null;
82
70
  if (v.length === 4) {
83
71
  this.part4.focus();
84
72
  }
73
+ else if (v.length === 0) {
74
+ this.part2.focus();
75
+ }
85
76
  };
86
77
  this.part4.onChange = (v) => {
87
78
  this.inp.error = null;
88
79
  if (v.length === 4) {
89
80
  this.changeIndex.emit('Tab');
90
81
  }
82
+ else if (v.length === 0) {
83
+ this.part3.focus();
84
+ }
91
85
  };
92
86
  this.inp.setValue = (v) => {
93
87
  if (v === null) {
@@ -127,6 +121,16 @@ export class FormBankCardComponent {
127
121
  this.onFocusIn();
128
122
  };
129
123
  }
124
+ setIcon() {
125
+ console.log(this.part1.data().toString() + this.part2.data().toString());
126
+ const b = this.banks.filter(x => x.startWith.includes(this.part1.data().toString() + this.part2.data().toString()));
127
+ if (b.length > 0) {
128
+ $(this.inputIcon.nativeElement).removeClass('fa-money-check').addClass(b[0].name);
129
+ }
130
+ else {
131
+ $(this.inputIcon.nativeElement).addClass('fa-money-check').removeClass(this.banks.map(x => x.name));
132
+ }
133
+ }
130
134
  changeFocus(p, a) {
131
135
  if (p === 'Part1') {
132
136
  if (a === 'Tab' || a === 'Enter') {
@@ -194,4 +198,4 @@ FormBankCardComponent.propDecorators = {
194
198
  inputPart4: [{ type: ViewChild, args: ['inputPart4',] }],
195
199
  inputIcon: [{ type: ViewChild, args: ['inputIcon',] }]
196
200
  };
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5iYW5rLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0vYmFuay1jYXJkL2Zvcm0uYmFuay1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBZ0IsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBTzVCLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFTRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQWFaLFVBQUssR0FBRztZQUNOLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUM7WUFDM0MsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBQztZQUM1QyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDekMsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFDO1lBQ3ZDLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUM7WUFDeEQsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFDO1lBQ3pDLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUMxQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDckMsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFDO1lBQ3pDLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUN6QyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDcEMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBQztZQUM1QyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDcEMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBQztZQUM1QyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFDO1lBQ2pELEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUNuQyxFQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBQztZQUMzRCxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDNUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLFFB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LENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN4TCxDQUFDOzs7WUF2TEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLHExQ0FBOEM7O2FBRS9DOzs7a0JBRUUsS0FBSzswQkFFTCxNQUFNO3lCQVVOLFNBQVMsU0FBQyxZQUFZO3lCQUN0QixTQUFTLFNBQUMsWUFBWTt5QkFDdEIsU0FBUyxTQUFDLFlBQVk7eUJBQ3RCLFNBQVMsU0FBQyxZQUFZO3dCQUN0QixTQUFTLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lucHV0Q2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRFcnJvciwgSW5wdXRUeXBlfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tYmFuay1jYXJkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5iYW5rLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0uYmFuay1jYXJkLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUJhbmtDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGlucDogSW5wdXRDbGFzcztcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VJbmRleCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGNWYWx1ZSA9ICcnO1xyXG4gIGdldCB0eXBlKCk6IHR5cGVvZiBJbnB1dFR5cGUge1xyXG4gICAgcmV0dXJuIElucHV0VHlwZTtcclxuICB9XHJcbiAgcGFydDE6IElucHV0Q2xhc3M7XHJcbiAgcGFydDI6IElucHV0Q2xhc3M7XHJcbiAgcGFydDM6IElucHV0Q2xhc3M7XHJcbiAgcGFydDQ6IElucHV0Q2xhc3M7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRQYXJ0MScpIGlucHV0UGFydDE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRQYXJ0MicpIGlucHV0UGFydDI6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRQYXJ0MycpIGlucHV0UGFydDM6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRQYXJ0NCcpIGlucHV0UGFydDQ6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRJY29uJykgaW5wdXRJY29uOiBFbGVtZW50UmVmO1xyXG4gIGJhbmtzID0gW1xyXG4gICAge25hbWU6ICdlZGJpJywgc3RhcnRXaXRoOiBbJzIwNzEnLCAnNjI3NiddfSxcclxuICAgIHtuYW1lOiAnYnBpJywgc3RhcnRXaXRoOiBbJzUwMjInLCAnNjM5MzQ3J119LFxyXG4gICAge25hbWU6ICdzaGFoci1iYW5rJywgc3RhcnRXaXRoOiBbJzUwMjgnXX0sXHJcbiAgICB7bmFtZTogJ3R0YmFuaycsIHN0YXJ0V2l0aDogWyc1MDI5MDgnXX0sXHJcbiAgICB7bmFtZTogJ2thcmFmYXJpbmJhbmsnLCBzdGFydFdpdGg6IFsnNTAyOTEwJywgJzYyNzQ4OCddfSxcclxuICAgIHtuYW1lOiAnYmFuay1kYXknLCBzdGFydFdpdGg6IFsnNTAyOTM4J119LFxyXG4gICAge25hbWU6ICd0b3VyaXNtYmFuaycsIHN0YXJ0V2l0aDogWyc1MDU0J119LFxyXG4gICAge25hbWU6ICdpemJhbmsnLCBzdGFydFdpdGg6IFsnNTA1NyddfSxcclxuICAgIHtuYW1lOiAnZWJhbmtzZXBhaCcsIHN0YXJ0V2l0aDogWyc1ODkyJ119LFxyXG4gICAge25hbWU6ICdyZWZhaC1iYW5rJywgc3RhcnRXaXRoOiBbJzU4OTQnXX0sXHJcbiAgICB7bmFtZTogJ2JzaScsIHN0YXJ0V2l0aDogWyc2MDM3NjknXX0sXHJcbiAgICB7bmFtZTogJ2JraScsIHN0YXJ0V2l0aDogWyc2MDM3NzAnLCAnNjM5MiddfSxcclxuICAgIHtuYW1lOiAnYm1pJywgc3RhcnRXaXRoOiBbJzYwMzc5OSddfSxcclxuICAgIHtuYW1lOiAncW1iJywgc3RhcnRXaXRoOiBbJzYwNjMnLCAnNjM5MzcwJ119LFxyXG4gICAge25hbWU6ICdiYW5rbWVsbGF0Jywgc3RhcnRXaXRoOiBbJzYxMDQnLCAnOTkxOSddfSxcclxuICAgIHtuYW1lOiAnc2IyNCcsIHN0YXJ0V2l0aDogWyc2MjE5J119LFxyXG4gICAge25hbWU6ICdwYXJzaWFuLWJhbmsnLCBzdGFydFdpdGg6IFsnNjIyMScsICc2Mjc4JywgJzYzOTEnXX0sXHJcbiAgICB7bmFtZTogJ3RlamFyYXRiYW5rJywgc3RhcnRXaXRoOiBbJzYyNzM1MyddfSxcclxuICAgIHtuYW1lOiAnYW5zYXJiYW5rJywgc3RhcnRXaXRoOiBbJzYyNzM4MSddfSxcclxuICAgIHtuYW1lOiAnZW5iYW5rJywgc3RhcnRXaXRoOiBbJzYyNzQxMiddfSxcclxuICAgIHtuYW1lOiAncG9zdGJhbmsnLCBzdGFydFdpdGg6IFsnNjI3NyddfSxcclxuICAgIHtuYW1lOiAnYmltJywgc3RhcnRXaXRoOiBbJzYyNzknXX0sXHJcbiAgICB7bmFtZTogJ2JhbmstbWFza2FuJywgc3RhcnRXaXRoOiBbJzYyODAnXX0sXHJcbiAgICB7bmFtZTogJ2NpZCcsIHN0YXJ0V2l0aDogWyc2MjgxJ119LFxyXG4gICAge25hbWU6ICdiYTI0Jywgc3RhcnRXaXRoOiBbJzYzNjInXX0sXHJcbiAgICB7bmFtZTogJ2NiaScsIHN0YXJ0V2l0aDogWyc2MzY3J119LFxyXG4gICAge25hbWU6ICdzaW5hYmFuaycsIHN0YXJ0V2l0aDogWyc2MzkzNDYnXX0sXHJcbiAgICB7bmFtZTogJ3NiYW5rJywgc3RhcnRXaXRoOiBbJzYzOTYnXX0sXHJcbiAgXTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFydDEgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgJ0JhbmtDYXJkUGFydDEnLCBudWxsLCBJbnB1dFR5cGUuTnVtYmVyLCAnYmFuay1jYXJkLXBhcnQtMSBiYW5rLWNhcmQtcGFydC1pdGVtJyxcclxuICAgICAgJycsIHRydWUsIDEwMDAsIDk5OTkpO1xyXG4gICAgdGhpcy5wYXJ0MiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCAnQmFua0NhcmRQYXJ0MicsIG51bGwsIElucHV0VHlwZS5OdW1iZXIsICdiYW5rLWNhcmQtcGFydC0yIGJhbmstY2FyZC1wYXJ0LWl0ZW0nLFxyXG4gICAgICAnJywgdHJ1ZSwgMTAwMCwgOTk5OSk7XHJcbiAgICB0aGlzLnBhcnQzID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsICdCYW5rQ2FyZFBhcnQzJywgbnVsbCwgSW5wdXRUeXBlLk51bWJlciwgJ2JhbmstY2FyZC1wYXJ0LTMgYmFuay1jYXJkLXBhcnQtaXRlbScsXHJcbiAgICAgICcnLCB0cnVlLCAxMDAwLCA5OTk5KTtcclxuICAgIHRoaXMucGFydDQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgJ0JhbmtDYXJkUGFydDQnLCBudWxsLCBJbnB1dFR5cGUuTnVtYmVyLCAnYmFuay1jYXJkLXBhcnQtNCBiYW5rLWNhcmQtcGFydC1pdGVtJyxcclxuICAgICAgJycsIHRydWUsIDEwMDAsIDk5OTkpO1xyXG4gICAgdGhpcy5wYXJ0MS5kaXNwbGF5TGFiZWwgPSB0aGlzLnBhcnQyLmRpc3BsYXlMYWJlbCA9IHRoaXMucGFydDMuZGlzcGxheUxhYmVsID0gdGhpcy5wYXJ0NC5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgIHRoaXMucGFydDEucGxhY2Vob2xkZXIgPSB0aGlzLnBhcnQyLnBsYWNlaG9sZGVyID0gdGhpcy5wYXJ0My5wbGFjZWhvbGRlciA9IHRoaXMucGFydDQucGxhY2Vob2xkZXIgPSBudWxsO1xyXG4gICAgY29uc3QgYmFua05hbWVzID0gdGhpcy5iYW5rcy5tYXAoeCA9PiB4Lm5hbWUpO1xyXG4gICAgdGhpcy5wYXJ0MS5vbkNoYW5nZSA9ICh2KSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgaWYgKHYubGVuZ3RoID09PSA0KXtcclxuICAgICAgICB0aGlzLnBhcnQyLmZvY3VzKCk7XHJcbiAgICAgICAgY29uc3QgYiA9IHRoaXMuYmFua3MuZmlsdGVyKHggPT4geC5zdGFydFdpdGguaW5jbHVkZXModGhpcy5wYXJ0MS5kYXRhKCkudG9TdHJpbmcoKSkpO1xyXG4gICAgICAgIGlmIChiLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgJCh0aGlzLmlucHV0SWNvbi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygnZmEtbW9uZXktY2hlY2snKS5hZGRDbGFzcyhiWzBdLm5hbWUpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgJCh0aGlzLmlucHV0SWNvbi5uYXRpdmVFbGVtZW50KS5hZGRDbGFzcygnZmEtbW9uZXktY2hlY2snKS5yZW1vdmVDbGFzcyhiYW5rTmFtZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMucGFydDIub25DaGFuZ2UgPSAodikgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIGlmICh2Lmxlbmd0aCA9PT0gMil7XHJcbiAgICAgICAgY29uc3QgYiA9IHRoaXMuYmFua3MuZmlsdGVyKHggPT4geC5zdGFydFdpdGguaW5jbHVkZXModGhpcy5wYXJ0MS5kYXRhKCkudG9TdHJpbmcoKSArIHRoaXMucGFydDIuZGF0YSgpLnRvU3RyaW5nKCkpKTtcclxuICAgICAgICBpZiAoYi5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICQodGhpcy5pbnB1dEljb24ubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ2ZhLW1vbmV5LWNoZWNrJykuYWRkQ2xhc3MoYlswXS5uYW1lKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICQodGhpcy5pbnB1dEljb24ubmF0aXZlRWxlbWVudCkuYWRkQ2xhc3MoJ2ZhLW1vbmV5LWNoZWNrJykucmVtb3ZlQ2xhc3MoYmFua05hbWVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHYubGVuZ3RoID09PSA0KXtcclxuICAgICAgICB0aGlzLnBhcnQzLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLnBhcnQzLm9uQ2hhbmdlID0gKHYpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICBpZiAodi5sZW5ndGggPT09IDQpe1xyXG4gICAgICAgIHRoaXMucGFydDQuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMucGFydDQub25DaGFuZ2UgPSAodikgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIGlmICh2Lmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdUYWInKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLnNldFZhbHVlID0gKHYpID0+IHtcclxuICAgICAgaWYgKHYgPT09IG51bGwpe1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnBhcnQxLnZhbHVlID0gdi5zdWJzdHIoMCwgNCk7XHJcbiAgICAgIHRoaXMucGFydDIudmFsdWUgPSB2LnN1YnN0cig0LCA0KTtcclxuICAgICAgdGhpcy5wYXJ0My52YWx1ZSA9IHYuc3Vic3RyKDgsIDQpO1xyXG4gICAgICB0aGlzLnBhcnQ0LnZhbHVlID0gdi5zdWJzdHIoMTIsIDQpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmlzVmFsaWQgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHYgPSB0aGlzLmdldFZhbHVlKCk7XHJcbiAgICAgIGlmICghdGhpcy5pbnAucmVxdWlyZWQgJiYgIXYpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXYpIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuUmVxdWlyZWQ7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghSGVscGVyQ2xhc3MuY2hlY2tDYXJ0RGlnaXQodikpe1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5JbnZhbGlkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5jbGVhciA9ICgpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICB0aGlzLnBhcnQxLnZhbHVlID0gdGhpcy5pbnAuZGVmYXVsdCA/IHRoaXMuaW5wLmRlZmF1bHQuc3Vic3RyKDAsIDQpIDogbnVsbDtcclxuICAgICAgdGhpcy5wYXJ0Mi52YWx1ZSA9IHRoaXMuaW5wLmRlZmF1bHQgPyB0aGlzLmlucC5kZWZhdWx0LnN1YnN0cig0LCA0KSA6IG51bGw7XHJcbiAgICAgIHRoaXMucGFydDMudmFsdWUgPSB0aGlzLmlucC5kZWZhdWx0ID8gdGhpcy5pbnAuZGVmYXVsdC5zdWJzdHIoOCwgNCkgOiBudWxsO1xyXG4gICAgICB0aGlzLnBhcnQ0LnZhbHVlID0gdGhpcy5pbnAuZGVmYXVsdCA/IHRoaXMuaW5wLmRlZmF1bHQuc3Vic3RyKDEyLCA0KSA6IG51bGw7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuZGF0YSA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5mb2N1cyA9ICgpID0+IHtcclxuICAgICAgdGhpcy5vbkZvY3VzSW4oKTtcclxuICAgIH07XHJcbiAgfVxyXG4gIGNoYW5nZUZvY3VzKHAsIGEpOiB2b2lke1xyXG4gICAgaWYgKHAgPT09ICdQYXJ0MScpe1xyXG4gICAgICBpZiAoYSA9PT0gJ1RhYicgfHwgYSA9PT0gJ0VudGVyJyl7XHJcbiAgICAgICAgdGhpcy5wYXJ0Mi5mb2N1cygpO1xyXG4gICAgICB9IGVsc2UgaWYgKGEgPT09ICdTaGlmdFRhYicgfHwgYSA9PT0gJ1NoaWZ0RW50ZXInKXtcclxuICAgICAgICB0aGlzLmNoYW5nZUluZGV4LmVtaXQoJ1NoaWZ0VGFiJyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAocCA9PT0gJ1BhcnQyJyl7XHJcbiAgICAgIGlmIChhID09PSAnVGFiJyB8fCBhID09PSAnRW50ZXInKXtcclxuICAgICAgICB0aGlzLnBhcnQzLmZvY3VzKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYSA9PT0gJ1NoaWZ0VGFiJyB8fCBhID09PSAnU2hpZnRFbnRlcicpe1xyXG4gICAgICAgIHRoaXMucGFydDEuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChwID09PSAnUGFydDMnKXtcclxuICAgICAgaWYgKGEgPT09ICdUYWInIHx8IGEgPT09ICdFbnRlcicpe1xyXG4gICAgICAgIHRoaXMucGFydDQuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIGlmIChhID09PSAnU2hpZnRUYWInIHx8IGEgPT09ICdTaGlmdEVudGVyJyl7XHJcbiAgICAgICAgdGhpcy5wYXJ0Mi5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHAgPT09ICdQYXJ0NCcpe1xyXG4gICAgICBpZiAoYSA9PT0gJ1RhYicgfHwgYSA9PT0gJ0VudGVyJyl7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdUYWInKTtcclxuICAgICAgfSBlbHNlIGlmIChhID09PSAnU2hpZnRUYWInIHx8IGEgPT09ICdTaGlmdEVudGVyJyl7XHJcbiAgICAgICAgdGhpcy5wYXJ0My5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRm9jdXNJbihlID0gbnVsbCk6IHZvaWR7XHJcbiAgICBpZiAoZSA9PSBudWxsIHx8ICEoZS5zY3JlZW5YICYmIGUuc2NyZWVuWCAhPT0gMCAmJiBlLnNjcmVlblkgJiYgZS5zY3JlZW5ZICE9PSAwKSl7XHJcbiAgICAgIHRoaXMucGFydDEuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25LZXlEb3duKGUpOiB2b2lke1xyXG4gICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgY29uc3QgY29kZSA9IGUua2V5Q29kZSB8fCBlLndoaWNoO1xyXG4gICAgaWYgKGNvZGUgPT09IDkpIHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB0aGlzLmNoYW5nZUluZGV4LmVtaXQoZS5zaGlmdEtleSA/ICdTaGlmdFRhYicgOiAnVGFiJyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCk6IHN0cmluZ3tcclxuICAgIHJldHVybiBgJHt0aGlzLnBhcnQxLnZhbHVlID8gdGhpcy5wYXJ0MS52YWx1ZSA6ICcnfSR7dGhpcy5wYXJ0Mi52YWx1ZSA/IHRoaXMucGFydDIudmFsdWUgOiAnJ30ke3RoaXMucGFydDMudmFsdWUgPyB0aGlzLnBhcnQzLnZhbHVlIDogJyd9JHt0aGlzLnBhcnQ0LnZhbHVlID8gdGhpcy5wYXJ0NC52YWx1ZSA6ICcnfWA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5iYW5rLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0vYmFuay1jYXJkL2Zvcm0uYmFuay1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBZ0IsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBTzVCLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFTRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQWFaLFVBQUssR0FBRztZQUNOLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUM7WUFDM0MsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBQztZQUM1QyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDekMsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFDO1lBQ3ZDLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUM7WUFDeEQsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFDO1lBQ3pDLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUMxQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDckMsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFDO1lBQ3pDLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUN6QyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDcEMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBQztZQUM1QyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDcEMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBQztZQUM1QyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFDO1lBQ2pELEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUNuQyxFQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBQztZQUMzRCxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDNUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLFFB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LElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN4TCxDQUFDOzs7WUF6TEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLHExQ0FBOEM7O2FBRS9DOzs7a0JBRUUsS0FBSzswQkFFTCxNQUFNO3lCQVVOLFNBQVMsU0FBQyxZQUFZO3lCQUN0QixTQUFTLFNBQUMsWUFBWTt5QkFDdEIsU0FBUyxTQUFDLFlBQVk7eUJBQ3RCLFNBQVMsU0FBQyxZQUFZO3dCQUN0QixTQUFTLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lucHV0Q2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRFcnJvciwgSW5wdXRUeXBlfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tYmFuay1jYXJkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5iYW5rLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0uYmFuay1jYXJkLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUJhbmtDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGlucDogSW5wdXRDbGFzcztcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VJbmRleCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGNWYWx1ZSA9ICcnO1xyXG4gIGdldCB0eXBlKCk6IHR5cGVvZiBJbnB1dFR5cGUge1xyXG4gICAgcmV0dXJuIElucHV0VHlwZTtcclxuICB9XHJcbiAgcGFydDE6IElucHV0Q2xhc3M7XHJcbiAgcGFydDI6IElucHV0Q2xhc3M7XHJcbiAgcGFydDM6IElucHV0Q2xhc3M7XHJcbiAgcGFydDQ6IElucHV0Q2xhc3M7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRQYXJ0MScpIGlucHV0UGFydDE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRQYXJ0MicpIGlucHV0UGFydDI6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRQYXJ0MycpIGlucHV0UGFydDM6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRQYXJ0NCcpIGlucHV0UGFydDQ6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRJY29uJykgaW5wdXRJY29uOiBFbGVtZW50UmVmO1xyXG4gIGJhbmtzID0gW1xyXG4gICAge25hbWU6ICdlZGJpJywgc3RhcnRXaXRoOiBbJzIwNzEnLCAnNjI3NiddfSxcclxuICAgIHtuYW1lOiAnYnBpJywgc3RhcnRXaXRoOiBbJzUwMjInLCAnNjM5MzQ3J119LFxyXG4gICAge25hbWU6ICdzaGFoci1iYW5rJywgc3RhcnRXaXRoOiBbJzUwMjgnXX0sXHJcbiAgICB7bmFtZTogJ3R0YmFuaycsIHN0YXJ0V2l0aDogWyc1MDI5MDgnXX0sXHJcbiAgICB7bmFtZTogJ2thcmFmYXJpbmJhbmsnLCBzdGFydFdpdGg6IFsnNTAyOTEwJywgJzYyNzQ4OCddfSxcclxuICAgIHtuYW1lOiAnYmFuay1kYXknLCBzdGFydFdpdGg6IFsnNTAyOTM4J119LFxyXG4gICAge25hbWU6ICd0b3VyaXNtYmFuaycsIHN0YXJ0V2l0aDogWyc1MDU0J119LFxyXG4gICAge25hbWU6ICdpemJhbmsnLCBzdGFydFdpdGg6IFsnNTA1NyddfSxcclxuICAgIHtuYW1lOiAnZWJhbmtzZXBhaCcsIHN0YXJ0V2l0aDogWyc1ODkyJ119LFxyXG4gICAge25hbWU6ICdyZWZhaC1iYW5rJywgc3RhcnRXaXRoOiBbJzU4OTQnXX0sXHJcbiAgICB7bmFtZTogJ2JzaScsIHN0YXJ0V2l0aDogWyc2MDM3NjknXX0sXHJcbiAgICB7bmFtZTogJ2JraScsIHN0YXJ0V2l0aDogWyc2MDM3NzAnLCAnNjM5MiddfSxcclxuICAgIHtuYW1lOiAnYm1pJywgc3RhcnRXaXRoOiBbJzYwMzc5OSddfSxcclxuICAgIHtuYW1lOiAncW1iJywgc3RhcnRXaXRoOiBbJzYwNjMnLCAnNjM5MzcwJ119LFxyXG4gICAge25hbWU6ICdiYW5rbWVsbGF0Jywgc3RhcnRXaXRoOiBbJzYxMDQnLCAnOTkxOSddfSxcclxuICAgIHtuYW1lOiAnc2IyNCcsIHN0YXJ0V2l0aDogWyc2MjE5J119LFxyXG4gICAge25hbWU6ICdwYXJzaWFuLWJhbmsnLCBzdGFydFdpdGg6IFsnNjIyMScsICc2Mjc4JywgJzYzOTEnXX0sXHJcbiAgICB7bmFtZTogJ3RlamFyYXRiYW5rJywgc3RhcnRXaXRoOiBbJzYyNzM1MyddfSxcclxuICAgIHtuYW1lOiAnYW5zYXJiYW5rJywgc3RhcnRXaXRoOiBbJzYyNzM4MSddfSxcclxuICAgIHtuYW1lOiAnZW5iYW5rJywgc3RhcnRXaXRoOiBbJzYyNzQxMiddfSxcclxuICAgIHtuYW1lOiAncG9zdGJhbmsnLCBzdGFydFdpdGg6IFsnNjI3NyddfSxcclxuICAgIHtuYW1lOiAnYmltJywgc3RhcnRXaXRoOiBbJzYyNzknXX0sXHJcbiAgICB7bmFtZTogJ2JhbmstbWFza2FuJywgc3RhcnRXaXRoOiBbJzYyODAnXX0sXHJcbiAgICB7bmFtZTogJ2NpZCcsIHN0YXJ0V2l0aDogWyc2MjgxJ119LFxyXG4gICAge25hbWU6ICdiYTI0Jywgc3RhcnRXaXRoOiBbJzYzNjInXX0sXHJcbiAgICB7bmFtZTogJ2NiaScsIHN0YXJ0V2l0aDogWyc2MzY3J119LFxyXG4gICAge25hbWU6ICdzaW5hYmFuaycsIHN0YXJ0V2l0aDogWyc2MzkzNDYnXX0sXHJcbiAgICB7bmFtZTogJ3NiYW5rJywgc3RhcnRXaXRoOiBbJzYzOTYnXX0sXHJcbiAgXTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFydDEgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgJ0JhbmtDYXJkUGFydDEnLCBudWxsLCBJbnB1dFR5cGUuTnVtYmVyLCAnYmFuay1jYXJkLXBhcnQtMSBiYW5rLWNhcmQtcGFydC1pdGVtJyxcclxuICAgICAgJycsIHRydWUsIDEwMDAsIDk5OTkpO1xyXG4gICAgdGhpcy5wYXJ0MiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCAnQmFua0NhcmRQYXJ0MicsIG51bGwsIElucHV0VHlwZS5OdW1iZXIsICdiYW5rLWNhcmQtcGFydC0yIGJhbmstY2FyZC1wYXJ0LWl0ZW0nLFxyXG4gICAgICAnJywgdHJ1ZSwgMTAwMCwgOTk5OSk7XHJcbiAgICB0aGlzLnBhcnQzID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsICdCYW5rQ2FyZFBhcnQzJywgbnVsbCwgSW5wdXRUeXBlLk51bWJlciwgJ2JhbmstY2FyZC1wYXJ0LTMgYmFuay1jYXJkLXBhcnQtaXRlbScsXHJcbiAgICAgICcnLCB0cnVlLCAxMDAwLCA5OTk5KTtcclxuICAgIHRoaXMucGFydDQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgJ0JhbmtDYXJkUGFydDQnLCBudWxsLCBJbnB1dFR5cGUuTnVtYmVyLCAnYmFuay1jYXJkLXBhcnQtNCBiYW5rLWNhcmQtcGFydC1pdGVtJyxcclxuICAgICAgJycsIHRydWUsIDEwMDAsIDk5OTkpO1xyXG4gICAgdGhpcy5wYXJ0MS5kaXNwbGF5TGFiZWwgPSB0aGlzLnBhcnQyLmRpc3BsYXlMYWJlbCA9IHRoaXMucGFydDMuZGlzcGxheUxhYmVsID0gdGhpcy5wYXJ0NC5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgIHRoaXMucGFydDEucGxhY2Vob2xkZXIgPSB0aGlzLnBhcnQyLnBsYWNlaG9sZGVyID0gdGhpcy5wYXJ0My5wbGFjZWhvbGRlciA9IHRoaXMucGFydDQucGxhY2Vob2xkZXIgPSBudWxsO1xyXG4gICAgdGhpcy5wYXJ0MS5vbkNoYW5nZSA9ICh2KSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgdGhpcy5zZXRJY29uKCk7XHJcbiAgICAgIGlmICh2Lmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgdGhpcy5wYXJ0Mi5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5wYXJ0Mi5vbkNoYW5nZSA9ICh2KSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgdGhpcy5zZXRJY29uKCk7XHJcbiAgICAgIGlmICh2Lmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgdGhpcy5wYXJ0My5mb2N1cygpO1xyXG4gICAgICB9IGVsc2UgIGlmICh2Lmxlbmd0aCA9PT0gMCl7XHJcbiAgICAgICAgdGhpcy5wYXJ0MS5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5wYXJ0My5vbkNoYW5nZSA9ICh2KSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgaWYgKHYubGVuZ3RoID09PSA0KXtcclxuICAgICAgICB0aGlzLnBhcnQ0LmZvY3VzKCk7XHJcbiAgICAgIH0gZWxzZSAgaWYgKHYubGVuZ3RoID09PSAwKXtcclxuICAgICAgICB0aGlzLnBhcnQyLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLnBhcnQ0Lm9uQ2hhbmdlID0gKHYpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICBpZiAodi5sZW5ndGggPT09IDQpe1xyXG4gICAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAodi5sZW5ndGggPT09IDApe1xyXG4gICAgICAgIHRoaXMucGFydDMuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLnNldFZhbHVlID0gKHYpID0+IHtcclxuICAgICAgaWYgKHYgPT09IG51bGwpe1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnBhcnQxLnZhbHVlID0gdi5zdWJzdHIoMCwgNCk7XHJcbiAgICAgIHRoaXMucGFydDIudmFsdWUgPSB2LnN1YnN0cig0LCA0KTtcclxuICAgICAgdGhpcy5wYXJ0My52YWx1ZSA9IHYuc3Vic3RyKDgsIDQpO1xyXG4gICAgICB0aGlzLnBhcnQ0LnZhbHVlID0gdi5zdWJzdHIoMTIsIDQpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmlzVmFsaWQgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHYgPSB0aGlzLmdldFZhbHVlKCk7XHJcbiAgICAgIGlmICghdGhpcy5pbnAucmVxdWlyZWQgJiYgIXYpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXYpIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuUmVxdWlyZWQ7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghSGVscGVyQ2xhc3MuY2hlY2tDYXJ0RGlnaXQodikpe1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5JbnZhbGlkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5jbGVhciA9ICgpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICB0aGlzLnBhcnQxLnZhbHVlID0gdGhpcy5pbnAuZGVmYXVsdCA/IHRoaXMuaW5wLmRlZmF1bHQuc3Vic3RyKDAsIDQpIDogbnVsbDtcclxuICAgICAgdGhpcy5wYXJ0Mi52YWx1ZSA9IHRoaXMuaW5wLmRlZmF1bHQgPyB0aGlzLmlucC5kZWZhdWx0LnN1YnN0cig0LCA0KSA6IG51bGw7XHJcbiAgICAgIHRoaXMucGFydDMudmFsdWUgPSB0aGlzLmlucC5kZWZhdWx0ID8gdGhpcy5pbnAuZGVmYXVsdC5zdWJzdHIoOCwgNCkgOiBudWxsO1xyXG4gICAgICB0aGlzLnBhcnQ0LnZhbHVlID0gdGhpcy5pbnAuZGVmYXVsdCA/IHRoaXMuaW5wLmRlZmF1bHQuc3Vic3RyKDEyLCA0KSA6IG51bGw7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuZGF0YSA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5mb2N1cyA9ICgpID0+IHtcclxuICAgICAgdGhpcy5vbkZvY3VzSW4oKTtcclxuICAgIH07XHJcbiAgfVxyXG4gIHNldEljb24oKTogdm9pZHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMucGFydDEuZGF0YSgpLnRvU3RyaW5nKCkgKyB0aGlzLnBhcnQyLmRhdGEoKS50b1N0cmluZygpKTtcclxuICAgIGNvbnN0IGIgPSB0aGlzLmJhbmtzLmZpbHRlcih4ID0+IHguc3RhcnRXaXRoLmluY2x1ZGVzKHRoaXMucGFydDEuZGF0YSgpLnRvU3RyaW5nKCkgKyB0aGlzLnBhcnQyLmRhdGEoKS50b1N0cmluZygpKSk7XHJcbiAgICBpZiAoYi5sZW5ndGggPiAwKXtcclxuICAgICAgJCh0aGlzLmlucHV0SWNvbi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygnZmEtbW9uZXktY2hlY2snKS5hZGRDbGFzcyhiWzBdLm5hbWUpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgICQodGhpcy5pbnB1dEljb24ubmF0aXZlRWxlbWVudCkuYWRkQ2xhc3MoJ2ZhLW1vbmV5LWNoZWNrJykucmVtb3ZlQ2xhc3ModGhpcy5iYW5rcy5tYXAoeCA9PiB4Lm5hbWUpKTtcclxuICAgIH1cclxuICB9XHJcbiAgY2hhbmdlRm9jdXMocCwgYSk6IHZvaWR7XHJcbiAgICBpZiAocCA9PT0gJ1BhcnQxJyl7XHJcbiAgICAgIGlmIChhID09PSAnVGFiJyB8fCBhID09PSAnRW50ZXInKXtcclxuICAgICAgICB0aGlzLnBhcnQyLmZvY3VzKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYSA9PT0gJ1NoaWZ0VGFiJyB8fCBhID09PSAnU2hpZnRFbnRlcicpe1xyXG4gICAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnU2hpZnRUYWInKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChwID09PSAnUGFydDInKXtcclxuICAgICAgaWYgKGEgPT09ICdUYWInIHx8IGEgPT09ICdFbnRlcicpe1xyXG4gICAgICAgIHRoaXMucGFydDMuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIGlmIChhID09PSAnU2hpZnRUYWInIHx8IGEgPT09ICdTaGlmdEVudGVyJyl7XHJcbiAgICAgICAgdGhpcy5wYXJ0MS5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHAgPT09ICdQYXJ0Mycpe1xyXG4gICAgICBpZiAoYSA9PT0gJ1RhYicgfHwgYSA9PT0gJ0VudGVyJyl7XHJcbiAgICAgICAgdGhpcy5wYXJ0NC5mb2N1cygpO1xyXG4gICAgICB9IGVsc2UgaWYgKGEgPT09ICdTaGlmdFRhYicgfHwgYSA9PT0gJ1NoaWZ0RW50ZXInKXtcclxuICAgICAgICB0aGlzLnBhcnQyLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAocCA9PT0gJ1BhcnQ0Jyl7XHJcbiAgICAgIGlmIChhID09PSAnVGFiJyB8fCBhID09PSAnRW50ZXInKXtcclxuICAgICAgICB0aGlzLmNoYW5nZUluZGV4LmVtaXQoJ1RhYicpO1xyXG4gICAgICB9IGVsc2UgaWYgKGEgPT09ICdTaGlmdFRhYicgfHwgYSA9PT0gJ1NoaWZ0RW50ZXInKXtcclxuICAgICAgICB0aGlzLnBhcnQzLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgb25Gb2N1c0luKGUgPSBudWxsKTogdm9pZHtcclxuICAgIGlmIChlID09IG51bGwgfHwgIShlLnNjcmVlblggJiYgZS5zY3JlZW5YICE9PSAwICYmIGUuc2NyZWVuWSAmJiBlLnNjcmVlblkgIT09IDApKXtcclxuICAgICAgdGhpcy5wYXJ0MS5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbktleURvd24oZSk6IHZvaWR7XHJcbiAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICBjb25zdCBjb2RlID0gZS5rZXlDb2RlIHx8IGUud2hpY2g7XHJcbiAgICBpZiAoY29kZSA9PT0gOSkge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdChlLnNoaWZ0S2V5ID8gJ1NoaWZ0VGFiJyA6ICdUYWInKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKTogc3RyaW5ne1xyXG4gICAgcmV0dXJuIGAke3RoaXMucGFydDEudmFsdWUgPyB0aGlzLnBhcnQxLnZhbHVlIDogJyd9JHt0aGlzLnBhcnQyLnZhbHVlID8gdGhpcy5wYXJ0Mi52YWx1ZSA6ICcnfSR7dGhpcy5wYXJ0My52YWx1ZSA/IHRoaXMucGFydDMudmFsdWUgOiAnJ30ke3RoaXMucGFydDQudmFsdWUgPyB0aGlzLnBhcnQ0LnZhbHVlIDogJyd9YDtcclxuICB9XHJcbn1cclxuIl19
@@ -2595,46 +2595,40 @@ class FormBankCardComponent {
2595
2595
  this.part4 = new InputClass(this.inp.environment, this.inp.l, 'BankCardPart4', null, InputType.Number, 'bank-card-part-4 bank-card-part-item', '', true, 1000, 9999);
2596
2596
  this.part1.displayLabel = this.part2.displayLabel = this.part3.displayLabel = this.part4.displayLabel = false;
2597
2597
  this.part1.placeholder = this.part2.placeholder = this.part3.placeholder = this.part4.placeholder = null;
2598
- const bankNames = this.banks.map(x => x.name);
2599
2598
  this.part1.onChange = (v) => {
2600
2599
  this.inp.error = null;
2600
+ this.setIcon();
2601
2601
  if (v.length === 4) {
2602
2602
  this.part2.focus();
2603
- const b = this.banks.filter(x => x.startWith.includes(this.part1.data().toString()));
2604
- if (b.length > 0) {
2605
- $(this.inputIcon.nativeElement).removeClass('fa-money-check').addClass(b[0].name);
2606
- }
2607
- else {
2608
- $(this.inputIcon.nativeElement).addClass('fa-money-check').removeClass(bankNames);
2609
- }
2610
2603
  }
2611
2604
  };
2612
2605
  this.part2.onChange = (v) => {
2613
2606
  this.inp.error = null;
2614
- if (v.length === 2) {
2615
- const b = this.banks.filter(x => x.startWith.includes(this.part1.data().toString() + this.part2.data().toString()));
2616
- if (b.length > 0) {
2617
- $(this.inputIcon.nativeElement).removeClass('fa-money-check').addClass(b[0].name);
2618
- }
2619
- else {
2620
- $(this.inputIcon.nativeElement).addClass('fa-money-check').removeClass(bankNames);
2621
- }
2622
- }
2607
+ this.setIcon();
2623
2608
  if (v.length === 4) {
2624
2609
  this.part3.focus();
2625
2610
  }
2611
+ else if (v.length === 0) {
2612
+ this.part1.focus();
2613
+ }
2626
2614
  };
2627
2615
  this.part3.onChange = (v) => {
2628
2616
  this.inp.error = null;
2629
2617
  if (v.length === 4) {
2630
2618
  this.part4.focus();
2631
2619
  }
2620
+ else if (v.length === 0) {
2621
+ this.part2.focus();
2622
+ }
2632
2623
  };
2633
2624
  this.part4.onChange = (v) => {
2634
2625
  this.inp.error = null;
2635
2626
  if (v.length === 4) {
2636
2627
  this.changeIndex.emit('Tab');
2637
2628
  }
2629
+ else if (v.length === 0) {
2630
+ this.part3.focus();
2631
+ }
2638
2632
  };
2639
2633
  this.inp.setValue = (v) => {
2640
2634
  if (v === null) {
@@ -2674,6 +2668,16 @@ class FormBankCardComponent {
2674
2668
  this.onFocusIn();
2675
2669
  };
2676
2670
  }
2671
+ setIcon() {
2672
+ console.log(this.part1.data().toString() + this.part2.data().toString());
2673
+ const b = this.banks.filter(x => x.startWith.includes(this.part1.data().toString() + this.part2.data().toString()));
2674
+ if (b.length > 0) {
2675
+ $(this.inputIcon.nativeElement).removeClass('fa-money-check').addClass(b[0].name);
2676
+ }
2677
+ else {
2678
+ $(this.inputIcon.nativeElement).addClass('fa-money-check').removeClass(this.banks.map(x => x.name));
2679
+ }
2680
+ }
2677
2681
  changeFocus(p, a) {
2678
2682
  if (p === 'Part1') {
2679
2683
  if (a === 'Tab' || a === 'Enter') {