@hmcts/ccd-case-ui-toolkit 7.0.0-rc3 → 7.0.0-rc4

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 (48) hide show
  1. package/esm2020/lib/app.config.mjs +1 -1
  2. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +22 -8
  3. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +41 -27
  4. package/esm2020/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +233 -0
  5. package/esm2020/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +2 -2
  6. package/esm2020/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +1 -1
  7. package/esm2020/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.mjs +6 -0
  8. package/esm2020/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +40 -13
  9. package/esm2020/lib/shared/domain/case-file-view/index.mjs +3 -2
  10. package/esm2020/lib/shared/domain/index.mjs +10 -10
  11. package/esm2020/lib/shared/domain/search/sorting/sort-parameters.mjs +1 -1
  12. package/esm2020/lib/shared/domain/sort-order.enum.mjs +7 -0
  13. package/esm2020/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +2 -2
  14. package/esm2020/lib/shared/services/case-file-view/case-file-view.service.mjs +1 -1
  15. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +139 -93
  16. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  17. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +128 -82
  18. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  19. package/lib/app.config.d.ts +2 -0
  20. package/lib/app.config.d.ts.map +1 -1
  21. 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
  22. 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
  23. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +5 -3
  24. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  25. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts +3 -0
  26. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts.map +1 -0
  27. package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts.map +1 -1
  28. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +1 -1
  29. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -1
  30. package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts +5 -0
  31. package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts.map +1 -0
  32. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +4 -2
  33. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -1
  34. package/lib/shared/domain/case-file-view/index.d.ts +2 -1
  35. package/lib/shared/domain/case-file-view/index.d.ts.map +1 -1
  36. package/lib/shared/domain/index.d.ts +9 -9
  37. package/lib/shared/domain/index.d.ts.map +1 -1
  38. package/lib/shared/domain/search/sorting/sort-parameters.d.ts +1 -1
  39. package/lib/shared/domain/search/sorting/sort-parameters.d.ts.map +1 -1
  40. package/lib/shared/domain/{search/sorting/sort-order.d.ts → sort-order.enum.d.ts} +1 -1
  41. package/lib/shared/domain/sort-order.enum.d.ts.map +1 -0
  42. package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/esm2020/lib/shared/components/palette/complex/sort-order.mjs +0 -7
  45. package/esm2020/lib/shared/domain/search/sorting/sort-order.mjs +0 -7
  46. package/lib/shared/components/palette/complex/sort-order.d.ts +0 -6
  47. package/lib/shared/components/palette/complex/sort-order.d.ts.map +0 -1
  48. 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();
@@ -376,4 +376,4 @@ ReadComplexFieldCollectionTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComp
376
376
  type: Component,
377
377
  args: [{ selector: 'ccd-read-complex-field-collection-table', template: "<div class=\"complex-panel\" [hidden]=\"caseField.hidden\">\n <dl class=\"complex-panel-title\">\n <dt><span class=\"text-16\">{{caseField.label | rpxTranslate}}</span></dt>\n <dd></dd>\n </dl>\n <table class=\"complex-panel-table\" aria-describedby=\"complex panel table\">\n <tbody>\n <!-- <COMPLEX table field header>-->\n <tr>\n <th *ngFor=\"let heading of columns\" scope=\"col\">\n <span class=\"text-16\">{{columnsAllLabels[heading].label | rpxTranslate}}</span>\n <a href=\"javascript:void(0)\"\n (click)=\"sortRowsByColumns(heading)\"\n class=\"sort-widget\"\n [innerHTML]=\"sortWidget(columnsAllLabels[heading])\"></a>\n </th>\n <th></th>\n </tr>\n <!-- </COMPLEX table field header>-->\n <ng-container *ngFor=\"let item of rows; let i = index;\">\n <!-- <COMPLEX table collapsed view>-->\n <tr class=\"new-table-row accordion-heading\" (click)=\"isHidden[i] = !isHidden[i]\"\n [class.last-accordion]=\"isHidden[i]\">\n <ng-container *ngFor=\"let heading of columns\">\n <td class=\"text-16\">\n <div *ngIf=\"item[heading]; else showEmptyTd\">\n <ccd-field-read\n [caseField]=\"toCaseField(heading, item[heading].label, columnsHorizontalLabel[heading].type, item[heading])\"\n [context]=\"context\"></ccd-field-read>\n </div>\n <ng-template #showEmptyTd>\n <div>&nbsp;</div>\n </ng-template>\n </td>\n </ng-container>\n <td>\n <div style=\"float: right;\">\n <a href=\"javascript:void(0)\"> <img src=\"{{ getImage(i) }}\" alt=\"image\" class=\"accordion-image\"/></a>\n </div>\n </td>\n </tr>\n <!-- </COMPLEX table collapsed view>-->\n <!-- <COMPLEX table expanded view>-->\n <tr [hidden]=\"isHidden[i]\">\n <td [colSpan]=\"columns.length + 1\">\n <table class=\"complex-panel-table\" aria-describedby=\"complex panel table expanded\">\n <tbody>\n <ng-container\n *ngFor=\"let vLabel of columnsVerticalLabel | keyvalue: keepOriginalOrder | ccdCollectionTableCaseFieldsFilter: caseField: rows[i] | ccdReadFieldsFilter:true :undefined :true\">\n <!-- <COMPLEX table expandable body simple field>-->\n <tr class=\"complex-panel-simple-field accordion-body\" *ngIf=\"item[vLabel.id]\" [hidden]=\"vLabel.hidden\">\n <th scope=\"col\"><span class=\"text-16\">{{vLabel.label | rpxTranslate}}</span></th>\n <td *ngIf=\"vLabel['type'] !== 'Complex'\" class=\"text-16\">\n <ccd-field-read [caseField]=\"toCaseField('', vLabel.label, vLabel.field_type, item[vLabel.id])\"\n [context]=\"context\"></ccd-field-read>\n </td>\n </tr>\n <!-- </COMPLEX table expandable body simple field>-->\n\n <!-- <COMPLEX table expandable body complex field>-->\n <tr *ngIf=\"vLabel['type'] === 'Complex' && addCaseFieldValue(vLabel, item[vLabel.id])\" [hidden]=\"vLabel.hidden\">\n <td colspan=\"2\">\n <ng-container *ngFor=\"let caseField of vLabel | ccdReadFieldsFilter:true :undefined :true\">\n <tr class=\"complex-panel-compound-field\" *ngIf=\"(caseField | ccdIsCompound); else SimpleRow\" [hidden]=\"caseField\">\n <td colspan=\"2\">\n <span class=\"text-16\"><ccd-field-read [caseField]=\"caseField\" [context]=\"context\"></ccd-field-read></span>\n </td>\n </tr>\n <ng-template #SimpleRow>\n <tr class=\"complex-panel-nested-field\" [hidden]=\"caseField.hidden\">\n <th scope=\"col\"><span class=\"text-16\">{{caseField.label | rpxTranslate}}</span></th>\n <td *ngIf=\"!item[vLabel.id]?.hasOwnProperty('CaseReference')\">\n <span class=\"text-16\"><ccd-field-read [caseField]=\"caseField\" [context]=\"context\"></ccd-field-read></span>\n </td>\n <td *ngIf=\"item[vLabel.id]?.hasOwnProperty('CaseReference')\">\n <ccd-read-case-link-field [caseField]=\"addCaseReferenceValue(caseField, item[vLabel.id].CaseReference)\" [context]=\"context\"></ccd-read-case-link-field>\n </td>\n </tr>\n </ng-template>\n </ng-container>\n </td>\n </tr>\n <!-- <COMPLEX table expandable body complex field>-->\n </ng-container>\n </tbody>\n </table>\n </td>\n </tr>\n <!-- </COMPLEX table expanded view>-->\n </ng-container>\n </tbody>\n </table>\n</div>\n", styles: [".complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;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 .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th{border-bottom:none}.complex-panel .complex-panel-table th{padding-left:5px;font-weight:700;border-bottom:none}.complex-panel .complex-panel-table td{padding-left:5px;padding-top:0;padding-bottom:0;border-bottom:none}.complex-panel .new-table-row{border-top:1px solid #bfc1c3}.complex-panel .complex-panel-simple-field th{padding-left:5px;padding-top:0;padding-bottom:0;width:295px}.complex-panel .complex-panel-nested-field th{padding-left:33px;padding-top:0;padding-bottom:0;width:200px}.complex-panel .complex-panel-compound-field td{padding:5px;border-bottom:none}.sort-widget{cursor:pointer;text-decoration:none;color:#0b0c0c}.accordion-wrapper{margin-bottom:20px}.accordion-wrapper .heading-medium{margin:0}.accordion-wrapper .accordion-heading{border-top:1px solid #bfc1c3;padding-top:20px;padding-bottom:10px;height:20px;cursor:pointer}.accordion-wrapper .accordion-heading .accordion-image{width:25px;margin-right:20px}.accordion-wrapper .accordion-body{margin-top:20px;margin-right:20px}.accordion-wrapper .last-accordion{border-bottom:1px solid #bfc1c3;padding-bottom:30px}\n"] }]
378
378
  }], null, null); })();
379
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztJQ0tuQyw2QkFBZ0QsY0FBQTtJQUN4QixZQUFrRDs7SUFBQSxpQkFBTztJQUMvRSw0QkFHdUQ7SUFGcEQsOE9BQVMsZUFBQSxvQ0FBMEIsQ0FBQSxJQUFDO0lBRWdCLGlCQUFJLEVBQUE7Ozs7SUFKckMsZUFBa0Q7SUFBbEQscUZBQWtEO0lBSXJFLGVBQW1EO0lBQW5ELHFHQUFtRDs7O0lBV2xELDJCQUE2QztJQUMzQyxxQ0FFdUM7SUFDekMsaUJBQU07Ozs7O0lBRkYsZUFBNEc7SUFBNUcsNEpBQTRHLDRCQUFBOzs7SUFJOUcsMkJBQUs7SUFBQSxzQkFBTTtJQUFBLGlCQUFNOzs7SUFSdkIs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TUs7UUFDTCxzQkFBUztRQUNYLGlCQUFLO1FBRUwsK0dBc0VlO1FBQ2YsaUJBQVEsRUFBQSxFQUFBOztRQTFGZSw2Q0FBMkI7UUFFeEIsZUFBa0M7UUFBbEMsK0RBQWtDO1FBT2xDLGVBQVU7UUFBVixxQ0FBVTtRQVVMLGVBQVM7UUFBVCxrQ0FBUzs7dUZEUi9CLHdDQUF3QztjQUxwRCxTQUFTOzJCQUNFLHlDQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydE9yZGVyIH0gZnJvbSAnLi9zb3J0LW9yZGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXJlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGNvbHVtbnM6IHN0cmluZ1tdO1xuICBwdWJsaWMgY29sdW1uc1ZlcnRpY2FsTGFiZWw6IGFueTtcbiAgcHVibGljIGNvbHVtbnNIb3Jpem9udGFsTGFiZWw6IGFueTtcbiAgcHVibGljIGNvbHVtbnNBbGxMYWJlbHM6IGFueTtcbiAgcHVibGljIHJvd3M6IGFueVtdID0gW107XG4gIHB1YmxpYyBpc0hpZGRlbjogYm9vbGVhbltdID0gW107XG4gIHByaXZhdGUgc3RhdGljIGlzU29ydEFzY2VuZGluZyhjb2x1bW46IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKGNvbHVtbi5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjb2x1bW4uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlclxuICAgICAgJiYgdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci50cmltKCkuc3RhcnRzV2l0aCgnI1RBQkxFKCcpKSB7XG5cbiAgICAgIGNvbnN0IGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID0gdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci50cmltKCk7XG4gICAgICBjb25zdCByZXN1bHQ6IHN0cmluZyA9IGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyLnJlcGxhY2UoJyNUQUJMRSgnLCAnJyk7XG4gICAgICB0aGlzLmNvbHVtbnMgPSByZXN1bHQucmVwbGFjZSgnKScsICcnKS5zcGxpdCgnLCcpLm1hcCgoYzogc3RyaW5nKSA9PiBjLnRyaW0oKSk7XG5cbiAgICAgIGNvbnN0IGxhYmVsc1ZlcnRpY2FsOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgY29uc3QgbGFiZWxzSG9yaXpvbnRhbDogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIGNvbnN0IGFsbExhYmVsczogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIHRoaXMucG9wdWxhdGVDYXNlRmllbGRWYWx1ZXNJbnRvUm93cygpO1xuICAgICAgdGhpcy5wb3B1bGF0ZUxhYmVscyhsYWJlbHNWZXJ0aWNhbCwgYWxsTGFiZWxzKTtcbiAgICAgIHRoaXMucG9wdWxhdGVIb3Jpem9udGFsTGFiZWxzKGxhYmVsc0hvcml6b250YWwsIGFsbExhYmVscywgbGFiZWxzVmVydGljYWwpO1xuXG4gICAgICB0aGlzLmNvbHVtbnNWZXJ0aWNhbExhYmVsID0gbGFiZWxzVmVydGljYWw7XG4gICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWwgPSBsYWJlbHNIb3Jpem9udGFsO1xuICAgICAgdGhpcy5jb2x1bW5zQWxsTGFiZWxzID0gYWxsTGFiZWxzO1xuXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEltYWdlKHJvdyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNIaWRkZW5bcm93XSkge1xuICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLXBsdXMucG5nJztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaXNWZXJ0aWNsZURhdGFOb3RFbXB0eShyb3cpKSB7XG4gICAgICAgIHJldHVybiAnaW1nL2FjY29yZGlvbi1taW51cy5wbmcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0hpZGRlbltyb3ddID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLXBsdXMucG5nJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSAnY2NkRmllbGRzRmlsdGVyJyBwaXBlIGlzIHVzZWQsIGFzIGl0IG5lZWRzIGEgY2FzZUZpZWxkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFkZENhc2VGaWVsZFZhbHVlKGZpZWxkLCB2YWx1ZSk6IGJvb2xlYW4ge1xuICAgIGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgaXNOb3RCbGFuayh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJztcbiAgfVxuXG4gIHB1YmxpYyBhZGRDYXNlUmVmZXJlbmNlVmFsdWUoZmllbGQsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGZpZWxkLnZhbHVlID0geyBDYXNlUmVmZXJlbmNlOiB2YWx1ZX07XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgcHVibGljIHRvQ2FzZUZpZWxkKGlkOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcsIGZpZWxkVHlwZTogYW55LCB2YWx1ZTogYW55KTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIGRpc3BsYXlfY29udGV4dDogJ1JFQURPTkxZJyxcbiAgICAgIHZhbHVlLFxuICAgICAgZmllbGRfdHlwZTogZmllbGRUeXBlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMga2VlcE9yaWdpbmFsT3JkZXIgPSAoYSwgYikgPT4gYS5rZXk7XG5cbiAgcHVibGljIHNvcnRSb3dzQnlDb2x1bW5zKGNvbHVtbik6IHZvaWQge1xuICAgIGNvbnN0IHNob3VsZFNvcnRJbkFzY2VuZGluZ09yZGVyID0gdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuVU5TT1JURURcbiAgICAgIHx8IHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHRcbiAgICBzd2l0Y2ggKHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnR5cGUudHlwZSkge1xuICAgICAgY2FzZSAnTnVtYmVyJzpcbiAgICAgIGNhc2UgJ01vbmV5R0JQJzoge1xuICAgICAgICBpZiAoc2hvdWxkU29ydEluQXNjZW5kaW5nT3JkZXIpIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYVtjb2x1bW5dIC0gYltjb2x1bW5dKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBiW2NvbHVtbl0gLSBhW2NvbHVtbl0pO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnVGV4dCc6XG4gICAgICBjYXNlICdUZXh0QXJlYSc6XG4gICAgICBjYXNlICdFbWFpbCc6XG4gICAgICBjYXNlICdEYXRlJzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lJzpcbiAgICAgIGNhc2UgJ0xhYmVsJzpcbiAgICAgIGNhc2UgJ1Bvc3Rjb2RlJzpcbiAgICAgIGNhc2UgJ1llc09yTm8nOlxuICAgICAgY2FzZSAnUGhvbmVVSyc6XG4gICAgICBjYXNlICdGaXhlZExpc3QnOiB7XG4gICAgICAgIGlmIChzaG91bGRTb3J0SW5Bc2NlbmRpbmdPcmRlcikge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBhW2NvbHVtbl0gPCBiW2NvbHVtbl0gPyAtMSA6IGFbY29sdW1uXSA+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=
379
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0lDS25GLDZCQUFnRCxjQUFBO0lBQ3hCLFlBQWtEOztJQUFBLGlCQUFPO0lBQy9FLDRCQUd1RDtJQUZwRCw4T0FBUyxlQUFBLG9DQUEwQixDQUFBLElBQUM7SUFFZ0IsaUJBQUksRUFBQTs7OztJQUpyQyxlQUFrRDtJQUFsRCxxRkFBa0Q7SUFJckUsZUFBbUQ7SUFBbkQscUdBQW1EOzs7SUFXbEQsMkJBQTZDO0lBQzNDLHFDQUV1QztJQUN6QyxpQkFBTTs7Ozs7SUFGRixlQUE0RztJQUE1Ryw0SkFBNEcsNEJBQUE7OztJQUk5RywyQkFBSztJQUFBLHNCQUFNO0lBQUEsaUJBQU07OztJQVJ2Qiw2QkFBOEM7SUFDNUMsNkJBQW9CO0lBQ2xCLHlIQUlNO0lBQ04sMEtBRWM7SUFDaEIsaUJBQUs7SUFDUCwwQkFBZTs7Ozs7SUFUTCxlQUFxQjtJQUFyQiwwQ0FBcUIsa0JBQUE7OztJQTJCdkIsNkJBQXlEO0lBQ3ZELHFDQUNxRDtJQUN2RCxpQkFBSzs7Ozs7SUFGYSxlQUErRTtJQUEvRSxvSEFBK0UsNEJBQUE7OztJQUhuRyw4QkFBdUcsWUFBQSxjQUFBO0lBQy9ELFlBQStCOztJQUFBLGlCQUFPLEVBQUE7SUFDNUUsNkhBR0s7SUFDUCxpQkFBSzs7O0lBTnlFLDBDQUF3QjtJQUM5RCxlQUErQjtJQUEvQiw0REFBK0I7SUFDaEUsZUFBa0M7SUFBbEMsdURBQWtDOzs7SUFXakMsOEJBQWtILGFBQUEsY0FBQTtJQUV4RixxQ0FBNkU7SUFBQSxpQkFBTyxFQUFBLEVBQUE7Ozs7SUFGakIsc0NBQW9CO0lBRXZFLGVBQXVCO0lBQXZCLHlDQUF1Qiw0QkFBQTs7O0lBTTdELDBCQUE4RCxjQUFBO0lBQ3RDLHFDQUE2RTtJQUFBLGlCQUFPLEVBQUE7Ozs7SUFBcEUsZUFBdUI7SUFBdkIseUNBQXVCLDRCQUFBOzs7SUFFL0QsMEJBQTZEO0lBQzNELCtDQUF1SjtJQUN6SixpQkFBSzs7Ozs7O0lBRHVCLGVBQTZFO0lBQTdFLDhHQUE2RSw0QkFBQTs7O0lBTjNHLDhCQUFtRSxZQUFBLGNBQUE7SUFDM0IsWUFBa0M7O0lBQUEsaUJBQU8sRUFBQTtJQUMvRSwwSkFFSztJQUNMLDBKQUVLO0lBQ1AsaUJBQUs7Ozs7O0lBUmtDLDZDQUEyQjtJQUMxQixlQUFrQztJQUFsQywrREFBa0M7SUFDbkUsZUFBdUQ7SUFBdkQsd0hBQXVEO0lBR3ZELGVBQXNEO0lBQXRELHFIQUFzRDs7O0lBWm5FLDZCQUEyRjtJQUN2Riw0SUFJSzs7SUFDTCwrTEFVYztJQUNsQiwwQkFBZTs7OztJQWhCK0IsZUFBbUM7SUFBbkMsMERBQW1DLGtCQUFBOzs7SUFIckYsOEJBQWdILGFBQUE7SUFFNUcsZ0pBaUJlOztJQUNqQixpQkFBSyxFQUFBOzs7SUFwQmdGLDBDQUF3QjtJQUV2RSxlQUFxRDtJQUFyRCxpRkFBcUQ7OztJQWYvRiw2QkFDaUw7SUFFL0ssd0hBTUs7SUFJTCx3SEFxQks7SUFFUCwwQkFBZTs7Ozs7SUFqQzBDLGVBQXFCO0lBQXJCLDZDQUFxQjtJQVV2RSxlQUFnRjtJQUFoRix1SEFBZ0Y7Ozs7SUF6Qy9GLDZCQUF3RDtJQUV0RCw2QkFDeUM7SUFERyx1VEFBb0M7SUFFOUUsMkhBV2U7SUFDZiwwQkFBSSxhQUFBLFlBQUE7SUFFOEIsMEJBQWtFO0lBQUEsaUJBQUksRUFBQSxFQUFBLEVBQUE7SUFNMUcsOEJBQTJCLGFBQUEsZ0JBQUEsYUFBQTtJQUlyQiw2SEFvQ2U7Ozs7SUFDZixpQkFBUSxFQUFBLEVBQUEsRUFBQTtJQUtoQiwwQkFBZTs7OztJQW5FVCxlQUFvQztJQUFwQyx1REFBb0M7SUFDSixlQUFVO0lBQVYsd0NBQVU7SUFjTCxlQUF1QjtJQUF2Qix3RUFBdUI7SUFNNUQsZUFBc0I7SUFBdEIsOENBQXNCO0lBQ3BCLGVBQThCO0lBQTlCLG1EQUE4QjtJQUlULGVBQTBKO0lBQTFKLGtOQUEwSjs7QURyQzNMLE1BQU0sT0FBTyx3Q0FBeUMsU0FBUSwwQkFBMEI7SUFMeEY7O1FBVVMsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUNqQixhQUFRLEdBQWMsRUFBRSxDQUFDO1FBb0V6QixzQkFBaUIsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7S0F5RjVDO0lBNUpTLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBVztRQUN4QyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVNLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QjtlQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUUxRSxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEYsTUFBTSxNQUFNLEdBQVcsdUJBQXVCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRS9FLE1BQU0sY0FBYyxHQUF5QixFQUFFLENBQUM7WUFDaEQsTUFBTSxnQkFBZ0IsR0FBeUIsRUFBRSxDQUFDO1lBQ2xELE1BQU0sU0FBUyxHQUF5QixFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUUzRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsY0FBYyxDQUFDO1lBQzNDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQztZQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1NBRW5DO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxHQUFHO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixPQUFPLHdCQUF3QixDQUFDO1NBQ2pDO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDcEMsT0FBTyx5QkFBeUIsQ0FBQzthQUNsQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDMUIsT0FBTyx3QkFBd0IsQ0FBQzthQUNqQztTQUNGO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQUs7UUFDbkMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDN0IsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQUssRUFBRSxLQUFVO1FBQzVDLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDdEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sV0FBVyxDQUFDLEVBQVUsRUFBRSxLQUFhLEVBQUUsU0FBYyxFQUFFLEtBQVU7UUFDdEUsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLFNBQVMsRUFBRSxFQUFFO1lBQzVDLEVBQUU7WUFDRixLQUFLO1lBQ0wsZUFBZSxFQUFFLFVBQVU7WUFDM0IsS0FBSztZQUNMLFVBQVUsRUFBRSxTQUFTO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJTSxpQkFBaUIsQ0FBQyxNQUFNO1FBQzdCLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsUUFBUTtlQUNsRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFFNUUsMENBQTBDO1FBQzFDLFFBQVEsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDckQsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLFVBQVUsQ0FBQyxDQUFDO2dCQUNmLElBQUksMEJBQTBCLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7aUJBQ3JFO3FCQUFNO29CQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7aUJBQ3RFO2dCQUNELE1BQU07YUFDUDtZQUNELEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssV0FBVztnQkFBRTtvQkFDaEIsSUFBSSwwQkFBMEIsRUFBRTt3QkFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDckYsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO3FCQUNyRTt5QkFBTTt3QkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNyRixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7cUJBQ3RFO2lCQUNGO2dCQUNDLE1BQU07U0FDVDtJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsTUFBVztRQUMzQixPQUFPLHdDQUF3QyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbEcsQ0FBQztJQUVPLHdCQUF3QixDQUFDLGdCQUFzQyxFQUN0QyxTQUErQixFQUMvQixjQUFvQztRQUNuRSxLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDN0IsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVCLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuRCxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUMzRCxPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsY0FBb0MsRUFBRSxTQUErQjtRQUMxRixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRTtZQUMxRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFdBQVc7Z0JBQ3JDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLGlCQUFpQjtnQkFDekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7Z0JBQzFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLENBQUM7Z0JBQ2xGLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLFVBQVUsRUFBQyxDQUFDO2FBQzlEO2lCQUFNLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUMxQixjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsQ0FBQztnQkFDdkYsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLENBQUM7YUFDbkY7aUJBQU07Z0JBQ0wsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsQ0FBQztnQkFDL0YsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsQ0FBQzthQUMzRjtTQUNGO0lBQ0gsQ0FBQztJQUVPLCtCQUErQjtRQUNyQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxHQUFHO1FBQ2hDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3ZCLE1BQU0sR0FBRyxJQUFJLENBQUM7YUFDZjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Z1dBbEtVLHdDQUF3QyxTQUF4Qyx3Q0FBd0M7MkZBQXhDLHdDQUF3QztRQ1hyRCw4QkFBdUQsWUFBQSxTQUFBLGNBQUE7UUFFekIsWUFBa0M7O1FBQUEsaUJBQU8sRUFBQTtRQUNuRSxxQkFBUztRQUNYLGlCQUFLO1FBQ0wsZ0NBQTBFLFlBQUEsU0FBQTtRQUl0RSx5RkFNSztRQUNMLHNCQUFTO1FBQ1gsaUJBQUs7UUFFTCwrR0FzRWU7UUFDZixpQkFBUSxFQUFBLEVBQUE7O1FBMUZlLDZDQUEyQjtRQUV4QixlQUFrQztRQUFsQywrREFBa0M7UUFPbEMsZUFBVTtRQUFWLHFDQUFVO1FBVUwsZUFBUztRQUFULGtDQUFTOzt1RkRSL0Isd0NBQXdDO2NBTHBELFNBQVM7MkJBQ0UseUNBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNvcnRPcmRlciB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWFkQ29tcGxleEZpZWxkQ29sbGVjdGlvblRhYmxlQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgY29sdW1uczogc3RyaW5nW107XG4gIHB1YmxpYyBjb2x1bW5zVmVydGljYWxMYWJlbDogYW55O1xuICBwdWJsaWMgY29sdW1uc0hvcml6b250YWxMYWJlbDogYW55O1xuICBwdWJsaWMgY29sdW1uc0FsbExhYmVsczogYW55O1xuICBwdWJsaWMgcm93czogYW55W10gPSBbXTtcbiAgcHVibGljIGlzSGlkZGVuOiBib29sZWFuW10gPSBbXTtcbiAgcHJpdmF0ZSBzdGF0aWMgaXNTb3J0QXNjZW5kaW5nKGNvbHVtbjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEoY29sdW1uLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLlVOU09SVEVEIHx8IGNvbHVtbi5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5ERVNDRU5ESU5HKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyXG4gICAgICAmJiB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyLnRyaW0oKS5zdGFydHNXaXRoKCcjVEFCTEUoJykpIHtcblxuICAgICAgY29uc3QgZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPSB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyLnRyaW0oKTtcbiAgICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nID0gZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIucmVwbGFjZSgnI1RBQkxFKCcsICcnKTtcbiAgICAgIHRoaXMuY29sdW1ucyA9IHJlc3VsdC5yZXBsYWNlKCcpJywgJycpLnNwbGl0KCcsJykubWFwKChjOiBzdHJpbmcpID0+IGMudHJpbSgpKTtcblxuICAgICAgY29uc3QgbGFiZWxzVmVydGljYWw6IHsgW2s6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICBjb25zdCBsYWJlbHNIb3Jpem9udGFsOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgY29uc3QgYWxsTGFiZWxzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgdGhpcy5wb3B1bGF0ZUNhc2VGaWVsZFZhbHVlc0ludG9Sb3dzKCk7XG4gICAgICB0aGlzLnBvcHVsYXRlTGFiZWxzKGxhYmVsc1ZlcnRpY2FsLCBhbGxMYWJlbHMpO1xuICAgICAgdGhpcy5wb3B1bGF0ZUhvcml6b250YWxMYWJlbHMobGFiZWxzSG9yaXpvbnRhbCwgYWxsTGFiZWxzLCBsYWJlbHNWZXJ0aWNhbCk7XG5cbiAgICAgIHRoaXMuY29sdW1uc1ZlcnRpY2FsTGFiZWwgPSBsYWJlbHNWZXJ0aWNhbDtcbiAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbCA9IGxhYmVsc0hvcml6b250YWw7XG4gICAgICB0aGlzLmNvbHVtbnNBbGxMYWJlbHMgPSBhbGxMYWJlbHM7XG5cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SW1hZ2Uocm93KTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0hpZGRlbltyb3ddKSB7XG4gICAgICByZXR1cm4gJ2ltZy9hY2NvcmRpb24tcGx1cy5wbmcnO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5pc1ZlcnRpY2xlRGF0YU5vdEVtcHR5KHJvdykpIHtcbiAgICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLW1pbnVzLnBuZyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzSGlkZGVuW3Jvd10gPSB0cnVlO1xuICAgICAgICByZXR1cm4gJ2ltZy9hY2NvcmRpb24tcGx1cy5wbmcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBOZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlICdjY2RGaWVsZHNGaWx0ZXInIHBpcGUgaXMgdXNlZCwgYXMgaXQgbmVlZHMgYSBjYXNlRmllbGQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2FzZUZpZWxkVmFsdWUoZmllbGQsIHZhbHVlKTogYm9vbGVhbiB7XG4gICAgZmllbGQudmFsdWUgPSB2YWx1ZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc05vdEJsYW5rKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09ICcnO1xuICB9XG5cbiAgcHVibGljIGFkZENhc2VSZWZlcmVuY2VWYWx1ZShmaWVsZCwgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgZmllbGQudmFsdWUgPSB7IENhc2VSZWZlcmVuY2U6IHZhbHVlfTtcbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cblxuICBwdWJsaWMgdG9DYXNlRmllbGQoaWQ6IHN0cmluZywgbGFiZWw6IHN0cmluZywgZmllbGRUeXBlOiBhbnksIHZhbHVlOiBhbnkpOiBDYXNlRmllbGQge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VGaWVsZCgpLCB7XG4gICAgICBpZCxcbiAgICAgIGxhYmVsLFxuICAgICAgZGlzcGxheV9jb250ZXh0OiAnUkVBRE9OTFknLFxuICAgICAgdmFsdWUsXG4gICAgICBmaWVsZF90eXBlOiBmaWVsZFR5cGVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBrZWVwT3JpZ2luYWxPcmRlciA9IChhLCBiKSA9PiBhLmtleTtcblxuICBwdWJsaWMgc29ydFJvd3NCeUNvbHVtbnMoY29sdW1uKTogdm9pZCB7XG4gICAgY29uc3Qgc2hvdWxkU29ydEluQXNjZW5kaW5nT3JkZXIgPSB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRFxuICAgICAgfHwgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORztcblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpzd2l0Y2gtZGVmYXVsdFxuICAgIHN3aXRjaCAodGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0udHlwZS50eXBlKSB7XG4gICAgICBjYXNlICdOdW1iZXInOlxuICAgICAgY2FzZSAnTW9uZXlHQlAnOiB7XG4gICAgICAgIGlmIChzaG91bGRTb3J0SW5Bc2NlbmRpbmdPcmRlcikge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBhW2NvbHVtbl0gLSBiW2NvbHVtbl0pO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5BU0NFTkRJTkc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yb3dzLnNvcnQoKGEsIGIpID0+IGJbY29sdW1uXSAtIGFbY29sdW1uXSk7XG4gICAgICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdUZXh0JzpcbiAgICAgIGNhc2UgJ1RleHRBcmVhJzpcbiAgICAgIGNhc2UgJ0VtYWlsJzpcbiAgICAgIGNhc2UgJ0RhdGUnOlxuICAgICAgY2FzZSAnRGF0ZVRpbWUnOlxuICAgICAgY2FzZSAnTGFiZWwnOlxuICAgICAgY2FzZSAnUG9zdGNvZGUnOlxuICAgICAgY2FzZSAnWWVzT3JObyc6XG4gICAgICBjYXNlICdQaG9uZVVLJzpcbiAgICAgIGNhc2UgJ0ZpeGVkTGlzdCc6IHtcbiAgICAgICAgaWYgKHNob3VsZFNvcnRJbkFzY2VuZGluZ09yZGVyKSB7XG4gICAgICAgICAgdGhpcy5yb3dzLnNvcnQoKGEsIGIpID0+IGFbY29sdW1uXSA8IGJbY29sdW1uXSA/IC0xIDogYVtjb2x1bW5dID4gYltjb2x1bW5dID8gMSA6IDApO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5BU0NFTkRJTkc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yb3dzLnNvcnQoKGEsIGIpID0+IGFbY29sdW1uXSA8IGJbY29sdW1uXSA/IDEgOiBhW2NvbHVtbl0gPiBiW2NvbHVtbl0gPyAtMSA6IDApO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzb3J0V2lkZ2V0KGNvbHVtbjogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudC5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKSA/ICcmIzk2NjA7JyA6ICcmIzk2NTA7JztcbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVIb3Jpem9udGFsTGFiZWxzKGxhYmVsc0hvcml6b250YWw6IHsgW3A6IHN0cmluZ106IGFueSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxMYWJlbHM6IHsgW3A6IHN0cmluZ106IGFueSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHNWZXJ0aWNhbDogeyBbcDogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIHRoaXMuY29sdW1ucykge1xuICAgICAgY29uc3QgdHJpbW1lZElkID0gaWQudHJpbSgpO1xuICAgICAgbGFiZWxzSG9yaXpvbnRhbFt0cmltbWVkSWRdID0gYWxsTGFiZWxzW3RyaW1tZWRJZF07XG4gICAgICBsYWJlbHNIb3Jpem9udGFsW3RyaW1tZWRJZF0uc29ydE9yZGVyID0gU29ydE9yZGVyLlVOU09SVEVEO1xuICAgICAgZGVsZXRlIGxhYmVsc1ZlcnRpY2FsW3RyaW1tZWRJZF07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUxhYmVscyhsYWJlbHNWZXJ0aWNhbDogeyBbcDogc3RyaW5nXTogYW55IH0sIGFsbExhYmVsczogeyBbcDogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9iaiBvZiB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzKSB7XG4gICAgICBpZiAob2JqLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0ZpeGVkTGlzdCcgfHxcbiAgICAgICAgb2JqLmZpZWxkX3R5cGUudHlwZSA9PT0gJ011bHRpU2VsZWN0TGlzdCcgfHxcbiAgICAgICAgb2JqLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0ZpeGVkUmFkaW9MaXN0Jykge1xuICAgICAgICBsYWJlbHNWZXJ0aWNhbFtvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IG9iai5maWVsZF90eXBlLCBjYXNlRmllbGQ6IG9ian07XG4gICAgICAgIGFsbExhYmVsc1tvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IG9iai5maWVsZF90eXBlfTtcbiAgICAgIH0gZWxzZSBpZiAob2JqLmlzQ29tcGxleCgpKSB7XG4gICAgICAgIGxhYmVsc1ZlcnRpY2FsW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgICBhbGxMYWJlbHNbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZS50eXBlLCBjYXNlRmllbGQ6IG9ian07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsYWJlbHNWZXJ0aWNhbFtvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IHt0eXBlOiBvYmouZmllbGRfdHlwZS50eXBlfSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgICBhbGxMYWJlbHNbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiB7dHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZX0sIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlQ2FzZUZpZWxkVmFsdWVzSW50b1Jvd3MoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBvYmogb2YgdGhpcy5jYXNlRmllbGQudmFsdWUpIHtcbiAgICAgIHRoaXMucm93cy5wdXNoKG9iai52YWx1ZSk7XG4gICAgICB0aGlzLmlzSGlkZGVuLnB1c2godHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ZlcnRpY2xlRGF0YU5vdEVtcHR5KHJvdyk6IGJvb2xlYW4ge1xuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmNvbHVtbnNWZXJ0aWNhbExhYmVsKSB7XG4gICAgICBpZiAodGhpcy5yb3dzW3Jvd11ba2V5XSkge1xuICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29tcGxleC1wYW5lbFwiIFtoaWRkZW5dPVwiY2FzZUZpZWxkLmhpZGRlblwiPlxuICA8ZGwgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRpdGxlXCI+XG4gICAgPGR0PjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y2FzZUZpZWxkLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC9kdD5cbiAgICA8ZGQ+PC9kZD5cbiAgPC9kbD5cbiAgPHRhYmxlIGNsYXNzPVwiY29tcGxleC1wYW5lbC10YWJsZVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb21wbGV4IHBhbmVsIHRhYmxlXCI+XG4gICAgPHRib2R5PlxuICAgIDwhLS0gPENPTVBMRVggdGFibGUgZmllbGQgaGVhZGVyPi0tPlxuICAgIDx0cj5cbiAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGluZyBvZiBjb2x1bW5zXCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tjb2x1bW5zQWxsTGFiZWxzW2hlYWRpbmddLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAgICAoY2xpY2spPVwic29ydFJvd3NCeUNvbHVtbnMoaGVhZGluZylcIlxuICAgICAgICAgICBjbGFzcz1cInNvcnQtd2lkZ2V0XCJcbiAgICAgICAgICAgW2lubmVySFRNTF09XCJzb3J0V2lkZ2V0KGNvbHVtbnNBbGxMYWJlbHNbaGVhZGluZ10pXCI+PC9hPlxuICAgICAgPC90aD5cbiAgICAgIDx0aD48L3RoPlxuICAgIDwvdHI+XG4gICAgPCEtLSA8L0NPTVBMRVggdGFibGUgZmllbGQgaGVhZGVyPi0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93czsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgY29sbGFwc2VkIHZpZXc+LS0+XG4gICAgICA8dHIgY2xhc3M9XCJuZXctdGFibGUtcm93IGFjY29yZGlvbi1oZWFkaW5nXCIgKGNsaWNrKT1cImlzSGlkZGVuW2ldID0gIWlzSGlkZGVuW2ldXCJcbiAgICAgICAgICBbY2xhc3MubGFzdC1hY2NvcmRpb25dPVwiaXNIaWRkZW5baV1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaGVhZGluZyBvZiBjb2x1bW5zXCI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW1baGVhZGluZ107IGVsc2Ugc2hvd0VtcHR5VGRcIj5cbiAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkXG4gICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJ0b0Nhc2VGaWVsZChoZWFkaW5nLCBpdGVtW2hlYWRpbmddLmxhYmVsLCBjb2x1bW5zSG9yaXpvbnRhbExhYmVsW2hlYWRpbmddLnR5cGUsIGl0ZW1baGVhZGluZ10pXCJcbiAgICAgICAgICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzaG93RW1wdHlUZD5cbiAgICAgICAgICAgICAgPGRpdj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxvYXQ6IHJpZ2h0O1wiPlxuICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPiA8aW1nIHNyYz1cInt7IGdldEltYWdlKGkpIH19XCIgYWx0PVwiaW1hZ2VcIiBjbGFzcz1cImFjY29yZGlvbi1pbWFnZVwiLz48L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPCEtLSA8L0NPTVBMRVggdGFibGUgY29sbGFwc2VkIHZpZXc+LS0+XG4gICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGV4cGFuZGVkIHZpZXc+LS0+XG4gICAgICA8dHIgW2hpZGRlbl09XCJpc0hpZGRlbltpXVwiPlxuICAgICAgICA8dGQgW2NvbFNwYW5dPVwiY29sdW1ucy5sZW5ndGggKyAxXCI+XG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiY29tcGxleC1wYW5lbC10YWJsZVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb21wbGV4IHBhbmVsIHRhYmxlIGV4cGFuZGVkXCI+XG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB2TGFiZWwgb2YgY29sdW1uc1ZlcnRpY2FsTGFiZWwgfCBrZXl2YWx1ZToga2VlcE9yaWdpbmFsT3JkZXIgfCBjY2RDb2xsZWN0aW9uVGFibGVDYXNlRmllbGRzRmlsdGVyOiBjYXNlRmllbGQ6IHJvd3NbaV0gfCBjY2RSZWFkRmllbGRzRmlsdGVyOnRydWUgOnVuZGVmaW5lZCA6dHJ1ZVwiPlxuICAgICAgICAgICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGV4cGFuZGFibGUgYm9keSBzaW1wbGUgZmllbGQ+LS0+XG4gICAgICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtc2ltcGxlLWZpZWxkIGFjY29yZGlvbi1ib2R5XCIgKm5nSWY9XCJpdGVtW3ZMYWJlbC5pZF1cIiBbaGlkZGVuXT1cInZMYWJlbC5oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e3ZMYWJlbC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidkxhYmVsWyd0eXBlJ10gIT09ICdDb21wbGV4J1wiIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIFtjYXNlRmllbGRdPVwidG9DYXNlRmllbGQoJycsIHZMYWJlbC5sYWJlbCwgdkxhYmVsLmZpZWxkX3R5cGUsIGl0ZW1bdkxhYmVsLmlkXSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGV4cGFuZGFibGUgYm9keSBzaW1wbGUgZmllbGQ+LS0+XG5cbiAgICAgICAgICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgY29tcGxleCBmaWVsZD4tLT5cbiAgICAgICAgICAgICAgPHRyICpuZ0lmPVwidkxhYmVsWyd0eXBlJ10gPT09ICdDb21wbGV4JyAmJiBhZGRDYXNlRmllbGRWYWx1ZSh2TGFiZWwsIGl0ZW1bdkxhYmVsLmlkXSlcIiBbaGlkZGVuXT1cInZMYWJlbC5oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhc2VGaWVsZCBvZiB2TGFiZWwgfCBjY2RSZWFkRmllbGRzRmlsdGVyOnRydWUgOnVuZGVmaW5lZCA6dHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtY29tcG91bmQtZmllbGRcIiAqbmdJZj1cIihjYXNlRmllbGQgfCBjY2RJc0NvbXBvdW5kKTsgZWxzZSBTaW1wbGVSb3dcIiBbaGlkZGVuXT1cImNhc2VGaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPjxjY2QtZmllbGQtcmVhZCBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI1NpbXBsZVJvdz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtbmVzdGVkLWZpZWxkXCIgW2hpZGRlbl09XCJjYXNlRmllbGQuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y2FzZUZpZWxkLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiIWl0ZW1bdkxhYmVsLmlkXT8uaGFzT3duUHJvcGVydHkoJ0Nhc2VSZWZlcmVuY2UnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPjxjY2QtZmllbGQtcmVhZCBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaXRlbVt2TGFiZWwuaWRdPy5oYXNPd25Qcm9wZXJ0eSgnQ2FzZVJlZmVyZW5jZScpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNjZC1yZWFkLWNhc2UtbGluay1maWVsZCBbY2FzZUZpZWxkXT1cImFkZENhc2VSZWZlcmVuY2VWYWx1ZShjYXNlRmllbGQsIGl0ZW1bdkxhYmVsLmlkXS5DYXNlUmVmZXJlbmNlKVwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1yZWFkLWNhc2UtbGluay1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgZXhwYW5kYWJsZSBib2R5IGNvbXBsZXggZmllbGQ+LS0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8IS0tIDwvQ09NUExFWCB0YWJsZSBleHBhbmRlZCB2aWV3Pi0tPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
@@ -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
@@ -1,6 +1,8 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  // tslint:disable:variable-name
3
3
  import { Expose, Type } from 'class-transformer';
4
+ import { SortOrder } from '../../sort-order.enum';
5
+ import { CaseFileViewSortColumns } from '../case-file-view-sort-columns.enum';
4
6
  import { DocumentTreeNodeType } from './document-tree-node-type.model';
5
7
  export class DocumentTreeNode {
6
8
  get childDocumentCount() {
@@ -17,46 +19,52 @@ export class DocumentTreeNode {
17
19
  };
18
20
  return countChildren(this.children);
19
21
  }
20
- sortChildrenAscending() {
22
+ sortChildrenAscending(column, sortOrder) {
21
23
  const sortAscending = () => {
22
24
  return (a, b) => {
23
- const nameA = a.name.toUpperCase();
24
- const nameB = b.name.toUpperCase();
25
+ const nodeA = this.getNodeToSort(a, column, sortOrder);
26
+ const nodeB = this.getNodeToSort(b, column, sortOrder);
25
27
  if (a.type === DocumentTreeNodeType.FOLDER || b.type === DocumentTreeNodeType.FOLDER) {
26
28
  return 0;
27
29
  }
28
- if (nameA < nameB) {
30
+ if (!nodeA || !nodeB) {
31
+ return 0;
32
+ }
33
+ if (nodeA < nodeB) {
29
34
  return -1;
30
35
  }
31
- if (nameA > nameB) {
36
+ if (nodeA > nodeB) {
32
37
  return 1;
33
38
  }
34
39
  };
35
40
  };
36
41
  this.children?.sort(sortAscending());
37
42
  this.children?.forEach((childNodes) => {
38
- childNodes.sortChildrenAscending();
43
+ childNodes.sortChildrenAscending(column, sortOrder);
39
44
  });
40
45
  }
41
- sortChildrenDescending() {
46
+ sortChildrenDescending(column, sortOrder) {
42
47
  const sortDescending = () => {
43
48
  return (a, b) => {
44
- const nameA = a.name.toUpperCase();
45
- const nameB = b.name.toUpperCase();
49
+ const nodeA = this.getNodeToSort(a, column, sortOrder);
50
+ const nodeB = this.getNodeToSort(b, column, sortOrder);
46
51
  if (a.type === DocumentTreeNodeType.FOLDER || b.type === DocumentTreeNodeType.FOLDER) {
47
52
  return 0;
48
53
  }
49
- if (nameA > nameB) {
54
+ if (!nodeA || !nodeB) {
55
+ return 0;
56
+ }
57
+ if (nodeA > nodeB) {
50
58
  return -1;
51
59
  }
52
- if (nameA < nameB) {
60
+ if (nodeA < nodeB) {
53
61
  return 1;
54
62
  }
55
63
  };
56
64
  };
57
65
  this.children?.sort(sortDescending());
58
66
  this.children?.forEach((childNodes) => {
59
- childNodes.sortChildrenDescending();
67
+ childNodes.sortChildrenDescending(column, sortOrder);
60
68
  });
61
69
  }
62
70
  get flattenedAll() {
@@ -77,6 +85,25 @@ export class DocumentTreeNode {
77
85
  }).flat()
78
86
  ];
79
87
  }
88
+ getNodeToSort(node, column, sortOrder) {
89
+ if (column === CaseFileViewSortColumns.DOCUMENT_NAME) {
90
+ return node?.name
91
+ ? node.name.toUpperCase()
92
+ : '';
93
+ }
94
+ if (column === CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) {
95
+ if (node?.upload_timestamp) {
96
+ return new Date(node.upload_timestamp);
97
+ }
98
+ if (sortOrder === SortOrder.ASCENDING) {
99
+ return new Date(9999, 12, 31);
100
+ }
101
+ if (sortOrder === SortOrder.DESCENDING) {
102
+ return new Date(1111, 1, 1);
103
+ }
104
+ }
105
+ return '';
106
+ }
80
107
  }
81
108
  __decorate([
82
109
  Type(() => DocumentTreeNode),
@@ -87,4 +114,4 @@ __decorate([
87
114
  __metadata("design:type", Object),
88
115
  __metadata("design:paramtypes", [])
89
116
  ], DocumentTreeNode.prototype, "childDocumentCount", null);
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHJlZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vY2FzZS1maWxlLXZpZXcvZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFdkUsTUFBTSxPQUFPLGdCQUFnQjtJQVMzQixJQUNXLGtCQUFrQjtRQUMzQixNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQTBDLEVBQUUsRUFBRTtZQUNuRSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZCxJQUFJLFVBQVUsRUFBRSxNQUFNLEVBQUU7Z0JBQ3RCLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO2dCQUN0RSxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQztnQkFDMUIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUM5QixLQUFLLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLE9BQU8s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LEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs7a0RBQ1E7QUFLckM7SUFBQyxNQUFNLEVBQUU7OzswREFnQlIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTp2YXJpYWJsZS1uYW1lXG5pbXBvcnQgeyBFeHBvc2UsIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBEb2N1bWVudFRyZWVOb2RlVHlwZSB9IGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlLXR5cGUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRUcmVlTm9kZSB7XG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyB0eXBlOiBEb2N1bWVudFRyZWVOb2RlVHlwZTtcbiAgQFR5cGUoKCkgPT4gRG9jdW1lbnRUcmVlTm9kZSlcbiAgcHVibGljIGNoaWxkcmVuPzogRG9jdW1lbnRUcmVlTm9kZVtdO1xuICBwdWJsaWMgZG9jdW1lbnRfZmlsZW5hbWU/OiBzdHJpbmc7XG4gIHB1YmxpYyBkb2N1bWVudF9iaW5hcnlfdXJsPzogc3RyaW5nO1xuICBwdWJsaWMgYXR0cmlidXRlX3BhdGg/OiBzdHJpbmc7XG5cbiAgQEV4cG9zZSgpXG4gIHB1YmxpYyBnZXQgY2hpbGREb2N1bWVudENvdW50KCkge1xuICAgIGNvbnN0IGNvdW50Q2hpbGRyZW4gPSAoY2hpbGROb2RlczogRG9jdW1lbnRUcmVlTm9kZVtdIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgaWYgKGNoaWxkTm9kZXM/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBkb2N1bWVudHMgPSBjaGlsZE5vZGVzLmZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSA9PT0gJ2RvY3VtZW50Jyk7XG4gICAgICAgIGNvdW50ICs9IGRvY3VtZW50cy5sZW5ndGg7XG4gICAgICAgIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGRyZW4pID0+IHtcbiAgICAgICAgICBjb3VudCArPSBjb3VudENoaWxkcmVuKGNoaWxkcmVuLmNoaWxkcmVuKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb3VudDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvdW50Q2hpbGRyZW4odGhpcy5jaGlsZHJlbik7XG4gIH1cblxuICBwdWJsaWMgc29ydENoaWxkcmVuQXNjZW5kaW5nKCkge1xuICAgIGNvbnN0IHNvcnRBc2NlbmRpbmcgPSAoKSA9PiB7XG4gICAgICByZXR1cm4gKGEsIGIpID0+IHtcbiAgICAgICAgY29uc3QgbmFtZUEgPSBhLm5hbWUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgY29uc3QgbmFtZUIgPSBiLm5hbWUudG9VcHBlckNhc2UoKTtcblxuICAgICAgICBpZiAoYS50eXBlID09PSBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVIgfHwgYi50eXBlID09PSBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVIpIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuYW1lQSA8IG5hbWVCKSB7XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5hbWVBID4gbmFtZUIpIHtcbiAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgdGhpcy5jaGlsZHJlbj8uc29ydChzb3J0QXNjZW5kaW5nKCkpO1xuICAgIHRoaXMuY2hpbGRyZW4/LmZvckVhY2goKGNoaWxkTm9kZXMpID0+IHtcbiAgICAgIGNoaWxkTm9kZXMuc29ydENoaWxkcmVuQXNjZW5kaW5nKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc29ydENoaWxkcmVuRGVzY2VuZGluZygpIHtcbiAgICBjb25zdCBzb3J0RGVzY2VuZGluZyA9ICgpID0+IHtcbiAgICAgIHJldHVybiAoYSwgYikgPT4ge1xuICAgICAgICBjb25zdCBuYW1lQSA9IGEubmFtZS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICBjb25zdCBuYW1lQiA9IGIubmFtZS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgICAgIGlmIChhLnR5cGUgPT09IERvY3VtZW50VHJlZU5vZGVUeXBlLkZPTERFUiB8fCBiLnR5cGUgPT09IERvY3VtZW50VHJlZU5vZGVUeXBlLkZPTERFUikge1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5hbWVBID4gbmFtZUIpIHtcbiAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmFtZUEgPCBuYW1lQikge1xuICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH07XG5cbiAgICB0aGlzLmNoaWxkcmVuPy5zb3J0KHNvcnREZXNjZW5kaW5nKCkpO1xuICAgIHRoaXMuY2hpbGRyZW4/LmZvckVhY2goKGNoaWxkTm9kZXMpID0+IHtcbiAgICAgIGNoaWxkTm9kZXMuc29ydENoaWxkcmVuRGVzY2VuZGluZygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBmbGF0dGVuZWRBbGwoKTogRG9jdW1lbnRUcmVlTm9kZVtdIHtcbiAgICBjb25zdCBmbGF0dGVuQ2hpbGRyZW4gPSAobm9kZUNoaWxkOiBEb2N1bWVudFRyZWVOb2RlKTogRG9jdW1lbnRUcmVlTm9kZVtdID0+IHtcbiAgICAgIGNvbnN0IGZsYXR0ZW5lZE5vZGVzID0gW107XG4gICAgICBmbGF0dGVuZWROb2Rlcy5wdXNoKG5vZGVDaGlsZCk7XG5cbiAgICAgIGlmIChub2RlQ2hpbGQuY2hpbGRyZW4/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgbm9kZUNoaWxkLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBmbGF0dGVuZWROb2Rlcy5wdXNoKC4uLmZsYXR0ZW5DaGlsZHJlbihjaGlsZCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZsYXR0ZW5lZE5vZGVzO1xuICAgIH07XG5cbiAgICByZXR1cm4gW1xuICAgICAgdGhpcyxcbiAgICAgIC4uLnRoaXMuY2hpbGRyZW4/Lm1hcChpdGVtID0+IHtcbiAgICAgICAgcmV0dXJuIGZsYXR0ZW5DaGlsZHJlbihpdGVtKTtcbiAgICAgIH0pLmZsYXQoKVxuICAgIF07XG4gIH1cbn1cbiJdfQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHJlZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vY2FzZS1maWxlLXZpZXcvZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXZFLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsSUFDVyxrQkFBa0I7UUFDM0IsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUEwQyxFQUFFLEVBQUU7WUFDbkUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxVQUFVLEVBQUUsTUFBTSxFQUFFO2dCQUN0QixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztnQkFDdEUsS0FBSyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQzFCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDOUIsS0FBSyxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVGLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0scUJBQXFCLENBQUMsTUFBYyxFQUFFLFNBQVM7UUFDcEQsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBRXZELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUU7b0JBQ3BGLE9BQU8sQ0FBQyxDQUFDO2lCQUNWO2dCQUVELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ3BCLE9BQU8sQ0FBQyxDQUFDO2lCQUNWO2dCQUVELElBQUksS0FBSyxHQUFHLEtBQUssRUFBRTtvQkFDakIsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDWDtnQkFFRCxJQUFJLEtBQUssR0FBRyxLQUFLLEVBQUU7b0JBQ2pCLE9BQU8sQ0FBQyxDQUFDO2lCQUNWO1lBQ0gsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3BDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sc0JBQXNCLENBQUMsTUFBYyxFQUFFLFNBQVM7UUFDckQsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBRXZELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUU7b0JBQ3BGLE9BQU8sQ0FBQyxDQUFDO2lCQUNWO2dCQUVELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ3BCLE9BQU8sQ0FBQyxDQUFDO2lCQUNWO2dCQUVELElBQUksS0FBSyxHQUFHLEtBQUssRUFBRTtvQkFDakIsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDWDtnQkFFRCxJQUFJLEtBQUssR0FBRyxLQUFLLEVBQUU7b0JBQ2pCLE9BQU8sQ0FBQyxDQUFDO2lCQUNWO1lBQ0gsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3BDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE1BQU0sZUFBZSxHQUFHLENBQUMsU0FBMkIsRUFBc0IsRUFBRTtZQUMxRSxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDMUIsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUvQixJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDbEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDakMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDLENBQUMsQ0FBQzthQUNKO1lBRUQsT0FBTyxjQUFjLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBRUYsT0FBTztZQUNMLElBQUk7WUFDSixHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMzQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7U0FDVixDQUFDO0lBQ0osQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFTLEVBQUUsTUFBYyxFQUFFLFNBQWlCO1FBQ2hFLElBQUksTUFBTSxLQUFLLHVCQUF1QixDQUFDLGFBQWEsRUFBRTtZQUNwRCxPQUFPLElBQUksRUFBRSxJQUFJO2dCQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDekIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNSO1FBQ0QsSUFBSSxNQUFNLEtBQUssdUJBQXVCLENBQUMseUJBQXlCLEVBQUU7WUFDaEUsSUFBSSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzFCLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDeEM7WUFDRCxJQUFJLFNBQVMsS0FBSyxTQUFTLENBQUMsU0FBUyxFQUFFO2dCQUNyQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDL0I7WUFDRCxJQUFJLFNBQVMsS0FBSyxTQUFTLENBQUMsVUFBVSxFQUFFO2dCQUN0QyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDN0I7U0FDRjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGO0FBOUhDO0lBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOztrREFDUTtBQU1yQztJQUFDLE1BQU0sRUFBRTs7OzBEQWdCUiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOnZhcmlhYmxlLW5hbWVcbmltcG9ydCB7IEV4cG9zZSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNvcnRPcmRlciB9IGZyb20gJy4uLy4uL3NvcnQtb3JkZXIuZW51bSc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdTb3J0Q29sdW1ucyB9IGZyb20gJy4uL2Nhc2UtZmlsZS12aWV3LXNvcnQtY29sdW1ucy5lbnVtJztcbmltcG9ydCB7IERvY3VtZW50VHJlZU5vZGVUeXBlIH0gZnJvbSAnLi9kb2N1bWVudC10cmVlLW5vZGUtdHlwZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBEb2N1bWVudFRyZWVOb2RlIHtcbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIHR5cGU6IERvY3VtZW50VHJlZU5vZGVUeXBlO1xuICBAVHlwZSgoKSA9PiBEb2N1bWVudFRyZWVOb2RlKVxuICBwdWJsaWMgY2hpbGRyZW4/OiBEb2N1bWVudFRyZWVOb2RlW107XG4gIHB1YmxpYyBkb2N1bWVudF9maWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIGRvY3VtZW50X2JpbmFyeV91cmw/OiBzdHJpbmc7XG4gIHB1YmxpYyBhdHRyaWJ1dGVfcGF0aD86IHN0cmluZztcbiAgcHVibGljIHVwbG9hZF90aW1lc3RhbXA/OiBzdHJpbmc7XG5cbiAgQEV4cG9zZSgpXG4gIHB1YmxpYyBnZXQgY2hpbGREb2N1bWVudENvdW50KCkge1xuICAgIGNvbnN0IGNvdW50Q2hpbGRyZW4gPSAoY2hpbGROb2RlczogRG9jdW1lbnRUcmVlTm9kZVtdIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgaWYgKGNoaWxkTm9kZXM/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBkb2N1bWVudHMgPSBjaGlsZE5vZGVzLmZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSA9PT0gJ2RvY3VtZW50Jyk7XG4gICAgICAgIGNvdW50ICs9IGRvY3VtZW50cy5sZW5ndGg7XG4gICAgICAgIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGRyZW4pID0+IHtcbiAgICAgICAgICBjb3VudCArPSBjb3VudENoaWxkcmVuKGNoaWxkcmVuLmNoaWxkcmVuKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb3VudDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvdW50Q2hpbGRyZW4odGhpcy5jaGlsZHJlbik7XG4gIH1cblxuICBwdWJsaWMgc29ydENoaWxkcmVuQXNjZW5kaW5nKGNvbHVtbjogbnVtYmVyLCBzb3J0T3JkZXIpIHtcbiAgICBjb25zdCBzb3J0QXNjZW5kaW5nID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGVBID0gdGhpcy5nZXROb2RlVG9Tb3J0KGEsIGNvbHVtbiwgc29ydE9yZGVyKTtcbiAgICAgICAgY29uc3Qgbm9kZUIgPSB0aGlzLmdldE5vZGVUb1NvcnQoYiwgY29sdW1uLCBzb3J0T3JkZXIpO1xuXG4gICAgICAgIGlmIChhLnR5cGUgPT09IERvY3VtZW50VHJlZU5vZGVUeXBlLkZPTERFUiB8fCBiLnR5cGUgPT09IERvY3VtZW50VHJlZU5vZGVUeXBlLkZPTERFUikge1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFub2RlQSB8fCAhbm9kZUIpIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlQSA8IG5vZGVCKSB7XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vZGVBID4gbm9kZUIpIHtcbiAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgdGhpcy5jaGlsZHJlbj8uc29ydChzb3J0QXNjZW5kaW5nKCkpO1xuICAgIHRoaXMuY2hpbGRyZW4/LmZvckVhY2goKGNoaWxkTm9kZXMpID0+IHtcbiAgICAgIGNoaWxkTm9kZXMuc29ydENoaWxkcmVuQXNjZW5kaW5nKGNvbHVtbiwgc29ydE9yZGVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0Q2hpbGRyZW5EZXNjZW5kaW5nKGNvbHVtbjogbnVtYmVyLCBzb3J0T3JkZXIpIHtcbiAgICBjb25zdCBzb3J0RGVzY2VuZGluZyA9ICgpID0+IHtcbiAgICAgIHJldHVybiAoYSwgYikgPT4ge1xuICAgICAgICBjb25zdCBub2RlQSA9IHRoaXMuZ2V0Tm9kZVRvU29ydChhLCBjb2x1bW4sIHNvcnRPcmRlcik7XG4gICAgICAgIGNvbnN0IG5vZGVCID0gdGhpcy5nZXROb2RlVG9Tb3J0KGIsIGNvbHVtbiwgc29ydE9yZGVyKTtcblxuICAgICAgICBpZiAoYS50eXBlID09PSBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVIgfHwgYi50eXBlID09PSBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVIpIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghbm9kZUEgfHwgIW5vZGVCKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobm9kZUEgPiBub2RlQikge1xuICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlQSA8IG5vZGVCKSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfTtcblxuICAgIHRoaXMuY2hpbGRyZW4/LnNvcnQoc29ydERlc2NlbmRpbmcoKSk7XG4gICAgdGhpcy5jaGlsZHJlbj8uZm9yRWFjaCgoY2hpbGROb2RlcykgPT4ge1xuICAgICAgY2hpbGROb2Rlcy5zb3J0Q2hpbGRyZW5EZXNjZW5kaW5nKGNvbHVtbiwgc29ydE9yZGVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmxhdHRlbmVkQWxsKCk6IERvY3VtZW50VHJlZU5vZGVbXSB7XG4gICAgY29uc3QgZmxhdHRlbkNoaWxkcmVuID0gKG5vZGVDaGlsZDogRG9jdW1lbnRUcmVlTm9kZSk6IERvY3VtZW50VHJlZU5vZGVbXSA9PiB7XG4gICAgICBjb25zdCBmbGF0dGVuZWROb2RlcyA9IFtdO1xuICAgICAgZmxhdHRlbmVkTm9kZXMucHVzaChub2RlQ2hpbGQpO1xuXG4gICAgICBpZiAobm9kZUNoaWxkLmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG5vZGVDaGlsZC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgZmxhdHRlbmVkTm9kZXMucHVzaCguLi5mbGF0dGVuQ2hpbGRyZW4oY2hpbGQpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmbGF0dGVuZWROb2RlcztcbiAgICB9O1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMsXG4gICAgICAuLi50aGlzLmNoaWxkcmVuPy5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBmbGF0dGVuQ2hpbGRyZW4oaXRlbSk7XG4gICAgICB9KS5mbGF0KClcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2RlVG9Tb3J0KG5vZGU6IGFueSwgY29sdW1uOiBudW1iZXIsIHNvcnRPcmRlcjogbnVtYmVyKTogRGF0ZSB8IHN0cmluZyB7XG4gICAgaWYgKGNvbHVtbiA9PT0gQ2FzZUZpbGVWaWV3U29ydENvbHVtbnMuRE9DVU1FTlRfTkFNRSkge1xuICAgICAgcmV0dXJuIG5vZGU/Lm5hbWVcbiAgICAgICAgPyBub2RlLm5hbWUudG9VcHBlckNhc2UoKVxuICAgICAgICA6ICcnO1xuICAgIH1cbiAgICBpZiAoY29sdW1uID09PSBDYXNlRmlsZVZpZXdTb3J0Q29sdW1ucy5ET0NVTUVOVF9VUExPQURfVElNRVNUQU1QKSB7XG4gICAgICBpZiAobm9kZT8udXBsb2FkX3RpbWVzdGFtcCkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUobm9kZS51cGxvYWRfdGltZXN0YW1wKTtcbiAgICAgIH1cbiAgICAgIGlmIChzb3J0T3JkZXIgPT09IFNvcnRPcmRlci5BU0NFTkRJTkcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKDk5OTksIDEyLCAzMSk7XG4gICAgICB9XG4gICAgICBpZiAoc29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORykge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoMTExMSwgMSwgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  export * from './case-file-view-category.model';
2
2
  export * from './case-file-view-document.model';
3
+ export * from './case-file-view-sort-columns.enum';
3
4
  export * from './categories-and-documents.model';
4
- export * from './document-tree-node/document-tree-node.model';
5
5
  export * from './document-tree-node/document-tree-node-type.model';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsb0RBQW9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWNhdGVnb3J5Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1maWxlLXZpZXctZG9jdW1lbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXRlZ29yaWVzLWFuZC1kb2N1bWVudHMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudC10cmVlLW5vZGUvZG9jdW1lbnQtdHJlZS1ub2RlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS10eXBlLm1vZGVsJztcbiJdfQ==
6
+ export * from './document-tree-node/document-tree-node.model';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywrQ0FBK0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FzZS1maWxlLXZpZXctY2F0ZWdvcnkubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZpbGUtdmlldy1kb2N1bWVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LXNvcnQtY29sdW1ucy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS10eXBlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS5tb2RlbCc7XG4iXX0=