payload 2.24.1 → 2.25.0
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.
- package/dist/admin/components/elements/Autosave/index.d.ts.map +1 -1
- package/dist/admin/components/elements/Autosave/index.js +16 -8
- package/dist/admin/components/elements/Autosave/types.d.ts +2 -0
- package/dist/admin/components/elements/Autosave/types.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentControls/index.d.ts +2 -0
- package/dist/admin/components/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentControls/index.js +3 -2
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +5 -5
- package/dist/admin/components/forms/field-types/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Relationship/index.js +13 -8
- package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/Auth/index.js +20 -17
- package/dist/admin/components/utilities/Auth/types.d.ts +2 -2
- package/dist/admin/components/utilities/Auth/types.d.ts.map +1 -1
- package/dist/admin/components/views/Logout/index.js +2 -2
- package/dist/admin/components/views/collections/Edit/Default/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/Edit/Default/index.js +3 -2
- package/dist/admin/components/views/collections/List/Cell/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/List/Cell/index.js +10 -7
- package/dist/admin/components/views/collections/List/Cell/types.d.ts +1 -0
- package/dist/admin/components/views/collections/List/Cell/types.d.ts.map +1 -1
- package/dist/collections/config/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +3 -2
- package/dist/express/middleware/index.js +3 -2
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +4 -1
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +4 -1
- package/dist/uploads/cropImage.d.ts +5 -1
- package/dist/uploads/cropImage.d.ts.map +1 -1
- package/dist/uploads/cropImage.js +10 -4
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +13 -4
- package/dist/uploads/imageResizer.d.ts +3 -1
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +16 -5
- package/dist/uploads/optionallyAppendMetadata.d.ts +12 -0
- package/dist/uploads/optionallyAppendMetadata.d.ts.map +1 -0
- package/dist/uploads/optionallyAppendMetadata.js +25 -0
- package/dist/uploads/types.d.ts +3 -0
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/utilities/deepCopyObject.d.ts.map +1 -1
- package/dist/utilities/deepCopyObject.js +8 -1
- package/package.json +1 -1
|
@@ -140,7 +140,7 @@ const Relationship = (props)=>{
|
|
|
140
140
|
value: valueArg
|
|
141
141
|
});
|
|
142
142
|
if (!errorLoading) {
|
|
143
|
-
relationsToFetch.reduce(async (priorRelation, relation)=>{
|
|
143
|
+
await relationsToFetch.reduce(async (priorRelation, relation)=>{
|
|
144
144
|
const relationFilterOption = filterOptionsResult?.[relation];
|
|
145
145
|
let lastLoadedPageToUse;
|
|
146
146
|
if (search !== searchArg) {
|
|
@@ -189,7 +189,9 @@ const Relationship = (props)=>{
|
|
|
189
189
|
if (relationFilterOption && typeof relationFilterOption !== 'boolean') {
|
|
190
190
|
query.where.and.push(relationFilterOption);
|
|
191
191
|
}
|
|
192
|
-
const response = await fetch(`${serverURL}${api}/${relation}?${_qs.default.stringify(query
|
|
192
|
+
const response = await fetch(`${serverURL}${api}/${relation}?${_qs.default.stringify(query, {
|
|
193
|
+
strictNullHandling: true
|
|
194
|
+
})}`, {
|
|
193
195
|
credentials: 'include',
|
|
194
196
|
headers: {
|
|
195
197
|
'Accept-Language': i18n.language
|
|
@@ -253,7 +255,7 @@ const Relationship = (props)=>{
|
|
|
253
255
|
t
|
|
254
256
|
]);
|
|
255
257
|
const updateSearch = (0, _useDebouncedCallback.useDebouncedCallback)((searchArg, valueArg)=>{
|
|
256
|
-
getResults({
|
|
258
|
+
void getResults({
|
|
257
259
|
search: searchArg,
|
|
258
260
|
sort: true,
|
|
259
261
|
value: valueArg
|
|
@@ -266,6 +268,7 @@ const Relationship = (props)=>{
|
|
|
266
268
|
updateSearch(searchArg, valueArg, searchArg !== '');
|
|
267
269
|
}
|
|
268
270
|
}, [
|
|
271
|
+
initialLoadedPageState,
|
|
269
272
|
search,
|
|
270
273
|
updateSearch
|
|
271
274
|
]);
|
|
@@ -278,7 +281,7 @@ const Relationship = (props)=>{
|
|
|
278
281
|
relationTo,
|
|
279
282
|
value
|
|
280
283
|
});
|
|
281
|
-
Object.entries(relationMap).reduce(async (priorRelation, [relation, ids])=>{
|
|
284
|
+
void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids])=>{
|
|
282
285
|
await priorRelation;
|
|
283
286
|
const idsToLoad = ids.filter((id)=>{
|
|
284
287
|
return !options.find((optionGroup)=>optionGroup?.options?.find((option)=>option.value === id && option.relationTo === relation));
|
|
@@ -296,7 +299,9 @@ const Relationship = (props)=>{
|
|
|
296
299
|
}
|
|
297
300
|
};
|
|
298
301
|
if (!errorLoading) {
|
|
299
|
-
const response = await fetch(`${serverURL}${api}/${relation}?${_qs.default.stringify(query
|
|
302
|
+
const response = await fetch(`${serverURL}${api}/${relation}?${_qs.default.stringify(query, {
|
|
303
|
+
strictNullHandling: true
|
|
304
|
+
})}`, {
|
|
300
305
|
credentials: 'include',
|
|
301
306
|
headers: {
|
|
302
307
|
'Accept-Language': i18n.language
|
|
@@ -475,7 +480,7 @@ const Relationship = (props)=>{
|
|
|
475
480
|
onMenuOpen: ()=>{
|
|
476
481
|
if (!hasLoadedFirstPage) {
|
|
477
482
|
setIsLoading(true);
|
|
478
|
-
getResults({
|
|
483
|
+
void getResults({
|
|
479
484
|
onSuccess: ()=>{
|
|
480
485
|
setHasLoadedFirstPage(true);
|
|
481
486
|
setIsLoading(false);
|
|
@@ -485,7 +490,7 @@ const Relationship = (props)=>{
|
|
|
485
490
|
}
|
|
486
491
|
},
|
|
487
492
|
onMenuScrollToBottom: ()=>{
|
|
488
|
-
getResults({
|
|
493
|
+
void getResults({
|
|
489
494
|
lastFullyLoadedRelation,
|
|
490
495
|
search,
|
|
491
496
|
sort: false,
|
|
@@ -513,4 +518,4 @@ const Relationship = (props)=>{
|
|
|
513
518
|
};
|
|
514
519
|
const _default = (0, _withCondition.default)(Relationship);
|
|
515
520
|
|
|
516
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JlbGF0aW9uc2hpcC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHFzIGZyb20gJ3FzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZHVjZXIsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50RHJhd2VyUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9Eb2N1bWVudERyYXdlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRmlsdGVyT3B0aW9uc1Jlc3VsdCwgR2V0UmVzdWx0cywgT3B0aW9uLCBQcm9wcywgVmFsdWUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnNoaXAgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9maWVsZHMvdmFsaWRhdGlvbnMnXG5pbXBvcnQgd29yZEJvdW5kYXJpZXNSZWdleCBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvd29yZEJvdW5kYXJpZXNSZWdleCdcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snXG5pbXBvcnQgUmVhY3RTZWxlY3QgZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvUmVhY3RTZWxlY3QnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgR2V0RmlsdGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9HZXRGaWx0ZXJPcHRpb25zJ1xuaW1wb3J0IHsgdXNlTG9jYWxlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL0xvY2FsZSdcbmltcG9ydCBEZWZhdWx0RXJyb3IgZnJvbSAnLi4vLi4vRXJyb3InXG5pbXBvcnQgRmllbGREZXNjcmlwdGlvbiBmcm9tICcuLi8uLi9GaWVsZERlc2NyaXB0aW9uJ1xuaW1wb3J0IHsgdXNlRm9ybVByb2Nlc3NpbmcgfSBmcm9tICcuLi8uLi9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgRGVmYXVsdExhYmVsIGZyb20gJy4uLy4uL0xhYmVsJ1xuaW1wb3J0IHVzZUZpZWxkIGZyb20gJy4uLy4uL3VzZUZpZWxkJ1xuaW1wb3J0IHdpdGhDb25kaXRpb24gZnJvbSAnLi4vLi4vd2l0aENvbmRpdGlvbidcbmltcG9ydCB7IGZpZWxkQmFzZUNsYXNzIH0gZnJvbSAnLi4vc2hhcmVkJ1xuaW1wb3J0IHsgQWRkTmV3UmVsYXRpb24gfSBmcm9tICcuL0FkZE5ldydcbmltcG9ydCB7IGNyZWF0ZVJlbGF0aW9uTWFwIH0gZnJvbSAnLi9jcmVhdGVSZWxhdGlvbk1hcCdcbmltcG9ydCB7IGZpbmRPcHRpb25zQnlWYWx1ZSB9IGZyb20gJy4vZmluZE9wdGlvbnNCeVZhbHVlJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5pbXBvcnQgb3B0aW9uc1JlZHVjZXIgZnJvbSAnLi9vcHRpb25zUmVkdWNlcidcbmltcG9ydCB7IE11bHRpVmFsdWVMYWJlbCB9IGZyb20gJy4vc2VsZWN0LWNvbXBvbmVudHMvTXVsdGlWYWx1ZUxhYmVsJ1xuaW1wb3J0IHsgU2luZ2xlVmFsdWUgfSBmcm9tICcuL3NlbGVjdC1jb21wb25lbnRzL1NpbmdsZVZhbHVlJ1xuXG5jb25zdCBtYXhSZXN1bHRzUGVyUmVxdWVzdCA9IDEwXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdyZWxhdGlvbnNoaXAnXG5cbmNvbnN0IFJlbGF0aW9uc2hpcDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYW1lLFxuICAgIGFkbWluOiB7XG4gICAgICBhbGxvd0NyZWF0ZSA9IHRydWUsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb21wb25lbnRzOiB7IEVycm9yLCBMYWJlbCB9ID0ge30sXG4gICAgICBjb25kaXRpb24sXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGlzU29ydGFibGUgPSB0cnVlLFxuICAgICAgcmVhZE9ubHksXG4gICAgICBzb3J0T3B0aW9ucyxcbiAgICAgIHN0eWxlLFxuICAgICAgd2lkdGgsXG4gICAgfSA9IHt9LFxuICAgIGZpbHRlck9wdGlvbnMsXG4gICAgaGFzTWFueSxcbiAgICBsYWJlbCxcbiAgICBwYXRoLFxuICAgIHJlbGF0aW9uVG8sXG4gICAgcmVxdWlyZWQsXG4gICAgdmFsaWRhdGUgPSByZWxhdGlvbnNoaXAsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IEVycm9yQ29tcCA9IEVycm9yIHx8IERlZmF1bHRFcnJvclxuICBjb25zdCBMYWJlbENvbXAgPSBMYWJlbCB8fCBEZWZhdWx0TGFiZWxcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IHtcbiAgICBjb2xsZWN0aW9ucyxcbiAgICByb3V0ZXM6IHsgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gY29uZmlnXG5cbiAgY29uc3QgaGFzTXVsdGlwbGVSZWxhdGlvbnMgPSBBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pXG4gIGNvbnN0IGluaXRpYWxMb2FkZWRQYWdlU3RhdGUgPSBoYXNNdWx0aXBsZVJlbGF0aW9uc1xuICAgID8gcmVsYXRpb25Uby5yZWR1Y2UoKGFjYywgcmVsYXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW3JlbGF0aW9uXTogMCxcbiAgICAgICAgfVxuICAgICAgfSwge30pXG4gICAgOiB7fVxuXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2ZpZWxkcycpXG4gIGNvbnN0IHsgcGVybWlzc2lvbnMgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7IGNvZGU6IGxvY2FsZSB9ID0gdXNlTG9jYWxlKClcbiAgY29uc3QgZm9ybVByb2Nlc3NpbmcgPSB1c2VGb3JtUHJvY2Vzc2luZygpXG4gIGNvbnN0IFtvcHRpb25zLCBkaXNwYXRjaE9wdGlvbnNdID0gdXNlUmVkdWNlcihvcHRpb25zUmVkdWNlciwgW10pXG4gIGNvbnN0IFtsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiwgc2V0TGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25dID0gdXNlU3RhdGUoLTEpXG4gIGNvbnN0IFtsYXN0TG9hZGVkUGFnZSwgc2V0TGFzdExvYWRlZFBhZ2VdID1cbiAgICB1c2VTdGF0ZTxSZWNvcmQ8c3RyaW5nLCBudW1iZXI+Pihpbml0aWFsTG9hZGVkUGFnZVN0YXRlKVxuICBjb25zdCBbZXJyb3JMb2FkaW5nLCBzZXRFcnJvckxvYWRpbmddID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtmaWx0ZXJPcHRpb25zUmVzdWx0LCBzZXRGaWx0ZXJPcHRpb25zUmVzdWx0XSA9IHVzZVN0YXRlPEZpbHRlck9wdGlvbnNSZXN1bHQ+KClcbiAgY29uc3QgW3NlYXJjaCwgc2V0U2VhcmNoXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtoYXNMb2FkZWRGaXJzdFBhZ2UsIHNldEhhc0xvYWRlZEZpcnN0UGFnZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2VuYWJsZVdvcmRCb3VuZGFyeVNlYXJjaCwgc2V0RW5hYmxlV29yZEJvdW5kYXJ5U2VhcmNoXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBmaXJzdFJ1biA9IHVzZVJlZih0cnVlKVxuICBjb25zdCBwYXRoT3JOYW1lID0gcGF0aCB8fCBuYW1lXG5cbiAgY29uc3QgbWVtb2l6ZWRWYWxpZGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICh2YWx1ZSwgdmFsaWRhdGlvbk9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiB2YWxpZGF0ZSh2YWx1ZSwgeyAuLi52YWxpZGF0aW9uT3B0aW9ucywgcmVxdWlyZWQgfSlcbiAgICB9LFxuICAgIFt2YWxpZGF0ZSwgcmVxdWlyZWRdLFxuICApXG5cbiAgY29uc3QgeyBlcnJvck1lc3NhZ2UsIGluaXRpYWxWYWx1ZSwgc2V0VmFsdWUsIHNob3dFcnJvciwgdmFsdWUgfSA9IHVzZUZpZWxkPFZhbHVlIHwgVmFsdWVbXT4oe1xuICAgIGNvbmRpdGlvbixcbiAgICBwYXRoOiBwYXRoT3JOYW1lLFxuICAgIHZhbGlkYXRlOiBtZW1vaXplZFZhbGlkYXRlLFxuICB9KVxuXG4gIGNvbnN0IFtkcmF3ZXJJc09wZW4sIHNldERyYXdlcklzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBnZXRSZXN1bHRzOiBHZXRSZXN1bHRzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHtcbiAgICAgIGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uOiBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyxcbiAgICAgIG9uU3VjY2VzcyxcbiAgICAgIHNlYXJjaDogc2VhcmNoQXJnLFxuICAgICAgc29ydCxcbiAgICAgIHZhbHVlOiB2YWx1ZUFyZyxcbiAgICB9KSA9PiB7XG4gICAgICBpZiAoIXBlcm1pc3Npb25zKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSA9XG4gICAgICAgIHR5cGVvZiBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyAhPT0gJ3VuZGVmaW5lZCcgPyBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyA6IC0xXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgPyByZWxhdGlvblRvIDogW3JlbGF0aW9uVG9dXG4gICAgICBjb25zdCByZWxhdGlvbnNUb0ZldGNoID1cbiAgICAgICAgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSA9PT0gLTFcbiAgICAgICAgICA/IHJlbGF0aW9uc1xuICAgICAgICAgIDogcmVsYXRpb25zLnNsaWNlKGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uVG9Vc2UgKyAxKVxuXG4gICAgICBsZXQgcmVzdWx0c0ZldGNoZWQgPSAwXG4gICAgICBjb25zdCByZWxhdGlvbk1hcCA9IGNyZWF0ZVJlbGF0aW9uTWFwKHtcbiAgICAgICAgaGFzTWFueSxcbiAgICAgICAgcmVsYXRpb25UbyxcbiAgICAgICAgdmFsdWU6IHZhbHVlQXJnLFxuICAgICAgfSlcblxuICAgICAgaWYgKCFlcnJvckxvYWRpbmcpIHtcbiAgICAgICAgcmVsYXRpb25zVG9GZXRjaC5yZWR1Y2UoYXN5bmMgKHByaW9yUmVsYXRpb24sIHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25GaWx0ZXJPcHRpb24gPSBmaWx0ZXJPcHRpb25zUmVzdWx0Py5bcmVsYXRpb25dXG4gICAgICAgICAgbGV0IGxhc3RMb2FkZWRQYWdlVG9Vc2VcbiAgICAgICAgICBpZiAoc2VhcmNoICE9PSBzZWFyY2hBcmcpIHtcbiAgICAgICAgICAgIGxhc3RMb2FkZWRQYWdlVG9Vc2UgPSAxXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxhc3RMb2FkZWRQYWdlVG9Vc2UgPSBsYXN0TG9hZGVkUGFnZVtyZWxhdGlvbl0gKyAxXG4gICAgICAgICAgfVxuICAgICAgICAgIGF3YWl0IHByaW9yUmVsYXRpb25cblxuICAgICAgICAgIGlmIChyZWxhdGlvbkZpbHRlck9wdGlvbiA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uKHJlbGF0aW9ucy5pbmRleE9mKHJlbGF0aW9uKSlcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChyZXN1bHRzRmV0Y2hlZCA8IDEwKSB7XG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZmluZCgoY29sbCkgPT4gY29sbC5zbHVnID09PSByZWxhdGlvbilcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkVG9TZWFyY2ggPSBjb2xsZWN0aW9uPy5hZG1pbj8udXNlQXNUaXRsZSB8fCAnaWQnXG4gICAgICAgICAgICBsZXQgZmllbGRUb1NvcnQgPSBjb2xsZWN0aW9uPy5kZWZhdWx0U29ydCB8fCAnaWQnXG4gICAgICAgICAgICBpZiAodHlwZW9mIHNvcnRPcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBmaWVsZFRvU29ydCA9IHNvcnRPcHRpb25zXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNvcnRPcHRpb25zPy5bcmVsYXRpb25dKSB7XG4gICAgICAgICAgICAgIGZpZWxkVG9Tb3J0ID0gc29ydE9wdGlvbnNbcmVsYXRpb25dXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5OiB7XG4gICAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd25cbiAgICAgICAgICAgICAgd2hlcmU6IFdoZXJlXG4gICAgICAgICAgICB9ID0ge1xuICAgICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgICAgZHJhZnQ6IHRydWUsXG4gICAgICAgICAgICAgIGxpbWl0OiBtYXhSZXN1bHRzUGVyUmVxdWVzdCxcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICBwYWdlOiBsYXN0TG9hZGVkUGFnZVRvVXNlLFxuICAgICAgICAgICAgICBzb3J0OiBmaWVsZFRvU29ydCxcbiAgICAgICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICAgICBhbmQ6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICBub3RfaW46IHJlbGF0aW9uTWFwW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNlYXJjaEFyZykge1xuICAgICAgICAgICAgICBxdWVyeS53aGVyZS5hbmQucHVzaCh7XG4gICAgICAgICAgICAgICAgW2ZpZWxkVG9TZWFyY2hdOiB7XG4gICAgICAgICAgICAgICAgICBsaWtlOiBzZWFyY2hBcmcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlbGF0aW9uRmlsdGVyT3B0aW9uICYmIHR5cGVvZiByZWxhdGlvbkZpbHRlck9wdGlvbiAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5LndoZXJlLmFuZC5wdXNoKHJlbGF0aW9uRmlsdGVyT3B0aW9uKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3NlcnZlclVSTH0ke2FwaX0vJHtyZWxhdGlvbn0/JHtxcy5zdHJpbmdpZnkocXVlcnkpfWAsIHtcbiAgICAgICAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGE6IFBhZ2luYXRlZERvY3M8dW5rbm93bj4gPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgICAgc2V0TGFzdExvYWRlZFBhZ2UoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgICAgICAgICAgICBbcmVsYXRpb25dOiBsYXN0TG9hZGVkUGFnZVRvVXNlLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICBpZiAoIWRhdGEubmV4dFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbihyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikpXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoZGF0YS5kb2NzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzRmV0Y2hlZCArPSBkYXRhLmRvY3MubGVuZ3RoXG5cbiAgICAgICAgICAgICAgICBkaXNwYXRjaE9wdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ0FERCcsXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgZG9jczogZGF0YS5kb2NzLFxuICAgICAgICAgICAgICAgICAgaTE4bixcbiAgICAgICAgICAgICAgICAgIHNvcnQsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICAgICAgICBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbihyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikpXG4gICAgICAgICAgICAgIGRpc3BhdGNoT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ0FERCcsXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZG9jczogW10sXG4gICAgICAgICAgICAgICAgaTE4bixcbiAgICAgICAgICAgICAgICBpZHM6IHJlbGF0aW9uTWFwW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0RXJyb3JMb2FkaW5nKHQoJ2Vycm9yOnVuc3BlY2lmaWMnKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIGlmICh0eXBlb2Ygb25TdWNjZXNzID09PSAnZnVuY3Rpb24nKSBvblN1Y2Nlc3MoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgcGVybWlzc2lvbnMsXG4gICAgICByZWxhdGlvblRvLFxuICAgICAgaGFzTWFueSxcbiAgICAgIGVycm9yTG9hZGluZyxcbiAgICAgIHNlYXJjaCxcbiAgICAgIGxhc3RMb2FkZWRQYWdlLFxuICAgICAgY29sbGVjdGlvbnMsXG4gICAgICBsb2NhbGUsXG4gICAgICBmaWx0ZXJPcHRpb25zUmVzdWx0LFxuICAgICAgc2VydmVyVVJMLFxuICAgICAgc29ydE9wdGlvbnMsXG4gICAgICBhcGksXG4gICAgICBpMThuLFxuICAgICAgY29uZmlnLFxuICAgICAgdCxcbiAgICBdLFxuICApXG5cbiAgY29uc3QgdXBkYXRlU2VhcmNoID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soKHNlYXJjaEFyZzogc3RyaW5nLCB2YWx1ZUFyZzogVmFsdWUgfCBWYWx1ZVtdKSA9PiB7XG4gICAgZ2V0UmVzdWx0cyh7IHNlYXJjaDogc2VhcmNoQXJnLCBzb3J0OiB0cnVlLCB2YWx1ZTogdmFsdWVBcmcgfSlcbiAgICBzZXRTZWFyY2goc2VhcmNoQXJnKVxuICB9LCAzMDApXG5cbiAgY29uc3QgaGFuZGxlSW5wdXRDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoc2VhcmNoQXJnOiBzdHJpbmcsIHZhbHVlQXJnOiBWYWx1ZSB8IFZhbHVlW10pID0+IHtcbiAgICAgIGlmIChzZWFyY2ggIT09IHNlYXJjaEFyZykge1xuICAgICAgICBzZXRMYXN0TG9hZGVkUGFnZShpbml0aWFsTG9hZGVkUGFnZVN0YXRlKVxuICAgICAgICB1cGRhdGVTZWFyY2goc2VhcmNoQXJnLCB2YWx1ZUFyZywgc2VhcmNoQXJnICE9PSAnJylcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZWFyY2gsIHVwZGF0ZVNlYXJjaF0sXG4gIClcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBFbnN1cmUgd2UgaGF2ZSBhbiBvcHRpb24gZm9yIGVhY2ggdmFsdWVcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlbGF0aW9uTWFwID0gY3JlYXRlUmVsYXRpb25NYXAoe1xuICAgICAgaGFzTWFueSxcbiAgICAgIHJlbGF0aW9uVG8sXG4gICAgICB2YWx1ZSxcbiAgICB9KVxuXG4gICAgT2JqZWN0LmVudHJpZXMocmVsYXRpb25NYXApLnJlZHVjZShhc3luYyAocHJpb3JSZWxhdGlvbiwgW3JlbGF0aW9uLCBpZHNdKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvclJlbGF0aW9uXG5cbiAgICAgIGNvbnN0IGlkc1RvTG9hZCA9IGlkcy5maWx0ZXIoKGlkKSA9PiB7XG4gICAgICAgIHJldHVybiAhb3B0aW9ucy5maW5kKFxuICAgICAgICAgIChvcHRpb25Hcm91cCkgPT5cbiAgICAgICAgICAgIG9wdGlvbkdyb3VwPy5vcHRpb25zPy5maW5kKFxuICAgICAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IGlkICYmIG9wdGlvbi5yZWxhdGlvblRvID09PSByZWxhdGlvbixcbiAgICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgIH0pXG5cbiAgICAgIGlmIChpZHNUb0xvYWQubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBxdWVyeSA9IHtcbiAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICBkcmFmdDogdHJ1ZSxcbiAgICAgICAgICBsaW1pdDogaWRzVG9Mb2FkLmxlbmd0aCxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgIGluOiBpZHNUb0xvYWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWVycm9yTG9hZGluZykge1xuICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7c2VydmVyVVJMfSR7YXBpfS8ke3JlbGF0aW9ufT8ke3FzLnN0cmluZ2lmeShxdWVyeSl9YCwge1xuICAgICAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZmluZCgoY29sbCkgPT4gY29sbC5zbHVnID09PSByZWxhdGlvbilcbiAgICAgICAgICBsZXQgZG9jcyA9IFtdXG5cbiAgICAgICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgIGRvY3MgPSBkYXRhLmRvY3NcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkaXNwYXRjaE9wdGlvbnMoe1xuICAgICAgICAgICAgdHlwZTogJ0FERCcsXG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgZG9jcyxcbiAgICAgICAgICAgIGkxOG4sXG4gICAgICAgICAgICBpZHM6IGlkc1RvTG9hZCxcbiAgICAgICAgICAgIHNvcnQ6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuICB9LCBbXG4gICAgb3B0aW9ucyxcbiAgICB2YWx1ZSxcbiAgICBoYXNNYW55LFxuICAgIGVycm9yTG9hZGluZyxcbiAgICBjb2xsZWN0aW9ucyxcbiAgICBoYXNNdWx0aXBsZVJlbGF0aW9ucyxcbiAgICBzZXJ2ZXJVUkwsXG4gICAgYXBpLFxuICAgIGkxOG4sXG4gICAgcmVsYXRpb25UbyxcbiAgICBsb2NhbGUsXG4gICAgY29uZmlnLFxuICBdKVxuXG4gIC8vIERldGVybWluZSBpZiB3ZSBzaG91bGQgc3dpdGNoIHRvIHdvcmQgYm91bmRhcnkgc2VhcmNoXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVsYXRpb25zID0gQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSA/IHJlbGF0aW9uVG8gOiBbcmVsYXRpb25Ub11cbiAgICBjb25zdCBpc0lkT25seSA9IHJlbGF0aW9ucy5yZWR1Y2UoKGlkT25seSwgcmVsYXRpb24pID0+IHtcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IHJlbGF0aW9uKVxuICAgICAgY29uc3QgZmllbGRUb1NlYXJjaCA9IGNvbGxlY3Rpb24/LmFkbWluPy51c2VBc1RpdGxlIHx8ICdpZCdcbiAgICAgIHJldHVybiBmaWVsZFRvU2VhcmNoID09PSAnaWQnICYmIGlkT25seVxuICAgIH0sIHRydWUpXG4gICAgc2V0RW5hYmxlV29yZEJvdW5kYXJ5U2VhcmNoKCFpc0lkT25seSlcbiAgfSwgW3JlbGF0aW9uVG8sIGNvbGxlY3Rpb25zXSlcblxuICAvLyBXaGVuIChgcmVsYXRpb25Ub2AgfHwgYGZpbHRlck9wdGlvbnNSZXN1bHRgIHx8IGBsb2NhbGVgKSBjaGFuZ2VzLCByZXNldCBjb21wb25lbnRcbiAgLy8gTm90ZSAtIGVmZmVjdCBzaG91bGQgbm90IHJ1biBvbiBmaXJzdCBydW5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZmlyc3RSdW4uY3VycmVudCkge1xuICAgICAgZmlyc3RSdW4uY3VycmVudCA9IGZhbHNlXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBkaXNwYXRjaE9wdGlvbnMoeyB0eXBlOiAnQ0xFQVInIH0pXG4gICAgc2V0TGFzdEZ1bGx5TG9hZGVkUmVsYXRpb24oLTEpXG4gICAgc2V0TGFzdExvYWRlZFBhZ2UoaW5pdGlhbExvYWRlZFBhZ2VTdGF0ZSlcbiAgICBzZXRIYXNMb2FkZWRGaXJzdFBhZ2UoZmFsc2UpXG4gIH0sIFtyZWxhdGlvblRvLCBmaWx0ZXJPcHRpb25zUmVzdWx0LCBsb2NhbGVdKVxuXG4gIGNvbnN0IG9uU2F2ZSA9IHVzZUNhbGxiYWNrPERvY3VtZW50RHJhd2VyUHJvcHNbJ29uU2F2ZSddPihcbiAgICAoYXJncykgPT4ge1xuICAgICAgZGlzcGF0Y2hPcHRpb25zKHtcbiAgICAgICAgdHlwZTogJ1VQREFURScsXG4gICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBkb2M6IGFyZ3MuZG9jLFxuICAgICAgICBpMThuLFxuICAgICAgfSlcbiAgICB9LFxuICAgIFtpMThuLCBjb25maWddLFxuICApXG5cbiAgY29uc3QgZmlsdGVyT3B0aW9uID0gdXNlQ2FsbGJhY2soKGl0ZW06IE9wdGlvbiwgc2VhcmNoRmlsdGVyOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIXNlYXJjaEZpbHRlcikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgY29uc3QgciA9IHdvcmRCb3VuZGFyaWVzUmVnZXgoc2VhcmNoRmlsdGVyIHx8ICcnKVxuICAgIC8vIGJyZWFraW5nIHRoZSBsYWJlbHMgdG8gc2VhcmNoIGludG8gc21hbGxlciBwYXJ0cyBpbmNyZWFzZXMgcGVyZm9ybWFuY2VcbiAgICBjb25zdCBicmVha0FwYXJ0VGhyZXNob2xkID0gMjUwXG4gICAgbGV0IHN0cmluZyA9IGl0ZW0ubGFiZWxcbiAgICAvLyBzdHJpbmdzIGxlc3MgdGhhbiBicmVha0FwYXJ0VGhyZXNob2xkIGxlbmd0aCB3b24ndCBiZSBjaHVua2VkXG4gICAgd2hpbGUgKHN0cmluZy5sZW5ndGggPiBicmVha0FwYXJ0VGhyZXNob2xkKSB7XG4gICAgICAvLyBzbGljaW5nIGJ5IHRoZSBuZXh0IHNwYWNlIGFmdGVyIHRoZSBsZW5ndGggb2YgdGhlIHNlYXJjaCBpbnB1dCBwcmV2ZW50cyBzbGljaW5nIHRoZSBzdHJpbmcgdXAgYnkgcGFydGlhbCB3b3Jkc1xuICAgICAgY29uc3QgaW5kZXhPZlNwYWNlID0gc3RyaW5nLmluZGV4T2YoJyAnLCBzZWFyY2hGaWx0ZXIubGVuZ3RoKVxuICAgICAgaWYgKHIudGVzdChzdHJpbmcuc2xpY2UoMCwgaW5kZXhPZlNwYWNlID09PSAtMSA/IHNlYXJjaEZpbHRlci5sZW5ndGggOiBpbmRleE9mU3BhY2UgKyAxKSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHN0cmluZyA9IHN0cmluZy5zbGljZShpbmRleE9mU3BhY2UgPT09IC0xID8gc2VhcmNoRmlsdGVyLmxlbmd0aCA6IGluZGV4T2ZTcGFjZSArIDEpXG4gICAgfVxuICAgIHJldHVybiByLnRlc3Qoc3RyaW5nLnNsaWNlKC1icmVha0FwYXJ0VGhyZXNob2xkKSlcbiAgfSwgW10pXG5cbiAgY29uc3QgdmFsdWVUb1JlbmRlciA9IGZpbmRPcHRpb25zQnlWYWx1ZSh7IG9wdGlvbnMsIHZhbHVlIH0pXG5cbiAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlVG9SZW5kZXIpICYmIHZhbHVlVG9SZW5kZXI/LnZhbHVlID09PSAnbnVsbCcpIHZhbHVlVG9SZW5kZXIudmFsdWUgPSBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e1tcbiAgICAgICAgZmllbGRCYXNlQ2xhc3MsXG4gICAgICAgIGJhc2VDbGFzcyxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICBzaG93RXJyb3IgJiYgJ2Vycm9yJyxcbiAgICAgICAgZXJyb3JMb2FkaW5nICYmICdlcnJvci1sb2FkaW5nJyxcbiAgICAgICAgcmVhZE9ubHkgJiYgYCR7YmFzZUNsYXNzfS0tcmVhZC1vbmx5YCxcbiAgICAgIF1cbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAuam9pbignICcpfVxuICAgICAgaWQ9e2BmaWVsZC0ke3BhdGhPck5hbWUucmVwbGFjZSgvXFwuL2csICdfXycpfWB9XG4gICAgICBzdHlsZT17e1xuICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxFcnJvckNvbXAgbWVzc2FnZT17ZXJyb3JNZXNzYWdlfSBzaG93RXJyb3I9e3Nob3dFcnJvcn0gLz5cbiAgICAgIDxMYWJlbENvbXAgaHRtbEZvcj17cGF0aE9yTmFtZX0gbGFiZWw9e2xhYmVsfSByZXF1aXJlZD17cmVxdWlyZWR9IC8+XG4gICAgICA8R2V0RmlsdGVyT3B0aW9uc1xuICAgICAgICB7Li4ue1xuICAgICAgICAgIGZpbHRlck9wdGlvbnMsXG4gICAgICAgICAgZmlsdGVyT3B0aW9uc1Jlc3VsdCxcbiAgICAgICAgICBwYXRoOiBwYXRoT3JOYW1lLFxuICAgICAgICAgIHJlbGF0aW9uVG8sXG4gICAgICAgICAgc2V0RmlsdGVyT3B0aW9uc1Jlc3VsdCxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICB7IWVycm9yTG9hZGluZyAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X193cmFwYH0+XG4gICAgICAgICAgPFJlYWN0U2VsZWN0XG4gICAgICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9eyFkcmF3ZXJJc09wZW59XG4gICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgIE11bHRpVmFsdWVMYWJlbCxcbiAgICAgICAgICAgICAgU2luZ2xlVmFsdWUsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgY3VzdG9tUHJvcHM9e3tcbiAgICAgICAgICAgICAgZGlzYWJsZUtleURvd246IGRyYXdlcklzT3BlbixcbiAgICAgICAgICAgICAgZGlzYWJsZU1vdXNlRG93bjogZHJhd2VySXNPcGVuLFxuICAgICAgICAgICAgICBvblNhdmUsXG4gICAgICAgICAgICAgIHNldERyYXdlcklzT3BlbixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkaXNhYmxlZD17cmVhZE9ubHkgfHwgZm9ybVByb2Nlc3Npbmd9XG4gICAgICAgICAgICBmaWx0ZXJPcHRpb249e2VuYWJsZVdvcmRCb3VuZGFyeVNlYXJjaCA/IGZpbHRlck9wdGlvbiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgaXNNdWx0aT17aGFzTWFueX1cbiAgICAgICAgICAgIGlzU29ydGFibGU9e2lzU29ydGFibGV9XG4gICAgICAgICAgICBvbkNoYW5nZT17XG4gICAgICAgICAgICAgICFyZWFkT25seVxuICAgICAgICAgICAgICAgID8gKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKGhhc01hbnkgPyBbXSA6IG51bGwpXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaGFzTWFueSkge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RlZC5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhhc011bHRpcGxlUmVsYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzogb3B0aW9uLnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNNdWx0aXBsZVJlbGF0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IHNlbGVjdGVkLnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZShzZWxlY3RlZC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvbklucHV0Q2hhbmdlPXsobmV3U2VhcmNoKSA9PiBoYW5kbGVJbnB1dENoYW5nZShuZXdTZWFyY2gsIHZhbHVlKX1cbiAgICAgICAgICAgIG9uTWVudU9wZW49eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFoYXNMb2FkZWRGaXJzdFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICAgICAgICAgICAgICBnZXRSZXN1bHRzKHtcbiAgICAgICAgICAgICAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRIYXNMb2FkZWRGaXJzdFBhZ2UodHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBpbml0aWFsVmFsdWUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTWVudVNjcm9sbFRvQm90dG9tPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGdldFJlc3VsdHMoe1xuICAgICAgICAgICAgICAgIGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uLFxuICAgICAgICAgICAgICAgIHNlYXJjaCxcbiAgICAgICAgICAgICAgICBzb3J0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogaW5pdGlhbFZhbHVlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgICAgICAgICBzaG93RXJyb3I9e3Nob3dFcnJvcn1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZVRvUmVuZGVyID8/IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7IXJlYWRPbmx5ICYmIGFsbG93Q3JlYXRlICYmIChcbiAgICAgICAgICAgIDxBZGROZXdSZWxhdGlvblxuICAgICAgICAgICAgICB7Li4ue1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBoYXNNYW55LFxuICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgcGF0aDogcGF0aE9yTmFtZSxcbiAgICAgICAgICAgICAgICByZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgIHNldFZhbHVlLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7ZXJyb3JMb2FkaW5nICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19lcnJvci1sb2FkaW5nYH0+e2Vycm9yTG9hZGluZ308L2Rpdj59XG4gICAgICA8RmllbGREZXNjcmlwdGlvbiBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IHBhdGg9e3BhdGh9IHZhbHVlPXt2YWx1ZX0gLz5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoQ29uZGl0aW9uKFJlbGF0aW9uc2hpcClcbiJdLCJuYW1lcyI6WyJtYXhSZXN1bHRzUGVyUmVxdWVzdCIsImJhc2VDbGFzcyIsIlJlbGF0aW9uc2hpcCIsInByb3BzIiwibmFtZSIsImFkbWluIiwiYWxsb3dDcmVhdGUiLCJjbGFzc05hbWUiLCJjb21wb25lbnRzIiwiRXJyb3IiLCJMYWJlbCIsImNvbmRpdGlvbiIsImRlc2NyaXB0aW9uIiwiaXNTb3J0YWJsZSIsInJlYWRPbmx5Iiwic29ydE9wdGlvbnMiLCJzdHlsZSIsIndpZHRoIiwiZmlsdGVyT3B0aW9ucyIsImhhc01hbnkiLCJsYWJlbCIsInBhdGgiLCJyZWxhdGlvblRvIiwicmVxdWlyZWQiLCJ2YWxpZGF0ZSIsInJlbGF0aW9uc2hpcCIsIkVycm9yQ29tcCIsIkRlZmF1bHRFcnJvciIsIkxhYmVsQ29tcCIsIkRlZmF1bHRMYWJlbCIsImNvbmZpZyIsInVzZUNvbmZpZyIsImNvbGxlY3Rpb25zIiwicm91dGVzIiwiYXBpIiwic2VydmVyVVJMIiwiaGFzTXVsdGlwbGVSZWxhdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJpbml0aWFsTG9hZGVkUGFnZVN0YXRlIiwicmVkdWNlIiwiYWNjIiwicmVsYXRpb24iLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwicGVybWlzc2lvbnMiLCJ1c2VBdXRoIiwiY29kZSIsImxvY2FsZSIsInVzZUxvY2FsZSIsImZvcm1Qcm9jZXNzaW5nIiwidXNlRm9ybVByb2Nlc3NpbmciLCJvcHRpb25zIiwiZGlzcGF0Y2hPcHRpb25zIiwidXNlUmVkdWNlciIsIm9wdGlvbnNSZWR1Y2VyIiwibGFzdEZ1bGx5TG9hZGVkUmVsYXRpb24iLCJzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiIsInVzZVN0YXRlIiwibGFzdExvYWRlZFBhZ2UiLCJzZXRMYXN0TG9hZGVkUGFnZSIsImVycm9yTG9hZGluZyIsInNldEVycm9yTG9hZGluZyIsImZpbHRlck9wdGlvbnNSZXN1bHQiLCJzZXRGaWx0ZXJPcHRpb25zUmVzdWx0Iiwic2VhcmNoIiwic2V0U2VhcmNoIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiaGFzTG9hZGVkRmlyc3RQYWdlIiwic2V0SGFzTG9hZGVkRmlyc3RQYWdlIiwiZW5hYmxlV29yZEJvdW5kYXJ5U2VhcmNoIiwic2V0RW5hYmxlV29yZEJvdW5kYXJ5U2VhcmNoIiwiZmlyc3RSdW4iLCJ1c2VSZWYiLCJwYXRoT3JOYW1lIiwibWVtb2l6ZWRWYWxpZGF0ZSIsInVzZUNhbGxiYWNrIiwidmFsdWUiLCJ2YWxpZGF0aW9uT3B0aW9ucyIsImVycm9yTWVzc2FnZSIsImluaXRpYWxWYWx1ZSIsInNldFZhbHVlIiwic2hvd0Vycm9yIiwidXNlRmllbGQiLCJkcmF3ZXJJc09wZW4iLCJzZXREcmF3ZXJJc09wZW4iLCJnZXRSZXN1bHRzIiwibGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25BcmciLCJvblN1Y2Nlc3MiLCJzZWFyY2hBcmciLCJzb3J0IiwidmFsdWVBcmciLCJsYXN0RnVsbHlMb2FkZWRSZWxhdGlvblRvVXNlIiwicmVsYXRpb25zIiwicmVsYXRpb25zVG9GZXRjaCIsInNsaWNlIiwicmVzdWx0c0ZldGNoZWQiLCJyZWxhdGlvbk1hcCIsImNyZWF0ZVJlbGF0aW9uTWFwIiwicHJpb3JSZWxhdGlvbiIsInJlbGF0aW9uRmlsdGVyT3B0aW9uIiwibGFzdExvYWRlZFBhZ2VUb1VzZSIsImluZGV4T2YiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvbGxlY3Rpb24iLCJmaW5kIiwiY29sbCIsInNsdWciLCJmaWVsZFRvU2VhcmNoIiwidXNlQXNUaXRsZSIsImZpZWxkVG9Tb3J0IiwiZGVmYXVsdFNvcnQiLCJxdWVyeSIsImRlcHRoIiwiZHJhZnQiLCJsaW1pdCIsInBhZ2UiLCJ3aGVyZSIsImFuZCIsImlkIiwibm90X2luIiwicHVzaCIsImxpa2UiLCJyZXNwb25zZSIsImZldGNoIiwicXMiLCJzdHJpbmdpZnkiLCJjcmVkZW50aWFscyIsImhlYWRlcnMiLCJsYW5ndWFnZSIsIm9rIiwiZGF0YSIsImpzb24iLCJwcmV2U3RhdGUiLCJuZXh0UGFnZSIsImRvY3MiLCJsZW5ndGgiLCJ0eXBlIiwic3RhdHVzIiwiaWRzIiwidXBkYXRlU2VhcmNoIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJoYW5kbGVJbnB1dENoYW5nZSIsInVzZUVmZmVjdCIsIk9iamVjdCIsImVudHJpZXMiLCJpZHNUb0xvYWQiLCJmaWx0ZXIiLCJvcHRpb25Hcm91cCIsIm9wdGlvbiIsImluIiwiaXNJZE9ubHkiLCJpZE9ubHkiLCJjdXJyZW50Iiwib25TYXZlIiwiYXJncyIsImNvbGxlY3Rpb25Db25maWciLCJkb2MiLCJmaWx0ZXJPcHRpb24iLCJpdGVtIiwic2VhcmNoRmlsdGVyIiwiciIsIndvcmRCb3VuZGFyaWVzUmVnZXgiLCJicmVha0FwYXJ0VGhyZXNob2xkIiwic3RyaW5nIiwiaW5kZXhPZlNwYWNlIiwidGVzdCIsInZhbHVlVG9SZW5kZXIiLCJmaW5kT3B0aW9uc0J5VmFsdWUiLCJkaXYiLCJmaWVsZEJhc2VDbGFzcyIsIkJvb2xlYW4iLCJqb2luIiwicmVwbGFjZSIsIm1lc3NhZ2UiLCJodG1sRm9yIiwiR2V0RmlsdGVyT3B0aW9ucyIsIlJlYWN0U2VsZWN0IiwiYmFja3NwYWNlUmVtb3Zlc1ZhbHVlIiwiTXVsdGlWYWx1ZUxhYmVsIiwiU2luZ2xlVmFsdWUiLCJjdXN0b21Qcm9wcyIsImRpc2FibGVLZXlEb3duIiwiZGlzYWJsZU1vdXNlRG93biIsImRpc2FibGVkIiwidW5kZWZpbmVkIiwiaXNNdWx0aSIsIm9uQ2hhbmdlIiwic2VsZWN0ZWQiLCJtYXAiLCJvbklucHV0Q2hhbmdlIiwibmV3U2VhcmNoIiwib25NZW51T3BlbiIsIm9uTWVudVNjcm9sbFRvQm90dG9tIiwiQWRkTmV3UmVsYXRpb24iLCJGaWVsZERlc2NyaXB0aW9uIiwid2l0aENvbmRpdGlvbiJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7K0JBdWlCQTs7O2VBQUE7OzsyREF2aUJlOytEQUM2RDs4QkFDN0M7NkJBT0Y7NEVBQ0c7c0NBQ0s7b0VBQ2I7c0JBQ0E7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
|
|
521
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JlbGF0aW9uc2hpcC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHFzIGZyb20gJ3FzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZHVjZXIsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50RHJhd2VyUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9Eb2N1bWVudERyYXdlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRmlsdGVyT3B0aW9uc1Jlc3VsdCwgR2V0UmVzdWx0cywgT3B0aW9uLCBQcm9wcywgVmFsdWUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnNoaXAgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9maWVsZHMvdmFsaWRhdGlvbnMnXG5pbXBvcnQgd29yZEJvdW5kYXJpZXNSZWdleCBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvd29yZEJvdW5kYXJpZXNSZWdleCdcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snXG5pbXBvcnQgUmVhY3RTZWxlY3QgZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvUmVhY3RTZWxlY3QnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgR2V0RmlsdGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9HZXRGaWx0ZXJPcHRpb25zJ1xuaW1wb3J0IHsgdXNlTG9jYWxlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL0xvY2FsZSdcbmltcG9ydCBEZWZhdWx0RXJyb3IgZnJvbSAnLi4vLi4vRXJyb3InXG5pbXBvcnQgRmllbGREZXNjcmlwdGlvbiBmcm9tICcuLi8uLi9GaWVsZERlc2NyaXB0aW9uJ1xuaW1wb3J0IHsgdXNlRm9ybVByb2Nlc3NpbmcgfSBmcm9tICcuLi8uLi9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgRGVmYXVsdExhYmVsIGZyb20gJy4uLy4uL0xhYmVsJ1xuaW1wb3J0IHVzZUZpZWxkIGZyb20gJy4uLy4uL3VzZUZpZWxkJ1xuaW1wb3J0IHdpdGhDb25kaXRpb24gZnJvbSAnLi4vLi4vd2l0aENvbmRpdGlvbidcbmltcG9ydCB7IGZpZWxkQmFzZUNsYXNzIH0gZnJvbSAnLi4vc2hhcmVkJ1xuaW1wb3J0IHsgQWRkTmV3UmVsYXRpb24gfSBmcm9tICcuL0FkZE5ldydcbmltcG9ydCB7IGNyZWF0ZVJlbGF0aW9uTWFwIH0gZnJvbSAnLi9jcmVhdGVSZWxhdGlvbk1hcCdcbmltcG9ydCB7IGZpbmRPcHRpb25zQnlWYWx1ZSB9IGZyb20gJy4vZmluZE9wdGlvbnNCeVZhbHVlJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5pbXBvcnQgb3B0aW9uc1JlZHVjZXIgZnJvbSAnLi9vcHRpb25zUmVkdWNlcidcbmltcG9ydCB7IE11bHRpVmFsdWVMYWJlbCB9IGZyb20gJy4vc2VsZWN0LWNvbXBvbmVudHMvTXVsdGlWYWx1ZUxhYmVsJ1xuaW1wb3J0IHsgU2luZ2xlVmFsdWUgfSBmcm9tICcuL3NlbGVjdC1jb21wb25lbnRzL1NpbmdsZVZhbHVlJ1xuXG5jb25zdCBtYXhSZXN1bHRzUGVyUmVxdWVzdCA9IDEwXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdyZWxhdGlvbnNoaXAnXG5cbmNvbnN0IFJlbGF0aW9uc2hpcDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYW1lLFxuICAgIGFkbWluOiB7XG4gICAgICBhbGxvd0NyZWF0ZSA9IHRydWUsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb21wb25lbnRzOiB7IEVycm9yLCBMYWJlbCB9ID0ge30sXG4gICAgICBjb25kaXRpb24sXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGlzU29ydGFibGUgPSB0cnVlLFxuICAgICAgcmVhZE9ubHksXG4gICAgICBzb3J0T3B0aW9ucyxcbiAgICAgIHN0eWxlLFxuICAgICAgd2lkdGgsXG4gICAgfSA9IHt9LFxuICAgIGZpbHRlck9wdGlvbnMsXG4gICAgaGFzTWFueSxcbiAgICBsYWJlbCxcbiAgICBwYXRoLFxuICAgIHJlbGF0aW9uVG8sXG4gICAgcmVxdWlyZWQsXG4gICAgdmFsaWRhdGUgPSByZWxhdGlvbnNoaXAsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IEVycm9yQ29tcCA9IEVycm9yIHx8IERlZmF1bHRFcnJvclxuICBjb25zdCBMYWJlbENvbXAgPSBMYWJlbCB8fCBEZWZhdWx0TGFiZWxcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IHtcbiAgICBjb2xsZWN0aW9ucyxcbiAgICByb3V0ZXM6IHsgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gY29uZmlnXG5cbiAgY29uc3QgaGFzTXVsdGlwbGVSZWxhdGlvbnMgPSBBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pXG4gIGNvbnN0IGluaXRpYWxMb2FkZWRQYWdlU3RhdGUgPSBoYXNNdWx0aXBsZVJlbGF0aW9uc1xuICAgID8gcmVsYXRpb25Uby5yZWR1Y2UoKGFjYywgcmVsYXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW3JlbGF0aW9uXTogMCxcbiAgICAgICAgfVxuICAgICAgfSwge30pXG4gICAgOiB7fVxuXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2ZpZWxkcycpXG4gIGNvbnN0IHsgcGVybWlzc2lvbnMgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7IGNvZGU6IGxvY2FsZSB9ID0gdXNlTG9jYWxlKClcbiAgY29uc3QgZm9ybVByb2Nlc3NpbmcgPSB1c2VGb3JtUHJvY2Vzc2luZygpXG4gIGNvbnN0IFtvcHRpb25zLCBkaXNwYXRjaE9wdGlvbnNdID0gdXNlUmVkdWNlcihvcHRpb25zUmVkdWNlciwgW10pXG4gIGNvbnN0IFtsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiwgc2V0TGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25dID0gdXNlU3RhdGUoLTEpXG4gIGNvbnN0IFtsYXN0TG9hZGVkUGFnZSwgc2V0TGFzdExvYWRlZFBhZ2VdID1cbiAgICB1c2VTdGF0ZTxSZWNvcmQ8c3RyaW5nLCBudW1iZXI+Pihpbml0aWFsTG9hZGVkUGFnZVN0YXRlKVxuICBjb25zdCBbZXJyb3JMb2FkaW5nLCBzZXRFcnJvckxvYWRpbmddID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtmaWx0ZXJPcHRpb25zUmVzdWx0LCBzZXRGaWx0ZXJPcHRpb25zUmVzdWx0XSA9IHVzZVN0YXRlPEZpbHRlck9wdGlvbnNSZXN1bHQ+KClcbiAgY29uc3QgW3NlYXJjaCwgc2V0U2VhcmNoXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtoYXNMb2FkZWRGaXJzdFBhZ2UsIHNldEhhc0xvYWRlZEZpcnN0UGFnZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2VuYWJsZVdvcmRCb3VuZGFyeVNlYXJjaCwgc2V0RW5hYmxlV29yZEJvdW5kYXJ5U2VhcmNoXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBmaXJzdFJ1biA9IHVzZVJlZih0cnVlKVxuICBjb25zdCBwYXRoT3JOYW1lID0gcGF0aCB8fCBuYW1lXG5cbiAgY29uc3QgbWVtb2l6ZWRWYWxpZGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICh2YWx1ZSwgdmFsaWRhdGlvbk9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiB2YWxpZGF0ZSh2YWx1ZSwgeyAuLi52YWxpZGF0aW9uT3B0aW9ucywgcmVxdWlyZWQgfSlcbiAgICB9LFxuICAgIFt2YWxpZGF0ZSwgcmVxdWlyZWRdLFxuICApXG5cbiAgY29uc3QgeyBlcnJvck1lc3NhZ2UsIGluaXRpYWxWYWx1ZSwgc2V0VmFsdWUsIHNob3dFcnJvciwgdmFsdWUgfSA9IHVzZUZpZWxkPFZhbHVlIHwgVmFsdWVbXT4oe1xuICAgIGNvbmRpdGlvbixcbiAgICBwYXRoOiBwYXRoT3JOYW1lLFxuICAgIHZhbGlkYXRlOiBtZW1vaXplZFZhbGlkYXRlLFxuICB9KVxuXG4gIGNvbnN0IFtkcmF3ZXJJc09wZW4sIHNldERyYXdlcklzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBnZXRSZXN1bHRzOiBHZXRSZXN1bHRzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHtcbiAgICAgIGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uOiBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyxcbiAgICAgIG9uU3VjY2VzcyxcbiAgICAgIHNlYXJjaDogc2VhcmNoQXJnLFxuICAgICAgc29ydCxcbiAgICAgIHZhbHVlOiB2YWx1ZUFyZyxcbiAgICB9KSA9PiB7XG4gICAgICBpZiAoIXBlcm1pc3Npb25zKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSA9XG4gICAgICAgIHR5cGVvZiBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyAhPT0gJ3VuZGVmaW5lZCcgPyBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyA6IC0xXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgPyByZWxhdGlvblRvIDogW3JlbGF0aW9uVG9dXG4gICAgICBjb25zdCByZWxhdGlvbnNUb0ZldGNoID1cbiAgICAgICAgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSA9PT0gLTFcbiAgICAgICAgICA/IHJlbGF0aW9uc1xuICAgICAgICAgIDogcmVsYXRpb25zLnNsaWNlKGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uVG9Vc2UgKyAxKVxuXG4gICAgICBsZXQgcmVzdWx0c0ZldGNoZWQgPSAwXG4gICAgICBjb25zdCByZWxhdGlvbk1hcCA9IGNyZWF0ZVJlbGF0aW9uTWFwKHtcbiAgICAgICAgaGFzTWFueSxcbiAgICAgICAgcmVsYXRpb25UbyxcbiAgICAgICAgdmFsdWU6IHZhbHVlQXJnLFxuICAgICAgfSlcblxuICAgICAgaWYgKCFlcnJvckxvYWRpbmcpIHtcbiAgICAgICAgYXdhaXQgcmVsYXRpb25zVG9GZXRjaC5yZWR1Y2UoYXN5bmMgKHByaW9yUmVsYXRpb24sIHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25GaWx0ZXJPcHRpb24gPSBmaWx0ZXJPcHRpb25zUmVzdWx0Py5bcmVsYXRpb25dXG4gICAgICAgICAgbGV0IGxhc3RMb2FkZWRQYWdlVG9Vc2VcbiAgICAgICAgICBpZiAoc2VhcmNoICE9PSBzZWFyY2hBcmcpIHtcbiAgICAgICAgICAgIGxhc3RMb2FkZWRQYWdlVG9Vc2UgPSAxXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxhc3RMb2FkZWRQYWdlVG9Vc2UgPSBsYXN0TG9hZGVkUGFnZVtyZWxhdGlvbl0gKyAxXG4gICAgICAgICAgfVxuICAgICAgICAgIGF3YWl0IHByaW9yUmVsYXRpb25cblxuICAgICAgICAgIGlmIChyZWxhdGlvbkZpbHRlck9wdGlvbiA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uKHJlbGF0aW9ucy5pbmRleE9mKHJlbGF0aW9uKSlcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChyZXN1bHRzRmV0Y2hlZCA8IDEwKSB7XG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZmluZCgoY29sbCkgPT4gY29sbC5zbHVnID09PSByZWxhdGlvbilcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkVG9TZWFyY2ggPSBjb2xsZWN0aW9uPy5hZG1pbj8udXNlQXNUaXRsZSB8fCAnaWQnXG4gICAgICAgICAgICBsZXQgZmllbGRUb1NvcnQgPSBjb2xsZWN0aW9uPy5kZWZhdWx0U29ydCB8fCAnaWQnXG4gICAgICAgICAgICBpZiAodHlwZW9mIHNvcnRPcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBmaWVsZFRvU29ydCA9IHNvcnRPcHRpb25zXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNvcnRPcHRpb25zPy5bcmVsYXRpb25dKSB7XG4gICAgICAgICAgICAgIGZpZWxkVG9Tb3J0ID0gc29ydE9wdGlvbnNbcmVsYXRpb25dXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5OiB7XG4gICAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd25cbiAgICAgICAgICAgICAgd2hlcmU6IFdoZXJlXG4gICAgICAgICAgICB9ID0ge1xuICAgICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgICAgZHJhZnQ6IHRydWUsXG4gICAgICAgICAgICAgIGxpbWl0OiBtYXhSZXN1bHRzUGVyUmVxdWVzdCxcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICBwYWdlOiBsYXN0TG9hZGVkUGFnZVRvVXNlLFxuICAgICAgICAgICAgICBzb3J0OiBmaWVsZFRvU29ydCxcbiAgICAgICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICAgICBhbmQ6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICBub3RfaW46IHJlbGF0aW9uTWFwW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNlYXJjaEFyZykge1xuICAgICAgICAgICAgICBxdWVyeS53aGVyZS5hbmQucHVzaCh7XG4gICAgICAgICAgICAgICAgW2ZpZWxkVG9TZWFyY2hdOiB7XG4gICAgICAgICAgICAgICAgICBsaWtlOiBzZWFyY2hBcmcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlbGF0aW9uRmlsdGVyT3B0aW9uICYmIHR5cGVvZiByZWxhdGlvbkZpbHRlck9wdGlvbiAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5LndoZXJlLmFuZC5wdXNoKHJlbGF0aW9uRmlsdGVyT3B0aW9uKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgICAgICAgICAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7cmVsYXRpb259PyR7cXMuc3RyaW5naWZ5KHF1ZXJ5LCB7XG4gICAgICAgICAgICAgICAgc3RyaWN0TnVsbEhhbmRsaW5nOiB0cnVlLFxuICAgICAgICAgICAgICB9KX1gLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgICAgY29uc3QgZGF0YTogUGFnaW5hdGVkRG9jczx1bmtub3duPiA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgICAgICBzZXRMYXN0TG9hZGVkUGFnZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbl06IGxhc3RMb2FkZWRQYWdlVG9Vc2UsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIGlmICghZGF0YS5uZXh0UGFnZSkge1xuICAgICAgICAgICAgICAgIHNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uKHJlbGF0aW9ucy5pbmRleE9mKHJlbGF0aW9uKSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChkYXRhLmRvY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdHNGZXRjaGVkICs9IGRhdGEuZG9jcy5sZW5ndGhcblxuICAgICAgICAgICAgICAgIGRpc3BhdGNoT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnQUREJyxcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkb2NzOiBkYXRhLmRvY3MsXG4gICAgICAgICAgICAgICAgICBpMThuLFxuICAgICAgICAgICAgICAgICAgc29ydCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgIHNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uKHJlbGF0aW9ucy5pbmRleE9mKHJlbGF0aW9uKSlcbiAgICAgICAgICAgICAgZGlzcGF0Y2hPcHRpb25zKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnQUREJyxcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICBkb2NzOiBbXSxcbiAgICAgICAgICAgICAgICBpMThuLFxuICAgICAgICAgICAgICAgIGlkczogcmVsYXRpb25NYXBbcmVsYXRpb25dLFxuICAgICAgICAgICAgICAgIHNvcnQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZXRFcnJvckxvYWRpbmcodCgnZXJyb3I6dW5zcGVjaWZpYycpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAgICAgaWYgKHR5cGVvZiBvblN1Y2Nlc3MgPT09ICdmdW5jdGlvbicpIG9uU3VjY2VzcygpXG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBwZXJtaXNzaW9ucyxcbiAgICAgIHJlbGF0aW9uVG8sXG4gICAgICBoYXNNYW55LFxuICAgICAgZXJyb3JMb2FkaW5nLFxuICAgICAgc2VhcmNoLFxuICAgICAgbGFzdExvYWRlZFBhZ2UsXG4gICAgICBjb2xsZWN0aW9ucyxcbiAgICAgIGxvY2FsZSxcbiAgICAgIGZpbHRlck9wdGlvbnNSZXN1bHQsXG4gICAgICBzZXJ2ZXJVUkwsXG4gICAgICBzb3J0T3B0aW9ucyxcbiAgICAgIGFwaSxcbiAgICAgIGkxOG4sXG4gICAgICBjb25maWcsXG4gICAgICB0LFxuICAgIF0sXG4gIClcblxuICBjb25zdCB1cGRhdGVTZWFyY2ggPSB1c2VEZWJvdW5jZWRDYWxsYmFjaygoc2VhcmNoQXJnOiBzdHJpbmcsIHZhbHVlQXJnOiBWYWx1ZSB8IFZhbHVlW10pID0+IHtcbiAgICB2b2lkIGdldFJlc3VsdHMoeyBzZWFyY2g6IHNlYXJjaEFyZywgc29ydDogdHJ1ZSwgdmFsdWU6IHZhbHVlQXJnIH0pXG4gICAgc2V0U2VhcmNoKHNlYXJjaEFyZylcbiAgfSwgMzAwKVxuXG4gIGNvbnN0IGhhbmRsZUlucHV0Q2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKHNlYXJjaEFyZzogc3RyaW5nLCB2YWx1ZUFyZzogVmFsdWUgfCBWYWx1ZVtdKSA9PiB7XG4gICAgICBpZiAoc2VhcmNoICE9PSBzZWFyY2hBcmcpIHtcbiAgICAgICAgc2V0TGFzdExvYWRlZFBhZ2UoaW5pdGlhbExvYWRlZFBhZ2VTdGF0ZSlcbiAgICAgICAgdXBkYXRlU2VhcmNoKHNlYXJjaEFyZywgdmFsdWVBcmcsIHNlYXJjaEFyZyAhPT0gJycpXG4gICAgICB9XG4gICAgfSxcbiAgICBbaW5pdGlhbExvYWRlZFBhZ2VTdGF0ZSwgc2VhcmNoLCB1cGRhdGVTZWFyY2hdLFxuICApXG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gRW5zdXJlIHdlIGhhdmUgYW4gb3B0aW9uIGZvciBlYWNoIHZhbHVlXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZWxhdGlvbk1hcCA9IGNyZWF0ZVJlbGF0aW9uTWFwKHtcbiAgICAgIGhhc01hbnksXG4gICAgICByZWxhdGlvblRvLFxuICAgICAgdmFsdWUsXG4gICAgfSlcblxuICAgIHZvaWQgT2JqZWN0LmVudHJpZXMocmVsYXRpb25NYXApLnJlZHVjZShhc3luYyAocHJpb3JSZWxhdGlvbiwgW3JlbGF0aW9uLCBpZHNdKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvclJlbGF0aW9uXG5cbiAgICAgIGNvbnN0IGlkc1RvTG9hZCA9IGlkcy5maWx0ZXIoKGlkKSA9PiB7XG4gICAgICAgIHJldHVybiAhb3B0aW9ucy5maW5kKChvcHRpb25Hcm91cCkgPT5cbiAgICAgICAgICBvcHRpb25Hcm91cD8ub3B0aW9ucz8uZmluZChcbiAgICAgICAgICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gaWQgJiYgb3B0aW9uLnJlbGF0aW9uVG8gPT09IHJlbGF0aW9uLFxuICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgIH0pXG5cbiAgICAgIGlmIChpZHNUb0xvYWQubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBxdWVyeSA9IHtcbiAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICBkcmFmdDogdHJ1ZSxcbiAgICAgICAgICBsaW1pdDogaWRzVG9Mb2FkLmxlbmd0aCxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgIGluOiBpZHNUb0xvYWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWVycm9yTG9hZGluZykge1xuICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICAgICAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7cmVsYXRpb259PyR7cXMuc3RyaW5naWZ5KHF1ZXJ5LCB7XG4gICAgICAgICAgICAgIHN0cmljdE51bGxIYW5kbGluZzogdHJ1ZSxcbiAgICAgICAgICAgIH0pfWAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmZpbmQoKGNvbGwpID0+IGNvbGwuc2x1ZyA9PT0gcmVsYXRpb24pXG4gICAgICAgICAgbGV0IGRvY3MgPSBbXVxuXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICBkb2NzID0gZGF0YS5kb2NzXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlzcGF0Y2hPcHRpb25zKHtcbiAgICAgICAgICAgIHR5cGU6ICdBREQnLFxuICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIGRvY3MsXG4gICAgICAgICAgICBpMThuLFxuICAgICAgICAgICAgaWRzOiBpZHNUb0xvYWQsXG4gICAgICAgICAgICBzb3J0OiB0cnVlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcbiAgfSwgW1xuICAgIG9wdGlvbnMsXG4gICAgdmFsdWUsXG4gICAgaGFzTWFueSxcbiAgICBlcnJvckxvYWRpbmcsXG4gICAgY29sbGVjdGlvbnMsXG4gICAgaGFzTXVsdGlwbGVSZWxhdGlvbnMsXG4gICAgc2VydmVyVVJMLFxuICAgIGFwaSxcbiAgICBpMThuLFxuICAgIHJlbGF0aW9uVG8sXG4gICAgbG9jYWxlLFxuICAgIGNvbmZpZyxcbiAgXSlcblxuICAvLyBEZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIHN3aXRjaCB0byB3b3JkIGJvdW5kYXJ5IHNlYXJjaFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlbGF0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgPyByZWxhdGlvblRvIDogW3JlbGF0aW9uVG9dXG4gICAgY29uc3QgaXNJZE9ubHkgPSByZWxhdGlvbnMucmVkdWNlKChpZE9ubHksIHJlbGF0aW9uKSA9PiB7XG4gICAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZmluZCgoY29sbCkgPT4gY29sbC5zbHVnID09PSByZWxhdGlvbilcbiAgICAgIGNvbnN0IGZpZWxkVG9TZWFyY2ggPSBjb2xsZWN0aW9uPy5hZG1pbj8udXNlQXNUaXRsZSB8fCAnaWQnXG4gICAgICByZXR1cm4gZmllbGRUb1NlYXJjaCA9PT0gJ2lkJyAmJiBpZE9ubHlcbiAgICB9LCB0cnVlKVxuICAgIHNldEVuYWJsZVdvcmRCb3VuZGFyeVNlYXJjaCghaXNJZE9ubHkpXG4gIH0sIFtyZWxhdGlvblRvLCBjb2xsZWN0aW9uc10pXG5cbiAgLy8gV2hlbiAoYHJlbGF0aW9uVG9gIHx8IGBmaWx0ZXJPcHRpb25zUmVzdWx0YCB8fCBgbG9jYWxlYCkgY2hhbmdlcywgcmVzZXQgY29tcG9uZW50XG4gIC8vIE5vdGUgLSBlZmZlY3Qgc2hvdWxkIG5vdCBydW4gb24gZmlyc3QgcnVuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZpcnN0UnVuLmN1cnJlbnQpIHtcbiAgICAgIGZpcnN0UnVuLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgZGlzcGF0Y2hPcHRpb25zKHsgdHlwZTogJ0NMRUFSJyB9KVxuICAgIHNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uKC0xKVxuICAgIHNldExhc3RMb2FkZWRQYWdlKGluaXRpYWxMb2FkZWRQYWdlU3RhdGUpXG4gICAgc2V0SGFzTG9hZGVkRmlyc3RQYWdlKGZhbHNlKVxuICB9LCBbcmVsYXRpb25UbywgZmlsdGVyT3B0aW9uc1Jlc3VsdCwgbG9jYWxlXSlcblxuICBjb25zdCBvblNhdmUgPSB1c2VDYWxsYmFjazxEb2N1bWVudERyYXdlclByb3BzWydvblNhdmUnXT4oXG4gICAgKGFyZ3MpID0+IHtcbiAgICAgIGRpc3BhdGNoT3B0aW9ucyh7XG4gICAgICAgIHR5cGU6ICdVUERBVEUnLFxuICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZG9jOiBhcmdzLmRvYyxcbiAgICAgICAgaTE4bixcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbaTE4biwgY29uZmlnXSxcbiAgKVxuXG4gIGNvbnN0IGZpbHRlck9wdGlvbiA9IHVzZUNhbGxiYWNrKChpdGVtOiBPcHRpb24sIHNlYXJjaEZpbHRlcjogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCFzZWFyY2hGaWx0ZXIpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGNvbnN0IHIgPSB3b3JkQm91bmRhcmllc1JlZ2V4KHNlYXJjaEZpbHRlciB8fCAnJylcbiAgICAvLyBicmVha2luZyB0aGUgbGFiZWxzIHRvIHNlYXJjaCBpbnRvIHNtYWxsZXIgcGFydHMgaW5jcmVhc2VzIHBlcmZvcm1hbmNlXG4gICAgY29uc3QgYnJlYWtBcGFydFRocmVzaG9sZCA9IDI1MFxuICAgIGxldCBzdHJpbmcgPSBpdGVtLmxhYmVsXG4gICAgLy8gc3RyaW5ncyBsZXNzIHRoYW4gYnJlYWtBcGFydFRocmVzaG9sZCBsZW5ndGggd29uJ3QgYmUgY2h1bmtlZFxuICAgIHdoaWxlIChzdHJpbmcubGVuZ3RoID4gYnJlYWtBcGFydFRocmVzaG9sZCkge1xuICAgICAgLy8gc2xpY2luZyBieSB0aGUgbmV4dCBzcGFjZSBhZnRlciB0aGUgbGVuZ3RoIG9mIHRoZSBzZWFyY2ggaW5wdXQgcHJldmVudHMgc2xpY2luZyB0aGUgc3RyaW5nIHVwIGJ5IHBhcnRpYWwgd29yZHNcbiAgICAgIGNvbnN0IGluZGV4T2ZTcGFjZSA9IHN0cmluZy5pbmRleE9mKCcgJywgc2VhcmNoRmlsdGVyLmxlbmd0aClcbiAgICAgIGlmIChyLnRlc3Qoc3RyaW5nLnNsaWNlKDAsIGluZGV4T2ZTcGFjZSA9PT0gLTEgPyBzZWFyY2hGaWx0ZXIubGVuZ3RoIDogaW5kZXhPZlNwYWNlICsgMSkpKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgICBzdHJpbmcgPSBzdHJpbmcuc2xpY2UoaW5kZXhPZlNwYWNlID09PSAtMSA/IHNlYXJjaEZpbHRlci5sZW5ndGggOiBpbmRleE9mU3BhY2UgKyAxKVxuICAgIH1cbiAgICByZXR1cm4gci50ZXN0KHN0cmluZy5zbGljZSgtYnJlYWtBcGFydFRocmVzaG9sZCkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHZhbHVlVG9SZW5kZXIgPSBmaW5kT3B0aW9uc0J5VmFsdWUoeyBvcHRpb25zLCB2YWx1ZSB9KVxuXG4gIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZVRvUmVuZGVyKSAmJiB2YWx1ZVRvUmVuZGVyPy52YWx1ZSA9PT0gJ251bGwnKSB2YWx1ZVRvUmVuZGVyLnZhbHVlID0gbnVsbFxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtbXG4gICAgICAgIGZpZWxkQmFzZUNsYXNzLFxuICAgICAgICBiYXNlQ2xhc3MsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgc2hvd0Vycm9yICYmICdlcnJvcicsXG4gICAgICAgIGVycm9yTG9hZGluZyAmJiAnZXJyb3ItbG9hZGluZycsXG4gICAgICAgIHJlYWRPbmx5ICYmIGAke2Jhc2VDbGFzc30tLXJlYWQtb25seWAsXG4gICAgICBdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKX1cbiAgICAgIGlkPXtgZmllbGQtJHtwYXRoT3JOYW1lLnJlcGxhY2UoL1xcLi9nLCAnX18nKX1gfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgIHdpZHRoLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8RXJyb3JDb21wIG1lc3NhZ2U9e2Vycm9yTWVzc2FnZX0gc2hvd0Vycm9yPXtzaG93RXJyb3J9IC8+XG4gICAgICA8TGFiZWxDb21wIGh0bWxGb3I9e3BhdGhPck5hbWV9IGxhYmVsPXtsYWJlbH0gcmVxdWlyZWQ9e3JlcXVpcmVkfSAvPlxuICAgICAgPEdldEZpbHRlck9wdGlvbnNcbiAgICAgICAgey4uLntcbiAgICAgICAgICBmaWx0ZXJPcHRpb25zLFxuICAgICAgICAgIGZpbHRlck9wdGlvbnNSZXN1bHQsXG4gICAgICAgICAgcGF0aDogcGF0aE9yTmFtZSxcbiAgICAgICAgICByZWxhdGlvblRvLFxuICAgICAgICAgIHNldEZpbHRlck9wdGlvbnNSZXN1bHQsXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICAgeyFlcnJvckxvYWRpbmcgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcGB9PlxuICAgICAgICAgIDxSZWFjdFNlbGVjdFxuICAgICAgICAgICAgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlPXshZHJhd2VySXNPcGVufVxuICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICBNdWx0aVZhbHVlTGFiZWwsXG4gICAgICAgICAgICAgIFNpbmdsZVZhbHVlLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGN1c3RvbVByb3BzPXt7XG4gICAgICAgICAgICAgIGRpc2FibGVLZXlEb3duOiBkcmF3ZXJJc09wZW4sXG4gICAgICAgICAgICAgIGRpc2FibGVNb3VzZURvd246IGRyYXdlcklzT3BlbixcbiAgICAgICAgICAgICAgb25TYXZlLFxuICAgICAgICAgICAgICBzZXREcmF3ZXJJc09wZW4sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3JlYWRPbmx5IHx8IGZvcm1Qcm9jZXNzaW5nfVxuICAgICAgICAgICAgZmlsdGVyT3B0aW9uPXtlbmFibGVXb3JkQm91bmRhcnlTZWFyY2ggPyBmaWx0ZXJPcHRpb24gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBpc0xvYWRpbmc9e2lzTG9hZGluZ31cbiAgICAgICAgICAgIGlzTXVsdGk9e2hhc01hbnl9XG4gICAgICAgICAgICBpc1NvcnRhYmxlPXtpc1NvcnRhYmxlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e1xuICAgICAgICAgICAgICAhcmVhZE9ubHlcbiAgICAgICAgICAgICAgICA/IChzZWxlY3RlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZShoYXNNYW55ID8gW10gOiBudWxsKVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhhc01hbnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gc2VsZWN0ZWQubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNNdWx0aXBsZVJlbGF0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IG9wdGlvbi5yZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaGFzTXVsdGlwbGVSZWxhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBzZWxlY3RlZC5yZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdGVkLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWUoc2VsZWN0ZWQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb25JbnB1dENoYW5nZT17KG5ld1NlYXJjaCkgPT4gaGFuZGxlSW5wdXRDaGFuZ2UobmV3U2VhcmNoLCB2YWx1ZSl9XG4gICAgICAgICAgICBvbk1lbnVPcGVuPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghaGFzTG9hZGVkRmlyc3RQYWdlKSB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpXG4gICAgICAgICAgICAgICAgdm9pZCBnZXRSZXN1bHRzKHtcbiAgICAgICAgICAgICAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRIYXNMb2FkZWRGaXJzdFBhZ2UodHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBpbml0aWFsVmFsdWUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTWVudVNjcm9sbFRvQm90dG9tPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHZvaWQgZ2V0UmVzdWx0cyh7XG4gICAgICAgICAgICAgICAgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb24sXG4gICAgICAgICAgICAgICAgc2VhcmNoLFxuICAgICAgICAgICAgICAgIHNvcnQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBpbml0aWFsVmFsdWUsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICAgIHNob3dFcnJvcj17c2hvd0Vycm9yfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlVG9SZW5kZXIgPz8gbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHshcmVhZE9ubHkgJiYgYWxsb3dDcmVhdGUgJiYgKFxuICAgICAgICAgICAgPEFkZE5ld1JlbGF0aW9uXG4gICAgICAgICAgICAgIHsuLi57XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2hPcHRpb25zLFxuICAgICAgICAgICAgICAgIGhhc01hbnksXG4gICAgICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgICAgICBwYXRoOiBwYXRoT3JOYW1lLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgc2V0VmFsdWUsXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHtlcnJvckxvYWRpbmcgJiYgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Vycm9yLWxvYWRpbmdgfT57ZXJyb3JMb2FkaW5nfTwvZGl2Pn1cbiAgICAgIDxGaWVsZERlc2NyaXB0aW9uIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gcGF0aD17cGF0aH0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhDb25kaXRpb24oUmVsYXRpb25zaGlwKVxuIl0sIm5hbWVzIjpbIm1heFJlc3VsdHNQZXJSZXF1ZXN0IiwiYmFzZUNsYXNzIiwiUmVsYXRpb25zaGlwIiwicHJvcHMiLCJuYW1lIiwiYWRtaW4iLCJhbGxvd0NyZWF0ZSIsImNsYXNzTmFtZSIsImNvbXBvbmVudHMiLCJFcnJvciIsIkxhYmVsIiwiY29uZGl0aW9uIiwiZGVzY3JpcHRpb24iLCJpc1NvcnRhYmxlIiwicmVhZE9ubHkiLCJzb3J0T3B0aW9ucyIsInN0eWxlIiwid2lkdGgiLCJmaWx0ZXJPcHRpb25zIiwiaGFzTWFueSIsImxhYmVsIiwicGF0aCIsInJlbGF0aW9uVG8iLCJyZXF1aXJlZCIsInZhbGlkYXRlIiwicmVsYXRpb25zaGlwIiwiRXJyb3JDb21wIiwiRGVmYXVsdEVycm9yIiwiTGFiZWxDb21wIiwiRGVmYXVsdExhYmVsIiwiY29uZmlnIiwidXNlQ29uZmlnIiwiY29sbGVjdGlvbnMiLCJyb3V0ZXMiLCJhcGkiLCJzZXJ2ZXJVUkwiLCJoYXNNdWx0aXBsZVJlbGF0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsImluaXRpYWxMb2FkZWRQYWdlU3RhdGUiLCJyZWR1Y2UiLCJhY2MiLCJyZWxhdGlvbiIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJwZXJtaXNzaW9ucyIsInVzZUF1dGgiLCJjb2RlIiwibG9jYWxlIiwidXNlTG9jYWxlIiwiZm9ybVByb2Nlc3NpbmciLCJ1c2VGb3JtUHJvY2Vzc2luZyIsIm9wdGlvbnMiLCJkaXNwYXRjaE9wdGlvbnMiLCJ1c2VSZWR1Y2VyIiwib3B0aW9uc1JlZHVjZXIiLCJsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiIsInNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uIiwidXNlU3RhdGUiLCJsYXN0TG9hZGVkUGFnZSIsInNldExhc3RMb2FkZWRQYWdlIiwiZXJyb3JMb2FkaW5nIiwic2V0RXJyb3JMb2FkaW5nIiwiZmlsdGVyT3B0aW9uc1Jlc3VsdCIsInNldEZpbHRlck9wdGlvbnNSZXN1bHQiLCJzZWFyY2giLCJzZXRTZWFyY2giLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJoYXNMb2FkZWRGaXJzdFBhZ2UiLCJzZXRIYXNMb2FkZWRGaXJzdFBhZ2UiLCJlbmFibGVXb3JkQm91bmRhcnlTZWFyY2giLCJzZXRFbmFibGVXb3JkQm91bmRhcnlTZWFyY2giLCJmaXJzdFJ1biIsInVzZVJlZiIsInBhdGhPck5hbWUiLCJtZW1vaXplZFZhbGlkYXRlIiwidXNlQ2FsbGJhY2siLCJ2YWx1ZSIsInZhbGlkYXRpb25PcHRpb25zIiwiZXJyb3JNZXNzYWdlIiwiaW5pdGlhbFZhbHVlIiwic2V0VmFsdWUiLCJzaG93RXJyb3IiLCJ1c2VGaWVsZCIsImRyYXdlcklzT3BlbiIsInNldERyYXdlcklzT3BlbiIsImdldFJlc3VsdHMiLCJsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyIsIm9uU3VjY2VzcyIsInNlYXJjaEFyZyIsInNvcnQiLCJ2YWx1ZUFyZyIsImxhc3RGdWxseUxvYWRlZFJlbGF0aW9uVG9Vc2UiLCJyZWxhdGlvbnMiLCJyZWxhdGlvbnNUb0ZldGNoIiwic2xpY2UiLCJyZXN1bHRzRmV0Y2hlZCIsInJlbGF0aW9uTWFwIiwiY3JlYXRlUmVsYXRpb25NYXAiLCJwcmlvclJlbGF0aW9uIiwicmVsYXRpb25GaWx0ZXJPcHRpb24iLCJsYXN0TG9hZGVkUGFnZVRvVXNlIiwiaW5kZXhPZiIsIlByb21pc2UiLCJyZXNvbHZlIiwiY29sbGVjdGlvbiIsImZpbmQiLCJjb2xsIiwic2x1ZyIsImZpZWxkVG9TZWFyY2giLCJ1c2VBc1RpdGxlIiwiZmllbGRUb1NvcnQiLCJkZWZhdWx0U29ydCIsInF1ZXJ5IiwiZGVwdGgiLCJkcmFmdCIsImxpbWl0IiwicGFnZSIsIndoZXJlIiwiYW5kIiwiaWQiLCJub3RfaW4iLCJwdXNoIiwibGlrZSIsInJlc3BvbnNlIiwiZmV0Y2giLCJxcyIsInN0cmluZ2lmeSIsInN0cmljdE51bGxIYW5kbGluZyIsImNyZWRlbnRpYWxzIiwiaGVhZGVycyIsImxhbmd1YWdlIiwib2siLCJkYXRhIiwianNvbiIsInByZXZTdGF0ZSIsIm5leHRQYWdlIiwiZG9jcyIsImxlbmd0aCIsInR5cGUiLCJzdGF0dXMiLCJpZHMiLCJ1cGRhdGVTZWFyY2giLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsImhhbmRsZUlucHV0Q2hhbmdlIiwidXNlRWZmZWN0IiwiT2JqZWN0IiwiZW50cmllcyIsImlkc1RvTG9hZCIsImZpbHRlciIsIm9wdGlvbkdyb3VwIiwib3B0aW9uIiwiaW4iLCJpc0lkT25seSIsImlkT25seSIsImN1cnJlbnQiLCJvblNhdmUiLCJhcmdzIiwiY29sbGVjdGlvbkNvbmZpZyIsImRvYyIsImZpbHRlck9wdGlvbiIsIml0ZW0iLCJzZWFyY2hGaWx0ZXIiLCJyIiwid29yZEJvdW5kYXJpZXNSZWdleCIsImJyZWFrQXBhcnRUaHJlc2hvbGQiLCJzdHJpbmciLCJpbmRleE9mU3BhY2UiLCJ0ZXN0IiwidmFsdWVUb1JlbmRlciIsImZpbmRPcHRpb25zQnlWYWx1ZSIsImRpdiIsImZpZWxkQmFzZUNsYXNzIiwiQm9vbGVhbiIsImpvaW4iLCJyZXBsYWNlIiwibWVzc2FnZSIsImh0bWxGb3IiLCJHZXRGaWx0ZXJPcHRpb25zIiwiUmVhY3RTZWxlY3QiLCJiYWNrc3BhY2VSZW1vdmVzVmFsdWUiLCJNdWx0aVZhbHVlTGFiZWwiLCJTaW5nbGVWYWx1ZSIsImN1c3RvbVByb3BzIiwiZGlzYWJsZUtleURvd24iLCJkaXNhYmxlTW91c2VEb3duIiwiZGlzYWJsZWQiLCJ1bmRlZmluZWQiLCJpc011bHRpIiwib25DaGFuZ2UiLCJzZWxlY3RlZCIsIm1hcCIsIm9uSW5wdXRDaGFuZ2UiLCJuZXdTZWFyY2giLCJvbk1lbnVPcGVuIiwib25NZW51U2Nyb2xsVG9Cb3R0b20iLCJBZGROZXdSZWxhdGlvbiIsIkZpZWxkRGVzY3JpcHRpb24iLCJ3aXRoQ29uZGl0aW9uIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsE,MAAM,OAAO,CAAA;AAK1F,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAU1C,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsE,MAAM,OAAO,CAAA;AAK1F,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAU1C,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAqUhE,CAAA;AAED,eAAO,MAAM,OAAO,gCAAyE,CAAA"}
|
|
@@ -115,10 +115,13 @@ const AuthProvider = ({ children })=>{
|
|
|
115
115
|
api,
|
|
116
116
|
i18n
|
|
117
117
|
]);
|
|
118
|
-
const setActiveUser = _react.default.useCallback((
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
const setActiveUser = _react.default.useCallback(async (userToSet)=>{
|
|
119
|
+
if (userIDRef.current && !userToSet?.id || userToSet?.id) {
|
|
120
|
+
// refresh on logout and login
|
|
121
|
+
await refreshPermissions();
|
|
122
|
+
}
|
|
123
|
+
userIDRef.current = userToSet?.id || null;
|
|
124
|
+
setUser(userToSet);
|
|
122
125
|
}, [
|
|
123
126
|
refreshPermissions
|
|
124
127
|
]);
|
|
@@ -168,10 +171,10 @@ const AuthProvider = ({ children })=>{
|
|
|
168
171
|
});
|
|
169
172
|
if (request.status === 200) {
|
|
170
173
|
const json = await request.json();
|
|
171
|
-
setActiveUser(json.user);
|
|
174
|
+
await setActiveUser(json.user);
|
|
172
175
|
setTokenAndExpiration(json);
|
|
173
176
|
} else {
|
|
174
|
-
setActiveUser(null);
|
|
177
|
+
await setActiveUser(null);
|
|
175
178
|
redirectToInactivityRoute();
|
|
176
179
|
}
|
|
177
180
|
} catch (e) {
|
|
@@ -199,12 +202,12 @@ const AuthProvider = ({ children })=>{
|
|
|
199
202
|
if (request.status === 200) {
|
|
200
203
|
const json = await request.json();
|
|
201
204
|
if (!skipSetUser) {
|
|
202
|
-
setActiveUser(json.user);
|
|
205
|
+
await setActiveUser(json.user);
|
|
203
206
|
setTokenAndExpiration(json);
|
|
204
207
|
}
|
|
205
208
|
return json.user;
|
|
206
209
|
}
|
|
207
|
-
setActiveUser(null);
|
|
210
|
+
await setActiveUser(null);
|
|
208
211
|
redirectToInactivityRoute();
|
|
209
212
|
return null;
|
|
210
213
|
} catch (e) {
|
|
@@ -220,8 +223,8 @@ const AuthProvider = ({ children })=>{
|
|
|
220
223
|
setTokenAndExpiration,
|
|
221
224
|
setActiveUser
|
|
222
225
|
]);
|
|
223
|
-
const logOut = (0, _react.useCallback)(()=>{
|
|
224
|
-
setActiveUser(null);
|
|
226
|
+
const logOut = (0, _react.useCallback)(async ()=>{
|
|
227
|
+
await setActiveUser(null);
|
|
225
228
|
revokeTokenAndExpire();
|
|
226
229
|
void _api.requests.post(`${serverURL}${api}/${userSlug}/logout`);
|
|
227
230
|
}, [
|
|
@@ -241,7 +244,7 @@ const AuthProvider = ({ children })=>{
|
|
|
241
244
|
if (request.status === 200) {
|
|
242
245
|
const json = await request.json();
|
|
243
246
|
if (json?.user) {
|
|
244
|
-
setActiveUser(json.user);
|
|
247
|
+
await setActiveUser(json.user);
|
|
245
248
|
if (json?.token) {
|
|
246
249
|
setTokenAndExpiration(json);
|
|
247
250
|
}
|
|
@@ -260,16 +263,16 @@ const AuthProvider = ({ children })=>{
|
|
|
260
263
|
});
|
|
261
264
|
if (autoLoginResult.status === 200) {
|
|
262
265
|
const autoLoginJson = await autoLoginResult.json();
|
|
263
|
-
setActiveUser(autoLoginJson.user);
|
|
266
|
+
await setActiveUser(autoLoginJson.user);
|
|
264
267
|
if (autoLoginJson?.token) {
|
|
265
268
|
setTokenAndExpiration(autoLoginJson);
|
|
266
269
|
}
|
|
267
270
|
} else {
|
|
268
|
-
setActiveUser(null);
|
|
271
|
+
await setActiveUser(null);
|
|
269
272
|
revokeTokenAndExpire();
|
|
270
273
|
}
|
|
271
274
|
} else {
|
|
272
|
-
setActiveUser(null);
|
|
275
|
+
await setActiveUser(null);
|
|
273
276
|
revokeTokenAndExpire();
|
|
274
277
|
}
|
|
275
278
|
}
|
|
@@ -331,8 +334,8 @@ const AuthProvider = ({ children })=>{
|
|
|
331
334
|
const now = Math.round(new Date().getTime() / 1000);
|
|
332
335
|
const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0;
|
|
333
336
|
if (remainingTime > 0) {
|
|
334
|
-
forceLogOut = setTimeout(()=>{
|
|
335
|
-
setActiveUser(null);
|
|
337
|
+
forceLogOut = setTimeout(async ()=>{
|
|
338
|
+
await setActiveUser(null);
|
|
336
339
|
revokeTokenAndExpire();
|
|
337
340
|
redirectToInactivityRoute();
|
|
338
341
|
}, Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0));
|
|
@@ -366,4 +369,4 @@ const AuthProvider = ({ children })=>{
|
|
|
366
369
|
};
|
|
367
370
|
const useAuth = ()=>(0, _react.useContext)(Context);
|
|
368
371
|
|
|
369
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9BdXRoL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBxcyBmcm9tICdxcydcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHR5cGUgeyBQZXJtaXNzaW9ucywgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEF1dGhDb250ZXh0IH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgcmVxdWVzdHMgfSBmcm9tICcuLi8uLi8uLi9hcGknXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi9Db25maWcnXG5cbmNvbnN0IENvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9IGFzIEF1dGhDb250ZXh0KVxuXG5jb25zdCBtYXhUaW1lb3V0VGltZSA9IDIxNDc0ODM2NDdcblxuZXhwb3J0IGNvbnN0IEF1dGhQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4oKVxuICBjb25zdCBbdG9rZW5Jbk1lbW9yeSwgc2V0VG9rZW5Jbk1lbW9yeV0gPSB1c2VTdGF0ZTxzdHJpbmc+KClcbiAgY29uc3QgW3Rva2VuRXhwaXJhdGlvbiwgc2V0VG9rZW5FeHBpcmF0aW9uXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbc3RyYXRlZ3ksIHNldFN0cmF0ZWd5XSA9IHVzZVN0YXRlPHN0cmluZz4oKVxuICBjb25zdCB7IHBhdGhuYW1lIH0gPSB1c2VMb2NhdGlvbigpXG4gIGNvbnN0IHsgcHVzaCB9ID0gdXNlSGlzdG9yeSgpXG5cbiAgY29uc3QgY29uZmlnID0gdXNlQ29uZmlnKClcblxuICBjb25zdCB7XG4gICAgYWRtaW46IHsgYXV0b0xvZ2luLCBpbmFjdGl2aXR5Um91dGU6IGxvZ291dEluYWN0aXZpdHlSb3V0ZSwgdXNlcjogdXNlclNsdWcgfSxcbiAgICByb3V0ZXM6IHsgYWRtaW4sIGFwaSB9LFxuICAgIHNlcnZlclVSTCxcbiAgfSA9IGNvbmZpZ1xuXG4gIGNvbnN0IFtwZXJtaXNzaW9ucywgc2V0UGVybWlzc2lvbnNdID0gdXNlU3RhdGU8UGVybWlzc2lvbnM+KClcblxuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgeyBjbG9zZUFsbE1vZGFscywgb3Blbk1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IFtsYXN0TG9jYXRpb25DaGFuZ2UsIHNldExhc3RMb2NhdGlvbkNoYW5nZV0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSA9IHVzZURlYm91bmNlKGxhc3RMb2NhdGlvbkNoYW5nZSwgMTAwMDApXG4gIGNvbnN0IHVzZXJJRFJlZiA9IFJlYWN0LnVzZVJlZjxudWxsIHwgbnVtYmVyIHwgc3RyaW5nPigpXG5cbiAgY29uc3QgaWQgPSB1c2VyPy5pZFxuXG4gIGNvbnN0IHJlZnJlc2hQZXJtaXNzaW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7IGxvY2FsZSB9OiB7IGxvY2FsZT86IHN0cmluZyB9ID0ge30pID0+IHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgbG9jYWxlLFxuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLmdldChcbiAgICAgICAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9L2FjY2VzcyR7cXMuc3RyaW5naWZ5KHBhcmFtcywgeyBhZGRRdWVyeVByZWZpeDogdHJ1ZSB9KX1gLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIClcblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGpzb246IFBlcm1pc3Npb25zID0gYXdhaXQgcmVxdWVzdC5qc29uKClcbiAgICAgICAgICBzZXRQZXJtaXNzaW9ucyhqc29uKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmV0Y2hpbmcgcGVybWlzc2lvbnMgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJHtyZXF1ZXN0LnN0YXR1c31gKVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKGBSZWZyZXNoaW5nIHBlcm1pc3Npb25zIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXJ2ZXJVUkwsIGFwaSwgaTE4bl0sXG4gIClcblxuICBjb25zdCBzZXRBY3RpdmVVc2VyID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKHVzZXI6IFVzZXIgfCBudWxsKSA9PiB7XG4gICAgICBzZXRVc2VyKHVzZXIpXG4gICAgICB1c2VySURSZWYuY3VycmVudCA9IHVzZXI/LmlkIHx8IG51bGxcbiAgICAgIHZvaWQgcmVmcmVzaFBlcm1pc3Npb25zKClcbiAgICB9LFxuICAgIFtyZWZyZXNoUGVybWlzc2lvbnNdLFxuICApXG5cbiAgY29uc3QgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnN0YXJ0c1dpdGgoYWRtaW4pKSB7XG4gICAgICBjb25zdCByZWRpcmVjdFBhcmFtID0gYD9yZWRpcmVjdD0ke2VuY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoYWRtaW4sICcnKSxcbiAgICAgICl9YFxuICAgICAgcHVzaChgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX0ke3JlZGlyZWN0UGFyYW19YClcbiAgICB9IGVsc2Uge1xuICAgICAgcHVzaChgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX1gKVxuICAgIH1cbiAgICBjbG9zZUFsbE1vZGFscygpXG4gIH0sIFtwdXNoLCBhZG1pbiwgbG9nb3V0SW5hY3Rpdml0eVJvdXRlLCBjbG9zZUFsbE1vZGFsc10pXG5cbiAgY29uc3QgcmV2b2tlVG9rZW5BbmRFeHBpcmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW5Jbk1lbW9yeSh1bmRlZmluZWQpXG4gICAgc2V0VG9rZW5FeHBpcmF0aW9uKHVuZGVmaW5lZClcbiAgICBzZXRTdHJhdGVneSh1bmRlZmluZWQpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNldFRva2VuQW5kRXhwaXJhdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChqc29uKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbiA9IGpzb24/LnRva2VuIHx8IGpzb24/LnJlZnJlc2hlZFRva2VuXG4gICAgICBpZiAodG9rZW4gJiYganNvbj8uZXhwKSB7XG4gICAgICAgIHNldFRva2VuSW5NZW1vcnkodG9rZW4pXG4gICAgICAgIHNldFRva2VuRXhwaXJhdGlvbihqc29uLmV4cClcbiAgICAgICAgaWYgKGpzb24uc3RyYXRlZ3kpIHtcbiAgICAgICAgICBzZXRTdHJhdGVneShqc29uLnN0cmF0ZWd5KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbcmV2b2tlVG9rZW5BbmRFeHBpcmVdLFxuICApXG5cbiAgY29uc3QgcmVmcmVzaENvb2tpZSA9IHVzZUNhbGxiYWNrKFxuICAgIChmb3JjZVJlZnJlc2g/OiBib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSAodHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gOiAwKSAtIG5vd1xuXG4gICAgICBpZiAoZm9yY2VSZWZyZXNoIHx8ICh0b2tlbkV4cGlyYXRpb24gJiYgcmVtYWluaW5nVGltZSA8IDEyMCkpIHtcbiAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vcmVmcmVzaC10b2tlbmAsIHtcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG4gICAgICAgICAgICAgIHNldEFjdGl2ZVVzZXIoanNvbi51c2VyKVxuICAgICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oanNvbilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICAgICAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdG9hc3QuZXJyb3IoZS5tZXNzYWdlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwMClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIHRva2VuRXhwaXJhdGlvbixcbiAgICAgIHNlcnZlclVSTCxcbiAgICAgIGFwaSxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgaTE4bi5sYW5ndWFnZSxcbiAgICAgIHNldEFjdGl2ZVVzZXIsXG4gICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24sXG4gICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlLFxuICAgIF0sXG4gIClcblxuICBjb25zdCByZWZyZXNoQ29va2llQXN5bmMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoc2tpcFNldFVzZXI/OiBib29sZWFuKTogUHJvbWlzZTxVc2VyPiA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L3JlZnJlc2gtdG9rZW5gLCB7XG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICAgIGlmICghc2tpcFNldFVzZXIpIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZVVzZXIoanNvbi51c2VyKVxuICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBqc29uLnVzZXJcbiAgICAgICAgfVxuXG4gICAgICAgIHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKGBSZWZyZXNoaW5nIHRva2VuIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIHNlcnZlclVSTCxcbiAgICAgIGFwaSxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgaTE4bixcbiAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUsXG4gICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24sXG4gICAgICBzZXRBY3RpdmVVc2VyLFxuICAgIF0sXG4gIClcblxuICBjb25zdCBsb2dPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0QWN0aXZlVXNlcihudWxsKVxuICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICB2b2lkIHJlcXVlc3RzLnBvc3QoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9sb2dvdXRgKVxuICB9LCBbc2VydmVyVVJMLCBhcGksIHVzZXJTbHVnLCByZXZva2VUb2tlbkFuZEV4cGlyZSwgc2V0QWN0aXZlVXNlcl0pXG5cbiAgY29uc3QgZmV0Y2hGdWxsVXNlciA9IFJlYWN0LnVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLmdldChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L21lYCwge1xuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgIH0sXG4gICAgICB9KVxuXG4gICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVxdWVzdC5qc29uKClcblxuICAgICAgICBpZiAoanNvbj8udXNlcikge1xuICAgICAgICAgIHNldEFjdGl2ZVVzZXIoanNvbi51c2VyKVxuICAgICAgICAgIGlmIChqc29uPy50b2tlbikge1xuICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGF1dG9Mb2dpbiAmJiBhdXRvTG9naW4ucHJlZmlsbE9ubHkgIT09IHRydWUpIHtcbiAgICAgICAgICAvLyBhdXRvIGxvZy1pbiB3aXRoIHRoZSBwcm92aWRlZCBhdXRvTG9naW4gY3JlZGVudGlhbHMuIFRoaXMgaXMgdXNlZCBpbiBkZXYgbW9kZVxuICAgICAgICAgIC8vIHNvIHlvdSBkb24ndCBoYXZlIHRvIGxvZyBpbiBvdmVyIGFuZCBvdmVyIGFnYWluXG4gICAgICAgICAgY29uc3QgYXV0b0xvZ2luUmVzdWx0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L2xvZ2luYCwge1xuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICBlbWFpbDogYXV0b0xvZ2luLmVtYWlsLFxuICAgICAgICAgICAgICBwYXNzd29yZDogYXV0b0xvZ2luLnBhc3N3b3JkLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIGlmIChhdXRvTG9naW5SZXN1bHQuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgIGNvbnN0IGF1dG9Mb2dpbkpzb24gPSBhd2FpdCBhdXRvTG9naW5SZXN1bHQuanNvbigpXG4gICAgICAgICAgICBzZXRBY3RpdmVVc2VyKGF1dG9Mb2dpbkpzb24udXNlcilcbiAgICAgICAgICAgIGlmIChhdXRvTG9naW5Kc29uPy50b2tlbikge1xuICAgICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oYXV0b0xvZ2luSnNvbilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0QWN0aXZlVXNlcihudWxsKVxuICAgICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRBY3RpdmVVc2VyKG51bGwpXG4gICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdG9hc3QuZXJyb3IoYEZldGNoaW5nIHVzZXIgZmFpbGVkOiAke2UubWVzc2FnZX1gKVxuICAgIH1cbiAgfSwgW1xuICAgIHNlcnZlclVSTCxcbiAgICBhcGksXG4gICAgdXNlclNsdWcsXG4gICAgaTE4bixcbiAgICBhdXRvTG9naW4sXG4gICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uLFxuICAgIHJldm9rZVRva2VuQW5kRXhwaXJlLFxuICAgIHNldEFjdGl2ZVVzZXIsXG4gIF0pXG5cbiAgLy8gT24gbW91bnQsIGdldCB1c2VyIGFuZCBzZXRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQgPT09IHVuZGVmaW5lZCB8fCBpZCAhPT0gdXNlcklEUmVmLmN1cnJlbnQpIHtcbiAgICAgIHZvaWQgZmV0Y2hGdWxsVXNlcigpXG4gICAgfVxuICB9LCBbZmV0Y2hGdWxsVXNlciwgaWRdKVxuXG4gIC8vIFdoZW4gbG9jYXRpb24gY2hhbmdlcywgcmVmcmVzaCBjb29raWVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIHJlZnJlc2hDb29raWUoKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZExvY2F0aW9uQ2hhbmdlLCByZWZyZXNoQ29va2llLCBpZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRMYXN0TG9jYXRpb25DaGFuZ2UoRGF0ZS5ub3coKSlcbiAgfSwgW3BhdGhuYW1lXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZW1pbmRlcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD5cbiAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICBjb25zdCByZW1haW5pbmdUaW1lID0gdHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gLSBub3cgOiAwXG5cbiAgICBpZiAocmVtYWluaW5nVGltZSA+IDApIHtcbiAgICAgIHJlbWluZGVyID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIG9wZW5Nb2RhbCgnc3RheS1sb2dnZWQtaW4nKVxuICAgICAgICB9LFxuICAgICAgICBNYXRoLm1heChNYXRoLm1pbigocmVtYWluaW5nVGltZSAtIDYwKSAqIDEwMDAsIG1heFRpbWVvdXRUaW1lKSksXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZW1pbmRlcikgY2xlYXJUaW1lb3V0KHJlbWluZGVyKVxuICAgIH1cbiAgfSwgW3Rva2VuRXhwaXJhdGlvbiwgb3Blbk1vZGFsXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBmb3JjZUxvZ091dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD5cbiAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICBjb25zdCByZW1haW5pbmdUaW1lID0gdHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gLSBub3cgOiAwXG5cbiAgICBpZiAocmVtYWluaW5nVGltZSA+IDApIHtcbiAgICAgIGZvcmNlTG9nT3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICAgICAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgIH0sXG4gICAgICAgIE1hdGgubWF4KE1hdGgubWluKHJlbWFpbmluZ1RpbWUgKiAxMDAwLCBtYXhUaW1lb3V0VGltZSksIDApLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoZm9yY2VMb2dPdXQpIGNsZWFyVGltZW91dChmb3JjZUxvZ091dClcbiAgICB9XG4gIH0sIFtcbiAgICB0b2tlbkV4cGlyYXRpb24sXG4gICAgY2xvc2VBbGxNb2RhbHMsXG4gICAgaTE4bixcbiAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlLFxuICAgIHJldm9rZVRva2VuQW5kRXhwaXJlLFxuICAgIHNldEFjdGl2ZVVzZXIsXG4gIF0pXG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgZmV0Y2hGdWxsVXNlcixcbiAgICAgICAgbG9nT3V0LFxuICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgcmVmcmVzaENvb2tpZSxcbiAgICAgICAgcmVmcmVzaENvb2tpZUFzeW5jLFxuICAgICAgICByZWZyZXNoUGVybWlzc2lvbnMsXG4gICAgICAgIHNldFVzZXI6IHNldEFjdGl2ZVVzZXIsXG4gICAgICAgIHN0cmF0ZWd5LFxuICAgICAgICB0b2tlbjogdG9rZW5Jbk1lbW9yeSxcbiAgICAgICAgdG9rZW5FeHBpcmF0aW9uLFxuICAgICAgICB1c2VyLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Db250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCB1c2VBdXRoID0gPFQgPSBVc2VyLD4oKTogQXV0aENvbnRleHQ8VD4gPT4gdXNlQ29udGV4dChDb250ZXh0KSBhcyBBdXRoQ29udGV4dDxUPlxuIl0sIm5hbWVzIjpbIkF1dGhQcm92aWRlciIsInVzZUF1dGgiLCJDb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsIm1heFRpbWVvdXRUaW1lIiwiY2hpbGRyZW4iLCJ1c2VyIiwic2V0VXNlciIsInVzZVN0YXRlIiwidG9rZW5Jbk1lbW9yeSIsInNldFRva2VuSW5NZW1vcnkiLCJ0b2tlbkV4cGlyYXRpb24iLCJzZXRUb2tlbkV4cGlyYXRpb24iLCJzdHJhdGVneSIsInNldFN0cmF0ZWd5IiwicGF0aG5hbWUiLCJ1c2VMb2NhdGlvbiIsInB1c2giLCJ1c2VIaXN0b3J5IiwiY29uZmlnIiwidXNlQ29uZmlnIiwiYWRtaW4iLCJhdXRvTG9naW4iLCJpbmFjdGl2aXR5Um91dGUiLCJsb2dvdXRJbmFjdGl2aXR5Um91dGUiLCJ1c2VyU2x1ZyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInBlcm1pc3Npb25zIiwic2V0UGVybWlzc2lvbnMiLCJpMThuIiwidXNlVHJhbnNsYXRpb24iLCJjbG9zZUFsbE1vZGFscyIsIm9wZW5Nb2RhbCIsInVzZU1vZGFsIiwibGFzdExvY2F0aW9uQ2hhbmdlIiwic2V0TGFzdExvY2F0aW9uQ2hhbmdlIiwiZGVib3VuY2VkTG9jYXRpb25DaGFuZ2UiLCJ1c2VEZWJvdW5jZSIsInVzZXJJRFJlZiIsIlJlYWN0IiwidXNlUmVmIiwiaWQiLCJyZWZyZXNoUGVybWlzc2lvbnMiLCJ1c2VDYWxsYmFjayIsImxvY2FsZSIsInBhcmFtcyIsInJlcXVlc3QiLCJyZXF1ZXN0cyIsImdldCIsInFzIiwic3RyaW5naWZ5IiwiYWRkUXVlcnlQcmVmaXgiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJzdGF0dXMiLCJqc29uIiwiRXJyb3IiLCJlIiwidG9hc3QiLCJlcnJvciIsIm1lc3NhZ2UiLCJzZXRBY3RpdmVVc2VyIiwiY3VycmVudCIsInJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInN0YXJ0c1dpdGgiLCJyZWRpcmVjdFBhcmFtIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsInJldm9rZVRva2VuQW5kRXhwaXJlIiwidW5kZWZpbmVkIiwic2V0VG9rZW5BbmRFeHBpcmF0aW9uIiwidG9rZW4iLCJyZWZyZXNoZWRUb2tlbiIsImV4cCIsInJlZnJlc2hDb29raWUiLCJmb3JjZVJlZnJlc2giLCJub3ciLCJNYXRoIiwicm91bmQiLCJEYXRlIiwiZ2V0VGltZSIsInJlbWFpbmluZ1RpbWUiLCJzZXRUaW1lb3V0IiwicG9zdCIsInJlZnJlc2hDb29raWVBc3luYyIsInNraXBTZXRVc2VyIiwibG9nT3V0IiwiZmV0Y2hGdWxsVXNlciIsInByZWZpbGxPbmx5IiwiYXV0b0xvZ2luUmVzdWx0IiwiYm9keSIsIkpTT04iLCJlbWFpbCIsInBhc3N3b3JkIiwiYXV0b0xvZ2luSnNvbiIsInVzZUVmZmVjdCIsInJlbWluZGVyIiwibWF4IiwibWluIiwiY2xlYXJUaW1lb3V0IiwiZm9yY2VMb2dPdXQiLCJQcm92aWRlciIsInZhbHVlIiwidXNlQ29udGV4dCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
372
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9BdXRoL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBxcyBmcm9tICdxcydcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHR5cGUgeyBQZXJtaXNzaW9ucywgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEF1dGhDb250ZXh0IH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgcmVxdWVzdHMgfSBmcm9tICcuLi8uLi8uLi9hcGknXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi9Db25maWcnXG5cbmNvbnN0IENvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9IGFzIEF1dGhDb250ZXh0KVxuXG5jb25zdCBtYXhUaW1lb3V0VGltZSA9IDIxNDc0ODM2NDdcblxuZXhwb3J0IGNvbnN0IEF1dGhQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4oKVxuICBjb25zdCBbdG9rZW5Jbk1lbW9yeSwgc2V0VG9rZW5Jbk1lbW9yeV0gPSB1c2VTdGF0ZTxzdHJpbmc+KClcbiAgY29uc3QgW3Rva2VuRXhwaXJhdGlvbiwgc2V0VG9rZW5FeHBpcmF0aW9uXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbc3RyYXRlZ3ksIHNldFN0cmF0ZWd5XSA9IHVzZVN0YXRlPHN0cmluZz4oKVxuICBjb25zdCB7IHBhdGhuYW1lIH0gPSB1c2VMb2NhdGlvbigpXG4gIGNvbnN0IHsgcHVzaCB9ID0gdXNlSGlzdG9yeSgpXG5cbiAgY29uc3QgY29uZmlnID0gdXNlQ29uZmlnKClcblxuICBjb25zdCB7XG4gICAgYWRtaW46IHsgYXV0b0xvZ2luLCBpbmFjdGl2aXR5Um91dGU6IGxvZ291dEluYWN0aXZpdHlSb3V0ZSwgdXNlcjogdXNlclNsdWcgfSxcbiAgICByb3V0ZXM6IHsgYWRtaW4sIGFwaSB9LFxuICAgIHNlcnZlclVSTCxcbiAgfSA9IGNvbmZpZ1xuXG4gIGNvbnN0IFtwZXJtaXNzaW9ucywgc2V0UGVybWlzc2lvbnNdID0gdXNlU3RhdGU8UGVybWlzc2lvbnM+KClcblxuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgeyBjbG9zZUFsbE1vZGFscywgb3Blbk1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IFtsYXN0TG9jYXRpb25DaGFuZ2UsIHNldExhc3RMb2NhdGlvbkNoYW5nZV0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSA9IHVzZURlYm91bmNlKGxhc3RMb2NhdGlvbkNoYW5nZSwgMTAwMDApXG4gIGNvbnN0IHVzZXJJRFJlZiA9IFJlYWN0LnVzZVJlZjxudWxsIHwgbnVtYmVyIHwgc3RyaW5nPigpXG5cbiAgY29uc3QgaWQgPSB1c2VyPy5pZFxuXG4gIGNvbnN0IHJlZnJlc2hQZXJtaXNzaW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7IGxvY2FsZSB9OiB7IGxvY2FsZT86IHN0cmluZyB9ID0ge30pID0+IHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgbG9jYWxlLFxuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLmdldChcbiAgICAgICAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9L2FjY2VzcyR7cXMuc3RyaW5naWZ5KHBhcmFtcywgeyBhZGRRdWVyeVByZWZpeDogdHJ1ZSB9KX1gLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIClcblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGpzb246IFBlcm1pc3Npb25zID0gYXdhaXQgcmVxdWVzdC5qc29uKClcbiAgICAgICAgICBzZXRQZXJtaXNzaW9ucyhqc29uKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmV0Y2hpbmcgcGVybWlzc2lvbnMgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJHtyZXF1ZXN0LnN0YXR1c31gKVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKGBSZWZyZXNoaW5nIHBlcm1pc3Npb25zIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXJ2ZXJVUkwsIGFwaSwgaTE4bl0sXG4gIClcblxuICBjb25zdCBzZXRBY3RpdmVVc2VyID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHVzZXJUb1NldDogVXNlciB8IG51bGwpID0+IHtcbiAgICAgIGlmICgodXNlcklEUmVmLmN1cnJlbnQgJiYgIXVzZXJUb1NldD8uaWQpIHx8IHVzZXJUb1NldD8uaWQpIHtcbiAgICAgICAgLy8gcmVmcmVzaCBvbiBsb2dvdXQgYW5kIGxvZ2luXG4gICAgICAgIGF3YWl0IHJlZnJlc2hQZXJtaXNzaW9ucygpXG4gICAgICB9XG4gICAgICB1c2VySURSZWYuY3VycmVudCA9IHVzZXJUb1NldD8uaWQgfHwgbnVsbFxuICAgICAgc2V0VXNlcih1c2VyVG9TZXQpXG4gICAgfSxcbiAgICBbcmVmcmVzaFBlcm1pc3Npb25zXSxcbiAgKVxuXG4gIGNvbnN0IHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKGFkbWluKSkge1xuICAgICAgY29uc3QgcmVkaXJlY3RQYXJhbSA9IGA/cmVkaXJlY3Q9JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKGFkbWluLCAnJyksXG4gICAgICApfWBcbiAgICAgIHB1c2goYCR7YWRtaW59JHtsb2dvdXRJbmFjdGl2aXR5Um91dGV9JHtyZWRpcmVjdFBhcmFtfWApXG4gICAgfSBlbHNlIHtcbiAgICAgIHB1c2goYCR7YWRtaW59JHtsb2dvdXRJbmFjdGl2aXR5Um91dGV9YClcbiAgICB9XG4gICAgY2xvc2VBbGxNb2RhbHMoKVxuICB9LCBbcHVzaCwgYWRtaW4sIGxvZ291dEluYWN0aXZpdHlSb3V0ZSwgY2xvc2VBbGxNb2RhbHNdKVxuXG4gIGNvbnN0IHJldm9rZVRva2VuQW5kRXhwaXJlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRva2VuSW5NZW1vcnkodW5kZWZpbmVkKVxuICAgIHNldFRva2VuRXhwaXJhdGlvbih1bmRlZmluZWQpXG4gICAgc2V0U3RyYXRlZ3kodW5kZWZpbmVkKVxuICB9LCBbXSlcblxuICBjb25zdCBzZXRUb2tlbkFuZEV4cGlyYXRpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoanNvbikgPT4ge1xuICAgICAgY29uc3QgdG9rZW4gPSBqc29uPy50b2tlbiB8fCBqc29uPy5yZWZyZXNoZWRUb2tlblxuICAgICAgaWYgKHRva2VuICYmIGpzb24/LmV4cCkge1xuICAgICAgICBzZXRUb2tlbkluTWVtb3J5KHRva2VuKVxuICAgICAgICBzZXRUb2tlbkV4cGlyYXRpb24oanNvbi5leHApXG4gICAgICAgIGlmIChqc29uLnN0cmF0ZWd5KSB7XG4gICAgICAgICAgc2V0U3RyYXRlZ3koanNvbi5zdHJhdGVneSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3Jldm9rZVRva2VuQW5kRXhwaXJlXSxcbiAgKVxuXG4gIGNvbnN0IHJlZnJlc2hDb29raWUgPSB1c2VDYWxsYmFjayhcbiAgICAoZm9yY2VSZWZyZXNoPzogYm9vbGVhbikgPT4ge1xuICAgICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgICBjb25zdCByZW1haW5pbmdUaW1lID0gKHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIDogMCkgLSBub3dcblxuICAgICAgaWYgKGZvcmNlUmVmcmVzaCB8fCAodG9rZW5FeHBpcmF0aW9uICYmIHJlbWFpbmluZ1RpbWUgPCAxMjApKSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L3JlZnJlc2gtdG9rZW5gLCB7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKGpzb24udXNlcilcbiAgICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKG51bGwpXG4gICAgICAgICAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKGUubWVzc2FnZSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMDApXG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICB0b2tlbkV4cGlyYXRpb24sXG4gICAgICBzZXJ2ZXJVUkwsXG4gICAgICBhcGksXG4gICAgICB1c2VyU2x1ZyxcbiAgICAgIGkxOG4ubGFuZ3VhZ2UsXG4gICAgICBzZXRBY3RpdmVVc2VyLFxuICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uLFxuICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSxcbiAgICBdLFxuICApXG5cbiAgY29uc3QgcmVmcmVzaENvb2tpZUFzeW5jID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHNraXBTZXRVc2VyPzogYm9vbGVhbik6IFByb21pc2U8VXNlcj4gPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLnBvc3QoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9yZWZyZXNoLXRva2VuYCwge1xuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVxdWVzdC5qc29uKClcbiAgICAgICAgICBpZiAoIXNraXBTZXRVc2VyKSB7XG4gICAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKGpzb24udXNlcilcbiAgICAgICAgICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbihqc29uKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ganNvbi51c2VyXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKG51bGwpXG4gICAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUoKVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0b2FzdC5lcnJvcihgUmVmcmVzaGluZyB0b2tlbiBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBzZXJ2ZXJVUkwsXG4gICAgICBhcGksXG4gICAgICB1c2VyU2x1ZyxcbiAgICAgIGkxOG4sXG4gICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlLFxuICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uLFxuICAgICAgc2V0QWN0aXZlVXNlcixcbiAgICBdLFxuICApXG5cbiAgY29uc3QgbG9nT3V0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgdm9pZCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vbG9nb3V0YClcbiAgfSwgW3NlcnZlclVSTCwgYXBpLCB1c2VyU2x1ZywgcmV2b2tlVG9rZW5BbmRFeHBpcmUsIHNldEFjdGl2ZVVzZXJdKVxuXG4gIGNvbnN0IGZldGNoRnVsbFVzZXIgPSBSZWFjdC51c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5nZXQoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9tZWAsIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICB9LFxuICAgICAgfSlcblxuICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG5cbiAgICAgICAgaWYgKGpzb24/LnVzZXIpIHtcbiAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKGpzb24udXNlcilcbiAgICAgICAgICBpZiAoanNvbj8udG9rZW4pIHtcbiAgICAgICAgICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbihqc29uKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChhdXRvTG9naW4gJiYgYXV0b0xvZ2luLnByZWZpbGxPbmx5ICE9PSB0cnVlKSB7XG4gICAgICAgICAgLy8gYXV0byBsb2ctaW4gd2l0aCB0aGUgcHJvdmlkZWQgYXV0b0xvZ2luIGNyZWRlbnRpYWxzLiBUaGlzIGlzIHVzZWQgaW4gZGV2IG1vZGVcbiAgICAgICAgICAvLyBzbyB5b3UgZG9uJ3QgaGF2ZSB0byBsb2cgaW4gb3ZlciBhbmQgb3ZlciBhZ2FpblxuICAgICAgICAgIGNvbnN0IGF1dG9Mb2dpblJlc3VsdCA9IGF3YWl0IHJlcXVlc3RzLnBvc3QoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9sb2dpbmAsIHtcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgZW1haWw6IGF1dG9Mb2dpbi5lbWFpbCxcbiAgICAgICAgICAgICAgcGFzc3dvcmQ6IGF1dG9Mb2dpbi5wYXNzd29yZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgICBpZiAoYXV0b0xvZ2luUmVzdWx0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBhdXRvTG9naW5Kc29uID0gYXdhaXQgYXV0b0xvZ2luUmVzdWx0Lmpzb24oKVxuICAgICAgICAgICAgYXdhaXQgc2V0QWN0aXZlVXNlcihhdXRvTG9naW5Kc29uLnVzZXIpXG4gICAgICAgICAgICBpZiAoYXV0b0xvZ2luSnNvbj8udG9rZW4pIHtcbiAgICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGF1dG9Mb2dpbkpzb24pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICAgICAgICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgc2V0QWN0aXZlVXNlcihudWxsKVxuICAgICAgICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRvYXN0LmVycm9yKGBGZXRjaGluZyB1c2VyIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICB9XG4gIH0sIFtcbiAgICBzZXJ2ZXJVUkwsXG4gICAgYXBpLFxuICAgIHVzZXJTbHVnLFxuICAgIGkxOG4sXG4gICAgYXV0b0xvZ2luLFxuICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbixcbiAgICByZXZva2VUb2tlbkFuZEV4cGlyZSxcbiAgICBzZXRBY3RpdmVVc2VyLFxuICBdKVxuXG4gIC8vIE9uIG1vdW50LCBnZXQgdXNlciBhbmQgc2V0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkID09PSB1bmRlZmluZWQgfHwgaWQgIT09IHVzZXJJRFJlZi5jdXJyZW50KSB7XG4gICAgICB2b2lkIGZldGNoRnVsbFVzZXIoKVxuICAgIH1cbiAgfSwgW2ZldGNoRnVsbFVzZXIsIGlkXSlcblxuICAvLyBXaGVuIGxvY2F0aW9uIGNoYW5nZXMsIHJlZnJlc2ggY29va2llXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICByZWZyZXNoQ29va2llKClcbiAgICB9XG4gIH0sIFtkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSwgcmVmcmVzaENvb2tpZSwgaWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TGFzdExvY2F0aW9uQ2hhbmdlKERhdGUubm93KCkpXG4gIH0sIFtwYXRobmFtZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgcmVtaW5kZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+XG4gICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgY29uc3QgcmVtYWluaW5nVGltZSA9IHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIC0gbm93IDogMFxuXG4gICAgaWYgKHJlbWFpbmluZ1RpbWUgPiAwKSB7XG4gICAgICByZW1pbmRlciA9IHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBvcGVuTW9kYWwoJ3N0YXktbG9nZ2VkLWluJylcbiAgICAgICAgfSxcbiAgICAgICAgTWF0aC5tYXgoTWF0aC5taW4oKHJlbWFpbmluZ1RpbWUgLSA2MCkgKiAxMDAwLCBtYXhUaW1lb3V0VGltZSkpLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVtaW5kZXIpIGNsZWFyVGltZW91dChyZW1pbmRlcilcbiAgICB9XG4gIH0sIFt0b2tlbkV4cGlyYXRpb24sIG9wZW5Nb2RhbF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgZm9yY2VMb2dPdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+XG4gICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgY29uc3QgcmVtYWluaW5nVGltZSA9IHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIC0gbm93IDogMFxuXG4gICAgaWYgKHJlbWFpbmluZ1RpbWUgPiAwKSB7XG4gICAgICBmb3JjZUxvZ091dCA9IHNldFRpbWVvdXQoXG4gICAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKG51bGwpXG4gICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUoKVxuICAgICAgICB9LFxuICAgICAgICBNYXRoLm1heChNYXRoLm1pbihyZW1haW5pbmdUaW1lICogMTAwMCwgbWF4VGltZW91dFRpbWUpLCAwKSxcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGZvcmNlTG9nT3V0KSBjbGVhclRpbWVvdXQoZm9yY2VMb2dPdXQpXG4gICAgfVxuICB9LCBbXG4gICAgdG9rZW5FeHBpcmF0aW9uLFxuICAgIGNsb3NlQWxsTW9kYWxzLFxuICAgIGkxOG4sXG4gICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSxcbiAgICByZXZva2VUb2tlbkFuZEV4cGlyZSxcbiAgICBzZXRBY3RpdmVVc2VyLFxuICBdKVxuXG4gIHJldHVybiAoXG4gICAgPENvbnRleHQuUHJvdmlkZXJcbiAgICAgIHZhbHVlPXt7XG4gICAgICAgIGZldGNoRnVsbFVzZXIsXG4gICAgICAgIGxvZ091dCxcbiAgICAgICAgcGVybWlzc2lvbnMsXG4gICAgICAgIHJlZnJlc2hDb29raWUsXG4gICAgICAgIHJlZnJlc2hDb29raWVBc3luYyxcbiAgICAgICAgcmVmcmVzaFBlcm1pc3Npb25zLFxuICAgICAgICBzZXRVc2VyOiBzZXRBY3RpdmVVc2VyLFxuICAgICAgICBzdHJhdGVneSxcbiAgICAgICAgdG9rZW46IHRva2VuSW5NZW1vcnksXG4gICAgICAgIHRva2VuRXhwaXJhdGlvbixcbiAgICAgICAgdXNlcixcbiAgICAgIH19XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlQXV0aCA9IDxUID0gVXNlciw+KCk6IEF1dGhDb250ZXh0PFQ+ID0+IHVzZUNvbnRleHQoQ29udGV4dCkgYXMgQXV0aENvbnRleHQ8VD5cbiJdLCJuYW1lcyI6WyJBdXRoUHJvdmlkZXIiLCJ1c2VBdXRoIiwiQ29udGV4dCIsImNyZWF0ZUNvbnRleHQiLCJtYXhUaW1lb3V0VGltZSIsImNoaWxkcmVuIiwidXNlciIsInNldFVzZXIiLCJ1c2VTdGF0ZSIsInRva2VuSW5NZW1vcnkiLCJzZXRUb2tlbkluTWVtb3J5IiwidG9rZW5FeHBpcmF0aW9uIiwic2V0VG9rZW5FeHBpcmF0aW9uIiwic3RyYXRlZ3kiLCJzZXRTdHJhdGVneSIsInBhdGhuYW1lIiwidXNlTG9jYXRpb24iLCJwdXNoIiwidXNlSGlzdG9yeSIsImNvbmZpZyIsInVzZUNvbmZpZyIsImFkbWluIiwiYXV0b0xvZ2luIiwiaW5hY3Rpdml0eVJvdXRlIiwibG9nb3V0SW5hY3Rpdml0eVJvdXRlIiwidXNlclNsdWciLCJyb3V0ZXMiLCJhcGkiLCJzZXJ2ZXJVUkwiLCJwZXJtaXNzaW9ucyIsInNldFBlcm1pc3Npb25zIiwiaTE4biIsInVzZVRyYW5zbGF0aW9uIiwiY2xvc2VBbGxNb2RhbHMiLCJvcGVuTW9kYWwiLCJ1c2VNb2RhbCIsImxhc3RMb2NhdGlvbkNoYW5nZSIsInNldExhc3RMb2NhdGlvbkNoYW5nZSIsImRlYm91bmNlZExvY2F0aW9uQ2hhbmdlIiwidXNlRGVib3VuY2UiLCJ1c2VySURSZWYiLCJSZWFjdCIsInVzZVJlZiIsImlkIiwicmVmcmVzaFBlcm1pc3Npb25zIiwidXNlQ2FsbGJhY2siLCJsb2NhbGUiLCJwYXJhbXMiLCJyZXF1ZXN0IiwicmVxdWVzdHMiLCJnZXQiLCJxcyIsInN0cmluZ2lmeSIsImFkZFF1ZXJ5UHJlZml4IiwiaGVhZGVycyIsImxhbmd1YWdlIiwic3RhdHVzIiwianNvbiIsIkVycm9yIiwiZSIsInRvYXN0IiwiZXJyb3IiLCJtZXNzYWdlIiwic2V0QWN0aXZlVXNlciIsInVzZXJUb1NldCIsImN1cnJlbnQiLCJyZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlIiwid2luZG93IiwibG9jYXRpb24iLCJzdGFydHNXaXRoIiwicmVkaXJlY3RQYXJhbSIsImVuY29kZVVSSUNvbXBvbmVudCIsInJlcGxhY2UiLCJyZXZva2VUb2tlbkFuZEV4cGlyZSIsInVuZGVmaW5lZCIsInNldFRva2VuQW5kRXhwaXJhdGlvbiIsInRva2VuIiwicmVmcmVzaGVkVG9rZW4iLCJleHAiLCJyZWZyZXNoQ29va2llIiwiZm9yY2VSZWZyZXNoIiwibm93IiwiTWF0aCIsInJvdW5kIiwiRGF0ZSIsImdldFRpbWUiLCJyZW1haW5pbmdUaW1lIiwic2V0VGltZW91dCIsInBvc3QiLCJyZWZyZXNoQ29va2llQXN5bmMiLCJza2lwU2V0VXNlciIsImxvZ091dCIsImZldGNoRnVsbFVzZXIiLCJwcmVmaWxsT25seSIsImF1dG9Mb2dpblJlc3VsdCIsImJvZHkiLCJKU09OIiwiZW1haWwiLCJwYXNzd29yZCIsImF1dG9Mb2dpbkpzb24iLCJ1c2VFZmZlY3QiLCJyZW1pbmRlciIsIm1heCIsIm1pbiIsImNsZWFyVGltZW91dCIsImZvcmNlTG9nT3V0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVzZUNvbnRleHQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWtCYUEsWUFBWTtlQUFaQTs7SUF1VUFDLE9BQU87ZUFBUEE7Ozt1QkF6Vlk7MkRBQ1Y7K0RBQ29FOzhCQUNwRDtnQ0FDUzsrQkFDbEI7cUJBS0c7b0VBQ0Q7d0JBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLE1BQU1DLHdCQUFVQyxJQUFBQSxvQkFBYSxFQUFDLENBQUM7QUFFL0IsTUFBTUMsaUJBQWlCO0FBRWhCLE1BQU1KLGVBQXdELENBQUMsRUFBRUssUUFBUSxFQUFFO0lBQ2hGLE1BQU0sQ0FBQ0MsTUFBTUMsUUFBUSxHQUFHQyxJQUFBQSxlQUFRO0lBQ2hDLE1BQU0sQ0FBQ0MsZUFBZUMsaUJBQWlCLEdBQUdGLElBQUFBLGVBQVE7SUFDbEQsTUFBTSxDQUFDRyxpQkFBaUJDLG1CQUFtQixHQUFHSixJQUFBQSxlQUFRO0lBQ3RELE1BQU0sQ0FBQ0ssVUFBVUMsWUFBWSxHQUFHTixJQUFBQSxlQUFRO0lBQ3hDLE1BQU0sRUFBRU8sUUFBUSxFQUFFLEdBQUdDLElBQUFBLDJCQUFXO0lBQ2hDLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLElBQUFBLDBCQUFVO0lBRTNCLE1BQU1DLFNBQVNDLElBQUFBLGlCQUFTO0lBRXhCLE1BQU0sRUFDSkMsT0FBTyxFQUFFQyxTQUFTLEVBQUVDLGlCQUFpQkMscUJBQXFCLEVBQUVsQixNQUFNbUIsUUFBUSxFQUFFLEVBQzVFQyxRQUFRLEVBQUVMLEtBQUssRUFBRU0sR0FBRyxFQUFFLEVBQ3RCQyxTQUFTLEVBQ1YsR0FBR1Q7SUFFSixNQUFNLENBQUNVLGFBQWFDLGVBQWUsR0FBR3RCLElBQUFBLGVBQVE7SUFFOUMsTUFBTSxFQUFFdUIsSUFBSSxFQUFFLEdBQUdDLElBQUFBLDRCQUFjO0lBQy9CLE1BQU0sRUFBRUMsY0FBYyxFQUFFQyxTQUFTLEVBQUUsR0FBR0MsSUFBQUEsZUFBUTtJQUM5QyxNQUFNLENBQUNDLG9CQUFvQkMsc0JBQXNCLEdBQUc3QixJQUFBQSxlQUFRLEVBQUM7SUFDN0QsTUFBTThCLDBCQUEwQkMsSUFBQUEsb0JBQVcsRUFBQ0gsb0JBQW9CO0lBQ2hFLE1BQU1JLFlBQVlDLGNBQUssQ0FBQ0MsTUFBTTtJQUU5QixNQUFNQyxLQUFLckMsTUFBTXFDO0lBRWpCLE1BQU1DLHFCQUFxQkMsSUFBQUEsa0JBQVcsRUFDcEMsT0FBTyxFQUFFQyxNQUFNLEVBQXVCLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU1DLFNBQVM7WUFDYkQ7UUFDRjtRQUNBLElBQUk7WUFDRixNQUFNRSxVQUFVLE1BQU1DLGFBQVEsQ0FBQ0MsR0FBRyxDQUNoQyxDQUFDLEVBQUV0QixVQUFVLEVBQUVELElBQUksT0FBTyxFQUFFd0IsV0FBRSxDQUFDQyxTQUFTLENBQUNMLFFBQVE7Z0JBQUVNLGdCQUFnQjtZQUFLLEdBQUcsQ0FBQyxFQUM1RTtnQkFDRUMsU0FBUztvQkFDUCxtQkFBbUJ2QixLQUFLd0IsUUFBUTtnQkFDbEM7WUFDRjtZQUdGLElBQUlQLFFBQVFRLE1BQU0sS0FBSyxLQUFLO2dCQUMxQixNQUFNQyxPQUFvQixNQUFNVCxRQUFRUyxJQUFJO2dCQUM1QzNCLGVBQWUyQjtZQUNqQixPQUFPO2dCQUNMLE1BQU0sSUFBSUMsTUFBTSxDQUFDLDZDQUE2QyxFQUFFVixRQUFRUSxNQUFNLENBQUMsQ0FBQztZQUNsRjtRQUNGLEVBQUUsT0FBT0csR0FBRztZQUNWQyxvQkFBSyxDQUFDQyxLQUFLLENBQUMsQ0FBQywrQkFBK0IsRUFBRUYsRUFBRUcsT0FBTyxDQUFDLENBQUM7UUFDM0Q7SUFDRixHQUNBO1FBQUNsQztRQUFXRDtRQUFLSTtLQUFLO0lBR3hCLE1BQU1nQyxnQkFBZ0J0QixjQUFLLENBQUNJLFdBQVcsQ0FDckMsT0FBT21CO1FBQ0wsSUFBSSxBQUFDeEIsVUFBVXlCLE9BQU8sSUFBSSxDQUFDRCxXQUFXckIsTUFBT3FCLFdBQVdyQixJQUFJO1lBQzFELDhCQUE4QjtZQUM5QixNQUFNQztRQUNSO1FBQ0FKLFVBQVV5QixPQUFPLEdBQUdELFdBQVdyQixNQUFNO1FBQ3JDcEMsUUFBUXlEO0lBQ1YsR0FDQTtRQUFDcEI7S0FBbUI7SUFHdEIsTUFBTXNCLDRCQUE0QnJCLElBQUFBLGtCQUFXLEVBQUM7UUFDNUMsSUFBSXNCLE9BQU9DLFFBQVEsQ0FBQ3JELFFBQVEsQ0FBQ3NELFVBQVUsQ0FBQ2hELFFBQVE7WUFDOUMsTUFBTWlELGdCQUFnQixDQUFDLFVBQVUsRUFBRUMsbUJBQ2pDSixPQUFPQyxRQUFRLENBQUNyRCxRQUFRLENBQUN5RCxPQUFPLENBQUNuRCxPQUFPLEtBQ3hDLENBQUM7WUFDSEosS0FBSyxDQUFDLEVBQUVJLE1BQU0sRUFBRUcsc0JBQXNCLEVBQUU4QyxjQUFjLENBQUM7UUFDekQsT0FBTztZQUNMckQsS0FBSyxDQUFDLEVBQUVJLE1BQU0sRUFBRUcsc0JBQXNCLENBQUM7UUFDekM7UUFDQVM7SUFDRixHQUFHO1FBQUNoQjtRQUFNSTtRQUFPRztRQUF1QlM7S0FBZTtJQUV2RCxNQUFNd0MsdUJBQXVCNUIsSUFBQUEsa0JBQVcsRUFBQztRQUN2Q25DLGlCQUFpQmdFO1FBQ2pCOUQsbUJBQW1COEQ7UUFDbkI1RCxZQUFZNEQ7SUFDZCxHQUFHLEVBQUU7SUFFTCxNQUFNQyx3QkFBd0I5QixJQUFBQSxrQkFBVyxFQUN2QyxDQUFDWTtRQUNDLE1BQU1tQixRQUFRbkIsTUFBTW1CLFNBQVNuQixNQUFNb0I7UUFDbkMsSUFBSUQsU0FBU25CLE1BQU1xQixLQUFLO1lBQ3RCcEUsaUJBQWlCa0U7WUFDakJoRSxtQkFBbUI2QyxLQUFLcUIsR0FBRztZQUMzQixJQUFJckIsS0FBSzVDLFFBQVEsRUFBRTtnQkFDakJDLFlBQVkyQyxLQUFLNUMsUUFBUTtZQUMzQjtRQUNGLE9BQU87WUFDTDREO1FBQ0Y7SUFDRixHQUNBO1FBQUNBO0tBQXFCO0lBR3hCLE1BQU1NLGdCQUFnQmxDLElBQUFBLGtCQUFXLEVBQy9CLENBQUNtQztRQUNDLE1BQU1DLE1BQU1DLEtBQUtDLEtBQUssQ0FBQyxJQUFJQyxPQUFPQyxPQUFPLEtBQUs7UUFDOUMsTUFBTUMsZ0JBQWdCLEFBQUMsQ0FBQSxPQUFPM0Usb0JBQW9CLFdBQVdBLGtCQUFrQixDQUFBLElBQUtzRTtRQUVwRixJQUFJRCxnQkFBaUJyRSxtQkFBbUIyRSxnQkFBZ0IsS0FBTTtZQUM1REMsV0FBVztnQkFDVCxJQUFJO29CQUNGLE1BQU12QyxVQUFVLE1BQU1DLGFBQVEsQ0FBQ3VDLElBQUksQ0FBQyxDQUFDLEVBQUU1RCxVQUFVLEVBQUVELElBQUksQ0FBQyxFQUFFRixTQUFTLGNBQWMsQ0FBQyxFQUFFO3dCQUNsRjZCLFNBQVM7NEJBQ1AsbUJBQW1CdkIsS0FBS3dCLFFBQVE7d0JBQ2xDO29CQUNGO29CQUVBLElBQUlQLFFBQVFRLE1BQU0sS0FBSyxLQUFLO3dCQUMxQixNQUFNQyxPQUFPLE1BQU1ULFFBQVFTLElBQUk7d0JBQy9CLE1BQU1NLGNBQWNOLEtBQUtuRCxJQUFJO3dCQUM3QnFFLHNCQUFzQmxCO29CQUN4QixPQUFPO3dCQUNMLE1BQU1NLGNBQWM7d0JBQ3BCRztvQkFDRjtnQkFDRixFQUFFLE9BQU9QLEdBQUc7b0JBQ1ZDLG9CQUFLLENBQUNDLEtBQUssQ0FBQ0YsRUFBRUcsT0FBTztnQkFDdkI7WUFDRixHQUFHO1FBQ0w7SUFDRixHQUNBO1FBQ0VuRDtRQUNBaUI7UUFDQUQ7UUFDQUY7UUFDQU0sS0FBS3dCLFFBQVE7UUFDYlE7UUFDQVk7UUFDQVQ7S0FDRDtJQUdILE1BQU11QixxQkFBcUI1QyxJQUFBQSxrQkFBVyxFQUNwQyxPQUFPNkM7UUFDTCxJQUFJO1lBQ0YsTUFBTTFDLFVBQVUsTUFBTUMsYUFBUSxDQUFDdUMsSUFBSSxDQUFDLENBQUMsRUFBRTVELFVBQVUsRUFBRUQsSUFBSSxDQUFDLEVBQUVGLFNBQVMsY0FBYyxDQUFDLEVBQUU7Z0JBQ2xGNkIsU0FBUztvQkFDUCxtQkFBbUJ2QixLQUFLd0IsUUFBUTtnQkFDbEM7WUFDRjtZQUVBLElBQUlQLFFBQVFRLE1BQU0sS0FBSyxLQUFLO2dCQUMxQixNQUFNQyxPQUFPLE1BQU1ULFFBQVFTLElBQUk7Z0JBQy9CLElBQUksQ0FBQ2lDLGFBQWE7b0JBQ2hCLE1BQU0zQixjQUFjTixLQUFLbkQsSUFBSTtvQkFDN0JxRSxzQkFBc0JsQjtnQkFDeEI7Z0JBQ0EsT0FBT0EsS0FBS25ELElBQUk7WUFDbEI7WUFFQSxNQUFNeUQsY0FBYztZQUNwQkc7WUFDQSxPQUFPO1FBQ1QsRUFBRSxPQUFPUCxHQUFHO1lBQ1ZDLG9CQUFLLENBQUNDLEtBQUssQ0FBQyxDQUFDLHlCQUF5QixFQUFFRixFQUFFRyxPQUFPLENBQUMsQ0FBQztZQUNuRCxPQUFPO1FBQ1Q7SUFDRixHQUNBO1FBQ0VsQztRQUNBRDtRQUNBRjtRQUNBTTtRQUNBbUM7UUFDQVM7UUFDQVo7S0FDRDtJQUdILE1BQU00QixTQUFTOUMsSUFBQUEsa0JBQVcsRUFBQztRQUN6QixNQUFNa0IsY0FBYztRQUNwQlU7UUFDQSxLQUFLeEIsYUFBUSxDQUFDdUMsSUFBSSxDQUFDLENBQUMsRUFBRTVELFVBQVUsRUFBRUQsSUFBSSxDQUFDLEVBQUVGLFNBQVMsT0FBTyxDQUFDO0lBQzVELEdBQUc7UUFBQ0c7UUFBV0Q7UUFBS0Y7UUFBVWdEO1FBQXNCVjtLQUFjO0lBRWxFLE1BQU02QixnQkFBZ0JuRCxjQUFLLENBQUNJLFdBQVcsQ0FBQztRQUN0QyxJQUFJO1lBQ0YsTUFBTUcsVUFBVSxNQUFNQyxhQUFRLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEVBQUV0QixVQUFVLEVBQUVELElBQUksQ0FBQyxFQUFFRixTQUFTLEdBQUcsQ0FBQyxFQUFFO2dCQUN0RTZCLFNBQVM7b0JBQ1AsbUJBQW1CdkIsS0FBS3dCLFFBQVE7Z0JBQ2xDO1lBQ0Y7WUFFQSxJQUFJUCxRQUFRUSxNQUFNLEtBQUssS0FBSztnQkFDMUIsTUFBTUMsT0FBTyxNQUFNVCxRQUFRUyxJQUFJO2dCQUUvQixJQUFJQSxNQUFNbkQsTUFBTTtvQkFDZCxNQUFNeUQsY0FBY04sS0FBS25ELElBQUk7b0JBQzdCLElBQUltRCxNQUFNbUIsT0FBTzt3QkFDZkQsc0JBQXNCbEI7b0JBQ3hCO2dCQUNGLE9BQU8sSUFBSW5DLGFBQWFBLFVBQVV1RSxXQUFXLEtBQUssTUFBTTtvQkFDdEQsZ0ZBQWdGO29CQUNoRixrREFBa0Q7b0JBQ2xELE1BQU1DLGtCQUFrQixNQUFNN0MsYUFBUSxDQUFDdUMsSUFBSSxDQUFDLENBQUMsRUFBRTVELFVBQVUsRUFBRUQsSUFBSSxDQUFDLEVBQUVGLFNBQVMsTUFBTSxDQUFDLEVBQUU7d0JBQ2xGc0UsTUFBTUMsS0FBSzVDLFNBQVMsQ0FBQzs0QkFDbkI2QyxPQUFPM0UsVUFBVTJFLEtBQUs7NEJBQ3RCQyxVQUFVNUUsVUFBVTRFLFFBQVE7d0JBQzlCO3dCQUNBNUMsU0FBUzs0QkFDUCxtQkFBbUJ2QixLQUFLd0IsUUFBUTs0QkFDaEMsZ0JBQWdCO3dCQUNsQjtvQkFDRjtvQkFDQSxJQUFJdUMsZ0JBQWdCdEMsTUFBTSxLQUFLLEtBQUs7d0JBQ2xDLE1BQU0yQyxnQkFBZ0IsTUFBTUwsZ0JBQWdCckMsSUFBSTt3QkFDaEQsTUFBTU0sY0FBY29DLGNBQWM3RixJQUFJO3dCQUN0QyxJQUFJNkYsZUFBZXZCLE9BQU87NEJBQ3hCRCxzQkFBc0J3Qjt3QkFDeEI7b0JBQ0YsT0FBTzt3QkFDTCxNQUFNcEMsY0FBYzt3QkFDcEJVO29CQUNGO2dCQUNGLE9BQU87b0JBQ0wsTUFBTVYsY0FBYztvQkFDcEJVO2dCQUNGO1lBQ0Y7UUFDRixFQUFFLE9BQU9kLEdBQUc7WUFDVkMsb0JBQUssQ0FBQ0MsS0FBSyxDQUFDLENBQUMsc0JBQXNCLEVBQUVGLEVBQUVHLE9BQU8sQ0FBQyxDQUFDO1FBQ2xEO0lBQ0YsR0FBRztRQUNEbEM7UUFDQUQ7UUFDQUY7UUFDQU07UUFDQVQ7UUFDQXFEO1FBQ0FGO1FBQ0FWO0tBQ0Q7SUFFRCw2QkFBNkI7SUFDN0JxQyxJQUFBQSxnQkFBUyxFQUFDO1FBQ1IsSUFBSXpELE9BQU8rQixhQUFhL0IsT0FBT0gsVUFBVXlCLE9BQU8sRUFBRTtZQUNoRCxLQUFLMkI7UUFDUDtJQUNGLEdBQUc7UUFBQ0E7UUFBZWpEO0tBQUc7SUFFdEIsd0NBQXdDO0lBQ3hDeUQsSUFBQUEsZ0JBQVMsRUFBQztRQUNSLElBQUl6RCxJQUFJO1lBQ05vQztRQUNGO0lBQ0YsR0FBRztRQUFDekM7UUFBeUJ5QztRQUFlcEM7S0FBRztJQUUvQ3lELElBQUFBLGdCQUFTLEVBQUM7UUFDUi9ELHNCQUFzQitDLEtBQUtILEdBQUc7SUFDaEMsR0FBRztRQUFDbEU7S0FBUztJQUVicUYsSUFBQUEsZ0JBQVMsRUFBQztRQUNSLElBQUlDO1FBQ0osTUFBTXBCLE1BQU1DLEtBQUtDLEtBQUssQ0FBQyxJQUFJQyxPQUFPQyxPQUFPLEtBQUs7UUFDOUMsTUFBTUMsZ0JBQWdCLE9BQU8zRSxvQkFBb0IsV0FBV0Esa0JBQWtCc0UsTUFBTTtRQUVwRixJQUFJSyxnQkFBZ0IsR0FBRztZQUNyQmUsV0FBV2QsV0FDVDtnQkFDRXJELFVBQVU7WUFDWixHQUNBZ0QsS0FBS29CLEdBQUcsQ0FBQ3BCLEtBQUtxQixHQUFHLENBQUMsQUFBQ2pCLENBQUFBLGdCQUFnQixFQUFDLElBQUssTUFBTWxGO1FBRW5EO1FBRUEsT0FBTztZQUNMLElBQUlpRyxVQUFVRyxhQUFhSDtRQUM3QjtJQUNGLEdBQUc7UUFBQzFGO1FBQWlCdUI7S0FBVTtJQUUvQmtFLElBQUFBLGdCQUFTLEVBQUM7UUFDUixJQUFJSztRQUNKLE1BQU14QixNQUFNQyxLQUFLQyxLQUFLLENBQUMsSUFBSUMsT0FBT0MsT0FBTyxLQUFLO1FBQzlDLE1BQU1DLGdCQUFnQixPQUFPM0Usb0JBQW9CLFdBQVdBLGtCQUFrQnNFLE1BQU07UUFFcEYsSUFBSUssZ0JBQWdCLEdBQUc7WUFDckJtQixjQUFjbEIsV0FDWjtnQkFDRSxNQUFNeEIsY0FBYztnQkFDcEJVO2dCQUNBUDtZQUNGLEdBQ0FnQixLQUFLb0IsR0FBRyxDQUFDcEIsS0FBS3FCLEdBQUcsQ0FBQ2pCLGdCQUFnQixNQUFNbEYsaUJBQWlCO1FBRTdEO1FBRUEsT0FBTztZQUNMLElBQUlxRyxhQUFhRCxhQUFhQztRQUNoQztJQUNGLEdBQUc7UUFDRDlGO1FBQ0FzQjtRQUNBRjtRQUNBbUM7UUFDQU87UUFDQVY7S0FDRDtJQUVELHFCQUNFLDZCQUFDN0QsUUFBUXdHLFFBQVE7UUFDZkMsT0FBTztZQUNMZjtZQUNBRDtZQUNBOUQ7WUFDQWtEO1lBQ0FVO1lBQ0E3QztZQUNBckMsU0FBU3dEO1lBQ1RsRDtZQUNBK0QsT0FBT25FO1lBQ1BFO1lBQ0FMO1FBQ0Y7T0FFQ0Q7QUFHUDtBQUVPLE1BQU1KLFVBQVUsSUFBaUMyRyxJQUFBQSxpQkFBVSxFQUFDMUcifQ==
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { Permissions, User } from '../../../../auth/types';
|
|
2
2
|
export type AuthContext<T = User> = {
|
|
3
3
|
fetchFullUser: () => Promise<void>;
|
|
4
|
-
logOut: () => void
|
|
4
|
+
logOut: () => Promise<void>;
|
|
5
5
|
permissions?: Permissions;
|
|
6
6
|
refreshCookie: (forceRefresh?: boolean) => void;
|
|
7
7
|
refreshCookieAsync: () => Promise<User>;
|
|
8
8
|
refreshPermissions: ({ locale }?: {
|
|
9
9
|
locale?: string;
|
|
10
10
|
}) => Promise<void>;
|
|
11
|
-
setUser: (user: T) => void
|
|
11
|
+
setUser: (user: T) => Promise<void>;
|
|
12
12
|
strategy?: string;
|
|
13
13
|
token?: string;
|
|
14
14
|
tokenExpiration?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,IAAI,IAAI;IAClC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,IAAI,IAAI;IAClC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAChB,CAAA"}
|
|
@@ -73,7 +73,7 @@ const Logout = (props)=>{
|
|
|
73
73
|
const query = new URLSearchParams((0, _reactrouterdom.useLocation)().search);
|
|
74
74
|
const redirect = query.get('redirect');
|
|
75
75
|
(0, _react.useEffect)(()=>{
|
|
76
|
-
logOut();
|
|
76
|
+
void logOut();
|
|
77
77
|
}, [
|
|
78
78
|
logOut
|
|
79
79
|
]);
|
|
@@ -93,4 +93,4 @@ const Logout = (props)=>{
|
|
|
93
93
|
};
|
|
94
94
|
const _default = Logout;
|
|
95
95
|
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL0xvZ291dC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uLy4uL2VsZW1lbnRzL0J1dHRvbidcbmltcG9ydCBNaW5pbWFsIGZyb20gJy4uLy4uL3RlbXBsYXRlcy9NaW5pbWFsJ1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BdXRoJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0NvbmZpZydcbmltcG9ydCBNZXRhIGZyb20gJy4uLy4uL3V0aWxpdGllcy9NZXRhJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdsb2dvdXQnXG5cbmNvbnN0IExvZ291dDogUmVhY3QuRkM8eyBpbmFjdGl2aXR5PzogYm9vbGVhbiB9PiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGluYWN0aXZpdHkgfSA9IHByb3BzXG5cbiAgY29uc3QgeyBsb2dPdXQgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7XG4gICAgcm91dGVzOiB7IGFkbWluIH0sXG4gIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhdXRoZW50aWNhdGlvbicpXG5cbiAgLy8gRmV0Y2ggJ3JlZGlyZWN0JyBmcm9tIHRoZSBxdWVyeSBzdHJpbmcgd2hpY2ggZGVub3RlcyB0aGUgVVJMIHRoZSB1c2VyIG9yaWdpbmFsbHkgdHJpZWQgdG8gdmlzaXQuIFRoaXMgaXMgc2V0IGluIHRoZSBSb3V0ZXMudHN4IGZpbGUgd2hlbiBhIHVzZXIgdHJpZXMgdG8gYWNjZXNzIGEgcHJvdGVjdGVkIHJvdXRlIGFuZCBpcyByZWRpcmVjdGVkIHRvIHRoZSBsb2dpbiBzY3JlZW4uXG4gIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1c2VMb2NhdGlvbigpLnNlYXJjaClcbiAgY29uc3QgcmVkaXJlY3QgPSBxdWVyeS5nZXQoJ3JlZGlyZWN0JylcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHZvaWQgbG9nT3V0KClcbiAgfSwgW2xvZ091dF0pXG5cbiAgcmV0dXJuIChcbiAgICA8TWluaW1hbCBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICA8TWV0YSBkZXNjcmlwdGlvbj17dCgnbG9nb3V0VXNlcicpfSBrZXl3b3Jkcz17dCgnbG9nb3V0Jyl9IHRpdGxlPXt0KCdsb2dvdXQnKX0gLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X193cmFwYH0+XG4gICAgICAgIHtpbmFjdGl2aXR5ICYmIDxoMj57dCgnbG9nZ2VkT3V0SW5hY3Rpdml0eScpfTwvaDI+fVxuICAgICAgICB7IWluYWN0aXZpdHkgJiYgPGgyPnt0KCdsb2dnZWRPdXRTdWNjZXNzZnVsbHknKX08L2gyPn1cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIGJ1dHRvblN0eWxlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBlbD1cImFuY2hvclwiXG4gICAgICAgICAgdXJsPXtgJHthZG1pbn0vbG9naW4ke1xuICAgICAgICAgICAgcmVkaXJlY3QgJiYgcmVkaXJlY3QubGVuZ3RoID4gMCA/IGA/cmVkaXJlY3Q9JHtlbmNvZGVVUklDb21wb25lbnQocmVkaXJlY3QpfWAgOiAnJ1xuICAgICAgICAgIH1gfVxuICAgICAgICA+XG4gICAgICAgICAge3QoJ2xvZ0JhY2tJbicpfVxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvTWluaW1hbD5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBMb2dvdXRcbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJMb2dvdXQiLCJwcm9wcyIsImluYWN0aXZpdHkiLCJsb2dPdXQiLCJ1c2VBdXRoIiwicm91dGVzIiwiYWRtaW4iLCJ1c2VDb25maWciLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJxdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwicmVkaXJlY3QiLCJnZXQiLCJ1c2VFZmZlY3QiLCJNaW5pbWFsIiwiY2xhc3NOYW1lIiwiTWV0YSIsImRlc2NyaXB0aW9uIiwia2V5d29yZHMiLCJ0aXRsZSIsImRpdiIsImgyIiwiQnV0dG9uIiwiYnV0dG9uU3R5bGUiLCJlbCIsInVybCIsImxlbmd0aCIsImVuY29kZVVSSUNvbXBvbmVudCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7K0JBa0RBOzs7ZUFBQTs7OytEQWxEaUM7OEJBQ0Y7Z0NBQ0g7K0RBRVQ7Z0VBQ0M7c0JBQ0k7d0JBQ0U7NkRBQ1Q7UUFDVjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQSxZQUFZO0FBRWxCLE1BQU1DLFNBQTZDLENBQUNDO0lBQ2xELE1BQU0sRUFBRUMsVUFBVSxFQUFFLEdBQUdEO0lBRXZCLE1BQU0sRUFBRUUsTUFBTSxFQUFFLEdBQUdDLElBQUFBLGFBQU87SUFDMUIsTUFBTSxFQUNKQyxRQUFRLEVBQUVDLEtBQUssRUFBRSxFQUNsQixHQUFHQyxJQUFBQSxpQkFBUztJQUNiLE1BQU0sRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFN0IsMk5BQTJOO0lBQzNOLE1BQU1DLFFBQVEsSUFBSUMsZ0JBQWdCQyxJQUFBQSwyQkFBVyxJQUFHQyxNQUFNO0lBQ3RELE1BQU1DLFdBQVdKLE1BQU1LLEdBQUcsQ0FBQztJQUUzQkMsSUFBQUEsZ0JBQVMsRUFBQztRQUNSLEtBQUtiO0lBQ1AsR0FBRztRQUFDQTtLQUFPO0lBRVgscUJBQ0UsNkJBQUNjLGdCQUFPO1FBQUNDLFdBQVduQjtxQkFDbEIsNkJBQUNvQixhQUFJO1FBQUNDLGFBQWFaLEVBQUU7UUFBZWEsVUFBVWIsRUFBRTtRQUFXYyxPQUFPZCxFQUFFO3NCQUNwRSw2QkFBQ2U7UUFBSUwsV0FBVyxDQUFDLEVBQUVuQixVQUFVLE1BQU0sQ0FBQztPQUNqQ0csNEJBQWMsNkJBQUNzQixZQUFJaEIsRUFBRSx5QkFDckIsQ0FBQ04sNEJBQWMsNkJBQUNzQixZQUFJaEIsRUFBRSx5Q0FDdkIsNkJBQUNpQixlQUFNO1FBQ0xDLGFBQVk7UUFDWkMsSUFBRztRQUNIQyxLQUFLLENBQUMsRUFBRXRCLE1BQU0sTUFBTSxFQUNsQlEsWUFBWUEsU0FBU2UsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUVDLG1CQUFtQmhCLFVBQVUsQ0FBQyxHQUFHLEdBQ2pGLENBQUM7T0FFRE4sRUFBRTtBQUtiO01BRUEsV0FBZVIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/Edit/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAW7D,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAC1C,uBAAuB,GAAG;IACxB,UAAU,EAAE,UAAU,CAAA;CACvB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/Edit/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAW7D,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAC1C,uBAAuB,GAAG;IACxB,UAAU,EAAE,UAAU,CAAA;CACvB,CA6EF,CAAA"}
|
|
@@ -69,7 +69,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
69
69
|
const baseClass = 'collection-default-edit';
|
|
70
70
|
const DefaultCollectionEdit = (props)=>{
|
|
71
71
|
const { i18n, t } = (0, _reacti18next.useTranslation)('general');
|
|
72
|
-
const { id, apiURL, collection, data, disableActions, disableLeaveWithoutSaving, fieldTypes, hasSavePermission, internalState, isEditing, permissions } = props;
|
|
72
|
+
const { id, apiURL, collection, data, disableActions, disableLeaveWithoutSaving, fieldTypes, hasSavePermission, internalState, isEditing, onSave, permissions } = props;
|
|
73
73
|
const { auth, upload } = collection;
|
|
74
74
|
const [fields] = (0, _react.useState)(()=>(0, _formatFields.default)(collection, isEditing));
|
|
75
75
|
const operation = isEditing ? 'update' : 'create';
|
|
@@ -89,6 +89,7 @@ const DefaultCollectionEdit = (props)=>{
|
|
|
89
89
|
hasSavePermission: hasSavePermission,
|
|
90
90
|
id: id,
|
|
91
91
|
isEditing: isEditing,
|
|
92
|
+
onSave: onSave,
|
|
92
93
|
permissions: permissions
|
|
93
94
|
}), /*#__PURE__*/ _react.default.createElement(_DocumentFields.DocumentFields, {
|
|
94
95
|
BeforeFields: /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, auth && /*#__PURE__*/ _react.default.createElement(_Auth.default, {
|
|
@@ -111,4 +112,4 @@ const DefaultCollectionEdit = (props)=>{
|
|
|
111
112
|
}));
|
|
112
113
|
};
|
|
113
114
|
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvRGVmYXVsdC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9maWVsZC10eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkVkaXRWaWV3UHJvcHMgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5pbXBvcnQgeyBEb2N1bWVudENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRG9jdW1lbnRDb250cm9scydcbmltcG9ydCB7IERvY3VtZW50RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRG9jdW1lbnRGaWVsZHMnXG5pbXBvcnQgeyBMZWF2ZVdpdGhvdXRTYXZpbmcgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RhbHMvTGVhdmVXaXRob3V0U2F2aW5nJ1xuaW1wb3J0IE1ldGEgZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL01ldGEnXG5pbXBvcnQgQXV0aCBmcm9tICcuLi9BdXRoJ1xuaW1wb3J0IHsgU2V0U3RlcE5hdiB9IGZyb20gJy4uL1NldFN0ZXBOYXYnXG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tICcuLi9VcGxvYWQnXG5pbXBvcnQgZm9ybWF0RmllbGRzIGZyb20gJy4uL2Zvcm1hdEZpZWxkcydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnY29sbGVjdGlvbi1kZWZhdWx0LWVkaXQnXG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29sbGVjdGlvbkVkaXQ6IFJlYWN0LkZDPFxuICBDb2xsZWN0aW9uRWRpdFZpZXdQcm9wcyAmIHtcbiAgICBmaWVsZFR5cGVzOiBGaWVsZFR5cGVzXG4gIH1cbj4gPSAocHJvcHMpID0+
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvRGVmYXVsdC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9maWVsZC10eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkVkaXRWaWV3UHJvcHMgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5pbXBvcnQgeyBEb2N1bWVudENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRG9jdW1lbnRDb250cm9scydcbmltcG9ydCB7IERvY3VtZW50RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRG9jdW1lbnRGaWVsZHMnXG5pbXBvcnQgeyBMZWF2ZVdpdGhvdXRTYXZpbmcgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RhbHMvTGVhdmVXaXRob3V0U2F2aW5nJ1xuaW1wb3J0IE1ldGEgZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL01ldGEnXG5pbXBvcnQgQXV0aCBmcm9tICcuLi9BdXRoJ1xuaW1wb3J0IHsgU2V0U3RlcE5hdiB9IGZyb20gJy4uL1NldFN0ZXBOYXYnXG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tICcuLi9VcGxvYWQnXG5pbXBvcnQgZm9ybWF0RmllbGRzIGZyb20gJy4uL2Zvcm1hdEZpZWxkcydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnY29sbGVjdGlvbi1kZWZhdWx0LWVkaXQnXG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29sbGVjdGlvbkVkaXQ6IFJlYWN0LkZDPFxuICBDb2xsZWN0aW9uRWRpdFZpZXdQcm9wcyAmIHtcbiAgICBmaWVsZFR5cGVzOiBGaWVsZFR5cGVzXG4gIH1cbj4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbignZ2VuZXJhbCcpXG5cbiAgY29uc3Qge1xuICAgIGlkLFxuICAgIGFwaVVSTCxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGRhdGEsXG4gICAgZGlzYWJsZUFjdGlvbnMsXG4gICAgZGlzYWJsZUxlYXZlV2l0aG91dFNhdmluZyxcbiAgICBmaWVsZFR5cGVzLFxuICAgIGhhc1NhdmVQZXJtaXNzaW9uLFxuICAgIGludGVybmFsU3RhdGUsXG4gICAgaXNFZGl0aW5nLFxuICAgIG9uU2F2ZSxcbiAgICBwZXJtaXNzaW9ucyxcbiAgfSA9IHByb3BzXG5cbiAgY29uc3QgeyBhdXRoLCB1cGxvYWQgfSA9IGNvbGxlY3Rpb25cblxuICBjb25zdCBbZmllbGRzXSA9IHVzZVN0YXRlKCgpID0+IGZvcm1hdEZpZWxkcyhjb2xsZWN0aW9uLCBpc0VkaXRpbmcpKVxuXG4gIGNvbnN0IG9wZXJhdGlvbiA9IGlzRWRpdGluZyA/ICd1cGRhdGUnIDogJ2NyZWF0ZSdcblxuICByZXR1cm4gKFxuICAgIDxGcmFnbWVudD5cbiAgICAgIDxNZXRhXG4gICAgICAgIGRlc2NyaXB0aW9uPXtgJHtpc0VkaXRpbmcgPyB0KCdlZGl0aW5nJykgOiB0KCdjcmVhdGluZycpfSAtICR7Z2V0VHJhbnNsYXRpb24oXG4gICAgICAgICAgY29sbGVjdGlvbi5sYWJlbHMuc2luZ3VsYXIsXG4gICAgICAgICAgaTE4bixcbiAgICAgICAgKX1gfVxuICAgICAgICBrZXl3b3Jkcz17YCR7Z2V0VHJhbnNsYXRpb24oY29sbGVjdGlvbi5sYWJlbHMuc2luZ3VsYXIsIGkxOG4pfSwgUGF5bG9hZCwgQ01TYH1cbiAgICAgICAgdGl0bGU9e2Ake2lzRWRpdGluZyA/IHQoJ2VkaXRpbmcnKSA6IHQoJ2NyZWF0aW5nJyl9IC0gJHtnZXRUcmFuc2xhdGlvbihcbiAgICAgICAgICBjb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhcixcbiAgICAgICAgICBpMThuLFxuICAgICAgICApfWB9XG4gICAgICAvPlxuICAgICAgeyEoY29sbGVjdGlvbi52ZXJzaW9ucz8uZHJhZnRzICYmIGNvbGxlY3Rpb24udmVyc2lvbnM/LmRyYWZ0cz8uYXV0b3NhdmUpICYmXG4gICAgICAgICFkaXNhYmxlTGVhdmVXaXRob3V0U2F2aW5nICYmIDxMZWF2ZVdpdGhvdXRTYXZpbmcgLz59XG4gICAgICA8U2V0U3RlcE5hdiBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSBpZD17aWR9IGlzRWRpdGluZz17aXNFZGl0aW5nfSAvPlxuICAgICAgPERvY3VtZW50Q29udHJvbHNcbiAgICAgICAgYXBpVVJMPXthcGlVUkx9XG4gICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgIGRhdGE9e2RhdGF9XG4gICAgICAgIGRpc2FibGVBY3Rpb25zPXtkaXNhYmxlQWN0aW9uc31cbiAgICAgICAgaGFzU2F2ZVBlcm1pc3Npb249e2hhc1NhdmVQZXJtaXNzaW9ufVxuICAgICAgICBpZD17aWR9XG4gICAgICAgIGlzRWRpdGluZz17aXNFZGl0aW5nfVxuICAgICAgICBvblNhdmU9e29uU2F2ZX1cbiAgICAgICAgcGVybWlzc2lvbnM9e3Blcm1pc3Npb25zfVxuICAgICAgLz5cbiAgICAgIDxEb2N1bWVudEZpZWxkc1xuICAgICAgICBCZWZvcmVGaWVsZHM9e1xuICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgIHthdXRoICYmIChcbiAgICAgICAgICAgICAgPEF1dGhcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2F1dGhgfVxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgICAgZW1haWw9e2RhdGE/LmVtYWlsfVxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbj17b3BlcmF0aW9ufVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshaGFzU2F2ZVBlcm1pc3Npb259XG4gICAgICAgICAgICAgICAgcmVxdWlyZVBhc3N3b3JkPXshaXNFZGl0aW5nfVxuICAgICAgICAgICAgICAgIHVzZUFQSUtleT17YXV0aC51c2VBUElLZXl9XG4gICAgICAgICAgICAgICAgdmVyaWZ5PXthdXRoLnZlcmlmeX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7dXBsb2FkICYmIDxVcGxvYWQgY29sbGVjdGlvbj17Y29sbGVjdGlvbn0gaW50ZXJuYWxTdGF0ZT17aW50ZXJuYWxTdGF0ZX0gLz59XG4gICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgfVxuICAgICAgICBmaWVsZFR5cGVzPXtmaWVsZFR5cGVzfVxuICAgICAgICBmaWVsZHM9e2ZpZWxkc31cbiAgICAgICAgaGFzU2F2ZVBlcm1pc3Npb249e2hhc1NhdmVQZXJtaXNzaW9ufVxuICAgICAgICBwZXJtaXNzaW9ucz17cGVybWlzc2lvbnN9XG4gICAgICAvPlxuICAgIDwvRnJhZ21lbnQ+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJEZWZhdWx0Q29sbGVjdGlvbkVkaXQiLCJiYXNlQ2xhc3MiLCJwcm9wcyIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJpZCIsImFwaVVSTCIsImNvbGxlY3Rpb24iLCJkYXRhIiwiZGlzYWJsZUFjdGlvbnMiLCJkaXNhYmxlTGVhdmVXaXRob3V0U2F2aW5nIiwiZmllbGRUeXBlcyIsImhhc1NhdmVQZXJtaXNzaW9uIiwiaW50ZXJuYWxTdGF0ZSIsImlzRWRpdGluZyIsIm9uU2F2ZSIsInBlcm1pc3Npb25zIiwiYXV0aCIsInVwbG9hZCIsImZpZWxkcyIsInVzZVN0YXRlIiwiZm9ybWF0RmllbGRzIiwib3BlcmF0aW9uIiwiRnJhZ21lbnQiLCJNZXRhIiwiZGVzY3JpcHRpb24iLCJnZXRUcmFuc2xhdGlvbiIsImxhYmVscyIsInNpbmd1bGFyIiwia2V5d29yZHMiLCJ0aXRsZSIsInZlcnNpb25zIiwiZHJhZnRzIiwiYXV0b3NhdmUiLCJMZWF2ZVdpdGhvdXRTYXZpbmciLCJTZXRTdGVwTmF2IiwiRG9jdW1lbnRDb250cm9scyIsIkRvY3VtZW50RmllbGRzIiwiQmVmb3JlRmllbGRzIiwiQXV0aCIsImNsYXNzTmFtZSIsImVtYWlsIiwicmVhZE9ubHkiLCJyZXF1aXJlUGFzc3dvcmQiLCJ1c2VBUElLZXkiLCJ2ZXJpZnkiLCJVcGxvYWQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFtQmFBOzs7ZUFBQUE7OzsrREFuQjZCOzhCQUNYO2dDQUtBO2tDQUNFO2dDQUNGO29DQUNJOzZEQUNsQjs2REFDQTs0QkFDVTt3QkFDSjtxRUFDRTtRQUNsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQyxZQUFZO0FBRVgsTUFBTUQsd0JBSVQsQ0FBQ0U7SUFDSCxNQUFNLEVBQUVDLElBQUksRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFbkMsTUFBTSxFQUNKQyxFQUFFLEVBQ0ZDLE1BQU0sRUFDTkMsVUFBVSxFQUNWQyxJQUFJLEVBQ0pDLGNBQWMsRUFDZEMseUJBQXlCLEVBQ3pCQyxVQUFVLEVBQ1ZDLGlCQUFpQixFQUNqQkMsYUFBYSxFQUNiQyxTQUFTLEVBQ1RDLE1BQU0sRUFDTkMsV0FBVyxFQUNaLEdBQUdmO0lBRUosTUFBTSxFQUFFZ0IsSUFBSSxFQUFFQyxNQUFNLEVBQUUsR0FBR1g7SUFFekIsTUFBTSxDQUFDWSxPQUFPLEdBQUdDLElBQUFBLGVBQVEsRUFBQyxJQUFNQyxJQUFBQSxxQkFBWSxFQUFDZCxZQUFZTztJQUV6RCxNQUFNUSxZQUFZUixZQUFZLFdBQVc7SUFFekMscUJBQ0UsNkJBQUNTLGVBQVEsc0JBQ1AsNkJBQUNDLGFBQUk7UUFDSEMsYUFBYSxDQUFDLEVBQUVYLFlBQVlYLEVBQUUsYUFBYUEsRUFBRSxZQUFZLEdBQUcsRUFBRXVCLElBQUFBLDhCQUFjLEVBQzFFbkIsV0FBV29CLE1BQU0sQ0FBQ0MsUUFBUSxFQUMxQjFCLE1BQ0EsQ0FBQztRQUNIMkIsVUFBVSxDQUFDLEVBQUVILElBQUFBLDhCQUFjLEVBQUNuQixXQUFXb0IsTUFBTSxDQUFDQyxRQUFRLEVBQUUxQixNQUFNLGNBQWMsQ0FBQztRQUM3RTRCLE9BQU8sQ0FBQyxFQUFFaEIsWUFBWVgsRUFBRSxhQUFhQSxFQUFFLFlBQVksR0FBRyxFQUFFdUIsSUFBQUEsOEJBQWMsRUFDcEVuQixXQUFXb0IsTUFBTSxDQUFDQyxRQUFRLEVBQzFCMUIsTUFDQSxDQUFDO1FBRUosQ0FBRUssQ0FBQUEsV0FBV3dCLFFBQVEsRUFBRUMsVUFBVXpCLFdBQVd3QixRQUFRLEVBQUVDLFFBQVFDLFFBQU8sS0FDcEUsQ0FBQ3ZCLDJDQUE2Qiw2QkFBQ3dCLHNDQUFrQix1QkFDbkQsNkJBQUNDLHNCQUFVO1FBQUM1QixZQUFZQTtRQUFZRixJQUFJQTtRQUFJUyxXQUFXQTtzQkFDdkQsNkJBQUNzQixrQ0FBZ0I7UUFDZjlCLFFBQVFBO1FBQ1JDLFlBQVlBO1FBQ1pDLE1BQU1BO1FBQ05DLGdCQUFnQkE7UUFDaEJHLG1CQUFtQkE7UUFDbkJQLElBQUlBO1FBQ0pTLFdBQVdBO1FBQ1hDLFFBQVFBO1FBQ1JDLGFBQWFBO3NCQUVmLDZCQUFDcUIsOEJBQWM7UUFDYkMsNEJBQ0UsNkJBQUNmLGVBQVEsUUFDTk4sc0JBQ0MsNkJBQUNzQixhQUFJO1lBQ0hDLFdBQVcsQ0FBQyxFQUFFeEMsVUFBVSxNQUFNLENBQUM7WUFDL0JPLFlBQVlBO1lBQ1prQyxPQUFPakMsTUFBTWlDO1lBQ2JuQixXQUFXQTtZQUNYb0IsVUFBVSxDQUFDOUI7WUFDWCtCLGlCQUFpQixDQUFDN0I7WUFDbEI4QixXQUFXM0IsS0FBSzJCLFNBQVM7WUFDekJDLFFBQVE1QixLQUFLNEIsTUFBTTtZQUd0QjNCLHdCQUFVLDZCQUFDNEIsY0FBTTtZQUFDdkMsWUFBWUE7WUFBWU0sZUFBZUE7O1FBRzlERixZQUFZQTtRQUNaUSxRQUFRQTtRQUNSUCxtQkFBbUJBO1FBQ25CSSxhQUFhQTs7QUFJckIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/List/Cell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAsB,KAAK,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/List/Cell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAsB,KAAK,EAAE,MAAM,SAAS,CAAA;AA4GxD,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+BzB,CAAA;AAED,eAAe,IAAI,CAAA"}
|