ps-toolkit-ui 0.1.75 → 0.1.78

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.
@@ -9,32 +9,32 @@ export class FormBankCardComponent {
9
9
  this.cValue = '';
10
10
  this.banks = [
11
11
  { name: 'edbi', startWith: ['2071', '6276'] },
12
- { name: 'bpi', startWith: ['5022', '6393-47'] },
12
+ { name: 'bpi', startWith: ['5022', '639347'] },
13
13
  { name: 'shahr-bank', startWith: ['5028'] },
14
- { name: 'ttbank', startWith: ['5029-08'] },
15
- { name: 'karafarinbank', startWith: ['5029-10', '6274-88'] },
16
- { name: 'bank-day', startWith: ['5029-38'] },
14
+ { name: 'ttbank', startWith: ['502908'] },
15
+ { name: 'karafarinbank', startWith: ['502910', '627488'] },
16
+ { name: 'bank-day', startWith: ['502938'] },
17
17
  { name: 'tourismbank', startWith: ['5054'] },
18
18
  { name: 'izbank', startWith: ['5057'] },
19
19
  { name: 'ebanksepah', startWith: ['5892'] },
20
20
  { name: 'refah-bank', startWith: ['5894'] },
21
- { name: 'bsi', startWith: ['6037-69'] },
22
- { name: 'bki', startWith: ['6037-70', '6392'] },
23
- { name: 'bmi', startWith: ['6037-99'] },
24
- { name: 'qmb', startWith: ['6063', '6393-70'] },
21
+ { name: 'bsi', startWith: ['603769'] },
22
+ { name: 'bki', startWith: ['603770', '6392'] },
23
+ { name: 'bmi', startWith: ['603799'] },
24
+ { name: 'qmb', startWith: ['6063', '639370'] },
25
25
  { name: 'bankmellat', startWith: ['6104', '9919'] },
26
26
  { name: 'sb24', startWith: ['6219'] },
27
27
  { name: 'parsian-bank', startWith: ['6221', '6278', '6391'] },
28
- { name: 'tejaratbank', startWith: ['6273-53'] },
29
- { name: 'ansarbank', startWith: ['6273-81'] },
30
- { name: 'enbank', startWith: ['6274-12'] },
28
+ { name: 'tejaratbank', startWith: ['627353'] },
29
+ { name: 'ansarbank', startWith: ['627381'] },
30
+ { name: 'enbank', startWith: ['627412'] },
31
31
  { name: 'postbank', startWith: ['6277'] },
32
32
  { name: 'bim', startWith: ['6279'] },
33
33
  { name: 'bank-maskan', startWith: ['6280'] },
34
34
  { name: 'cid', startWith: ['6281'] },
35
35
  { name: 'ba24', startWith: ['6362'] },
36
36
  { name: 'cbi', startWith: ['6367'] },
37
- { name: 'sinabank', startWith: ['6393-46'] },
37
+ { name: 'sinabank', startWith: ['639346'] },
38
38
  { name: 'sbank', startWith: ['6396'] },
39
39
  ];
40
40
  }
@@ -48,37 +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;
60
+ this.setIcon();
67
61
  if (v.length === 4) {
68
62
  this.part3.focus();
69
63
  }
64
+ else if (v.length === 0) {
65
+ this.part1.focus();
66
+ }
70
67
  };
71
68
  this.part3.onChange = (v) => {
72
69
  this.inp.error = null;
73
70
  if (v.length === 4) {
74
71
  this.part4.focus();
75
72
  }
73
+ else if (v.length === 0) {
74
+ this.part2.focus();
75
+ }
76
76
  };
77
77
  this.part4.onChange = (v) => {
78
78
  this.inp.error = null;
79
79
  if (v.length === 4) {
80
80
  this.changeIndex.emit('Tab');
81
81
  }
82
+ else if (v.length === 0) {
83
+ this.part3.focus();
84
+ }
82
85
  };
83
86
  this.inp.setValue = (v) => {
84
87
  if (v === null) {
@@ -118,6 +121,16 @@ export class FormBankCardComponent {
118
121
  this.onFocusIn();
119
122
  };
120
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().substring(0, 2)));
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
+ }
121
134
  changeFocus(p, a) {
122
135
  if (p === 'Part1') {
123
136
  if (a === 'Tab' || a === 'Enter') {
@@ -185,4 +198,4 @@ FormBankCardComponent.propDecorators = {
185
198
  inputPart4: [{ type: ViewChild, args: ['inputPart4',] }],
186
199
  inputIcon: [{ type: ViewChild, args: ['inputIcon',] }]
187
200
  };
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5iYW5rLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0vYmFuay1jYXJkL2Zvcm0uYmFuay1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBZ0IsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBTzVCLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFTRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQWFaLFVBQUssR0FBRztZQUNOLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUM7WUFDM0MsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBQztZQUM3QyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDekMsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFDO1lBQ3hDLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUM7WUFDMUQsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFDO1lBQzFDLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUMxQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDckMsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFDO1lBQ3pDLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUN6QyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUM7WUFDckMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBQztZQUM3QyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUM7WUFDckMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBQztZQUM3QyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFDO1lBQ2pELEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUNuQyxFQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBQztZQUMzRCxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUM7WUFDN0MsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLFNB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QUFJLEtBQUssQ0FBQyxFQUFFO1lBQ2QsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBQ0QsUUFBUTtRQUNOLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3hMLENBQUM7OztZQS9LRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIscTFDQUE4Qzs7YUFFL0M7OztrQkFFRSxLQUFLOzBCQUVMLE1BQU07eUJBVU4sU0FBUyxTQUFDLFlBQVk7eUJBQ3RCLFNBQVMsU0FBQyxZQUFZO3lCQUN0QixTQUFTLFNBQUMsWUFBWTt5QkFDdEIsU0FBUyxTQUFDLFlBQVk7d0JBQ3RCLFNBQVMsU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SW5wdXRDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dEVycm9yLCBJbnB1dFR5cGV9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvaGVscGVyLmNsYXNzJztcclxuaW1wb3J0ICogYXMgJCBmcm9tICdqcXVlcnknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZm9ybS1iYW5rLWNhcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLmJhbmstY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5iYW5rLWNhcmQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQmFua0NhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5wOiBJbnB1dENsYXNzO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZUluZGV4ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgY1ZhbHVlID0gJyc7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZSB7XHJcbiAgICByZXR1cm4gSW5wdXRUeXBlO1xyXG4gIH1cclxuICBwYXJ0MTogSW5wdXRDbGFzcztcclxuICBwYXJ0MjogSW5wdXRDbGFzcztcclxuICBwYXJ0MzogSW5wdXRDbGFzcztcclxuICBwYXJ0NDogSW5wdXRDbGFzcztcclxuICBAVmlld0NoaWxkKCdpbnB1dFBhcnQxJykgaW5wdXRQYXJ0MTogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dFBhcnQyJykgaW5wdXRQYXJ0MjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dFBhcnQzJykgaW5wdXRQYXJ0MzogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dFBhcnQ0JykgaW5wdXRQYXJ0NDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dEljb24nKSBpbnB1dEljb246IEVsZW1lbnRSZWY7XHJcbiAgYmFua3MgPSBbXHJcbiAgICB7bmFtZTogJ2VkYmknLCBzdGFydFdpdGg6IFsnMjA3MScsICc2Mjc2J119LFxyXG4gICAge25hbWU6ICdicGknLCBzdGFydFdpdGg6IFsnNTAyMicsICc2MzkzLTQ3J119LFxyXG4gICAge25hbWU6ICdzaGFoci1iYW5rJywgc3RhcnRXaXRoOiBbJzUwMjgnXX0sXHJcbiAgICB7bmFtZTogJ3R0YmFuaycsIHN0YXJ0V2l0aDogWyc1MDI5LTA4J119LFxyXG4gICAge25hbWU6ICdrYXJhZmFyaW5iYW5rJywgc3RhcnRXaXRoOiBbJzUwMjktMTAnLCAnNjI3NC04OCddfSxcclxuICAgIHtuYW1lOiAnYmFuay1kYXknLCBzdGFydFdpdGg6IFsnNTAyOS0zOCddfSxcclxuICAgIHtuYW1lOiAndG91cmlzbWJhbmsnLCBzdGFydFdpdGg6IFsnNTA1NCddfSxcclxuICAgIHtuYW1lOiAnaXpiYW5rJywgc3RhcnRXaXRoOiBbJzUwNTcnXX0sXHJcbiAgICB7bmFtZTogJ2ViYW5rc2VwYWgnLCBzdGFydFdpdGg6IFsnNTg5MiddfSxcclxuICAgIHtuYW1lOiAncmVmYWgtYmFuaycsIHN0YXJ0V2l0aDogWyc1ODk0J119LFxyXG4gICAge25hbWU6ICdic2knLCBzdGFydFdpdGg6IFsnNjAzNy02OSddfSxcclxuICAgIHtuYW1lOiAnYmtpJywgc3RhcnRXaXRoOiBbJzYwMzctNzAnLCAnNjM5MiddfSxcclxuICAgIHtuYW1lOiAnYm1pJywgc3RhcnRXaXRoOiBbJzYwMzctOTknXX0sXHJcbiAgICB7bmFtZTogJ3FtYicsIHN0YXJ0V2l0aDogWyc2MDYzJywgJzYzOTMtNzAnXX0sXHJcbiAgICB7bmFtZTogJ2JhbmttZWxsYXQnLCBzdGFydFdpdGg6IFsnNjEwNCcsICc5OTE5J119LFxyXG4gICAge25hbWU6ICdzYjI0Jywgc3RhcnRXaXRoOiBbJzYyMTknXX0sXHJcbiAgICB7bmFtZTogJ3BhcnNpYW4tYmFuaycsIHN0YXJ0V2l0aDogWyc2MjIxJywgJzYyNzgnLCAnNjM5MSddfSxcclxuICAgIHtuYW1lOiAndGVqYXJhdGJhbmsnLCBzdGFydFdpdGg6IFsnNjI3My01MyddfSxcclxuICAgIHtuYW1lOiAnYW5zYXJiYW5rJywgc3RhcnRXaXRoOiBbJzYyNzMtODEnXX0sXHJcbiAgICB7bmFtZTogJ2VuYmFuaycsIHN0YXJ0V2l0aDogWyc2Mjc0LTEyJ119LFxyXG4gICAge25hbWU6ICdwb3N0YmFuaycsIHN0YXJ0V2l0aDogWyc2Mjc3J119LFxyXG4gICAge25hbWU6ICdiaW0nLCBzdGFydFdpdGg6IFsnNjI3OSddfSxcclxuICAgIHtuYW1lOiAnYmFuay1tYXNrYW4nLCBzdGFydFdpdGg6IFsnNjI4MCddfSxcclxuICAgIHtuYW1lOiAnY2lkJywgc3RhcnRXaXRoOiBbJzYyODEnXX0sXHJcbiAgICB7bmFtZTogJ2JhMjQnLCBzdGFydFdpdGg6IFsnNjM2MiddfSxcclxuICAgIHtuYW1lOiAnY2JpJywgc3RhcnRXaXRoOiBbJzYzNjcnXX0sXHJcbiAgICB7bmFtZTogJ3NpbmFiYW5rJywgc3RhcnRXaXRoOiBbJzYzOTMtNDYnXX0sXHJcbiAgICB7bmFtZTogJ3NiYW5rJywgc3RhcnRXaXRoOiBbJzYzOTYnXX0sXHJcbiAgXTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFydDEgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgJ0JhbmtDYXJkUGFydDEnLCBudWxsLCBJbnB1dFR5cGUuTnVtYmVyLCAnYmFuay1jYXJkLXBhcnQtMSBiYW5rLWNhcmQtcGFydC1pdGVtJyxcclxuICAgICAgJycsIHRydWUsIDEwMDAsIDk5OTkpO1xyXG4gICAgdGhpcy5wYXJ0MiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCAnQmFua0NhcmRQYXJ0MicsIG51bGwsIElucHV0VHlwZS5OdW1iZXIsICdiYW5rLWNhcmQtcGFydC0yIGJhbmstY2FyZC1wYXJ0LWl0ZW0nLFxyXG4gICAgICAnJywgdHJ1ZSwgMTAwMCwgOTk5OSk7XHJcbiAgICB0aGlzLnBhcnQzID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsICdCYW5rQ2FyZFBhcnQzJywgbnVsbCwgSW5wdXRUeXBlLk51bWJlciwgJ2JhbmstY2FyZC1wYXJ0LTMgYmFuay1jYXJkLXBhcnQtaXRlbScsXHJcbiAgICAgICcnLCB0cnVlLCAxMDAwLCA5OTk5KTtcclxuICAgIHRoaXMucGFydDQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgJ0JhbmtDYXJkUGFydDQnLCBudWxsLCBJbnB1dFR5cGUuTnVtYmVyLCAnYmFuay1jYXJkLXBhcnQtNCBiYW5rLWNhcmQtcGFydC1pdGVtJyxcclxuICAgICAgJycsIHRydWUsIDEwMDAsIDk5OTkpO1xyXG4gICAgdGhpcy5wYXJ0MS5kaXNwbGF5TGFiZWwgPSB0aGlzLnBhcnQyLmRpc3BsYXlMYWJlbCA9IHRoaXMucGFydDMuZGlzcGxheUxhYmVsID0gdGhpcy5wYXJ0NC5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgIHRoaXMucGFydDEucGxhY2Vob2xkZXIgPSB0aGlzLnBhcnQyLnBsYWNlaG9sZGVyID0gdGhpcy5wYXJ0My5wbGFjZWhvbGRlciA9IHRoaXMucGFydDQucGxhY2Vob2xkZXIgPSBudWxsO1xyXG4gICAgY29uc3QgYmFua05hbWVzID0gdGhpcy5iYW5rcy5tYXAoeCA9PiB4Lm5hbWUpO1xyXG4gICAgdGhpcy5wYXJ0MS5vbkNoYW5nZSA9ICh2KSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgaWYgKHYubGVuZ3RoID09PSA0KXtcclxuICAgICAgICB0aGlzLnBhcnQyLmZvY3VzKCk7XHJcbiAgICAgICAgY29uc3QgYiA9IHRoaXMuYmFua3MuZmlsdGVyKHggPT4geC5zdGFydFdpdGguaW5jbHVkZXModGhpcy5wYXJ0MS5kYXRhKCkudG9TdHJpbmcoKSkpO1xyXG4gICAgICAgIGlmIChiLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgJCh0aGlzLmlucHV0SWNvbi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygnZmEtbW9uZXktY2hlY2snKS5hZGRDbGFzcyhiWzBdLm5hbWUpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgJCh0aGlzLmlucHV0SWNvbi5uYXRpdmVFbGVtZW50KS5hZGRDbGFzcygnZmEtbW9uZXktY2hlY2snKS5yZW1vdmVDbGFzcyhiYW5rTmFtZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMucGFydDIub25DaGFuZ2UgPSAodikgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIGlmICh2Lmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgdGhpcy5wYXJ0My5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5wYXJ0My5vbkNoYW5nZSA9ICh2KSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgaWYgKHYubGVuZ3RoID09PSA0KXtcclxuICAgICAgICB0aGlzLnBhcnQ0LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLnBhcnQ0Lm9uQ2hhbmdlID0gKHYpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICBpZiAodi5sZW5ndGggPT09IDQpe1xyXG4gICAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5zZXRWYWx1ZSA9ICh2KSA9PiB7XHJcbiAgICAgIGlmICh2ID09PSBudWxsKXtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wYXJ0MS52YWx1ZSA9IHYuc3Vic3RyKDAsIDQpO1xyXG4gICAgICB0aGlzLnBhcnQyLnZhbHVlID0gdi5zdWJzdHIoNCwgNCk7XHJcbiAgICAgIHRoaXMucGFydDMudmFsdWUgPSB2LnN1YnN0cig4LCA0KTtcclxuICAgICAgdGhpcy5wYXJ0NC52YWx1ZSA9IHYuc3Vic3RyKDEyLCA0KTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5pc1ZhbGlkID0gKCkgPT4ge1xyXG4gICAgICBjb25zdCB2ID0gdGhpcy5nZXRWYWx1ZSgpO1xyXG4gICAgICBpZiAoIXRoaXMuaW5wLnJlcXVpcmVkICYmICF2KSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCF2KSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLlJlcXVpcmVkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUhlbHBlckNsYXNzLmNoZWNrQ2FydERpZ2l0KHYpKXtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuSW52YWxpZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuY2xlYXIgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgdGhpcy5wYXJ0MS52YWx1ZSA9IHRoaXMuaW5wLmRlZmF1bHQgPyB0aGlzLmlucC5kZWZhdWx0LnN1YnN0cigwLCA0KSA6IG51bGw7XHJcbiAgICAgIHRoaXMucGFydDIudmFsdWUgPSB0aGlzLmlucC5kZWZhdWx0ID8gdGhpcy5pbnAuZGVmYXVsdC5zdWJzdHIoNCwgNCkgOiBudWxsO1xyXG4gICAgICB0aGlzLnBhcnQzLnZhbHVlID0gdGhpcy5pbnAuZGVmYXVsdCA/IHRoaXMuaW5wLmRlZmF1bHQuc3Vic3RyKDgsIDQpIDogbnVsbDtcclxuICAgICAgdGhpcy5wYXJ0NC52YWx1ZSA9IHRoaXMuaW5wLmRlZmF1bHQgPyB0aGlzLmlucC5kZWZhdWx0LnN1YnN0cigxMiwgNCkgOiBudWxsO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmRhdGEgPSAoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuZm9jdXMgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMub25Gb2N1c0luKCk7XHJcbiAgICB9O1xyXG4gIH1cclxuICBjaGFuZ2VGb2N1cyhwLCBhKTogdm9pZHtcclxuICAgIGlmIChwID09PSAnUGFydDEnKXtcclxuICAgICAgaWYgKGEgPT09ICdUYWInIHx8IGEgPT09ICdFbnRlcicpe1xyXG4gICAgICAgIHRoaXMucGFydDIuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIGlmIChhID09PSAnU2hpZnRUYWInIHx8IGEgPT09ICdTaGlmdEVudGVyJyl7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdTaGlmdFRhYicpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHAgPT09ICdQYXJ0Micpe1xyXG4gICAgICBpZiAoYSA9PT0gJ1RhYicgfHwgYSA9PT0gJ0VudGVyJyl7XHJcbiAgICAgICAgdGhpcy5wYXJ0My5mb2N1cygpO1xyXG4gICAgICB9IGVsc2UgaWYgKGEgPT09ICdTaGlmdFRhYicgfHwgYSA9PT0gJ1NoaWZ0RW50ZXInKXtcclxuICAgICAgICB0aGlzLnBhcnQxLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAocCA9PT0gJ1BhcnQzJyl7XHJcbiAgICAgIGlmIChhID09PSAnVGFiJyB8fCBhID09PSAnRW50ZXInKXtcclxuICAgICAgICB0aGlzLnBhcnQ0LmZvY3VzKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYSA9PT0gJ1NoaWZ0VGFiJyB8fCBhID09PSAnU2hpZnRFbnRlcicpe1xyXG4gICAgICAgIHRoaXMucGFydDIuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChwID09PSAnUGFydDQnKXtcclxuICAgICAgaWYgKGEgPT09ICdUYWInIHx8IGEgPT09ICdFbnRlcicpe1xyXG4gICAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYSA9PT0gJ1NoaWZ0VGFiJyB8fCBhID09PSAnU2hpZnRFbnRlcicpe1xyXG4gICAgICAgIHRoaXMucGFydDMuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvbkZvY3VzSW4oZSA9IG51bGwpOiB2b2lke1xyXG4gICAgaWYgKGUgPT0gbnVsbCB8fCAhKGUuc2NyZWVuWCAmJiBlLnNjcmVlblggIT09IDAgJiYgZS5zY3JlZW5ZICYmIGUuc2NyZWVuWSAhPT0gMCkpe1xyXG4gICAgICB0aGlzLnBhcnQxLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uS2V5RG93bihlKTogdm9pZHtcclxuICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgIGNvbnN0IGNvZGUgPSBlLmtleUNvZGUgfHwgZS53aGljaDtcclxuICAgIGlmIChjb2RlID09PSA5KSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KGUuc2hpZnRLZXkgPyAnU2hpZnRUYWInIDogJ1RhYicpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRWYWx1ZSgpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5wYXJ0MS52YWx1ZSA/IHRoaXMucGFydDEudmFsdWUgOiAnJ30ke3RoaXMucGFydDIudmFsdWUgPyB0aGlzLnBhcnQyLnZhbHVlIDogJyd9JHt0aGlzLnBhcnQzLnZhbHVlID8gdGhpcy5wYXJ0My52YWx1ZSA6ICcnfSR7dGhpcy5wYXJ0NC52YWx1ZSA/IHRoaXMucGFydDQudmFsdWUgOiAnJ31gO1xyXG4gIH1cclxufVxyXG4iXX0=
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5iYW5rLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0vYmFuay1jYXJkL2Zvcm0uYmFuay1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBZ0IsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBTzVCLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFTRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQWFaLFVBQUssR0FBRztZQUNOLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUM7WUFDM0MsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBQztZQUM1QyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDekMsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFDO1lBQ3ZDLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUM7WUFDeEQsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFDO1lBQ3pDLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUMxQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDckMsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFDO1lBQ3pDLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUN6QyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDcEMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBQztZQUM1QyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDcEMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBQztZQUM1QyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFDO1lBQ2pELEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUNuQyxFQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBQztZQUMzRCxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDNUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLFFB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LENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3hMLENBQUM7OztZQXpMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIscTFDQUE4Qzs7YUFFL0M7OztrQkFFRSxLQUFLOzBCQUVMLE1BQU07eUJBVU4sU0FBUyxTQUFDLFlBQVk7eUJBQ3RCLFNBQVMsU0FBQyxZQUFZO3lCQUN0QixTQUFTLFNBQUMsWUFBWTt5QkFDdEIsU0FBUyxTQUFDLFlBQVk7d0JBQ3RCLFNBQVMsU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SW5wdXRDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dEVycm9yLCBJbnB1dFR5cGV9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvaGVscGVyLmNsYXNzJztcclxuaW1wb3J0ICogYXMgJCBmcm9tICdqcXVlcnknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZm9ybS1iYW5rLWNhcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLmJhbmstY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5iYW5rLWNhcmQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQmFua0NhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5wOiBJbnB1dENsYXNzO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZUluZGV4ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgY1ZhbHVlID0gJyc7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZSB7XHJcbiAgICByZXR1cm4gSW5wdXRUeXBlO1xyXG4gIH1cclxuICBwYXJ0MTogSW5wdXRDbGFzcztcclxuICBwYXJ0MjogSW5wdXRDbGFzcztcclxuICBwYXJ0MzogSW5wdXRDbGFzcztcclxuICBwYXJ0NDogSW5wdXRDbGFzcztcclxuICBAVmlld0NoaWxkKCdpbnB1dFBhcnQxJykgaW5wdXRQYXJ0MTogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dFBhcnQyJykgaW5wdXRQYXJ0MjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dFBhcnQzJykgaW5wdXRQYXJ0MzogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dFBhcnQ0JykgaW5wdXRQYXJ0NDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dEljb24nKSBpbnB1dEljb246IEVsZW1lbnRSZWY7XHJcbiAgYmFua3MgPSBbXHJcbiAgICB7bmFtZTogJ2VkYmknLCBzdGFydFdpdGg6IFsnMjA3MScsICc2Mjc2J119LFxyXG4gICAge25hbWU6ICdicGknLCBzdGFydFdpdGg6IFsnNTAyMicsICc2MzkzNDcnXX0sXHJcbiAgICB7bmFtZTogJ3NoYWhyLWJhbmsnLCBzdGFydFdpdGg6IFsnNTAyOCddfSxcclxuICAgIHtuYW1lOiAndHRiYW5rJywgc3RhcnRXaXRoOiBbJzUwMjkwOCddfSxcclxuICAgIHtuYW1lOiAna2FyYWZhcmluYmFuaycsIHN0YXJ0V2l0aDogWyc1MDI5MTAnLCAnNjI3NDg4J119LFxyXG4gICAge25hbWU6ICdiYW5rLWRheScsIHN0YXJ0V2l0aDogWyc1MDI5MzgnXX0sXHJcbiAgICB7bmFtZTogJ3RvdXJpc21iYW5rJywgc3RhcnRXaXRoOiBbJzUwNTQnXX0sXHJcbiAgICB7bmFtZTogJ2l6YmFuaycsIHN0YXJ0V2l0aDogWyc1MDU3J119LFxyXG4gICAge25hbWU6ICdlYmFua3NlcGFoJywgc3RhcnRXaXRoOiBbJzU4OTInXX0sXHJcbiAgICB7bmFtZTogJ3JlZmFoLWJhbmsnLCBzdGFydFdpdGg6IFsnNTg5NCddfSxcclxuICAgIHtuYW1lOiAnYnNpJywgc3RhcnRXaXRoOiBbJzYwMzc2OSddfSxcclxuICAgIHtuYW1lOiAnYmtpJywgc3RhcnRXaXRoOiBbJzYwMzc3MCcsICc2MzkyJ119LFxyXG4gICAge25hbWU6ICdibWknLCBzdGFydFdpdGg6IFsnNjAzNzk5J119LFxyXG4gICAge25hbWU6ICdxbWInLCBzdGFydFdpdGg6IFsnNjA2MycsICc2MzkzNzAnXX0sXHJcbiAgICB7bmFtZTogJ2JhbmttZWxsYXQnLCBzdGFydFdpdGg6IFsnNjEwNCcsICc5OTE5J119LFxyXG4gICAge25hbWU6ICdzYjI0Jywgc3RhcnRXaXRoOiBbJzYyMTknXX0sXHJcbiAgICB7bmFtZTogJ3BhcnNpYW4tYmFuaycsIHN0YXJ0V2l0aDogWyc2MjIxJywgJzYyNzgnLCAnNjM5MSddfSxcclxuICAgIHtuYW1lOiAndGVqYXJhdGJhbmsnLCBzdGFydFdpdGg6IFsnNjI3MzUzJ119LFxyXG4gICAge25hbWU6ICdhbnNhcmJhbmsnLCBzdGFydFdpdGg6IFsnNjI3MzgxJ119LFxyXG4gICAge25hbWU6ICdlbmJhbmsnLCBzdGFydFdpdGg6IFsnNjI3NDEyJ119LFxyXG4gICAge25hbWU6ICdwb3N0YmFuaycsIHN0YXJ0V2l0aDogWyc2Mjc3J119LFxyXG4gICAge25hbWU6ICdiaW0nLCBzdGFydFdpdGg6IFsnNjI3OSddfSxcclxuICAgIHtuYW1lOiAnYmFuay1tYXNrYW4nLCBzdGFydFdpdGg6IFsnNjI4MCddfSxcclxuICAgIHtuYW1lOiAnY2lkJywgc3RhcnRXaXRoOiBbJzYyODEnXX0sXHJcbiAgICB7bmFtZTogJ2JhMjQnLCBzdGFydFdpdGg6IFsnNjM2MiddfSxcclxuICAgIHtuYW1lOiAnY2JpJywgc3RhcnRXaXRoOiBbJzYzNjcnXX0sXHJcbiAgICB7bmFtZTogJ3NpbmFiYW5rJywgc3RhcnRXaXRoOiBbJzYzOTM0NiddfSxcclxuICAgIHtuYW1lOiAnc2JhbmsnLCBzdGFydFdpdGg6IFsnNjM5NiddfSxcclxuICBdO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJ0MSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCAnQmFua0NhcmRQYXJ0MScsIG51bGwsIElucHV0VHlwZS5OdW1iZXIsICdiYW5rLWNhcmQtcGFydC0xIGJhbmstY2FyZC1wYXJ0LWl0ZW0nLFxyXG4gICAgICAnJywgdHJ1ZSwgMTAwMCwgOTk5OSk7XHJcbiAgICB0aGlzLnBhcnQyID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsICdCYW5rQ2FyZFBhcnQyJywgbnVsbCwgSW5wdXRUeXBlLk51bWJlciwgJ2JhbmstY2FyZC1wYXJ0LTIgYmFuay1jYXJkLXBhcnQtaXRlbScsXHJcbiAgICAgICcnLCB0cnVlLCAxMDAwLCA5OTk5KTtcclxuICAgIHRoaXMucGFydDMgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgJ0JhbmtDYXJkUGFydDMnLCBudWxsLCBJbnB1dFR5cGUuTnVtYmVyLCAnYmFuay1jYXJkLXBhcnQtMyBiYW5rLWNhcmQtcGFydC1pdGVtJyxcclxuICAgICAgJycsIHRydWUsIDEwMDAsIDk5OTkpO1xyXG4gICAgdGhpcy5wYXJ0NCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCAnQmFua0NhcmRQYXJ0NCcsIG51bGwsIElucHV0VHlwZS5OdW1iZXIsICdiYW5rLWNhcmQtcGFydC00IGJhbmstY2FyZC1wYXJ0LWl0ZW0nLFxyXG4gICAgICAnJywgdHJ1ZSwgMTAwMCwgOTk5OSk7XHJcbiAgICB0aGlzLnBhcnQxLmRpc3BsYXlMYWJlbCA9IHRoaXMucGFydDIuZGlzcGxheUxhYmVsID0gdGhpcy5wYXJ0My5kaXNwbGF5TGFiZWwgPSB0aGlzLnBhcnQ0LmRpc3BsYXlMYWJlbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYXJ0MS5wbGFjZWhvbGRlciA9IHRoaXMucGFydDIucGxhY2Vob2xkZXIgPSB0aGlzLnBhcnQzLnBsYWNlaG9sZGVyID0gdGhpcy5wYXJ0NC5wbGFjZWhvbGRlciA9IG51bGw7XHJcbiAgICB0aGlzLnBhcnQxLm9uQ2hhbmdlID0gKHYpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICB0aGlzLnNldEljb24oKTtcclxuICAgICAgaWYgKHYubGVuZ3RoID09PSA0KXtcclxuICAgICAgICB0aGlzLnBhcnQyLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLnBhcnQyLm9uQ2hhbmdlID0gKHYpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICB0aGlzLnNldEljb24oKTtcclxuICAgICAgaWYgKHYubGVuZ3RoID09PSA0KXtcclxuICAgICAgICB0aGlzLnBhcnQzLmZvY3VzKCk7XHJcbiAgICAgIH0gZWxzZSAgaWYgKHYubGVuZ3RoID09PSAwKXtcclxuICAgICAgICB0aGlzLnBhcnQxLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLnBhcnQzLm9uQ2hhbmdlID0gKHYpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICBpZiAodi5sZW5ndGggPT09IDQpe1xyXG4gICAgICAgIHRoaXMucGFydDQuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlICBpZiAodi5sZW5ndGggPT09IDApe1xyXG4gICAgICAgIHRoaXMucGFydDIuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMucGFydDQub25DaGFuZ2UgPSAodikgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIGlmICh2Lmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdUYWInKTtcclxuICAgICAgfSBlbHNlIGlmICh2Lmxlbmd0aCA9PT0gMCl7XHJcbiAgICAgICAgdGhpcy5wYXJ0My5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuc2V0VmFsdWUgPSAodikgPT4ge1xyXG4gICAgICBpZiAodiA9PT0gbnVsbCl7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucGFydDEudmFsdWUgPSB2LnN1YnN0cigwLCA0KTtcclxuICAgICAgdGhpcy5wYXJ0Mi52YWx1ZSA9IHYuc3Vic3RyKDQsIDQpO1xyXG4gICAgICB0aGlzLnBhcnQzLnZhbHVlID0gdi5zdWJzdHIoOCwgNCk7XHJcbiAgICAgIHRoaXMucGFydDQudmFsdWUgPSB2LnN1YnN0cigxMiwgNCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuaXNWYWxpZCA9ICgpID0+IHtcclxuICAgICAgY29uc3QgdiA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgICAgaWYgKCF0aGlzLmlucC5yZXF1aXJlZCAmJiAhdikge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghdikge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5SZXF1aXJlZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFIZWxwZXJDbGFzcy5jaGVja0NhcnREaWdpdCh2KSl7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLkludmFsaWQ7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmNsZWFyID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIHRoaXMucGFydDEudmFsdWUgPSB0aGlzLmlucC5kZWZhdWx0ID8gdGhpcy5pbnAuZGVmYXVsdC5zdWJzdHIoMCwgNCkgOiBudWxsO1xyXG4gICAgICB0aGlzLnBhcnQyLnZhbHVlID0gdGhpcy5pbnAuZGVmYXVsdCA/IHRoaXMuaW5wLmRlZmF1bHQuc3Vic3RyKDQsIDQpIDogbnVsbDtcclxuICAgICAgdGhpcy5wYXJ0My52YWx1ZSA9IHRoaXMuaW5wLmRlZmF1bHQgPyB0aGlzLmlucC5kZWZhdWx0LnN1YnN0cig4LCA0KSA6IG51bGw7XHJcbiAgICAgIHRoaXMucGFydDQudmFsdWUgPSB0aGlzLmlucC5kZWZhdWx0ID8gdGhpcy5pbnAuZGVmYXVsdC5zdWJzdHIoMTIsIDQpIDogbnVsbDtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5kYXRhID0gKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSgpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmZvY3VzID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLm9uRm9jdXNJbigpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgc2V0SWNvbigpOiB2b2lke1xyXG4gICAgY29uc29sZS5sb2codGhpcy5wYXJ0MS5kYXRhKCkudG9TdHJpbmcoKSArIHRoaXMucGFydDIuZGF0YSgpLnRvU3RyaW5nKCkpO1xyXG4gICAgY29uc3QgYiA9IHRoaXMuYmFua3MuZmlsdGVyKHggPT4geC5zdGFydFdpdGguaW5jbHVkZXModGhpcy5wYXJ0MS5kYXRhKCkudG9TdHJpbmcoKSArIHRoaXMucGFydDIuZGF0YSgpLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDIpKSk7XHJcbiAgICBpZiAoYi5sZW5ndGggPiAwKXtcclxuICAgICAgJCh0aGlzLmlucHV0SWNvbi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygnZmEtbW9uZXktY2hlY2snKS5hZGRDbGFzcyhiWzBdLm5hbWUpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgICQodGhpcy5pbnB1dEljb24ubmF0aXZlRWxlbWVudCkuYWRkQ2xhc3MoJ2ZhLW1vbmV5LWNoZWNrJykucmVtb3ZlQ2xhc3ModGhpcy5iYW5rcy5tYXAoeCA9PiB4Lm5hbWUpKTtcclxuICAgIH1cclxuICB9XHJcbiAgY2hhbmdlRm9jdXMocCwgYSk6IHZvaWR7XHJcbiAgICBpZiAocCA9PT0gJ1BhcnQxJyl7XHJcbiAgICAgIGlmIChhID09PSAnVGFiJyB8fCBhID09PSAnRW50ZXInKXtcclxuICAgICAgICB0aGlzLnBhcnQyLmZvY3VzKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYSA9PT0gJ1NoaWZ0VGFiJyB8fCBhID09PSAnU2hpZnRFbnRlcicpe1xyXG4gICAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnU2hpZnRUYWInKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChwID09PSAnUGFydDInKXtcclxuICAgICAgaWYgKGEgPT09ICdUYWInIHx8IGEgPT09ICdFbnRlcicpe1xyXG4gICAgICAgIHRoaXMucGFydDMuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIGlmIChhID09PSAnU2hpZnRUYWInIHx8IGEgPT09ICdTaGlmdEVudGVyJyl7XHJcbiAgICAgICAgdGhpcy5wYXJ0MS5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHAgPT09ICdQYXJ0Mycpe1xyXG4gICAgICBpZiAoYSA9PT0gJ1RhYicgfHwgYSA9PT0gJ0VudGVyJyl7XHJcbiAgICAgICAgdGhpcy5wYXJ0NC5mb2N1cygpO1xyXG4gICAgICB9IGVsc2UgaWYgKGEgPT09ICdTaGlmdFRhYicgfHwgYSA9PT0gJ1NoaWZ0RW50ZXInKXtcclxuICAgICAgICB0aGlzLnBhcnQyLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAocCA9PT0gJ1BhcnQ0Jyl7XHJcbiAgICAgIGlmIChhID09PSAnVGFiJyB8fCBhID09PSAnRW50ZXInKXtcclxuICAgICAgICB0aGlzLmNoYW5nZUluZGV4LmVtaXQoJ1RhYicpO1xyXG4gICAgICB9IGVsc2UgaWYgKGEgPT09ICdTaGlmdFRhYicgfHwgYSA9PT0gJ1NoaWZ0RW50ZXInKXtcclxuICAgICAgICB0aGlzLnBhcnQzLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgb25Gb2N1c0luKGUgPSBudWxsKTogdm9pZHtcclxuICAgIGlmIChlID09IG51bGwgfHwgIShlLnNjcmVlblggJiYgZS5zY3JlZW5YICE9PSAwICYmIGUuc2NyZWVuWSAmJiBlLnNjcmVlblkgIT09IDApKXtcclxuICAgICAgdGhpcy5wYXJ0MS5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbktleURvd24oZSk6IHZvaWR7XHJcbiAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICBjb25zdCBjb2RlID0gZS5rZXlDb2RlIHx8IGUud2hpY2g7XHJcbiAgICBpZiAoY29kZSA9PT0gOSkge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdChlLnNoaWZ0S2V5ID8gJ1NoaWZ0VGFiJyA6ICdUYWInKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKTogc3RyaW5ne1xyXG4gICAgcmV0dXJuIGAke3RoaXMucGFydDEudmFsdWUgPyB0aGlzLnBhcnQxLnZhbHVlIDogJyd9JHt0aGlzLnBhcnQyLnZhbHVlID8gdGhpcy5wYXJ0Mi52YWx1ZSA6ICcnfSR7dGhpcy5wYXJ0My52YWx1ZSA/IHRoaXMucGFydDMudmFsdWUgOiAnJ30ke3RoaXMucGFydDQudmFsdWUgPyB0aGlzLnBhcnQ0LnZhbHVlIDogJyd9YDtcclxuICB9XHJcbn1cclxuIl19
@@ -2556,32 +2556,32 @@ class FormBankCardComponent {
2556
2556
  this.cValue = '';
2557
2557
  this.banks = [
2558
2558
  { name: 'edbi', startWith: ['2071', '6276'] },
2559
- { name: 'bpi', startWith: ['5022', '6393-47'] },
2559
+ { name: 'bpi', startWith: ['5022', '639347'] },
2560
2560
  { name: 'shahr-bank', startWith: ['5028'] },
2561
- { name: 'ttbank', startWith: ['5029-08'] },
2562
- { name: 'karafarinbank', startWith: ['5029-10', '6274-88'] },
2563
- { name: 'bank-day', startWith: ['5029-38'] },
2561
+ { name: 'ttbank', startWith: ['502908'] },
2562
+ { name: 'karafarinbank', startWith: ['502910', '627488'] },
2563
+ { name: 'bank-day', startWith: ['502938'] },
2564
2564
  { name: 'tourismbank', startWith: ['5054'] },
2565
2565
  { name: 'izbank', startWith: ['5057'] },
2566
2566
  { name: 'ebanksepah', startWith: ['5892'] },
2567
2567
  { name: 'refah-bank', startWith: ['5894'] },
2568
- { name: 'bsi', startWith: ['6037-69'] },
2569
- { name: 'bki', startWith: ['6037-70', '6392'] },
2570
- { name: 'bmi', startWith: ['6037-99'] },
2571
- { name: 'qmb', startWith: ['6063', '6393-70'] },
2568
+ { name: 'bsi', startWith: ['603769'] },
2569
+ { name: 'bki', startWith: ['603770', '6392'] },
2570
+ { name: 'bmi', startWith: ['603799'] },
2571
+ { name: 'qmb', startWith: ['6063', '639370'] },
2572
2572
  { name: 'bankmellat', startWith: ['6104', '9919'] },
2573
2573
  { name: 'sb24', startWith: ['6219'] },
2574
2574
  { name: 'parsian-bank', startWith: ['6221', '6278', '6391'] },
2575
- { name: 'tejaratbank', startWith: ['6273-53'] },
2576
- { name: 'ansarbank', startWith: ['6273-81'] },
2577
- { name: 'enbank', startWith: ['6274-12'] },
2575
+ { name: 'tejaratbank', startWith: ['627353'] },
2576
+ { name: 'ansarbank', startWith: ['627381'] },
2577
+ { name: 'enbank', startWith: ['627412'] },
2578
2578
  { name: 'postbank', startWith: ['6277'] },
2579
2579
  { name: 'bim', startWith: ['6279'] },
2580
2580
  { name: 'bank-maskan', startWith: ['6280'] },
2581
2581
  { name: 'cid', startWith: ['6281'] },
2582
2582
  { name: 'ba24', startWith: ['6362'] },
2583
2583
  { name: 'cbi', startWith: ['6367'] },
2584
- { name: 'sinabank', startWith: ['6393-46'] },
2584
+ { name: 'sinabank', startWith: ['639346'] },
2585
2585
  { name: 'sbank', startWith: ['6396'] },
2586
2586
  ];
2587
2587
  }
@@ -2595,37 +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;
2607
+ this.setIcon();
2614
2608
  if (v.length === 4) {
2615
2609
  this.part3.focus();
2616
2610
  }
2611
+ else if (v.length === 0) {
2612
+ this.part1.focus();
2613
+ }
2617
2614
  };
2618
2615
  this.part3.onChange = (v) => {
2619
2616
  this.inp.error = null;
2620
2617
  if (v.length === 4) {
2621
2618
  this.part4.focus();
2622
2619
  }
2620
+ else if (v.length === 0) {
2621
+ this.part2.focus();
2622
+ }
2623
2623
  };
2624
2624
  this.part4.onChange = (v) => {
2625
2625
  this.inp.error = null;
2626
2626
  if (v.length === 4) {
2627
2627
  this.changeIndex.emit('Tab');
2628
2628
  }
2629
+ else if (v.length === 0) {
2630
+ this.part3.focus();
2631
+ }
2629
2632
  };
2630
2633
  this.inp.setValue = (v) => {
2631
2634
  if (v === null) {
@@ -2665,6 +2668,16 @@ class FormBankCardComponent {
2665
2668
  this.onFocusIn();
2666
2669
  };
2667
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().substring(0, 2)));
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
+ }
2668
2681
  changeFocus(p, a) {
2669
2682
  if (p === 'Part1') {
2670
2683
  if (a === 'Tab' || a === 'Enter') {