@rangertechnologies/ngnxt 2.1.172 → 2.1.174

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.
@@ -3,157 +3,158 @@ import { Injectable } from '@angular/core';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
4
  import * as i0 from "@angular/core";
5
5
  export class TemplateService {
6
- templates = [
7
- {
8
- templateId: 1,
9
- templateName: 'Invoice',
10
- content: 'Invoice template with customer details',
11
- elements: [
12
- {
13
- type: 'Text',
14
- questionText: 'Customer Name',
15
- style: { showLabel: true },
16
- size: 12
17
- },
18
- {
19
- type: 'Date',
20
- questionText: 'Invoice Date',
21
- style: { showLabel: true }
22
- },
23
- {
24
- type: 'Table',
25
- questionText: 'Items',
26
- fieldsMeta: JSON.stringify([
27
- {
28
- label: 'Item',
29
- fieldName: 'item',
30
- type: 'Text',
31
- uniqueIdentifier: 'temp1'
32
- },
33
- {
34
- label: 'Quantity',
35
- fieldName: 'qty',
36
- type: 'Number',
37
- uniqueIdentifier: 'temp2'
38
- }
39
- ]),
40
- tableConfig: {
41
- isNosIndicator: true,
42
- addInlineRecord: true,
43
- isPagination: true
44
- }
45
- }
46
- ]
47
- },
48
- {
49
- templateId: 2,
50
- templateName: 'Registration',
51
- content: 'User registration form template',
52
- elements: [
53
- {
54
- type: 'Text',
55
- questionText: 'Full Name',
56
- style: { showLabel: true },
57
- size: 12
58
- },
59
- {
60
- type: 'Text',
61
- questionText: 'Email Address',
62
- style: { showLabel: true },
63
- size: 12
64
- },
65
- {
66
- type: 'Date',
67
- questionText: 'Date of Birth',
68
- style: { showLabel: true }
69
- }
70
- ]
71
- },
72
- {
73
- templateId: 3,
74
- templateName: 'Employee Detail',
75
- content: 'Template to capture employee details',
76
- elements: [
77
- {
78
- type: 'Text',
79
- questionText: 'Employee ID',
80
- style: { showLabel: true },
81
- size: 6
82
- },
83
- {
84
- type: 'Text',
85
- questionText: 'Employee Name',
86
- style: { showLabel: true },
87
- size: 6
88
- },
89
- {
90
- type: 'Table',
91
- questionText: 'Previous Work Experience',
92
- fieldsMeta: JSON.stringify([
93
- {
94
- label: 'Company Name',
95
- fieldName: 'company',
96
- type: 'Text',
97
- uniqueIdentifier: 'emp1'
98
- },
99
- {
100
- label: 'Years Worked',
101
- fieldName: 'years',
102
- type: 'Number',
103
- uniqueIdentifier: 'emp2'
104
- }
105
- ]),
106
- tableConfig: {
107
- isNosIndicator: false,
108
- addInlineRecord: true,
109
- isPagination: true
110
- }
111
- }
112
- ]
113
- },
114
- {
115
- templateId: 4,
116
- templateName: 'Feedback',
117
- content: 'Feedback form for services or products',
118
- elements: [
119
- {
120
- type: 'Text',
121
- questionText: 'Your Name',
122
- style: { showLabel: true },
123
- size: 12
124
- },
125
- {
126
- type: 'Text',
127
- questionText: 'Feedback',
128
- style: { showLabel: true },
129
- size: 12
130
- },
131
- {
132
- type: 'Table',
133
- questionText: 'Service Ratings',
134
- fieldsMeta: JSON.stringify([
135
- {
136
- label: 'Service',
137
- fieldName: 'service',
138
- type: 'Text',
139
- uniqueIdentifier: 'fb1'
140
- },
141
- {
142
- label: 'Rating (1-5)',
143
- fieldName: 'rating',
144
- type: 'Number',
145
- uniqueIdentifier: 'fb2'
146
- }
147
- ]),
148
- tableConfig: {
149
- isNosIndicator: false,
150
- addInlineRecord: true,
151
- isPagination: false
152
- }
153
- }
154
- ]
155
- }
156
- ];
6
+ // templates = [
7
+ // {
8
+ // templateId: 1,
9
+ // templateName: 'Invoice',
10
+ // content: 'Invoice template with customer details',
11
+ // elements: [
12
+ // {
13
+ // type: 'Text',
14
+ // questionText: 'Customer Name',
15
+ // style: { showLabel: true },
16
+ // size: 12
17
+ // },
18
+ // {
19
+ // type: 'Date',
20
+ // questionText: 'Invoice Date',
21
+ // style: { showLabel: true }
22
+ // },
23
+ // {
24
+ // type: 'Table',
25
+ // questionText: 'Items',
26
+ // fieldsMeta: JSON.stringify([
27
+ // {
28
+ // label: 'Item',
29
+ // fieldName: 'item',
30
+ // type: 'Text',
31
+ // uniqueIdentifier: 'temp1'
32
+ // },
33
+ // {
34
+ // label: 'Quantity',
35
+ // fieldName: 'qty',
36
+ // type: 'Number',
37
+ // uniqueIdentifier: 'temp2'
38
+ // }
39
+ // ]),
40
+ // tableConfig: {
41
+ // isNosIndicator: true,
42
+ // addInlineRecord: true,
43
+ // isPagination: true
44
+ // }
45
+ // }
46
+ // ]
47
+ // },
48
+ // {
49
+ // templateId: 2,
50
+ // templateName: 'Registration',
51
+ // content: 'User registration form template',
52
+ // elements: [
53
+ // {
54
+ // type: 'Text',
55
+ // questionText: 'Full Name',
56
+ // style: { showLabel: true },
57
+ // size: 12
58
+ // },
59
+ // {
60
+ // type: 'Text',
61
+ // questionText: 'Email Address',
62
+ // style: { showLabel: true },
63
+ // size: 12
64
+ // },
65
+ // {
66
+ // type: 'Date',
67
+ // questionText: 'Date of Birth',
68
+ // style: { showLabel: true }
69
+ // }
70
+ // ]
71
+ // },
72
+ // {
73
+ // templateId: 3,
74
+ // templateName: 'Employee Detail',
75
+ // content: 'Template to capture employee details',
76
+ // elements: [
77
+ // {
78
+ // type: 'Text',
79
+ // questionText: 'Employee ID',
80
+ // style: { showLabel: true },
81
+ // size: 6
82
+ // },
83
+ // {
84
+ // type: 'Text',
85
+ // questionText: 'Employee Name',
86
+ // style: { showLabel: true },
87
+ // size: 6
88
+ // },
89
+ // {
90
+ // type: 'Table',
91
+ // questionText: 'Previous Work Experience',
92
+ // fieldsMeta: JSON.stringify([
93
+ // {
94
+ // label: 'Company Name',
95
+ // fieldName: 'company',
96
+ // type: 'Text',
97
+ // uniqueIdentifier: 'emp1'
98
+ // },
99
+ // {
100
+ // label: 'Years Worked',
101
+ // fieldName: 'years',
102
+ // type: 'Number',
103
+ // uniqueIdentifier: 'emp2'
104
+ // }
105
+ // ]),
106
+ // tableConfig: {
107
+ // isNosIndicator: false,
108
+ // addInlineRecord: true,
109
+ // isPagination: true
110
+ // }
111
+ // }
112
+ // ]
113
+ // },
114
+ // {
115
+ // templateId: 4,
116
+ // templateName: 'Feedback',
117
+ // content: 'Feedback form for services or products',
118
+ // elements: [
119
+ // {
120
+ // type: 'Text',
121
+ // questionText: 'Your Name',
122
+ // style: { showLabel: true },
123
+ // size: 12
124
+ // },
125
+ // {
126
+ // type: 'Text',
127
+ // questionText: 'Feedback',
128
+ // style: { showLabel: true },
129
+ // size: 12
130
+ // },
131
+ // {
132
+ // type: 'Table',
133
+ // questionText: 'Service Ratings',
134
+ // fieldsMeta: JSON.stringify([
135
+ // {
136
+ // label: 'Service',
137
+ // fieldName: 'service',
138
+ // type: 'Text',
139
+ // uniqueIdentifier: 'fb1'
140
+ // },
141
+ // {
142
+ // label: 'Rating (1-5)',
143
+ // fieldName: 'rating',
144
+ // type: 'Number',
145
+ // uniqueIdentifier: 'fb2'
146
+ // }
147
+ // ]),
148
+ // tableConfig: {
149
+ // isNosIndicator: false,
150
+ // addInlineRecord: true,
151
+ // isPagination: false
152
+ // }
153
+ // }
154
+ // ]
155
+ // }
156
+ // ];
157
+ templates = [];
157
158
  unique_id;
158
159
  book;
159
160
  formElements = [];
@@ -347,4 +348,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
347
348
  providedIn: 'root'
348
349
  }]
349
350
  }], ctorParameters: () => [] });
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9zZXJ2aWNlcy90ZW1wbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQWE7QUFDYixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtwQyxNQUFNLE9BQU8sZUFBZTtJQUMxQixTQUFTLEdBQUc7UUFDVjtZQUNFLFVBQVUsRUFBRSxDQUFDO1lBQ2IsWUFBWSxFQUFFLFNBQVM7WUFDdkIsT0FBTyxFQUFFLHdDQUF3QztZQUNqRCxRQUFRLEVBQUU7Z0JBQ1I7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osWUFBWSxFQUFFLGVBQWU7b0JBQzdCLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7b0JBQzFCLElBQUksRUFBRSxFQUFFO2lCQUNUO2dCQUNEO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLFlBQVksRUFBRSxjQUFjO29CQUM1QixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO2lCQUMzQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsT0FBTztvQkFDYixZQUFZLEVBQUUsT0FBTztvQkFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7d0JBQ3pCOzRCQUNFLEtBQUssRUFBRSxNQUFNOzRCQUNiLFNBQVMsRUFBRSxNQUFNOzRCQUNqQixJQUFJLEVBQUUsTUFBTTs0QkFDWixnQkFBZ0IsRUFBRSxPQUFPO3lCQUMxQjt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsVUFBVTs0QkFDakIsU0FBUyxFQUFFLEtBQUs7NEJBQ2hCLElBQUksRUFBRSxRQUFROzRCQUNkLGdCQUFnQixFQUFFLE9BQU87eUJBQzFCO3FCQUNGLENBQUM7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ZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBUC0xMUFQUjI1XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVTZXJ2aWNlIHtcbiAgdGVtcGxhdGVzID0gW1xuICAgIHtcbiAgICAgIHRlbXBsYXRlSWQ6IDEsXG4gICAgICB0ZW1wbGF0ZU5hbWU6ICdJbnZvaWNlJyxcbiAgICAgIGNvbnRlbnQ6ICdJbnZvaWNlIHRlbXBsYXRlIHdpdGggY3VzdG9tZXIgZGV0YWlscycsXG4gICAgICBlbGVtZW50czogW1xuICAgICAgICB7IFxuICAgICAgICAgIHR5cGU6ICdUZXh0JywgXG4gICAgICAgICAgcXVlc3Rpb25UZXh0OiAnQ3VzdG9tZXIgTmFtZScsXG4gICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH0sXG4gICAgICAgICAgc2l6ZTogMTJcbiAgICAgICAgfSxcbiAgICAgICAgeyBcbiAgICAgICAgICB0eXBlOiAnRGF0ZScsIFxuICAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0ludm9pY2UgRGF0ZScsXG4gICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdUYWJsZScsXG4gICAgICAgICAgcXVlc3Rpb25UZXh0OiAnSXRlbXMnLFxuICAgICAgICAgIGZpZWxkc01ldGE6IEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgIHsgXG4gICAgICAgICAgICAgIGxhYmVsOiAnSXRlbScsIFxuICAgICAgICAgICAgICBmaWVsZE5hbWU6ICdpdGVtJywgXG4gICAgICAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgICAgICAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogJ3RlbXAxJyBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnUXVhbnRpdHknLFxuICAgICAgICAgICAgICBmaWVsZE5hbWU6ICdxdHknLFxuICAgICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgICAgICAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogJ3RlbXAyJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIF0pLFxuICAgICAgICAgIHRhYmxlQ29uZmlnOiB7XG4gICAgICAgICAgICBpc05vc0luZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAgIGFkZElubGluZVJlY29yZDogdHJ1ZSxcbiAgICAgICAgICAgIGlzUGFnaW5hdGlvbjogdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgdGVtcGxhdGVJZDogMixcbiAgICAgIHRlbXBsYXRlTmFtZTogJ1JlZ2lzdHJhdGlvbicsXG4gICAgICBjb250ZW50OiAnVXNlciByZWdpc3RyYXRpb24gZm9ybSB0ZW1wbGF0ZScsXG4gICAgICBlbGVtZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ1RleHQnLFxuICAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0Z1bGwgTmFtZScsXG4gICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH0sXG4gICAgICAgICAgc2l6ZTogMTJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgICAgICAgICBxdWVzdGlvblRleHQ6ICdFbWFpbCBBZGRyZXNzJyxcbiAgICAgICAgICBzdHlsZTogeyBzaG93TGFiZWw6IHRydWUgfSxcbiAgICAgICAgICBzaXplOiAxMlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ0RhdGUnLFxuICAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0RhdGUgb2YgQmlydGgnLFxuICAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIHRlbXBsYXRlSWQ6IDMsXG4gICAgICB0ZW1wbGF0ZU5hbWU6ICdFbXBsb3llZSBEZXRhaWwnLFxuICAgICAgY29udGVudDogJ1RlbXBsYXRlIHRvIGNhcHR1cmUgZW1wbG95ZWUgZGV0YWlscycsXG4gICAgICBlbGVtZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ1RleHQnLFxuICAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0VtcGxveWVlIElEJyxcbiAgICAgICAgICBzdHlsZTogeyBzaG93TGFiZWw6IHRydWUgfSxcbiAgICAgICAgICBzaXplOiA2XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnVGV4dCcsXG4gICAgICAgICAgcXVlc3Rpb25UZXh0OiAnRW1wbG95ZWUgTmFtZScsXG4gICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH0sXG4gICAgICAgICAgc2l6ZTogNlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ1RhYmxlJyxcbiAgICAgICAgICBxdWVzdGlvblRleHQ6ICdQcmV2aW91cyBXb3JrIEV4cGVyaWVuY2UnLFxuICAgICAgICAgIGZpZWxkc01ldGE6IEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdDb21wYW55IE5hbWUnLFxuICAgICAgICAgICAgICBmaWVsZE5hbWU6ICdjb21wYW55JyxcbiAgICAgICAgICAgICAgdHlwZTogJ1RleHQnLFxuICAgICAgICAgICAgICB1bmlxdWVJZGVudGlmaWVyOiAnZW1wMSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnWWVhcnMgV29ya2VkJyxcbiAgICAgICAgICAgICAgZmllbGROYW1lOiAneWVhcnMnLFxuICAgICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgICAgICAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogJ2VtcDInXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSksXG4gICAgICAgICAgdGFibGVDb25maWc6IHtcbiAgICAgICAgICAgIGlzTm9zSW5kaWNhdG9yOiBmYWxzZSxcbiAgICAgICAgICAgIGFkZElubGluZVJlY29yZDogdHJ1ZSxcbiAgICAgICAgICAgIGlzUGFnaW5hdGlvbjogdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgdGVtcGxhdGVJZDogNCxcbiAgICAgIHRlbXBsYXRlTmFtZTogJ0ZlZWRiYWNrJyxcbiAgICAgIGNvbnRlbnQ6ICdGZWVkYmFjayBmb3JtIGZvciBzZXJ2aWNlcyBvciBwcm9kdWN0cycsXG4gICAgICBlbGVtZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ1RleHQnLFxuICAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ1lvdXIgTmFtZScsXG4gICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH0sXG4gICAgICAgICAgc2l6ZTogMTJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgICAgICAgICBxdWVzdGlvblRleHQ6ICdGZWVkYmFjaycsXG4gICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH0sXG4gICAgICAgICAgc2l6ZTogMTJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdUYWJsZScsXG4gICAgICAgICAgcXVlc3Rpb25UZXh0OiAnU2VydmljZSBSYXRpbmdzJyxcbiAgICAgICAgICBmaWVsZHNNZXRhOiBKU09OLnN0cmluZ2lmeShbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnU2VydmljZScsXG4gICAgICAgICAgICAgIGZpZWxkTmFtZTogJ3NlcnZpY2UnLFxuICAgICAgICAgICAgICB0eXBlOiAnVGV4dCcsXG4gICAgICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6ICdmYjEnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogJ1JhdGluZyAoMS01KScsXG4gICAgICAgICAgICAgIGZpZWxkTmFtZTogJ3JhdGluZycsXG4gICAgICAgICAgICAgIHR5cGU6ICdOdW1iZXInLFxuICAgICAgICAgICAgICB1bmlxdWVJZGVudGlmaWVyOiAnZmIyJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIF0pLFxuICAgICAgICAgIHRhYmxlQ29uZmlnOiB7XG4gICAgICAgICAgICBpc05vc0luZGljYXRvcjogZmFsc2UsXG4gICAgICAgICAgICBhZGRJbmxpbmVSZWNvcmQ6IHRydWUsXG4gICAgICAgICAgICBpc1BhZ2luYXRpb246IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICBdO1xuICB1bmlxdWVfaWQ6IGFueTtcbiAgYm9vazogYW55O1xuICBmb3JtRWxlbWVudHM6IGFueVtdID0gW107XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubmV3Qm9vaygpOyBcbiAgfVxuICBnZXRUZW1wbGF0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzO1xuICB9XG4gIGluaXRpYWxpemVFbGVtZW50RnJvbVRlbXBsYXRlKHRlbXBsYXRlRWxlbWVudDogYW55LCBpbmRleDogbnVtYmVyKTogYW55IHtcbiAgICBjb25zdCB1bmlxdWVfaWQgPSB1dWlkdjQoKTtcbiAgICBjb25zdCBiYXNlRWxlbWVudCA9IHtcbiAgICAgIGlkOiB1bmlxdWVfaWQsXG4gICAgICB1aWQ6IHVuaXF1ZV9pZCxcbiAgICAgIHR5cGU6IHRlbXBsYXRlRWxlbWVudC50eXBlLFxuICAgICAgbmFtZTogbnVsbCxcbiAgICAgIHF1ZXN0aW9uVGV4dDogdGVtcGxhdGVFbGVtZW50LnF1ZXN0aW9uVGV4dCB8fCBudWxsLFxuICAgICAgcXVlc3Rpb246IHRlbXBsYXRlRWxlbWVudC5xdWVzdGlvbiB8fCBudWxsLFxuICAgICAgaGVscFRleHQ6IG51bGwsXG4gICAgICBlcnJvck1lc3NhZ2U6IG51bGwsXG4gICAgICBpc1JlYWRPbmx5OiBmYWxzZSxcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIHJlZmVyZW5jZUZpZWxkOiBudWxsLFxuICAgICAgYWRkaXRpb25hbFJpY2hDb250ZW50OiBudWxsLFxuICAgICAgZ3JvdXBOYW1lOiBudWxsLFxuICAgICAgaXNEYXRlQmFja3dhcmQ6IGZhbHNlLFxuICAgICAgdGl0bGU6IG51bGwsXG4gICAgICBzdWJUaXRsZTogbnVsbCxcbiAgICAgIHNpemU6IHRlbXBsYXRlRWxlbWVudC5zaXplIHx8IDEyLFxuICAgICAgaXNEYXRlRm9yd2FyZDogZmFsc2UsXG4gICAgICBpc09wdGlvbmFsOiBmYWxzZSxcbiAgICAgIGlzVGl0bGU6IGZhbHNlLFxuICAgICAgbmV4dFF1ZXN0aW9uOiBudWxsLFxuICAgICAgYWxsb3dlZEZpbGVFeHRlbnNpb25zOiBudWxsLFxuICAgICAgcXVlc3Rpb25OdW1iZXI6IGluZGV4ICsgMSxcbiAgICAgIG9yZGVyOiBpbmRleCArIDEsXG4gICAgICBzdHlsZToge1xuICAgICAgICBsYWJlbENsYXNzOiBudWxsLFxuICAgICAgICBsYWJlbFN0eWxlOiBudWxsLFxuICAgICAgICBsYWJlbFZhbHVlU3R5bGU6IG51bGwsXG4gICAgICAgIGlucHV0Q2xhc3M6IG51bGwsXG4gICAgICAgIGlucHV0U3R5bGU6IG51bGwsXG4gICAgICAgIHNob3dMYWJlbDogdGVtcGxhdGVFbGVtZW50Py5zdHlsZT8uc2hvd0xhYmVsID8/IHRydWUsXG4gICAgICAgIGJvb2tTdHlsZTogbnVsbCxcbiAgICAgICAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgICAgICAgcXVlc3Rpb25TdHlsZTogbnVsbCxcbiAgICAgIH0sXG4gICAgICBzdWJUZXh0OiB7XG4gICAgICAgIGVuZHBvaW50OiBudWxsLFxuICAgICAgICB2YXJpYWJsZTogbnVsbCxcbiAgICAgICAgZmllbGQ6IG51bGwsXG4gICAgICAgIGRlZmF1bHRGaWVsZDogbnVsbCxcbiAgICAgICAgc291cmNlUXVlc3Rpb25JZDogbnVsbCxcbiAgICAgICAgdmFsdWVGaWVsZDogbnVsbCxcbiAgICAgICAgbGFiZWxGaWVsZDogbnVsbCxcbiAgICAgICAgaXNEZXBlbmRlbnRGaWVsZDogZmFsc2UsXG4gICAgICAgIGRlcGVuZGVudFZhbHVlOiBudWxsLFxuICAgICAgICBxdWVyeUZpZWxkOiBudWxsLFxuICAgICAgICBxdWVyeVZhbHVlOiBudWxsLFxuICAgICAgICBxdWVyeVZhbHVlUmVmZXJlbmNlOiBudWxsLFxuICAgICAgICB1bmlxdWVLZXk6IG51bGwsXG4gICAgICB9LFxuICAgICAgaW1hZ2VEYXRhOiBudWxsLFxuICAgICAgYm9vbGVhbjogZmFsc2UsXG4gICAgICBvcHRpb25zOiB0ZW1wbGF0ZUVsZW1lbnQub3B0aW9uc1xuICAgICAgICA/IHRoaXMuaW5pdGlhbGl6ZU9wdGlvbnModGVtcGxhdGVFbGVtZW50Lm9wdGlvbnMpXG4gICAgICAgIDogbnVsbCxcbiAgICAgIGltYWdlU2l6ZTpcbiAgICAgICAgdGVtcGxhdGVFbGVtZW50LnR5cGUgPT09ICdJbWFnZScgPyB7IHdpZHRoOiAxNTAsIGhlaWdodDogMTUwIH0gOiBudWxsLFxuICAgICAgdGFibGVDb25maWc6IHRlbXBsYXRlRWxlbWVudC50eXBlID09PSAnVGFibGUnID8ge1xuICAgICAgICBpc05vc0luZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgYWRkSW5saW5lUmVjb3JkOiB0cnVlLFxuICAgICAgICBpc1BhZ2luYXRpb246IHRydWUsXG4gICAgICAgIGFjdGlvbkJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgaXNEZWxldGVSb3c6IHRydWUsXG4gICAgICAgIGlzRWRpdFJvdzogdHJ1ZSxcbiAgICAgICAgc2VhcmNoQmFyOiB0cnVlLFxuICAgICAgICBpc0J1dHRvbnM6IHRydWUsXG4gICAgICAgIGl0ZW1zUGVyUGFnZTogMTAsXG4gICAgICB9IDogbnVsbCxcbiAgICAgIGZpZWxkc01ldGE6IHRlbXBsYXRlRWxlbWVudC5maWVsZHNNZXRhXG4gICAgICAgID8gdGhpcy5pbml0aWFsaXplRmllbGRzTWV0YSh0ZW1wbGF0ZUVsZW1lbnQuZmllbGRzTWV0YSlcbiAgICAgICAgOiBudWxsLFxuICAgIH07XG5cbiAgICByZXR1cm4geyAuLi5iYXNlRWxlbWVudCwgLi4udGVtcGxhdGVFbGVtZW50IH07XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVPcHRpb25zKG9wdGlvbnM6IGFueVtdKTogYW55W10ge1xuICAgIHJldHVybiBvcHRpb25zLm1hcChvcHRpb24gPT4gKHtcbiAgICAgIC4uLm9wdGlvbixcbiAgICAgIGlkOiB1dWlkdjQoKVxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUZpZWxkc01ldGEoZmllbGRzTWV0YTogc3RyaW5nKTogYW55IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShmaWVsZHNNZXRhKTtcbiAgICAgIHJldHVybiBwYXJzZWQubWFwKChmaWVsZDogYW55KSA9PiAoe1xuICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogdXVpZHY0KClcbiAgICAgIH0pKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIGZpZWxkc01ldGE6JywgZSk7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG4vLyBJbiBUZW1wbGF0ZVNlcnZpY2VcbmRvd25sb2FkKCkge1xuICBpZiAoIXRoaXMuZm9ybUVsZW1lbnRzIHx8ICFBcnJheS5pc0FycmF5KHRoaXMuZm9ybUVsZW1lbnRzKSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZm9ybUVsZW1lbnRzJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDbGVhbiBlbGVtZW50cyBmb3IgZXhwb3J0IChzYW1lIGFzIEZvcm1CdWlsZGVyU2VydmljZSlcbiAgdGhpcy5mb3JtRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAvLyBSZW1vdmUgcWJSZWZlcmVuY2VRdWVzdGlvbnMgZm9yICdib29rJyB0eXBlXG4gICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gJ2Jvb2snKSB7XG4gICAgICBkZWxldGUgZWxlbWVudC5xYlJlZmVyZW5jZVF1ZXN0aW9ucztcbiAgICB9XG5cbiAgICAvLyBQcm9jZXNzIHN1YlRleHQgdG8gbWF0Y2ggRm9ybUJ1aWxkZXJTZXJ2aWNlJ3MgZm9ybWF0XG4gICAgaWYgKGVsZW1lbnQuc3ViVGV4dCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gQ29udmVydCBzdWJUZXh0IHRvIG9iamVjdCBpZiBzdHJpbmdcbiAgICAgICAgZWxlbWVudC5zdWJUZXh0ID0gdHlwZW9mIGVsZW1lbnQuc3ViVGV4dCA9PT0gJ3N0cmluZycgXG4gICAgICAgICAgPyBKU09OLnBhcnNlKGVsZW1lbnQuc3ViVGV4dCkgXG4gICAgICAgICAgOiB7Li4uZWxlbWVudC5zdWJUZXh0fTtcblxuICAgICAgICAvLyBDb252ZXJ0IGZpZWxkIHRvIGFycmF5IGlmIHN0cmluZ1xuICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnQuc3ViVGV4dC5maWVsZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBlbGVtZW50LnN1YlRleHQuZmllbGQgPSBlbGVtZW50LnN1YlRleHQuZmllbGQuc3BsaXQoJywnKS5tYXAoaSA9PiBpLnRyaW0oKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdHJpbmdpZnkgc3ViVGV4dCBmb3Igc3RvcmFnZVxuICAgICAgICBlbGVtZW50LnN1YlRleHQgPSBKU09OLnN0cmluZ2lmeShlbGVtZW50LnN1YlRleHQpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwcm9jZXNzaW5nIHN1YlRleHQ6JywgZSk7XG4gICAgICAgIGVsZW1lbnQuc3ViVGV4dCA9ICd7fSc7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICAvLyBVcGRhdGUgYm9vayBzdHJ1Y3R1cmUgKHNhbWUgYXMgRm9ybUJ1aWxkZXJTZXJ2aWNlKVxuICBpZiAoIXRoaXMuYm9vaykgdGhpcy5uZXdCb29rKCk7IC8vIEVuc3VyZSBib29rIGV4aXN0c1xuICBcbiAgaWYgKHRoaXMuYm9vay5ib29rUXVlc3Rpb25zTWFwICYmIHRoaXMudW5pcXVlX2lkKSB7XG4gICAgdGhpcy5ib29rLmJvb2tRdWVzdGlvbnNNYXBbdGhpcy51bmlxdWVfaWRdLnN1YlF1ZXN0aW9ucyA9IHRoaXMuZm9ybUVsZW1lbnRzO1xuICB9XG5cbiAgLy8gUHJlcGFyZSBzcU9wdGlvbnMgKHNhbWUgZm9ybWF0IGFzIEZvcm1CdWlsZGVyU2VydmljZSlcbiAgY29uc3Qgc3FPcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIHRoaXMuZm9ybUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgaWYgKFsnRHJvcGRvd24nLCAnUmFkaW8nLCAnQ2hlY2tib3gnXS5pbmNsdWRlcyhlbGVtZW50LnR5cGUpKSB7XG4gICAgICBzcU9wdGlvbnNbZWxlbWVudC5pZF0gPSB7XG4gICAgICAgIC4uLmVsZW1lbnQsXG4gICAgICAgIG9wdGlvbnM6IGVsZW1lbnQub3B0aW9ucz8ubWFwKG9wdCA9PiAoe1xuICAgICAgICAgIC4uLm9wdCxcbiAgICAgICAgICAvLyBFbnN1cmUgVVVJRHMgYXJlIHByZXNlcnZlZFxuICAgICAgICAgIGlkOiBvcHQuaWQgfHwgdXVpZHY0KCksXG4gICAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogb3B0LnVuaXF1ZUlkZW50aWZpZXIgfHwgdXVpZHY0KClcbiAgICAgICAgfSkpIHx8IFtdXG4gICAgICB9O1xuICAgIH1cbiAgfSk7XG5cbiAgdGhpcy5ib29rLnNxT3B0aW9ucyA9IHNxT3B0aW9ucztcbiAgXG4gIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuYm9vaykpOyAvLyBSZXR1cm4gY2xlYW4gY29weVxufVxuXG4vLyBBZGQgdGhlIG5ld0Jvb2soKSBtZXRob2QgaWYgbWlzc2luZ1xucHJpdmF0ZSBuZXdCb29rKCkge1xuICB0aGlzLnVuaXF1ZV9pZCA9IHV1aWR2NCgpO1xuICB0aGlzLmJvb2sgPSB7XG4gICAgYm9va1F1ZXN0aW9uc01hcDoge1xuICAgICAgW3RoaXMudW5pcXVlX2lkXToge1xuICAgICAgICBzdWJRdWVzdGlvbnM6IFtdLFxuICAgICAgICB0eXBlOiAnQm9vaydcbiAgICAgIH1cbiAgICB9LFxuICAgIHF1ZXN0aW9uYm9vazoge1xuICAgICAgYWN0aW9uOiBKU09OLnN0cmluZ2lmeShbXG4gICAgICAgIHsgbmFtZTogXCJDYW5jZWxcIiwgZXZlbnR0b2VtaXQ6IFwiY2xvc2VcIiB9LFxuICAgICAgICB7IG5hbWU6IFwiU2F2ZVwiLCBldmVudHRvZW1pdDogXCJzdWJtaXRcIiwgbWV0aG9kOiBcIlBPU1RcIiB9XG4gICAgICBdKVxuICAgIH0sXG4gICAgcmVjb3JkczogW3tcbiAgICAgIGlkOiB0aGlzLnVuaXF1ZV9pZCxcbiAgICAgIHRpdGxlOiAnVW50aXRsZWQgVGVtcGxhdGUnLFxuICAgICAgc3ViUXVlc3Rpb25zOiBbXVxuICAgIH1dXG4gIH07XG59XG4gIFxuICBcbn1cbiJdfQ==
351
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9zZXJ2aWNlcy90ZW1wbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQWE7QUFDYixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtwQyxNQUFNLE9BQU8sZUFBZTtJQUMxQixnQkFBZ0I7SUFDaEIsTUFBTTtJQUNOLHFCQUFxQjtJQUNyQiwrQkFBK0I7SUFDL0IseURBQXlEO0lBQ3pELGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLHlDQUF5QztJQUN6QyxzQ0FBc0M7SUFDdEMsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLHdDQUF3QztJQUN4QyxxQ0FBcUM7SUFDckMsV0FBVztJQUNYLFVBQVU7SUFDVix5QkFBeUI7SUFDekIsaUNBQWlDO0lBQ2pDLHVDQUF1QztJQUN2QyxlQUFlO0lBQ2YsOEJBQThCO0lBQzlCLGtDQUFrQztJQUNsQyw0QkFBNEI7SUFDNUIseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixjQUFjO0lBQ2QsaUNBQWlDO0lBQ2pDLGdDQUFnQztJQUNoQyw4QkFBOEI7SUFDOUIsd0NBQXdDO0lBQ3hDLGNBQWM7SUFDZCxjQUFjO0lBQ2QseUJBQXlCO0lBQ3pCLGtDQUFrQztJQUNsQyxtQ0FBbUM7SUFDbkMsK0JBQStCO0lBQy9CLFlBQVk7SUFDWixVQUFVO0lBQ1YsUUFBUTtJQUNSLE9BQU87SUFDUCxNQUFNO0lBQ04scUJBQXFCO0lBQ3JCLG9DQUFvQztJQUNwQyxrREFBa0Q7SUFDbEQsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVix3QkFBd0I7SUFDeEIscUNBQXFDO0lBQ3JDLHNDQUFzQztJ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b0JBQ2xCLEtBQUssRUFBRSxtQkFBbUI7b0JBQzFCLFlBQVksRUFBRSxFQUFFO2lCQUNqQixDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7d0dBN1ZZLGVBQWU7NEdBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQVAtMTFBUFIyNVxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlU2VydmljZSB7XG4gIC8vIHRlbXBsYXRlcyA9IFtcbiAgLy8gICB7XG4gIC8vICAgICB0ZW1wbGF0ZUlkOiAxLFxuICAvLyAgICAgdGVtcGxhdGVOYW1lOiAnSW52b2ljZScsXG4gIC8vICAgICBjb250ZW50OiAnSW52b2ljZSB0ZW1wbGF0ZSB3aXRoIGN1c3RvbWVyIGRldGFpbHMnLFxuICAvLyAgICAgZWxlbWVudHM6IFtcbiAgLy8gICAgICAgeyBcbiAgLy8gICAgICAgICB0eXBlOiAnVGV4dCcsIFxuICAvLyAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0N1c3RvbWVyIE5hbWUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDEyXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHsgXG4gIC8vICAgICAgICAgdHlwZTogJ0RhdGUnLCBcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdJbnZvaWNlIERhdGUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9XG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0eXBlOiAnVGFibGUnLFxuICAvLyAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0l0ZW1zJyxcbiAgLy8gICAgICAgICBmaWVsZHNNZXRhOiBKU09OLnN0cmluZ2lmeShbXG4gIC8vICAgICAgICAgICB7IFxuICAvLyAgICAgICAgICAgICBsYWJlbDogJ0l0ZW0nLCBcbiAgLy8gICAgICAgICAgICAgZmllbGROYW1lOiAnaXRlbScsIFxuICAvLyAgICAgICAgICAgICB0eXBlOiAnVGV4dCcsXG4gIC8vICAgICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6ICd0ZW1wMScgXG4gIC8vICAgICAgICAgICB9LFxuICAvLyAgICAgICAgICAge1xuICAvLyAgICAgICAgICAgICBsYWJlbDogJ1F1YW50aXR5JyxcbiAgLy8gICAgICAgICAgICAgZmllbGROYW1lOiAncXR5JyxcbiAgLy8gICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gIC8vICAgICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6ICd0ZW1wMidcbiAgLy8gICAgICAgICAgIH1cbiAgLy8gICAgICAgICBdKSxcbiAgLy8gICAgICAgICB0YWJsZUNvbmZpZzoge1xuICAvLyAgICAgICAgICAgaXNOb3NJbmRpY2F0b3I6IHRydWUsXG4gIC8vICAgICAgICAgICBhZGRJbmxpbmVSZWNvcmQ6IHRydWUsXG4gIC8vICAgICAgICAgICBpc1BhZ2luYXRpb246IHRydWVcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIF1cbiAgLy8gICB9LFxuICAvLyAgIHtcbiAgLy8gICAgIHRlbXBsYXRlSWQ6IDIsXG4gIC8vICAgICB0ZW1wbGF0ZU5hbWU6ICdSZWdpc3RyYXRpb24nLFxuICAvLyAgICAgY29udGVudDogJ1VzZXIgcmVnaXN0cmF0aW9uIGZvcm0gdGVtcGxhdGUnLFxuICAvLyAgICAgZWxlbWVudHM6IFtcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdGdWxsIE5hbWUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDEyXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0eXBlOiAnVGV4dCcsXG4gIC8vICAgICAgICAgcXVlc3Rpb25UZXh0OiAnRW1haWwgQWRkcmVzcycsXG4gIC8vICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH0sXG4gIC8vICAgICAgICAgc2l6ZTogMTJcbiAgLy8gICAgICAgfSxcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdEYXRlJyxcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdEYXRlIG9mIEJpcnRoJyxcbiAgLy8gICAgICAgICBzdHlsZTogeyBzaG93TGFiZWw6IHRydWUgfVxuICAvLyAgICAgICB9XG4gIC8vICAgICBdXG4gIC8vICAgfSxcbiAgLy8gICB7XG4gIC8vICAgICB0ZW1wbGF0ZUlkOiAzLFxuICAvLyAgICAgdGVtcGxhdGVOYW1lOiAnRW1wbG95ZWUgRGV0YWlsJyxcbiAgLy8gICAgIGNvbnRlbnQ6ICdUZW1wbGF0ZSB0byBjYXB0dXJlIGVtcGxveWVlIGRldGFpbHMnLFxuICAvLyAgICAgZWxlbWVudHM6IFtcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdFbXBsb3llZSBJRCcsXG4gIC8vICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH0sXG4gIC8vICAgICAgICAgc2l6ZTogNlxuICAvLyAgICAgICB9LFxuICAvLyAgICAgICB7XG4gIC8vICAgICAgICAgdHlwZTogJ1RleHQnLFxuICAvLyAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0VtcGxveWVlIE5hbWUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDZcbiAgLy8gICAgICAgfSxcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdUYWJsZScsXG4gIC8vICAgICAgICAgcXVlc3Rpb25UZXh0OiAnUHJldmlvdXMgV29yayBFeHBlcmllbmNlJyxcbiAgLy8gICAgICAgICBmaWVsZHNNZXRhOiBKU09OLnN0cmluZ2lmeShbXG4gIC8vICAgICAgICAgICB7XG4gIC8vICAgICAgICAgICAgIGxhYmVsOiAnQ29tcGFueSBOYW1lJyxcbiAgLy8gICAgICAgICAgICAgZmllbGROYW1lOiAnY29tcGFueScsXG4gIC8vICAgICAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgLy8gICAgICAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogJ2VtcDEnXG4gIC8vICAgICAgICAgICB9LFxuICAvLyAgICAgICAgICAge1xuICAvLyAgICAgICAgICAgICBsYWJlbDogJ1llYXJzIFdvcmtlZCcsXG4gIC8vICAgICAgICAgICAgIGZpZWxkTmFtZTogJ3llYXJzJyxcbiAgLy8gICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gIC8vICAgICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6ICdlbXAyJ1xuICAvLyAgICAgICAgICAgfVxuICAvLyAgICAgICAgIF0pLFxuICAvLyAgICAgICAgIHRhYmxlQ29uZmlnOiB7XG4gIC8vICAgICAgICAgICBpc05vc0luZGljYXRvcjogZmFsc2UsXG4gIC8vICAgICAgICAgICBhZGRJbmxpbmVSZWNvcmQ6IHRydWUsXG4gIC8vICAgICAgICAgICBpc1BhZ2luYXRpb246IHRydWVcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIF1cbiAgLy8gICB9LFxuICAvLyAgIHtcbiAgLy8gICAgIHRlbXBsYXRlSWQ6IDQsXG4gIC8vICAgICB0ZW1wbGF0ZU5hbWU6ICdGZWVkYmFjaycsXG4gIC8vICAgICBjb250ZW50OiAnRmVlZGJhY2sgZm9ybSBmb3Igc2VydmljZXMgb3IgcHJvZHVjdHMnLFxuICAvLyAgICAgZWxlbWVudHM6IFtcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdZb3VyIE5hbWUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDEyXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0eXBlOiAnVGV4dCcsXG4gIC8vICAgICAgICAgcXVlc3Rpb25UZXh0OiAnRmVlZGJhY2snLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDEyXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0eXBlOiAnVGFibGUnLFxuICAvLyAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ1NlcnZpY2UgUmF0aW5ncycsXG4gIC8vICAgICAgICAgZmllbGRzTWV0YTogSlNPTi5zdHJpbmdpZnkoW1xuICAvLyAgICAgICAgICAge1xuICAvLyAgICAgICAgICAgICBsYWJlbDogJ1NlcnZpY2UnLFxuICAvLyAgICAgICAgICAgICBmaWVsZE5hbWU6ICdzZXJ2aWNlJyxcbiAgLy8gICAgICAgICAgICAgdHlwZTogJ1RleHQnLFxuICAvLyAgICAgICAgICAgICB1bmlxdWVJZGVudGlmaWVyOiAnZmIxJ1xuICAvLyAgICAgICAgICAgfSxcbiAgLy8gICAgICAgICAgIHtcbiAgLy8gICAgICAgICAgICAgbGFiZWw6ICdSYXRpbmcgKDEtNSknLFxuICAvLyAgICAgICAgICAgICBmaWVsZE5hbWU6ICdyYXRpbmcnLFxuICAvLyAgICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgLy8gICAgICAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogJ2ZiMidcbiAgLy8gICAgICAgICAgIH1cbiAgLy8gICAgICAgICBdKSxcbiAgLy8gICAgICAgICB0YWJsZUNvbmZpZzoge1xuICAvLyAgICAgICAgICAgaXNOb3NJbmRpY2F0b3I6IGZhbHNlLFxuICAvLyAgICAgICAgICAgYWRkSW5saW5lUmVjb3JkOiB0cnVlLFxuICAvLyAgICAgICAgICAgaXNQYWdpbmF0aW9uOiBmYWxzZVxuICAvLyAgICAgICAgIH1cbiAgLy8gICAgICAgfVxuICAvLyAgICAgXVxuICAvLyAgIH1cbiAgLy8gXTtcbiAgXG4gIHRlbXBsYXRlcyA9IFtdO1xuICBcbiAgdW5pcXVlX2lkOiBhbnk7XG4gIGJvb2s6IGFueTtcbiAgZm9ybUVsZW1lbnRzOiBhbnlbXSA9IFtdO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm5ld0Jvb2soKTsgXG4gIH1cbiAgZ2V0VGVtcGxhdGVzKCkge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlcztcbiAgfVxuICBpbml0aWFsaXplRWxlbWVudEZyb21UZW1wbGF0ZSh0ZW1wbGF0ZUVsZW1lbnQ6IGFueSwgaW5kZXg6IG51bWJlcik6IGFueSB7XG4gICAgY29uc3QgdW5pcXVlX2lkID0gdXVpZHY0KCk7XG4gICAgY29uc3QgYmFzZUVsZW1lbnQgPSB7XG4gICAgICBpZDogdW5pcXVlX2lkLFxuICAgICAgdWlkOiB1bmlxdWVfaWQsXG4gICAgICB0eXBlOiB0ZW1wbGF0ZUVsZW1lbnQudHlwZSxcbiAgICAgIG5hbWU6IG51bGwsXG4gICAgICBxdWVzdGlvblRleHQ6IHRlbXBsYXRlRWxlbWVudC5xdWVzdGlvblRleHQgfHwgbnVsbCxcbiAgICAgIHF1ZXN0aW9uOiB0ZW1wbGF0ZUVsZW1lbnQucXVlc3Rpb24gfHwgbnVsbCxcbiAgICAgIGhlbHBUZXh0OiBudWxsLFxuICAgICAgZXJyb3JNZXNzYWdlOiBudWxsLFxuICAgICAgaXNSZWFkT25seTogZmFsc2UsXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICByZWZlcmVuY2VGaWVsZDogbnVsbCxcbiAgICAgIGFkZGl0aW9uYWxSaWNoQ29udGVudDogbnVsbCxcbiAgICAgIGdyb3VwTmFtZTogbnVsbCxcbiAgICAgIGlzRGF0ZUJhY2t3YXJkOiBmYWxzZSxcbiAgICAgIHRpdGxlOiBudWxsLFxuICAgICAgc3ViVGl0bGU6IG51bGwsXG4gICAgICBzaXplOiB0ZW1wbGF0ZUVsZW1lbnQuc2l6ZSB8fCAxMixcbiAgICAgIGlzRGF0ZUZvcndhcmQ6IGZhbHNlLFxuICAgICAgaXNPcHRpb25hbDogZmFsc2UsXG4gICAgICBpc1RpdGxlOiBmYWxzZSxcbiAgICAgIG5leHRRdWVzdGlvbjogbnVsbCxcbiAgICAgIGFsbG93ZWRGaWxlRXh0ZW5zaW9uczogbnVsbCxcbiAgICAgIHF1ZXN0aW9uTnVtYmVyOiBpbmRleCArIDEsXG4gICAgICBvcmRlcjogaW5kZXggKyAxLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbGFiZWxDbGFzczogbnVsbCxcbiAgICAgICAgbGFiZWxTdHlsZTogbnVsbCxcbiAgICAgICAgbGFiZWxWYWx1ZVN0eWxlOiBudWxsLFxuICAgICAgICBpbnB1dENsYXNzOiBudWxsLFxuICAgICAgICBpbnB1dFN0eWxlOiBudWxsLFxuICAgICAgICBzaG93TGFiZWw6IHRlbXBsYXRlRWxlbWVudD8uc3R5bGU/LnNob3dMYWJlbCA/PyB0cnVlLFxuICAgICAgICBib29rU3R5bGU6IG51bGwsXG4gICAgICAgIGRpcmVjdGlvbjogJ2x0cicsXG4gICAgICAgIHF1ZXN0aW9uU3R5bGU6IG51bGwsXG4gICAgICB9LFxuICAgICAgc3ViVGV4dDoge1xuICAgICAgICBlbmRwb2ludDogbnVsbCxcbiAgICAgICAgdmFyaWFibGU6IG51bGwsXG4gICAgICAgIGZpZWxkOiBudWxsLFxuICAgICAgICBkZWZhdWx0RmllbGQ6IG51bGwsXG4gICAgICAgIHNvdXJjZVF1ZXN0aW9uSWQ6IG51bGwsXG4gICAgICAgIHZhbHVlRmllbGQ6IG51bGwsXG4gICAgICAgIGxhYmVsRmllbGQ6IG51bGwsXG4gICAgICAgIGlzRGVwZW5kZW50RmllbGQ6IGZhbHNlLFxuICAgICAgICBkZXBlbmRlbnRWYWx1ZTogbnVsbCxcbiAgICAgICAgcXVlcnlGaWVsZDogbnVsbCxcbiAgICAgICAgcXVlcnlWYWx1ZTogbnVsbCxcbiAgICAgICAgcXVlcnlWYWx1ZVJlZmVyZW5jZTogbnVsbCxcbiAgICAgICAgdW5pcXVlS2V5OiBudWxsLFxuICAgICAgfSxcbiAgICAgIGltYWdlRGF0YTogbnVsbCxcbiAgICAgIGJvb2xlYW46IGZhbHNlLFxuICAgICAgb3B0aW9uczogdGVtcGxhdGVFbGVtZW50Lm9wdGlvbnNcbiAgICAgICAgPyB0aGlzLmluaXRpYWxpemVPcHRpb25zKHRlbXBsYXRlRWxlbWVudC5vcHRpb25zKVxuICAgICAgICA6IG51bGwsXG4gICAgICBpbWFnZVNpemU6XG4gICAgICAgIHRlbXBsYXRlRWxlbWVudC50eXBlID09PSAnSW1hZ2UnID8geyB3aWR0aDogMTUwLCBoZWlnaHQ6IDE1MCB9IDogbnVsbCxcbiAgICAgIHRhYmxlQ29uZmlnOiB0ZW1wbGF0ZUVsZW1lbnQudHlwZSA9PT0gJ1RhYmxlJyA/IHtcbiAgICAgICAgaXNOb3NJbmRpY2F0b3I6IHRydWUsXG4gICAgICAgIGFkZElubGluZVJlY29yZDogdHJ1ZSxcbiAgICAgICAgaXNQYWdpbmF0aW9uOiB0cnVlLFxuICAgICAgICBhY3Rpb25CdXR0b246IHRydWUsXG4gICAgICAgIGlzRGVsZXRlUm93OiB0cnVlLFxuICAgICAgICBpc0VkaXRSb3c6IHRydWUsXG4gICAgICAgIHNlYXJjaEJhcjogdHJ1ZSxcbiAgICAgICAgaXNCdXR0b25zOiB0cnVlLFxuICAgICAgICBpdGVtc1BlclBhZ2U6IDEwLFxuICAgICAgfSA6IG51bGwsXG4gICAgICBmaWVsZHNNZXRhOiB0ZW1wbGF0ZUVsZW1lbnQuZmllbGRzTWV0YVxuICAgICAgICA/IHRoaXMuaW5pdGlhbGl6ZUZpZWxkc01ldGEodGVtcGxhdGVFbGVtZW50LmZpZWxkc01ldGEpXG4gICAgICAgIDogbnVsbCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHsgLi4uYmFzZUVsZW1lbnQsIC4uLnRlbXBsYXRlRWxlbWVudCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplT3B0aW9ucyhvcHRpb25zOiBhbnlbXSk6IGFueVtdIHtcbiAgICByZXR1cm4gb3B0aW9ucy5tYXAob3B0aW9uID0+ICh7XG4gICAgICAuLi5vcHRpb24sXG4gICAgICBpZDogdXVpZHY0KClcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVGaWVsZHNNZXRhKGZpZWxkc01ldGE6IHN0cmluZyk6IGFueSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UoZmllbGRzTWV0YSk7XG4gICAgICByZXR1cm4gcGFyc2VkLm1hcCgoZmllbGQ6IGFueSkgPT4gKHtcbiAgICAgICAgLi4uZmllbGQsXG4gICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6IHV1aWR2NCgpXG4gICAgICB9KSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcGFyc2luZyBmaWVsZHNNZXRhOicsIGUpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuLy8gSW4gVGVtcGxhdGVTZXJ2aWNlXG5kb3dubG9hZCgpIHtcbiAgaWYgKCF0aGlzLmZvcm1FbGVtZW50cyB8fCAhQXJyYXkuaXNBcnJheSh0aGlzLmZvcm1FbGVtZW50cykpIHtcbiAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGZvcm1FbGVtZW50cycpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQ2xlYW4gZWxlbWVudHMgZm9yIGV4cG9ydCAoc2FtZSBhcyBGb3JtQnVpbGRlclNlcnZpY2UpXG4gIHRoaXMuZm9ybUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgLy8gUmVtb3ZlIHFiUmVmZXJlbmNlUXVlc3Rpb25zIGZvciAnYm9vaycgdHlwZVxuICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICdib29rJykge1xuICAgICAgZGVsZXRlIGVsZW1lbnQucWJSZWZlcmVuY2VRdWVzdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gUHJvY2VzcyBzdWJUZXh0IHRvIG1hdGNoIEZvcm1CdWlsZGVyU2VydmljZSdzIGZvcm1hdFxuICAgIGlmIChlbGVtZW50LnN1YlRleHQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIENvbnZlcnQgc3ViVGV4dCB0byBvYmplY3QgaWYgc3RyaW5nXG4gICAgICAgIGVsZW1lbnQuc3ViVGV4dCA9IHR5cGVvZiBlbGVtZW50LnN1YlRleHQgPT09ICdzdHJpbmcnIFxuICAgICAgICAgID8gSlNPTi5wYXJzZShlbGVtZW50LnN1YlRleHQpIFxuICAgICAgICAgIDogey4uLmVsZW1lbnQuc3ViVGV4dH07XG5cbiAgICAgICAgLy8gQ29udmVydCBmaWVsZCB0byBhcnJheSBpZiBzdHJpbmdcbiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LnN1YlRleHQuZmllbGQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZWxlbWVudC5zdWJUZXh0LmZpZWxkID0gZWxlbWVudC5zdWJUZXh0LmZpZWxkLnNwbGl0KCcsJykubWFwKGkgPT4gaS50cmltKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RyaW5naWZ5IHN1YlRleHQgZm9yIHN0b3JhZ2VcbiAgICAgICAgZWxlbWVudC5zdWJUZXh0ID0gSlNPTi5zdHJpbmdpZnkoZWxlbWVudC5zdWJUZXh0KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcHJvY2Vzc2luZyBzdWJUZXh0OicsIGUpO1xuICAgICAgICBlbGVtZW50LnN1YlRleHQgPSAne30nO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgLy8gVXBkYXRlIGJvb2sgc3RydWN0dXJlIChzYW1lIGFzIEZvcm1CdWlsZGVyU2VydmljZSlcbiAgaWYgKCF0aGlzLmJvb2spIHRoaXMubmV3Qm9vaygpOyAvLyBFbnN1cmUgYm9vayBleGlzdHNcbiAgXG4gIGlmICh0aGlzLmJvb2suYm9va1F1ZXN0aW9uc01hcCAmJiB0aGlzLnVuaXF1ZV9pZCkge1xuICAgIHRoaXMuYm9vay5ib29rUXVlc3Rpb25zTWFwW3RoaXMudW5pcXVlX2lkXS5zdWJRdWVzdGlvbnMgPSB0aGlzLmZvcm1FbGVtZW50cztcbiAgfVxuXG4gIC8vIFByZXBhcmUgc3FPcHRpb25zIChzYW1lIGZvcm1hdCBhcyBGb3JtQnVpbGRlclNlcnZpY2UpXG4gIGNvbnN0IHNxT3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICB0aGlzLmZvcm1FbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgIGlmIChbJ0Ryb3Bkb3duJywgJ1JhZGlvJywgJ0NoZWNrYm94J10uaW5jbHVkZXMoZWxlbWVudC50eXBlKSkge1xuICAgICAgc3FPcHRpb25zW2VsZW1lbnQuaWRdID0ge1xuICAgICAgICAuLi5lbGVtZW50LFxuICAgICAgICBvcHRpb25zOiBlbGVtZW50Lm9wdGlvbnM/Lm1hcChvcHQgPT4gKHtcbiAgICAgICAgICAuLi5vcHQsXG4gICAgICAgICAgLy8gRW5zdXJlIFVVSURzIGFyZSBwcmVzZXJ2ZWRcbiAgICAgICAgICBpZDogb3B0LmlkIHx8IHV1aWR2NCgpLFxuICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6IG9wdC51bmlxdWVJZGVudGlmaWVyIHx8IHV1aWR2NCgpXG4gICAgICAgIH0pKSB8fCBbXVxuICAgICAgfTtcbiAgICB9XG4gIH0pO1xuXG4gIHRoaXMuYm9vay5zcU9wdGlvbnMgPSBzcU9wdGlvbnM7XG4gIFxuICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmJvb2spKTsgLy8gUmV0dXJuIGNsZWFuIGNvcHlcbn1cblxuLy8gQWRkIHRoZSBuZXdCb29rKCkgbWV0aG9kIGlmIG1pc3NpbmdcbnByaXZhdGUgbmV3Qm9vaygpIHtcbiAgdGhpcy51bmlxdWVfaWQgPSB1dWlkdjQoKTtcbiAgdGhpcy5ib29rID0ge1xuICAgIGJvb2tRdWVzdGlvbnNNYXA6IHtcbiAgICAgIFt0aGlzLnVuaXF1ZV9pZF06IHtcbiAgICAgICAgc3ViUXVlc3Rpb25zOiBbXSxcbiAgICAgICAgdHlwZTogJ0Jvb2snXG4gICAgICB9XG4gICAgfSxcbiAgICBxdWVzdGlvbmJvb2s6IHtcbiAgICAgIGFjdGlvbjogSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICB7IG5hbWU6IFwiQ2FuY2VsXCIsIGV2ZW50dG9lbWl0OiBcImNsb3NlXCIgfSxcbiAgICAgICAgeyBuYW1lOiBcIlNhdmVcIiwgZXZlbnR0b2VtaXQ6IFwic3VibWl0XCIsIG1ldGhvZDogXCJQT1NUXCIgfVxuICAgICAgXSlcbiAgICB9LFxuICAgIHJlY29yZHM6IFt7XG4gICAgICBpZDogdGhpcy51bmlxdWVfaWQsXG4gICAgICB0aXRsZTogJ1VudGl0bGVkIFRlbXBsYXRlJyxcbiAgICAgIHN1YlF1ZXN0aW9uczogW11cbiAgICB9XVxuICB9O1xufVxuICBcbiAgXG59XG4iXX0=