@hmcts/ccd-case-ui-toolkit 6.19.10 → 6.19.11-case-file-view-feature-toggle-v1.1

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.
Files changed (70) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +281 -298
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit/case-edit.component.js +5 -16
  7. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +4 -12
  8. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +3 -6
  9. package/esm2015/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.js +1 -2
  10. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +1 -2
  11. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.js +22 -8
  12. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +43 -28
  13. package/esm2015/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.js +233 -0
  14. package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +2 -2
  15. package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +3 -4
  16. package/esm2015/lib/shared/directives/conditional-show/services/condition-parser.service.js +2 -2
  17. package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +1 -1
  18. package/esm2015/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.js +6 -0
  19. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +39 -13
  20. package/esm2015/lib/shared/domain/case-file-view/index.js +3 -2
  21. package/esm2015/lib/shared/domain/index.js +10 -10
  22. package/esm2015/lib/shared/domain/search/sorting/sort-parameters.js +1 -1
  23. package/esm2015/lib/shared/domain/sort-order.enum.js +7 -0
  24. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +13 -20
  25. package/esm2015/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.js +2 -2
  26. package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +1 -1
  27. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +246 -263
  28. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  29. package/lib/app.config.d.ts +2 -0
  30. package/lib/app.config.d.ts.map +1 -1
  31. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +1 -4
  32. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  33. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -4
  34. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  35. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  36. package/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.d.ts.map +1 -1
  37. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  38. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts +8 -5
  39. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -1
  40. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +5 -3
  41. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  42. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts +3 -0
  43. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts.map +1 -0
  44. package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts.map +1 -1
  45. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +1 -1
  46. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -1
  47. package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts +5 -0
  48. package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts.map +1 -0
  49. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +4 -2
  50. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -1
  51. package/lib/shared/domain/case-file-view/index.d.ts +2 -1
  52. package/lib/shared/domain/case-file-view/index.d.ts.map +1 -1
  53. package/lib/shared/domain/index.d.ts +9 -9
  54. package/lib/shared/domain/index.d.ts.map +1 -1
  55. package/lib/shared/domain/search/sorting/sort-parameters.d.ts +1 -1
  56. package/lib/shared/domain/search/sorting/sort-parameters.d.ts.map +1 -1
  57. package/lib/shared/{components/palette/complex/sort-order.d.ts → domain/sort-order.enum.d.ts} +1 -1
  58. package/lib/shared/domain/sort-order.enum.d.ts.map +1 -0
  59. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts +1 -1
  60. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  61. package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -1
  62. package/package.json +1 -1
  63. package/esm2015/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.js +0 -39
  64. package/esm2015/lib/shared/components/palette/complex/sort-order.js +0 -7
  65. package/esm2015/lib/shared/domain/search/sorting/sort-order.js +0 -7
  66. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts +0 -14
  67. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts.map +0 -1
  68. package/lib/shared/components/palette/complex/sort-order.d.ts.map +0 -1
  69. package/lib/shared/domain/search/sorting/sort-order.d.ts +0 -6
  70. package/lib/shared/domain/search/sorting/sort-order.d.ts.map +0 -1
@@ -0,0 +1,233 @@
1
+ export const categoriesAndDocumentsTestData = {
2
+ case_version: 1,
3
+ categories: [
4
+ {
5
+ category_id: 'Beers',
6
+ category_name: 'Beers',
7
+ category_order: 1,
8
+ documents: [
9
+ {
10
+ document_url: '/test',
11
+ document_filename: 'Lager encyclopedia',
12
+ document_binary_url: '/test/binary',
13
+ attribute_path: '',
14
+ upload_timestamp: new Date(2023, 4, 11),
15
+ content_type: ''
16
+ },
17
+ {
18
+ document_url: '/test',
19
+ document_filename: 'Beers encyclopedia',
20
+ document_binary_url: '/test/binary',
21
+ attribute_path: '',
22
+ upload_timestamp: new Date(2023, 3, 14),
23
+ content_type: ''
24
+ },
25
+ {
26
+ document_url: '/test',
27
+ document_filename: 'Ale encyclopedia',
28
+ document_binary_url: '/test/binary',
29
+ attribute_path: '',
30
+ upload_timestamp: new Date(2023, 2, 12),
31
+ content_type: ''
32
+ }
33
+ ],
34
+ sub_categories: [
35
+ {
36
+ category_id: 'BeersBitters',
37
+ category_name: 'Bitters',
38
+ category_order: 1,
39
+ documents: [],
40
+ sub_categories: []
41
+ },
42
+ {
43
+ category_id: 'BeersAmerican',
44
+ category_name: 'American',
45
+ category_order: 2,
46
+ documents: [],
47
+ sub_categories: []
48
+ },
49
+ {
50
+ category_id: 'BeersAsian',
51
+ category_name: 'Asian',
52
+ category_order: 3,
53
+ documents: [],
54
+ sub_categories: []
55
+ }
56
+ ]
57
+ },
58
+ {
59
+ category_id: 'Wines',
60
+ category_name: 'Wines',
61
+ category_order: 2,
62
+ documents: [],
63
+ sub_categories: [
64
+ {
65
+ category_id: 'WinesFrench',
66
+ category_name: 'French',
67
+ category_order: 1,
68
+ documents: [],
69
+ sub_categories: []
70
+ },
71
+ {
72
+ category_id: 'WinesItalian',
73
+ category_name: 'Italian',
74
+ category_order: 2,
75
+ documents: [
76
+ {
77
+ document_url: '/red-wine',
78
+ document_filename: 'Details about red wine',
79
+ document_binary_url: '/test/binary',
80
+ attribute_path: '',
81
+ upload_timestamp: null,
82
+ content_type: ''
83
+ },
84
+ {
85
+ document_url: '/white-wine',
86
+ document_filename: 'Details about white wine',
87
+ document_binary_url: '/test/binary',
88
+ attribute_path: '',
89
+ upload_timestamp: new Date(2023, 1, 10),
90
+ content_type: ''
91
+ },
92
+ {
93
+ document_url: '/prosecco',
94
+ document_filename: 'Details about Prosecco',
95
+ document_binary_url: '/test/binary',
96
+ attribute_path: '',
97
+ upload_timestamp: new Date(2023, 3, 12),
98
+ content_type: ''
99
+ },
100
+ {
101
+ document_url: '/pinot-grigio',
102
+ document_filename: 'Details about Pinot Grigio',
103
+ document_binary_url: '/test/binary',
104
+ attribute_path: '',
105
+ upload_timestamp: new Date(2023, 2, 16),
106
+ content_type: ''
107
+ }
108
+ ],
109
+ sub_categories: []
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ category_id: 'Spirits',
115
+ category_name: 'Spirits',
116
+ category_order: 3,
117
+ documents: [],
118
+ sub_categories: [
119
+ {
120
+ category_id: 'SpiritsWhisky',
121
+ category_name: 'Scotch whisky',
122
+ category_order: 1,
123
+ documents: [],
124
+ sub_categories: [
125
+ {
126
+ category_id: 'WhiskyHighland',
127
+ category_name: 'Highland',
128
+ category_order: 1,
129
+ documents: [],
130
+ sub_categories: [
131
+ {
132
+ category_id: 'WhiskyHighland1',
133
+ category_name: 'Highland 1',
134
+ category_order: 1,
135
+ documents: [],
136
+ sub_categories: []
137
+ }
138
+ ]
139
+ },
140
+ {
141
+ category_id: 'WhiskyLowland',
142
+ category_name: 'Lowland',
143
+ category_order: 2,
144
+ documents: [],
145
+ sub_categories: [
146
+ {
147
+ category_id: 'WhiskyLowland1',
148
+ category_name: 'Lowland 1',
149
+ category_order: 1,
150
+ documents: [
151
+ {
152
+ document_url: '/test',
153
+ document_filename: 'Details about Whisky Lowland 1',
154
+ document_binary_url: '/test/binary',
155
+ attribute_path: '',
156
+ upload_timestamp: new Date(2022, 5, 21),
157
+ content_type: ''
158
+ }
159
+ ],
160
+ sub_categories: []
161
+ },
162
+ {
163
+ category_id: 'WhiskyLowland2',
164
+ category_name: 'Lowland 2',
165
+ category_order: 2,
166
+ documents: [],
167
+ sub_categories: []
168
+ }
169
+ ]
170
+ },
171
+ {
172
+ category_id: 'WhiskyIslay',
173
+ category_name: 'Islay',
174
+ category_order: 3,
175
+ documents: [
176
+ {
177
+ document_url: '/test',
178
+ document_filename: 'Details about Whisky Islay',
179
+ document_binary_url: '/test/binary',
180
+ attribute_path: '',
181
+ upload_timestamp: new Date(2022, 10, 4),
182
+ content_type: ''
183
+ },
184
+ {
185
+ document_url: '/test',
186
+ document_filename: 'More information about Whisky Islay',
187
+ document_binary_url: '/test/binary',
188
+ attribute_path: '',
189
+ upload_timestamp: new Date(2022, 11, 28),
190
+ content_type: ''
191
+ }
192
+ ],
193
+ sub_categories: []
194
+ },
195
+ {
196
+ category_id: 'WhiskySpeyside',
197
+ category_name: 'Speyside',
198
+ category_order: 4,
199
+ documents: [],
200
+ sub_categories: []
201
+ },
202
+ {
203
+ category_id: 'WhiskyCampbeltown',
204
+ category_name: 'Campbeltown',
205
+ category_order: 5,
206
+ documents: [],
207
+ sub_categories: []
208
+ }
209
+ ]
210
+ }
211
+ ]
212
+ }
213
+ ],
214
+ uncategorised_documents: [
215
+ {
216
+ document_url: '/uncategorised-document-1',
217
+ document_filename: 'Uncategorised document 1',
218
+ document_binary_url: '/test/binary',
219
+ attribute_path: '',
220
+ upload_timestamp: new Date(2022, 10, 17),
221
+ content_type: ''
222
+ },
223
+ {
224
+ document_url: '/uncategorised-document-2',
225
+ document_filename: 'Uncategorised document 2',
226
+ document_binary_url: '/test/binary',
227
+ attribute_path: '',
228
+ upload_timestamp: new Date(2023, 1, 23),
229
+ content_type: ''
230
+ }
231
+ ]
232
+ };
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLXRlc3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L3Rlc3QtZGF0YS9jYXRlZ29yaWVzLWFuZC1kb2N1bWVudHMtdGVzdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUEyQjtJQUNwRSxZQUFZLEVBQUUsQ0FBQztJQUNmLFVBQVUsRUFBRTtRQUNWO1lBQ0UsV0FBVyxFQUFFLE9BQU87WUFDcEIsYUFBYSxFQUFFLE9BQU87WUFDdEIsY0FBYyxFQUFFLENBQUM7WUFDakIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFlBQVksRUFBRSxPQUFPO29CQUNyQixpQkFBaUIsRUFBRSxvQkFBb0I7b0JBQ3ZDLG1CQUFtQixFQUFFLGNBQWM7b0JBQ25DLGNBQWMsRUFBRSxFQUFFO29CQUNsQixnQkFBZ0IsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDdkMsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCO2dCQUNEO29CQUNFLFlBQVksRUFBRSxPQUFPO29CQUNyQixpQkFBaUIsRUFBRSxvQkFBb0I7b0JBQ3ZDLG1CQUFtQixFQUFFLGNBQWM7b0JBQ25DLGNBQWMsRUFBRSxFQUFFO29CQUNsQixnQkFBZ0IsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDdkMsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCO2dCQUNEO29CQUNFLFlBQVksRUFBRSxPQUFPO29CQUNyQixpQkFBaUIsRUFBRSxrQkFBa0I7b0JBQ3JDLG1CQUFtQixFQUFFLGNBQWM7b0JBQ25DLGNBQWMsRUFBRSxFQUFF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QUN6QyxpQkFBaUIsRUFBRSwwQkFBMEI7WUFDN0MsbUJBQW1CLEVBQUUsY0FBYztZQUNuQyxjQUFjLEVBQUUsRUFBRTtZQUNsQixnQkFBZ0IsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxZQUFZLEVBQUUsRUFBRTtTQUNqQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhdGVnb3JpZXNBbmREb2N1bWVudHMgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vY2FzZS1maWxlLXZpZXcnO1xuXG5leHBvcnQgY29uc3QgY2F0ZWdvcmllc0FuZERvY3VtZW50c1Rlc3REYXRhOiBDYXRlZ29yaWVzQW5kRG9jdW1lbnRzID0ge1xuICBjYXNlX3ZlcnNpb246IDEsXG4gIGNhdGVnb3JpZXM6IFtcbiAgICB7XG4gICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzJyxcbiAgICAgIGNhdGVnb3J5X25hbWU6ICdCZWVycycsXG4gICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgIGRvY3VtZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnTGFnZXIgZW5jeWNsb3BlZGlhJyxcbiAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMywgNCwgMTEpLFxuICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGRvY3VtZW50X3VybDogJy90ZXN0JyxcbiAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ0JlZXJzIGVuY3ljbG9wZWRpYScsXG4gICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjMsIDMsIDE0KSxcbiAgICAgICAgICBjb250ZW50X3R5cGU6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkb2N1bWVudF91cmw6ICcvdGVzdCcsXG4gICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdBbGUgZW5jeWNsb3BlZGlhJyxcbiAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMywgMiwgMTIpLFxuICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzQml0dGVycycsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0JpdHRlcnMnLFxuICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzQW1lcmljYW4nLFxuICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdBbWVyaWNhbicsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDIsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnNBc2lhbicsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0FzaWFuJyxcbiAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMyxcbiAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBjYXRlZ29yeV9pZDogJ1dpbmVzJyxcbiAgICAgIGNhdGVnb3J5X25hbWU6ICdXaW5lcycsXG4gICAgICBjYXRlZ29yeV9vcmRlcjogMixcbiAgICAgIGRvY3VtZW50czogW10sXG4gICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaW5lc0ZyZW5jaCcsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0ZyZW5jaCcsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2luZXNJdGFsaWFuJyxcbiAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnSXRhbGlhbicsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDIsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy9yZWQtd2luZScsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCByZWQgd2luZScsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG51bGwsXG4gICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy93aGl0ZS13aW5lJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdEZXRhaWxzIGFib3V0IHdoaXRlIHdpbmUnLFxuICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIzLCAxLCAxMCksXG4gICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy9wcm9zZWNjbycsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCBQcm9zZWNjbycsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjMsIDMsIDEyKSxcbiAgICAgICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Bpbm90LWdyaWdpbycsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCBQaW5vdCBHcmlnaW8nLFxuICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIzLCAyLCAxNiksXG4gICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBjYXRlZ29yeV9pZDogJ1NwaXJpdHMnLFxuICAgICAgY2F0ZWdvcnlfbmFtZTogJ1NwaXJpdHMnLFxuICAgICAgY2F0ZWdvcnlfb3JkZXI6IDMsXG4gICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiAnU3Bpcml0c1doaXNreScsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1Njb3RjaCB3aGlza3knLFxuICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lIaWdobGFuZCcsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdIaWdobGFuZCcsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5SGlnaGxhbmQxJyxcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdIaWdobGFuZCAxJyxcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lMb3dsYW5kJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQnLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMixcbiAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUxvd2xhbmQxJyxcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdMb3dsYW5kIDEnLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy90ZXN0JyxcbiAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ0RldGFpbHMgYWJvdXQgV2hpc2t5IExvd2xhbmQgMScsXG4gICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjIsIDUsIDIxKSxcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU6ICcnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5TG93bGFuZDInLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQgMicsXG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5SXNsYXknLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnSXNsYXknLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdEZXRhaWxzIGFib3V0IFdoaXNreSBJc2xheScsXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjIsIDEwLCA0KSxcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy90ZXN0JyxcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnTW9yZSBpbmZvcm1hdGlvbiBhYm91dCBXaGlza3kgSXNsYXknLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIyLCAxMSwgMjgpLFxuICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreVNwZXlzaWRlJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1NwZXlzaWRlJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDQsXG4gICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lDYW1wYmVsdG93bicsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdDYW1wYmVsdG93bicsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiA1LFxuICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIF0sXG4gIHVuY2F0ZWdvcmlzZWRfZG9jdW1lbnRzOiBbXG4gICAge1xuICAgICAgZG9jdW1lbnRfdXJsOiAnL3VuY2F0ZWdvcmlzZWQtZG9jdW1lbnQtMScsXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogJ1VuY2F0ZWdvcmlzZWQgZG9jdW1lbnQgMScsXG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjIsIDEwLCAxNyksXG4gICAgICBjb250ZW50X3R5cGU6ICcnXG4gICAgfSxcbiAgICB7XG4gICAgICBkb2N1bWVudF91cmw6ICcvdW5jYXRlZ29yaXNlZC1kb2N1bWVudC0yJyxcbiAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnVW5jYXRlZ29yaXNlZCBkb2N1bWVudCAyJyxcbiAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMywgMSwgMjMpLFxuICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgIH1cbiAgXVxufTtcbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { plainToClassFromExist } from 'class-transformer';
3
+ import { SortOrder } from '../../../domain';
3
4
  import { CaseField } from '../../../domain/definition';
4
5
  import { AbstractFieldReadComponent } from '../base-field/abstract-field-read.component';
5
- import { SortOrder } from './sort-order';
6
6
  import * as i0 from "@angular/core";
7
7
  function ReadComplexFieldCollectionTableComponent_th_10_Template(rf, ctx) { if (rf & 1) {
8
8
  const _r4 = i0.ɵɵgetCurrentView();
@@ -416,4 +416,4 @@ const ɵReadComplexFieldCollectionTableComponent_BaseFactory = /*@__PURE__*/ i0.
416
416
  styleUrls: ['./read-complex-field-collection-table.scss']
417
417
  }]
418
418
  }], null, null); })();
419
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztJQ0tuQyw2QkFBZ0Q7SUFDOUMsK0JBQXNCO0lBQUEsWUFBa0Q7O0lBQUEsaUJBQU87SUFDL0UsNEJBR3VEO0lBRnBELDBQQUFvQztJQUVnQixpQkFBSTtJQUM3RCxpQkFBSzs7OztJQUxtQixlQUFrRDtJQUFsRCxxRkFBa0Q7SUFJckUsZUFBbUQ7SUFBbkQscUdBQW1EOzs7SUFXbEQsMkJBQTZDO0lBQzNDLHFDQUV1QztJQUN6QyxpQkFBTTs7Ozs7SUFGRixlQUE0RztJQUE1Ryw0SkFBNEcsNEJBQUE7OztJQUk5RywyQkFBSztJQUFBLHNCQUFNO0lBQUEsaUJBQU07OztJQVJ2Qiw2QkFBOEM7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QUFDOztpTEFsS1Usd0NBQXdDOzZFQUF4Qyx3Q0FBd0M7UUNYckQsOEJBQXVEO1FBQ3JELDZCQUFnQztRQUM5QiwwQkFBSTtRQUFBLCtCQUFzQjtRQUFBLFlBQWtDOztRQUFBLGlCQUFPO1FBQUEsaUJBQUs7UUFDeEUscUJBQVM7UUFDWCxpQkFBSztRQUNMLGdDQUEwRTtRQUN4RSw2QkFBTztRQUVQLDBCQUFJO1FBQ0YseUZBTUs7UUFDTCxzQkFBUztRQUNYLGlCQUFLO1FBRUwsK0dBc0VlO1FBQ2YsaUJBQVE7UUFDVixpQkFBUTtRQUNWLGlCQUFNOztRQTVGcUIsNkNBQTJCO1FBRXhCLGVBQWtDO1FBQWxDLCtEQUFrQztRQU9sQyxlQUFVO1FBQVYscUNBQVU7UUFVTCxlQUFTO1FBQVQsa0NBQVM7O3FHRFIvQix3Q0FBd0M7dUZBQXhDLHdDQUF3QztjQUxwRCxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlDQUF5QztnQkFDbkQsV0FBVyxFQUFFLDRDQUE0QztnQkFDekQsU0FBUyxFQUFFLENBQUMsNENBQTRDLENBQUM7YUFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzRnJvbUV4aXN0IH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24nO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFNvcnRPcmRlciB9IGZyb20gJy4vc29ydC1vcmRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgcHVibGljIGNvbHVtbnNWZXJ0aWNhbExhYmVsOiBhbnk7XG4gIHB1YmxpYyBjb2x1bW5zSG9yaXpvbnRhbExhYmVsOiBhbnk7XG4gIHB1YmxpYyBjb2x1bW5zQWxsTGFiZWxzOiBhbnk7XG4gIHB1YmxpYyByb3dzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgaXNIaWRkZW46IGJvb2xlYW5bXSA9IFtdO1xuICBwcml2YXRlIHN0YXRpYyBpc1NvcnRBc2NlbmRpbmcoY29sdW1uOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIShjb2x1bW4uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuVU5TT1JURUQgfHwgY29sdW1uLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkRFU0NFTkRJTkcpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXJcbiAgICAgICYmIHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIudHJpbSgpLnN0YXJ0c1dpdGgoJyNUQUJMRSgnKSkge1xuXG4gICAgICBjb25zdCBkaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9IHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIudHJpbSgpO1xuICAgICAgY29uc3QgcmVzdWx0OiBzdHJpbmcgPSBkaXNwbGF5Q29udGV4dFBhcmFtZXRlci5yZXBsYWNlKCcjVEFCTEUoJywgJycpO1xuICAgICAgdGhpcy5jb2x1bW5zID0gcmVzdWx0LnJlcGxhY2UoJyknLCAnJykuc3BsaXQoJywnKS5tYXAoKGM6IHN0cmluZykgPT4gYy50cmltKCkpO1xuXG4gICAgICBjb25zdCBsYWJlbHNWZXJ0aWNhbDogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIGNvbnN0IGxhYmVsc0hvcml6b250YWw6IHsgW2s6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICBjb25zdCBhbGxMYWJlbHM6IHsgW2s6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICB0aGlzLnBvcHVsYXRlQ2FzZUZpZWxkVmFsdWVzSW50b1Jvd3MoKTtcbiAgICAgIHRoaXMucG9wdWxhdGVMYWJlbHMobGFiZWxzVmVydGljYWwsIGFsbExhYmVscyk7XG4gICAgICB0aGlzLnBvcHVsYXRlSG9yaXpvbnRhbExhYmVscyhsYWJlbHNIb3Jpem9udGFsLCBhbGxMYWJlbHMsIGxhYmVsc1ZlcnRpY2FsKTtcblxuICAgICAgdGhpcy5jb2x1bW5zVmVydGljYWxMYWJlbCA9IGxhYmVsc1ZlcnRpY2FsO1xuICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsID0gbGFiZWxzSG9yaXpvbnRhbDtcbiAgICAgIHRoaXMuY29sdW1uc0FsbExhYmVscyA9IGFsbExhYmVscztcblxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJbWFnZShyb3cpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSGlkZGVuW3Jvd10pIHtcbiAgICAgIHJldHVybiAnaW1nL2FjY29yZGlvbi1wbHVzLnBuZyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmlzVmVydGljbGVEYXRhTm90RW1wdHkocm93KSkge1xuICAgICAgICByZXR1cm4gJ2ltZy9hY2NvcmRpb24tbWludXMucG5nJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNIaWRkZW5bcm93XSA9IHRydWU7XG4gICAgICAgIHJldHVybiAnaW1nL2FjY29yZGlvbi1wbHVzLnBuZyc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgJ2NjZEZpZWxkc0ZpbHRlcicgcGlwZSBpcyB1c2VkLCBhcyBpdCBuZWVkcyBhIGNhc2VGaWVsZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDYXNlRmllbGRWYWx1ZShmaWVsZCwgdmFsdWUpOiBib29sZWFuIHtcbiAgICBmaWVsZC52YWx1ZSA9IHZhbHVlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzTm90QmxhbmsodmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gJyc7XG4gIH1cblxuICBwdWJsaWMgYWRkQ2FzZVJlZmVyZW5jZVZhbHVlKGZpZWxkLCB2YWx1ZTogYW55KTogYW55IHtcbiAgICBmaWVsZC52YWx1ZSA9IHsgQ2FzZVJlZmVyZW5jZTogdmFsdWV9O1xuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIHB1YmxpYyB0b0Nhc2VGaWVsZChpZDogc3RyaW5nLCBsYWJlbDogc3RyaW5nLCBmaWVsZFR5cGU6IGFueSwgdmFsdWU6IGFueSk6IENhc2VGaWVsZCB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzc0Zyb21FeGlzdChuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkLFxuICAgICAgbGFiZWwsXG4gICAgICBkaXNwbGF5X2NvbnRleHQ6ICdSRUFET05MWScsXG4gICAgICB2YWx1ZSxcbiAgICAgIGZpZWxkX3R5cGU6IGZpZWxkVHlwZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGtlZXBPcmlnaW5hbE9yZGVyID0gKGEsIGIpID0+IGEua2V5O1xuXG4gIHB1YmxpYyBzb3J0Um93c0J5Q29sdW1ucyhjb2x1bW4pOiB2b2lkIHtcbiAgICBjb25zdCBzaG91bGRTb3J0SW5Bc2NlbmRpbmdPcmRlciA9IHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLlVOU09SVEVEXG4gICAgICB8fCB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0XG4gICAgc3dpdGNoICh0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS50eXBlLnR5cGUpIHtcbiAgICAgIGNhc2UgJ051bWJlcic6XG4gICAgICBjYXNlICdNb25leUdCUCc6IHtcbiAgICAgICAgaWYgKHNob3VsZFNvcnRJbkFzY2VuZGluZ09yZGVyKSB7XG4gICAgICAgICAgdGhpcy5yb3dzLnNvcnQoKGEsIGIpID0+IGFbY29sdW1uXSAtIGJbY29sdW1uXSk7XG4gICAgICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID0gU29ydE9yZGVyLkFTQ0VORElORztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYltjb2x1bW5dIC0gYVtjb2x1bW5dKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1RleHQnOlxuICAgICAgY2FzZSAnVGV4dEFyZWEnOlxuICAgICAgY2FzZSAnRW1haWwnOlxuICAgICAgY2FzZSAnRGF0ZSc6XG4gICAgICBjYXNlICdEYXRlVGltZSc6XG4gICAgICBjYXNlICdMYWJlbCc6XG4gICAgICBjYXNlICdQb3N0Y29kZSc6XG4gICAgICBjYXNlICdZZXNPck5vJzpcbiAgICAgIGNhc2UgJ1Bob25lVUsnOlxuICAgICAgY2FzZSAnRml4ZWRMaXN0Jzoge1xuICAgICAgICBpZiAoc2hvdWxkU29ydEluQXNjZW5kaW5nT3JkZXIpIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYVtjb2x1bW5dIDwgYltjb2x1bW5dID8gLTEgOiBhW2NvbHVtbl0gPiBiW2NvbHVtbl0gPyAxIDogMCk7XG4gICAgICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID0gU29ydE9yZGVyLkFTQ0VORElORztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYVtjb2x1bW5dIDwgYltjb2x1bW5dID8gMSA6IGFbY29sdW1uXSA+IGJbY29sdW1uXSA/IC0xIDogMCk7XG4gICAgICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNvcnRXaWRnZXQoY29sdW1uOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBSZWFkQ29tcGxleEZpZWxkQ29sbGVjdGlvblRhYmxlQ29tcG9uZW50LmlzU29ydEFzY2VuZGluZyhjb2x1bW4pID8gJyYjOTY2MDsnIDogJyYjOTY1MDsnO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUhvcml6b250YWxMYWJlbHMobGFiZWxzSG9yaXpvbnRhbDogeyBbcDogc3RyaW5nXTogYW55IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbExhYmVsczogeyBbcDogc3RyaW5nXTogYW55IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsc1ZlcnRpY2FsOiB7IFtwOiBzdHJpbmddOiBhbnkgfSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgaWQgb2YgdGhpcy5jb2x1bW5zKSB7XG4gICAgICBjb25zdCB0cmltbWVkSWQgPSBpZC50cmltKCk7XG4gICAgICBsYWJlbHNIb3Jpem9udGFsW3RyaW1tZWRJZF0gPSBhbGxMYWJlbHNbdHJpbW1lZElkXTtcbiAgICAgIGxhYmVsc0hvcml6b250YWxbdHJpbW1lZElkXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuVU5TT1JURUQ7XG4gICAgICBkZWxldGUgbGFiZWxzVmVydGljYWxbdHJpbW1lZElkXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlTGFiZWxzKGxhYmVsc1ZlcnRpY2FsOiB7IFtwOiBzdHJpbmddOiBhbnkgfSwgYWxsTGFiZWxzOiB7IFtwOiBzdHJpbmddOiBhbnkgfSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgIGlmIChvYmouZmllbGRfdHlwZS50eXBlID09PSAnRml4ZWRMaXN0JyB8fFxuICAgICAgICBvYmouZmllbGRfdHlwZS50eXBlID09PSAnTXVsdGlTZWxlY3RMaXN0JyB8fFxuICAgICAgICBvYmouZmllbGRfdHlwZS50eXBlID09PSAnRml4ZWRSYWRpb0xpc3QnKSB7XG4gICAgICAgIGxhYmVsc1ZlcnRpY2FsW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZTogb2JqLmZpZWxkX3R5cGUsIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgICAgYWxsTGFiZWxzW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZTogb2JqLmZpZWxkX3R5cGV9O1xuICAgICAgfSBlbHNlIGlmIChvYmouaXNDb21wbGV4KCkpIHtcbiAgICAgICAgbGFiZWxzVmVydGljYWxbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZS50eXBlLCBjYXNlRmllbGQ6IG9ian07XG4gICAgICAgIGFsbExhYmVsc1tvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IG9iai5maWVsZF90eXBlLnR5cGUsIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxhYmVsc1ZlcnRpY2FsW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZToge3R5cGU6IG9iai5maWVsZF90eXBlLnR5cGV9LCBjYXNlRmllbGQ6IG9ian07XG4gICAgICAgIGFsbExhYmVsc1tvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IHt0eXBlOiBvYmouZmllbGRfdHlwZS50eXBlfSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVDYXNlRmllbGRWYWx1ZXNJbnRvUm93cygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9iaiBvZiB0aGlzLmNhc2VGaWVsZC52YWx1ZSkge1xuICAgICAgdGhpcy5yb3dzLnB1c2gob2JqLnZhbHVlKTtcbiAgICAgIHRoaXMuaXNIaWRkZW4ucHVzaCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzVmVydGljbGVEYXRhTm90RW1wdHkocm93KTogYm9vbGVhbiB7XG4gICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuY29sdW1uc1ZlcnRpY2FsTGFiZWwpIHtcbiAgICAgIGlmICh0aGlzLnJvd3Nbcm93XVtrZXldKSB7XG4gICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb21wbGV4LXBhbmVsXCIgW2hpZGRlbl09XCJjYXNlRmllbGQuaGlkZGVuXCI+XG4gIDxkbCBjbGFzcz1cImNvbXBsZXgtcGFuZWwtdGl0bGVcIj5cbiAgICA8ZHQ+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tjYXNlRmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2R0PlxuICAgIDxkZD48L2RkPlxuICA8L2RsPlxuICA8dGFibGUgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cImNvbXBsZXggcGFuZWwgdGFibGVcIj5cbiAgICA8dGJvZHk+XG4gICAgPCEtLSA8Q09NUExFWCB0YWJsZSBmaWVsZCBoZWFkZXI+LS0+XG4gICAgPHRyPlxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkaW5nIG9mIGNvbHVtbnNcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2NvbHVtbnNBbGxMYWJlbHNbaGVhZGluZ10ubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgICAgIChjbGljayk9XCJzb3J0Um93c0J5Q29sdW1ucyhoZWFkaW5nKVwiXG4gICAgICAgICAgIGNsYXNzPVwic29ydC13aWRnZXRcIlxuICAgICAgICAgICBbaW5uZXJIVE1MXT1cInNvcnRXaWRnZXQoY29sdW1uc0FsbExhYmVsc1toZWFkaW5nXSlcIj48L2E+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPjwvdGg+XG4gICAgPC90cj5cbiAgICA8IS0tIDwvQ09NUExFWCB0YWJsZSBmaWVsZCBoZWFkZXI+LS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3dzOyBsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBjb2xsYXBzZWQgdmlldz4tLT5cbiAgICAgIDx0ciBjbGFzcz1cIm5ldy10YWJsZS1yb3cgYWNjb3JkaW9uLWhlYWRpbmdcIiAoY2xpY2spPVwiaXNIaWRkZW5baV0gPSAhaXNIaWRkZW5baV1cIlxuICAgICAgICAgIFtjbGFzcy5sYXN0LWFjY29yZGlvbl09XCJpc0hpZGRlbltpXVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBoZWFkaW5nIG9mIGNvbHVtbnNcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LTE2XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbVtoZWFkaW5nXTsgZWxzZSBzaG93RW1wdHlUZFwiPlxuICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWRcbiAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cInRvQ2FzZUZpZWxkKGhlYWRpbmcsIGl0ZW1baGVhZGluZ10ubGFiZWwsIGNvbHVtbnNIb3Jpem9udGFsTGFiZWxbaGVhZGluZ10udHlwZSwgaXRlbVtoZWFkaW5nXSlcIlxuICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Nob3dFbXB0eVRkPlxuICAgICAgICAgICAgICA8ZGl2PiZuYnNwOzwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJmbG9hdDogcmlnaHQ7XCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+IDxpbWcgc3JjPVwie3sgZ2V0SW1hZ2UoaSkgfX1cIiBhbHQ9XCJpbWFnZVwiIGNsYXNzPVwiYWNjb3JkaW9uLWltYWdlXCIvPjwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8IS0tIDwvQ09NUExFWCB0YWJsZSBjb2xsYXBzZWQgdmlldz4tLT5cbiAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgZXhwYW5kZWQgdmlldz4tLT5cbiAgICAgIDx0ciBbaGlkZGVuXT1cImlzSGlkZGVuW2ldXCI+XG4gICAgICAgIDx0ZCBbY29sU3Bhbl09XCJjb2x1bW5zLmxlbmd0aCArIDFcIj5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cImNvbXBsZXggcGFuZWwgdGFibGUgZXhwYW5kZWRcIj5cbiAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZMYWJlbCBvZiBjb2x1bW5zVmVydGljYWxMYWJlbCB8IGtleXZhbHVlOiBrZWVwT3JpZ2luYWxPcmRlciB8IGNjZENvbGxlY3Rpb25UYWJsZUNhc2VGaWVsZHNGaWx0ZXI6IGNhc2VGaWVsZDogcm93c1tpXSB8IGNjZFJlYWRGaWVsZHNGaWx0ZXI6dHJ1ZSA6dW5kZWZpbmVkIDp0cnVlXCI+XG4gICAgICAgICAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgZXhwYW5kYWJsZSBib2R5IHNpbXBsZSBmaWVsZD4tLT5cbiAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiY29tcGxleC1wYW5lbC1zaW1wbGUtZmllbGQgYWNjb3JkaW9uLWJvZHlcIiAqbmdJZj1cIml0ZW1bdkxhYmVsLmlkXVwiIFtoaWRkZW5dPVwidkxhYmVsLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7dkxhYmVsLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ2TGFiZWxbJ3R5cGUnXSAhPT0gJ0NvbXBsZXgnXCIgY2xhc3M9XCJ0ZXh0LTE2XCI+XG4gICAgICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgW2Nhc2VGaWVsZF09XCJ0b0Nhc2VGaWVsZCgnJywgdkxhYmVsLmxhYmVsLCB2TGFiZWwuZmllbGRfdHlwZSwgaXRlbVt2TGFiZWwuaWRdKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPCEtLSA8L0NPTVBMRVggdGFibGUgZXhwYW5kYWJsZSBib2R5IHNpbXBsZSBmaWVsZD4tLT5cblxuICAgICAgICAgICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGV4cGFuZGFibGUgYm9keSBjb21wbGV4IGZpZWxkPi0tPlxuICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJ2TGFiZWxbJ3R5cGUnXSA9PT0gJ0NvbXBsZXgnICYmIGFkZENhc2VGaWVsZFZhbHVlKHZMYWJlbCwgaXRlbVt2TGFiZWwuaWRdKVwiIFtoaWRkZW5dPVwidkxhYmVsLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FzZUZpZWxkIG9mIHZMYWJlbCB8IGNjZFJlYWRGaWVsZHNGaWx0ZXI6dHJ1ZSA6dW5kZWZpbmVkIDp0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiY29tcGxleC1wYW5lbC1jb21wb3VuZC1maWVsZFwiICpuZ0lmPVwiKGNhc2VGaWVsZCB8IGNjZElzQ29tcG91bmQpOyBlbHNlIFNpbXBsZVJvd1wiIFtoaWRkZW5dPVwiY2FzZUZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+PGNjZC1maWVsZC1yZWFkIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjU2ltcGxlUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiY29tcGxleC1wYW5lbC1uZXN0ZWQtZmllbGRcIiBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tjYXNlRmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCIhaXRlbVt2TGFiZWwuaWRdPy5oYXNPd25Qcm9wZXJ0eSgnQ2FzZVJlZmVyZW5jZScpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+PGNjZC1maWVsZC1yZWFkIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJpdGVtW3ZMYWJlbC5pZF0/Lmhhc093blByb3BlcnR5KCdDYXNlUmVmZXJlbmNlJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2NkLXJlYWQtY2FzZS1saW5rLWZpZWxkIFtjYXNlRmllbGRdPVwiYWRkQ2FzZVJlZmVyZW5jZVZhbHVlKGNhc2VGaWVsZCwgaXRlbVt2TGFiZWwuaWRdLkNhc2VSZWZlcmVuY2UpXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLXJlYWQtY2FzZS1saW5rLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgY29tcGxleCBmaWVsZD4tLT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGV4cGFuZGVkIHZpZXc+LS0+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
419
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0lDS25GLDZCQUFnRDtJQUM5QywrQkFBc0I7SUFBQSxZQUFrRDs7SUFBQSxpQkFBTztJQUMvRSw0QkFHdUQ7SUFGcEQsMFBBQW9DO0lBRWdCLGlCQUFJO0lBQzdELGlCQUFLOzs7O0lBTG1CLGVBQWtEO0lBQWxELHFGQUFrRDtJQUlyRSxlQUFtRDtJQUFuRCxxR0FBbUQ7OztJQVdsRCwyQkFBNkM7SUFDM0MscUNBRXVDO0lBQ3pDLGlCQUFNOzs7OztJQUZGLGVBQTRHO0lBQTVHLDRKQUE0Ryw0QkFBQTs7O0lBSTlHLDJCQUFLO0lBQUEsc0JBQU07SUFBQSxpQkFBTTs7O0lBUnZCLDZCQUE4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LENBQUM7O2lMQWxLVSx3Q0FBd0M7NkVBQXhDLHdDQUF3QztRQ1hyRCw4QkFBdUQ7UUFDckQsNkJBQWdDO1FBQzlCLDBCQUFJO1FBQUEsK0JBQXNCO1FBQUEsWUFBa0M7O1FBQUEsaUJBQU87UUFBQSxpQkFBSztRQUN4RSxxQkFBUztRQUNYLGlCQUFLO1FBQ0wsZ0NBQTBFO1FBQ3hFLDZCQUFPO1FBRVAsMEJBQUk7UUFDRix5RkFNSztRQUNMLHNCQUFTO1FBQ1gsaUJBQUs7UUFFTCwrR0FzRWU7UUFDZixpQkFBUTtRQUNWLGlCQUFRO1FBQ1YsaUJBQU07O1FBNUZxQiw2Q0FBMkI7UUFFeEIsZUFBa0M7UUFBbEMsK0RBQWtDO1FBT2xDLGVBQVU7UUFBVixxQ0FBVTtRQVVMLGVBQVM7UUFBVCxrQ0FBUzs7cUdEUi9CLHdDQUF3Qzt1RkFBeEMsd0NBQXdDO2NBTHBELFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUseUNBQXlDO2dCQUNuRCxXQUFXLEVBQUUsNENBQTRDO2dCQUN6RCxTQUFTLEVBQUUsQ0FBQyw0Q0FBNEMsQ0FBQzthQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24nO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXJlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGNvbHVtbnM6IHN0cmluZ1tdO1xuICBwdWJsaWMgY29sdW1uc1ZlcnRpY2FsTGFiZWw6IGFueTtcbiAgcHVibGljIGNvbHVtbnNIb3Jpem9udGFsTGFiZWw6IGFueTtcbiAgcHVibGljIGNvbHVtbnNBbGxMYWJlbHM6IGFueTtcbiAgcHVibGljIHJvd3M6IGFueVtdID0gW107XG4gIHB1YmxpYyBpc0hpZGRlbjogYm9vbGVhbltdID0gW107XG4gIHByaXZhdGUgc3RhdGljIGlzU29ydEFzY2VuZGluZyhjb2x1bW46IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKGNvbHVtbi5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjb2x1bW4uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlclxuICAgICAgJiYgdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci50cmltKCkuc3RhcnRzV2l0aCgnI1RBQkxFKCcpKSB7XG5cbiAgICAgIGNvbnN0IGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID0gdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci50cmltKCk7XG4gICAgICBjb25zdCByZXN1bHQ6IHN0cmluZyA9IGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyLnJlcGxhY2UoJyNUQUJMRSgnLCAnJyk7XG4gICAgICB0aGlzLmNvbHVtbnMgPSByZXN1bHQucmVwbGFjZSgnKScsICcnKS5zcGxpdCgnLCcpLm1hcCgoYzogc3RyaW5nKSA9PiBjLnRyaW0oKSk7XG5cbiAgICAgIGNvbnN0IGxhYmVsc1ZlcnRpY2FsOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgY29uc3QgbGFiZWxzSG9yaXpvbnRhbDogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIGNvbnN0IGFsbExhYmVsczogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIHRoaXMucG9wdWxhdGVDYXNlRmllbGRWYWx1ZXNJbnRvUm93cygpO1xuICAgICAgdGhpcy5wb3B1bGF0ZUxhYmVscyhsYWJlbHNWZXJ0aWNhbCwgYWxsTGFiZWxzKTtcbiAgICAgIHRoaXMucG9wdWxhdGVIb3Jpem9udGFsTGFiZWxzKGxhYmVsc0hvcml6b250YWwsIGFsbExhYmVscywgbGFiZWxzVmVydGljYWwpO1xuXG4gICAgICB0aGlzLmNvbHVtbnNWZXJ0aWNhbExhYmVsID0gbGFiZWxzVmVydGljYWw7XG4gICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWwgPSBsYWJlbHNIb3Jpem9udGFsO1xuICAgICAgdGhpcy5jb2x1bW5zQWxsTGFiZWxzID0gYWxsTGFiZWxzO1xuXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEltYWdlKHJvdyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNIaWRkZW5bcm93XSkge1xuICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLXBsdXMucG5nJztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaXNWZXJ0aWNsZURhdGFOb3RFbXB0eShyb3cpKSB7XG4gICAgICAgIHJldHVybiAnaW1nL2FjY29yZGlvbi1taW51cy5wbmcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0hpZGRlbltyb3ddID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLXBsdXMucG5nJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSAnY2NkRmllbGRzRmlsdGVyJyBwaXBlIGlzIHVzZWQsIGFzIGl0IG5lZWRzIGEgY2FzZUZpZWxkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFkZENhc2VGaWVsZFZhbHVlKGZpZWxkLCB2YWx1ZSk6IGJvb2xlYW4ge1xuICAgIGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgaXNOb3RCbGFuayh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJztcbiAgfVxuXG4gIHB1YmxpYyBhZGRDYXNlUmVmZXJlbmNlVmFsdWUoZmllbGQsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGZpZWxkLnZhbHVlID0geyBDYXNlUmVmZXJlbmNlOiB2YWx1ZX07XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgcHVibGljIHRvQ2FzZUZpZWxkKGlkOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcsIGZpZWxkVHlwZTogYW55LCB2YWx1ZTogYW55KTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIGRpc3BsYXlfY29udGV4dDogJ1JFQURPTkxZJyxcbiAgICAgIHZhbHVlLFxuICAgICAgZmllbGRfdHlwZTogZmllbGRUeXBlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMga2VlcE9yaWdpbmFsT3JkZXIgPSAoYSwgYikgPT4gYS5rZXk7XG5cbiAgcHVibGljIHNvcnRSb3dzQnlDb2x1bW5zKGNvbHVtbik6IHZvaWQge1xuICAgIGNvbnN0IHNob3VsZFNvcnRJbkFzY2VuZGluZ09yZGVyID0gdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuVU5TT1JURURcbiAgICAgIHx8IHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHRcbiAgICBzd2l0Y2ggKHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnR5cGUudHlwZSkge1xuICAgICAgY2FzZSAnTnVtYmVyJzpcbiAgICAgIGNhc2UgJ01vbmV5R0JQJzoge1xuICAgICAgICBpZiAoc2hvdWxkU29ydEluQXNjZW5kaW5nT3JkZXIpIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYVtjb2x1bW5dIC0gYltjb2x1bW5dKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBiW2NvbHVtbl0gLSBhW2NvbHVtbl0pO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnVGV4dCc6XG4gICAgICBjYXNlICdUZXh0QXJlYSc6XG4gICAgICBjYXNlICdFbWFpbCc6XG4gICAgICBjYXNlICdEYXRlJzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lJzpcbiAgICAgIGNhc2UgJ0xhYmVsJzpcbiAgICAgIGNhc2UgJ1Bvc3Rjb2RlJzpcbiAgICAgIGNhc2UgJ1llc09yTm8nOlxuICAgICAgY2FzZSAnUGhvbmVVSyc6XG4gICAgICBjYXNlICdGaXhlZExpc3QnOiB7XG4gICAgICAgIGlmIChzaG91bGRTb3J0SW5Bc2NlbmRpbmdPcmRlcikge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBhW2NvbHVtbl0gPCBiW2NvbHVtbl0gPyAtMSA6IGFbY29sdW1uXSA+IGJbY29sdW1uXSA/IDEgOiAwKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBhW2NvbHVtbl0gPCBiW2NvbHVtbl0gPyAxIDogYVtjb2x1bW5dID4gYltjb2x1bW5dID8gLTEgOiAwKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydFdpZGdldChjb2x1bW46IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQuaXNTb3J0QXNjZW5kaW5nKGNvbHVtbikgPyAnJiM5NjYwOycgOiAnJiM5NjUwOyc7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlSG9yaXpvbnRhbExhYmVscyhsYWJlbHNIb3Jpem9udGFsOiB7IFtwOiBzdHJpbmddOiBhbnkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsTGFiZWxzOiB7IFtwOiBzdHJpbmddOiBhbnkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxzVmVydGljYWw6IHsgW3A6IHN0cmluZ106IGFueSB9KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpZCBvZiB0aGlzLmNvbHVtbnMpIHtcbiAgICAgIGNvbnN0IHRyaW1tZWRJZCA9IGlkLnRyaW0oKTtcbiAgICAgIGxhYmVsc0hvcml6b250YWxbdHJpbW1lZElkXSA9IGFsbExhYmVsc1t0cmltbWVkSWRdO1xuICAgICAgbGFiZWxzSG9yaXpvbnRhbFt0cmltbWVkSWRdLnNvcnRPcmRlciA9IFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgICAgIGRlbGV0ZSBsYWJlbHNWZXJ0aWNhbFt0cmltbWVkSWRdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVMYWJlbHMobGFiZWxzVmVydGljYWw6IHsgW3A6IHN0cmluZ106IGFueSB9LCBhbGxMYWJlbHM6IHsgW3A6IHN0cmluZ106IGFueSB9KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBvYmogb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgaWYgKG9iai5maWVsZF90eXBlLnR5cGUgPT09ICdGaXhlZExpc3QnIHx8XG4gICAgICAgIG9iai5maWVsZF90eXBlLnR5cGUgPT09ICdNdWx0aVNlbGVjdExpc3QnIHx8XG4gICAgICAgIG9iai5maWVsZF90eXBlLnR5cGUgPT09ICdGaXhlZFJhZGlvTGlzdCcpIHtcbiAgICAgICAgbGFiZWxzVmVydGljYWxbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgICBhbGxMYWJlbHNbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZX07XG4gICAgICB9IGVsc2UgaWYgKG9iai5pc0NvbXBsZXgoKSkge1xuICAgICAgICBsYWJlbHNWZXJ0aWNhbFtvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IG9iai5maWVsZF90eXBlLnR5cGUsIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgICAgYWxsTGFiZWxzW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGFiZWxzVmVydGljYWxbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiB7dHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZX0sIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgICAgYWxsTGFiZWxzW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZToge3R5cGU6IG9iai5maWVsZF90eXBlLnR5cGV9LCBjYXNlRmllbGQ6IG9ian07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUNhc2VGaWVsZFZhbHVlc0ludG9Sb3dzKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIHRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICB0aGlzLnJvd3MucHVzaChvYmoudmFsdWUpO1xuICAgICAgdGhpcy5pc0hpZGRlbi5wdXNoKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNWZXJ0aWNsZURhdGFOb3RFbXB0eShyb3cpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jb2x1bW5zVmVydGljYWxMYWJlbCkge1xuICAgICAgaWYgKHRoaXMucm93c1tyb3ddW2tleV0pIHtcbiAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBsZXgtcGFuZWxcIiBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIj5cbiAgPGRsIGNsYXNzPVwiY29tcGxleC1wYW5lbC10aXRsZVwiPlxuICAgIDxkdD48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2Nhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvZHQ+XG4gICAgPGRkPjwvZGQ+XG4gIDwvZGw+XG4gIDx0YWJsZSBjbGFzcz1cImNvbXBsZXgtcGFuZWwtdGFibGVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY29tcGxleCBwYW5lbCB0YWJsZVwiPlxuICAgIDx0Ym9keT5cbiAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGZpZWxkIGhlYWRlcj4tLT5cbiAgICA8dHI+XG4gICAgICA8dGggKm5nRm9yPVwibGV0IGhlYWRpbmcgb2YgY29sdW1uc1wiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y29sdW1uc0FsbExhYmVsc1toZWFkaW5nXS5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgICAgKGNsaWNrKT1cInNvcnRSb3dzQnlDb2x1bW5zKGhlYWRpbmcpXCJcbiAgICAgICAgICAgY2xhc3M9XCJzb3J0LXdpZGdldFwiXG4gICAgICAgICAgIFtpbm5lckhUTUxdPVwic29ydFdpZGdldChjb2x1bW5zQWxsTGFiZWxzW2hlYWRpbmddKVwiPjwvYT5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+PC90aD5cbiAgICA8L3RyPlxuICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGZpZWxkIGhlYWRlcj4tLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvd3M7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGNvbGxhcHNlZCB2aWV3Pi0tPlxuICAgICAgPHRyIGNsYXNzPVwibmV3LXRhYmxlLXJvdyBhY2NvcmRpb24taGVhZGluZ1wiIChjbGljayk9XCJpc0hpZGRlbltpXSA9ICFpc0hpZGRlbltpXVwiXG4gICAgICAgICAgW2NsYXNzLmxhc3QtYWNjb3JkaW9uXT1cImlzSGlkZGVuW2ldXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGhlYWRpbmcgb2YgY29sdW1uc1wiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtW2hlYWRpbmddOyBlbHNlIHNob3dFbXB0eVRkXCI+XG4gICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZFxuICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwidG9DYXNlRmllbGQoaGVhZGluZywgaXRlbVtoZWFkaW5nXS5sYWJlbCwgY29sdW1uc0hvcml6b250YWxMYWJlbFtoZWFkaW5nXS50eXBlLCBpdGVtW2hlYWRpbmddKVwiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0VtcHR5VGQ+XG4gICAgICAgICAgICAgIDxkaXY+Jm5ic3A7PC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPGRpdiBzdHlsZT1cImZsb2F0OiByaWdodDtcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj4gPGltZyBzcmM9XCJ7eyBnZXRJbWFnZShpKSB9fVwiIGFsdD1cImltYWdlXCIgY2xhc3M9XCJhY2NvcmRpb24taW1hZ2VcIi8+PC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGNvbGxhcHNlZCB2aWV3Pi0tPlxuICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRlZCB2aWV3Pi0tPlxuICAgICAgPHRyIFtoaWRkZW5dPVwiaXNIaWRkZW5baV1cIj5cbiAgICAgICAgPHRkIFtjb2xTcGFuXT1cImNvbHVtbnMubGVuZ3RoICsgMVwiPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImNvbXBsZXgtcGFuZWwtdGFibGVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY29tcGxleCBwYW5lbCB0YWJsZSBleHBhbmRlZFwiPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdkxhYmVsIG9mIGNvbHVtbnNWZXJ0aWNhbExhYmVsIHwga2V5dmFsdWU6IGtlZXBPcmlnaW5hbE9yZGVyIHwgY2NkQ29sbGVjdGlvblRhYmxlQ2FzZUZpZWxkc0ZpbHRlcjogY2FzZUZpZWxkOiByb3dzW2ldIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjp0cnVlIDp1bmRlZmluZWQgOnRydWVcIj5cbiAgICAgICAgICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgc2ltcGxlIGZpZWxkPi0tPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXNpbXBsZS1maWVsZCBhY2NvcmRpb24tYm9keVwiICpuZ0lmPVwiaXRlbVt2TGFiZWwuaWRdXCIgW2hpZGRlbl09XCJ2TGFiZWwuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3t2TGFiZWwubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInZMYWJlbFsndHlwZSddICE9PSAnQ29tcGxleCdcIiBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbY2FzZUZpZWxkXT1cInRvQ2FzZUZpZWxkKCcnLCB2TGFiZWwubGFiZWwsIHZMYWJlbC5maWVsZF90eXBlLCBpdGVtW3ZMYWJlbC5pZF0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8IS0tIDwvQ09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgc2ltcGxlIGZpZWxkPi0tPlxuXG4gICAgICAgICAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgZXhwYW5kYWJsZSBib2R5IGNvbXBsZXggZmllbGQ+LS0+XG4gICAgICAgICAgICAgIDx0ciAqbmdJZj1cInZMYWJlbFsndHlwZSddID09PSAnQ29tcGxleCcgJiYgYWRkQ2FzZUZpZWxkVmFsdWUodkxhYmVsLCBpdGVtW3ZMYWJlbC5pZF0pXCIgW2hpZGRlbl09XCJ2TGFiZWwuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXNlRmllbGQgb2YgdkxhYmVsIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjp0cnVlIDp1bmRlZmluZWQgOnRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLWNvbXBvdW5kLWZpZWxkXCIgKm5nSWY9XCIoY2FzZUZpZWxkIHwgY2NkSXNDb21wb3VuZCk7IGVsc2UgU2ltcGxlUm93XCIgW2hpZGRlbl09XCJjYXNlRmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj48Y2NkLWZpZWxkLXJlYWQgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNTaW1wbGVSb3c+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLW5lc3RlZC1maWVsZFwiIFtoaWRkZW5dPVwiY2FzZUZpZWxkLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2Nhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIiFpdGVtW3ZMYWJlbC5pZF0/Lmhhc093blByb3BlcnR5KCdDYXNlUmVmZXJlbmNlJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj48Y2NkLWZpZWxkLXJlYWQgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIml0ZW1bdkxhYmVsLmlkXT8uaGFzT3duUHJvcGVydHkoJ0Nhc2VSZWZlcmVuY2UnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjY2QtcmVhZC1jYXNlLWxpbmstZmllbGQgW2Nhc2VGaWVsZF09XCJhZGRDYXNlUmVmZXJlbmNlVmFsdWUoY2FzZUZpZWxkLCBpdGVtW3ZMYWJlbC5pZF0uQ2FzZVJlZmVyZW5jZSlcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtcmVhZC1jYXNlLWxpbmstZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGV4cGFuZGFibGUgYm9keSBjb21wbGV4IGZpZWxkPi0tPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPCEtLSA8L0NPTVBMRVggdGFibGUgZXhwYW5kZWQgdmlldz4tLT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
@@ -54,7 +54,6 @@ function ReadComplexFieldTableComponent_ng_container_9_Template(rf, ctx) { if (r
54
54
  i0.ɵɵadvance(1);
55
55
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2, field_r1))("ngIfElse", _r3);
56
56
  } }
57
- const _c0 = function (a0, a4, a6) { return [a0, false, undefined, true, a4, undefined, a6]; };
58
57
  export class ReadComplexFieldTableComponent extends AbstractFieldReadComponent {
59
58
  constructor() {
60
59
  super(...arguments);
@@ -62,7 +61,7 @@ export class ReadComplexFieldTableComponent extends AbstractFieldReadComponent {
62
61
  }
63
62
  }
64
63
  ReadComplexFieldTableComponent.ɵfac = function ReadComplexFieldTableComponent_Factory(t) { return ɵReadComplexFieldTableComponent_BaseFactory(t || ReadComplexFieldTableComponent); };
65
- ReadComplexFieldTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReadComplexFieldTableComponent, selectors: [["ccd-read-complex-field-table"]], inputs: { caseFields: "caseFields" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 16, consts: [[1, "complex-panel"], [1, "complex-panel-title"], [1, "text-16"], ["aria-describedby", "complex field table", 1, "complex-panel-table"], [4, "ngFor", "ngForOf"], [4, "ngIf", "ngIfElse"], ["SimpleRow", ""], [1, "complex-panel-compound-field", 3, "hidden"], ["colspan", "2"], [3, "topLevelFormGroup", "caseField", "context"], [1, "complex-panel-simple-field", 3, "hidden"], ["id", "complex-panel-simple-field-label"]], template: function ReadComplexFieldTableComponent_Template(rf, ctx) { if (rf & 1) {
64
+ ReadComplexFieldTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReadComplexFieldTableComponent, selectors: [["ccd-read-complex-field-table"]], inputs: { caseFields: "caseFields" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 9, consts: [[1, "complex-panel"], [1, "complex-panel-title"], [1, "text-16"], ["aria-describedby", "complex field table", 1, "complex-panel-table"], [4, "ngFor", "ngForOf"], [4, "ngIf", "ngIfElse"], ["SimpleRow", ""], [1, "complex-panel-compound-field", 3, "hidden"], ["colspan", "2"], [3, "topLevelFormGroup", "caseField", "context"], [1, "complex-panel-simple-field", 3, "hidden"], ["id", "complex-panel-simple-field-label"]], template: function ReadComplexFieldTableComponent_Template(rf, ctx) { if (rf & 1) {
66
65
  i0.ɵɵelementStart(0, "div", 0);
67
66
  i0.ɵɵelementStart(1, "dl", 1);
68
67
  i0.ɵɵelementStart(2, "dt");
@@ -84,7 +83,7 @@ ReadComplexFieldTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReadComple
84
83
  i0.ɵɵadvance(4);
85
84
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 2, ctx.caseField.label));
86
85
  i0.ɵɵadvance(5);
87
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(10, 4, i0.ɵɵpureFunction3(12, _c0, ctx.caseField, ctx.topLevelFormGroup, ctx.idPrefix)));
86
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind4(10, 4, ctx.caseField, false, undefined, true));
88
87
  } }, styles: [".complex-panel[_ngcontent-%COMP%]{margin:13px 0;border:1px solid #bfc1c3}.complex-panel[_ngcontent-%COMP%] .complex-panel-title[_ngcontent-%COMP%]{background-color:#dee0e2;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;padding:5px 5px 2px;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width:641px){.complex-panel[_ngcontent-%COMP%] .complex-panel-title[_ngcontent-%COMP%]{font-size:19px;line-height:1.3157894737}}.complex-panel[_ngcontent-%COMP%] .complex-panel-table[_ngcontent-%COMP%] > tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{vertical-align:top}.complex-panel[_ngcontent-%COMP%] .complex-panel-table[_ngcontent-%COMP%] > tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]:last-child > td[_ngcontent-%COMP%], .complex-panel[_ngcontent-%COMP%] .complex-panel-table[_ngcontent-%COMP%] > tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]:last-child > th[_ngcontent-%COMP%]{border-bottom:none}.complex-panel[_ngcontent-%COMP%] .complex-panel-simple-field[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding-left:5px;width:295px}.complex-panel[_ngcontent-%COMP%] .complex-panel-compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}"] });
89
88
  const ɵReadComplexFieldTableComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactory(ReadComplexFieldTableComponent);
90
89
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadComplexFieldTableComponent, [{
@@ -97,4 +96,4 @@ const ɵReadComplexFieldTableComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInh
97
96
  }], null, { caseFields: [{
98
97
  type: Input
99
98
  }] }); })();
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztJQ0dqRiw2QkFBOEQ7SUFDNUQsNkJBQWlFO0lBQy9ELDZCQUFnQjtJQUNkLCtCQUFzQjtJQUNwQixvQ0FDMkQ7SUFDN0QsaUJBQU87SUFDVCxpQkFBSztJQUNQLGlCQUFLO0lBQ1AsMEJBQWU7Ozs7SUFSNEIsZUFBdUI7SUFBdkIsd0NBQXVCO0lBRzFDLGVBQXVDO0lBQXZDLDREQUF1Qyx1QkFBQSwyQkFBQTs7O0lBTzdELDhCQUErRDtJQUM3RCw4QkFBMEM7SUFBQSwrQkFBc0I7SUFBQSxZQUE4Qjs7SUFBQSxpQkFBTztJQUFBLGlCQUFLO0lBQzFHLDBCQUFJO0lBQ0EsK0JBQXNCO0lBQ3BCLG9DQUMyRDtJQUM3RCxpQkFBTztJQUNYLGlCQUFLO0lBQ1AsaUJBQUs7Ozs7SUFSa0Msd0NBQXVCO0lBQ0ksZUFBOEI7SUFBOUIsMERBQThCO0lBR3hFLGVBQXVDO0lBQXZDLDREQUF1Qyx1QkFBQSwyQkFBQTs7O0lBaEJuRSw2QkFBbUk7SUFDakksZ0hBU2U7O0lBQ2YsK0lBVWM7SUFDaEIsMEJBQWU7Ozs7SUFyQkUsZUFBK0I7SUFBL0IscURBQStCLGlCQUFBOzs7QURJdEQsTUFBTSxPQUFPLDhCQUErQixTQUFRLDBCQUEwQjtJQUw5RTs7UUFPUyxlQUFVLEdBQWdCLEVBQUUsQ0FBQztLQUNyQzs7bUpBSFksOEJBQThCO21FQUE5Qiw4QkFBOEI7UUNUM0MsOEJBQTJCO1FBQ3pCLDZCQUFnQztRQUFBLDBCQUFJO1FBQUEsK0JBQXNCO1FBQUEsWUFBa0M7O1FBQUEsaUJBQU87UUFBQSxpQkFBSztRQUFBLHFCQUFTO1FBQUEsaUJBQUs7UUFDdEgsZ0NBQTBFO1FBQ3hFLDZCQUFPO1FBQ0wsaUdBc0JlOztRQUNqQixpQkFBUTtRQUNWLGlCQUFRO1FBQ1YsaUJBQU07O1FBNUJzRCxlQUFrQztRQUFsQywrREFBa0M7UUFHeEQsZUFBaUc7UUFBakcsZ0lBQWlHOzsyRkRLMUgsOEJBQThCO3VGQUE5Qiw4QkFBOEI7Y0FMMUMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLFdBQVcsRUFBRSxpQ0FBaUM7Z0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2FBQy9DO2dCQUdRLFVBQVU7a0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWQtY29tcGxleC1maWVsZC10YWJsZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSA9IFtdO1xufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBsZXgtcGFuZWxcIj5cbiAgPGRsIGNsYXNzPVwiY29tcGxleC1wYW5lbC10aXRsZVwiPjxkdD48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2Nhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvZHQ+PGRkPjwvZGQ+PC9kbD5cbiAgPHRhYmxlIGNsYXNzPVwiY29tcGxleC1wYW5lbC10YWJsZVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb21wbGV4IGZpZWxkIHRhYmxlXCI+XG4gICAgPHRib2R5PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY2FzZUZpZWxkIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjpmYWxzZSA6dW5kZWZpbmVkIDp0cnVlIDp0b3BMZXZlbEZvcm1Hcm91cDogdW5kZWZpbmVkIDppZFByZWZpeFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGZpZWxkIHwgY2NkSXNDb21wb3VuZCk7IGVsc2UgU2ltcGxlUm93XCI+XG4gICAgICAgICAgPHRyIGNsYXNzPVwiY29tcGxleC1wYW5lbC1jb21wb3VuZC1maWVsZFwiIFtoaWRkZW5dPVwiZmllbGQuaGlkZGVuXCI+XG4gICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+XG4gICAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIFt0b3BMZXZlbEZvcm1Hcm91cF09XCJ0b3BMZXZlbEZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjU2ltcGxlUm93PlxuICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtc2ltcGxlLWZpZWxkXCIgW2hpZGRlbl09XCJmaWVsZC5oaWRkZW5cIj5cbiAgICAgICAgICAgIDx0aCBpZD1cImNvbXBsZXgtcGFuZWwtc2ltcGxlLWZpZWxkLWxhYmVsXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tmaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+XG4gICAgICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgW3RvcExldmVsRm9ybUdyb3VwXT1cInRvcExldmVsRm9ybUdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJmaWVsZFwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztJQ0dqRiw2QkFBOEQ7SUFDNUQsNkJBQWlFO0lBQy9ELDZCQUFnQjtJQUNkLCtCQUFzQjtJQUNwQixvQ0FDMkQ7SUFDN0QsaUJBQU87SUFDVCxpQkFBSztJQUNQLGlCQUFLO0lBQ1AsMEJBQWU7Ozs7SUFSNEIsZUFBdUI7SUFBdkIsd0NBQXVCO0lBRzFDLGVBQXVDO0lBQXZDLDREQUF1Qyx1QkFBQSwyQkFBQTs7O0lBTzdELDhCQUErRDtJQUM3RCw4QkFBMEM7SUFBQSwrQkFBc0I7SUFBQSxZQUE4Qjs7SUFBQSxpQkFBTztJQUFBLGlCQUFLO0lBQzFHLDBCQUFJO0lBQ0EsK0JBQXNCO0lBQ3BCLG9DQUMyRDtJQUM3RCxpQkFBTztJQUNYLGlCQUFLO0lBQ1AsaUJBQUs7Ozs7SUFSa0Msd0NBQXVCO0lBQ0ksZUFBOEI7SUFBOUIsMERBQThCO0lBR3hFLGVBQXVDO0lBQXZDLDREQUF1Qyx1QkFBQSwyQkFBQTs7O0lBaEJuRSw2QkFBMkY7SUFDekYsZ0hBU2U7O0lBQ2YsK0lBVWM7SUFDaEIsMEJBQWU7Ozs7SUFyQkUsZUFBK0I7SUFBL0IscURBQStCLGlCQUFBOztBREl0RCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsMEJBQTBCO0lBTDlFOztRQU9TLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO0tBQ3JDOzttSkFIWSw4QkFBOEI7bUVBQTlCLDhCQUE4QjtRQ1QzQyw4QkFBMkI7UUFDekIsNkJBQWdDO1FBQUEsMEJBQUk7UUFBQSwrQkFBc0I7UUFBQSxZQUFrQzs7UUFBQSxpQkFBTztRQUFBLGlCQUFLO1FBQUEscUJBQVM7UUFBQSxpQkFBSztRQUN0SCxnQ0FBMEU7UUFDeEUsNkJBQU87UUFDTCxpR0FzQmU7O1FBQ2pCLGlCQUFRO1FBQ1YsaUJBQVE7UUFDVixpQkFBTTs7UUE1QnNELGVBQWtDO1FBQWxDLCtEQUFrQztRQUd4RCxlQUF5RDtRQUF6RCxzRkFBeUQ7OzJGREtsRiw4QkFBOEI7dUZBQTlCLDhCQUE4QjtjQUwxQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtnQkFDeEMsV0FBVyxFQUFFLGlDQUFpQztnQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7YUFDL0M7Z0JBR1EsVUFBVTtrQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC1yZWFkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29tcGxleC1wYW5lbFwiPlxuICA8ZGwgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRpdGxlXCI+PGR0PjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y2FzZUZpZWxkLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC9kdD48ZGQ+PC9kZD48L2RsPlxuICA8dGFibGUgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cImNvbXBsZXggZmllbGQgdGFibGVcIj5cbiAgICA8dGJvZHk+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjYXNlRmllbGQgfCBjY2RSZWFkRmllbGRzRmlsdGVyOmZhbHNlIDp1bmRlZmluZWQgOnRydWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihmaWVsZCB8IGNjZElzQ29tcG91bmQpOyBlbHNlIFNpbXBsZVJvd1wiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtY29tcG91bmQtZmllbGRcIiBbaGlkZGVuXT1cImZpZWxkLmhpZGRlblwiPlxuICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwidG9wTGV2ZWxGb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJmaWVsZFwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI1NpbXBsZVJvdz5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXNpbXBsZS1maWVsZFwiIFtoaWRkZW5dPVwiZmllbGQuaGlkZGVuXCI+XG4gICAgICAgICAgICA8dGggaWQ9XCJjb21wbGV4LXBhbmVsLXNpbXBsZS1maWVsZC1sYWJlbFwiPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7ZmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIFt0b3BMZXZlbEZvcm1Hcm91cF09XCJ0b3BMZXZlbEZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwiZmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
@@ -170,7 +170,7 @@ export class ConditionParser {
170
170
  }
171
171
  static findValueForComplexConditionInArray(fields, head, tail, path) {
172
172
  // use the path to resolve which array element we refer to
173
- if (path && path.startsWith(head)) {
173
+ if (path.startsWith(head)) {
174
174
  const [_, ...pathTail] = path.split(/[_]+/g);
175
175
  if (pathTail.length > 0) {
176
176
  try {
@@ -197,4 +197,4 @@ export class ConditionParser {
197
197
  return value === null && (right === '');
198
198
  }
199
199
  }
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLXBhcnNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvc2VydmljZXMvY29uZGl0aW9uLXBhcnNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUM7QUFFbEMsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBaUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDaEMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQVcsRUFBRSxVQUFpQixFQUFFLElBQWE7UUFDbEUsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDNUQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUzQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFvQixFQUFFLFNBQVMs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Q25GLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztpQkFDN0Y7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzdEO2FBQ0Y7U0FDRjthQUFNO1lBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3BGO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBVztRQUN2QyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFhLEVBQUUsS0FBVTtRQUNwRCxPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgX3Njb3JlIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCBwZWcgZnJvbSAnLi9jb25kaXRpb24ucGVnJztcblxuZXhwb3J0IGNsYXNzIENvbmRpdGlvblBhcnNlciB7XG4gIC8qKlxuICAgKiBQYXJzZSB0aGUgcmF3IGZvcm11bGEgYW5kIG91dHB1dCBzdHJ1Y3R1cmVkIGNvbmRpdGlvbiBkYXRhXG4gICAqIHRoYXQgY2FuIGJlIHVzZWQgaW4gZXZhbHVhdGluZyBzaG93L2hpZGUgbG9naWNcbiAgICogQHBhcmFtIGNvbmRpdGlvbiByYXcgZm9ybXVsYSBlLmcuIFRleHRGaWVsZCA9IFwiSGVsbG9cIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwYXJzZShjb25kaXRpb246IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCFjb25kaXRpb24pIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25kaXRpb24gPSBjb25kaXRpb24ucmVwbGFjZSgvQ09OVEFJTlMvZywgJyBDT05UQUlOUycpO1xuICAgIHJldHVybiBwZWcucGFyc2UoY29uZGl0aW9uLnRyaW0oKSwge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlIHRoZSBjdXJyZW50IGZpZWxkcyBhZ2FpbnN0IHRoZSBjb25kaXRpb25zXG4gICAqIEBwYXJhbSBmaWVsZHMgdGhlIGN1cnJlbnQgcGFnZSBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlXG4gICAqIEBwYXJhbSBjb25kaXRpb25zIFRoZSBQZWdKUyBmb3JtdWxhIG91dHB1dFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBldmFsdWF0ZShmaWVsZHM6IGFueSwgY29uZGl0aW9uczogYW55W10sIHBhdGg/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIWNvbmRpdGlvbnMgfHwgY29uZGl0aW9ucy5sZW5ndGggPT09IDApIHsgcmV0dXJuIHRydWU7IH1cbiAgICBjb25zdCB2YWxpZEpvaW5Db21wYXJhdG9ycyA9IFsnQU5EJywgJ09SJ107XG5cbiAgICByZXR1cm4gY29uZGl0aW9ucy5yZWR1Y2UoKGFjY3VtdWxhdG9yOiBib29sZWFuLCBjb25kaXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGlzSm9pbkNvbXBhcmF0b3IgPSAoY29tcGFyYXRvcjogc3RyaW5nKTogYm9vbGVhbiA9PlxuICAgICAgICAodHlwZW9mIGNvbXBhcmF0b3IgPT09ICdzdHJpbmcnICYmIHZhbGlkSm9pbkNvbXBhcmF0b3JzLmluZGV4T2YoY29tcGFyYXRvcikgIT09IC0xKTtcblxuICAgICAgaWYgKGlzSm9pbkNvbXBhcmF0b3IoY29uZGl0aW9uKSkgeyByZXR1cm4gYWNjdW11bGF0b3I7IH1cblxuICAgICAgbGV0IGN1cnJlbnRDb25kaXRpb25SZXN1bHQgPSB0cnVlO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjb25kaXRpb24pKSB7XG4gICAgICAgIGN1cnJlbnRDb25kaXRpb25SZXN1bHQgPSB0aGlzLmV2YWx1YXRlKGZpZWxkcywgY29uZGl0aW9uKTtcblxuICAgICAgICBpZiAoaXNKb2luQ29tcGFyYXRvcihjb25kaXRpb25zW2luZGV4IC0gMV0pKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXZhbHVhdGVKb2luKGFjY3VtdWxhdG9yLCBjb25kaXRpb25zW2luZGV4IC0gMV0sIGN1cnJlbnRDb25kaXRpb25SZXN1bHQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25kaXRpb24uY29tcGFyYXRvcikge1xuICAgICAgICBjb25zdCBmb3JtdWxhID0gY29uZGl0aW9uLmZpZWxkUmVmZXJlbmNlICsgY29uZGl0aW9uLmNvbXBhcmF0b3IgKyBjb25kaXRpb24udmFsdWU7XG4gICAgICAgIGN1cnJlbnRDb25kaXRpb25SZXN1bHQgPSB0aGlzLm1hdGNoRXF1YWxpdHlDb25kaXRpb24oZmllbGRzLCBmb3JtdWxhLCBwYXRoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzSm9pbkNvbXBhcmF0b3IoY29uZGl0aW9uc1tpbmRleCAtIDFdKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmFsdWF0ZUpvaW4oYWNjdW11bGF0b3IsIGNvbmRpdGlvbnNbaW5kZXggLSAxXSwgY3VycmVudENvbmRpdGlvblJlc3VsdCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjdXJyZW50Q29uZGl0aW9uUmVzdWx0O1xuICAgIH0sIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZXZhbHVhdGVKb2luKGxlZnRSZXN1bHQ6IGJvb2xlYW4sIGNvbXBhcmF0b3IsIHJpZ2h0UmVzdWx0OiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0XG4gICAgc3dpdGNoIChjb21wYXJhdG9yKSB7XG4gICAgICBjYXNlICdPUic6IHJldHVybiBsZWZ0UmVzdWx0IHx8IHJpZ2h0UmVzdWx0O1xuICAgICAgY2FzZSAnQU5EJzogcmV0dXJuIGxlZnRSZXN1bHQgJiYgcmlnaHRSZXN1bHQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWF0Y2hFcXVhbGl0eUNvbmRpdGlvbihmaWVsZHM6IG9iamVjdCwgY29uZGl0aW9uOiBzdHJpbmcsIHBhdGg/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBbZmllbGQsIGNvbmRpdGlvblNlcGFyYXRvcl0gPSB0aGlzLmdldEZpZWxkKGNvbmRpdGlvbik7XG4gICAgY29uc3QgW2hlYWQsIC4uLnRhaWxdID0gZmllbGQuc3BsaXQoJy4nKTtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oZmllbGRzLCBoZWFkLCB0YWlsLCBwYXRoKTtcbiAgICBjb25zdCBleHBlY3RlZFZhbHVlID0gdGhpcy51bnF1b3RlZChjb25kaXRpb24uc3BsaXQoY29uZGl0aW9uU2VwYXJhdG9yKVsxXSk7XG4gICAgaWYgKGNvbmRpdGlvblNlcGFyYXRvciA9PT0gU2hvd0NvbmRpdGlvbi5DT05UQUlOUykge1xuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tWYWx1ZUNvbnRhaW5zKGV4cGVjdGVkVmFsdWUsIGN1cnJlbnRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrVmFsdWVFcXVhbHMoZXhwZWN0ZWRWYWx1ZSwgY3VycmVudFZhbHVlLCBjb25kaXRpb25TZXBhcmF0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFZhbHVlKGZpZWxkczogb2JqZWN0LCBoZWFkOiBzdHJpbmcpOiBhbnkge1xuICAgIGlmICh0aGlzLmlzRHluYW1pY0xpc3QoZmllbGRzW2hlYWRdKSkge1xuICAgICAgcmV0dXJuIGZpZWxkc1toZWFkXS52YWx1ZS5jb2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmllbGRzW2hlYWRdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzRHluYW1pY0xpc3QoZHluYW1pY2xpc3Q6IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhX3Njb3JlLmlzRW1wdHkoZHluYW1pY2xpc3QpICYmXG4gICAgICAgIChfc2NvcmUuaGFzKGR5bmFtaWNsaXN0LCAndmFsdWUnKSAmJiBfc2NvcmUuaGFzKGR5bmFtaWNsaXN0LCAnbGlzdF9pdGVtcycpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldEZpZWxkKGNvbmRpdGlvbjogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nP10ge1xuICAgIGxldCBzZXBhcmF0b3I6IHN0cmluZyA9IFNob3dDb25kaXRpb24uQ09OVEFJTlM7XG4gICAgaWYgKGNvbmRpdGlvbi5pbmRleE9mKFNob3dDb25kaXRpb24uQ09OVEFJTlMpIDwgMCkge1xuICAgICAgc2VwYXJhdG9yID0gU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fRVFVQUxTO1xuICAgICAgaWYgKGNvbmRpdGlvbi5pbmRleE9mKFNob3dDb25kaXRpb24uQ09ORElUSU9OX05PVF9FUVVBTFMpID4gLTEpIHtcbiAgICAgICAgc2VwYXJhdG9yID0gU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fTk9UX0VRVUFMUztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFsgY29uZGl0aW9uLnNwbGl0KHNlcGFyYXRvcilbMF0sIHNlcGFyYXRvciBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tWYWx1ZUVxdWFscyhleHBlY3RlZFZhbHVlOiBzdHJpbmcsIGN1cnJlbnRWYWx1ZTogYW55LCBjb25kaXRpb25TZXBhcmFvcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGV4cGVjdGVkVmFsdWUuc2VhcmNoKCdbLF0nKSA+IC0xKSB7IC8vIGZvciAgbXVsdGktc2VsZWN0IGxpc3RcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrTXVsdGlTZWxlY3RMaXN0RXF1YWxzKGV4cGVjdGVkVmFsdWUsIGN1cnJlbnRWYWx1ZSwgY29uZGl0aW9uU2VwYXJhb3IpO1xuICAgIH0gZWxzZSBpZiAoZXhwZWN0ZWRWYWx1ZS5lbmRzV2l0aCgnKicpICYmIGN1cnJlbnRWYWx1ZSAmJiBjb25kaXRpb25TZXBhcmFvciAhPT0gU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fTk9UX0VRVUFMUykge1xuICAgICAgaWYgKHR5cGVvZiBjdXJyZW50VmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50VmFsdWUuc3RhcnRzV2l0aCh0aGlzLnJlbW92ZVN0YXJDaGFyKGV4cGVjdGVkVmFsdWUpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleHBlY3RlZFZhbHVlID09PSAnKic7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNoYW5nZWQgZnJvbSAnPT09JyB0byAnPT0nIHRvIGNvdmVyIG51bWJlciBmaWVsZCBjb25kaXRpb25zXG4gICAgICBpZiAoY29uZGl0aW9uU2VwYXJhb3IgPT09IFNob3dDb25kaXRpb24uQ09ORElUSU9OX05PVF9FUVVBTFMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tWYWx1ZU5vdEVxdWFscyhleHBlY3RlZFZhbHVlLCBjdXJyZW50VmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZSA9PSBleHBlY3RlZFZhbHVlIHx8IHRoaXMub2tJZkJvdGhFbXB0eShleHBlY3RlZFZhbHVlLCBjdXJyZW50VmFsdWUpOyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tWYWx1ZU5vdEVxdWFscyhleHBlY3RlZFZhbHVlOiBzdHJpbmcsIGN1cnJlbnRWYWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm9ybWF0Q3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlID8gY3VycmVudFZhbHVlLnRvU3RyaW5nKCkudHJpbSgpIDogJyc7XG4gICAgaWYgKCcqJyA9PT0gZXhwZWN0ZWRWYWx1ZSAmJiBmb3JtYXRDdXJyZW50VmFsdWUgIT09ICcnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGZvcm1hdEV4cGVjdGVkVmFsdWUgPSBleHBlY3RlZFZhbHVlID8gZXhwZWN0ZWRWYWx1ZS50b1N0cmluZygpLnRyaW0oKSA6ICcnO1xuICAgIHJldHVybiBmb3JtYXRDdXJyZW50VmFsdWUgIT0gZm9ybWF0RXhwZWN0ZWRWYWx1ZTsgLy8gdHNsaW50OmRpc2FibGUtbGluZVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tNdWx0aVNlbGVjdExpc3RFcXVhbHMoZXhwZWN0ZWRWYWx1ZTogc3RyaW5nLCBjdXJyZW50VmFsdWU6IGFueSwgY29uZGl0aW9uU2VwYXJhdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IGV4cGVjdGVkVmFsdWUuc3BsaXQoJywnKS5zb3J0KCkudG9TdHJpbmcoKTtcbiAgICBjb25zdCB2YWx1ZXMgPSBjdXJyZW50VmFsdWUgPyBjdXJyZW50VmFsdWUuc29ydCgpLnRvU3RyaW5nKCkgOiAnJztcbiAgICBpZiAoY29uZGl0aW9uU2VwYXJhdG9yID09PSBTaG93Q29uZGl0aW9uLkNPTkRJVElPTl9OT1RfRVFVQUxTKSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWRWYWx1ZXMgIT09IHZhbHVlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGV4cGVjdGVkVmFsdWVzID09PSB2YWx1ZXM7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tWYWx1ZUNvbnRhaW5zKGV4cGVjdGVkVmFsdWU6IHN0cmluZywgY3VycmVudFZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoZXhwZWN0ZWRWYWx1ZS5zZWFyY2goJywnKSA+IC0xKSB7XG4gICAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IGV4cGVjdGVkVmFsdWUuc3BsaXQoJywnKS5zb3J0KCk7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBjdXJyZW50VmFsdWUgPyBjdXJyZW50VmFsdWUuc29ydCgpLnRvU3RyaW5nKCkgOiAnJztcbiAgICAgIHJldHVybiBleHBlY3RlZFZhbHVlcy5ldmVyeShpdGVtID0+IHZhbHVlcy5zZWFyY2goaXRlbSkgPj0gMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IGN1cnJlbnRWYWx1ZSAmJiBBcnJheS5pc0FycmF5KGN1cnJlbnRWYWx1ZSkgPyBjdXJyZW50VmFsdWUudG9TdHJpbmcoKSA6ICcnO1xuICAgICAgcmV0dXJuIHZhbHVlcy5zZWFyY2goZXhwZWN0ZWRWYWx1ZSkgPj0gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyB1bnF1b3RlZChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9eXCJ8XCIkL2csICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oZmllbGRzOiBvYmplY3QsIGhlYWQ6IHN0cmluZywgdGFpbDogc3RyaW5nW10sIHBhdGg/OiBzdHJpbmcpOiBhbnkge1xuICAgIGlmICghZmllbGRzKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodGFpbC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlKGZpZWxkcywgaGVhZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChGaWVsZHNVdGlscy5pc0FycmF5KGZpZWxkc1toZWFkXSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbkluQXJyYXkoZmllbGRzLCBoZWFkLCB0YWlsLCBwYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb25Gb3JQYXRoSWZBbnkoZmllbGRzLCBoZWFkLCB0YWlsLCBwYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBmaW5kVmFsdWVGb3JDb21wbGV4Q29uZGl0aW9uRm9yUGF0aElmQW55KGZpZWxkczogb2JqZWN0LCBoZWFkOiBzdHJpbmcsIHRhaWw6IHN0cmluZ1tdLCBwYXRoPzogc3RyaW5nKTogYW55IHtcbiAgICBpZiAocGF0aCkge1xuICAgICAgY29uc3QgW18sIC4uLnBhdGhUYWlsXSA9IHBhdGguc3BsaXQoL1tfXSsvZyk7XG4gICAgICByZXR1cm4gdGhpcy5maW5kVmFsdWVGb3JDb21wbGV4Q29uZGl0aW9uKGZpZWxkc1toZWFkXSwgdGFpbFswXSwgdGFpbC5zbGljZSgxKSwgcGF0aFRhaWwuam9pbignXycpKTtcbiAgICB9IGVsc2UgaWYgKCFmaWVsZHNbaGVhZF0pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oZmllbGRzLCB0YWlsWzBdLCB0YWlsLnNsaWNlKDEpLCBwYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbihmaWVsZHNbaGVhZF0sIHRhaWxbMF0sIHRhaWwuc2xpY2UoMSksIHBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb25JbkFycmF5KGZpZWxkczogb2JqZWN0LCBoZWFkOiBzdHJpbmcsIHRhaWw6IHN0cmluZ1tdLCBwYXRoPzogc3RyaW5nKTogYW55IHtcbiAgICAvLyB1c2UgdGhlIHBhdGggdG8gcmVzb2x2ZSB3aGljaCBhcnJheSBlbGVtZW50IHdlIHJlZmVyIHRvXG4gICAgaWYgKHBhdGggJiYgcGF0aC5zdGFydHNXaXRoKGhlYWQpKSB7XG4gICAgICBjb25zdCBbXywgLi4ucGF0aFRhaWxdID0gcGF0aC5zcGxpdCgvW19dKy9nKTtcbiAgICAgIGlmIChwYXRoVGFpbC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgYXJyYXlJbmRleCA9IE51bWJlci5wYXJzZUludChwYXRoVGFpbFswXSwgMTApO1xuICAgICAgICAgIGNvbnN0IFtfXywgLi4uZHJvcE51bWJlclBhdGhdID0gcGF0aFRhaWw7XG4gICAgICAgICAgcmV0dXJuIChmaWVsZHNbaGVhZF1bYXJyYXlJbmRleF0gIT09IHVuZGVmaW5lZCkgPyB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oXG4gICAgICAgICAgZmllbGRzW2hlYWRdW2FycmF5SW5kZXhdWyd2YWx1ZSddLCB0YWlsWzBdLCB0YWlsLnNsaWNlKDEpLCBkcm9wTnVtYmVyUGF0aC5qb2luKCdfJykpIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHdoaWxlIHBhcnNpbmcgbnVtYmVyJywgcGF0aFRhaWxbMF0sIGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1BhdGggaW4gZm9ybUFycmF5IHNob3VsZCBzdGFydCB3aXRoICcsIGhlYWQsICcsIGZ1bGwgcGF0aDogJywgcGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVtb3ZlU3RhckNoYXIoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChzdHIgJiYgc3RyLmluZGV4T2YoJyonKSA+IC0xKSB7XG4gICAgICByZXR1cm4gc3RyLnN1YnN0cmluZygwLCBzdHIuaW5kZXhPZignKicpKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG9rSWZCb3RoRW1wdHkocmlnaHQ6IHN0cmluZywgdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCAmJiAocmlnaHQgPT09ICcnKTtcbiAgfVxufVxuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLXBhcnNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvc2VydmljZXMvY29uZGl0aW9uLXBhcnNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUM7QUFFbEMsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBaUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDaEMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQVcsRUFBRSxVQUFpQixFQUFFLElBQWE7UUFDbEUsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDNUQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUzQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFvQixFQUFFLFNBQVMs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QUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2lCQUM3RjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDN0Q7YUFDRjtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEY7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQ3ZDLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDaEMsT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQWEsRUFBRSxLQUFVO1FBQ3BELE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfc2NvcmUgZnJvbSAndW5kZXJzY29yZSc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuaW1wb3J0IHsgU2hvd0NvbmRpdGlvbiB9IGZyb20gJy4uLy4uL2NvbmRpdGlvbmFsLXNob3cvZG9tYWluL2NvbmRpdGlvbmFsLXNob3cubW9kZWwnO1xuaW1wb3J0IHBlZyBmcm9tICcuL2NvbmRpdGlvbi5wZWcnO1xuXG5leHBvcnQgY2xhc3MgQ29uZGl0aW9uUGFyc2VyIHtcbiAgLyoqXG4gICAqIFBhcnNlIHRoZSByYXcgZm9ybXVsYSBhbmQgb3V0cHV0IHN0cnVjdHVyZWQgY29uZGl0aW9uIGRhdGFcbiAgICogdGhhdCBjYW4gYmUgdXNlZCBpbiBldmFsdWF0aW5nIHNob3cvaGlkZSBsb2dpY1xuICAgKiBAcGFyYW0gY29uZGl0aW9uIHJhdyBmb3JtdWxhIGUuZy4gVGV4dEZpZWxkID0gXCJIZWxsb1wiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhcnNlKGNvbmRpdGlvbjogc3RyaW5nKTogYW55IHtcbiAgICBpZiAoIWNvbmRpdGlvbikgeyByZXR1cm4gbnVsbDsgfVxuICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbi5yZXBsYWNlKC9DT05UQUlOUy9nLCAnIENPTlRBSU5TJyk7XG4gICAgcmV0dXJuIHBlZy5wYXJzZShjb25kaXRpb24udHJpbSgpLCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGUgdGhlIGN1cnJlbnQgZmllbGRzIGFnYWluc3QgdGhlIGNvbmRpdGlvbnNcbiAgICogQHBhcmFtIGZpZWxkcyB0aGUgY3VycmVudCBwYWdlIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVcbiAgICogQHBhcmFtIGNvbmRpdGlvbnMgVGhlIFBlZ0pTIGZvcm11bGEgb3V0cHV0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGV2YWx1YXRlKGZpZWxkczogYW55LCBjb25kaXRpb25zOiBhbnlbXSwgcGF0aD86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghY29uZGl0aW9ucyB8fCBjb25kaXRpb25zLmxlbmd0aCA9PT0gMCkgeyByZXR1cm4gdHJ1ZTsgfVxuICAgIGNvbnN0IHZhbGlkSm9pbkNvbXBhcmF0b3JzID0gWydBTkQnLCAnT1InXTtcblxuICAgIHJldHVybiBjb25kaXRpb25zLnJlZHVjZSgoYWNjdW11bGF0b3I6IGJvb2xlYW4sIGNvbmRpdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgaXNKb2luQ29tcGFyYXRvciA9IChjb21wYXJhdG9yOiBzdHJpbmcpOiBib29sZWFuID0+XG4gICAgICAgICh0eXBlb2YgY29tcGFyYXRvciA9PT0gJ3N0cmluZycgJiYgdmFsaWRKb2luQ29tcGFyYXRvcnMuaW5kZXhPZihjb21wYXJhdG9yKSAhPT0gLTEpO1xuXG4gICAgICBpZiAoaXNKb2luQ29tcGFyYXRvcihjb25kaXRpb24pKSB7IHJldHVybiBhY2N1bXVsYXRvcjsgfVxuXG4gICAgICBsZXQgY3VycmVudENvbmRpdGlvblJlc3VsdCA9IHRydWU7XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmRpdGlvbikpIHtcbiAgICAgICAgY3VycmVudENvbmRpdGlvblJlc3VsdCA9IHRoaXMuZXZhbHVhdGUoZmllbGRzLCBjb25kaXRpb24pO1xuXG4gICAgICAgIGlmIChpc0pvaW5Db21wYXJhdG9yKGNvbmRpdGlvbnNbaW5kZXggLSAxXSkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5ldmFsdWF0ZUpvaW4oYWNjdW11bGF0b3IsIGNvbmRpdGlvbnNbaW5kZXggLSAxXSwgY3VycmVudENvbmRpdGlvblJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNvbmRpdGlvbi5jb21wYXJhdG9yKSB7XG4gICAgICAgIGNvbnN0IGZvcm11bGEgPSBjb25kaXRpb24uZmllbGRSZWZlcmVuY2UgKyBjb25kaXRpb24uY29tcGFyYXRvciArIGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgY3VycmVudENvbmRpdGlvblJlc3VsdCA9IHRoaXMubWF0Y2hFcXVhbGl0eUNvbmRpdGlvbihmaWVsZHMsIGZvcm11bGEsIHBhdGgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNKb2luQ29tcGFyYXRvcihjb25kaXRpb25zW2luZGV4IC0gMV0pKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2YWx1YXRlSm9pbihhY2N1bXVsYXRvciwgY29uZGl0aW9uc1tpbmRleCAtIDFdLCBjdXJyZW50Q29uZGl0aW9uUmVzdWx0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGN1cnJlbnRDb25kaXRpb25SZXN1bHQ7XG4gICAgfSwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBldmFsdWF0ZUpvaW4obGVmdFJlc3VsdDogYm9vbGVhbiwgY29tcGFyYXRvciwgcmlnaHRSZXN1bHQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHRcbiAgICBzd2l0Y2ggKGNvbXBhcmF0b3IpIHtcbiAgICAgIGNhc2UgJ09SJzogcmV0dXJuIGxlZnRSZXN1bHQgfHwgcmlnaHRSZXN1bHQ7XG4gICAgICBjYXNlICdBTkQnOiByZXR1cm4gbGVmdFJlc3VsdCAmJiByaWdodFJlc3VsdDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtYXRjaEVxdWFsaXR5Q29uZGl0aW9uKGZpZWxkczogb2JqZWN0LCBjb25kaXRpb246IHN0cmluZywgcGF0aD86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IFtmaWVsZCwgY29uZGl0aW9uU2VwYXJhdG9yXSA9IHRoaXMuZ2V0RmllbGQoY29uZGl0aW9uKTtcbiAgICBjb25zdCBbaGVhZCwgLi4udGFpbF0gPSBmaWVsZC5zcGxpdCgnLicpO1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbihmaWVsZHMsIGhlYWQsIHRhaWwsIHBhdGgpO1xuICAgIGNvbnN0IGV4cGVjdGVkVmFsdWUgPSB0aGlzLnVucXVvdGVkKGNvbmRpdGlvbi5zcGxpdChjb25kaXRpb25TZXBhcmF0b3IpWzFdKTtcbiAgICBpZiAoY29uZGl0aW9uU2VwYXJhdG9yID09PSBTaG93Q29uZGl0aW9uLkNPTlRBSU5TKSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGVja1ZhbHVlQ29udGFpbnMoZXhwZWN0ZWRWYWx1ZSwgY3VycmVudFZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tWYWx1ZUVxdWFscyhleHBlY3RlZFZhbHVlLCBjdXJyZW50VmFsdWUsIGNvbmRpdGlvblNlcGFyYXRvcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0VmFsdWUoZmllbGRzOiBvYmplY3QsIGhlYWQ6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKHRoaXMuaXNEeW5hbWljTGlzdChmaWVsZHNbaGVhZF0pKSB7XG4gICAgICByZXR1cm4gZmllbGRzW2hlYWRdLnZhbHVlLmNvZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmaWVsZHNbaGVhZF07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNEeW5hbWljTGlzdChkeW5hbWljbGlzdDogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFfc2NvcmUuaXNFbXB0eShkeW5hbWljbGlzdCkgJiZcbiAgICAgICAgKF9zY29yZS5oYXMoZHluYW1pY2xpc3QsICd2YWx1ZScpICYmIF9zY29yZS5oYXMoZHluYW1pY2xpc3QsICdsaXN0X2l0ZW1zJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RmllbGQoY29uZGl0aW9uOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmc/XSB7XG4gICAgbGV0IHNlcGFyYXRvcjogc3RyaW5nID0gU2hvd0NvbmRpdGlvbi5DT05UQUlOUztcbiAgICBpZiAoY29uZGl0aW9uLmluZGV4T2YoU2hvd0NvbmRpdGlvbi5DT05UQUlOUykgPCAwKSB7XG4gICAgICBzZXBhcmF0b3IgPSBTaG93Q29uZGl0aW9uLkNPTkRJVElPTl9FUVVBTFM7XG4gICAgICBpZiAoY29uZGl0aW9uLmluZGV4T2YoU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fTk9UX0VRVUFMUykgPiAtMSkge1xuICAgICAgICBzZXBhcmF0b3IgPSBTaG93Q29uZGl0aW9uLkNPTkRJVElPTl9OT1RfRVFVQUxTO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gWyBjb25kaXRpb24uc3BsaXQoc2VwYXJhdG9yKVswXSwgc2VwYXJhdG9yIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjaGVja1ZhbHVlRXF1YWxzKGV4cGVjdGVkVmFsdWU6IHN0cmluZywgY3VycmVudFZhbHVlOiBhbnksIGNvbmRpdGlvblNlcGFyYW9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoZXhwZWN0ZWRWYWx1ZS5zZWFyY2goJ1ssXScpID4gLTEpIHsgLy8gZm9yICBtdWx0aS1zZWxlY3QgbGlzdFxuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tNdWx0aVNlbGVjdExpc3RFcXVhbHMoZXhwZWN0ZWRWYWx1ZSwgY3VycmVudFZhbHVlLCBjb25kaXRpb25TZXBhcmFvcik7XG4gICAgfSBlbHNlIGlmIChleHBlY3RlZFZhbHVlLmVuZHNXaXRoKCcqJykgJiYgY3VycmVudFZhbHVlICYmIGNvbmRpdGlvblNlcGFyYW9yICE9PSBTaG93Q29uZGl0aW9uLkNPTkRJVElPTl9OT1RfRVFVQUxTKSB7XG4gICAgICBpZiAodHlwZW9mIGN1cnJlbnRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZS5zdGFydHNXaXRoKHRoaXMucmVtb3ZlU3RhckNoYXIoZXhwZWN0ZWRWYWx1ZSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4cGVjdGVkVmFsdWUgPT09ICcqJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY2hhbmdlZCBmcm9tICc9PT0nIHRvICc9PScgdG8gY292ZXIgbnVtYmVyIGZpZWxkIGNvbmRpdGlvbnNcbiAgICAgIGlmIChjb25kaXRpb25TZXBhcmFvciA9PT0gU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fTk9UX0VRVUFMUykge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja1ZhbHVlTm90RXF1YWxzKGV4cGVjdGVkVmFsdWUsIGN1cnJlbnRWYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlID09IGV4cGVjdGVkVmFsdWUgfHwgdGhpcy5va0lmQm90aEVtcHR5KGV4cGVjdGVkVmFsdWUsIGN1cnJlbnRWYWx1ZSk7IC8vIHRzbGludDpkaXNhYmxlLWxpbmVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjaGVja1ZhbHVlTm90RXF1YWxzKGV4cGVjdGVkVmFsdWU6IHN0cmluZywgY3VycmVudFZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBjb25zdCBmb3JtYXRDdXJyZW50VmFsdWUgPSBjdXJyZW50VmFsdWUgPyBjdXJyZW50VmFsdWUudG9TdHJpbmcoKS50cmltKCkgOiAnJztcbiAgICBpZiAoJyonID09PSBleHBlY3RlZFZhbHVlICYmIGZvcm1hdEN1cnJlbnRWYWx1ZSAhPT0gJycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgZm9ybWF0RXhwZWN0ZWRWYWx1ZSA9IGV4cGVjdGVkVmFsdWUgPyBleHBlY3RlZFZhbHVlLnRvU3RyaW5nKCkudHJpbSgpIDogJyc7XG4gICAgcmV0dXJuIGZvcm1hdEN1cnJlbnRWYWx1ZSAhPSBmb3JtYXRFeHBlY3RlZFZhbHVlOyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjaGVja011bHRpU2VsZWN0TGlzdEVxdWFscyhleHBlY3RlZFZhbHVlOiBzdHJpbmcsIGN1cnJlbnRWYWx1ZTogYW55LCBjb25kaXRpb25TZXBhcmF0b3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gZXhwZWN0ZWRWYWx1ZS5zcGxpdCgnLCcpLnNvcnQoKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHZhbHVlcyA9IGN1cnJlbnRWYWx1ZSA/IGN1cnJlbnRWYWx1ZS5zb3J0KCkudG9TdHJpbmcoKSA6ICcnO1xuICAgIGlmIChjb25kaXRpb25TZXBhcmF0b3IgPT09IFNob3dDb25kaXRpb24uQ09ORElUSU9OX05PVF9FUVVBTFMpIHtcbiAgICAgIHJldHVybiBleHBlY3RlZFZhbHVlcyAhPT0gdmFsdWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWRWYWx1ZXMgPT09IHZhbHVlcztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjaGVja1ZhbHVlQ29udGFpbnMoZXhwZWN0ZWRWYWx1ZTogc3RyaW5nLCBjdXJyZW50VmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChleHBlY3RlZFZhbHVlLnNlYXJjaCgnLCcpID4gLTEpIHtcbiAgICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gZXhwZWN0ZWRWYWx1ZS5zcGxpdCgnLCcpLnNvcnQoKTtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IGN1cnJlbnRWYWx1ZSA/IGN1cnJlbnRWYWx1ZS5zb3J0KCkudG9TdHJpbmcoKSA6ICcnO1xuICAgICAgcmV0dXJuIGV4cGVjdGVkVmFsdWVzLmV2ZXJ5KGl0ZW0gPT4gdmFsdWVzLnNlYXJjaChpdGVtKSA+PSAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFsdWVzID0gY3VycmVudFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY3VycmVudFZhbHVlKSA/IGN1cnJlbnRWYWx1ZS50b1N0cmluZygpIDogJyc7XG4gICAgICByZXR1cm4gdmFsdWVzLnNlYXJjaChleHBlY3RlZFZhbHVlKSA+PSAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHVucXVvdGVkKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL15cInxcIiQvZywgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbihmaWVsZHM6IG9iamVjdCwgaGVhZDogc3RyaW5nLCB0YWlsOiBzdHJpbmdbXSwgcGF0aD86IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCFmaWVsZHMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0YWlsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUoZmllbGRzLCBoZWFkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKEZpZWxkc1V0aWxzLmlzQXJyYXkoZmllbGRzW2hlYWRdKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5maW5kVmFsdWVGb3JDb21wbGV4Q29uZGl0aW9uSW5BcnJheShmaWVsZHMsIGhlYWQsIHRhaWwsIHBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbkZvclBhdGhJZkFueShmaWVsZHMsIGhlYWQsIHRhaWwsIHBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb25Gb3JQYXRoSWZBbnkoZmllbGRzOiBvYmplY3QsIGhlYWQ6IHN0cmluZywgdGFpbDogc3RyaW5nW10sIHBhdGg/OiBzdHJpbmcpOiBhbnkge1xuICAgIGlmIChwYXRoKSB7XG4gICAgICBjb25zdCBbXywgLi4ucGF0aFRhaWxdID0gcGF0aC5zcGxpdCgvW19dKy9nKTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oZmllbGRzW2hlYWRdLCB0YWlsWzBdLCB0YWlsLnNsaWNlKDEpLCBwYXRoVGFpbC5qb2luKCdfJykpO1xuICAgIH0gZWxzZSBpZiAoIWZpZWxkc1toZWFkXSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbihmaWVsZHMsIHRhaWxbMF0sIHRhaWwuc2xpY2UoMSksIHBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kVmFsdWVGb3JDb21wbGV4Q29uZGl0aW9uKGZpZWxkc1toZWFkXSwgdGFpbFswXSwgdGFpbC5zbGljZSgxKSwgcGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbkluQXJyYXkoZmllbGRzOiBvYmplY3QsIGhlYWQ6IHN0cmluZywgdGFpbDogc3RyaW5nW10sIHBhdGg/OiBzdHJpbmcpOiBhbnkge1xuICAgIC8vIHVzZSB0aGUgcGF0aCB0byByZXNvbHZlIHdoaWNoIGFycmF5IGVsZW1lbnQgd2UgcmVmZXIgdG9cbiAgICBpZiAocGF0aC5zdGFydHNXaXRoKGhlYWQpKSB7XG4gICAgICBjb25zdCBbXywgLi4ucGF0aFRhaWxdID0gcGF0aC5zcGxpdCgvW19dKy9nKTtcbiAgICAgIGlmIChwYXRoVGFpbC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgYXJyYXlJbmRleCA9IE51bWJlci5wYXJzZUludChwYXRoVGFpbFswXSwgMTApO1xuICAgICAgICAgIGNvbnN0IFtfXywgLi4uZHJvcE51bWJlclBhdGhdID0gcGF0aFRhaWw7XG4gICAgICAgICAgcmV0dXJuIChmaWVsZHNbaGVhZF1bYXJyYXlJbmRleF0gIT09IHVuZGVmaW5lZCkgPyB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oXG4gICAgICAgICAgZmllbGRzW2hlYWRdW2FycmF5SW5kZXhdWyd2YWx1ZSddLCB0YWlsWzBdLCB0YWlsLnNsaWNlKDEpLCBkcm9wTnVtYmVyUGF0aC5qb2luKCdfJykpIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHdoaWxlIHBhcnNpbmcgbnVtYmVyJywgcGF0aFRhaWxbMF0sIGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1BhdGggaW4gZm9ybUFycmF5IHNob3VsZCBzdGFydCB3aXRoICcsIGhlYWQsICcsIGZ1bGwgcGF0aDogJywgcGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVtb3ZlU3RhckNoYXIoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChzdHIgJiYgc3RyLmluZGV4T2YoJyonKSA+IC0xKSB7XG4gICAgICByZXR1cm4gc3RyLnN1YnN0cmluZygwLCBzdHIuaW5kZXhPZignKicpKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG9rSWZCb3RoRW1wdHkocmlnaHQ6IHN0cmluZywgdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCAmJiAocmlnaHQgPT09ICcnKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
1
  // tslint:disable:variable-name
2
2
  export class CaseFileViewDocument {
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZG9jdW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1kb2N1bWVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsTUFBTSxPQUFPLG9CQUFvQjtDQU9oQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOnZhcmlhYmxlLW5hbWVcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdEb2N1bWVudCB7XG4gIHB1YmxpYyBkb2N1bWVudF91cmw6IHN0cmluZztcbiAgcHVibGljIGRvY3VtZW50X2ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBkb2N1bWVudF9iaW5hcnlfdXJsOiBzdHJpbmc7XG4gIHB1YmxpYyBhdHRyaWJ1dGVfcGF0aDogc3RyaW5nO1xuICBwdWJsaWMgdXBsb2FkX3RpbWVzdGFtcDogc3RyaW5nO1xuICBwdWJsaWMgY29udGVudF90eXBlOiBzdHJpbmc7XG59XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZG9jdW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1kb2N1bWVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsTUFBTSxPQUFPLG9CQUFvQjtDQU9oQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOnZhcmlhYmxlLW5hbWVcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdEb2N1bWVudCB7XG4gIHB1YmxpYyBkb2N1bWVudF91cmw6IHN0cmluZztcbiAgcHVibGljIGRvY3VtZW50X2ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBkb2N1bWVudF9iaW5hcnlfdXJsOiBzdHJpbmc7XG4gIHB1YmxpYyBhdHRyaWJ1dGVfcGF0aDogc3RyaW5nO1xuICBwdWJsaWMgdXBsb2FkX3RpbWVzdGFtcDogRGF0ZSB8IHN0cmluZztcbiAgcHVibGljIGNvbnRlbnRfdHlwZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ export var CaseFileViewSortColumns;
2
+ (function (CaseFileViewSortColumns) {
3
+ CaseFileViewSortColumns[CaseFileViewSortColumns["DOCUMENT_NAME"] = 0] = "DOCUMENT_NAME";
4
+ CaseFileViewSortColumns[CaseFileViewSortColumns["DOCUMENT_UPLOAD_TIMESTAMP"] = 1] = "DOCUMENT_UPLOAD_TIMESTAMP";
5
+ })(CaseFileViewSortColumns || (CaseFileViewSortColumns = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctc29ydC1jb2x1bW5zLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1zb3J0LWNvbHVtbnMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSx1QkFHWDtBQUhELFdBQVksdUJBQXVCO0lBQ2pDLHVGQUFhLENBQUE7SUFDYiwrR0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUdsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENhc2VGaWxlVmlld1NvcnRDb2x1bW5zIHtcbiAgRE9DVU1FTlRfTkFNRSxcbiAgRE9DVU1FTlRfVVBMT0FEX1RJTUVTVEFNUFxufVxuIl19