dcdx 1.3.0-next.4 → 1.3.0-next.41

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 (34) hide show
  1. package/assets/versions.json +1 -1
  2. package/lib/commands/apt.js +2552 -1663
  3. package/lib/commands/build.js +1203 -1119
  4. package/lib/commands/database.js +1199 -1115
  5. package/lib/commands/debug.js +1209 -1122
  6. package/lib/commands/install.js +1895 -1179
  7. package/lib/commands/reset.js +1201 -1116
  8. package/lib/commands/run.js +1201 -1116
  9. package/lib/commands/stop.js +1201 -1116
  10. package/lib/commands/update.js +1197 -1114
  11. package/lib/index.js +1 -1
  12. package/lib/types/src/apt/helpers/dcapt.d.ts +2 -1
  13. package/lib/types/src/apt/helpers/downloadApp.d.ts +1 -0
  14. package/lib/types/src/apt/helpers/generateDependencyTree.d.ts +2 -0
  15. package/lib/types/src/apt/helpers/generateSCAReport.d.ts +2 -0
  16. package/lib/types/src/apt/helpers/getAppLicense.d.ts +3 -0
  17. package/lib/types/src/apt/helpers/getAptDirectory.d.ts +1 -1
  18. package/lib/types/src/apt/helpers/getClusterURL.d.ts +1 -1
  19. package/lib/types/src/apt/helpers/getHostLicense.d.ts +1 -1
  20. package/lib/types/src/apt/helpers/installApp.d.ts +2 -1
  21. package/lib/types/src/apt/helpers/provisionCluster.d.ts +1 -0
  22. package/lib/types/src/apt/helpers/restartCluster.d.ts +2 -0
  23. package/lib/types/src/apt/helpers/runLuceneTimingTest.d.ts +2 -0
  24. package/lib/types/src/apt/helpers/runPerformanceTest.d.ts +2 -2
  25. package/lib/types/src/apt/helpers/runScalabilityTest.d.ts +2 -2
  26. package/lib/types/src/apt/messages.d.ts +10 -5
  27. package/lib/types/src/helpers/FileWatcher.d.ts +2 -2
  28. package/lib/types/src/helpers/Installer.d.ts +2 -2
  29. package/lib/types/src/helpers/upm.d.ts +2 -2
  30. package/lib/types/src/types/DCAPT.d.ts +293 -90
  31. package/lib/types/src/types/FileWatcher.d.ts +36 -0
  32. package/lib/types/src/types/Install.d.ts +80 -0
  33. package/lib/types/src/types/Installer.d.ts +21 -0
  34. package/package.json +6 -1
@@ -35,7 +35,9 @@ const ActionHandler = async (program, { action, errorHandler }, options) => {
35
35
  }, {
36
36
  wait: 60 * 1 * 1000
37
37
  });
38
- action(ops).catch(err => {
38
+ action(ops).then(() => {
39
+ gracefulExit(0);
40
+ }).catch(err => {
39
41
  if (err instanceof z.ZodError) {
40
42
  err.issues.forEach(issue => {
41
43
  errorMessage += `Unable to parse option ${issue.path.join(',')}: ${issue.message}\n`;
@@ -59,565 +61,593 @@ const ActionHandler = async (program, { action, errorHandler }, options) => {
59
61
  };
60
62
 
61
63
  var jira = [
62
- "latest",
63
- "10.3.0-EAP01-jdk17",
64
- "10.3.0-EAP01",
65
- "10.3.0-EAP01-ubuntu-jdk17",
66
- "10.3.0-EAP01-ubi9",
67
- "10.3.0-EAP01-ubi9-jdk17",
68
- "10.2-jdk17",
69
- "10.2.0",
70
- "10.2",
71
- "10-jdk17",
72
- "ubuntu-jdk17",
64
+ "9.12.4-ubuntu-jdk17",
65
+ "9.15.0",
66
+ "9.15.0-ubuntu-jdk17",
67
+ "9.15.0-jdk17",
68
+ "9.12.3-jdk17",
69
+ "9.12.3",
70
+ "9.12.3-ubuntu-jdk17",
71
+ "10.0.0",
72
+ "10.0.0-ubuntu-jdk17",
73
+ "10.0.0-jdk17",
74
+ "9.15.1-jdk17",
75
+ "9.15.1-ubuntu-jdk17",
76
+ "9.15.1",
77
+ "9.11.3-ubuntu-jdk17",
78
+ "9.11.3",
79
+ "9.12.4",
80
+ "9.12.4-jdk17",
81
+ "10.0-ubuntu-jdk17",
82
+ "10.0.1",
83
+ "10.0-jdk17",
84
+ "10.0.1-jdk17",
85
+ "9.11-jdk17",
86
+ "9.11",
87
+ "9.11.3-jdk17",
88
+ "9.11-ubuntu-jdk17",
89
+ "10.0",
90
+ "10.0.1-ubuntu-jdk17",
91
+ "9.15.2-ubuntu-jdk17",
92
+ "9.15-jdk17",
93
+ "9.15.2",
94
+ "9.15.2-jdk17",
95
+ "9.15-ubuntu-jdk17",
96
+ "9.15",
97
+ "9.12.5-jdk17",
98
+ "9.12.5-ubuntu-jdk17",
99
+ "9.12.5",
100
+ "9.12.0-ubuntu-jdk17",
101
+ "9.12.0-jdk17",
102
+ "9.12.0",
103
+ "10.1.1-ubuntu-jdk17",
104
+ "10.1.1-jdk17",
105
+ "10.1.1",
106
+ "9.12.6-jdk17",
107
+ "9.12.6",
108
+ "9.12.6-ubuntu-jdk17",
109
+ "9.12.1-ubuntu-jdk17",
110
+ "9.12.1-jdk17",
111
+ "9.12.1",
112
+ "9.16.0",
113
+ "9.16.0-jdk17",
114
+ "9.16.0-ubuntu-jdk17",
115
+ "9.12.7",
116
+ "9.12.7-ubuntu-jdk17",
117
+ "9.12.7-jdk17",
118
+ "10.1-jdk17",
119
+ "10.1.2-ubuntu-jdk17",
120
+ "10.1.2",
121
+ "10.1.2-jdk17",
122
+ "10.1",
123
+ "10.1-ubuntu-jdk17",
124
+ "9.12.10-jdk17",
125
+ "9.12.10-ubuntu-jdk17",
126
+ "9.12.10",
127
+ "9.16-ubuntu-jdk17",
128
+ "9.16-jdk17",
129
+ "9.16.1",
130
+ "9.16.1-ubuntu-jdk17",
131
+ "9.14-jdk11",
132
+ "9.14.1-jdk11",
133
+ "9.14.1-ubuntu-jdk11",
134
+ "9.14-ubuntu-jdk11",
135
+ "9.16",
136
+ "9.16.1-jdk17",
137
+ "9.12.8-ubuntu-jdk17",
138
+ "9.12.8",
139
+ "9.12.8-jdk17",
140
+ "9.12.11-ubuntu-jdk17",
141
+ "9.12.11",
142
+ "9.12.11-jdk17",
73
143
  "10.2.0-jdk17",
74
- "jdk17",
75
- "10-ubuntu-jdk17",
76
- "10.2-ubuntu-jdk17",
77
- "10",
78
144
  "10.2.0-ubuntu-jdk17",
79
- "10.2.0-ubi9-jdk17",
80
- "10.2.0-ubi9",
81
- "ubi9",
82
- "ubi9-jdk17",
83
- "10.2.0-RC",
84
- "10.2.0-RC-ubuntu-jdk17",
85
- "10.2.0-RC-jdk17",
86
- "10.2.0-RC-ubi9",
87
- "10.2.0-RC-ubi9-jdk17",
88
- "9-ubuntu-jdk17",
89
- "9.9.0",
90
- "9-ubuntu-jdk11",
91
- "9-jdk17",
92
- "9-jdk11",
93
- "9.9-ubuntu-jdk17",
94
- "9.9-ubuntu-jdk11",
95
- "9.9.2-ubuntu-jdk17",
96
- "9.9-jdk17",
97
- "9.9-jdk11",
98
- "9.9.2-ubi9-jdk17",
99
- "9.9.2-ubuntu-jdk11",
100
- "9.9.2-ubi9",
101
- "9.9.2-jdk17",
102
- "9.9.2",
103
- "9.9.2-jdk11",
104
- "9.9.1-ubuntu-jdk17",
105
- "9.9.1-ubuntu-jdk11",
106
- "9.9.1-ubi9-jdk17",
107
- "9.9.1-ubi9",
108
- "9.9.1-jdk17",
109
- "9.9.1-jdk11",
110
- "9.9.0-ubuntu-jdk17",
111
- "9.9.1",
112
- "9.5.0-ubi9-jdk17",
113
- "9.8-jdk17",
114
- "9.9.0-ubuntu-jdk11",
115
- "9.9.0-ubi9-jdk17",
116
- "9.9.0-ubi9",
117
- "9.9.0-jdk17",
118
- "9.9.0-jdk11",
119
- "9.9",
120
- "9.8-ubuntu-jdk17",
121
- "9.8-ubuntu-jdk11",
122
- "9.8-jdk11",
123
- "9.8.2-ubuntu-jdk17",
124
- "9.8.2-ubuntu-jdk11",
125
- "9.8.2-ubi9-jdk17",
126
- "9.8.2-ubi9",
127
- "9.8.2-jdk17",
128
- "9.8.2-jdk11",
129
- "9.8.1-ubuntu-jdk17",
130
- "9.8.2",
131
- "9.8.1-ubuntu-jdk11",
132
- "9.8.1-ubi9-jdk17",
133
- "9.8.1-ubi9",
134
- "9.8.1-jdk11",
135
- "9.8.1-jdk17",
136
- "9.8.1",
137
- "9.8.0-ubuntu-jdk17",
138
- "9.8.0-ubuntu-jdk11",
139
- "9.8.0-ubi9-jdk17",
140
- "9.8.0-jdk17",
141
- "9.8.0-ubi9",
142
- "9.8.0-jdk11",
143
- "9.8.0",
144
- "9.8",
145
- "9.7-ubuntu-jdk17",
146
- "9.7-ubuntu-jdk11",
147
- "9.7-jdk17",
148
- "9.7-jdk11",
149
- "9.7.2-ubuntu-jdk17",
150
- "9.7.2-ubuntu-jdk11",
151
- "9.7.2-ubi9-jdk17",
152
- "9.7.2-ubi9",
153
- "9.7.2-jdk17",
154
- "9.7.2-jdk11",
155
- "9.7.1-ubuntu-jdk17",
156
- "9.7.2",
157
- "9.7.1-ubuntu-jdk11",
158
- "9.7.1-ubi9-jdk17",
159
- "9.7.1-ubi9",
160
- "9.7.1-jdk17",
145
+ "10.0.0-ubi9-jdk17",
146
+ "10.0.0-ubi9",
147
+ "9.4.26",
148
+ "9.4.26-jdk11",
149
+ "9.10.0-ubuntu-jdk11",
150
+ "9.4.26-ubuntu-jdk11",
151
+ "9.10.0",
152
+ "9.10.0-jdk11",
153
+ "10.2.0",
154
+ "9.17.0-jdk11",
155
+ "9.12.9-ubuntu-jdk17",
156
+ "9.12.9-jdk17",
157
+ "9.4.6-jdk11",
158
+ "9.15.0-ubuntu-jdk11",
159
+ "9.17.0-ubuntu-jdk11",
160
+ "9.12.9",
161
+ "10.0.1-ubi9-jdk17",
162
+ "9.17.2-ubi9",
163
+ "9.4.6",
164
+ "9.10.1-jdk11",
165
+ "9.4.27-jdk11",
166
+ "9.4.6-ubuntu-jdk11",
161
167
  "9.7.1-jdk11",
168
+ "9.7.1-ubuntu-jdk11",
162
169
  "9.7.1",
163
- "9.7.0-ubuntu-jdk17",
164
- "9.7.0-ubuntu-jdk11",
165
- "9.7.0-ubi9-jdk17",
166
- "9.7.0-ubi9",
167
- "9.7.0-jdk17",
168
- "9.7.0-jdk11",
169
- "9.7.0",
170
+ "9.15.0-jdk11",
171
+ "9.4.27-ubuntu-jdk11",
172
+ "9.10.1-ubuntu-jdk11",
173
+ "9.4.2-jdk11",
174
+ "9.17.0",
175
+ "9.12.12-ubuntu-jdk17",
176
+ "9.12.7-ubuntu-jdk11",
177
+ "9.12.12-jdk17",
178
+ "9.12.12",
179
+ "9.12.7-jdk11",
180
+ "9.17.0-ubuntu-jdk17",
181
+ "9.17.0-jdk17",
182
+ "9.17.2-ubi9-jdk17",
183
+ "9.15.0-ubi9",
184
+ "9.15.0-ubi9-jdk17",
185
+ "9.4.27",
186
+ "9.10.1",
187
+ "9.4.2",
188
+ "9.4.2-ubuntu-jdk11",
189
+ "9.11.0-ubuntu-jdk11",
190
+ "9.11.0-jdk11",
191
+ "10.2.1-ubuntu-jdk17",
192
+ "10.2-ubuntu-jdk17",
193
+ "10.0.1-ubi9",
194
+ "9.17.1-ubuntu-jdk11",
170
195
  "9.7",
171
- "9.6-ubuntu-jdk17",
172
- "9.6-ubuntu-jdk11",
173
- "9.6-jdk11",
174
- "9.6-jdk17",
175
- "9.6.0-ubuntu-jdk17",
176
- "9.6.0-ubi9-jdk17",
177
- "9.6.0-ubuntu-jdk11",
178
- "9.6.0-ubi9",
179
- "9.6.0-jdk17",
180
- "9.6.0-jdk11",
181
- "9.6.0",
182
- "9.6",
183
- "9.5-ubuntu-jdk17",
184
- "9.5-ubuntu-jdk11",
185
- "9.5-jdk17",
186
- "9.5-jdk11",
187
- "9.5.1-ubuntu-jdk17",
188
- "9.5.1-ubuntu-jdk11",
189
- "9.5.1-ubi9-jdk17",
190
- "9.5.1-ubi9",
191
- "9.5.1-jdk17",
192
- "9.5.1-jdk11",
193
- "9.5.1",
194
- "9.5.0-ubuntu-jdk17",
195
- "9.5.0-ubuntu-jdk11",
196
- "9.5.0-ubi9",
197
- "9.5.0-jdk17",
198
- "9.5.0-jdk11",
199
- "9.5.0",
200
- "9.5",
201
- "9.4-jdk11",
202
- "9.4-ubuntu-jdk11",
203
- "9.4.9-ubuntu-jdk11",
204
- "9.4.9-jdk11",
205
- "9.4.9",
206
- "9.4.8-ubuntu-jdk11",
207
- "9.4.8",
208
- "9.4.8-jdk11",
209
- "9.4.7-ubuntu-jdk11",
196
+ "9.7.2-ubuntu-jdk11",
197
+ "9.13.0-jdk17",
198
+ "10.2.1-jdk17",
199
+ "10.2.1",
200
+ "10.2-jdk17",
201
+ "10.2",
202
+ "9.12.8-jdk11",
210
203
  "9.4.7-jdk11",
204
+ "9.7-ubuntu-jdk11",
211
205
  "9.4.7",
212
- "9.4.6-ubuntu-jdk11",
213
- "9.4.6-jdk11",
214
- "9.4.6",
215
- "9.4.5-ubuntu-jdk11",
216
- "9.4.5-jdk11",
217
- "9.4.5",
218
- "9.4.4-ubuntu-jdk11",
219
- "9.4.4-jdk11",
220
- "9.4.4",
221
- "9.4.3-ubuntu-jdk11",
222
- "9.4.3-jdk11",
223
- "9.4.3",
224
- "9.4.2-ubuntu-jdk11",
225
- "9.4.28-ubuntu-jdk11",
226
- "9.4.2-jdk11",
206
+ "9.7.2",
207
+ "9.4.7-ubuntu-jdk11",
208
+ "9.7-jdk11",
209
+ "9.17.1-jdk11",
210
+ "9.7.2-jdk11",
211
+ "9.15.1-jdk11",
212
+ "9.12.10-jdk11",
213
+ "9.12.13",
214
+ "9.13.0",
215
+ "9.4.20-jdk11",
216
+ "9.12.10-ubuntu-jdk11",
217
+ "9.10",
218
+ "9.10.2-jdk11",
227
219
  "9.4.28-jdk11",
228
- "9.4.28",
229
- "9.4.27-ubuntu-jdk11",
230
- "9.4.27-jdk11",
231
- "9.4.27",
232
- "9.4.26-ubuntu-jdk11",
233
- "9.4.26-jdk11",
234
- "9.4.26",
235
- "9.4.25-ubuntu-jdk11",
236
- "9.4.25-jdk11",
237
- "9.4.25",
238
- "9.4.24-ubuntu-jdk11",
239
- "9.4.24-jdk11",
240
- "9.4.24",
241
- "9.4.23-jdk11",
242
- "9.4.23-ubuntu-jdk11",
243
- "9.4.23",
244
- "9.4.22-ubuntu-jdk11",
245
- "9.4.22-jdk11",
246
- "9.4.22",
247
- "9.4.21-ubuntu-jdk11",
248
- "9.4.21-jdk11",
249
- "9.4.21",
220
+ "9.13.0-ubuntu-jdk17",
250
221
  "9.4.20-ubuntu-jdk11",
251
- "9.4.20-jdk11",
252
- "9.4.20",
253
- "9.4.2",
254
- "9.4.1-ubuntu-jdk11",
255
- "9.4.1-jdk11",
256
- "9.4.19-ubuntu-jdk11",
257
- "9.4.19-jdk11",
258
- "9.4.19",
259
- "9.4.18-ubuntu-jdk11",
260
- "9.4.12-jdk11",
261
- "9.4.18-jdk11",
262
- "9.4.18",
263
- "9.4.17-ubuntu-jdk11",
264
- "9.4.17-jdk11",
265
- "9.4.17",
266
- "9.4.16-jdk11",
267
- "9.4.16-ubuntu-jdk11",
268
- "9.4.16",
269
- "9.4.15-jdk11",
270
- "9.4.15-ubuntu-jdk11",
271
- "9.4.15",
272
- "9.4.14-ubuntu-jdk11",
273
- "9.4.14-jdk11",
274
- "9.4.14",
275
- "9.4.12-ubuntu-jdk11",
276
- "9.4.12",
277
- "9.4.11-ubuntu-jdk11",
278
- "9.4.11-jdk11",
279
- "9.4.11",
280
- "9.4.10-ubuntu-jdk11",
281
- "9.4.10-jdk11",
282
- "9.4.1",
283
- "9.4.10",
284
- "9.4.0-ubuntu-jdk11",
285
- "9.4.0-jdk11",
286
- "9.4.0",
287
- "9.4",
288
- "9.17-ubuntu-jdk17",
289
- "9.17-ubuntu-jdk11",
290
- "9.17-jdk17",
291
- "9.17.5-ubuntu-jdk11",
292
- "9.17-jdk11",
293
- "9.17.5-ubuntu-jdk17",
294
- "9.17.5-jdk17",
295
- "9.17.5-ubi9",
296
- "9.17.5-ubi9-jdk17",
297
- "9.17.5-jdk11",
298
- "9.17.5",
299
- "9.17.4-ubuntu-jdk11",
300
- "9.17.4-ubuntu-jdk17",
301
- "9.17.4-ubi9-jdk17",
302
- "9.17.4-jdk17",
303
- "9.17.4-ubi9",
304
- "9.17.4-jdk11",
305
- "9.17.4",
306
- "9.17.3-ubuntu-jdk11",
307
- "9.17.3-ubuntu-jdk17",
308
- "9.17.3-ubi9-jdk17",
309
- "9.17.3-ubi9",
310
- "9.17.3-jdk17",
311
- "9.17.3",
312
- "9.17.3-jdk11",
313
- "9.17.2-ubuntu-jdk17",
314
- "9.16.0-ubuntu-jdk11",
315
- "9.17.2-ubuntu-jdk11",
316
- "9.17.2-ubi9-jdk17",
317
- "9.17.2-ubi9",
318
- "9.17.2-jdk17",
319
- "9.17.2-jdk11",
320
- "9.17.2",
321
- "9.17.1-ubuntu-jdk17",
322
- "9.17.1-ubuntu-jdk11",
323
- "9.17.1-ubi9-jdk17",
324
- "9.17.1-ubi9",
222
+ "9.15.1-ubuntu-jdk11",
223
+ "9.12.13-ubuntu-jdk17",
224
+ "9.12.7-ubi9",
225
+ "9.12.8-ubuntu-jdk11",
226
+ "9.12.7-ubi9-jdk17",
227
+ "9.12.13-jdk17",
325
228
  "9.17.1-jdk17",
326
- "9.17.1-jdk11",
327
- "9.17.0-ubuntu-jdk17",
328
- "9.17.1",
329
- "9.17.0-ubuntu-jdk11",
330
- "9.17.0-ubi9-jdk17",
331
- "9.17.0-ubi9",
332
- "9.17.0-jdk17",
333
- "9.17.0-jdk11",
334
- "9.17",
335
- "9.17.0",
336
- "9.16-ubuntu-jdk17",
337
- "9.16-ubuntu-jdk11",
338
- "9.16-jdk17",
339
- "9.16-jdk11",
340
- "9.16.1-ubuntu-jdk17",
341
- "9.16.1-ubuntu-jdk11",
342
- "9.16.1-ubi9-jdk17",
343
- "9.16.1-ubi9",
344
- "9.16.1-jdk17",
345
- "9.16.1-jdk11",
346
- "9.16.1",
347
- "9.16.0-ubuntu-jdk17",
348
- "9.16.0-ubi9-jdk17",
349
- "9.16.0-ubi9",
350
- "9.16.0-jdk11",
351
- "9.16.0-jdk17",
352
- "9.16.0",
353
- "9.15-ubuntu-jdk11",
354
- "9.16",
355
- "9.15-ubuntu-jdk17",
356
- "9.15-jdk17",
229
+ "9.17.1-ubuntu-jdk17",
230
+ "9.12.16-ubuntu-jdk11",
231
+ "9.17.1",
232
+ "9.4.28",
233
+ "9.10-ubuntu-jdk11",
234
+ "9.10.2",
235
+ "9.10-jdk11",
236
+ "9.12-ubuntu-jdk11",
237
+ "9.12-jdk11",
238
+ "9.4.28-ubuntu-jdk11",
239
+ "9.10.2-ubuntu-jdk11",
240
+ "9.12.16-jdk11",
241
+ "9.4.20",
242
+ "9.11.1-jdk11",
243
+ "9.17.3-ubi9-jdk17",
244
+ "9.15.1-ubi9",
245
+ "9.11.1-ubuntu-jdk11",
246
+ "9.17.3-ubi9",
247
+ "9.15.1-ubi9-jdk17",
248
+ "9.12.15-ubi9",
249
+ "9.4.8-ubuntu-jdk11",
250
+ "9.12.9-ubuntu-jdk11",
251
+ "9.12.15-ubi9-jdk17",
252
+ "9.17.2-jdk17",
253
+ "9.4.8-jdk11",
254
+ "9.4.8",
255
+ "9.17.2-jdk11",
256
+ "9.17.2-ubuntu-jdk11",
257
+ "9.12.11-ubuntu-jdk11",
258
+ "9.12.11-jdk11",
259
+ "9.17.2-ubuntu-jdk17",
260
+ "9.10.0-ubi9-jdk17",
261
+ "9.10.0-ubi9",
262
+ "9.12.8-ubi9-jdk17",
263
+ "9.8.0-jdk11",
264
+ "latest",
265
+ "9.4.21-ubuntu-jdk11",
266
+ "9.4.29-ubuntu-jdk11",
267
+ "9.4.21-jdk11",
268
+ "9.4.12-ubuntu-jdk11",
269
+ "9.7.1-ubi9-jdk17",
270
+ "9.4",
271
+ "9.4.21",
272
+ "9.4-jdk11",
273
+ "9.17.4-ubi9-jdk17",
274
+ "9.7.1-ubi9",
275
+ "9.4.12",
276
+ "9.11.2-jdk11",
277
+ "9.8-ubuntu-jdk17",
278
+ "9.12.9-jdk11",
279
+ "9.15.2-jdk11",
357
280
  "9.15-jdk11",
358
- "9.15.2-ubuntu-jdk17",
281
+ "9.12.14-jdk17",
282
+ "9.15-ubuntu-jdk11",
359
283
  "9.15.2-ubuntu-jdk11",
360
- "9.15.2-ubi9-jdk17",
284
+ "10.1.1-ubi9-jdk17",
285
+ "10.1.1-ubi9",
286
+ "9.17.2",
287
+ "9.12.14-ubuntu-jdk17",
288
+ "9.12.14",
289
+ "9.12.8-ubi9",
290
+ "9.8.0",
291
+ "9.4.12-jdk11",
292
+ "9.13",
361
293
  "9.15.2-ubi9",
362
- "9.15.2-jdk17",
363
- "9.15.2-jdk11",
364
- "9.15.2",
365
- "9.15.1-ubuntu-jdk17",
366
- "9.15.1-ubuntu-jdk11",
367
- "9.15.1-ubi9-jdk17",
368
- "9.15.1-ubi9",
369
- "9.15.1-jdk17",
370
- "9.15.1-jdk11",
371
- "9.15.1",
372
- "9.15.0-ubuntu-jdk17",
373
- "9.15.0-ubi9-jdk17",
374
- "9.15.0-ubuntu-jdk11",
375
- "9.15.0-ubi9",
376
- "9.15.0-jdk17",
377
- "9.15.0",
378
- "9.15.0-jdk11",
379
- "9.15",
380
- "9.14-ubuntu-jdk17",
381
- "9.14-ubuntu-jdk11",
382
- "9.14-jdk17",
383
- "9.14.1-ubuntu-jdk17",
384
- "9.14-jdk11",
385
- "9.14.1-ubuntu-jdk11",
386
- "9.14.1-ubi9",
387
- "9.14.1-ubi9-jdk17",
388
- "9.14.1-jdk17",
389
- "9.14.1",
390
- "9.14.1-jdk11",
391
- "9.14.0-ubuntu-jdk17",
392
- "9.14.0-ubuntu-jdk11",
393
- "9.14.0-ubi9-jdk17",
394
- "9.14.0-ubi9",
395
- "9.14.0-jdk17",
396
- "9.14.0-jdk11",
397
- "9.14.0",
398
- "9.14",
294
+ "9.8.0-ubuntu-jdk11",
295
+ "9.17.4-ubi9",
296
+ "9.8.2-jdk17",
297
+ "9.4.29-jdk11",
298
+ "9.4-ubuntu-jdk11",
299
+ "9.11.2-ubuntu-jdk11",
300
+ "9.8-jdk17",
301
+ "9.8.2-ubuntu-jdk17",
302
+ "9.4.29",
303
+ "10",
304
+ "10.3",
305
+ "10.3.0",
306
+ "9.12.16-ubi9",
307
+ "9.13.1",
308
+ "10.3.0-ubuntu-jdk17",
309
+ "9.7.2-ubi9-jdk17",
310
+ "9.12.0-ubi9-jdk17",
311
+ "9.12.0-ubi9",
312
+ "10.3-ubuntu-jdk17",
313
+ "9.7.2-ubi9",
314
+ "10-ubuntu-jdk17",
315
+ "9.15.2-ubi9-jdk17",
316
+ "ubuntu-jdk17",
317
+ "10.3.0-jdk17",
318
+ "jdk17",
399
319
  "9.13-ubuntu-jdk17",
400
- "9.13-ubuntu-jdk11",
401
- "9.13-jdk11",
402
320
  "9.13-jdk17",
321
+ "10.3-jdk17",
322
+ "10-jdk17",
403
323
  "9.13.1-ubuntu-jdk17",
404
- "9.13.1-ubi9-jdk17",
405
- "9.13.1-ubuntu-jdk11",
406
- "9.13.1-ubi9",
407
324
  "9.13.1-jdk17",
408
- "9.13.1-jdk11",
409
- "9.13.1",
410
- "9.13.0-ubuntu-jdk17",
325
+ "9.17.3-ubuntu-jdk11",
326
+ "9.12.16-ubi9-jdk17",
327
+ "9.4.9-jdk11",
328
+ "9.4.9-ubuntu-jdk11",
329
+ "9.4.9",
330
+ "9.10.1-ubi9-jdk17",
331
+ "9.17.3-ubuntu-jdk17",
332
+ "9.10.1-ubi9",
333
+ "9.17.5-ubi9-jdk17",
334
+ "9.8.1",
335
+ "9.17.3",
336
+ "9.17.3-jdk17",
337
+ "9.17.5-ubi9",
338
+ "9.8.1-ubuntu-jdk11",
339
+ "9.12.2-jdk11",
340
+ "9.8.1-jdk11",
341
+ "9.11.3-jdk11",
342
+ "9.11-ubuntu-jdk11",
343
+ "9.12.1-ubi9-jdk17",
344
+ "9.5.0",
345
+ "9.17.3-jdk11",
346
+ "9.12.12-jdk11",
347
+ "9.4.22",
348
+ "9.4.22-ubuntu-jdk11",
349
+ "9.4.14",
350
+ "9.12.9-ubi9",
351
+ "9.12.12-ubuntu-jdk11",
352
+ "9.12.9-ubi9-jdk17",
353
+ "10.1.2-ubi9",
354
+ "9.12.2-ubuntu-jdk11",
355
+ "9.8.2-ubuntu-jdk11",
356
+ "9.13.0-jdk11",
357
+ "9.4.14-ubuntu-jdk11",
358
+ "9.4.14-jdk11",
359
+ "9.4.22-jdk11",
360
+ "9.4.0-jdk11",
361
+ "9.4.0",
362
+ "9.11-jdk11",
363
+ "10.1.2-ubi9-jdk17",
364
+ "9.12.15-ubuntu-jdk17",
365
+ "9.5.0-ubuntu-jdk11",
366
+ "9.5.0-jdk11",
367
+ "9.11.3-ubuntu-jdk11",
368
+ "9.4.0-ubuntu-jdk11",
411
369
  "9.13.0-ubuntu-jdk11",
370
+ "9.12.15",
371
+ "9.16.0-ubuntu-jdk11",
372
+ "9.8",
373
+ "9.8.2",
374
+ "9.8-jdk11",
375
+ "9.12.10-ubi9",
376
+ "9.8.2-jdk11",
377
+ "9.12.15-jdk17",
378
+ "9.12.10-ubi9-jdk17",
379
+ "9.5.0-ubuntu-jdk17",
380
+ "9.10.2-ubi9-jdk17",
381
+ "9.13-ubuntu-jdk11",
382
+ "9.9.0-jdk17",
383
+ "9.17.4-ubuntu-jdk17",
384
+ "9.10.2-ubi9",
385
+ "9.4.1-ubuntu-jdk11",
386
+ "9.13.1-jdk11",
387
+ "9.7.1-ubuntu-jdk17",
388
+ "9.12.2-ubi9",
389
+ "9.4.23-jdk11",
390
+ "9.5.1",
391
+ "9.8-ubuntu-jdk11",
392
+ "9.17.4-jdk11",
393
+ "9.12",
394
+ "9.12-ubuntu-jdk17",
395
+ "9.4.15",
396
+ "9.4.15-jdk11",
397
+ "9.5.1-ubuntu-jdk17",
398
+ "9.5-ubuntu-jdk17",
399
+ "9.12.1-ubi9",
400
+ "9.8.0-ubi9",
401
+ "9.12.3-jdk11",
402
+ "9.9.0-ubuntu-jdk17",
403
+ "9.16.0-ubi9",
404
+ "10.2.0-ubi9-jdk17",
405
+ "9.5.0-jdk17",
406
+ "9.16.0-jdk11",
412
407
  "9.13.0-ubi9-jdk17",
408
+ "9.12.3-ubuntu-jdk11",
409
+ "9.7.1-jdk17",
413
410
  "9.13.0-ubi9",
414
- "9.13.0-jdk17",
415
- "9.13.0-jdk11",
416
- "9.13.0",
417
- "9.13",
418
- "9.12-ubuntu-jdk17",
419
- "9.12-ubuntu-jdk11",
420
- "9.12-jdk17",
421
- "9.12.9-ubuntu-jdk17",
422
- "9.12-jdk11",
423
- "9.12.9-ubuntu-jdk11",
424
- "9.12.9-ubi9-jdk17",
425
- "9.12.9-ubi9",
426
- "9.12.9-jdk17",
427
- "9.12.9",
428
- "9.12.9-jdk11",
429
- "9.12.8-ubuntu-jdk17",
430
- "9.12.8-ubuntu-jdk11",
431
- "9.12.8-ubi9-jdk17",
432
- "9.12.8-ubi9",
433
- "9.12.8-jdk17",
434
- "9.12.8-jdk11",
435
- "9.12.5-ubuntu-jdk17",
436
- "9.12.8",
437
- "9.12.7-ubuntu-jdk17",
438
- "9.12.7-ubuntu-jdk11",
439
- "9.12.7-ubi9-jdk17",
440
- "9.12.7-ubi9",
441
- "9.12.7-jdk17",
442
- "9.12.7-jdk11",
443
- "9.12.7",
444
- "9.12.6-ubuntu-jdk17",
445
- "9.12.6-ubuntu-jdk11",
446
- "9.12.6-ubi9-jdk17",
447
- "9.12.6-ubi9",
448
- "9.12.6-jdk17",
449
- "9.12.6-jdk11",
450
- "9.12.6",
451
- "9.12.5-ubuntu-jdk11",
452
- "9.12.5-ubi9-jdk17",
453
- "9.12.5-ubi9",
454
- "9.12.5-jdk17",
455
- "9.12.5-jdk11",
456
- "9.12.5",
457
- "9.12.4-ubuntu-jdk17",
458
- "9.12.4-ubuntu-jdk11",
459
- "9.12.4-ubi9-jdk17",
460
- "9.12.4-ubi9",
411
+ "9.8.0-ubi9-jdk17",
412
+ "9.17.4-ubuntu-jdk11",
413
+ "9.14.0-jdk17",
414
+ "9.13-jdk11",
415
+ "9.13.1-ubuntu-jdk11",
416
+ "9.4.1",
417
+ "9.11.0-ubi9",
418
+ "9.13.1-ubi9-jdk17",
419
+ "9.12.13-ubuntu-jdk11",
420
+ "9.16.0-ubi9-jdk17",
421
+ "9.4.3-ubuntu-jdk11",
422
+ "9.13.1-ubi9",
423
+ "9.5.1-ubuntu-jdk11",
424
+ "9.4.23",
425
+ "9.17.4-jdk17",
426
+ "9.4.15-ubuntu-jdk11",
427
+ "9.7.2-ubuntu-jdk17",
428
+ "9.12.0-jdk11",
429
+ "9.4.3-jdk11",
430
+ "9.5-ubuntu-jdk11",
431
+ "9.5-jdk11",
432
+ "9.4.23-ubuntu-jdk11",
433
+ "9.12.13-jdk11",
434
+ "9.12.2-ubi9-jdk17",
435
+ "9.12.16-ubuntu-jdk17",
436
+ "9.17.4",
437
+ "9.4.1-jdk11",
438
+ "9.4.3",
439
+ "9.12.14-jdk11",
461
440
  "9.12.4-jdk11",
462
- "9.12.4-jdk17",
463
- "9.12.4",
464
- "9.12.3-ubuntu-jdk17",
465
- "9.12.3-ubuntu-jdk11",
466
- "9.12.3-ubi9-jdk17",
441
+ "9.11.0-ubi9-jdk17",
442
+ "9.4.16",
443
+ "9.5.1-jdk11",
444
+ "9.8.1-ubi9",
445
+ "9.12.16",
446
+ "9.16.1-ubi9-jdk17",
447
+ "9.16.1-ubi9",
448
+ "10.2.0-ubi9",
449
+ "9.12-jdk17",
467
450
  "9.12.3-ubi9",
468
- "9.12.3-jdk17",
469
- "9.12.3-jdk11",
470
- "9.12.3",
451
+ "9.12.16-jdk17",
452
+ "9.17-ubuntu-jdk11",
453
+ "9.17.5-ubuntu-jdk11",
454
+ "9.14.0",
455
+ "9.17",
456
+ "9-jdk17",
457
+ "9.4.4-jdk11",
458
+ "9.16-jdk11",
459
+ "9.5-jdk17",
460
+ "9.17-ubuntu-jdk17",
461
+ "9.5.1-jdk17",
462
+ "9.14.0-ubuntu-jdk17",
463
+ "9.9.1-ubuntu-jdk17",
464
+ "9.16-ubuntu-jdk11",
465
+ "9.4.10-ubuntu-jdk11",
466
+ "9.12.4-ubuntu-jdk11",
467
+ "9.16.1-jdk11",
468
+ "9.9.1-jdk17",
469
+ "9.9.2-jdk17",
470
+ "9.9-jdk17",
471
+ "9.16.1-ubuntu-jdk11",
472
+ "9.11.0-ubuntu-jdk17",
473
+ "9.4.16-jdk11",
474
+ "9.4.16-ubuntu-jdk11",
475
+ "9.11.0-jdk17",
476
+ "9.4.10",
477
+ "9.11.0",
478
+ "9.5",
479
+ "9.8.1-ubi9-jdk17",
480
+ "9-ubuntu-jdk17",
481
+ "9.12.11-ubi9",
482
+ "9.7-jdk17",
483
+ "9.12.0-ubuntu-jdk11",
484
+ "9.7.2-jdk17",
485
+ "9.7-ubuntu-jdk17",
486
+ "9.14-ubuntu-jdk17",
487
+ "9.14",
488
+ "9.14.1",
489
+ "9.5.0-ubi9",
490
+ "9.12.14-ubuntu-jdk11",
491
+ "9.4.17",
492
+ "9.17-jdk11",
493
+ "9-jdk11",
494
+ "9.4.10-jdk11",
495
+ "9.10.0-ubuntu-jdk17",
496
+ "9.9.2-ubuntu-jdk17",
497
+ "9.12.3-ubi9-jdk17",
498
+ "9-ubuntu-jdk11",
499
+ "9.17.5-jdk11",
500
+ "9.5.0-ubi9-jdk17",
501
+ "9.10.0-jdk17",
502
+ "9.6-jdk11",
503
+ "9.6.0-ubuntu-jdk11",
504
+ "9.4.24-ubuntu-jdk11",
505
+ "9.17.5-ubuntu-jdk17",
506
+ "9.17.5-jdk17",
507
+ "9.12.11-ubi9-jdk17",
508
+ "9.4.4",
509
+ "9",
510
+ "9.17-jdk17",
511
+ "9.4.17-ubuntu-jdk11",
512
+ "9.6.0-jdk17",
513
+ "9.17.5",
514
+ "9.6-jdk17",
515
+ "9.9-ubuntu-jdk17",
516
+ "9.9.0",
517
+ "9.9.0-ubuntu-jdk11",
518
+ "9.11.1-ubi9-jdk17",
519
+ "9.9.0-jdk11",
520
+ "9.11.1",
471
521
  "9.12.2-ubuntu-jdk17",
472
- "9.12.2-ubuntu-jdk11",
473
- "9.12.2-ubi9-jdk17",
474
- "9.12.2-ubi9",
475
- "9.12.2-jdk17",
476
- "9.12.2-jdk11",
477
522
  "9.12.2",
478
- "9.12.1-ubuntu-jdk17",
479
- "9.12.1-ubuntu-jdk11",
480
- "9.12.1-ubi9",
481
- "9.12.1-ubi9-jdk17",
482
- "9.12.1-jdk17",
483
- "9.12.15-ubuntu-jdk17",
523
+ "9.4.17-jdk11",
524
+ "9.4.24",
525
+ "9.4.24-jdk11",
526
+ "9.4.4-ubuntu-jdk11",
527
+ "9.14-jdk17",
528
+ "9.11.1-ubi9",
484
529
  "9.12.1-jdk11",
485
- "9.12.15-ubuntu-jdk11",
486
- "9.12.15-ubi9",
487
- "9.12.15-ubi9-jdk17",
488
- "9.12.15-jdk17",
530
+ "9.8.2-ubi9-jdk17",
531
+ "9.8.2-ubi9",
532
+ "9.14.1-ubuntu-jdk17",
533
+ "9.4.11-jdk11",
534
+ "9.9.1-ubuntu-jdk11",
535
+ "9.6.0-jdk11",
536
+ "9.11.1-ubuntu-jdk17",
537
+ "9.12.12-ubi9",
538
+ "9.12.4-ubi9",
539
+ "9.4.11",
540
+ "9.6-ubuntu-jdk11",
541
+ "9.9.1",
542
+ "9.6.0-ubuntu-jdk17",
543
+ "9.6-ubuntu-jdk17",
544
+ "9.6.0",
545
+ "9.4.11-ubuntu-jdk11",
546
+ "9.6",
547
+ "9.12.1-ubuntu-jdk11",
548
+ "9.10.1-jdk17",
549
+ "9.10.1-ubuntu-jdk17",
550
+ "9.11.1-jdk17",
551
+ "9.14.0-ubi9-jdk17",
552
+ "9.4.5-jdk11",
553
+ "9.14.1-jdk17",
554
+ "9.4.18-ubuntu-jdk11",
555
+ "9.12.4-ubi9-jdk17",
489
556
  "9.12.15-jdk11",
490
- "9.12.15",
491
- "9.12.14-ubuntu-jdk17",
492
- "9.12.14-ubuntu-jdk11",
493
- "9.12.14-ubi9-jdk17",
494
- "9.12.14-ubi9",
495
- "9.12.14-jdk11",
496
- "9.12.14-jdk17",
497
- "9.12.14",
498
- "9.12.13-ubuntu-jdk11",
499
- "9.12.13-ubuntu-jdk17",
500
- "9.12.13-ubi9-jdk17",
501
- "9.12.13-ubi9",
502
- "9.12.13-jdk17",
503
- "9.12.13-jdk11",
504
- "9.12.13",
505
- "9.12.12-ubuntu-jdk17",
506
- "9.12.12-ubuntu-jdk11",
557
+ "9.9.1-jdk11",
558
+ "9.4.25",
559
+ "9.12.2-jdk17",
560
+ "10.2.1-ubi9-jdk17",
561
+ "10.2.1-ubi9",
562
+ "9.14.0-jdk11",
563
+ "9.14.0-ubuntu-jdk11",
564
+ "9.4.25-ubuntu-jdk11",
565
+ "9.4.25-jdk11",
566
+ "9.5.1-ubi9",
507
567
  "9.12.12-ubi9-jdk17",
508
- "9.12.12-ubi9",
509
- "9.12.12-jdk17",
510
- "9.12.12-jdk11",
511
- "9.12.12",
512
- "9.12.11-ubuntu-jdk17",
513
- "9.12.11-ubuntu-jdk11",
514
- "9.12.11-ubi9-jdk17",
515
- "9.12.11-ubi9",
516
- "9.12.11-jdk11",
517
- "9.12.11-jdk17",
518
- "9.12.10-ubuntu-jdk17",
519
- "9.12.11",
520
- "9.12.10-ubi9-jdk17",
521
- "9.12.10-ubuntu-jdk11",
522
- "9.12.10-ubi9",
523
- "9.12.10-jdk17",
524
- "9.12.10-jdk11",
525
- "9.12.10",
526
- "9.12.1",
527
- "9.12.0-ubuntu-jdk17",
528
- "9.12.0-ubuntu-jdk11",
529
- "9.12.0-jdk17",
530
- "9.12.0-jdk11",
531
- "9.12.0",
532
- "9.12",
533
- "9.11-ubuntu-jdk17",
534
- "9.11-ubuntu-jdk11",
535
- "9.11-jdk17",
536
- "9.11-jdk11",
537
- "9.11.3-ubuntu-jdk17",
538
- "9.11.3-ubuntu-jdk11",
539
- "9.11.3-ubi9-jdk17",
540
- "9.11.3-ubi9",
541
- "9.11.3-jdk17",
542
- "9.11.3-jdk11",
543
- "9.11.3",
544
- "9.11.2-ubuntu-jdk17",
545
- "9.11.2-ubuntu-jdk11",
568
+ "9.12.15-ubuntu-jdk11",
569
+ "9.12.5-jdk11",
570
+ "9.5.1-ubi9-jdk17",
571
+ "9.14.0-ubi9",
572
+ "9.4.5",
573
+ "9.8.0-ubuntu-jdk17",
546
574
  "9.11.2-ubi9-jdk17",
575
+ "9.12.5-ubuntu-jdk11",
576
+ "9.4.18",
577
+ "9.4.18-jdk11",
578
+ "9.4.5-ubuntu-jdk11",
547
579
  "9.11.2-ubi9",
548
- "9.11.2-jdk17",
549
- "9.11.2-jdk11",
550
- "9.11.2",
551
- "9.11.1-ubuntu-jdk17",
552
- "9.11.1-ubuntu-jdk11",
553
- "9.11.1-ubi9-jdk17",
554
- "9.11.1-ubi9",
555
- "9.11.1-jdk17",
556
- "9.11.1-jdk11",
557
- "9.11.1",
558
- "9.11.0-ubuntu-jdk17",
559
- "9.11.0-ubi9-jdk17",
560
- "9.11.0-ubuntu-jdk11",
561
- "9.11.0-ubi9",
562
- "9.11.0-jdk17",
563
- "9.11.0-jdk11",
564
- "9.11.0",
565
- "9.11",
566
- "9.10-ubuntu-jdk17",
567
- "9.10-ubuntu-jdk11",
568
- "9.10-jdk17",
569
- "9.10-jdk11",
580
+ "9.17.0-ubi9-jdk17",
581
+ "9.9",
582
+ "9.9.2-ubuntu-jdk11",
583
+ "9.9-jdk11",
584
+ "9.9-ubuntu-jdk11",
585
+ "9.9.2-jdk11",
586
+ "9.9.2",
587
+ "9.8.0-jdk17",
588
+ "9.9.0-ubi9",
570
589
  "9.10.2-ubuntu-jdk17",
571
- "9.10.2-ubuntu-jdk11",
572
- "9.10.2-ubi9-jdk17",
573
- "9.10.2-ubi9",
590
+ "9.12.6-jdk11",
591
+ "9.12.6-ubuntu-jdk11",
592
+ "9.11.2-ubuntu-jdk17",
593
+ "9.11.2",
594
+ "9.9.0-ubi9-jdk17",
595
+ "9.11.2-jdk17",
596
+ "9.7.0",
597
+ "9.12.5-ubi9",
598
+ "9.12.5-ubi9-jdk17",
574
599
  "9.10.2-jdk17",
575
- "9.10.2-jdk11",
576
- "9.10.2",
577
- "9.10.1-ubuntu-jdk17",
578
- "9.10.1-ubuntu-jdk11",
579
- "9.10.1-ubi9-jdk17",
580
- "9.10.1-ubi9",
581
- "9.10.1-jdk17",
582
- "9.10.1-jdk11",
583
- "9.10.1",
584
- "9.10.0-ubuntu-jdk17",
585
- "9.10.0-ubuntu-jdk11",
586
- "9.10.0-ubi9-jdk17",
587
- "9.10.0-ubi9",
588
- "9.10.0-jdk17",
589
- "9.10.0-jdk11",
590
- "9.10.0",
591
- "9.10",
592
- "9",
593
- "10.1-ubuntu-jdk17",
594
- "10.1-jdk17",
595
- "10.1.2-ubuntu-jdk17",
596
- "10.1.2-ubi9-jdk17",
597
- "10.1.2-ubi9",
598
- "10.1.2-jdk17",
599
- "10.1.2",
600
- "10.1.1-ubuntu-jdk17",
601
- "10.1.1-ubi9-jdk17",
602
- "10.1.1-ubi9",
603
- "10.1.1-jdk17",
604
- "10.1.1",
605
- "10.1",
606
- "10.0-ubuntu-jdk17",
607
- "10.0-jdk17",
608
- "10.0.1-ubuntu-jdk17",
609
- "10.0.1-ubi9-jdk17",
610
- "10.0.1-ubi9",
611
- "10.0.1-jdk17",
612
- "10.0.1",
613
- "10.0.0-ubuntu-jdk17",
614
- "10.0.0-ubi9-jdk17",
615
- "10.0.0-ubi9",
616
- "10.0.0-jdk17",
617
- "10.0.0",
618
- "10.0",
619
- "9.12.0-ubi9-jdk17",
620
- "9.12.0-ubi9",
600
+ "9.17.0-ubi9",
601
+ "9.8.1-jdk17",
602
+ "9.14.1-ubi9",
603
+ "9.8.1-ubuntu-jdk17",
604
+ "9.14.1-ubi9-jdk17",
605
+ "10.3.0-ubi9-jdk17",
606
+ "9.7.0-ubuntu-jdk11",
607
+ "9.7.0-jdk11",
608
+ "9.10-jdk17",
609
+ "9.10-ubuntu-jdk17",
610
+ "9.7.0-jdk17",
611
+ "9.12.13-ubi9-jdk17",
612
+ "9.6.0-ubi9",
613
+ "10.3.0-ubi9",
614
+ "9.12.13-ubi9",
615
+ "ubi9-jdk17",
616
+ "9.11.3-ubi9-jdk17",
617
+ "9.4.19-jdk11",
618
+ "9.4.19-ubuntu-jdk11",
619
+ "9.4.19",
620
+ "ubi9",
621
+ "9.11.3-ubi9",
622
+ "9.7.0-ubuntu-jdk17",
623
+ "9.17.1-ubi9",
624
+ "9.6.0-ubi9-jdk17",
625
+ "9.9.1-ubi9-jdk17",
626
+ "9.9.1-ubi9",
627
+ "9.17.1-ubi9-jdk17",
628
+ "9.12.14-ubi9",
629
+ "9.12.6-ubi9-jdk17",
630
+ "9.12.6-ubi9",
631
+ "9.12.14-ubi9-jdk17",
632
+ "9.9.2-ubi9",
633
+ "9.9.2-ubi9-jdk17",
634
+ "9.7.0-ubi9",
635
+ "9.7.0-ubi9-jdk17",
636
+ "10.3.0-RC-ubuntu-jdk17",
637
+ "10.3.0-RC-jdk17",
638
+ "10.3.0-RC",
639
+ "10.3.0-RC-ubi9-jdk17",
640
+ "10.3.0-RC-ubi9",
641
+ "10.3.0-EAP01-jdk17",
642
+ "10.3.0-EAP01",
643
+ "10.3.0-EAP01-ubuntu-jdk17",
644
+ "10.3.0-EAP01-ubi9",
645
+ "10.3.0-EAP01-ubi9-jdk17",
646
+ "10.2.0-RC",
647
+ "10.2.0-RC-ubuntu-jdk17",
648
+ "10.2.0-RC-jdk17",
649
+ "10.2.0-RC-ubi9",
650
+ "10.2.0-RC-ubi9-jdk17",
621
651
  "10.2.0-EAP02-jdk17",
622
652
  "10.2.0-EAP02",
623
653
  "10.2.0-EAP02-ubuntu-jdk17",
@@ -2051,582 +2081,621 @@ var jira = [
2051
2081
  "8.8.0-RC02"
2052
2082
  ];
2053
2083
  var confluence = [
2054
- "eap-ubuntu-jdk17",
2055
- "eap-jdk17",
2056
- "9.2.0-beta2-ubuntu-jdk21",
2057
- "9.2.0-beta2-jdk21",
2058
- "9.2.0-beta2-jdk17",
2059
- "9.2.0-beta2",
2060
- "eap",
2061
- "9.2.0-beta2-ubuntu-jdk17",
2062
- "9.2.0-beta2-ubi9-jdk17",
2063
- "9.2.0-beta2-ubi9-jdk21",
2064
- "9.2.0-beta2-ubi9",
2065
- "9.1.1-jdk21",
2066
- "9.1.1-jdk17",
2067
- "9.1.1",
2068
- "9.1.0-ubuntu-jdk21",
2069
- "9.1.0-ubi9-jdk21",
2070
- "9.1.0-ubuntu-jdk17",
2071
- "9.1.0-ubi9-jdk17",
2072
- "9.1.0-ubi9",
2073
- "9.1.0-jdk21",
2074
- "9.1.0-jdk17",
2075
- "9.1",
2076
- "9.1.0",
2077
- "9.0-ubuntu-jdk21",
2078
- "9.0-jdk21",
2079
- "9.0-ubuntu-jdk17",
2080
- "9.0-jdk17",
2081
- "9.0.3-ubuntu-jdk21",
2082
- "9.0.3-ubuntu-jdk17",
2083
- "9.0.3-ubi9-jdk21",
2084
- "9.0.3-ubi9-jdk17",
2085
- "9.0.3-ubi9",
2086
- "9.0.3-jdk21",
2087
- "9.0.3-jdk17",
2088
- "9.0.3",
2089
- "9.0.2-ubuntu-jdk21",
2090
- "9.0.2-ubi9-jdk21",
2091
- "9.0.2-ubuntu-jdk17",
2092
- "9.0.2-ubi9-jdk17",
2093
- "9.0.2-jdk21",
2094
- "9.0.2-ubi9",
2095
- "9.0.2-jdk17",
2096
- "9.0.2",
2097
- "9.0.1-ubuntu-jdk21",
2098
- "9.0.1-ubuntu-jdk17",
2099
- "9.0.1-ubi9-jdk21",
2100
- "9.0.1-ubi9",
2101
- "9.0.1-jdk21",
2102
- "9.0.1",
2103
- "9.0",
2104
- "9.0.1-jdk17",
2084
+ "8.4.1",
2085
+ "8.4.1-jdk17",
2086
+ "8.4.1-ubuntu-jdk17",
2087
+ "8",
2105
2088
  "8-ubuntu-jdk17",
2106
- "9",
2089
+ "8.6.1-ubuntu-jdk17",
2090
+ "8.6.1",
2091
+ "8.6.1-jdk17",
2092
+ "8.9.8-ubuntu-jdk17",
2107
2093
  "8-jdk17",
2108
- "8-ubuntu-jdk11",
2109
- "8-jdk11",
2110
- "8.9-ubuntu-jdk17",
2111
- "8.9-ubuntu-jdk11",
2112
2094
  "8.9-jdk17",
2113
- "8.9.8-ubuntu-jdk11",
2114
- "8.9-jdk11",
2115
- "8.9.8-ubuntu-jdk17",
2116
- "8.9.8-ubi9",
2117
- "8.9.8-ubi9-jdk17",
2118
2095
  "8.9.8-jdk17",
2119
- "8.9.8-jdk11",
2120
2096
  "8.9.8",
2121
- "8.9.7-ubuntu-jdk17",
2122
- "8.9.7-ubuntu-jdk11",
2123
- "8.9.7-ubi9-jdk17",
2124
- "8.9.7-jdk11",
2125
- "8.9.7-jdk17",
2126
- "8.9.7-ubi9",
2127
- "8.9.7",
2128
- "8.9.6-ubuntu-jdk17",
2129
- "8.9.6-ubi9-jdk17",
2130
- "8.9.6-ubuntu-jdk11",
2131
- "8.9.6-ubi9",
2132
- "8.9.6-jdk17",
2133
- "8.9.5-ubuntu-jdk11",
2134
- "8.9.6",
2135
- "8.9.6-jdk11",
2136
- "8.9.5-ubuntu-jdk17",
2137
- "8.9.5-jdk17",
2138
- "8.9.5-jdk11",
2139
- "8.9.5",
2140
- "8.9.4-ubuntu-jdk17",
2141
- "8.9.4-ubuntu-jdk11",
2142
- "8.9.4-ubi9-jdk17",
2143
- "8.9.4-ubi9",
2144
- "8.9.4-jdk17",
2145
- "8.9.4-jdk11",
2146
- "8.9.4",
2147
- "8.9.3-ubuntu-jdk11",
2148
- "8.9.3-ubuntu-jdk17",
2149
- "8.9.3-ubi9-jdk17",
2150
- "8.9.3-ubi9",
2151
- "8.9.3-jdk17",
2152
- "8.9.3-jdk11",
2153
- "8.9.3",
2154
- "8.9.2-ubuntu-jdk17",
2155
- "8.9.2-ubuntu-jdk11",
2156
- "8.9.2-ubi9-jdk17",
2157
- "8.9.2-jdk11",
2158
- "8.9.2-jdk17",
2159
- "8.9.2-ubi9",
2160
- "8.9.1-ubuntu-jdk17",
2161
- "8.9.2",
2162
- "8.9.1-ubuntu-jdk11",
2163
- "8.9.1-jdk11",
2164
- "8.9.1-jdk17",
2165
- "8.9.1",
2166
- "8.9.0-ubuntu-jdk17",
2167
- "8.9.0-ubuntu-jdk11",
2168
- "8.9.0-ubi9-jdk17",
2169
- "8.9.0-ubi9",
2170
- "8.9.0-jdk17",
2171
- "8.9.0",
2172
- "8.9.0-jdk11",
2097
+ "8.9-ubuntu-jdk17",
2173
2098
  "8.9",
2174
- "8.8-ubuntu-jdk17",
2175
- "8.8-ubuntu-jdk11",
2176
- "8.8-jdk17",
2177
- "8.8-jdk11",
2178
- "8.8.1-ubuntu-jdk11",
2179
- "8.8.1-ubuntu-jdk17",
2180
- "8.8.1-ubi9",
2181
- "8.8.1-ubi9-jdk17",
2182
- "8.8.1-jdk17",
2183
- "8.8.1",
2184
- "8.8.1-jdk11",
2185
- "8.8.0-ubuntu-jdk17",
2186
- "8.8.0-ubuntu-jdk11",
2187
- "8.8.0-ubi9-jdk17",
2188
- "8.8.0-jdk11",
2189
- "8.8.0-ubi9",
2190
- "8.8.0",
2191
- "8.8.0-jdk17",
2192
- "8.8",
2193
- "8.7-ubuntu-jdk17",
2194
- "8.7-jdk17",
2099
+ "8.4.2",
2100
+ "8.4.2-ubuntu-jdk17",
2101
+ "8.4.2-jdk17",
2102
+ "8.5.16",
2103
+ "8.5.16-jdk17",
2104
+ "8.5.16-ubuntu-jdk17",
2105
+ "8.9.1",
2106
+ "8.6.2",
2195
2107
  "8.7-ubuntu-jdk11",
2108
+ "8.9.1-jdk17",
2109
+ "8.9.1-ubuntu-jdk17",
2110
+ "8.6-jdk17",
2111
+ "8.6",
2112
+ "8.6-ubuntu-jdk17",
2113
+ "8.6.2-jdk17",
2114
+ "8.6.2-ubuntu-jdk17",
2196
2115
  "8.7-jdk11",
2197
- "8.7.2-ubuntu-jdk17",
2198
2116
  "8.7.2-ubuntu-jdk11",
2199
2117
  "8.7.2-jdk11",
2200
- "8.7.2-jdk17",
2201
- "8.7.2",
2202
- "8.7.1-ubuntu-jdk17",
2203
- "8.7.1-ubuntu-jdk11",
2204
- "8.7.1-ubi9-jdk17",
2205
- "8.7.1-ubi9",
2206
- "8.7.1-jdk11",
2207
- "8.7.1-jdk17",
2118
+ "9.0.1-ubuntu-jdk17",
2119
+ "8.5.17-ubuntu-jdk17",
2120
+ "8.3.0",
2121
+ "8.5.5-ubuntu-jdk17",
2122
+ "9.0.1-jdk17",
2123
+ "9.0.1",
2124
+ "8.9.2-ubuntu-jdk17",
2125
+ "8.4.3-jdk17",
2126
+ "8.4.3-ubuntu-jdk17",
2127
+ "8.4.3",
2128
+ "8.3.0-jdk17",
2129
+ "8.3.0-ubuntu-jdk17",
2130
+ "8.5.8-jdk11",
2131
+ "7.19-ubuntu-jdk11",
2132
+ "7.19-jdk11",
2133
+ "8.5.8-ubuntu-jdk11",
2134
+ "8.5.17",
2135
+ "7.19.30-ubuntu-jdk11",
2136
+ "8.5.5-jdk17",
2137
+ "8.5.5",
2138
+ "8.5.17-jdk17",
2139
+ "8.9.2-jdk17",
2140
+ "8.9.2",
2208
2141
  "8.7.1",
2209
- "8.7",
2210
- "8.6-ubuntu-jdk17",
2211
- "8.6-ubuntu-jdk11",
2212
- "8.6-jdk17",
2213
- "8.6-jdk11",
2214
- "8.6.2-ubuntu-jdk11",
2215
- "8.6.2-ubuntu-jdk17",
2216
- "8.6.2-ubi9-jdk17",
2217
- "8.6.2-jdk17",
2218
- "8.6.2-ubi9",
2219
- "8.6.2-jdk11",
2220
- "8.6.1-ubuntu-jdk17",
2221
- "8.6.2",
2222
- "8.6.1-ubi9-jdk17",
2223
- "8.6.1-ubuntu-jdk11",
2224
- "8.6.1-ubi9",
2225
- "8.6.1-jdk17",
2226
- "8.6.1",
2227
- "8.6.1-jdk11",
2228
- "8.6.0-ubuntu-jdk11",
2229
- "8.6.0-ubuntu-jdk17",
2230
- "8.6.0",
2231
- "8.6.0-jdk11",
2232
- "8.6.0-jdk17",
2233
- "8.6",
2142
+ "8.7.1-jdk17",
2143
+ "7.19",
2144
+ "8.9.3-ubuntu-jdk11",
2145
+ "7.19.30-jdk11",
2146
+ "7.19.30",
2147
+ "8.9.3-jdk11",
2148
+ "8.5.1",
2149
+ "8.4.4",
2150
+ "8.5.12-jdk11",
2151
+ "8.5.1-ubuntu-jdk17",
2152
+ "8.1.3",
2153
+ "9.0.2",
2154
+ "7.19.14-jdk11",
2155
+ "7.19.25",
2156
+ "8.3.1-ubuntu-jdk17",
2157
+ "7.19.25-jdk11",
2158
+ "8.5.1-jdk17",
2159
+ "7.19.25-ubuntu-jdk11",
2160
+ "8.8.0-ubuntu-jdk11",
2161
+ "8.4.4-jdk17",
2162
+ "8.5.12-ubuntu-jdk11",
2163
+ "8.1.3-jdk11",
2164
+ "8.4.5-ubuntu-jdk11",
2165
+ "8.4.5-jdk11",
2166
+ "8.4-jdk11",
2167
+ "8.4-ubuntu-jdk11",
2168
+ "7.19.9",
2169
+ "8.7.1-ubuntu-jdk17",
2170
+ "7.19.9-jdk11",
2171
+ "8.1.3-ubuntu-jdk11",
2234
2172
  "8.5-ubuntu-jdk17",
2235
- "8.5-jdk17",
2236
- "8.5-ubuntu-jdk11",
2237
- "8.5-jdk11",
2238
- "8.5.9-ubuntu-jdk17",
2239
- "8.5.9-ubuntu-jdk11",
2240
- "8.5.9-ubi9-jdk17",
2241
- "8.5.9-ubi9",
2242
- "8.5.9-jdk17",
2243
- "8.5.9-jdk11",
2244
- "8.5.9",
2245
- "8.5.8-ubuntu-jdk17",
2246
- "8.5.8-ubuntu-jdk11",
2247
- "8.5.8-ubi9-jdk17",
2248
- "8.5.8-ubi9",
2249
- "8.5.8-jdk17",
2250
- "8.5.8-jdk11",
2251
- "8.5.8",
2252
- "8.5.7-ubuntu-jdk11",
2253
- "8.5.7-ubuntu-jdk17",
2254
- "8.5.7-ubi9-jdk17",
2255
- "8.5.7-ubi9",
2256
- "8.5.7-jdk11",
2257
- "8.5.7-jdk17",
2258
- "8.5.6-ubuntu-jdk11",
2259
- "8.5.7",
2260
- "8.5.6-ubuntu-jdk17",
2261
- "8.5.6-ubi9-jdk17",
2262
- "8.5.6-ubi9",
2173
+ "9.0.2-ubuntu-jdk17",
2174
+ "9.0.2-jdk17",
2175
+ "7.19.14-ubuntu-jdk11",
2176
+ "8.3.1",
2177
+ "8.4.4-ubuntu-jdk17",
2178
+ "7.19.14",
2179
+ "8.9.3-ubuntu-jdk17",
2180
+ "8.3.1-jdk17",
2181
+ "8.5.10",
2182
+ "8.5.10-jdk17",
2183
+ "8.8.0-jdk11",
2263
2184
  "8.5.6-jdk17",
2264
- "8.5.6-jdk11",
2185
+ "7.19.2",
2186
+ "7.19.2-jdk11",
2187
+ "7.19.9-ubuntu-jdk11",
2188
+ "8.5.18",
2189
+ "8.5.9-jdk11",
2190
+ "8.5",
2191
+ "8.5.2-ubuntu-jdk11",
2192
+ "8.5.9-ubuntu-jdk11",
2193
+ "7.19.2-ubuntu-jdk11",
2265
2194
  "8.5.6",
2266
- "8.5.5-jdk11",
2267
- "8.5.5-ubuntu-jdk17",
2268
- "8.5.5-jdk17",
2269
- "8.5.5-ubuntu-jdk11",
2195
+ "8.5.6-ubuntu-jdk17",
2196
+ "8.5.18-ubuntu-jdk17",
2197
+ "8.5.18-jdk17",
2198
+ "8.5-jdk17",
2199
+ "8.0.1-ubuntu-jdk11",
2200
+ "8.0.1",
2201
+ "8.5.2-jdk11",
2202
+ "8.0.1-jdk11",
2203
+ "7.19.26-jdk11",
2204
+ "8.7-ubuntu-jdk17",
2205
+ "8.1-ubuntu-jdk11",
2206
+ "8.3.0-jdk11",
2207
+ "8.9.3",
2208
+ "9.0.1-ubuntu-jdk21",
2209
+ "8.9.5-ubi9-jdk17",
2210
+ "8.9.5-ubi9",
2211
+ "8.9.3-jdk17",
2212
+ "8.9.4-jdk11",
2213
+ "9.0.2-ubi9",
2214
+ "8.9.4-ubuntu-jdk11",
2215
+ "8.4.0-jdk11",
2216
+ "8.4.0-ubuntu-jdk11",
2217
+ "7.19.0-jdk11",
2218
+ "9.0.2-ubi9-jdk17",
2219
+ "8.5.10-ubuntu-jdk17",
2220
+ "7.19.15",
2221
+ "7.19.15-ubuntu-jdk11",
2222
+ "8.1.4-jdk11",
2223
+ "7.19.26",
2224
+ "7.19.26-ubuntu-jdk11",
2225
+ "8.1-jdk11",
2226
+ "7.19.20",
2227
+ "8.1.4-ubuntu-jdk11",
2228
+ "7.19.20-jdk11",
2229
+ "8.1.4",
2230
+ "8.1",
2231
+ "7.20.0",
2232
+ "7.20.0-ubuntu-jdk11",
2233
+ "8.5.14-jdk11",
2234
+ "7.20.0-jdk11",
2235
+ "8.7",
2236
+ "8.5.14-ubuntu-jdk11",
2237
+ "8.3.0-ubuntu-jdk11",
2238
+ "8.7.2",
2239
+ "8.6.0-jdk11",
2240
+ "8.7.2-jdk17",
2241
+ "8.9.5-ubuntu-jdk11",
2242
+ "8.7-jdk17",
2243
+ "8.7.2-ubuntu-jdk17",
2244
+ "9.0-ubuntu-jdk17",
2245
+ "9.0.3",
2246
+ "7.19.4-ubuntu-jdk11",
2247
+ "8.3.2-jdk17",
2248
+ "8.3.2",
2249
+ "7.19.0",
2250
+ "8.5.7",
2251
+ "7.19.0-ubuntu-jdk11",
2252
+ "9.0-jdk17",
2253
+ "9.0",
2254
+ "9.0.3-ubuntu-jdk17",
2255
+ "8.3.2-ubuntu-jdk17",
2256
+ "8.4.5",
2257
+ "9.0.3-jdk17",
2258
+ "7.19.4-jdk11",
2259
+ "7.19.4",
2260
+ "8.8-ubuntu-jdk11",
2261
+ "8.6.0-ubuntu-jdk11",
2262
+ "8.3.1-ubuntu-jdk11",
2263
+ "9.1.0-jdk17",
2264
+ "9.0.1-jdk21",
2265
+ "8.5.7-jdk17",
2266
+ "8.5.2-ubuntu-jdk17",
2267
+ "7.19.15-jdk11",
2268
+ "8.0.2",
2269
+ "8.4-jdk17",
2270
+ "8.4.5-jdk17",
2271
+ "8.4.5-ubuntu-jdk17",
2272
+ "8.8.1-jdk11",
2273
+ "7.19.5-ubuntu-jdk11",
2274
+ "8.4-ubuntu-jdk17",
2275
+ "8.8.1-ubuntu-jdk11",
2276
+ "7.19.20-ubuntu-jdk11",
2277
+ "9.1-ubuntu-jdk21",
2278
+ "8.8-jdk11",
2279
+ "8.9.1-ubi9-jdk17",
2280
+ "8.3.3-jdk17",
2281
+ "8.9.1-ubi9",
2282
+ "8.3.3-ubuntu-jdk17",
2283
+ "8.9.4",
2284
+ "7.19.27",
2285
+ "9.0.3-ubi9",
2286
+ "9.0.3-ubi9-jdk17",
2287
+ "8.9.4-jdk17",
2288
+ "8.5.0-jdk11",
2289
+ "8.5.11-jdk17",
2290
+ "8.7.2-ubi9-jdk17",
2291
+ "7.19.27-jdk11",
2292
+ "8.0.2-ubuntu-jdk11",
2293
+ "8.5.15-ubuntu-jdk11",
2294
+ "8.3.3",
2295
+ "8.5.7-ubuntu-jdk17",
2296
+ "8.9.5-jdk11",
2270
2297
  "8.5.3-ubuntu-jdk11",
2271
- "8.5.5",
2272
- "8.5.4-ubuntu-jdk17",
2298
+ "8.0.2-jdk11",
2299
+ "8.5.3-jdk11",
2300
+ "7.19.27-ubuntu-jdk11",
2301
+ "8.4",
2302
+ "8.5.0-ubuntu-jdk11",
2303
+ "8.3.1-jdk11",
2304
+ "8.5.15-jdk11",
2305
+ "7.19.5",
2306
+ "7.19.1-ubuntu-jdk11",
2273
2307
  "8.5.4-ubuntu-jdk11",
2274
- "8.5.4-jdk17",
2275
- "8.5.4",
2308
+ "8.9.4-ubuntu-jdk17",
2276
2309
  "8.5.4-jdk11",
2277
- "8.5.3-ubuntu-jdk17",
2278
- "8.5.3-jdk17",
2279
- "8.5.3-jdk11",
2280
- "8.5.3",
2310
+ "9.1.1",
2311
+ "9.1.1-ubuntu-jdk21",
2312
+ "9.1.0",
2313
+ "8.8.0-jdk17",
2314
+ "8.4.1-ubuntu-jdk11",
2315
+ "8.5.10-ubi9-jdk17",
2316
+ "7.20.1-jdk11",
2317
+ "9.1-jdk21",
2318
+ "8.0.3-ubuntu-jdk11",
2319
+ "8.5.15-ubi9",
2281
2320
  "8.5.2-jdk17",
2282
- "8.5.2-ubuntu-jdk11",
2283
- "8.5.2-ubuntu-jdk17",
2284
- "8.5.2-jdk11",
2321
+ "8.9.6-ubi9-jdk17",
2322
+ "9.1.0-ubuntu-jdk17",
2323
+ "8.5.11-ubuntu-jdk17",
2324
+ "9.1",
2285
2325
  "8.5.2",
2286
- "8.5.1-ubuntu-jdk17",
2287
- "8.5.1-ubuntu-jdk11",
2288
- "8.5.17-ubi9-jdk17",
2289
- "8.5.1-jdk17",
2290
- "8.5.1-jdk11",
2291
- "8.5.17-ubi9",
2292
- "8.5.17-ubuntu-jdk17",
2293
- "8.5.17-ubuntu-jdk11",
2294
- "8.5.17-jdk17",
2295
- "8.5.17-jdk11",
2296
- "8.5.16-ubuntu-jdk17",
2297
- "8.5.17",
2298
- "8.5.16-ubuntu-jdk11",
2299
- "8.5.16-jdk17",
2300
- "8.5.16-ubi9-jdk17",
2301
- "8.5.16-ubi9",
2302
- "8.5.16-jdk11",
2303
- "8.5.16",
2304
- "8.5.15-ubuntu-jdk17",
2305
2326
  "8.5.15-ubi9-jdk17",
2306
- "8.5.15-ubuntu-jdk11",
2307
- "8.5.15-jdk17",
2308
- "8.5.15-jdk11",
2309
- "8.5.15-ubi9",
2310
- "8.5.15",
2311
- "8.5.14-ubuntu-jdk17",
2312
- "8.5.14-ubuntu-jdk11",
2313
- "8.5.14-jdk17",
2314
- "8.5.14-jdk11",
2315
- "8.5.14",
2327
+ "8.4.1-jdk11",
2328
+ "8.0.3",
2329
+ "8.0.3-jdk11",
2330
+ "7.19.1-jdk11",
2331
+ "9.1.1-jdk21",
2332
+ "8.5.11",
2333
+ "8.6.0-ubi9",
2334
+ "9.1.0-ubi9-jdk21",
2335
+ "8.9.6-ubi9",
2336
+ "7.19.5-jdk11",
2337
+ "8.7.2-ubi9",
2338
+ "7.19.1",
2339
+ "8.8.0",
2340
+ "8.2.0",
2341
+ "8.6.1-ubuntu-jdk11",
2342
+ "7.19.16-jdk11",
2316
2343
  "8.5.12-ubuntu-jdk17",
2317
- "8.5.12-ubuntu-jdk11",
2318
- "8.5.12-ubi9-jdk17",
2319
- "8.5.12-ubi9",
2320
- "8.5.12-jdk17",
2321
- "8.5.12-jdk11",
2322
- "8.2.3-ubuntu-jdk11",
2323
- "8.5.11-ubuntu-jdk17",
2324
- "8.4.3-jdk11",
2325
- "8.5.11-ubi9",
2326
- "8.5.12",
2327
- "8.5.11-ubuntu-jdk11",
2328
- "8.5.11-ubi9-jdk17",
2329
- "8.5.11-jdk17",
2330
- "8.5.11-jdk11",
2344
+ "9.0.2-ubuntu-jdk21",
2345
+ "8.6.1-jdk11",
2331
2346
  "8.5.10-ubi9",
2332
- "8.5.10-ubi9-jdk17",
2333
- "8.5.10-ubuntu-jdk11",
2334
- "8.5.11",
2335
- "8.5.10-ubuntu-jdk17",
2336
- "8.5.10-jdk17",
2337
- "8.5.10",
2338
- "8.5.10-jdk11",
2339
- "8.5.1",
2340
- "8.5.0-ubuntu-jdk17",
2341
- "8.5.0-ubuntu-jdk11",
2342
- "8.5.0-jdk17",
2343
- "8.5.0",
2344
- "8.5",
2345
- "8.5.0-jdk11",
2346
- "8.4-ubuntu-jdk17",
2347
- "8.4-ubuntu-jdk11",
2348
- "8.4-jdk17",
2349
- "8.4-jdk11",
2350
- "8.4.5-ubuntu-jdk17",
2351
- "8.4.5-ubuntu-jdk11",
2352
- "8.4.5-jdk17",
2353
- "8.4.5",
2354
- "8.4.5-jdk11",
2355
- "8.4.4-ubuntu-jdk17",
2356
- "8.4.4-ubuntu-jdk11",
2357
- "8.4.4-jdk17",
2358
- "8.4.4-jdk11",
2359
- "8.4.3-ubuntu-jdk17",
2360
- "8.4.4",
2361
- "8.4.3-ubuntu-jdk11",
2362
- "8.4.3-jdk17",
2363
- "8.4.2-ubuntu-jdk17",
2364
- "8.4.3",
2365
- "8.4.2-ubuntu-jdk11",
2366
- "8.4.2-jdk17",
2367
- "8.4.1-ubuntu-jdk17",
2368
- "8.4.2",
2369
- "8.4.2-jdk11",
2370
- "8.4.1-jdk17",
2371
- "8.4.1-ubuntu-jdk11",
2372
- "8.4.1-jdk11",
2373
- "8.4.1",
2374
- "8.4.0-jdk17",
2375
- "8.4.0-ubuntu-jdk17",
2376
- "8.4.0-ubuntu-jdk11",
2377
- "8.4.0-jdk11",
2378
- "8.4.0",
2379
- "8.3-ubuntu-jdk11",
2380
- "8.4",
2381
- "8.3-jdk17",
2347
+ "7.20.1",
2348
+ "8.2.0-jdk11",
2349
+ "8.8.0-ubuntu-jdk17",
2350
+ "7.19.16",
2351
+ "8.2.0-ubuntu-jdk11",
2352
+ "7.20.1-ubuntu-jdk11",
2353
+ "9.0.2-jdk21",
2354
+ "7.19.16-ubuntu-jdk11",
2355
+ "8.6.0-ubi9-jdk17",
2356
+ "8.3.2-ubuntu-jdk11",
2357
+ "8.5.1-jdk11",
2358
+ "8.3.4",
2359
+ "8.9.0-ubuntu-jdk11",
2360
+ "8.3",
2361
+ "8.9.5-ubuntu-jdk17",
2362
+ "8.9.5",
2363
+ "8.5.3",
2364
+ "7.19.21-ubuntu-jdk11",
2365
+ "8.5.8-jdk17",
2366
+ "8.5.3-jdk17",
2367
+ "7.19.21",
2368
+ "7.19.10-ubuntu-jdk11",
2369
+ "7.19.28-jdk11",
2370
+ "7.19.21-jdk11",
2382
2371
  "8.3-ubuntu-jdk17",
2383
- "8.3-jdk11",
2384
- "8.3.4-ubuntu-jdk17",
2385
- "8.3.4-ubuntu-jdk11",
2386
2372
  "8.3.4-jdk17",
2387
- "8.3.4",
2388
- "8.3.4-jdk11",
2389
- "8.3.3-ubuntu-jdk17",
2390
- "8.3.3-jdk11",
2391
- "8.3.3-ubuntu-jdk11",
2392
- "8.3.3-jdk17",
2393
- "8.3.3",
2394
- "8.3.2-ubuntu-jdk17",
2373
+ "7.19.6",
2374
+ "8.4.2-jdk11",
2375
+ "8.4.2-ubuntu-jdk11",
2376
+ "8.9.5-jdk17",
2377
+ "8.2.1-jdk11",
2378
+ "8.0-ubuntu-jdk11",
2379
+ "8.9.6-ubuntu-jdk11",
2380
+ "8.9.6-jdk11",
2381
+ "8.2.1",
2382
+ "8.5.12-jdk17",
2383
+ "8.0",
2384
+ "latest",
2385
+ "8.9.2-ubi9-jdk17",
2386
+ "7.20.2",
2395
2387
  "8.3.2-jdk11",
2396
- "8.3.2-ubuntu-jdk11",
2397
- "8.3.2-jdk17",
2398
- "8.3.2",
2399
- "8.3.1-ubuntu-jdk17",
2400
- "8.3.1-ubuntu-jdk11",
2401
- "8.3.1-jdk17",
2402
- "8.3.1-jdk11",
2403
- "8.3.0-ubuntu-jdk17",
2404
- "8.3.1",
2405
- "8.3.0-ubuntu-jdk11",
2406
- "8.3.0-jdk17",
2407
- "8.3.0-jdk11",
2408
- "8.2-ubuntu-jdk17",
2409
- "8.3",
2410
- "8.3.0",
2411
- "8.2-ubuntu-jdk11",
2412
- "8.2-jdk17",
2413
- "8.2-jdk11",
2414
- "8.2.3-ubuntu-jdk17",
2415
- "8.2.3-jdk17",
2416
- "8.2.3-jdk11",
2417
- "8.2.3",
2388
+ "7.19.17-ubuntu-jdk11",
2389
+ "8.5.8-ubuntu-jdk17",
2390
+ "8.5.8",
2391
+ "8.5.12",
2392
+ "7.19.28-ubuntu-jdk11",
2393
+ "9.0.1-ubi9",
2394
+ "8.5.16-jdk11",
2395
+ "8.5.16-ubuntu-jdk11",
2396
+ "7.19.17",
2397
+ "8.5.16-ubi9-jdk17",
2398
+ "8.3-jdk17",
2399
+ "8.3.4-ubuntu-jdk17",
2400
+ "8.5.3-ubuntu-jdk17",
2401
+ "7.19.22-jdk11",
2402
+ "9.2.0-ubuntu-jdk21",
2403
+ "9.2",
2404
+ "9.1.1-ubuntu-jdk17",
2405
+ "8.5.16-ubi9",
2406
+ "7.19.10-jdk11",
2407
+ "9.0.1-ubi9-jdk21",
2408
+ "8.9.0-jdk11",
2409
+ "8.5.1-ubuntu-jdk11",
2410
+ "8.8.1",
2411
+ "7.19.10",
2412
+ "9.0-jdk21",
2413
+ "9.0-ubuntu-jdk21",
2414
+ "9.2-ubuntu-jdk21",
2415
+ "9.1.0-ubi9",
2416
+ "8.5.9-jdk17",
2417
+ "8.5.0-ubuntu-jdk17",
2418
+ "8.5.0-jdk17",
2419
+ "8.4.3-jdk11",
2420
+ "8.8-ubuntu-jdk17",
2418
2421
  "8.2.2-ubuntu-jdk17",
2419
- "8.2.2-ubuntu-jdk11",
2422
+ "8.6-ubuntu-jdk11",
2423
+ "9.1.0-ubi9-jdk17",
2424
+ "8.5.0",
2425
+ "8.2.1-ubuntu-jdk11",
2426
+ "8.5.5-jdk11",
2427
+ "8.9.2-ubi9",
2428
+ "9.1-ubuntu-jdk17",
2429
+ "9.0.3-jdk21",
2430
+ "7.19.28",
2431
+ "8.5.5-ubuntu-jdk11",
2432
+ "9.0.3-ubuntu-jdk21",
2433
+ "8.8.0-ubi9",
2434
+ "7.19.17-jdk11",
2435
+ "9.2-jdk21",
2436
+ "9.2.0",
2437
+ "8.5.6-ubi9",
2438
+ "8.5.9",
2439
+ "8.0.4-ubuntu-jdk11",
2440
+ "8.0-jdk11",
2441
+ "7.19.6-ubuntu-jdk11",
2442
+ "7.19.22",
2443
+ "8.5.6-ubi9-jdk17",
2444
+ "7.19.22-ubuntu-jdk11",
2445
+ "8.0.4-jdk11",
2446
+ "9-jdk21",
2447
+ "8.5.9-ubuntu-jdk17",
2448
+ "9.2.0-jdk21",
2449
+ "7.20.2-jdk11",
2450
+ "jdk21",
2451
+ "9",
2452
+ "7.19.6-jdk11",
2453
+ "8.8",
2454
+ "8.6-jdk11",
2455
+ "9.1-jdk17",
2456
+ "9.1.1-jdk17",
2457
+ "9.0.2-ubi9-jdk21",
2420
2458
  "8.2.2-jdk17",
2421
- "8.2.2-jdk11",
2422
- "8.2.2",
2423
- "8.2.1-ubuntu-jdk17",
2424
- "8.2.1-jdk17",
2425
- "8.2.1-ubuntu-jdk11",
2426
- "8.2.1-jdk11",
2427
- "8.2.1",
2428
- "8.2.0-ubuntu-jdk17",
2429
- "8.2.0-ubuntu-jdk11",
2430
- "8.2.0-jdk17",
2431
- "8.2.0",
2432
- "8.2.0-jdk11",
2433
- "8.2",
2434
- "8.1-ubuntu-jdk17",
2435
- "8.1-ubuntu-jdk11",
2459
+ "9-ubuntu-jdk21",
2460
+ "8.5.10-jdk11",
2461
+ "ubuntu-jdk21",
2462
+ "8.3.3-jdk11",
2463
+ "8.9.1-jdk11",
2464
+ "8.9.7-ubi9",
2465
+ "8.5.11-ubi9-jdk17",
2466
+ "8.5.10-ubuntu-jdk11",
2467
+ "8.4.3-ubuntu-jdk11",
2468
+ "8.6.2-ubuntu-jdk11",
2436
2469
  "8.0.4",
2437
- "8.1-jdk17",
2438
- "8.1-jdk11",
2439
- "8.1.4-ubuntu-jdk17",
2440
- "8.1.4-ubuntu-jdk11",
2441
- "8.1.4-jdk17",
2442
- "8.1.4-jdk11",
2470
+ "7.20.2-ubuntu-jdk11",
2471
+ "8.9.7-jdk11",
2472
+ "8.9.7-ubi9-jdk17",
2473
+ "8.8.1-jdk17",
2474
+ "8.5.11-ubi9",
2475
+ "8.6.1-ubi9-jdk17",
2476
+ "8.9.3-ubi9",
2477
+ "8.5.17-jdk11",
2478
+ "8.9.1-ubuntu-jdk11",
2479
+ "8.8-jdk17",
2480
+ "8.9.6-ubuntu-jdk17",
2443
2481
  "8.1.3-ubuntu-jdk17",
2444
- "8.1.4",
2445
- "8.1.3-ubuntu-jdk11",
2482
+ "9.1.1-ubi9-jdk21",
2483
+ "9.1.0-jdk21",
2484
+ "8.9.6",
2485
+ "8.8.0-ubi9-jdk17",
2446
2486
  "8.1.3-jdk17",
2447
- "8.1.3-jdk11",
2448
- "8.1.1-ubuntu-jdk17",
2449
- "8.1.3",
2450
- "8.1.1-ubuntu-jdk11",
2451
- "8.1.1-jdk17",
2452
- "8.1.1-jdk11",
2453
- "8.1.1",
2454
- "8.1.0-ubuntu-jdk17",
2455
- "8.1.0-ubuntu-jdk11",
2456
- "8.1.0-jdk17",
2457
- "8.0-ubuntu-jdk17",
2458
- "8.1.0",
2459
- "8.1.0-jdk11",
2460
- "8.1",
2461
- "8.0-jdk17",
2462
- "8.0-jdk11",
2463
- "8.0-ubuntu-jdk11",
2464
- "8.0.4-ubuntu-jdk17",
2465
- "8.0.4-ubuntu-jdk11",
2466
- "8.0.4-jdk17",
2467
- "8.0.4-jdk11",
2468
- "8.0.3-jdk17",
2469
- "8.0.3-ubuntu-jdk17",
2470
- "8.0.3-ubuntu-jdk11",
2471
- "8.0.2-ubuntu-jdk11",
2472
- "8.0.2-ubuntu-jdk17",
2473
- "8.0.3-jdk11",
2474
- "8.0.3",
2475
- "8.0.2-jdk17",
2476
- "8.0.2-jdk11",
2477
- "8.0.2",
2478
- "8.0.1-ubuntu-jdk17",
2479
- "8.0.1-ubuntu-jdk11",
2480
- "8.0.1-jdk17",
2481
- "8.0.0-ubuntu-jdk17",
2482
- "8.0.1-jdk11",
2483
- "8.0.1",
2484
- "8.0.0-ubuntu-jdk11",
2485
- "8.0.0-jdk11",
2486
- "8.0.0-jdk17",
2487
- "7-jdk11",
2488
- "8.0.0",
2489
- "8.0",
2490
- "7-ubuntu-jdk11",
2491
- "8",
2487
+ "8.5.7-ubi9-jdk17",
2488
+ "8.9.3-ubi9-jdk17",
2492
2489
  "7.20-ubuntu-jdk11",
2490
+ "8.5.4",
2493
2491
  "7.20-jdk11",
2492
+ "8.5.4-ubuntu-jdk17",
2493
+ "8.5.17-ubi9",
2494
+ "8.8.1-ubuntu-jdk17",
2495
+ "8.6.2-jdk11",
2496
+ "8.3.3-ubuntu-jdk11",
2494
2497
  "7.20.3-ubuntu-jdk11",
2498
+ "8.9.7-ubuntu-jdk11",
2499
+ "7.19.29",
2500
+ "8.2.0-ubuntu-jdk17",
2501
+ "8.6.1-ubi9",
2502
+ "8.9.6-jdk17",
2503
+ "9.1.0-ubuntu-jdk21",
2504
+ "8.9.8-ubi9",
2505
+ "8.4.0-ubuntu-jdk17",
2506
+ "8.2.2-ubuntu-jdk11",
2507
+ "7.19.29-ubuntu-jdk11",
2508
+ "8.5.17-ubuntu-jdk11",
2509
+ "7.19.29-jdk11",
2510
+ "8.4.0",
2511
+ "7",
2512
+ "8.2.2-jdk11",
2513
+ "8.5.7-ubi9",
2514
+ "8.1.0-ubuntu-jdk17",
2515
+ "7.19.18-jdk11",
2516
+ "7.19.18",
2517
+ "9.1.1-ubi9",
2518
+ "9.1.1-ubi9-jdk17",
2519
+ "7.19.18-ubuntu-jdk11",
2520
+ "8.2.0-jdk17",
2521
+ "8.5.14",
2522
+ "8.5.4-jdk17",
2523
+ "7.19.11",
2524
+ "7.19.7-jdk11",
2525
+ "8.2.2",
2526
+ "8.1.0-jdk17",
2495
2527
  "7.20.3-jdk11",
2528
+ "8.5.14-jdk17",
2496
2529
  "7.20.3",
2497
- "7.20.2-jdk11",
2498
- "7.20.2-ubuntu-jdk11",
2499
- "7.20.1-ubuntu-jdk11",
2500
- "7.20.2",
2501
- "7.20.1-jdk11",
2502
- "7.20.1",
2503
- "7.20.0-ubuntu-jdk11",
2504
- "7.20.0-jdk11",
2505
- "7.19-ubuntu-jdk11",
2506
- "7.20.0",
2507
2530
  "7.20",
2508
- "7.19-jdk11",
2509
- "7.19.9-ubuntu-jdk11",
2510
- "7.19.9-jdk11",
2511
- "7.19.8",
2512
- "7.19.8-ubuntu-jdk11",
2513
- "7.19.8-jdk11",
2514
- "7.19.9",
2515
- "7.19.7-jdk11",
2531
+ "8.0.3-ubuntu-jdk17",
2532
+ "7-ubuntu-jdk11",
2533
+ "8.5.12-ubi9-jdk17",
2534
+ "7-jdk11",
2535
+ "8.5.14-ubuntu-jdk17",
2536
+ "8.9-ubuntu-jdk11",
2537
+ "8.9.8-ubi9-jdk17",
2538
+ "8.5.6-jdk11",
2539
+ "8.4.0-jdk17",
2540
+ "7.19.23-jdk11",
2516
2541
  "7.19.7-ubuntu-jdk11",
2517
- "7.19.7",
2518
- "7.19.6-ubuntu-jdk11",
2519
- "7.19.6-jdk11",
2520
- "7.19.6",
2521
- "7.19.5-ubuntu-jdk11",
2522
- "7.19.5-jdk11",
2523
- "7.19.5",
2524
- "7.19.4-ubuntu-jdk11",
2525
- "7.19.4-jdk11",
2526
- "7.19.4",
2527
- "7.19.3-ubuntu-jdk11",
2528
- "7.19.3-jdk11",
2529
- "7.19.3",
2530
- "7.19.2-ubuntu-jdk11",
2531
- "7.19.2-jdk11",
2532
- "7.19.29-ubuntu-jdk11",
2533
- "7.19.29-jdk11",
2534
- "7.19.29",
2535
- "7.19.28-ubuntu-jdk11",
2536
- "7.19.28-jdk11",
2537
- "7.19.28",
2538
- "7.19.27-ubuntu-jdk11",
2539
- "7.19.27-jdk11",
2540
- "7.19.27",
2541
- "7.19.26-ubuntu-jdk11",
2542
- "7.19.26-jdk11",
2543
- "7.19.25-jdk11",
2544
- "7.19.26",
2545
- "7.19.25-ubuntu-jdk11",
2546
- "7.19.25",
2547
- "7.19.24-ubuntu-jdk11",
2548
- "7.19.24-jdk11",
2549
- "7.19.24",
2542
+ "7.19.11-jdk11",
2543
+ "8.5.6-ubuntu-jdk11",
2544
+ "8.5.17-ubi9-jdk17",
2545
+ "8.8.1-ubi9",
2550
2546
  "7.19.23-ubuntu-jdk11",
2551
- "7.19.14",
2552
- "7.19.23-jdk11",
2553
2547
  "7.19.23",
2554
- "latest",
2555
- "7.19.22-jdk11",
2556
- "7.19.22-ubuntu-jdk11",
2557
- "7.19.22",
2558
- "7.19.21-ubuntu-jdk11",
2559
- "7.19.21-jdk11",
2560
- "7.19.21",
2561
- "7.19.20",
2562
- "7.19.20-ubuntu-jdk11",
2563
- "7.19.20-jdk11",
2564
- "7.19.15-jdk11",
2565
- "7.19.2",
2566
- "7.19.1-ubuntu-jdk11",
2567
- "7.19.19-jdk11",
2568
- "7.19.19-ubuntu-jdk11",
2569
- "7.19.1-jdk11",
2570
- "7.19.19",
2571
- "7.19.18-ubuntu-jdk11",
2572
- "7.19.18-jdk11",
2573
- "7.19.18",
2574
- "7.19.17-ubuntu-jdk11",
2575
- "7.19.17",
2576
- "7.19.17-jdk11",
2577
- "7.19.16-ubuntu-jdk11",
2578
- "7.19.16-jdk11",
2579
- "7.19.16",
2580
- "7.19.14-ubuntu-jdk11",
2581
- "7.19.14-jdk11",
2582
- "7.19.15-ubuntu-jdk11",
2583
- "7.19.15",
2548
+ "8.5.12-ubi9",
2549
+ "8.1-jdk17",
2550
+ "8.1-ubuntu-jdk17",
2551
+ "7.19.11-ubuntu-jdk11",
2552
+ "7.19.7",
2553
+ "8.9.8-ubuntu-jdk11",
2554
+ "8.9-jdk11",
2555
+ "8.0.3-jdk17",
2556
+ "8-ubuntu-jdk11",
2557
+ "8.7.1-jdk11",
2558
+ "8.1.4-ubuntu-jdk17",
2559
+ "8.1.4-jdk17",
2560
+ "8.1.0-ubuntu-jdk11",
2561
+ "8.5.18-ubi9-jdk17",
2562
+ "8.5.15",
2563
+ "8.5.11-jdk11",
2564
+ "8.6.2-ubi9",
2565
+ "8.2-ubuntu-jdk17",
2566
+ "8.4.4-ubuntu-jdk11",
2567
+ "8.9.8-jdk11",
2568
+ "8.1.0",
2584
2569
  "7.19.12-ubuntu-jdk11",
2585
- "7.19.12-jdk11",
2586
- "7.19.11-ubuntu-jdk11",
2587
- "7.19.11-jdk11",
2588
- "7.19.11",
2589
- "7.19.10-jdk11",
2590
- "7.19.12",
2591
- "7.19.10-ubuntu-jdk11",
2592
- "7.19",
2593
- "7.19.10",
2594
- "7.19.0-ubuntu-jdk11",
2595
- "7",
2596
- "7.19.0",
2597
- "7.19.0-jdk11",
2598
- "7.19.1",
2599
- "jdk21",
2600
- "9.1-jdk21",
2601
- "ubuntu-jdk21",
2602
- "9.1.1-ubuntu-jdk21",
2603
- "9.1-ubuntu-jdk21",
2604
- "9-ubuntu-jdk21",
2605
- "9-jdk21",
2606
- "9.1.1-ubi9",
2570
+ "8.6.0-ubuntu-jdk17",
2571
+ "8.6.0-jdk17",
2572
+ "8-jdk11",
2573
+ "9.2.0-jdk17",
2574
+ "8.1.0-jdk11",
2575
+ "8.7.1-ubuntu-jdk11",
2576
+ "8.2-jdk11",
2577
+ "8.6.0",
2578
+ "8.2-jdk17",
2579
+ "8.6.2-ubi9-jdk17",
2580
+ "8.2.3-ubuntu-jdk17",
2581
+ "8.8.1-ubi9-jdk17",
2582
+ "8.5.15-ubuntu-jdk17",
2583
+ "8.9.0",
2584
+ "9.2-jdk17",
2585
+ "8.2.3-ubuntu-jdk11",
2586
+ "8.5.11-ubuntu-jdk11",
2607
2587
  "ubi9",
2608
- "ubi9-jdk21",
2609
- "9.1.1-ubi9-jdk21",
2610
- "9.1-jdk17",
2611
- "jdk17",
2612
- "ubuntu-jdk17",
2588
+ "8.5.18-jdk11",
2589
+ "9.2-ubuntu-jdk17",
2613
2590
  "9-jdk17",
2614
- "9.1.1-ubuntu-jdk17",
2591
+ "8.9.7-ubuntu-jdk17",
2592
+ "8.5.15-jdk17",
2593
+ "8.9.2-jdk11",
2594
+ "8.4.4-jdk11",
2595
+ "7.19.12",
2596
+ "7.19.8-jdk11",
2597
+ "8.2",
2598
+ "8.2.3-jdk11",
2599
+ "8.2.3-jdk17",
2600
+ "jdk17",
2601
+ "8.3.4-jdk11",
2602
+ "9.2.0-ubi9-jdk21",
2603
+ "9.2.0-ubuntu-jdk17",
2615
2604
  "9-ubuntu-jdk17",
2616
- "9.1-ubuntu-jdk17",
2617
- "ubi9-jdk17",
2618
- "9.1.1-ubi9-jdk17",
2619
- "9.0.1-ubi9-jdk17",
2620
- "8.9.5-ubi9-jdk17",
2621
- "8.9.5-ubi9",
2622
- "8.9.1-ubi9-jdk17",
2623
- "8.9.1-ubi9",
2624
- "8.7.2-ubi9-jdk17",
2625
- "8.7.2-ubi9",
2626
- "8.6.0-ubi9-jdk17",
2627
- "8.6.0-ubi9",
2605
+ "8.5-jdk11",
2606
+ "8.3-ubuntu-jdk11",
2607
+ "8.3-jdk11",
2608
+ "8.0.2-jdk17",
2609
+ "8.5.18-ubuntu-jdk11",
2610
+ "7.19.3",
2611
+ "8.0.0-ubuntu-jdk17",
2612
+ "7.19.8-ubuntu-jdk11",
2613
+ "8.2-ubuntu-jdk11",
2614
+ "ubuntu-jdk17",
2615
+ "8.5.18-ubi9",
2616
+ "ubi9-jdk21",
2617
+ "8.2.3",
2618
+ "8.9.7-jdk17",
2619
+ "7.19.12-jdk11",
2620
+ "8.0-ubuntu-jdk17",
2621
+ "8.9.0-jdk17",
2622
+ "8.9.7",
2623
+ "8.9.0-ubuntu-jdk17",
2624
+ "8.3.4-ubuntu-jdk11",
2625
+ "8.5-ubuntu-jdk11",
2626
+ "8.0.4-ubuntu-jdk17",
2627
+ "7.19.19-ubuntu-jdk11",
2628
+ "7.19.3-jdk11",
2629
+ "7.19.3-ubuntu-jdk11",
2630
+ "8.0-jdk17",
2631
+ "8.5.7-ubuntu-jdk11",
2632
+ "7.19.19",
2633
+ "9.0.3-ubi9-jdk21",
2634
+ "7.19.19-jdk11",
2635
+ "8.5.8-ubi9",
2636
+ "8.0.1-ubuntu-jdk17",
2637
+ "8.5.8-ubi9-jdk17",
2638
+ "8.0.1-jdk17",
2639
+ "8.2.1-jdk17",
2640
+ "8.2.1-ubuntu-jdk17",
2641
+ "8.5.7-jdk11",
2642
+ "8.9.4-ubi9-jdk17",
2643
+ "9.2.0-ubi9",
2644
+ "8.0.4-jdk17",
2645
+ "8.0.0-jdk17",
2646
+ "7.19.8",
2647
+ "8.0.2-ubuntu-jdk17",
2648
+ "8.9.2-ubuntu-jdk11",
2649
+ "7.19.24-ubuntu-jdk11",
2650
+ "7.19.24",
2651
+ "7.19.24-jdk11",
2652
+ "8.9.4-ubi9",
2628
2653
  "8.5.14-ubi9-jdk17",
2654
+ "8.1.1-jdk17",
2629
2655
  "8.5.14-ubi9",
2656
+ "8.1.1-ubuntu-jdk11",
2657
+ "8.0.0-ubuntu-jdk11",
2658
+ "8.1.1-ubuntu-jdk17",
2659
+ "8.0.0-jdk11",
2660
+ "8.1.1-jdk11",
2661
+ "8.1.1",
2662
+ "8.0.0",
2663
+ "ubi9-jdk17",
2664
+ "9.2.0-ubi9-jdk17",
2665
+ "9.0.1-ubi9-jdk17",
2666
+ "8.9.0-ubi9-jdk17",
2667
+ "8.9.0-ubi9",
2668
+ "8.5.9-ubi9",
2669
+ "8.7.1-ubi9",
2670
+ "8.7.1-ubi9-jdk17",
2671
+ "8.5.9-ubi9-jdk17",
2672
+ "9.2.0-rc1-jdk21",
2673
+ "9.2.0-rc1-ubuntu-jdk21",
2674
+ "9.2.0-rc1",
2675
+ "eap",
2676
+ "9.2.0-rc1-jdk17",
2677
+ "eap-jdk17",
2678
+ "eap-ubuntu-jdk17",
2679
+ "9.2.0-rc1-ubuntu-jdk17",
2680
+ "9.2.0-rc1-ubi9-jdk17",
2681
+ "9.2.0-rc1-ubi9",
2682
+ "9.2.0-rc1-ubi9-jdk21",
2683
+ "9.2.0-beta3-ubuntu-jdk17",
2684
+ "9.2.0-beta3-jdk17",
2685
+ "9.2.0-beta3",
2686
+ "9.2.0-beta3-jdk21",
2687
+ "9.2.0-beta3-ubuntu-jdk21",
2688
+ "9.2.0-beta3-ubi9",
2689
+ "9.2.0-beta3-ubi9-jdk21",
2690
+ "9.2.0-beta3-ubi9-jdk17",
2691
+ "9.2.0-beta2-ubuntu-jdk21",
2692
+ "9.2.0-beta2-jdk21",
2693
+ "9.2.0-beta2-jdk17",
2694
+ "9.2.0-beta2",
2695
+ "9.2.0-beta2-ubuntu-jdk17",
2696
+ "9.2.0-beta2-ubi9-jdk17",
2697
+ "9.2.0-beta2-ubi9-jdk21",
2698
+ "9.2.0-beta2-ubi9",
2630
2699
  "9.2.0-m07-ubuntu-jdk21",
2631
2700
  "9.2.0-m07-jdk17",
2632
2701
  "9.2.0-m07",
@@ -7423,6 +7492,10 @@ var bitbucket = [
7423
7492
  ];
7424
7493
  var mysql = [
7425
7494
  "latest",
7495
+ "8.0.40-debian",
7496
+ "8.0.40-bookworm",
7497
+ "8.0-debian",
7498
+ "8.0-bookworm",
7426
7499
  "oraclelinux9",
7427
7500
  "oracle",
7428
7501
  "lts-oraclelinux9",
@@ -7455,10 +7528,6 @@ var mysql = [
7455
7528
  "8-oraclelinux9",
7456
7529
  "8-oracle",
7457
7530
  "8",
7458
- "8.0.40-debian",
7459
- "8.0.40-bookworm",
7460
- "8.0-debian",
7461
- "8.0-bookworm",
7462
7531
  "8.0.39-debian",
7463
7532
  "8.0.39-bookworm",
7464
7533
  "9.0.1-oraclelinux9",
@@ -7704,82 +7773,95 @@ var mysql = [
7704
7773
  ];
7705
7774
  var postgresql = [
7706
7775
  "latest",
7707
- "12.22-bookworm",
7708
- "12.22",
7709
- "12-bookworm",
7710
- "12",
7711
- "15.10-bookworm",
7712
- "15.10",
7713
- "15-bookworm",
7714
- "15",
7715
- "14.15-bookworm",
7776
+ "14.15-alpine3.21",
7716
7777
  "14.15-alpine3.20",
7717
7778
  "14.15-alpine",
7718
- "14.15",
7719
- "14-bookworm",
7779
+ "14-alpine3.21",
7720
7780
  "14-alpine3.20",
7721
7781
  "14-alpine",
7722
- "14",
7723
- "13.18-bullseye",
7724
- "13.18-bookworm",
7782
+ "13.18-alpine3.21",
7725
7783
  "13.18-alpine3.20",
7726
- "13.18-alpine3.19",
7727
7784
  "13.18-alpine",
7728
- "13.18",
7729
- "13-bullseye",
7730
- "13-bookworm",
7785
+ "13-alpine3.21",
7731
7786
  "13-alpine3.20",
7732
- "13-alpine3.19",
7733
7787
  "13-alpine",
7734
- "13",
7735
- "12.22-bullseye",
7788
+ "12.22-alpine3.21",
7736
7789
  "12.22-alpine3.20",
7737
- "12.22-alpine3.19",
7738
7790
  "12.22-alpine",
7739
- "12-bullseye",
7791
+ "12-alpine3.21",
7740
7792
  "12-alpine3.20",
7741
- "12-alpine3.19",
7742
7793
  "12-alpine",
7743
- "bullseye",
7744
- "bookworm",
7794
+ "16.6-alpine3.21",
7795
+ "16.6-alpine3.20",
7796
+ "16.6-alpine",
7797
+ "16-alpine3.21",
7798
+ "16-alpine3.20",
7799
+ "16-alpine",
7800
+ "15.10-alpine3.21",
7801
+ "15.10-alpine3.20",
7802
+ "15.10-alpine",
7803
+ "15-alpine3.21",
7804
+ "15-alpine3.20",
7805
+ "15-alpine",
7806
+ "alpine3.21",
7745
7807
  "alpine3.20",
7746
- "alpine3.19",
7747
7808
  "alpine",
7748
- "17.2-bullseye",
7749
- "17.2-bookworm",
7809
+ "17.2-alpine3.21",
7750
7810
  "17.2-alpine3.20",
7751
- "17.2-alpine3.19",
7752
7811
  "17.2-alpine",
7753
- "17.2",
7754
- "17-bullseye",
7755
- "17-bookworm",
7812
+ "17-alpine3.21",
7756
7813
  "17-alpine3.20",
7757
- "17-alpine3.19",
7758
7814
  "17-alpine",
7815
+ "13.18-bookworm",
7816
+ "13.18",
7817
+ "13-bookworm",
7818
+ "13",
7819
+ "12.22-bookworm",
7820
+ "12.22",
7821
+ "12-bookworm",
7822
+ "12",
7823
+ "15.10-bookworm",
7824
+ "15.10",
7825
+ "15-bookworm",
7826
+ "15",
7827
+ "14.15-bookworm",
7828
+ "14.15",
7829
+ "14-bookworm",
7830
+ "14",
7831
+ "bookworm",
7832
+ "17.2-bookworm",
7833
+ "17.2",
7834
+ "17-bookworm",
7759
7835
  "17",
7760
- "16.6-bullseye",
7761
7836
  "16.6-bookworm",
7762
- "16.6-alpine3.20",
7763
- "16.6-alpine3.19",
7764
- "16.6-alpine",
7765
7837
  "16.6",
7766
- "16-bullseye",
7767
7838
  "16-bookworm",
7768
- "16-alpine3.20",
7769
- "16-alpine3.19",
7770
- "16-alpine",
7771
7839
  "16",
7840
+ "16.6-bullseye",
7841
+ "16-bullseye",
7772
7842
  "15.10-bullseye",
7773
- "15.10-alpine3.20",
7774
- "15.10-alpine3.19",
7775
- "15.10-alpine",
7776
7843
  "15-bullseye",
7777
- "15-alpine3.20",
7778
- "15-alpine3.19",
7779
- "15-alpine",
7780
7844
  "14.15-bullseye",
7781
- "14.15-alpine3.19",
7782
7845
  "14-bullseye",
7846
+ "13.18-bullseye",
7847
+ "13-bullseye",
7848
+ "12.22-bullseye",
7849
+ "12-bullseye",
7850
+ "bullseye",
7851
+ "17.2-bullseye",
7852
+ "17-bullseye",
7853
+ "13.18-alpine3.19",
7854
+ "13-alpine3.19",
7855
+ "12.22-alpine3.19",
7856
+ "12-alpine3.19",
7857
+ "alpine3.19",
7858
+ "17.2-alpine3.19",
7859
+ "17-alpine3.19",
7860
+ "16.6-alpine3.19",
7861
+ "16-alpine3.19",
7862
+ "15.10-alpine3.19",
7863
+ "15-alpine3.19",
7864
+ "14.15-alpine3.19",
7783
7865
  "14-alpine3.19",
7784
7866
  "12.21-bookworm",
7785
7867
  "12.21",
@@ -8855,6 +8937,7 @@ var mssql = [
8855
8937
  "2019-CU29-ubuntu-20.04",
8856
8938
  "2019-CU3-ubuntu-16.04",
8857
8939
  "2019-CU3-ubuntu-18.04",
8940
+ "2019-CU30-ubuntu-20.04",
8858
8941
  "2019-CU4-ubuntu-16.04",
8859
8942
  "2019-CU4-ubuntu-18.04",
8860
8943
  "2019-CU5-ubuntu-16.04",
@@ -9093,7 +9176,8 @@ class Base {
9093
9176
  log: false
9094
9177
  });
9095
9178
  return result.data.services.find(item => {
9096
- const [, service] = item.name.split('-');
9179
+ const parts = item.name.split('-');
9180
+ const service = parts[parts.length - 2];
9097
9181
  return service === this.options.name;
9098
9182
  });
9099
9183
  }
@@ -9310,4 +9394,4 @@ process.on('SIGINT', () => {
9310
9394
  console.log(`Received term signal, trying to stop gracefully 💪`);
9311
9395
  gracefulExit();
9312
9396
  });
9313
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2Rpc3Qvc3JjL2hlbHBlcnMvQWN0aW9uSGFuZGxlci5qcyIsIi4uLy4uL2Rpc3Qvc3JjL3R5cGVzL0RhdGFiYXNlLmpzIiwiLi4vLi4vZGlzdC9zcmMvaGVscGVycy9uZXR3b3JrLmpzIiwiLi4vLi4vZGlzdC9zcmMvZGF0YWJhc2VzL2Jhc2UuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvbXNzcWwuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvbXlzcWwuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvcG9zdGdyZXMuanMiLCIuLi8uLi9kaXN0L3NyYy9oZWxwZXJzL2dldERhdGFiYXNlRW5naW5lLmpzIiwiLi4vLi4vZGlzdC9zcmMvaGVscGVycy90b0Fic29sdXRlUGF0aC5qcyIsIi4uLy4uL2Rpc3Qvc3JjL2hlbHBlcnMvZ2V0VmVyc2lvbnMuanMiLCIuLi8uLi9kaXN0L3NyYy9oZWxwZXJzL2dldFpvZERlZmF1bHRzLmpzIiwiLi4vLi4vZGlzdC9zcmMvY29tbWFuZHMvZGF0YWJhc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXN5bmNFeGl0SG9vaywgZ3JhY2VmdWxFeGl0IH0gZnJvbSAnZXhpdC1ob29rJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuZXhwb3J0IGNvbnN0IEFjdGlvbkhhbmRsZXIgPSBhc3luYyAocHJvZ3JhbSwgeyBhY3Rpb24sIGVycm9ySGFuZGxlciB9LCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgb3BzID0gb3B0aW9ucyB8fCBwcm9ncmFtLm9wdHMoKTtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgoXywgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgICAgYXN5bmNFeGl0SG9vayhhc3luYyAoY29kZSkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAoY29kZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBlcnJvckhhbmRsZXIob3BzKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlLnRyaW0oKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgcmVqZWN0aW5nIHRoZSBwcm9taXNlIHRvIGF2b2lkIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyBcIkNhbGxpbmcgcHJvY2Vzcy5leGl0XCIgbG9nIG1lc3NhZ2UgZnJvbSBleGl0LWhvb2tcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG51bGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IGVycjtcbiAgICAgICAgICAgICAgICByZWplY3QobWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIHdhaXQ6IDYwICogMSAqIDEwMDBcbiAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbihvcHMpLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgICAgICAgICAgIGVyci5pc3N1ZXMuZm9yRWFjaChpc3N1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSArPSBgVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiAke2lzc3VlLnBhdGguam9pbignLCcpfTogJHtpc3N1ZS5tZXNzYWdlfVxcbmA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvciB8fCB0eXBlb2YgZXJyID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGVyci50b1N0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZ3JhY2VmdWxFeGl0KDEpO1xuICAgICAgICB9KTtcbiAgICB9KS5jYXRjaChtZXNzYWdlID0+IHtcbiAgICAgICAgaWYgKG1lc3NhZ2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHByb2dyYW0uZXJyb3IobWVzc2FnZSk7XG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBlcnJvciBtZXNzYWdlLFxuICAgICAgICAgICAgLy8gd2UgY2FuIGFzc3VtZSBhIGNsZWFuIGV4aXRcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICAgICAgfVxuICAgIH0pO1xufTtcbiIsImltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHZlcnNpb25zIGZyb20gJy4uLy4uL2Fzc2V0cy92ZXJzaW9ucy5qc29uJztcbmV4cG9ydCBjb25zdCBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMgPSB6LmVudW0oW1xuICAgICdwb3N0Z3Jlc3FsJyxcbiAgICAnbXlzcWwnLFxuICAgICdtc3NxbCdcbl0pO1xuZXhwb3J0IGNvbnN0IFN1cHBvcnRlZE1TU1FMRWRpdGlvbnMgPSB6LmVudW0oW1xuICAgICdEZXZlbG9wZXInLFxuICAgICdFeHByZXNzJyxcbiAgICAnU3RhbmRhcmQnLFxuICAgICdFbnRlcnByaXNlJyxcbiAgICAnRW50ZXJwcmlzZUNvcmUnXG5dKTtcbmV4cG9ydCBjb25zdCBEYXRhYmFzZU9wdGlvbnMgPSB6Lm9iamVjdCh7XG4gICAgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKSxcbiAgICBkYXRhYmFzZTogei5zdHJpbmcoKS5kZWZhdWx0KCdkY2R4JyksXG4gICAgdXNlcm5hbWU6IHouc3RyaW5nKCkuZGVmYXVsdCgnZGNkeCcpLFxuICAgIHBhc3N3b3JkOiB6LnN0cmluZygpLmRlZmF1bHQoJ2RjZHgnKSxcbiAgICBjbGVhbjogei5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgcHJ1bmU6IHouYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIHZlcmJvc2U6IHouYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKVxufSk7XG5leHBvcnQgY29uc3QgUG9zdGdyZVNRTE9wdGlvbnMgPSBEYXRhYmFzZU9wdGlvbnMuZXh0ZW5kKHtcbiAgICBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMucmVmaW5lKGl0ZW0gPT4gaXRlbSA9PT0gU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5wb3N0Z3Jlc3FsKS5kZWZhdWx0KFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbCksXG4gICAgdGFnOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbF0uaW5jbHVkZXMoaXRlbSkpLmRlZmF1bHQoJ2xhdGVzdCcpLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKS5kZWZhdWx0KDU0MzIpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSAnb3JnLnBvc3RncmVzcWwuRHJpdmVyJykuZGVmYXVsdCgnb3JnLnBvc3RncmVzcWwuRHJpdmVyJylcbn0pO1xuZXhwb3J0IGNvbnN0IE15U1FMT3B0aW9ucyA9IERhdGFiYXNlT3B0aW9ucy5leHRlbmQoe1xuICAgIG5hbWU6IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsKS5kZWZhdWx0KFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXlzcWwpLFxuICAgIHRhZzogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiB2ZXJzaW9uc1tTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsXS5pbmNsdWRlcyhpdGVtKSkuZGVmYXVsdCgnbGF0ZXN0JyksXG4gICAgcG9ydDogei5udW1iZXIoKS5vcih6LnN0cmluZygpLnRyYW5zZm9ybShOdW1iZXIpLnJlZmluZShpdGVtID0+ICFpc05hTihpdGVtKSkpLmRlZmF1bHQoMzMwNiksXG4gICAgZHJpdmVyOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IGl0ZW0gPT09ICdjb20ubXlzcWwuamRiYy5Ecml2ZXInKS5kZWZhdWx0KCdjb20ubXlzcWwuamRiYy5Ecml2ZXInKVxufSk7XG5leHBvcnQgY29uc3QgTVNTUUxPcHRpb25zID0gRGF0YWJhc2VPcHRpb25zLmV4dGVuZCh7XG4gICAgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLnJlZmluZShpdGVtID0+IGl0ZW0gPT09IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXNzcWwpLmRlZmF1bHQoU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbCksXG4gICAgdGFnOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXNzcWxdLmluY2x1ZGVzKGl0ZW0pKS5kZWZhdWx0KCdsYXRlc3QnKSxcbiAgICBlZGl0aW9uOiBTdXBwb3J0ZWRNU1NRTEVkaXRpb25zLmRlZmF1bHQoJ0RldmVsb3BlcicpLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKS5kZWZhdWx0KDE0MzMpLFxuICAgIHVzZXJuYW1lOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IGl0ZW0gPT09ICdzYScpLmRlZmF1bHQoJ3NhJyksXG4gICAgcGFzc3dvcmQ6IHouc3RyaW5nKCkuZGVmYXVsdCgnRGF0YUNlbnRlckRYIScpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSAnY29tLm1pY3Jvc29mdC5zcWxzZXJ2ZXIuamRiYy5TUUxTZXJ2ZXJEcml2ZXInKS5kZWZhdWx0KCdjb20ubWljcm9zb2Z0LnNxbHNlcnZlci5qZGJjLlNRTFNlcnZlckRyaXZlcicpXG59KTtcbiIsImV4cG9ydCBjb25zdCBuZXR3b3JrID0ge1xuICAgIG5hbWU6ICdzaGFyZWQnLFxuICAgIGRyaXZlcjogJ2JyaWRnZSdcbn07XG4iLCJpbXBvcnQgeyBzcGF3biB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZG93bkFsbCwgcHMsIHN0b3AsIHVwQWxsIH0gZnJvbSAnZG9ja2VyLWNvbXBvc2UvZGlzdC92Mi5qcyc7XG5pbXBvcnQgeyBncmFjZWZ1bEV4aXQgfSBmcm9tICdleGl0LWhvb2snO1xuaW1wb3J0IHsgZHVtcCB9IGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgY3dkIH0gZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uQWNxdWlyZVRpbWVvdXRFcnJvciwgQ29ubmVjdGlvbkVycm9yLCBDb25uZWN0aW9uUmVmdXNlZEVycm9yLCBDb25uZWN0aW9uVGltZWRPdXRFcnJvciwgU2VxdWVsaXplLCBUaW1lb3V0RXJyb3IgfSBmcm9tICdzZXF1ZWxpemUnO1xuaW1wb3J0IHsgbmV0d29yayB9IGZyb20gJy4uL2hlbHBlcnMvbmV0d29yayc7XG5leHBvcnQgY2xhc3MgQmFzZSB7XG4gICAgb3B0aW9ucztcbiAgICBzZXF1ZWxpemU7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbnN0cnVjdG9yXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICAvLyBXZSBuZWVkIHRvIHVzZSAnbWFzdGVyJyBmb3IgbXNzcWwgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbml0aWFsaXplIHRoZSBkYXRhYmFzZSBvbiBzdGFydFxuICAgICAgICBjb25zdCBkYXRhYmFzZSA9IHRoaXMub3B0aW9ucy5uYW1lID09PSAnbXNzcWwnID8gJ21hc3RlcicgOiB0aGlzLm9wdGlvbnMuZGF0YWJhc2U7XG4gICAgICAgIHRoaXMuc2VxdWVsaXplID0gbmV3IFNlcXVlbGl6ZShkYXRhYmFzZSwgdGhpcy5vcHRpb25zLnVzZXJuYW1lLCB0aGlzLm9wdGlvbnMucGFzc3dvcmQsIHtcbiAgICAgICAgICAgIGhvc3Q6ICdsb2NhbGhvc3QnLFxuICAgICAgICAgICAgcG9ydDogdGhpcy5vcHRpb25zLnBvcnQsXG4gICAgICAgICAgICBkaWFsZWN0OiB0aGlzLm9wdGlvbnMubmFtZS5yZXBsYWNlKCdwb3N0Z3Jlc3FsJywgJ3Bvc3RncmVzJyksXG4gICAgICAgICAgICByZXRyeToge1xuICAgICAgICAgICAgICAgIG1heDogMzAsXG4gICAgICAgICAgICAgICAgbWF0Y2g6IFtDb25uZWN0aW9uRXJyb3IsIFRpbWVvdXRFcnJvciwgQ29ubmVjdGlvblRpbWVkT3V0RXJyb3IsIENvbm5lY3Rpb25SZWZ1c2VkRXJyb3IsIENvbm5lY3Rpb25BY3F1aXJlVGltZW91dEVycm9yXSxcbiAgICAgICAgICAgICAgICBiYWNrb2ZmQmFzZTogMTAwMCxcbiAgICAgICAgICAgICAgICBiYWNrb2ZmRXhwb25lbnQ6IDFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsb2dnaW5nOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFB1YmxpYyBNZXRob2RzXG4gICAgYXN5bmMgcnVuKHNxbCwgbG9nZ2luZykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXF1ZWxpemUucXVlcnkoc3FsLCB7IGxvZ2dpbmcgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIHJ1biB0aGUgZm9sbG93aW5nIFNRTCBxdWVyeTonLCBzcWwsIGVycik7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgc3RhcnQoY2xlYW4gPSB0aGlzLm9wdGlvbnMuY2xlYW4pIHtcbiAgICAgICAgY29uc29sZS5sb2coYFN0YXJ0aW5nIGluc3RhbmNlIG9mICR7dGhpcy5vcHRpb25zLm5hbWV9Li4uIPCfkoNgKTtcbiAgICAgICAgaWYgKGNsZWFuKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRvd24oKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLnVwKCk7XG4gICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlID0gYXdhaXQgdGhpcy53YWl0VW50aWxSZWFkeSgpO1xuICAgICAgICBpZiAoIWlzQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRmFpbGVkIHRvIHZlcmlmeSBzdGF0dXMgb2YgJHt0aGlzLm9wdGlvbnMubmFtZX0g4puUYCk7XG4gICAgICAgICAgICBncmFjZWZ1bEV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRGF0YWJhc2UgaXMgcmVhZHkgYW5kIGFjY2VwdGluZyBjb25uZWN0aW9ucyBvbiBsb2NhbGhvc3Q6JHt0aGlzLm9wdGlvbnMucG9ydH0g8J+XhO+4j2ApO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uRGF0YWJhc2VSZWFkeSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXJ2aWNlID0gYXdhaXQgdGhpcy5nZXRTZXJ2aWNlU3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2hvd0RvY2tlckxvZ3Moc2VydmljZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBncmFjZWZ1bEV4aXQoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgc3RvcChwcnVuZSA9IHRoaXMub3B0aW9ucy5wcnVuZSkge1xuICAgICAgICBpZiAocHJ1bmUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZG93bigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnQXNTdHJpbmcgPSBkdW1wKHRoaXMuZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpKTtcbiAgICAgICAgICAgIGF3YWl0IHN0b3Aoe1xuICAgICAgICAgICAgICAgIGN3ZDogY3dkKCksXG4gICAgICAgICAgICAgICAgY29uZmlnQXNTdHJpbmcsXG4gICAgICAgICAgICAgICAgbG9nOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBvbkRhdGFiYXNlUmVhZHkoKSB7IH1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUHJpdmF0ZSBNZXRob2RzXG4gICAgZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNlcnZpY2VzOiB7XG4gICAgICAgICAgICAgICAgJ2RiJzogdGhpcy5nZXRTZXJ2aWNlKClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXR3b3Jrczoge1xuICAgICAgICAgICAgICAgICdzaGFyZWQnOiBuZXR3b3JrXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzeW5jIHVwKCkge1xuICAgICAgICBjb25zdCBjb25maWdBc1N0cmluZyA9IGR1bXAodGhpcy5nZXREb2NrZXJDb21wb3NlQ29uZmlnKCkpO1xuICAgICAgICByZXR1cm4gdXBBbGwoe1xuICAgICAgICAgICAgY3dkOiBjd2QoKSxcbiAgICAgICAgICAgIGNvbmZpZ0FzU3RyaW5nLFxuICAgICAgICAgICAgbG9nOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBhc3luYyBkb3duKCkge1xuICAgICAgICBjb25zdCBjb25maWdBc1N0cmluZyA9IGR1bXAodGhpcy5nZXREb2NrZXJDb21wb3NlQ29uZmlnKCkpO1xuICAgICAgICByZXR1cm4gZG93bkFsbCh7XG4gICAgICAgICAgICBjd2Q6IGN3ZCgpLFxuICAgICAgICAgICAgY29uZmlnQXNTdHJpbmcsXG4gICAgICAgICAgICBjb21tYW5kT3B0aW9uczogWyctdicsICctLXJlbW92ZS1vcnBoYW5zJywgJy0tcm1pJywgJ2xvY2FsJ10sXG4gICAgICAgICAgICBsb2c6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHdhaXRVbnRpbFJlYWR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXF1ZWxpemUuYXV0aGVudGljYXRlKCkudGhlbigoKSA9PiB0cnVlKS5jYXRjaCgoKSA9PiBmYWxzZSk7XG4gICAgfVxuICAgIGFzeW5jIGdldFNlcnZpY2VTdGF0ZSgpIHtcbiAgICAgICAgY29uc3QgY29uZmlnQXNTdHJpbmcgPSBkdW1wKHRoaXMuZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHMoe1xuICAgICAgICAgICAgY3dkOiBjd2QoKSxcbiAgICAgICAgICAgIGNvbmZpZ0FzU3RyaW5nLFxuICAgICAgICAgICAgY29tbWFuZE9wdGlvbnM6IFsnLS1hbGwnXSxcbiAgICAgICAgICAgIGxvZzogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQuZGF0YS5zZXJ2aWNlcy5maW5kKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgWywgc2VydmljZV0gPSBpdGVtLm5hbWUuc3BsaXQoJy0nKTtcbiAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlID09PSB0aGlzLm9wdGlvbnMubmFtZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHNob3dEb2NrZXJMb2dzKHNlcnZpY2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY2tlciA9IHNwYXduKCdkb2NrZXInLCBbJ2xvZ3MnLCAnLWYnLCAnLW4nLCAnNTAwMCcsIHNlcnZpY2VdLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG4gICAgICAgICAgICBkb2NrZXIub24oJ2V4aXQnLCAoY29kZSkgPT4gKGNvZGUgPT09IDApID8gcmVzb2x2ZSgpIDogcmVqZWN0KG5ldyBFcnJvcihgRG9ja2VyIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfWApKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsImltcG9ydCB7IE1TU1FMT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzL0RhdGFiYXNlJztcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuL2Jhc2UnO1xuZXhwb3J0IGNsYXNzIE1TU1FMIGV4dGVuZHMgQmFzZSB7XG4gICAgb3B0aW9ucztcbiAgICBnZXQgdXJsKCkge1xuICAgICAgICByZXR1cm4gYGpkYmM6c3Fsc2VydmVyOi8vZGI6JHt0aGlzLm9wdGlvbnMucG9ydH07ZGF0YWJhc2VOYW1lPSR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfTt0cnVzdFNlcnZlckNlcnRpZmljYXRlPXRydWVgO1xuICAgIH1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3JcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zID0gTVNTUUxPcHRpb25zLnBhcnNlKHt9KSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb3RlY3RlZCBNZXRob2RzXG4gICAgYXN5bmMgb25EYXRhYmFzZVJlYWR5KCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQ1JFQVRFIERBVEFCQVNFICR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfWApO1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQUxURVIgREFUQUJBU0UgJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9IENPTExBVEUgU1FMX0xhdGluMV9HZW5lcmFsX0NQMV9DU19BU2ApO1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQUxURVIgREFUQUJBU0UgJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9IFNFVCBSRUFEX0NPTU1JVFRFRF9TTkFQU0hPVCBPTiBXSVRIIFJPTExCQUNLIElNTUVESUFURTtgKTtcbiAgICB9XG4gICAgZ2V0U2VydmljZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGltYWdlOiBgbWNyLm1pY3Jvc29mdC5jb20vbXNzcWwvc2VydmVyOiR7dGhpcy5vcHRpb25zLnRhZ31gLFxuICAgICAgICAgICAgcG9ydHM6IFtgJHt0aGlzLm9wdGlvbnMucG9ydCB8fCAxNDMzfToxNDMzYF0sXG4gICAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgICAgIEFDQ0VQVF9FVUxBOiAneScsXG4gICAgICAgICAgICAgICAgTVNTUUxfU0FfUEFTU1dPUkQ6IHRoaXMub3B0aW9ucy5wYXNzd29yZCB8fCAnZGNkeCcsXG4gICAgICAgICAgICAgICAgTVNTUUxfUElEOiB0aGlzLm9wdGlvbnMuZWRpdGlvblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtzOiB7XG4gICAgICAgICAgICAgICAgJ3NoYXJlZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpYXNlczogWydkYicsICdkYXRhYmFzZSddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59XG4iLCJpbXBvcnQgeyBNeVNRTE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy9EYXRhYmFzZSc7XG5pbXBvcnQgeyBCYXNlIH0gZnJvbSAnLi9iYXNlJztcbmV4cG9ydCBjbGFzcyBNeVNRTCBleHRlbmRzIEJhc2Uge1xuICAgIG9wdGlvbnM7XG4gICAgZ2V0IHVybCgpIHtcbiAgICAgICAgcmV0dXJuIGBqZGJjOm15c3FsOi8vZGI6JHt0aGlzLm9wdGlvbnMucG9ydH0vJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9P3Nlc3Npb25WYXJpYWJsZXM9dHJhbnNhY3Rpb25faXNvbGF0aW9uPSdSRUFELUNPTU1JVFRFRCdgO1xuICAgIH1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3JcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zID0gTXlTUUxPcHRpb25zLnBhcnNlKHt9KSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb3RlY3RlZCBNZXRob2RzXG4gICAgYXN5bmMgb25EYXRhYmFzZVJlYWR5KCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQUxURVIgREFUQUJBU0UgJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9IENIQVJBQ1RFUiBTRVQgJ3V0ZjhtYjQnIENPTExBVEUgdXRmOG1iNF9iaW5gKTtcbiAgICB9XG4gICAgZ2V0U2VydmljZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGltYWdlOiBgbXlzcWw6JHt0aGlzLm9wdGlvbnMudGFnfWAsXG4gICAgICAgICAgICBwb3J0czogW2Ake3RoaXMub3B0aW9ucy5wb3J0IHx8IDMzMDZ9OjMzMDZgXSxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogdGhpcy5vcHRpb25zLnBhc3N3b3JkIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBNWVNRTF9VU0VSOiB0aGlzLm9wdGlvbnMudXNlcm5hbWUgfHwgJ2RjZHgnLFxuICAgICAgICAgICAgICAgIE1ZU1FMX1BBU1NXT1JEOiB0aGlzLm9wdGlvbnMucGFzc3dvcmQgfHwgJ2RjZHgnLFxuICAgICAgICAgICAgICAgIE1ZU1FMX0RBVEFCQVNFOiB0aGlzLm9wdGlvbnMuZGF0YWJhc2UgfHwgJ2RjZHgnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tbWFuZDogWyctLWxvZ19iaW5fdHJ1c3RfZnVuY3Rpb25fY3JlYXRvcnM9MSddLFxuICAgICAgICAgICAgbmV0d29ya3M6IHtcbiAgICAgICAgICAgICAgICAnc2hhcmVkJzoge1xuICAgICAgICAgICAgICAgICAgICBhbGlhc2VzOiBbJ2RiJywgJ2RhdGFiYXNlJ11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfTtcbn1cbiIsImltcG9ydCB7IFBvc3RncmVTUUxPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvRGF0YWJhc2UnO1xuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4vYmFzZSc7XG5leHBvcnQgY2xhc3MgUG9zdGdyZXMgZXh0ZW5kcyBCYXNlIHtcbiAgICBvcHRpb25zO1xuICAgIGdldCB1cmwoKSB7XG4gICAgICAgIHJldHVybiBgamRiYzpwb3N0Z3Jlc3FsOi8vZGI6JHt0aGlzLm9wdGlvbnMucG9ydH0vJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9YDtcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbnN0cnVjdG9yXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucyA9IFBvc3RncmVTUUxPcHRpb25zLnBhcnNlKHt9KSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb3RlY3RlZCBNZXRob2RzXG4gICAgZ2V0U2VydmljZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGltYWdlOiBgcG9zdGdyZXM6JHt0aGlzLm9wdGlvbnMudGFnfWAsXG4gICAgICAgICAgICBwb3J0czogW2Ake3RoaXMub3B0aW9ucy5wb3J0IHx8IDU0MzJ9OjU0MzJgXSxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgUE9TVEdSRVNfVVNFUjogdGhpcy5vcHRpb25zLnVzZXJuYW1lIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19QQVNTV09SRDogdGhpcy5vcHRpb25zLnBhc3N3b3JkIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19EQjogdGhpcy5vcHRpb25zLmRhdGFiYXNlIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19IT1NUX0FVVEhfTUVUSE9EOiAnbWQ1JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19JTklUREJfQVJHUzogJy0tZW5jb2Rpbmc9VVRGLTggLS1sYy1jb2xsYXRlPUMgLS1sYy1jdHlwZT1DJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtzOiB7XG4gICAgICAgICAgICAgICAgJ3NoYXJlZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpYXNlczogWydkYicsICdkYXRhYmFzZSddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59XG4iLCJpbXBvcnQgeyBNU1NRTCB9IGZyb20gJy4uL2RhdGFiYXNlcy9tc3NxbCc7XG5pbXBvcnQgeyBNeVNRTCB9IGZyb20gJy4uL2RhdGFiYXNlcy9teXNxbCc7XG5pbXBvcnQgeyBQb3N0Z3JlcyB9IGZyb20gJy4uL2RhdGFiYXNlcy9wb3N0Z3Jlcyc7XG5pbXBvcnQgeyBNU1NRTE9wdGlvbnMsIE15U1FMT3B0aW9ucywgUG9zdGdyZVNRTE9wdGlvbnMsIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcyB9IGZyb20gJy4uL3R5cGVzL0RhdGFiYXNlJztcbmV4cG9ydCBjb25zdCBnZXREYXRhYmFzZUVuZ2luZSA9IChvcHRpb25zLCB0YWcpID0+IHtcbiAgICBzd2l0Y2ggKG9wdGlvbnMubmFtZSkge1xuICAgICAgICBjYXNlIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbDpcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9zdGdyZXMoUG9zdGdyZVNRTE9wdGlvbnMucGFyc2UoeyAuLi5vcHRpb25zLCB0YWcgfSkpO1xuICAgICAgICBjYXNlIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXlzcWw6XG4gICAgICAgICAgICByZXR1cm4gbmV3IE15U1FMKE15U1FMT3B0aW9ucy5wYXJzZSh7IC4uLm9wdGlvbnMsIHRhZyB9KSk7XG4gICAgICAgIGNhc2UgU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbDpcbiAgICAgICAgICAgIHJldHVybiBuZXcgTVNTUUwoTVNTUUxPcHRpb25zLnBhcnNlKHsgLi4ub3B0aW9ucywgdGFnIH0pKTtcbiAgICB9XG59O1xuIiwiaW1wb3J0IHsgcmVhbHBhdGhTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ3BhdGgnO1xuZXhwb3J0IGNvbnN0IHRvQWJzb2x1dGVQYXRoID0gKHJlbGF0aXZlUGF0aCkgPT4ge1xuICAgIGNvbnN0IFssIGZpbGVQYXRoXSA9IHByb2Nlc3MuYXJndjtcbiAgICBjb25zdCBleGVjdXRhYmxlRmlsZURpciA9IGRpcm5hbWUocmVhbHBhdGhTeW5jKGZpbGVQYXRoKSk7XG4gICAgY29uc3QgYmFzZWRpciA9IGV4ZWN1dGFibGVGaWxlRGlyLnN1YnN0cmluZygwLCBleGVjdXRhYmxlRmlsZURpci5pbmRleE9mKCdkY2R4JykgKyA0KTtcbiAgICByZXR1cm4gam9pbihiYXNlZGlyLCByZWxhdGl2ZVBhdGgucmVwbGFjZUFsbCgnLi4vJywgJycpKTtcbn07XG4iLCJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyB0b0Fic29sdXRlUGF0aCB9IGZyb20gJy4vdG9BYnNvbHV0ZVBhdGgnO1xuZXhwb3J0IGNvbnN0IGdldFZlcnNpb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSByZWFkRmlsZVN5bmModG9BYnNvbHV0ZVBhdGgoJy4uLy4uL2Fzc2V0cy92ZXJzaW9ucy5qc29uJyksICd1dGYtOCcpO1xuICAgIGNvbnN0IHZlcnNpb25zID0gSlNPTi5wYXJzZShjb250ZW50KTtcbiAgICByZXR1cm4gdmVyc2lvbnM7XG59O1xuIiwiaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5leHBvcnQgY29uc3QgZ2V0Wm9kRGVmYXVsdCA9IChzY2hlbWEsIGtleSkgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0gZ2V0Wm9kRGVmYXVsdHMoc2NoZW1hKTtcbiAgICByZXR1cm4gZGVmYXVsdHNba2V5XTtcbn07XG4vLyBDb2RlIHNuaXBwZXQgYnkgSmFjb2IgV2Vpc2VuYnVyZ2VyIChodHRwczovL2dpdGh1Yi5jb20vSmFjb2JXZWlzZW5idXJnZXIpXG4vLyBUYWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2xpbmhhY2tzL3pvZC9kaXNjdXNzaW9ucy8xOTUzI2Rpc2N1c3Npb25jb21tZW50LTQ4MTE1ODhcbmV4cG9ydCBjb25zdCBnZXRab2REZWZhdWx0cyA9IChzY2hlbWEpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHNjaGVtYS5zaGFwZSkuZmlsdGVyKChbLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2Ygei5ab2REZWZhdWx0KSB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB2YWx1ZS5fZGVmLmRlZmF1bHRWYWx1ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgZGVmYXVsdFZhbHVlICE9PSAndW5kZWZpbmVkJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSkubWFwKChba2V5LCB2YWx1ZV0pID0+IChba2V5LCB2YWx1ZS5fZGVmLmRlZmF1bHRWYWx1ZSgpXSkpKTtcbn07XG4iLCIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgeyBDb21tYW5kIGFzIENvbW1hbmRlciwgT3B0aW9uIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGdyYWNlZnVsRXhpdCB9IGZyb20gJ2V4aXQtaG9vayc7XG5pbXBvcnQgeyBBY3Rpb25IYW5kbGVyIH0gZnJvbSAnLi4vaGVscGVycy9BY3Rpb25IYW5kbGVyJztcbmltcG9ydCB7IGdldERhdGFiYXNlRW5naW5lIH0gZnJvbSAnLi4vaGVscGVycy9nZXREYXRhYmFzZUVuZ2luZSc7XG5pbXBvcnQgeyBnZXRWZXJzaW9ucyB9IGZyb20gJy4uL2hlbHBlcnMvZ2V0VmVyc2lvbnMnO1xuaW1wb3J0IHsgZ2V0Wm9kRGVmYXVsdCB9IGZyb20gJy4uL2hlbHBlcnMvZ2V0Wm9kRGVmYXVsdHMnO1xuaW1wb3J0IHsgTVNTUUxPcHRpb25zLCBNeVNRTE9wdGlvbnMsIFBvc3RncmVTUUxPcHRpb25zLCBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMsIFN1cHBvcnRlZE1TU1FMRWRpdGlvbnMgfSBmcm9tICcuLi90eXBlcy9EYXRhYmFzZSc7XG5jb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmRlcigpO1xuY29uc3QgdmVyc2lvbnMgPSBnZXRWZXJzaW9ucygpO1xuY29uc3QgQ29tbWFuZCA9ICgpID0+IHtcbiAgICBsZXQgaW5zdGFuY2UgPSBudWxsO1xuICAgIHJldHVybiB7XG4gICAgICAgIGFjdGlvbjogYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGluc3RhbmNlID0gZ2V0RGF0YWJhc2VFbmdpbmUob3B0aW9ucyk7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2Uuc3RhcnQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG5hbWUgfSA9IGluc3RhbmNlLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFN0b3BwaW5nICR7bmFtZX0uLi4g4o+zYCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaW5zdGFuY2Uuc3RvcCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgU3RvcHBlZCAke25hbWV9IPCfkqpgKTtcbiAgICAgICAgICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBGYWlsZWQgdG8gc3RvcHBlZCAke25hbWV9LCBtYW51YWwgYWN0aW9uIGlzIHJlcXVpcmVkYCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufTtcbnByb2dyYW1cbiAgICAubmFtZSgnZGNkeCBkYXRhYmFzZScpXG4gICAgLnNob3dIZWxwQWZ0ZXJFcnJvcih0cnVlKTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgncG9zdGdyZXNxbCcpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBQb3N0Z3JlU1FMJylcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy10LCAtLXRhZyA8dGFnPicsICdUaGUgRG9ja2VyIHRhZyBvZiBQb3N0Z3JlcycpLmNob2ljZXModmVyc2lvbnNbU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5wb3N0Z3Jlc3FsXSkuZGVmYXVsdCgnbGF0ZXN0JykpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctZCwgLS1kYXRhYmFzZSA8ZGF0YWJhc2U+JywgJ1RoZSB2YWx1ZSBwYXNzZWQgdG8gUE9TVEdSRVNfREIgZW52aXJvbm1lbnQgdmFyaWFibGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICdkYXRhYmFzZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1wLCAtLXBvcnQgPHBvcnQ+JywgJ1RoZSBwb3J0IG9uIHdoaWNoIHRoZSBkYXRhYmFzZSB3aWxsIGJlIGFjY2Vzc2libGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICdwb3J0JykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLVUsIC0tdXNlcm5hbWUgPHVzZXJuYW1lPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIFBPU1RHUkVTX1VTRVIgZW52aXJvbm1lbnQgdmFyaWFibGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICd1c2VybmFtZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1QLCAtLXBhc3N3b3JkIDxwYXNzd29yZD4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBQT1NUR1JFU19QQVNTV09SRCBlbnZpcm9ubWVudCB2YXJpYWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChQb3N0Z3JlU1FMT3B0aW9ucywgJ3Bhc3N3b3JkJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1jbGVhbicsICdSZW1vdmUgZGF0YSBmaWxlcyBiZWZvcmUgc3RhcnRpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXBydW5lJywgJ1JlbW92ZSBkYXRhIGZpbGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXZlcmJvc2UnLCAnT3V0cHV0IGRhdGFiYXNlIGxvZyBmaWxlcycpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hY3Rpb24ob3B0aW9ucyA9PiBBY3Rpb25IYW5kbGVyKHByb2dyYW0sIENvbW1hbmQoKSwgeyAuLi5vcHRpb25zLCBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLnBvc3RncmVzcWwgfSkpO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdteXNxbCcpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBNeVNRTCcpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctdCwgLS10YWcgPHRhZz4nLCAnVGhlIERvY2tlciB0YWcgb2YgTXlTUUwnKS5jaG9pY2VzKHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXlzcWxdKS5kZWZhdWx0KCdsYXRlc3QnKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1kLCAtLWRhdGFiYXNlIDxkYXRhYmFzZT4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBNWVNRTF9EQVRBQkFTRSBlbnZpcm9ubWVudCB2YXJpYWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNeVNRTE9wdGlvbnMsICdkYXRhYmFzZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1wLCAtLXBvcnQgPHBvcnQ+JywgJ1RoZSBwb3J0IG9uIHdoaWNoIHRoZSBkYXRhYmFzZSB3aWxsIGJlIGFjY2Vzc2libGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoTXlTUUxPcHRpb25zLCAncG9ydCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1VLCAtLXVzZXJuYW1lIDx1c2VybmFtZT4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBNWVNRTF9VU0VSIGVudmlyb25tZW50IHZhcmlhYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE15U1FMT3B0aW9ucywgJ3VzZXJuYW1lJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLVAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIE1ZU1FMX1BBU1NXT1JEIGVudmlyb25tZW50IHZhcmlhYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE15U1FMT3B0aW9ucywgJ3Bhc3N3b3JkJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1jbGVhbicsICdSZW1vdmUgZGF0YSBmaWxlcyBiZWZvcmUgc3RhcnRpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXBydW5lJywgJ1JlbW92ZSBkYXRhIGZpbGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXZlcmJvc2UnLCAnT3V0cHV0IGRhdGFiYXNlIGxvZyBmaWxlcycpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hY3Rpb24ob3B0aW9ucyA9PiBBY3Rpb25IYW5kbGVyKHByb2dyYW0sIENvbW1hbmQoKSwgeyAuLi5vcHRpb25zLCBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsIH0pKTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgnbXNzcWwnKVxuICAgIC5kZXNjcmlwdGlvbignU3RhcnQgTWljcm9zb2Z0IFNRTCBTZXJ2ZXInKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLXQsIC0tdGFnIDx0YWc+JywgJ1RoZSBEb2NrZXIgdGFnIG9mIE1pY3Jvc29mdCBTUUwgU2VydmVyJykuY2hvaWNlcyh2ZXJzaW9uc1tTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm1zc3FsXSkuZGVmYXVsdCgnbGF0ZXN0JykpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctZSwgLS1lZGl0aW9uIDxlZGl0aW9uPicsICdUaGUgZWRpdGlvbiBvZiBNaWNyb3NvZnQgU1FMIFNlcnZlcicpLmNob2ljZXMoT2JqZWN0LnZhbHVlcyhTdXBwb3J0ZWRNU1NRTEVkaXRpb25zLlZhbHVlcykpLmRlZmF1bHQoU3VwcG9ydGVkTVNTUUxFZGl0aW9ucy5WYWx1ZXMuRGV2ZWxvcGVyKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1kLCAtLWRhdGFiYXNlIDxkYXRhYmFzZT4nLCAnVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIChhdXRvbWF0aWNhbGx5IGNyZWF0ZWQpJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE1TU1FMT3B0aW9ucywgJ2RhdGFiYXNlJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLXAsIC0tcG9ydCA8cG9ydD4nLCAnVGhlIHBvcnQgb24gd2hpY2ggdGhlIGRhdGFiYXNlIHdpbGwgYmUgYWNjZXNzaWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNU1NRTE9wdGlvbnMsICdwb3J0JykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLVAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIE1TU1FMX1NBX1BBU1NXT1JEIGVudmlyb25tZW50IHZhcmlhYmxlLiBNUyBTUUwgU2VydmVyIHBhc3N3b3JkIHBvbGljeSBhcHBsaWVzLicpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNU1NRTE9wdGlvbnMsICdwYXNzd29yZCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tY2xlYW4nLCAnUmVtb3ZlIGRhdGEgZmlsZXMgYmVmb3JlIHN0YXJ0aW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1wcnVuZScsICdSZW1vdmUgZGF0YSBmaWxlcyB3aGVuIHN0b3BwaW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS12ZXJib3NlJywgJ091dHB1dCBkYXRhYmFzZSBsb2cgZmlsZXMnKS5kZWZhdWx0KGZhbHNlKSlcbiAgICAuYWN0aW9uKG9wdGlvbnMgPT4gQWN0aW9uSGFuZGxlcihwcm9ncmFtLCBDb21tYW5kKCksIHsgLi4ub3B0aW9ucywgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbCwgdXNlcm5hbWU6ICdzYScgfSkpO1xucHJvZ3JhbS5wYXJzZUFzeW5jKHByb2Nlc3MuYXJndikuY2F0Y2goKCkgPT4gZ3JhY2VmdWxFeGl0KDEpKTtcbnByb2Nlc3Mub24oJ1NJR0lOVCcsICgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgdGVybSBzaWduYWwsIHRyeWluZyB0byBzdG9wIGdyYWNlZnVsbHkg8J+SqmApO1xuICAgIGdyYWNlZnVsRXhpdCgpO1xufSk7XG4iXSwibmFtZXMiOlsidmVyc2lvbnMiLCJDb21tYW5kZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVPLE1BQU0sYUFBYSxHQUFHLE9BQU8sT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLE9BQU8sS0FBSztBQUNuRixJQUFJLE1BQU0sR0FBRyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDMUMsSUFBSSxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSztBQUNyQyxRQUFRLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUM5QixRQUFRLGFBQWEsQ0FBQyxPQUFPLElBQUksS0FBSztBQUN0QyxZQUFZLElBQUk7QUFDaEIsZ0JBQWdCLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtBQUNoQyxvQkFBb0IsTUFBTSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7QUFDOUQsaUJBQWlCO0FBQ2pCLGdCQUFnQixJQUFJLFlBQVksRUFBRTtBQUNsQyxvQkFBb0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUN6RCxpQkFBaUI7QUFDakIscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxvQkFBb0IsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2IsWUFBWSxPQUFPLEdBQUcsRUFBRTtBQUN4QixnQkFBZ0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxZQUFZLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUN6RSxnQkFBZ0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLGFBQWE7QUFDYixTQUFTLEVBQUU7QUFDWCxZQUFZLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUk7QUFDL0IsU0FBUyxDQUFDLENBQUM7QUFDWCxRQUFRLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJO0FBQ2pDLFlBQVksSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTtBQUMzQyxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJO0FBQzVDLG9CQUFvQixZQUFZLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN6RyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ25CLGFBQWE7QUFDYixpQkFBaUIsSUFBSSxHQUFHLFlBQVksS0FBSyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtBQUN0RSxnQkFBZ0IsWUFBWSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUM5QyxhQUFhO0FBQ2IsWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsU0FBUyxDQUFDLENBQUM7QUFDWCxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJO0FBQ3hCLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO0FBQzlCLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQztBQUNBO0FBQ0EsU0FBUztBQUNULGFBQWE7QUFDYixZQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsU0FBUztBQUNULEtBQUssQ0FBQyxDQUFDO0FBQ1AsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzlDTSxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDL0MsSUFBSSxZQUFZO0FBQ2hCLElBQUksT0FBTztBQUNYLElBQUksT0FBTztBQUNYLENBQUMsQ0FBQyxDQUFDO0FBQ0ksTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzdDLElBQUksV0FBVztBQUNmLElBQUksU0FBUztBQUNiLElBQUksVUFBVTtBQUNkLElBQUksWUFBWTtBQUNoQixJQUFJLGdCQUFnQjtBQUNwQixDQUFDLENBQUMsQ0FBQztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDeEMsSUFBSSxJQUFJLEVBQUUsd0JBQXdCO0FBQ2xDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDbEYsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDeEMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDeEMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDeEMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDckMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDdkMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtBQUN0QixDQUFDLENBQUMsQ0FBQztBQUNJLE1BQU0saUJBQWlCLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztBQUN4RCxJQUFJLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFDMUosSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUlBLFVBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztBQUN6SCxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztBQUNoRyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssdUJBQXVCLENBQUMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUM7QUFDeEcsQ0FBQyxDQUFDLENBQUM7QUFDSSxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO0FBQ25ELElBQUksSUFBSSxFQUFFLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUNoSixJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSUEsVUFBUSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENB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
9397
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2Rpc3Qvc3JjL2hlbHBlcnMvQWN0aW9uSGFuZGxlci5qcyIsIi4uLy4uL2Rpc3Qvc3JjL3R5cGVzL0RhdGFiYXNlLmpzIiwiLi4vLi4vZGlzdC9zcmMvaGVscGVycy9uZXR3b3JrLmpzIiwiLi4vLi4vZGlzdC9zcmMvZGF0YWJhc2VzL2Jhc2UuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvbXNzcWwuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvbXlzcWwuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvcG9zdGdyZXMuanMiLCIuLi8uLi9kaXN0L3NyYy9oZWxwZXJzL2dldERhdGFiYXNlRW5naW5lLmpzIiwiLi4vLi4vZGlzdC9zcmMvaGVscGVycy90b0Fic29sdXRlUGF0aC5qcyIsIi4uLy4uL2Rpc3Qvc3JjL2hlbHBlcnMvZ2V0VmVyc2lvbnMuanMiLCIuLi8uLi9kaXN0L3NyYy9oZWxwZXJzL2dldFpvZERlZmF1bHRzLmpzIiwiLi4vLi4vZGlzdC9zcmMvY29tbWFuZHMvZGF0YWJhc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXN5bmNFeGl0SG9vaywgZ3JhY2VmdWxFeGl0IH0gZnJvbSAnZXhpdC1ob29rJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuZXhwb3J0IGNvbnN0IEFjdGlvbkhhbmRsZXIgPSBhc3luYyAocHJvZ3JhbSwgeyBhY3Rpb24sIGVycm9ySGFuZGxlciB9LCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgb3BzID0gb3B0aW9ucyB8fCBwcm9ncmFtLm9wdHMoKTtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgoXywgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgICAgYXN5bmNFeGl0SG9vayhhc3luYyAoY29kZSkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAoY29kZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBlcnJvckhhbmRsZXIob3BzKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlLnRyaW0oKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgcmVqZWN0aW5nIHRoZSBwcm9taXNlIHRvIGF2b2lkIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyBcIkNhbGxpbmcgcHJvY2Vzcy5leGl0XCIgbG9nIG1lc3NhZ2UgZnJvbSBleGl0LWhvb2tcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG51bGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IGVycjtcbiAgICAgICAgICAgICAgICByZWplY3QobWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIHdhaXQ6IDYwICogMSAqIDEwMDBcbiAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbihvcHMpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgZ3JhY2VmdWxFeGl0KDApO1xuICAgICAgICB9KS5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBlcnIuaXNzdWVzLmZvckVhY2goaXNzdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgKz0gYFVuYWJsZSB0byBwYXJzZSBvcHRpb24gJHtpc3N1ZS5wYXRoLmpvaW4oJywnKX06ICR7aXNzdWUubWVzc2FnZX1cXG5gO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IgfHwgdHlwZW9mIGVyciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnIudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdyYWNlZnVsRXhpdCgxKTtcbiAgICAgICAgfSk7XG4gICAgfSkuY2F0Y2gobWVzc2FnZSA9PiB7XG4gICAgICAgIGlmIChtZXNzYWdlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBwcm9ncmFtLmVycm9yKG1lc3NhZ2UpO1xuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gZXJyb3IgbWVzc2FnZSxcbiAgICAgICAgICAgIC8vIHdlIGNhbiBhc3N1bWUgYSBjbGVhbiBleGl0XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG4iLCJpbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB2ZXJzaW9ucyBmcm9tICcuLi8uLi9hc3NldHMvdmVyc2lvbnMuanNvbic7XG5leHBvcnQgY29uc3QgU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzID0gei5lbnVtKFtcbiAgICAncG9zdGdyZXNxbCcsXG4gICAgJ215c3FsJyxcbiAgICAnbXNzcWwnXG5dKTtcbmV4cG9ydCBjb25zdCBTdXBwb3J0ZWRNU1NRTEVkaXRpb25zID0gei5lbnVtKFtcbiAgICAnRGV2ZWxvcGVyJyxcbiAgICAnRXhwcmVzcycsXG4gICAgJ1N0YW5kYXJkJyxcbiAgICAnRW50ZXJwcmlzZScsXG4gICAgJ0VudGVycHJpc2VDb3JlJ1xuXSk7XG5leHBvcnQgY29uc3QgRGF0YWJhc2VPcHRpb25zID0gei5vYmplY3Qoe1xuICAgIG5hbWU6IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcyxcbiAgICBwb3J0OiB6Lm51bWJlcigpLm9yKHouc3RyaW5nKCkudHJhbnNmb3JtKE51bWJlcikucmVmaW5lKGl0ZW0gPT4gIWlzTmFOKGl0ZW0pKSksXG4gICAgZGF0YWJhc2U6IHouc3RyaW5nKCkuZGVmYXVsdCgnZGNkeCcpLFxuICAgIHVzZXJuYW1lOiB6LnN0cmluZygpLmRlZmF1bHQoJ2RjZHgnKSxcbiAgICBwYXNzd29yZDogei5zdHJpbmcoKS5kZWZhdWx0KCdkY2R4JyksXG4gICAgY2xlYW46IHouYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIHBydW5lOiB6LmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICB2ZXJib3NlOiB6LmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICBkcml2ZXI6IHouc3RyaW5nKClcbn0pO1xuZXhwb3J0IGNvbnN0IFBvc3RncmVTUUxPcHRpb25zID0gRGF0YWJhc2VPcHRpb25zLmV4dGVuZCh7XG4gICAgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLnJlZmluZShpdGVtID0+IGl0ZW0gPT09IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbCkuZGVmYXVsdChTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLnBvc3RncmVzcWwpLFxuICAgIHRhZzogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiB2ZXJzaW9uc1tTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLnBvc3RncmVzcWxdLmluY2x1ZGVzKGl0ZW0pKS5kZWZhdWx0KCdsYXRlc3QnKSxcbiAgICBwb3J0OiB6Lm51bWJlcigpLm9yKHouc3RyaW5nKCkudHJhbnNmb3JtKE51bWJlcikucmVmaW5lKGl0ZW0gPT4gIWlzTmFOKGl0ZW0pKSkuZGVmYXVsdCg1NDMyKSxcbiAgICBkcml2ZXI6IHouc3RyaW5nKCkucmVmaW5lKGl0ZW0gPT4gaXRlbSA9PT0gJ29yZy5wb3N0Z3Jlc3FsLkRyaXZlcicpLmRlZmF1bHQoJ29yZy5wb3N0Z3Jlc3FsLkRyaXZlcicpXG59KTtcbmV4cG9ydCBjb25zdCBNeVNRTE9wdGlvbnMgPSBEYXRhYmFzZU9wdGlvbnMuZXh0ZW5kKHtcbiAgICBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMucmVmaW5lKGl0ZW0gPT4gaXRlbSA9PT0gU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5teXNxbCkuZGVmYXVsdChTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsKSxcbiAgICB0YWc6IHouc3RyaW5nKCkucmVmaW5lKGl0ZW0gPT4gdmVyc2lvbnNbU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5teXNxbF0uaW5jbHVkZXMoaXRlbSkpLmRlZmF1bHQoJ2xhdGVzdCcpLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKS5kZWZhdWx0KDMzMDYpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSAnY29tLm15c3FsLmpkYmMuRHJpdmVyJykuZGVmYXVsdCgnY29tLm15c3FsLmpkYmMuRHJpdmVyJylcbn0pO1xuZXhwb3J0IGNvbnN0IE1TU1FMT3B0aW9ucyA9IERhdGFiYXNlT3B0aW9ucy5leHRlbmQoe1xuICAgIG5hbWU6IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm1zc3FsKS5kZWZhdWx0KFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXNzcWwpLFxuICAgIHRhZzogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiB2ZXJzaW9uc1tTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm1zc3FsXS5pbmNsdWRlcyhpdGVtKSkuZGVmYXVsdCgnbGF0ZXN0JyksXG4gICAgZWRpdGlvbjogU3VwcG9ydGVkTVNTUUxFZGl0aW9ucy5kZWZhdWx0KCdEZXZlbG9wZXInKSxcbiAgICBwb3J0OiB6Lm51bWJlcigpLm9yKHouc3RyaW5nKCkudHJhbnNmb3JtKE51bWJlcikucmVmaW5lKGl0ZW0gPT4gIWlzTmFOKGl0ZW0pKSkuZGVmYXVsdCgxNDMzKSxcbiAgICB1c2VybmFtZTogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSAnc2EnKS5kZWZhdWx0KCdzYScpLFxuICAgIHBhc3N3b3JkOiB6LnN0cmluZygpLmRlZmF1bHQoJ0RhdGFDZW50ZXJEWCEnKSxcbiAgICBkcml2ZXI6IHouc3RyaW5nKCkucmVmaW5lKGl0ZW0gPT4gaXRlbSA9PT0gJ2NvbS5taWNyb3NvZnQuc3Fsc2VydmVyLmpkYmMuU1FMU2VydmVyRHJpdmVyJykuZGVmYXVsdCgnY29tLm1pY3Jvc29mdC5zcWxzZXJ2ZXIuamRiYy5TUUxTZXJ2ZXJEcml2ZXInKVxufSk7XG4iLCJleHBvcnQgY29uc3QgbmV0d29yayA9IHtcbiAgICBuYW1lOiAnc2hhcmVkJyxcbiAgICBkcml2ZXI6ICdicmlkZ2UnXG59O1xuIiwiaW1wb3J0IHsgc3Bhd24gfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IGRvd25BbGwsIHBzLCBzdG9wLCB1cEFsbCB9IGZyb20gJ2RvY2tlci1jb21wb3NlL2Rpc3QvdjIuanMnO1xuaW1wb3J0IHsgZ3JhY2VmdWxFeGl0IH0gZnJvbSAnZXhpdC1ob29rJztcbmltcG9ydCB7IGR1bXAgfSBmcm9tICdqcy15YW1sJztcbmltcG9ydCB7IGN3ZCB9IGZyb20gJ3Byb2Nlc3MnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkFjcXVpcmVUaW1lb3V0RXJyb3IsIENvbm5lY3Rpb25FcnJvciwgQ29ubmVjdGlvblJlZnVzZWRFcnJvciwgQ29ubmVjdGlvblRpbWVkT3V0RXJyb3IsIFNlcXVlbGl6ZSwgVGltZW91dEVycm9yIH0gZnJvbSAnc2VxdWVsaXplJztcbmltcG9ydCB7IG5ldHdvcmsgfSBmcm9tICcuLi9oZWxwZXJzL25ldHdvcmsnO1xuZXhwb3J0IGNsYXNzIEJhc2Uge1xuICAgIG9wdGlvbnM7XG4gICAgc2VxdWVsaXplO1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDb25zdHJ1Y3RvclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgLy8gV2UgbmVlZCB0byB1c2UgJ21hc3RlcicgZm9yIG1zc3FsIGJlY2F1c2UgaXQgZG9lcyBub3QgaW5pdGlhbGl6ZSB0aGUgZGF0YWJhc2Ugb24gc3RhcnRcbiAgICAgICAgY29uc3QgZGF0YWJhc2UgPSB0aGlzLm9wdGlvbnMubmFtZSA9PT0gJ21zc3FsJyA/ICdtYXN0ZXInIDogdGhpcy5vcHRpb25zLmRhdGFiYXNlO1xuICAgICAgICB0aGlzLnNlcXVlbGl6ZSA9IG5ldyBTZXF1ZWxpemUoZGF0YWJhc2UsIHRoaXMub3B0aW9ucy51c2VybmFtZSwgdGhpcy5vcHRpb25zLnBhc3N3b3JkLCB7XG4gICAgICAgICAgICBob3N0OiAnbG9jYWxob3N0JyxcbiAgICAgICAgICAgIHBvcnQ6IHRoaXMub3B0aW9ucy5wb3J0LFxuICAgICAgICAgICAgZGlhbGVjdDogdGhpcy5vcHRpb25zLm5hbWUucmVwbGFjZSgncG9zdGdyZXNxbCcsICdwb3N0Z3JlcycpLFxuICAgICAgICAgICAgcmV0cnk6IHtcbiAgICAgICAgICAgICAgICBtYXg6IDMwLFxuICAgICAgICAgICAgICAgIG1hdGNoOiBbQ29ubmVjdGlvbkVycm9yLCBUaW1lb3V0RXJyb3IsIENvbm5lY3Rpb25UaW1lZE91dEVycm9yLCBDb25uZWN0aW9uUmVmdXNlZEVycm9yLCBDb25uZWN0aW9uQWNxdWlyZVRpbWVvdXRFcnJvcl0sXG4gICAgICAgICAgICAgICAgYmFja29mZkJhc2U6IDEwMDAsXG4gICAgICAgICAgICAgICAgYmFja29mZkV4cG9uZW50OiAxXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbG9nZ2luZzogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQdWJsaWMgTWV0aG9kc1xuICAgIGFzeW5jIHJ1bihzcWwsIGxvZ2dpbmcpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2VxdWVsaXplLnF1ZXJ5KHNxbCwgeyBsb2dnaW5nIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHRyeWluZyB0byBydW4gdGhlIGZvbGxvd2luZyBTUUwgcXVlcnk6Jywgc3FsLCBlcnIpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIHN0YXJ0KGNsZWFuID0gdGhpcy5vcHRpb25zLmNsZWFuKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBTdGFydGluZyBpbnN0YW5jZSBvZiAke3RoaXMub3B0aW9ucy5uYW1lfS4uLiDwn5KDYCk7XG4gICAgICAgIGlmIChjbGVhbikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5kb3duKCk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy51cCgpO1xuICAgICAgICBjb25zdCBpc0F2YWlsYWJsZSA9IGF3YWl0IHRoaXMud2FpdFVudGlsUmVhZHkoKTtcbiAgICAgICAgaWYgKCFpc0F2YWlsYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYEZhaWxlZCB0byB2ZXJpZnkgc3RhdHVzIG9mICR7dGhpcy5vcHRpb25zLm5hbWV9IOKblGApO1xuICAgICAgICAgICAgZ3JhY2VmdWxFeGl0KDEpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYERhdGFiYXNlIGlzIHJlYWR5IGFuZCBhY2NlcHRpbmcgY29ubmVjdGlvbnMgb24gbG9jYWxob3N0OiR7dGhpcy5vcHRpb25zLnBvcnR9IPCfl4TvuI9gKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5vbkRhdGFiYXNlUmVhZHkoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IGF3YWl0IHRoaXMuZ2V0U2VydmljZVN0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNob3dEb2NrZXJMb2dzKHNlcnZpY2UubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgZ3JhY2VmdWxFeGl0KDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIHN0b3AocHJ1bmUgPSB0aGlzLm9wdGlvbnMucHJ1bmUpIHtcbiAgICAgICAgaWYgKHBydW5lKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRvd24oKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0FzU3RyaW5nID0gZHVtcCh0aGlzLmdldERvY2tlckNvbXBvc2VDb25maWcoKSk7XG4gICAgICAgICAgICBhd2FpdCBzdG9wKHtcbiAgICAgICAgICAgICAgICBjd2Q6IGN3ZCgpLFxuICAgICAgICAgICAgICAgIGNvbmZpZ0FzU3RyaW5nLFxuICAgICAgICAgICAgICAgIGxvZzogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgb25EYXRhYmFzZVJlYWR5KCkgeyB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByaXZhdGUgTWV0aG9kc1xuICAgIGdldERvY2tlckNvbXBvc2VDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzZXJ2aWNlczoge1xuICAgICAgICAgICAgICAgICdkYic6IHRoaXMuZ2V0U2VydmljZSgpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV0d29ya3M6IHtcbiAgICAgICAgICAgICAgICAnc2hhcmVkJzogbmV0d29ya1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbiAgICBhc3luYyB1cCgpIHtcbiAgICAgICAgY29uc3QgY29uZmlnQXNTdHJpbmcgPSBkdW1wKHRoaXMuZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpKTtcbiAgICAgICAgcmV0dXJuIHVwQWxsKHtcbiAgICAgICAgICAgIGN3ZDogY3dkKCksXG4gICAgICAgICAgICBjb25maWdBc1N0cmluZyxcbiAgICAgICAgICAgIGxvZzogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXN5bmMgZG93bigpIHtcbiAgICAgICAgY29uc3QgY29uZmlnQXNTdHJpbmcgPSBkdW1wKHRoaXMuZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpKTtcbiAgICAgICAgcmV0dXJuIGRvd25BbGwoe1xuICAgICAgICAgICAgY3dkOiBjd2QoKSxcbiAgICAgICAgICAgIGNvbmZpZ0FzU3RyaW5nLFxuICAgICAgICAgICAgY29tbWFuZE9wdGlvbnM6IFsnLXYnLCAnLS1yZW1vdmUtb3JwaGFucycsICctLXJtaScsICdsb2NhbCddLFxuICAgICAgICAgICAgbG9nOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBhc3luYyB3YWl0VW50aWxSZWFkeSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VxdWVsaXplLmF1dGhlbnRpY2F0ZSgpLnRoZW4oKCkgPT4gdHJ1ZSkuY2F0Y2goKCkgPT4gZmFsc2UpO1xuICAgIH1cbiAgICBhc3luYyBnZXRTZXJ2aWNlU3RhdGUoKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ0FzU3RyaW5nID0gZHVtcCh0aGlzLmdldERvY2tlckNvbXBvc2VDb25maWcoKSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBzKHtcbiAgICAgICAgICAgIGN3ZDogY3dkKCksXG4gICAgICAgICAgICBjb25maWdBc1N0cmluZyxcbiAgICAgICAgICAgIGNvbW1hbmRPcHRpb25zOiBbJy0tYWxsJ10sXG4gICAgICAgICAgICBsb2c6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0LmRhdGEuc2VydmljZXMuZmluZChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gaXRlbS5uYW1lLnNwbGl0KCctJyk7XG4gICAgICAgICAgICBjb25zdCBzZXJ2aWNlID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMl07XG4gICAgICAgICAgICByZXR1cm4gc2VydmljZSA9PT0gdGhpcy5vcHRpb25zLm5hbWU7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBhc3luYyBzaG93RG9ja2VyTG9ncyhzZXJ2aWNlKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkb2NrZXIgPSBzcGF3bignZG9ja2VyJywgWydsb2dzJywgJy1mJywgJy1uJywgJzUwMDAnLCBzZXJ2aWNlXSwgeyBzdGRpbzogJ2luaGVyaXQnIH0pO1xuICAgICAgICAgICAgZG9ja2VyLm9uKCdleGl0JywgKGNvZGUpID0+IChjb2RlID09PSAwKSA/IHJlc29sdmUoKSA6IHJlamVjdChuZXcgRXJyb3IoYERvY2tlciBleGl0ZWQgd2l0aCBjb2RlICR7Y29kZX1gKSkpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCJpbXBvcnQgeyBNU1NRTE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy9EYXRhYmFzZSc7XG5pbXBvcnQgeyBCYXNlIH0gZnJvbSAnLi9iYXNlJztcbmV4cG9ydCBjbGFzcyBNU1NRTCBleHRlbmRzIEJhc2Uge1xuICAgIG9wdGlvbnM7XG4gICAgZ2V0IHVybCgpIHtcbiAgICAgICAgcmV0dXJuIGBqZGJjOnNxbHNlcnZlcjovL2RiOiR7dGhpcy5vcHRpb25zLnBvcnR9O2RhdGFiYXNlTmFtZT0ke3RoaXMub3B0aW9ucy5kYXRhYmFzZX07dHJ1c3RTZXJ2ZXJDZXJ0aWZpY2F0ZT10cnVlYDtcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbnN0cnVjdG9yXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucyA9IE1TU1FMT3B0aW9ucy5wYXJzZSh7fSkpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIGFzeW5jIG9uRGF0YWJhc2VSZWFkeSgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5ydW4oYENSRUFURSBEQVRBQkFTRSAke3RoaXMub3B0aW9ucy5kYXRhYmFzZX1gKTtcbiAgICAgICAgYXdhaXQgdGhpcy5ydW4oYEFMVEVSIERBVEFCQVNFICR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfSBDT0xMQVRFIFNRTF9MYXRpbjFfR2VuZXJhbF9DUDFfQ1NfQVNgKTtcbiAgICAgICAgYXdhaXQgdGhpcy5ydW4oYEFMVEVSIERBVEFCQVNFICR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfSBTRVQgUkVBRF9DT01NSVRURURfU05BUFNIT1QgT04gV0lUSCBST0xMQkFDSyBJTU1FRElBVEU7YCk7XG4gICAgfVxuICAgIGdldFNlcnZpY2UgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpbWFnZTogYG1jci5taWNyb3NvZnQuY29tL21zc3FsL3NlcnZlcjoke3RoaXMub3B0aW9ucy50YWd9YCxcbiAgICAgICAgICAgIHBvcnRzOiBbYCR7dGhpcy5vcHRpb25zLnBvcnQgfHwgMTQzM306MTQzM2BdLFxuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICAgICAgICBBQ0NFUFRfRVVMQTogJ3knLFxuICAgICAgICAgICAgICAgIE1TU1FMX1NBX1BBU1NXT1JEOiB0aGlzLm9wdGlvbnMucGFzc3dvcmQgfHwgJ2RjZHgnLFxuICAgICAgICAgICAgICAgIE1TU1FMX1BJRDogdGhpcy5vcHRpb25zLmVkaXRpb25cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXR3b3Jrczoge1xuICAgICAgICAgICAgICAgICdzaGFyZWQnOiB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWFzZXM6IFsnZGInLCAnZGF0YWJhc2UnXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xufVxuIiwiaW1wb3J0IHsgTXlTUUxPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvRGF0YWJhc2UnO1xuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4vYmFzZSc7XG5leHBvcnQgY2xhc3MgTXlTUUwgZXh0ZW5kcyBCYXNlIHtcbiAgICBvcHRpb25zO1xuICAgIGdldCB1cmwoKSB7XG4gICAgICAgIHJldHVybiBgamRiYzpteXNxbDovL2RiOiR7dGhpcy5vcHRpb25zLnBvcnR9LyR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfT9zZXNzaW9uVmFyaWFibGVzPXRyYW5zYWN0aW9uX2lzb2xhdGlvbj0nUkVBRC1DT01NSVRURUQnYDtcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbnN0cnVjdG9yXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucyA9IE15U1FMT3B0aW9ucy5wYXJzZSh7fSkpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIGFzeW5jIG9uRGF0YWJhc2VSZWFkeSgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5ydW4oYEFMVEVSIERBVEFCQVNFICR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfSBDSEFSQUNURVIgU0VUICd1dGY4bWI0JyBDT0xMQVRFIHV0ZjhtYjRfYmluYCk7XG4gICAgfVxuICAgIGdldFNlcnZpY2UgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpbWFnZTogYG15c3FsOiR7dGhpcy5vcHRpb25zLnRhZ31gLFxuICAgICAgICAgICAgcG9ydHM6IFtgJHt0aGlzLm9wdGlvbnMucG9ydCB8fCAzMzA2fTozMzA2YF0sXG4gICAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgICAgIE1ZU1FMX1JPT1RfUEFTU1dPUkQ6IHRoaXMub3B0aW9ucy5wYXNzd29yZCB8fCAnZGNkeCcsXG4gICAgICAgICAgICAgICAgTVlTUUxfVVNFUjogdGhpcy5vcHRpb25zLnVzZXJuYW1lIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBNWVNRTF9QQVNTV09SRDogdGhpcy5vcHRpb25zLnBhc3N3b3JkIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBNWVNRTF9EQVRBQkFTRTogdGhpcy5vcHRpb25zLmRhdGFiYXNlIHx8ICdkY2R4J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbW1hbmQ6IFsnLS1sb2dfYmluX3RydXN0X2Z1bmN0aW9uX2NyZWF0b3JzPTEnXSxcbiAgICAgICAgICAgIG5ldHdvcmtzOiB7XG4gICAgICAgICAgICAgICAgJ3NoYXJlZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpYXNlczogWydkYicsICdkYXRhYmFzZSddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59XG4iLCJpbXBvcnQgeyBQb3N0Z3JlU1FMT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzL0RhdGFiYXNlJztcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuL2Jhc2UnO1xuZXhwb3J0IGNsYXNzIFBvc3RncmVzIGV4dGVuZHMgQmFzZSB7XG4gICAgb3B0aW9ucztcbiAgICBnZXQgdXJsKCkge1xuICAgICAgICByZXR1cm4gYGpkYmM6cG9zdGdyZXNxbDovL2RiOiR7dGhpcy5vcHRpb25zLnBvcnR9LyR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfWA7XG4gICAgfVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDb25zdHJ1Y3RvclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMgPSBQb3N0Z3JlU1FMT3B0aW9ucy5wYXJzZSh7fSkpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIGdldFNlcnZpY2UgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpbWFnZTogYHBvc3RncmVzOiR7dGhpcy5vcHRpb25zLnRhZ31gLFxuICAgICAgICAgICAgcG9ydHM6IFtgJHt0aGlzLm9wdGlvbnMucG9ydCB8fCA1NDMyfTo1NDMyYF0sXG4gICAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgICAgIFBPU1RHUkVTX1VTRVI6IHRoaXMub3B0aW9ucy51c2VybmFtZSB8fCAnZGNkeCcsXG4gICAgICAgICAgICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6IHRoaXMub3B0aW9ucy5wYXNzd29yZCB8fCAnZGNkeCcsXG4gICAgICAgICAgICAgICAgUE9TVEdSRVNfREI6IHRoaXMub3B0aW9ucy5kYXRhYmFzZSB8fCAnZGNkeCcsXG4gICAgICAgICAgICAgICAgUE9TVEdSRVNfSE9TVF9BVVRIX01FVEhPRDogJ21kNScsXG4gICAgICAgICAgICAgICAgUE9TVEdSRVNfSU5JVERCX0FSR1M6ICctLWVuY29kaW5nPVVURi04IC0tbGMtY29sbGF0ZT1DIC0tbGMtY3R5cGU9QydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXR3b3Jrczoge1xuICAgICAgICAgICAgICAgICdzaGFyZWQnOiB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWFzZXM6IFsnZGInLCAnZGF0YWJhc2UnXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xufVxuIiwiaW1wb3J0IHsgTVNTUUwgfSBmcm9tICcuLi9kYXRhYmFzZXMvbXNzcWwnO1xuaW1wb3J0IHsgTXlTUUwgfSBmcm9tICcuLi9kYXRhYmFzZXMvbXlzcWwnO1xuaW1wb3J0IHsgUG9zdGdyZXMgfSBmcm9tICcuLi9kYXRhYmFzZXMvcG9zdGdyZXMnO1xuaW1wb3J0IHsgTVNTUUxPcHRpb25zLCBNeVNRTE9wdGlvbnMsIFBvc3RncmVTUUxPcHRpb25zLCBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMgfSBmcm9tICcuLi90eXBlcy9EYXRhYmFzZSc7XG5leHBvcnQgY29uc3QgZ2V0RGF0YWJhc2VFbmdpbmUgPSAob3B0aW9ucywgdGFnKSA9PiB7XG4gICAgc3dpdGNoIChvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgY2FzZSBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLnBvc3RncmVzcWw6XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBvc3RncmVzKFBvc3RncmVTUUxPcHRpb25zLnBhcnNlKHsgLi4ub3B0aW9ucywgdGFnIH0pKTtcbiAgICAgICAgY2FzZSBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsOlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBNeVNRTChNeVNRTE9wdGlvbnMucGFyc2UoeyAuLi5vcHRpb25zLCB0YWcgfSkpO1xuICAgICAgICBjYXNlIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXNzcWw6XG4gICAgICAgICAgICByZXR1cm4gbmV3IE1TU1FMKE1TU1FMT3B0aW9ucy5wYXJzZSh7IC4uLm9wdGlvbnMsIHRhZyB9KSk7XG4gICAgfVxufTtcbiIsImltcG9ydCB7IHJlYWxwYXRoU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tICdwYXRoJztcbmV4cG9ydCBjb25zdCB0b0Fic29sdXRlUGF0aCA9IChyZWxhdGl2ZVBhdGgpID0+IHtcbiAgICBjb25zdCBbLCBmaWxlUGF0aF0gPSBwcm9jZXNzLmFyZ3Y7XG4gICAgY29uc3QgZXhlY3V0YWJsZUZpbGVEaXIgPSBkaXJuYW1lKHJlYWxwYXRoU3luYyhmaWxlUGF0aCkpO1xuICAgIGNvbnN0IGJhc2VkaXIgPSBleGVjdXRhYmxlRmlsZURpci5zdWJzdHJpbmcoMCwgZXhlY3V0YWJsZUZpbGVEaXIuaW5kZXhPZignZGNkeCcpICsgNCk7XG4gICAgcmV0dXJuIGpvaW4oYmFzZWRpciwgcmVsYXRpdmVQYXRoLnJlcGxhY2VBbGwoJy4uLycsICcnKSk7XG59O1xuIiwiaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgdG9BYnNvbHV0ZVBhdGggfSBmcm9tICcuL3RvQWJzb2x1dGVQYXRoJztcbmV4cG9ydCBjb25zdCBnZXRWZXJzaW9ucyA9ICgpID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gcmVhZEZpbGVTeW5jKHRvQWJzb2x1dGVQYXRoKCcuLi8uLi9hc3NldHMvdmVyc2lvbnMuanNvbicpLCAndXRmLTgnKTtcbiAgICBjb25zdCB2ZXJzaW9ucyA9IEpTT04ucGFyc2UoY29udGVudCk7XG4gICAgcmV0dXJuIHZlcnNpb25zO1xufTtcbiIsImltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuZXhwb3J0IGNvbnN0IGdldFpvZERlZmF1bHQgPSAoc2NoZW1hLCBrZXkpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IGdldFpvZERlZmF1bHRzKHNjaGVtYSk7XG4gICAgcmV0dXJuIGRlZmF1bHRzW2tleV07XG59O1xuLy8gQ29kZSBzbmlwcGV0IGJ5IEphY29iIFdlaXNlbmJ1cmdlciAoaHR0cHM6Ly9naXRodWIuY29tL0phY29iV2Vpc2VuYnVyZ2VyKVxuLy8gVGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vY29saW5oYWNrcy96b2QvZGlzY3Vzc2lvbnMvMTk1MyNkaXNjdXNzaW9uY29tbWVudC00ODExNTg4XG5leHBvcnQgY29uc3QgZ2V0Wm9kRGVmYXVsdHMgPSAoc2NoZW1hKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhzY2hlbWEuc2hhcGUpLmZpbHRlcigoWywgdmFsdWVdKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIHouWm9kRGVmYXVsdCkge1xuICAgICAgICAgICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdmFsdWUuX2RlZi5kZWZhdWx0VmFsdWUoKTtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIGRlZmF1bHRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoW2tleSwgdmFsdWUuX2RlZi5kZWZhdWx0VmFsdWUoKV0pKSk7XG59O1xuIiwiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0IHsgQ29tbWFuZCBhcyBDb21tYW5kZXIsIE9wdGlvbiB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgeyBncmFjZWZ1bEV4aXQgfSBmcm9tICdleGl0LWhvb2snO1xuaW1wb3J0IHsgQWN0aW9uSGFuZGxlciB9IGZyb20gJy4uL2hlbHBlcnMvQWN0aW9uSGFuZGxlcic7XG5pbXBvcnQgeyBnZXREYXRhYmFzZUVuZ2luZSB9IGZyb20gJy4uL2hlbHBlcnMvZ2V0RGF0YWJhc2VFbmdpbmUnO1xuaW1wb3J0IHsgZ2V0VmVyc2lvbnMgfSBmcm9tICcuLi9oZWxwZXJzL2dldFZlcnNpb25zJztcbmltcG9ydCB7IGdldFpvZERlZmF1bHQgfSBmcm9tICcuLi9oZWxwZXJzL2dldFpvZERlZmF1bHRzJztcbmltcG9ydCB7IE1TU1FMT3B0aW9ucywgTXlTUUxPcHRpb25zLCBQb3N0Z3JlU1FMT3B0aW9ucywgU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLCBTdXBwb3J0ZWRNU1NRTEVkaXRpb25zIH0gZnJvbSAnLi4vdHlwZXMvRGF0YWJhc2UnO1xuY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kZXIoKTtcbmNvbnN0IHZlcnNpb25zID0gZ2V0VmVyc2lvbnMoKTtcbmNvbnN0IENvbW1hbmQgPSAoKSA9PiB7XG4gICAgbGV0IGluc3RhbmNlID0gbnVsbDtcbiAgICByZXR1cm4ge1xuICAgICAgICBhY3Rpb246IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAgICAgICBpbnN0YW5jZSA9IGdldERhdGFiYXNlRW5naW5lKG9wdGlvbnMpO1xuICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlLnN0YXJ0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9ySGFuZGxlcjogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBuYW1lIH0gPSBpbnN0YW5jZS5vcHRpb25zO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTdG9wcGluZyAke25hbWV9Li4uIOKPs2ApO1xuICAgICAgICAgICAgICAgIGF3YWl0IGluc3RhbmNlLnN0b3AoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFN0b3BwZWQgJHtuYW1lfSDwn5KqYCk7XG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgRmFpbGVkIHRvIHN0b3BwZWQgJHtuYW1lfSwgbWFudWFsIGFjdGlvbiBpcyByZXF1aXJlZGApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn07XG5wcm9ncmFtXG4gICAgLm5hbWUoJ2RjZHggZGF0YWJhc2UnKVxuICAgIC5zaG93SGVscEFmdGVyRXJyb3IodHJ1ZSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3Bvc3RncmVzcWwnKVxuICAgIC5kZXNjcmlwdGlvbignU3RhcnQgUG9zdGdyZVNRTCcpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctdCwgLS10YWcgPHRhZz4nLCAnVGhlIERvY2tlciB0YWcgb2YgUG9zdGdyZXMnKS5jaG9pY2VzKHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbF0pLmRlZmF1bHQoJ2xhdGVzdCcpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLWQsIC0tZGF0YWJhc2UgPGRhdGFiYXNlPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIFBPU1RHUkVTX0RCIGVudmlyb25tZW50IHZhcmlhYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KFBvc3RncmVTUUxPcHRpb25zLCAnZGF0YWJhc2UnKSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctcCwgLS1wb3J0IDxwb3J0PicsICdUaGUgcG9ydCBvbiB3aGljaCB0aGUgZGF0YWJhc2Ugd2lsbCBiZSBhY2Nlc3NpYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KFBvc3RncmVTUUxPcHRpb25zLCAncG9ydCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1VLCAtLXVzZXJuYW1lIDx1c2VybmFtZT4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBQT1NUR1JFU19VU0VSIGVudmlyb25tZW50IHZhcmlhYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KFBvc3RncmVTUUxPcHRpb25zLCAndXNlcm5hbWUnKSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctUCwgLS1wYXNzd29yZCA8cGFzc3dvcmQ+JywgJ1RoZSB2YWx1ZSBwYXNzZWQgdG8gUE9TVEdSRVNfUEFTU1dPUkQgZW52aXJvbm1lbnQgdmFyaWFibGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICdwYXNzd29yZCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tY2xlYW4nLCAnUmVtb3ZlIGRhdGEgZmlsZXMgYmVmb3JlIHN0YXJ0aW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1wcnVuZScsICdSZW1vdmUgZGF0YSBmaWxlcyB3aGVuIHN0b3BwaW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS12ZXJib3NlJywgJ091dHB1dCBkYXRhYmFzZSBsb2cgZmlsZXMnKS5kZWZhdWx0KGZhbHNlKSlcbiAgICAuYWN0aW9uKG9wdGlvbnMgPT4gQWN0aW9uSGFuZGxlcihwcm9ncmFtLCBDb21tYW5kKCksIHsgLi4ub3B0aW9ucywgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5wb3N0Z3Jlc3FsIH0pKTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgnbXlzcWwnKVxuICAgIC5kZXNjcmlwdGlvbignU3RhcnQgTXlTUUwnKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLXQsIC0tdGFnIDx0YWc+JywgJ1RoZSBEb2NrZXIgdGFnIG9mIE15U1FMJykuY2hvaWNlcyh2ZXJzaW9uc1tTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsXSkuZGVmYXVsdCgnbGF0ZXN0JykpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctZCwgLS1kYXRhYmFzZSA8ZGF0YWJhc2U+JywgJ1RoZSB2YWx1ZSBwYXNzZWQgdG8gTVlTUUxfREFUQUJBU0UgZW52aXJvbm1lbnQgdmFyaWFibGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoTXlTUUxPcHRpb25zLCAnZGF0YWJhc2UnKSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctcCwgLS1wb3J0IDxwb3J0PicsICdUaGUgcG9ydCBvbiB3aGljaCB0aGUgZGF0YWJhc2Ugd2lsbCBiZSBhY2Nlc3NpYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE15U1FMT3B0aW9ucywgJ3BvcnQnKSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctVSwgLS11c2VybmFtZSA8dXNlcm5hbWU+JywgJ1RoZSB2YWx1ZSBwYXNzZWQgdG8gTVlTUUxfVVNFUiBlbnZpcm9ubWVudCB2YXJpYWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNeVNRTE9wdGlvbnMsICd1c2VybmFtZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1QLCAtLXBhc3N3b3JkIDxwYXNzd29yZD4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBNWVNRTF9QQVNTV09SRCBlbnZpcm9ubWVudCB2YXJpYWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNeVNRTE9wdGlvbnMsICdwYXNzd29yZCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tY2xlYW4nLCAnUmVtb3ZlIGRhdGEgZmlsZXMgYmVmb3JlIHN0YXJ0aW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1wcnVuZScsICdSZW1vdmUgZGF0YSBmaWxlcyB3aGVuIHN0b3BwaW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS12ZXJib3NlJywgJ091dHB1dCBkYXRhYmFzZSBsb2cgZmlsZXMnKS5kZWZhdWx0KGZhbHNlKSlcbiAgICAuYWN0aW9uKG9wdGlvbnMgPT4gQWN0aW9uSGFuZGxlcihwcm9ncmFtLCBDb21tYW5kKCksIHsgLi4ub3B0aW9ucywgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5teXNxbCB9KSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ21zc3FsJylcbiAgICAuZGVzY3JpcHRpb24oJ1N0YXJ0IE1pY3Jvc29mdCBTUUwgU2VydmVyJylcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy10LCAtLXRhZyA8dGFnPicsICdUaGUgRG9ja2VyIHRhZyBvZiBNaWNyb3NvZnQgU1FMIFNlcnZlcicpLmNob2ljZXModmVyc2lvbnNbU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbF0pLmRlZmF1bHQoJ2xhdGVzdCcpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLWUsIC0tZWRpdGlvbiA8ZWRpdGlvbj4nLCAnVGhlIGVkaXRpb24gb2YgTWljcm9zb2Z0IFNRTCBTZXJ2ZXInKS5jaG9pY2VzKE9iamVjdC52YWx1ZXMoU3VwcG9ydGVkTVNTUUxFZGl0aW9ucy5WYWx1ZXMpKS5kZWZhdWx0KFN1cHBvcnRlZE1TU1FMRWRpdGlvbnMuVmFsdWVzLkRldmVsb3BlcikpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctZCwgLS1kYXRhYmFzZSA8ZGF0YWJhc2U+JywgJ1RoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSAoYXV0b21hdGljYWxseSBjcmVhdGVkKScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNU1NRTE9wdGlvbnMsICdkYXRhYmFzZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1wLCAtLXBvcnQgPHBvcnQ+JywgJ1RoZSBwb3J0IG9uIHdoaWNoIHRoZSBkYXRhYmFzZSB3aWxsIGJlIGFjY2Vzc2libGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoTVNTUUxPcHRpb25zLCAncG9ydCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1QLCAtLXBhc3N3b3JkIDxwYXNzd29yZD4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBNU1NRTF9TQV9QQVNTV09SRCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gTVMgU1FMIFNlcnZlciBwYXNzd29yZCBwb2xpY3kgYXBwbGllcy4nKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoTVNTUUxPcHRpb25zLCAncGFzc3dvcmQnKSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWNsZWFuJywgJ1JlbW92ZSBkYXRhIGZpbGVzIGJlZm9yZSBzdGFydGluZyB0aGUgZGF0YWJhc2UnKS5kZWZhdWx0KGZhbHNlKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tcHJ1bmUnLCAnUmVtb3ZlIGRhdGEgZmlsZXMgd2hlbiBzdG9wcGluZyB0aGUgZGF0YWJhc2UnKS5kZWZhdWx0KGZhbHNlKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tdmVyYm9zZScsICdPdXRwdXQgZGF0YWJhc2UgbG9nIGZpbGVzJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFjdGlvbihvcHRpb25zID0+IEFjdGlvbkhhbmRsZXIocHJvZ3JhbSwgQ29tbWFuZCgpLCB7IC4uLm9wdGlvbnMsIG5hbWU6IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXNzcWwsIHVzZXJuYW1lOiAnc2EnIH0pKTtcbnByb2dyYW0ucGFyc2VBc3luYyhwcm9jZXNzLmFyZ3YpLmNhdGNoKCgpID0+IGdyYWNlZnVsRXhpdCgxKSk7XG5wcm9jZXNzLm9uKCdTSUdJTlQnLCAoKSA9PiB7XG4gICAgY29uc29sZS5sb2coYFJlY2VpdmVkIHRlcm0gc2lnbmFsLCB0cnlpbmcgdG8gc3RvcCBncmFjZWZ1bGx5IPCfkqpgKTtcbiAgICBncmFjZWZ1bEV4aXQoKTtcbn0pO1xuIl0sIm5hbWVzIjpbInZlcnNpb25zIiwiQ29tbWFuZGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFFTyxNQUFNLGFBQWEsR0FBRyxPQUFPLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsRUFBRSxPQUFPLEtBQUs7QUFDbkYsSUFBSSxNQUFNLEdBQUcsR0FBRyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzFDLElBQUksTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEtBQUs7QUFDckMsUUFBUSxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDOUIsUUFBUSxhQUFhLENBQUMsT0FBTyxJQUFJLEtBQUs7QUFDdEMsWUFBWSxJQUFJO0FBQ2hCLGdCQUFnQixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDaEMsb0JBQW9CLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0FBQzlELGlCQUFpQjtBQUNqQixnQkFBZ0IsSUFBSSxZQUFZLEVBQUU7QUFDbEMsb0JBQW9CLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDekQsaUJBQWlCO0FBQ2pCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0Esb0JBQW9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqQyxpQkFBaUI7QUFDakIsYUFBYTtBQUNiLFlBQVksT0FBTyxHQUFHLEVBQUU7QUFDeEIsZ0JBQWdCLE1BQU0sT0FBTyxHQUFHLEdBQUcsWUFBWSxLQUFLLEdBQUcsR0FBRyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDekUsZ0JBQWdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNoQyxhQUFhO0FBQ2IsU0FBUyxFQUFFO0FBQ1gsWUFBWSxJQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJO0FBQy9CLFNBQVMsQ0FBQyxDQUFDO0FBQ1gsUUFBUSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07QUFDL0IsWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSTtBQUN4QixZQUFZLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxRQUFRLEVBQUU7QUFDM0MsZ0JBQWdCLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSTtBQUM1QyxvQkFBb0IsWUFBWSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekcsaUJBQWlCLENBQUMsQ0FBQztBQUNuQixhQUFhO0FBQ2IsaUJBQWlCLElBQUksR0FBRyxZQUFZLEtBQUssSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7QUFDdEUsZ0JBQWdCLFlBQVksR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDOUMsYUFBYTtBQUNiLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLFNBQVMsQ0FBQyxDQUFDO0FBQ1gsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSTtBQUN4QixRQUFRLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtBQUM5QixZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbkM7QUFDQTtBQUNBLFNBQVM7QUFDVCxhQUFhO0FBQ2IsWUFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLFNBQVM7QUFDVCxLQUFLLENBQUMsQ0FBQztBQUNQLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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