payload 2.0.0-beta.26 → 2.0.0-beta.27
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/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/Tab/index.js +7 -3
- package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.js +10 -2
- package/dist/admin/components/elements/DocumentHeader/Tabs/types.d.ts +4 -0
- package/dist/admin/components/elements/DocumentHeader/Tabs/types.d.ts.map +1 -1
- package/dist/admin/components/views/Global/Routes/custom.d.ts +2 -2
- package/dist/admin/components/views/Global/Routes/custom.d.ts.map +1 -1
- package/dist/admin/components/views/Global/Routes/custom.js +1 -1
- package/dist/admin/components/views/Global/Routes/index.d.ts.map +1 -1
- package/dist/admin/components/views/Global/Routes/index.js +4 -3
- package/dist/admin/components/views/LivePreview/Preview/index.d.ts +2 -0
- package/dist/admin/components/views/LivePreview/Preview/index.d.ts.map +1 -1
- package/dist/admin/components/views/LivePreview/Preview/index.js +4 -11
- package/dist/admin/components/views/LivePreview/index.d.ts.map +1 -1
- package/dist/admin/components/views/LivePreview/index.js +15 -6
- package/dist/admin/components/views/collections/Edit/Routes/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/Edit/Routes/index.js +4 -3
- package/dist/collections/config/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +2 -10
- package/dist/collections/dataloader.js +2 -2
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +7 -1
- package/dist/config/shared/componentSchema.d.ts +4 -0
- package/dist/config/shared/componentSchema.d.ts.map +1 -1
- package/dist/config/shared/componentSchema.js +13 -1
- package/dist/config/types.d.ts +4 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +1 -1
- package/dist/exports/utilities.d.ts +2 -0
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +9 -1
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +4 -9
- package/dist/globals/config/schema.d.ts.map +1 -1
- package/dist/globals/config/schema.js +2 -10
- package/dist/utilities/getIDType.d.ts +2 -1
- package/dist/utilities/getIDType.d.ts.map +1 -1
- package/dist/utilities/getIDType.js +3 -3
- package/package.json +2 -5
- package/utilities.d.ts +2 -0
- package/utilities.js +9 -1
|
@@ -45,8 +45,14 @@ _export(exports, {
|
|
|
45
45
|
toWords: function() {
|
|
46
46
|
return _formatLabels.toWords;
|
|
47
47
|
},
|
|
48
|
+
getIDType: function() {
|
|
49
|
+
return _getIDType.getIDType;
|
|
50
|
+
},
|
|
48
51
|
getTranslation: function() {
|
|
49
52
|
return _getTranslation.getTranslation;
|
|
53
|
+
},
|
|
54
|
+
isValidID: function() {
|
|
55
|
+
return _isValidID.isValidID;
|
|
50
56
|
}
|
|
51
57
|
});
|
|
52
58
|
const _extractTranslations = require("../translations/extractTranslations");
|
|
@@ -58,11 +64,13 @@ const _deepCopyObject = require("../utilities/deepCopyObject");
|
|
|
58
64
|
const _deepMerge = require("../utilities/deepMerge");
|
|
59
65
|
const _flattenTopLevelFields = /*#__PURE__*/ _interop_require_default(require("../utilities/flattenTopLevelFields"));
|
|
60
66
|
const _formatLabels = require("../utilities/formatLabels");
|
|
67
|
+
const _getIDType = require("../utilities/getIDType");
|
|
61
68
|
const _getTranslation = require("../utilities/getTranslation");
|
|
69
|
+
const _isValidID = require("../utilities/isValidID");
|
|
62
70
|
function _interop_require_default(obj) {
|
|
63
71
|
return obj && obj.__esModule ? obj : {
|
|
64
72
|
default: obj
|
|
65
73
|
};
|
|
66
74
|
}
|
|
67
75
|
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL3V0aWxpdGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBleHRyYWN0VHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vdHJhbnNsYXRpb25zL2V4dHJhY3RUcmFuc2xhdGlvbnMnXG5leHBvcnQgeyBpMThuSW5pdCB9IGZyb20gJy4uL3RyYW5zbGF0aW9ucy9pbml0J1xuXG5leHBvcnQgeyBjb21iaW5lTWVyZ2UgfSBmcm9tICcuLi91dGlsaXRpZXMvY29tYmluZU1lcmdlJ1xuZXhwb3J0IHsgY29uZmlnVG9KU09OU2NoZW1hLCBlbnRpdHlUb0pTT05TY2hlbWEgfSBmcm9tICcuLi91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hJ1xuZXhwb3J0IHsgY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2NyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCdcblxuZXhwb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuLi91dGlsaXRpZXMvZGVlcENvcHlPYmplY3QnXG5leHBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICcuLi91dGlsaXRpZXMvZGVlcE1lcmdlJ1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMgfSBmcm9tICcuLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuZXhwb3J0IHsgZm9ybWF0TGFiZWxzLCBmb3JtYXROYW1lcywgdG9Xb3JkcyB9IGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5leHBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuZXhwb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5leHBvcnQgeyBpc1ZhbGlkSUQgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNWYWxpZElEJ1xuIl0sIm5hbWVzIjpbImV4dHJhY3RUcmFuc2xhdGlvbnMiLCJpMThuSW5pdCIsImNvbWJpbmVNZXJnZSIsImNvbmZpZ1RvSlNPTlNjaGVtYSIsImVudGl0eVRvSlNPTlNjaGVtYSIsImNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCIsImRlZXBDb3B5T2JqZWN0IiwiZGVlcE1lcmdlIiwiZmxhdHRlblRvcExldmVsRmllbGRzIiwiZm9ybWF0TGFiZWxzIiwiZm9ybWF0TmFtZXMiLCJ0b1dvcmRzIiwiZ2V0SURUeXBlIiwiZ2V0VHJhbnNsYXRpb24iLCJpc1ZhbGlkSUQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQVNBLG1CQUFtQjtlQUFuQkEsd0NBQW1COztJQUNuQkMsUUFBUTtlQUFSQSxjQUFROztJQUVSQyxZQUFZO2VBQVpBLDBCQUFZOztJQUNaQyxrQkFBa0I7ZUFBbEJBLHNDQUFrQjs7SUFBRUMsa0JBQWtCO2VBQWxCQSxzQ0FBa0I7O0lBQ3RDQyw4QkFBOEI7ZUFBOUJBLDhEQUE4Qjs7SUFFOUJDLGNBQWM7ZUFBZEEsOEJBQWM7O0lBQ2RDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBQ0VDLHFCQUFxQjtlQUFyQkEsOEJBQXFCOztJQUNoQ0MsWUFBWTtlQUFaQSwwQkFBWTs7SUFBRUMsV0FBVztlQUFYQSx5QkFBVzs7SUFBRUMsT0FBTztlQUFQQSxxQkFBTzs7SUFDbENDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBQ1RDLGNBQWM7ZUFBZEEsOEJBQWM7O0lBQ2RDLFNBQVM7ZUFBVEEsb0JBQVM7OztxQ0Fia0I7c0JBQ1g7OEJBRUk7b0NBQzBCO2dEQUNSO2dDQUVoQjsyQkFDTDs4RUFDdUI7OEJBQ0U7MkJBQ3pCO2dDQUNLOzJCQUNMIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EAEjB,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAOvB,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAqD1D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAwBtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAuB1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAMxD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAsB9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAMtD,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAa/E,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAS9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAetD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAO7E,CAAA;AAuFD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAiB1D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EAEjB,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAOvB,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAqD1D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAwBtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAuB1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAMxD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAsB9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAMtD,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAa/E,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAS9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAetD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAO7E,CAAA;AAuFD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAiB1D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CA8DtE,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAmBxD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAmC1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CASxD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAmBzD,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAqBxD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAkBC"}
|
|
@@ -299,8 +299,8 @@ const upload = (value, options)=>{
|
|
|
299
299
|
return options.t('validation:required');
|
|
300
300
|
}
|
|
301
301
|
if (!_canUseDOM.default && typeof value !== 'undefined' && value !== null) {
|
|
302
|
-
const idField = options
|
|
303
|
-
const type = (0, _getIDType.getIDType)(idField);
|
|
302
|
+
const idField = options?.payload?.collections[options.relationTo]?.config?.fields?.find((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id');
|
|
303
|
+
const type = (0, _getIDType.getIDType)(idField, options?.payload?.db?.defaultIDType);
|
|
304
304
|
if (!(0, _isValidID.isValidID)(value, type)) {
|
|
305
305
|
return options.t('validation:validUploadID');
|
|
306
306
|
}
|
|
@@ -348,12 +348,7 @@ const relationship = async (value, options)=>{
|
|
|
348
348
|
}
|
|
349
349
|
if (requestedID === null) return false;
|
|
350
350
|
const idField = payload.collections[collection]?.config?.fields?.find((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id');
|
|
351
|
-
|
|
352
|
-
if (idField) {
|
|
353
|
-
type = idField.type === 'number' ? 'number' : 'text';
|
|
354
|
-
} else {
|
|
355
|
-
type = 'ObjectID';
|
|
356
|
-
}
|
|
351
|
+
const type = (0, _getIDType.getIDType)(idField, options?.payload?.db?.defaultIDType);
|
|
357
352
|
return !(0, _isValidID.isValidID)(requestedID, type);
|
|
358
353
|
});
|
|
359
354
|
if (invalidRelationships.length > 0) {
|
|
@@ -461,4 +456,4 @@ const _default = {
|
|
|
461
456
|
upload
|
|
462
457
|
};
|
|
463
458
|
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IGNvbnN0IG51bWJlcjogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgTnVtYmVyRmllbGQ+ID0gKFxuICB2YWx1ZTogbnVtYmVyIHwgbnVtYmVyW10sXG4gIHsgaGFzTWFueSwgbWF4LCBtYXhSb3dzLCBtaW4sIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgdG9WYWxpZGF0ZTogbnVtYmVyW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICBmb3IgKGNvbnN0IHZhbHVlVG9WYWxpZGF0ZSBvZiB0b1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgZmxvYXRWYWx1ZSA9IHBhcnNlRmxvYXQodmFsdWVUb1ZhbGlkYXRlIGFzIHVua25vd24gYXMgc3RyaW5nKVxuICAgIGlmIChcbiAgICAgICh2YWx1ZSAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHx8XG4gICAgICAocmVxdWlyZWQgJiYgTnVtYmVyLmlzTmFOKGZsb2F0VmFsdWUpKSB8fFxuICAgICAgKHZhbHVlICYmIE51bWJlci5pc05hTihmbG9hdFZhbHVlKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgJiYgZmxvYXRWYWx1ZSA+IG1heCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtYXgsIHZhbHVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtaW4gPT09ICdudW1iZXInICYmIGZsb2F0VmFsdWUgPCBtaW4pIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluLCB2YWx1ZSB9KVxuICAgIH1cblxuICAgIGlmIChyZXF1aXJlZCAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgdG9WYWxpZGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgIGlmIChtaW5Sb3dzICYmIHRvVmFsaWRhdGUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7XG4gICAgICAgIGxhYmVsOiB0KCdyb3dzJyksXG4gICAgICAgIG1pbjogbWluUm93cyxcbiAgICAgICAgdmFsdWU6IHRvVmFsaWRhdGUubGVuZ3RoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAobWF4Um93cyAmJiB0b1ZhbGlkYXRlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4Jywge1xuICAgICAgICBsYWJlbDogdCgncm93cycpLFxuICAgICAgICBtYXg6IG1heFJvd3MsXG4gICAgICAgIHZhbHVlOiB0b1ZhbGlkYXRlLmxlbmd0aCxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHRleHQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWluTGVuZ3RoLCBwYXlsb2FkLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICh0eXBlb2YgcGF5bG9hZD8uY29uZmlnPy5kZWZhdWx0TWF4VGV4dExlbmd0aCA9PT0gJ251bWJlcicpXG4gICAgbWF4TGVuZ3RoID0gcGF5bG9hZC5jb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG4gIGlmICh2YWx1ZSAmJiBtYXhMZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnLCB7IG1heExlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHZhbHVlICYmIG1pbkxlbmd0aCAmJiB2YWx1ZT8ubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCB2YWx1ZT8ubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHBhc3N3b3JkOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBUZXh0RmllbGQ+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsIG1pbkxlbmd0aCwgcGF5bG9hZCwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAodHlwZW9mIHBheWxvYWQ/LmNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKVxuICAgIG1heExlbmd0aCA9IHBheWxvYWQuY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuXG4gIGlmICh2YWx1ZSAmJiBtYXhMZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnLCB7IG1heExlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHZhbHVlICYmIG1pbkxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPCBtaW5MZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBtaW5MZW5ndGggfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCAmJiAhdmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgZW1haWw6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEVtYWlsRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAoKHZhbHVlICYmICEvXFxTW15cXHNAXSpAXFxTK1xcLlxcUysvLnRlc3QodmFsdWUpKSB8fCAoIXZhbHVlICYmIHJlcXVpcmVkKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVtYWlsQWRkcmVzcycpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdGV4dGFyZWE6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRhcmVhRmllbGQ+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsIG1pbkxlbmd0aCwgcGF5bG9hZCwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAodHlwZW9mIHBheWxvYWQ/LmNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKVxuICAgIG1heExlbmd0aCA9IHBheWxvYWQuY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWUubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNvZGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIENvZGVGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmIChyZXF1aXJlZCAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGpzb246IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEpTT05GaWVsZCAmIHsganNvbkVycm9yPzogc3RyaW5nIH0+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGpzb25FcnJvciwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKGpzb25FcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjaGVja2JveDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQ2hlY2tib3hGaWVsZD4gPSAoXG4gIHZhbHVlOiBib29sZWFuLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKCh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgfHwgKHJlcXVpcmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnRydWVPckZhbHNlJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBkYXRlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBEYXRlRmllbGQ+ID0gKHZhbHVlLCB7IHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlICYmICFpc05hTihEYXRlLnBhcnNlKHZhbHVlLnRvU3RyaW5nKCkpKSkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bm90VmFsaWREYXRlJywgeyB2YWx1ZSB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHJpY2hUZXh0OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBSaWNoVGV4dEZpZWxkLCBSaWNoVGV4dEZpZWxkPiA9IGFzeW5jIChcbiAgdmFsdWUsXG4gIG9wdGlvbnMsXG4pID0+IHtcbiAgY29uc3QgZWRpdG9yOiBSaWNoVGV4dEFkYXB0ZXIgPSBvcHRpb25zPy5lZGl0b3JcblxuICByZXR1cm4gYXdhaXQgZWRpdG9yLnZhbGlkYXRlKHZhbHVlLCBvcHRpb25zKVxufVxuXG5jb25zdCB2YWxpZGF0ZUZpbHRlck9wdGlvbnM6IFZhbGlkYXRlID0gYXN5bmMgKFxuICB2YWx1ZSxcbiAgeyBpZCwgZGF0YSwgZmlsdGVyT3B0aW9ucywgcGF5bG9hZCwgcmVsYXRpb25Ubywgc2libGluZ0RhdGEsIHQsIHVzZXIgfSxcbikgPT4ge1xuICBpZiAoIWNhblVzZURPTSAmJiB0eXBlb2YgZmlsdGVyT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUpIHtcbiAgICBjb25zdCBvcHRpb25zOiB7XG4gICAgICBbY29sbGVjdGlvbjogc3RyaW5nXTogKG51bWJlciB8IHN0cmluZylbXVxuICAgIH0gPSB7fVxuXG4gICAgY29uc3QgY29sbGVjdGlvbnMgPSB0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycgPyBbcmVsYXRpb25Ub10gOiByZWxhdGlvblRvXG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgY29sbGVjdGlvbnMubWFwKGFzeW5jIChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbkZpbHRlciA9XG4gICAgICAgICAgdHlwZW9mIGZpbHRlck9wdGlvbnMgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gYXdhaXQgZmlsdGVyT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhLFxuICAgICAgICAgICAgICAgIHVzZXIsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IGZpbHRlck9wdGlvbnNcblxuICAgICAgICBjb25zdCB2YWx1ZUlEczogKG51bWJlciB8IHN0cmluZylbXSA9IFtdXG5cbiAgICAgICAgdmFsdWVzLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWw/LnZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZUlEcy5wdXNoKHZhbC52YWx1ZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgICAgbGltaXQ6IDAsXG4gICAgICAgICAgcGFnaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIGFuZDogW3sgaWQ6IHsgaW46IHZhbHVlSURzIH0gfSwgb3B0aW9uRmlsdGVyXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuXG4gICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSByZXN1bHQuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmlkKVxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgICAgIGxldCByZXF1ZXN0ZWRJRDogbnVtYmVyIHwgc3RyaW5nXG5cbiAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29sbGVjdGlvbiA9IHJlbGF0aW9uVG9cblxuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9wdGlvbnNbY29sbGVjdGlvbl0uaW5kZXhPZihyZXF1ZXN0ZWRJRCkgPT09IC0xXG4gICAgfSlcblxuICAgIGlmIChpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFJlbGF0aW9uc2hpcHMucmVkdWNlKChlcnIsIGludmFsaWQsIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX0ke1xuICAgICAgICAgIGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA9PT0gaSArIDEgPyAnLCcgOiAnJ1xuICAgICAgICB9IGBcbiAgICAgIH0sIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbnMnKSkgYXMgc3RyaW5nXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB1cGxvYWQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFVwbG9hZEZpZWxkPiA9ICh2YWx1ZTogc3RyaW5nLCBvcHRpb25zKSA9PiB7XG4gIGlmICghdmFsdWUgJiYgb3B0aW9ucy5yZXF1aXJlZCkge1xuICAgIHJldHVybiBvcHRpb25zLnQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKCFjYW5Vc2VET00gJiYgdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGlkRmllbGQgPSBvcHRpb25zLnBheWxvYWQuY29sbGVjdGlvbnNbb3B0aW9ucy5yZWxhdGlvblRvXS5jb25maWcuZmllbGRzLmZpbmQoXG4gICAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gICAgKVxuICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZClcblxuICAgIGlmICghaXNWYWxpZElEKHZhbHVlLCB0eXBlKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMudCgndmFsaWRhdGlvbjp2YWxpZFVwbG9hZElEJylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBSZWxhdGlvbnNoaXBGaWVsZD4gPSBhc3luYyAoXG4gIHZhbHVlOiBSZWxhdGlvbnNoaXBWYWx1ZSxcbiAgb3B0aW9ucyxcbikgPT4ge1xuICBjb25zdCB7IG1heFJvd3MsIG1pblJvd3MsIHBheWxvYWQsIHJlbGF0aW9uVG8sIHJlcXVpcmVkLCB0IH0gPSBvcHRpb25zXG5cbiAgaWYgKCghdmFsdWUgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkpICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMudCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBpZiAobWluUm93cyAmJiB2YWx1ZS5sZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicsIHsgbGFiZWw6IHQoJ3Jvd3MnKSwgbWluOiBtaW5Sb3dzLCB2YWx1ZTogdmFsdWUubGVuZ3RoIH0pXG4gICAgfVxuXG4gICAgaWYgKG1heFJvd3MgJiYgdmFsdWUubGVuZ3RoID4gbWF4Um93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCdyb3dzJyksIG1heDogbWF4Um93cywgdmFsdWU6IHZhbHVlLmxlbmd0aCB9KVxuICAgIH1cbiAgfVxuXG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgICAgIGxldCByZXF1ZXN0ZWRJRFxuXG4gICAgICBpZiAodHlwZW9mIHJlbGF0aW9uVG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbGxlY3Rpb24gPSByZWxhdGlvblRvXG5cbiAgICAgICAgLy8gY3VzdG9tIGlkXG4gICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVlc3RlZElEID09PSBudWxsKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgaWRGaWVsZCA9IHBheWxvYWQuY29sbGVjdGlvbnNbY29sbGVjdGlvbl0/LmNvbmZpZz8uZmllbGRzPy5maW5kKFxuICAgICAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gICAgICApXG4gICAgICBsZXQgdHlwZVxuXG4gICAgICBpZiAoaWRGaWVsZCkge1xuICAgICAgICB0eXBlID0gaWRGaWVsZC50eXBlID09PSAnbnVtYmVyJyA/ICdudW1iZXInIDogJ3RleHQnXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlID0gJ09iamVjdElEJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gIWlzVmFsaWRJRChyZXF1ZXN0ZWRJRCwgdHlwZSlcbiAgICB9KVxuXG4gICAgaWYgKGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBgVGhpcyBmaWVsZCBoYXMgdGhlIGZvbGxvd2luZyBpbnZhbGlkIHNlbGVjdGlvbnM6ICR7aW52YWxpZFJlbGF0aW9uc2hpcHNcbiAgICAgICAgLm1hcCgoZXJyLCBpbnZhbGlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX1gXG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpfWBcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgYXJyYXk6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEFycmF5RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5sZW5ndGggOiAwXG5cbiAgaWYgKG1pblJvd3MgJiYgYXJyYXlMZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogbWluUm93cywgbGFiZWw6IHQoJ3Jvd3MnKSB9KVxuICB9XG5cbiAgaWYgKG1heFJvd3MgJiYgYXJyYXlMZW5ndGggPiBtYXhSb3dzKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNOb01vcmVUaGFuJywgeyBjb3VudDogbWF4Um93cywgbGFiZWw6IHQoJ3Jvd3MnKSB9KVxuICB9XG5cbiAgaWYgKCFhcnJheUxlbmd0aCAmJiByZXF1aXJlZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHsgY291bnQ6IDEsIGxhYmVsOiB0KCdyb3cnKSB9KVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHNlbGVjdDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgU2VsZWN0RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBoYXNNYW55LCBvcHRpb25zLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlLnNvbWUoXG4gICAgICAoaW5wdXQpID0+XG4gICAgICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSBpbnB1dCB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uPy52YWx1ZSA9PT0gaW5wdXQpLFxuICAgICAgICApLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICAgIHZhbHVlID09PSBudWxsIHx8XG4gICAgICAoaGFzTWFueSAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAodmFsdWUgYXMgW10pPy5sZW5ndGggPT09IDApKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcmFkaW86IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFJhZGlvRmllbGQ+ID0gKHZhbHVlLCB7IG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgY29uc3QgdmFsdWVNYXRjaGVzT3B0aW9uID0gb3B0aW9ucy5zb21lKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSB2YWx1ZSB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uLnZhbHVlID09PSB2YWx1ZSksXG4gICAgKVxuICAgIHJldHVybiB2YWx1ZU1hdGNoZXNPcHRpb24gfHwgdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIHJldHVybiByZXF1aXJlZCA/IHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSA6IHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGJsb2NrczogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQmxvY2tGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6IDBcblxuICBpZiAobWluUm93cyAmJiBhcnJheUxlbmd0aCA8IG1pblJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiBtaW5Sb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAobWF4Um93cyAmJiBhcnJheUxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nLCB7IGNvdW50OiBtYXhSb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAoIWFycmF5TGVuZ3RoICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogMSwgbGFiZWw6IHQoJ3JvdycpIH0pXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcG9pbnQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFBvaW50RmllbGQ+ID0gKFxuICB2YWx1ZTogW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXSA9IFsnJywgJyddLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgbG5nID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWVbMF0pKVxuICBjb25zdCBsYXQgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZVsxXSkpXG4gIGlmIChcbiAgICByZXF1aXJlZCAmJlxuICAgICgodmFsdWVbMF0gJiYgdmFsdWVbMV0gJiYgdHlwZW9mIGxuZyAhPT0gJ251bWJlcicgJiYgdHlwZW9mIGxhdCAhPT0gJ251bWJlcicpIHx8XG4gICAgICBOdW1iZXIuaXNOYU4obG5nKSB8fFxuICAgICAgTnVtYmVyLmlzTmFOKGxhdCkgfHxcbiAgICAgIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggIT09IDIpKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc1R3b051bWJlcnMnKVxuICB9XG5cbiAgaWYgKCh2YWx1ZVsxXSAmJiBOdW1iZXIuaXNOYU4obG5nKSkgfHwgKHZhbHVlWzBdICYmIE51bWJlci5pc05hTihsYXQpKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGFycmF5LFxuICBibG9ja3MsXG4gIGNoZWNrYm94LFxuICBjb2RlLFxuICBkYXRlLFxuICBlbWFpbCxcbiAganNvbixcbiAgbnVtYmVyLFxuICBwYXNzd29yZCxcbiAgcG9pbnQsXG4gIHJhZGlvLFxuICByZWxhdGlvbnNoaXAsXG4gIHJpY2hUZXh0LFxuICBzZWxlY3QsXG4gIHRleHQsXG4gIHRleHRhcmVhLFxuICB1cGxvYWQsXG59XG4iXSwibmFtZXMiOlsibnVtYmVyIiwidGV4dCIsInBhc3N3b3JkIiwiZW1haWwiLCJ0ZXh0YXJlYSIsImNvZGUiLCJqc29uIiwiY2hlY2tib3giLCJkYXRlIiwicmljaFRleHQiLCJ1cGxvYWQiLCJyZWxhdGlvbnNoaXAiLCJhcnJheSIsInNlbGVjdCIsInJhZGlvIiwiYmxvY2tzIiwicG9pbnQiLCJ2YWx1ZSIsImhhc01hbnkiLCJtYXgiLCJtYXhSb3dzIiwibWluIiwibWluUm93cyIsInJlcXVpcmVkIiwidCIsInRvVmFsaWRhdGUiLCJBcnJheSIsImlzQXJyYXkiLCJ2YWx1ZVRvVmFsaWRhdGUiLCJmbG9hdFZhbHVlIiwicGFyc2VGbG9hdCIsIk51bWJlciIsImlzTmFOIiwibGFiZWwiLCJsZW5ndGgiLCJtYXhMZW5ndGgiLCJmaWVsZE1heExlbmd0aCIsIm1pbkxlbmd0aCIsInBheWxvYWQiLCJjb25maWciLCJkZWZhdWx0TWF4VGV4dExlbmd0aCIsInRlc3QiLCJ1bmRlZmluZWQiLCJqc29uRXJyb3IiLCJEYXRlIiwicGFyc2UiLCJ0b1N0cmluZyIsIm9wdGlvbnMiLCJlZGl0b3IiLCJ2YWxpZGF0ZSIsInZhbGlkYXRlRmlsdGVyT3B0aW9ucyIsImlkIiwiZGF0YSIsImZpbHRlck9wdGlvbnMiLCJyZWxhdGlvblRvIiwic2libGluZ0RhdGEiLCJ1c2VyIiwiY2FuVXNlRE9NIiwiY29sbGVjdGlvbnMiLCJ2YWx1ZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiY29sbGVjdGlvbiIsIm9wdGlvbkZpbHRlciIsInZhbHVlSURzIiwiZm9yRWFjaCIsInZhbCIsInB1c2giLCJyZXN1bHQiLCJmaW5kIiwiZGVwdGgiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJ3aGVyZSIsImFuZCIsImluIiwiZG9jcyIsImRvYyIsImludmFsaWRSZWxhdGlvbnNoaXBzIiwiZmlsdGVyIiwicmVxdWVzdGVkSUQiLCJpbmRleE9mIiwicmVkdWNlIiwiZXJyIiwiaW52YWxpZCIsImkiLCJKU09OIiwic3RyaW5naWZ5IiwiaWRGaWVsZCIsImZpZWxkcyIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIiwiZ2V0SURUeXBlIiwiaXNWYWxpZElEIiwiam9pbiIsImFycmF5TGVuZ3RoIiwiY291bnQiLCJzb21lIiwiaW5wdXQiLCJvcHRpb24iLCJ2YWx1ZU1hdGNoZXNPcHRpb24iLCJsbmciLCJTdHJpbmciLCJsYXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBMkJhQSxNQUFNO2VBQU5BOztJQXVEQUMsSUFBSTtlQUFKQTs7SUEwQkFDLFFBQVE7ZUFBUkE7O0lBeUJBQyxLQUFLO2VBQUxBOztJQVFBQyxRQUFRO2VBQVJBOztJQXdCQUMsSUFBSTtlQUFKQTs7SUFRQUMsSUFBSTtlQUFKQTs7SUFlQUMsUUFBUTtlQUFSQTs7SUFXQUMsSUFBSTtlQUFKQTs7SUFpQkFDLFFBQVE7ZUFBUkE7O0lBOEZBQyxNQUFNO2VBQU5BOztJQW1CQUMsWUFBWTtlQUFaQTs7SUFxRUFDLEtBQUs7ZUFBTEE7O0lBcUJBQyxNQUFNO2VBQU5BOztJQXFDQUMsS0FBSztlQUFMQTs7SUFXQUMsTUFBTTtlQUFOQTs7SUFxQkFDLEtBQUs7ZUFBTEE7O0lBdUJiLE9Ba0JDO2VBbEJEOzs7a0VBemVzQjsyQkFDSTsyQkFDQTt1QkFDTzs7Ozs7O0FBRTFCLE1BQU1oQixTQUFrRCxDQUM3RGlCLE9BQ0EsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRXBELE1BQU1DLGFBQXVCQyxNQUFNQyxPQUFPLENBQUNWLFNBQVNBLFFBQVE7UUFBQ0E7S0FBTTtJQUVuRSxnREFBZ0Q7SUFDaEQsS0FBSyxNQUFNVyxtQkFBbUJILFdBQVk7UUFDeEMsTUFBTUksYUFBYUMsV0FBV0Y7UUFDOUIsSUFDRSxBQUFDWCxTQUFTLE9BQU9ZLGVBQWUsWUFDL0JOLFlBQVlRLE9BQU9DLEtBQUssQ0FBQ0gsZUFDekJaLFNBQVNjLE9BQU9DLEtBQUssQ0FBQ0gsYUFDdkI7WUFDQSxPQUFPTCxFQUFFO1FBQ1g7UUFFQSxJQUFJLE9B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
|
|
459
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IGNvbnN0IG51bWJlcjogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgTnVtYmVyRmllbGQ+ID0gKFxuICB2YWx1ZTogbnVtYmVyIHwgbnVtYmVyW10sXG4gIHsgaGFzTWFueSwgbWF4LCBtYXhSb3dzLCBtaW4sIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgdG9WYWxpZGF0ZTogbnVtYmVyW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICBmb3IgKGNvbnN0IHZhbHVlVG9WYWxpZGF0ZSBvZiB0b1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgZmxvYXRWYWx1ZSA9IHBhcnNlRmxvYXQodmFsdWVUb1ZhbGlkYXRlIGFzIHVua25vd24gYXMgc3RyaW5nKVxuICAgIGlmIChcbiAgICAgICh2YWx1ZSAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHx8XG4gICAgICAocmVxdWlyZWQgJiYgTnVtYmVyLmlzTmFOKGZsb2F0VmFsdWUpKSB8fFxuICAgICAgKHZhbHVlICYmIE51bWJlci5pc05hTihmbG9hdFZhbHVlKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgJiYgZmxvYXRWYWx1ZSA+IG1heCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtYXgsIHZhbHVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtaW4gPT09ICdudW1iZXInICYmIGZsb2F0VmFsdWUgPCBtaW4pIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluLCB2YWx1ZSB9KVxuICAgIH1cblxuICAgIGlmIChyZXF1aXJlZCAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgdG9WYWxpZGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgIGlmIChtaW5Sb3dzICYmIHRvVmFsaWRhdGUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7XG4gICAgICAgIGxhYmVsOiB0KCdyb3dzJyksXG4gICAgICAgIG1pbjogbWluUm93cyxcbiAgICAgICAgdmFsdWU6IHRvVmFsaWRhdGUubGVuZ3RoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAobWF4Um93cyAmJiB0b1ZhbGlkYXRlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4Jywge1xuICAgICAgICBsYWJlbDogdCgncm93cycpLFxuICAgICAgICBtYXg6IG1heFJvd3MsXG4gICAgICAgIHZhbHVlOiB0b1ZhbGlkYXRlLmxlbmd0aCxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHRleHQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWluTGVuZ3RoLCBwYXlsb2FkLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICh0eXBlb2YgcGF5bG9hZD8uY29uZmlnPy5kZWZhdWx0TWF4VGV4dExlbmd0aCA9PT0gJ251bWJlcicpXG4gICAgbWF4TGVuZ3RoID0gcGF5bG9hZC5jb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG4gIGlmICh2YWx1ZSAmJiBtYXhMZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnLCB7IG1heExlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHZhbHVlICYmIG1pbkxlbmd0aCAmJiB2YWx1ZT8ubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCB2YWx1ZT8ubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHBhc3N3b3JkOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBUZXh0RmllbGQ+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsIG1pbkxlbmd0aCwgcGF5bG9hZCwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAodHlwZW9mIHBheWxvYWQ/LmNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKVxuICAgIG1heExlbmd0aCA9IHBheWxvYWQuY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuXG4gIGlmICh2YWx1ZSAmJiBtYXhMZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnLCB7IG1heExlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHZhbHVlICYmIG1pbkxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPCBtaW5MZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBtaW5MZW5ndGggfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCAmJiAhdmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgZW1haWw6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEVtYWlsRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAoKHZhbHVlICYmICEvXFxTW15cXHNAXSpAXFxTK1xcLlxcUysvLnRlc3QodmFsdWUpKSB8fCAoIXZhbHVlICYmIHJlcXVpcmVkKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVtYWlsQWRkcmVzcycpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdGV4dGFyZWE6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRhcmVhRmllbGQ+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsIG1pbkxlbmd0aCwgcGF5bG9hZCwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAodHlwZW9mIHBheWxvYWQ/LmNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKVxuICAgIG1heExlbmd0aCA9IHBheWxvYWQuY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWUubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNvZGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIENvZGVGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmIChyZXF1aXJlZCAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGpzb246IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEpTT05GaWVsZCAmIHsganNvbkVycm9yPzogc3RyaW5nIH0+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGpzb25FcnJvciwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKGpzb25FcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjaGVja2JveDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQ2hlY2tib3hGaWVsZD4gPSAoXG4gIHZhbHVlOiBib29sZWFuLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKCh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgfHwgKHJlcXVpcmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnRydWVPckZhbHNlJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBkYXRlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBEYXRlRmllbGQ+ID0gKHZhbHVlLCB7IHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlICYmICFpc05hTihEYXRlLnBhcnNlKHZhbHVlLnRvU3RyaW5nKCkpKSkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bm90VmFsaWREYXRlJywgeyB2YWx1ZSB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHJpY2hUZXh0OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBSaWNoVGV4dEZpZWxkLCBSaWNoVGV4dEZpZWxkPiA9IGFzeW5jIChcbiAgdmFsdWUsXG4gIG9wdGlvbnMsXG4pID0+IHtcbiAgY29uc3QgZWRpdG9yOiBSaWNoVGV4dEFkYXB0ZXIgPSBvcHRpb25zPy5lZGl0b3JcblxuICByZXR1cm4gYXdhaXQgZWRpdG9yLnZhbGlkYXRlKHZhbHVlLCBvcHRpb25zKVxufVxuXG5jb25zdCB2YWxpZGF0ZUZpbHRlck9wdGlvbnM6IFZhbGlkYXRlID0gYXN5bmMgKFxuICB2YWx1ZSxcbiAgeyBpZCwgZGF0YSwgZmlsdGVyT3B0aW9ucywgcGF5bG9hZCwgcmVsYXRpb25Ubywgc2libGluZ0RhdGEsIHQsIHVzZXIgfSxcbikgPT4ge1xuICBpZiAoIWNhblVzZURPTSAmJiB0eXBlb2YgZmlsdGVyT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUpIHtcbiAgICBjb25zdCBvcHRpb25zOiB7XG4gICAgICBbY29sbGVjdGlvbjogc3RyaW5nXTogKG51bWJlciB8IHN0cmluZylbXVxuICAgIH0gPSB7fVxuXG4gICAgY29uc3QgY29sbGVjdGlvbnMgPSB0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycgPyBbcmVsYXRpb25Ub10gOiByZWxhdGlvblRvXG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgY29sbGVjdGlvbnMubWFwKGFzeW5jIChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbkZpbHRlciA9XG4gICAgICAgICAgdHlwZW9mIGZpbHRlck9wdGlvbnMgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gYXdhaXQgZmlsdGVyT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhLFxuICAgICAgICAgICAgICAgIHVzZXIsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IGZpbHRlck9wdGlvbnNcblxuICAgICAgICBjb25zdCB2YWx1ZUlEczogKG51bWJlciB8IHN0cmluZylbXSA9IFtdXG5cbiAgICAgICAgdmFsdWVzLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWw/LnZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZUlEcy5wdXNoKHZhbC52YWx1ZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgICAgbGltaXQ6IDAsXG4gICAgICAgICAgcGFnaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIGFuZDogW3sgaWQ6IHsgaW46IHZhbHVlSURzIH0gfSwgb3B0aW9uRmlsdGVyXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuXG4gICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSByZXN1bHQuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmlkKVxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgICAgIGxldCByZXF1ZXN0ZWRJRDogbnVtYmVyIHwgc3RyaW5nXG5cbiAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29sbGVjdGlvbiA9IHJlbGF0aW9uVG9cblxuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9wdGlvbnNbY29sbGVjdGlvbl0uaW5kZXhPZihyZXF1ZXN0ZWRJRCkgPT09IC0xXG4gICAgfSlcblxuICAgIGlmIChpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFJlbGF0aW9uc2hpcHMucmVkdWNlKChlcnIsIGludmFsaWQsIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX0ke1xuICAgICAgICAgIGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA9PT0gaSArIDEgPyAnLCcgOiAnJ1xuICAgICAgICB9IGBcbiAgICAgIH0sIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbnMnKSkgYXMgc3RyaW5nXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB1cGxvYWQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFVwbG9hZEZpZWxkPiA9ICh2YWx1ZTogc3RyaW5nLCBvcHRpb25zKSA9PiB7XG4gIGlmICghdmFsdWUgJiYgb3B0aW9ucy5yZXF1aXJlZCkge1xuICAgIHJldHVybiBvcHRpb25zLnQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKCFjYW5Vc2VET00gJiYgdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGlkRmllbGQgPSBvcHRpb25zPy5wYXlsb2FkPy5jb2xsZWN0aW9uc1tvcHRpb25zLnJlbGF0aW9uVG9dPy5jb25maWc/LmZpZWxkcz8uZmluZChcbiAgICAgIChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgICApXG4gICAgY29uc3QgdHlwZSA9IGdldElEVHlwZShpZEZpZWxkLCBvcHRpb25zPy5wYXlsb2FkPy5kYj8uZGVmYXVsdElEVHlwZSlcblxuICAgIGlmICghaXNWYWxpZElEKHZhbHVlLCB0eXBlKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMudCgndmFsaWRhdGlvbjp2YWxpZFVwbG9hZElEJylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBSZWxhdGlvbnNoaXBGaWVsZD4gPSBhc3luYyAoXG4gIHZhbHVlOiBSZWxhdGlvbnNoaXBWYWx1ZSxcbiAgb3B0aW9ucyxcbikgPT4ge1xuICBjb25zdCB7IG1heFJvd3MsIG1pblJvd3MsIHBheWxvYWQsIHJlbGF0aW9uVG8sIHJlcXVpcmVkLCB0IH0gPSBvcHRpb25zXG5cbiAgaWYgKCghdmFsdWUgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkpICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMudCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBpZiAobWluUm93cyAmJiB2YWx1ZS5sZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicsIHsgbGFiZWw6IHQoJ3Jvd3MnKSwgbWluOiBtaW5Sb3dzLCB2YWx1ZTogdmFsdWUubGVuZ3RoIH0pXG4gICAgfVxuXG4gICAgaWYgKG1heFJvd3MgJiYgdmFsdWUubGVuZ3RoID4gbWF4Um93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCdyb3dzJyksIG1heDogbWF4Um93cywgdmFsdWU6IHZhbHVlLmxlbmd0aCB9KVxuICAgIH1cbiAgfVxuXG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgICAgIGxldCByZXF1ZXN0ZWRJRFxuXG4gICAgICBpZiAodHlwZW9mIHJlbGF0aW9uVG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbGxlY3Rpb24gPSByZWxhdGlvblRvXG5cbiAgICAgICAgLy8gY3VzdG9tIGlkXG4gICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVlc3RlZElEID09PSBudWxsKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgaWRGaWVsZCA9IHBheWxvYWQuY29sbGVjdGlvbnNbY29sbGVjdGlvbl0/LmNvbmZpZz8uZmllbGRzPy5maW5kKFxuICAgICAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gICAgICApXG5cbiAgICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgb3B0aW9ucz8ucGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICAgIHJldHVybiAhaXNWYWxpZElEKHJlcXVlc3RlZElELCB0eXBlKVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGBUaGlzIGZpZWxkIGhhcyB0aGUgZm9sbG93aW5nIGludmFsaWQgc2VsZWN0aW9uczogJHtpbnZhbGlkUmVsYXRpb25zaGlwc1xuICAgICAgICAubWFwKChlcnIsIGludmFsaWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYCR7ZXJyfSAke0pTT04uc3RyaW5naWZ5KGludmFsaWQpfWBcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oJywgJyl9YFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZUZpbHRlck9wdGlvbnModmFsdWUsIG9wdGlvbnMpXG59XG5cbmV4cG9ydCBjb25zdCBhcnJheTogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQXJyYXlGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6IDBcblxuICBpZiAobWluUm93cyAmJiBhcnJheUxlbmd0aCA8IG1pblJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiBtaW5Sb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAobWF4Um93cyAmJiBhcnJheUxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nLCB7IGNvdW50OiBtYXhSb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAoIWFycmF5TGVuZ3RoICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogMSwgbGFiZWw6IHQoJ3JvdycpIH0pXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBTZWxlY3RGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IGhhc01hbnksIG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgdmFsdWUuc29tZShcbiAgICAgIChpbnB1dCkgPT5cbiAgICAgICAgIW9wdGlvbnMuc29tZShcbiAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IGlucHV0IHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24/LnZhbHVlID09PSBpbnB1dCksXG4gICAgICAgICksXG4gICAgKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmXG4gICAgIW9wdGlvbnMuc29tZShcbiAgICAgIChvcHRpb24pID0+IG9wdGlvbiA9PT0gdmFsdWUgfHwgKHR5cGVvZiBvcHRpb24gIT09ICdzdHJpbmcnICYmIG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgcmVxdWlyZWQgJiZcbiAgICAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdmFsdWUgPT09IG51bGwgfHxcbiAgICAgIChoYXNNYW55ICYmIEFycmF5LmlzQXJyYXkodmFsdWUpICYmICh2YWx1ZSBhcyBbXSk/Lmxlbmd0aCA9PT0gMCkpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCByYWRpbzogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUmFkaW9GaWVsZD4gPSAodmFsdWUsIHsgb3B0aW9ucywgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAodmFsdWUpIHtcbiAgICBjb25zdCB2YWx1ZU1hdGNoZXNPcHRpb24gPSBvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICAgcmV0dXJuIHZhbHVlTWF0Y2hlc09wdGlvbiB8fCB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgcmV0dXJuIHJlcXVpcmVkID8gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpIDogdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgYmxvY2tzOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBCbG9ja0ZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUubGVuZ3RoIDogMFxuXG4gIGlmIChtaW5Sb3dzICYmIGFycmF5TGVuZ3RoIDwgbWluUm93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHsgY291bnQ6IG1pblJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmIChtYXhSb3dzICYmIGFycmF5TGVuZ3RoID4gbWF4Um93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzTm9Nb3JlVGhhbicsIHsgY291bnQ6IG1heFJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmICghYXJyYXlMZW5ndGggJiYgcmVxdWlyZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiAxLCBsYWJlbDogdCgncm93JykgfSlcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBwb2ludDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUG9pbnRGaWVsZD4gPSAoXG4gIHZhbHVlOiBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmddID0gWycnLCAnJ10sXG4gIHsgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBjb25zdCBsbmcgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZVswXSkpXG4gIGNvbnN0IGxhdCA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbHVlWzFdKSlcbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKCh2YWx1ZVswXSAmJiB2YWx1ZVsxXSAmJiB0eXBlb2YgbG5nICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgbGF0ICE9PSAnbnVtYmVyJykgfHxcbiAgICAgIE51bWJlci5pc05hTihsbmcpIHx8XG4gICAgICBOdW1iZXIuaXNOYU4obGF0KSB8fFxuICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCAhPT0gMikpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzVHdvTnVtYmVycycpXG4gIH1cblxuICBpZiAoKHZhbHVlWzFdICYmIE51bWJlci5pc05hTihsbmcpKSB8fCAodmFsdWVbMF0gJiYgTnVtYmVyLmlzTmFOKGxhdCkpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgYXJyYXksXG4gIGJsb2NrcyxcbiAgY2hlY2tib3gsXG4gIGNvZGUsXG4gIGRhdGUsXG4gIGVtYWlsLFxuICBqc29uLFxuICBudW1iZXIsXG4gIHBhc3N3b3JkLFxuICBwb2ludCxcbiAgcmFkaW8sXG4gIHJlbGF0aW9uc2hpcCxcbiAgcmljaFRleHQsXG4gIHNlbGVjdCxcbiAgdGV4dCxcbiAgdGV4dGFyZWEsXG4gIHVwbG9hZCxcbn1cbiJdLCJuYW1lcyI6WyJudW1iZXIiLCJ0ZXh0IiwicGFzc3dvcmQiLCJlbWFpbCIsInRleHRhcmVhIiwiY29kZSIsImpzb24iLCJjaGVja2JveCIsImRhdGUiLCJyaWNoVGV4dCIsInVwbG9hZCIsInJlbGF0aW9uc2hpcCIsImFycmF5Iiwic2VsZWN0IiwicmFkaW8iLCJibG9ja3MiLCJwb2ludCIsInZhbHVlIiwiaGFzTWFueSIsIm1heCIsIm1heFJvd3MiLCJtaW4iLCJtaW5Sb3dzIiwicmVxdWlyZWQiLCJ0IiwidG9WYWxpZGF0ZSIsIkFycmF5IiwiaXNBcnJheSIsInZhbHVlVG9WYWxpZGF0ZSIsImZsb2F0VmFsdWUiLCJwYXJzZUZsb2F0IiwiTnVtYmVyIiwiaXNOYU4iLCJsYWJlbCIsImxlbmd0aCIsIm1heExlbmd0aCIsImZpZWxkTWF4TGVuZ3RoIiwibWluTGVuZ3RoIiwicGF5bG9hZCIsImNvbmZpZyIsImRlZmF1bHRNYXhUZXh0TGVuZ3RoIiwidGVzdCIsInVuZGVmaW5lZCIsImpzb25FcnJvciIsIkRhdGUiLCJwYXJzZSIsInRvU3RyaW5nIiwib3B0aW9ucyIsImVkaXRvciIsInZhbGlkYXRlIiwidmFsaWRhdGVGaWx0ZXJPcHRpb25zIiwiaWQiLCJkYXRhIiwiZmlsdGVyT3B0aW9ucyIsInJlbGF0aW9uVG8iLCJzaWJsaW5nRGF0YSIsInVzZXIiLCJjYW5Vc2VET00iLCJjb2xsZWN0aW9ucyIsInZhbHVlcyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJjb2xsZWN0aW9uIiwib3B0aW9uRmlsdGVyIiwidmFsdWVJRHMiLCJmb3JFYWNoIiwidmFsIiwicHVzaCIsInJlc3VsdCIsImZpbmQiLCJkZXB0aCIsImxpbWl0IiwicGFnaW5hdGlvbiIsIndoZXJlIiwiYW5kIiwiaW4iLCJkb2NzIiwiZG9jIiwiaW52YWxpZFJlbGF0aW9uc2hpcHMiLCJmaWx0ZXIiLCJyZXF1ZXN0ZWRJRCIsImluZGV4T2YiLCJyZWR1Y2UiLCJlcnIiLCJpbnZhbGlkIiwiaSIsIkpTT04iLCJzdHJpbmdpZnkiLCJpZEZpZWxkIiwiZmllbGRzIiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsInR5cGUiLCJnZXRJRFR5cGUiLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJpc1ZhbGlkSUQiLCJqb2luIiwiYXJyYXlMZW5ndGgiLCJjb3VudCIsInNvbWUiLCJpbnB1dCIsIm9wdGlvbiIsInZhbHVlTWF0Y2hlc09wdGlvbiIsImxuZyIsIlN0cmluZyIsImxhdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUEyQmFBLE1BQU07ZUFBTkE7O0lBdURBQyxJQUFJO2VBQUpBOztJQTBCQUMsUUFBUTtlQUFSQTs7SUF5QkFDLEtBQUs7ZUFBTEE7O0lBUUFDLFFBQVE7ZUFBUkE7O0lBd0JBQyxJQUFJO2VBQUpBOztJQVFBQyxJQUFJO2VBQUpBOztJQWVBQyxRQUFRO2VBQVJBOztJQVdBQyxJQUFJO2VBQUpBOztJQWlCQUMsUUFBUTtlQUFSQTs7SUE4RkFDLE1BQU07ZUFBTkE7O0lBbUJBQyxZQUFZO2VBQVpBOztJQWdFQUMsS0FBSztlQUFMQTs7SUFxQkFDLE1BQU07ZUFBTkE7O0lBcUNBQyxLQUFLO2VBQUxBOztJQVdBQyxNQUFNO2VBQU5BOztJQXFCQUMsS0FBSztlQUFMQTs7SUF1QmIsT0FrQkM7ZUFsQkQ7OztrRUFwZXNCOzJCQUNJOzJCQUNBO3VCQUNPOzs7Ozs7QUFFMUIsTUFBTWhCLFNBQWtELENBQzdEaUIsT0FDQSxFQUFFQyxPQUFPLEVBQUVDLEdBQUcsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFFcEQsTUFBTUMsYUFBdUJDLE1BQU1DLE9BQU8sQ0FBQ1YsU0FBU0EsUUFBUTtRQUFDQTtLQUFNO0lBRW5FLGdEQUFnRDtJQUNoRCxLQUFLLE1BQU1XLG1CQUFtQkgsV0FBWTtRQUN4QyxNQUFNSSxhQUFhQyxXQUFXRjtRQUM5QixJQUNFLEFBQUNYLFNBQVMsT0FBT1ksZUFBZSxZQUMvQk4sWUFBWVEsT0FBT0MsS0FBSyxDQUFDSCxlQUN6QlosU0FBU2MsT0FBT0MsS0FBSyxDQUFDSCxhQUN2QjtZQUNBLE9BQU9MLEVBQUU7UUFDWDtRQUVBLElBQUksT0FBT0wsUUFBUSxZQUFZ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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/globals/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/globals/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AASrB,QAAA,MAAM,YAAY,uBAgFN,CAAA;AAEZ,eAAe,YAAY,CAAA"}
|
|
@@ -43,15 +43,7 @@ const globalSchema = _joi.default.object().keys({
|
|
|
43
43
|
])),
|
|
44
44
|
hidden: _joi.default.alternatives().try(_joi.default.boolean(), _joi.default.func()),
|
|
45
45
|
hideAPIURL: _joi.default.boolean(),
|
|
46
|
-
livePreview: _joi.default.object(
|
|
47
|
-
breakpoints: _joi.default.array().items(_joi.default.object({
|
|
48
|
-
name: _joi.default.string(),
|
|
49
|
-
height: _joi.default.alternatives().try(_joi.default.number(), _joi.default.string()),
|
|
50
|
-
label: _joi.default.string(),
|
|
51
|
-
width: _joi.default.alternatives().try(_joi.default.number(), _joi.default.string())
|
|
52
|
-
})),
|
|
53
|
-
url: _joi.default.alternatives().try(_joi.default.string(), _joi.default.func())
|
|
54
|
-
}),
|
|
46
|
+
livePreview: _joi.default.object(_componentSchema.livePreviewSchema),
|
|
55
47
|
preview: _joi.default.func()
|
|
56
48
|
}),
|
|
57
49
|
custom: _joi.default.object().pattern(_joi.default.string(), _joi.default.any()),
|
|
@@ -85,4 +77,4 @@ const globalSchema = _joi.default.object().keys({
|
|
|
85
77
|
}).unknown();
|
|
86
78
|
const _default = globalSchema;
|
|
87
79
|
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nbG9iYWxzL2NvbmZpZy9zY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGpvaSBmcm9tICdqb2knXG5cbmltcG9ydCB7IGVuZHBvaW50c1NjaGVtYSB9IGZyb20gJy4uLy4uL2NvbmZpZy9zY2hlbWEnXG5pbXBvcnQge1xuICBjb21wb25lbnRTY2hlbWEsXG4gIGN1c3RvbVZpZXdTY2hlbWEsXG4gIGxpdmVQcmV2aWV3U2NoZW1hLFxufSBmcm9tICcuLi8uLi9jb25maWcvc2hhcmVkL2NvbXBvbmVudFNjaGVtYSdcblxuY29uc3QgZ2xvYmFsU2NoZW1hID0gam9pXG4gIC5vYmplY3QoKVxuICAua2V5cyh7XG4gICAgYWNjZXNzOiBqb2kub2JqZWN0KHtcbiAgICAgIHJlYWQ6IGpvaS5mdW5jKCksXG4gICAgICByZWFkVmVyc2lvbnM6IGpvaS5mdW5jKCksXG4gICAgICB1cGRhdGU6IGpvaS5mdW5jKCksXG4gICAgfSksXG4gICAgYWRtaW46IGpvaS5vYmplY3Qoe1xuICAgICAgY29tcG9uZW50czogam9pLm9iamVjdCh7XG4gICAgICAgIGVsZW1lbnRzOiBqb2kub2JqZWN0KHtcbiAgICAgICAgICBQcmV2aWV3QnV0dG9uOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgICAgUHVibGlzaEJ1dHRvbjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgICAgIFNhdmVCdXR0b246IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgICBTYXZlRHJhZnRCdXR0b246IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgfSksXG4gICAgICAgIHZpZXdzOiBqb2kub2JqZWN0KHtcbiAgICAgICAgICBFZGl0OiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICAgICAgY29tcG9uZW50U2NoZW1hLFxuICAgICAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgICAgIERlZmF1bHQ6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoY29tcG9uZW50U2NoZW1hLCBjdXN0b21WaWV3U2NoZW1hKSxcbiAgICAgICAgICAgICAgVmVyc2lvbnM6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoY29tcG9uZW50U2NoZW1hLCBjdXN0b21WaWV3U2NoZW1hKSxcbiAgICAgICAgICAgICAgLy8gVmVyc2lvblxuICAgICAgICAgICAgICAvLyBQcmV2aWV3XG4gICAgICAgICAgICAgIC8vIFJlbGF0aW9uc2hpcHNcbiAgICAgICAgICAgICAgLy8gUmVmZXJlbmNlc1xuICAgICAgICAgICAgICAvLyBBUElcbiAgICAgICAgICAgICAgLy8gOnBhdGhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgIH0pLFxuICAgICAgfSksXG4gICAgICBkZXNjcmlwdGlvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBncm91cDogam9pXG4gICAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICAgICAgaGlkZGVuOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5ib29sZWFuKCksIGpvaS5mdW5jKCkpLFxuICAgICAgaGlkZUFQSVVSTDogam9pLmJvb2xlYW4oKSxcbiAgICAgIGxpdmVQcmV2aWV3OiBqb2kub2JqZWN0KGxpdmVQcmV2aWV3U2NoZW1hKSxcbiAgICAgIHByZXZpZXc6IGpvaS5mdW5jKCksXG4gICAgfSksXG4gICAgY3VzdG9tOiBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIGpvaS5hbnkoKSksXG4gICAgZW5kcG9pbnRzOiBlbmRwb2ludHNTY2hlbWEsXG4gICAgZmllbGRzOiBqb2kuYXJyYXkoKSxcbiAgICBncmFwaFFMOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgICBuYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgICB9KSxcbiAgICAgIGpvaS5ib29sZWFuKCksXG4gICAgKSxcbiAgICBob29rczogam9pLm9iamVjdCh7XG4gICAgICBhZnRlckNoYW5nZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgICBhZnRlclJlYWQ6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgICAgYmVmb3JlQ2hhbmdlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICAgIGJlZm9yZVJlYWQ6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgICAgYmVmb3JlVmFsaWRhdGU6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIH0pLFxuICAgIGxhYmVsOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICAgIHNsdWc6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgIHR5cGVzY3JpcHQ6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgIGludGVyZmFjZTogam9pLnN0cmluZygpLFxuICAgIH0pLFxuICAgIHZlcnNpb25zOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgIGRyYWZ0czogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICAgIGF1dG9zYXZlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICAgICAgICBqb2kuYm9vbGVhbigpLFxuICAgICAgICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICAgICAgICBpbnRlcnZhbDogam9pLm51bWJlcigpLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgam9pLmJvb2xlYW4oKSxcbiAgICAgICAgKSxcbiAgICAgICAgbWF4OiBqb2kubnVtYmVyKCksXG4gICAgICB9KSxcbiAgICAgIGpvaS5ib29sZWFuKCksXG4gICAgKSxcbiAgfSlcbiAgLnVua25vd24oKVxuXG5leHBvcnQgZGVmYXVsdCBnbG9iYWxTY2hlbWFcbiJdLCJuYW1lcyI6WyJnbG9iYWxTY2hlbWEiLCJqb2kiLCJvYmplY3QiLCJrZXlzIiwiYWNjZXNzIiwicmVhZCIsImZ1bmMiLCJyZWFkVmVyc2lvbnMiLCJ1cGRhdGUiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJlbGVtZW50cyIsIlByZXZpZXdCdXR0b24iLCJjb21wb25lbnRTY2hlbWEiLCJQdWJsaXNoQnV0dG9uIiwiU2F2ZUJ1dHRvbiIsIlNhdmVEcmFmdEJ1dHRvbiIsInZpZXdzIiwiRWRpdCIsImFsdGVybmF0aXZlcyIsInRyeSIsIkRlZmF1bHQiLCJjdXN0b21WaWV3U2NoZW1hIiwiVmVyc2lvbnMiLCJkZXNjcmlwdGlvbiIsInN0cmluZyIsImdyb3VwIiwicGF0dGVybiIsImhpZGRlbiIsImJvb2xlYW4iLCJoaWRlQVBJVVJMIiwibGl2ZVByZXZpZXciLCJsaXZlUHJldmlld1NjaGVtYSIsInByZXZpZXciLCJjdXN0b20iLCJhbnkiLCJlbmRwb2ludHMiLCJlbmRwb2ludHNTY2hlbWEiLCJmaWVsZHMiLCJhcnJheSIsImdyYXBoUUwiLCJuYW1lIiwiaG9va3MiLCJhZnRlckNoYW5nZSIsIml0ZW1zIiwiYWZ0ZXJSZWFkIiwiYmVmb3JlQ2hhbmdlIiwiYmVmb3JlUmVhZCIsImJlZm9yZVZhbGlkYXRlIiwibGFiZWwiLCJzbHVnIiwicmVxdWlyZWQiLCJ0eXBlc2NyaXB0IiwiaW50ZXJmYWNlIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJhdXRvc2F2ZSIsImludGVydmFsIiwibnVtYmVyIiwibWF4IiwidW5rbm93biJdLCJtYXBwaW5ncyI6Ijs7OzsrQkEyRkE7OztlQUFBOzs7NERBM0ZnQjt3QkFFZ0I7aUNBS3pC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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BaseDatabaseAdapter } from '../database/types';
|
|
1
2
|
import type { Field } from '../fields/config/types';
|
|
2
|
-
export declare const getIDType: (idField: Field | null) => 'ObjectID' | 'number' | 'text';
|
|
3
|
+
export declare const getIDType: (idField: Field | null, defaultIDType: BaseDatabaseAdapter['defaultIDType'] | null) => 'ObjectID' | 'number' | 'text';
|
|
3
4
|
//# sourceMappingURL=getIDType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIDType.d.ts","sourceRoot":"","sources":["../../src/utilities/getIDType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"getIDType.d.ts","sourceRoot":"","sources":["../../src/utilities/getIDType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,eAAO,MAAM,SAAS,YACX,KAAK,GAAG,IAAI,iBACN,mBAAmB,CAAC,eAAe,CAAC,GAAG,IAAI,KACzD,UAAU,GAAG,QAAQ,GAAG,MAK1B,CAAA"}
|
|
@@ -8,11 +8,11 @@ Object.defineProperty(exports, "getIDType", {
|
|
|
8
8
|
return getIDType;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const getIDType = (idField)=>{
|
|
11
|
+
const getIDType = (idField, defaultIDType)=>{
|
|
12
12
|
if (idField) {
|
|
13
13
|
return idField.type === 'number' ? 'number' : 'text';
|
|
14
14
|
}
|
|
15
|
-
return 'ObjectID';
|
|
15
|
+
return defaultIDType || 'ObjectID';
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0SURUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZURhdGFiYXNlQWRhcHRlciB9IGZyb20gJy4uL2RhdGFiYXNlL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZXRJRFR5cGUgPSAoXG4gIGlkRmllbGQ6IEZpZWxkIHwgbnVsbCxcbiAgZGVmYXVsdElEVHlwZTogQmFzZURhdGFiYXNlQWRhcHRlclsnZGVmYXVsdElEVHlwZSddIHwgbnVsbCxcbik6ICdPYmplY3RJRCcgfCAnbnVtYmVyJyB8ICd0ZXh0JyA9PiB7XG4gIGlmIChpZEZpZWxkKSB7XG4gICAgcmV0dXJuIGlkRmllbGQudHlwZSA9PT0gJ251bWJlcicgPyAnbnVtYmVyJyA6ICd0ZXh0J1xuICB9XG4gIHJldHVybiBkZWZhdWx0SURUeXBlIHx8ICdPYmplY3RJRCdcbn1cbiJdLCJuYW1lcyI6WyJnZXRJRFR5cGUiLCJpZEZpZWxkIiwiZGVmYXVsdElEVHlwZSIsInR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLFlBQVksQ0FDdkJDLFNBQ0FDO0lBRUEsSUFBSUQsU0FBUztRQUNYLE9BQU9BLFFBQVFFLElBQUksS0FBSyxXQUFXLFdBQVc7SUFDaEQ7SUFDQSxPQUFPRCxpQkFBaUI7QUFDMUIifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payload",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.27",
|
|
4
4
|
"description": "Node, React and MongoDB Headless CMS and Application Framework",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
"react-dom": "18.2.0",
|
|
85
85
|
"react-helmet": "6.1.0",
|
|
86
86
|
"react-i18next": "11.18.6",
|
|
87
|
+
"react-image-crop": "10.1.8",
|
|
87
88
|
"react-router-dom": "5.3.4",
|
|
88
89
|
"react-router-navigation-prompt": "1.9.6",
|
|
89
90
|
"react-select": "5.7.4",
|
|
@@ -138,7 +139,6 @@
|
|
|
138
139
|
"@types/react-helmet": "6.1.6",
|
|
139
140
|
"@types/react-router-dom": "5.3.3",
|
|
140
141
|
"@types/sharp": "0.31.1",
|
|
141
|
-
"@types/shelljs": "0.8.12",
|
|
142
142
|
"@types/uuid": "8.3.4",
|
|
143
143
|
"confusing-browser-globals": "1.0.11",
|
|
144
144
|
"copyfiles": "2.4.1",
|
|
@@ -148,7 +148,6 @@
|
|
|
148
148
|
"file-loader": "6.2.0",
|
|
149
149
|
"form-data": "3.0.1",
|
|
150
150
|
"get-port": "5.1.1",
|
|
151
|
-
"glob": "8.1.0",
|
|
152
151
|
"graphql-request": "3.7.0",
|
|
153
152
|
"mini-css-extract-plugin": "1.6.2",
|
|
154
153
|
"node-fetch": "2.6.12",
|
|
@@ -162,8 +161,6 @@
|
|
|
162
161
|
"rimraf": "3.0.2",
|
|
163
162
|
"sass-loader": "12.6.0",
|
|
164
163
|
"serve-static": "1.15.0",
|
|
165
|
-
"shelljs": "0.8.5",
|
|
166
|
-
"slash": "3.0.0",
|
|
167
164
|
"swc-loader": "^0.2.3",
|
|
168
165
|
"terser": "5.19.2",
|
|
169
166
|
"terser-webpack-plugin": "^5.3.6",
|
package/utilities.d.ts
CHANGED
|
@@ -7,5 +7,7 @@ export { deepCopyObject } from './dist/utilities/deepCopyObject';
|
|
|
7
7
|
export { deepMerge } from './dist/utilities/deepMerge';
|
|
8
8
|
export { default as flattenTopLevelFields } from './dist/utilities/flattenTopLevelFields';
|
|
9
9
|
export { formatLabels, formatNames, toWords } from './dist/utilities/formatLabels';
|
|
10
|
+
export { getIDType } from './dist/utilities/getIDType';
|
|
10
11
|
export { getTranslation } from './dist/utilities/getTranslation';
|
|
12
|
+
export { isValidID } from './dist/utilities/isValidID';
|
|
11
13
|
//# sourceMappingURL=utilities.d.ts.map
|
package/utilities.js
CHANGED
|
@@ -45,8 +45,14 @@ _export(exports, {
|
|
|
45
45
|
toWords: function() {
|
|
46
46
|
return _formatLabels.toWords;
|
|
47
47
|
},
|
|
48
|
+
getIDType: function() {
|
|
49
|
+
return _getIDType.getIDType;
|
|
50
|
+
},
|
|
48
51
|
getTranslation: function() {
|
|
49
52
|
return _getTranslation.getTranslation;
|
|
53
|
+
},
|
|
54
|
+
isValidID: function() {
|
|
55
|
+
return _isValidID.isValidID;
|
|
50
56
|
}
|
|
51
57
|
});
|
|
52
58
|
const _extractTranslations = require("./dist/translations/extractTranslations");
|
|
@@ -58,11 +64,13 @@ const _deepCopyObject = require("./dist/utilities/deepCopyObject");
|
|
|
58
64
|
const _deepMerge = require("./dist/utilities/deepMerge");
|
|
59
65
|
const _flattenTopLevelFields = /*#__PURE__*/ _interop_require_default(require("./dist/utilities/flattenTopLevelFields"));
|
|
60
66
|
const _formatLabels = require("./dist/utilities/formatLabels");
|
|
67
|
+
const _getIDType = require("./dist/utilities/getIDType");
|
|
61
68
|
const _getTranslation = require("./dist/utilities/getTranslation");
|
|
69
|
+
const _isValidID = require("./dist/utilities/isValidID");
|
|
62
70
|
function _interop_require_default(obj) {
|
|
63
71
|
return obj && obj.__esModule ? obj : {
|
|
64
72
|
default: obj
|
|
65
73
|
};
|
|
66
74
|
}
|
|
67
75
|
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL3V0aWxpdGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBleHRyYWN0VHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vdHJhbnNsYXRpb25zL2V4dHJhY3RUcmFuc2xhdGlvbnMnXG5leHBvcnQgeyBpMThuSW5pdCB9IGZyb20gJy4uL3RyYW5zbGF0aW9ucy9pbml0J1xuXG5leHBvcnQgeyBjb21iaW5lTWVyZ2UgfSBmcm9tICcuLi91dGlsaXRpZXMvY29tYmluZU1lcmdlJ1xuZXhwb3J0IHsgY29uZmlnVG9KU09OU2NoZW1hLCBlbnRpdHlUb0pTT05TY2hlbWEgfSBmcm9tICcuLi91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hJ1xuZXhwb3J0IHsgY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2NyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCdcblxuZXhwb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuLi91dGlsaXRpZXMvZGVlcENvcHlPYmplY3QnXG5leHBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICcuLi91dGlsaXRpZXMvZGVlcE1lcmdlJ1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMgfSBmcm9tICcuLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuZXhwb3J0IHsgZm9ybWF0TGFiZWxzLCBmb3JtYXROYW1lcywgdG9Xb3JkcyB9IGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5leHBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuZXhwb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5leHBvcnQgeyBpc1ZhbGlkSUQgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNWYWxpZElEJ1xuIl0sIm5hbWVzIjpbImV4dHJhY3RUcmFuc2xhdGlvbnMiLCJpMThuSW5pdCIsImNvbWJpbmVNZXJnZSIsImNvbmZpZ1RvSlNPTlNjaGVtYSIsImVudGl0eVRvSlNPTlNjaGVtYSIsImNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCIsImRlZXBDb3B5T2JqZWN0IiwiZGVlcE1lcmdlIiwiZmxhdHRlblRvcExldmVsRmllbGRzIiwiZm9ybWF0TGFiZWxzIiwiZm9ybWF0TmFtZXMiLCJ0b1dvcmRzIiwiZ2V0SURUeXBlIiwiZ2V0VHJhbnNsYXRpb24iLCJpc1ZhbGlkSUQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQVNBLG1CQUFtQjtlQUFuQkEsd0NBQW1COztJQUNuQkMsUUFBUTtlQUFSQSxjQUFROztJQUVSQyxZQUFZO2VBQVpBLDBCQUFZOztJQUNaQyxrQkFBa0I7ZUFBbEJBLHNDQUFrQjs7SUFBRUMsa0JBQWtCO2VBQWxCQSxzQ0FBa0I7O0lBQ3RDQyw4QkFBOEI7ZUFBOUJBLDhEQUE4Qjs7SUFFOUJDLGNBQWM7ZUFBZEEsOEJBQWM7O0lBQ2RDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBQ0VDLHFCQUFxQjtlQUFyQkEsOEJBQXFCOztJQUNoQ0MsWUFBWTtlQUFaQSwwQkFBWTs7SUFBRUMsV0FBVztlQUFYQSx5QkFBVzs7SUFBRUMsT0FBTztlQUFQQSxxQkFBTzs7SUFDbENDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBQ1RDLGNBQWM7ZUFBZEEsOEJBQWM7O0lBQ2RDLFNBQVM7ZUFBVEEsb0JBQVM7OztxQ0Fia0I7c0JBQ1g7OEJBRUk7b0NBQzBCO2dEQUNSO2dDQUVoQjsyQkFDTDs4RUFDdUI7OEJBQ0U7MkJBQ3pCO2dDQUNLOzJCQUNMIn0=
|