payload 2.24.1 → 2.24.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Autosave/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAKvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAepC,OAAO,cAAc,CAAA;AAGrB,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsP7B,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Autosave/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAKvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAgBpC,OAAO,cAAc,CAAA;AAGrB,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2P7B,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -19,6 +19,7 @@ const _reduceFieldsToValues = /*#__PURE__*/ _interop_require_default(require("..
19
19
  const _reduceFieldsToValuesWithValidation = require("../../forms/Form/reduceFieldsToValuesWithValidation");
20
20
  const _Config = require("../../utilities/Config");
21
21
  const _DocumentInfo = require("../../utilities/DocumentInfo");
22
+ const _EditDepth = require("../../utilities/EditDepth");
22
23
  const _Locale = require("../../utilities/Locale");
23
24
  require("./index.scss");
24
25
  function _interop_require_default(obj) {
@@ -68,7 +69,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
68
69
  return newObj;
69
70
  }
70
71
  const baseClass = 'autosave';
71
- const Autosave = ({ id, collection, global, publishedDocUpdatedAt })=>{
72
+ const Autosave = ({ id, collection, global, onSave, publishedDocUpdatedAt })=>{
72
73
  const { routes: { admin, api }, serverURL } = (0, _Config.useConfig)();
73
74
  const { getVersions, versions } = (0, _DocumentInfo.useDocumentInfo)();
74
75
  const [fields] = (0, _context.useAllFormFields)();
@@ -78,6 +79,7 @@ const Autosave = ({ id, collection, global, publishedDocUpdatedAt })=>{
78
79
  const { dispatchFields, setSubmitted } = (0, _context.useForm)();
79
80
  const history = (0, _reactrouterdom.useHistory)();
80
81
  const { i18n, t } = (0, _reacti18next.useTranslation)('version');
82
+ const depth = (0, _EditDepth.useEditDepth)();
81
83
  let interval = 800;
82
84
  const validateDrafts = collection?.versions.drafts && collection.versions?.drafts?.validate || global?.versions.drafts && global.versions?.drafts?.validate;
83
85
  if (collection?.versions.drafts && collection.versions?.drafts?.autosave) interval = collection.versions.drafts.autosave.interval;
@@ -108,11 +110,15 @@ const Autosave = ({ id, collection, global, publishedDocUpdatedAt })=>{
108
110
  });
109
111
  if (res.status === 201) {
110
112
  const json = await res.json();
111
- history.replace(`${admin}/collections/${collection.slug}/${json.doc.id}`, {
112
- state: {
113
- data: json.doc
114
- }
115
- });
113
+ if (depth === 1) {
114
+ history.replace(`${admin}/collections/${collection.slug}/${json.doc.id}`, {
115
+ state: {
116
+ data: json.doc
117
+ }
118
+ });
119
+ } else {
120
+ onSave(json);
121
+ }
116
122
  } else {
117
123
  _reacttoastify.toast.error(t('error:autosaving'));
118
124
  }
@@ -124,7 +130,9 @@ const Autosave = ({ id, collection, global, publishedDocUpdatedAt })=>{
124
130
  i18n.language,
125
131
  history,
126
132
  admin,
127
- t
133
+ t,
134
+ depth,
135
+ onSave
128
136
  ]);
129
137
  (0, _react.useEffect)(()=>{
130
138
  // If no ID, but this is used for a collection doc,
@@ -291,4 +299,4 @@ const Autosave = ({ id, collection, global, publishedDocUpdatedAt })=>{
291
299
  };
292
300
  const _default = Autosave;
293
301
 
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0F1dG9zYXZlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5J1xuXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHVzZURlYm91bmNlIGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZURlYm91bmNlJ1xuaW1wb3J0IHsgZm9ybWF0VGltZVRvTm93IH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2Zvcm1hdERhdGUnXG5pbXBvcnQge1xuICB1c2VBbGxGb3JtRmllbGRzLFxuICB1c2VGb3JtLFxuICB1c2VGb3JtTW9kaWZpZWQsXG4gIHVzZUZvcm1TdWJtaXR0ZWQsXG59IGZyb20gJy4uLy4uL2Zvcm1zL0Zvcm0vY29udGV4dCdcbmltcG9ydCByZWR1Y2VGaWVsZHNUb1ZhbHVlcyBmcm9tICcuLi8uLi9mb3Jtcy9Gb3JtL3JlZHVjZUZpZWxkc1RvVmFsdWVzJ1xuaW1wb3J0IHsgcmVkdWNlRmllbGRzVG9WYWx1ZXNXaXRoVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL2Zvcm1zL0Zvcm0vcmVkdWNlRmllbGRzVG9WYWx1ZXNXaXRoVmFsaWRhdGlvbidcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Db25maWcnXG5pbXBvcnQgeyB1c2VEb2N1bWVudEluZm8gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvRG9jdW1lbnRJbmZvJ1xuaW1wb3J0IHsgdXNlTG9jYWxlIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0xvY2FsZSdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuY29uc3QgYmFzZUNsYXNzID0gJ2F1dG9zYXZlJ1xuXG5jb25zdCBBdXRvc2F2ZTogUmVhY3QuRkM8UHJvcHM+ID0gKHsgaWQsIGNvbGxlY3Rpb24sIGdsb2JhbCwgcHVibGlzaGVkRG9jVXBkYXRlZEF0IH0pID0+IHtcbiAgY29uc3Qge1xuICAgIHJvdXRlczogeyBhZG1pbiwgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgeyBnZXRWZXJzaW9ucywgdmVyc2lvbnMgfSA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IFtmaWVsZHNdID0gdXNlQWxsRm9ybUZpZWxkcygpXG4gIGNvbnN0IG1vZGlmaWVkID0gdXNlRm9ybU1vZGlmaWVkKClcbiAgY29uc3QgeyBjb2RlOiBsb2NhbGUgfSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IHN1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuICBjb25zdCB7IGRpc3BhdGNoRmllbGRzLCBzZXRTdWJtaXR0ZWQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ3ZlcnNpb24nKVxuXG4gIGxldCBpbnRlcnZhbCA9IDgwMFxuICBjb25zdCB2YWxpZGF0ZURyYWZ0cyA9XG4gICAgKGNvbGxlY3Rpb24/LnZlcnNpb25zLmRyYWZ0cyAmJiBjb2xsZWN0aW9uLnZlcnNpb25zPy5kcmFmdHM/LnZhbGlkYXRlKSB8fFxuICAgIChnbG9iYWw/LnZlcnNpb25zLmRyYWZ0cyAmJiBnbG9iYWwudmVyc2lvbnM/LmRyYWZ0cz8udmFsaWRhdGUpXG4gIGlmIChjb2xsZWN0aW9uPy52ZXJzaW9ucy5kcmFmdHMgJiYgY29sbGVjdGlvbi52ZXJzaW9ucz8uZHJhZnRzPy5hdXRvc2F2ZSlcbiAgICBpbnRlcnZhbCA9IGNvbGxlY3Rpb24udmVyc2lvbnMuZHJhZnRzLmF1dG9zYXZlLmludGVydmFsXG4gIGlmIChnbG9iYWw/LnZlcnNpb25zLmRyYWZ0cyAmJiBnbG9iYWwudmVyc2lvbnM/LmRyYWZ0cz8uYXV0b3NhdmUpXG4gICAgaW50ZXJ2YWwgPSBnbG9iYWwudmVyc2lvbnMuZHJhZnRzLmF1dG9zYXZlLmludGVydmFsXG5cbiAgY29uc3QgW3NhdmluZywgc2V0U2F2aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbGFzdFNhdmVkLCBzZXRMYXN0U2F2ZWRdID0gdXNlU3RhdGU8bnVtYmVyPigpXG4gIGNvbnN0IGRlYm91bmNlZEZpZWxkcyA9IHVzZURlYm91bmNlKGZpZWxkcywgaW50ZXJ2YWwpXG4gIGNvbnN0IGZpZWxkUmVmID0gdXNlUmVmKGZpZWxkcylcbiAgY29uc3QgbW9kaWZpZWRSZWYgPSB1c2VSZWYobW9kaWZpZWQpXG4gIGNvbnN0IGxvY2FsZVJlZiA9IHVzZVJlZihsb2NhbGUpXG5cbiAgLy8gU3RvcmUgZmllbGRzIGluIHJlZiBzbyB0aGUgYXV0b3NhdmUgZnVuY1xuICAvLyBjYW4gYWx3YXlzIHJldHJpZXZlIHRoZSBtb3N0IHRvIGRhdGUgY29waWVzXG4gIC8vIGFmdGVyIHRoZSB0aW1lb3V0IGhhcyBleGVjdXRlZFxuICBmaWVsZFJlZi5jdXJyZW50ID0gZmllbGRzXG5cbiAgLy8gU3RvcmUgbW9kaWZpZWQgaW4gcmVmIHNvIHRoZSBhdXRvc2F2ZSBmdW5jXG4gIC8vIGNhbiBiYWlsIG91dCBpZiBtb2RpZmllZCBiZWNvbWVzIGZhbHNlIHdoaWxlXG4gIC8vIHRpbWluZyBvdXQgZHVyaW5nIGF1dG9zYXZlXG4gIG1vZGlmaWVkUmVmLmN1cnJlbnQgPSBtb2RpZmllZFxuXG4gIGNvbnN0IGNyZWF0ZUNvbGxlY3Rpb25Eb2MgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goXG4gICAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7Y29sbGVjdGlvbi5zbHVnfT9sb2NhbGU9JHtsb2NhbGV9JmZhbGxiYWNrLWxvY2FsZT1udWxsJmRlcHRoPTAmZHJhZnQ9dHJ1ZSZhdXRvc2F2ZT10cnVlYCxcbiAgICAgIHtcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe30pLFxuICAgICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICB9LFxuICAgIClcblxuICAgIGlmIChyZXMuc3RhdHVzID09PSAyMDEpIHtcbiAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXMuanNvbigpXG4gICAgICBoaXN0b3J5LnJlcGxhY2UoYCR7YWRtaW59L2NvbGxlY3Rpb25zLyR7Y29sbGVjdGlvbi5zbHVnfS8ke2pzb24uZG9jLmlkfWAsIHtcbiAgICAgICAgc3RhdGU6IHtcbiAgICAgICAgICBkYXRhOiBqc29uLmRvYyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRvYXN0LmVycm9yKHQoJ2Vycm9yOmF1dG9zYXZpbmcnKSlcbiAgICB9XG4gIH0sIFtzZXJ2ZXJVUkwsIGFwaSwgY29sbGVjdGlvbj8uc2x1ZywgbG9jYWxlLCBpMThuLmxhbmd1YWdlLCBoaXN0b3J5LCBhZG1pbiwgdF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBJZiBubyBJRCwgYnV0IHRoaXMgaXMgdXNlZCBmb3IgYSBjb2xsZWN0aW9uIGRvYyxcbiAgICAvLyBJbW1lZGlhdGVseSBzYXZlIGl0IGFuZCBzZXQgbGFzdFNhdmVkXG4gICAgaWYgKCFpZCAmJiBjb2xsZWN0aW9uKSB7XG4gICAgICB2b2lkIGNyZWF0ZUNvbGxlY3Rpb25Eb2MoKVxuICAgIH1cbiAgfSwgW2lkLCBjb2xsZWN0aW9uLCBjcmVhdGVDb2xsZWN0aW9uRG9jXSlcblxuICAvLyBXaGVuIGRlYm91bmNlZCBmaWVsZHMgY2hhbmdlLCBhdXRvc2F2ZVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgbGV0IGF1dG9zYXZlVGltZW91dCA9IHVuZGVmaW5lZFxuXG4gICAgY29uc3QgYXV0b3NhdmUgPSBhc3luYyAoKSA9PiB7XG4gICAgICBpZiAobW9kaWZpZWQpIHtcbiAgICAgICAgc2V0U2F2aW5nKHRydWUpXG5cbiAgICAgICAgbGV0IHVybDogc3RyaW5nXG4gICAgICAgIGxldCBtZXRob2Q6IHN0cmluZ1xuXG4gICAgICAgIGlmIChjb2xsZWN0aW9uICYmIGlkKSB7XG4gICAgICAgICAgdXJsID0gYCR7c2VydmVyVVJMfSR7YXBpfS8ke2NvbGxlY3Rpb24uc2x1Z30vJHtpZH0/ZHJhZnQ9dHJ1ZSZhdXRvc2F2ZT10cnVlJmxvY2FsZT0ke2xvY2FsZVJlZi5jdXJyZW50fWBcbiAgICAgICAgICBtZXRob2QgPSAnUEFUQ0gnXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZ2xvYmFsKSB7XG4gICAgICAgICAgdXJsID0gYCR7c2VydmVyVVJMfSR7YXBpfS9nbG9iYWxzLyR7Z2xvYmFsLnNsdWd9P2RyYWZ0PXRydWUmYXV0b3NhdmU9dHJ1ZSZsb2NhbGU9JHtsb2NhbGVSZWYuY3VycmVudH1gXG4gICAgICAgICAgbWV0aG9kID0gJ1BPU1QnXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodXJsKSB7XG4gICAgICAgICAgYXV0b3NhdmVUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobW9kaWZpZWRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIHZhbGlkIH0gPSB7XG4gICAgICAgICAgICAgICAgLi4ucmVkdWNlRmllbGRzVG9WYWx1ZXNXaXRoVmFsaWRhdGlvbihmaWVsZFJlZi5jdXJyZW50LCB0cnVlKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBkYXRhLl9zdGF0dXMgPSAnZHJhZnQnXG4gICAgICAgICAgICAgIGNvbnN0IHNraXBTdWJtaXNzaW9uID0gc3VibWl0dGVkICYmICF2YWxpZCAmJiB2YWxpZGF0ZURyYWZ0c1xuXG4gICAgICAgICAgICAgIGlmICghc2tpcFN1Ym1pc3Npb24pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgICAgICAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgICAgICAgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoKVxuICAgICAgICAgICAgICAgICAgc2V0TGFzdFNhdmVkKG5ld0RhdGUuZ2V0VGltZSgpKVxuICAgICAgICAgICAgICAgICAgdm9pZCBnZXRWZXJzaW9ucygpXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRlRHJhZnRzICYmIHJlcy5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcy5qc29uKClcbiAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGpzb24uZXJyb3JzKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbZmllbGRFcnJvcnMsIG5vbkZpZWxkRXJyb3JzXSA9IGpzb24uZXJyb3JzLnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICAgICAoW2ZpZWxkRXJycywgbm9uRmllbGRFcnJzXSwgZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdGaWVsZEVycnMgPSBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3Tm9uRmllbGRFcnJzID0gW11cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycj8ubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdOb25GaWVsZEVycnMucHVzaChlcnIpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVycj8uZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyLmRhdGEuZm9yRWFjaCgoZGF0YUVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGFFcnJvcj8uZmllbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ZpZWxkRXJycy5wdXNoKGRhdGFFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Tm9uRmllbGRFcnJzLnB1c2goZGF0YUVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgWy4uLmZpZWxkRXJycywgLi4ubmV3RmllbGRFcnJzXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgWy4uLm5vbkZpZWxkRXJycywgLi4ubmV3Tm9uRmllbGRFcnJzXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtbXSwgW11dLFxuICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgZmllbGRFcnJvcnMuZm9yRWFjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hGaWVsZHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ1VQREFURScsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2U6IGVyci5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogZXJyLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgICAgbm9uRmllbGRFcnJvcnMuZm9yRWFjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgdG9hc3QuZXJyb3IoZXJyLm1lc3NhZ2UgfHwgaTE4bi50KCdlcnJvcjp1bmtub3duJykpXG4gICAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgICAgc2V0U3VibWl0dGVkKHRydWUpXG4gICAgICAgICAgICAgICAgICAgIHNldFNhdmluZyhmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgICAgICAuLi5yZWR1Y2VGaWVsZHNUb1ZhbHVlcyhmaWVsZFJlZi5jdXJyZW50LCB0cnVlKSxcbiAgICAgICAgICAgICAgICBfc3RhdHVzOiAnZHJhZnQnLFxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgIHNldExhc3RTYXZlZChuZXcgRGF0ZSgpLmdldFRpbWUoKSlcbiAgICAgICAgICAgICAgICB2b2lkIGdldFZlcnNpb25zKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRTYXZpbmcoZmFsc2UpXG4gICAgICAgICAgfSwgMTAwMClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZvaWQgYXV0b3NhdmUoKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dChhdXRvc2F2ZVRpbWVvdXQpXG4gICAgICBpZiAoYWJvcnRDb250cm9sbGVyLnNpZ25hbCkgYWJvcnRDb250cm9sbGVyLmFib3J0KClcbiAgICAgIHNldFNhdmluZyhmYWxzZSlcbiAgICB9XG4gIH0sIFtcbiAgICBpMThuLFxuICAgIGRlYm91bmNlZEZpZWxkcyxcbiAgICBtb2RpZmllZCxcbiAgICBzZXJ2ZXJVUkwsXG4gICAgYXBpLFxuICAgIGNvbGxlY3Rpb24sXG4gICAgZ2xvYmFsLFxuICAgIGlkLFxuICAgIGdldFZlcnNpb25zLFxuICAgIGxvY2FsZVJlZixcbiAgICBtb2RpZmllZFJlZixcbiAgICBzdWJtaXR0ZWQsXG4gICAgdmFsaWRhdGVEcmFmdHMsXG4gICAgc2V0U3VibWl0dGVkLFxuICAgIGRpc3BhdGNoRmllbGRzLFxuICBdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZlcnNpb25zPy5kb2NzPy5bMF0pIHtcbiAgICAgIHNldExhc3RTYXZlZChuZXcgRGF0ZSh2ZXJzaW9ucy5kb2NzWzBdLnVwZGF0ZWRBdCkuZ2V0VGltZSgpKVxuICAgIH0gZWxzZSBpZiAocHVibGlzaGVkRG9jVXBkYXRlZEF0KSB7XG4gICAgICBzZXRMYXN0U2F2ZWQobmV3IERhdGUocHVibGlzaGVkRG9jVXBkYXRlZEF0KS5nZXRUaW1lKCkpXG4gICAgfVxuICB9LCBbcHVibGlzaGVkRG9jVXBkYXRlZEF0LCB2ZXJzaW9uc10pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIHtzYXZpbmcgJiYgdCgnc2F2aW5nJyl9XG4gICAgICB7IXNhdmluZyAmJiBsYXN0U2F2ZWQgJiYgKFxuICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAge3QoJ2xhc3RTYXZlZEFnbycsIHtcbiAgICAgICAgICAgIGRpc3RhbmNlOiBmb3JtYXRUaW1lVG9Ob3cobGFzdFNhdmVkLCBpMThuLmxhbmd1YWdlKSxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXV0b3NhdmVcbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJBdXRvc2F2ZSIsImlkIiwiY29sbGVjdGlvbiIsImdsb2JhbCIsInB1Ymxpc2hlZERvY1VwZGF0ZWRBdCIsInJvdXRlcyIsImFkbWluIiwiYXBpIiwic2VydmVyVVJMIiwidXNlQ29uZmlnIiwiZ2V0VmVyc2lvbnMiLCJ2ZXJzaW9ucyIsInVzZURvY3VtZW50SW5mbyIsImZpZWxkcyIsInVzZUFsbEZvcm1GaWVsZHMiLCJtb2RpZmllZCIsInVzZUZvcm1Nb2RpZmllZCIsImNvZGUiLCJsb2NhbGUiLCJ1c2VMb2NhbGUiLCJzdWJtaXR0ZWQiLCJ1c2VGb3JtU3VibWl0dGVkIiwiZGlzcGF0Y2hGaWVsZHMiLCJzZXRTdWJtaXR0ZWQiLCJ1c2VGb3JtIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiaW50ZXJ2YWwiLCJ2YWxpZGF0ZURyYWZ0cyIsImRyYWZ0cyIsInZhbGlkYXRlIiwiYXV0b3NhdmUiLCJzYXZpbmciLCJzZXRTYXZpbmciLCJ1c2VTdGF0ZSIsImxhc3RTYXZlZCIsInNldExhc3RTYXZlZCIsImRlYm91bmNlZEZpZWxkcyIsInVzZURlYm91bmNlIiwiZmllbGRSZWYiLCJ1c2VSZWYiLCJtb2RpZmllZFJlZiIsImxvY2FsZVJlZiIsImN1cnJlbnQiLCJjcmVhdGVDb2xsZWN0aW9uRG9jIiwidXNlQ2FsbGJhY2siLCJyZXMiLCJmZXRjaCIsInNsdWciLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImNyZWRlbnRpYWxzIiwiaGVhZGVycyIsImxhbmd1YWdlIiwibWV0aG9kIiwic3RhdHVzIiwianNvbiIsInJlcGxhY2UiLCJkb2MiLCJzdGF0ZSIsImRhdGEiLCJ0b2FzdCIsImVycm9yIiwidXNlRWZmZWN0IiwiYWJvcnRDb250cm9sbGVyIiwiQWJvcnRDb250cm9sbGVyIiwiYXV0b3NhdmVUaW1lb3V0IiwidW5kZWZpbmVkIiwidXJsIiwic2V0VGltZW91dCIsInZhbGlkIiwicmVkdWNlRmllbGRzVG9WYWx1ZXNXaXRoVmFsaWRhdGlvbiIsIl9zdGF0dXMiLCJza2lwU3VibWlzc2lvbiIsInNpZ25hbCIsIm5ld0RhdGUiLCJEYXRlIiwiZ2V0VGltZSIsIkFycmF5IiwiaXNBcnJheSIsImVycm9ycyIsImZpZWxkRXJyb3JzIiwibm9uRmllbGRFcnJvcnMiLCJyZWR1Y2UiLCJmaWVsZEVycnMiLCJub25GaWVsZEVycnMiLCJlcnIiLCJuZXdGaWVsZEVycnMiLCJuZXdOb25GaWVsZEVycnMiLCJtZXNzYWdlIiwicHVzaCIsImZvckVhY2giLCJkYXRhRXJyb3IiLCJmaWVsZCIsInR5cGUiLCJlcnJvck1lc3NhZ2UiLCJwYXRoIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJjbGVhclRpbWVvdXQiLCJhYm9ydCIsImRvY3MiLCJ1cGRhdGVkQXQiLCJkaXYiLCJjbGFzc05hbWUiLCJSZWFjdCIsIkZyYWdtZW50IiwiZGlzdGFuY2UiLCJmb3JtYXRUaW1lVG9Ob3ciXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQStRQTs7O2VBQUE7OzsrREEvUWdFOzhCQUNqQztnQ0FDSjsrQkFDTDtvRUFJRTs0QkFDUTt5QkFNekI7NkVBQzBCO29EQUNrQjt3QkFDekI7OEJBQ007d0JBQ047UUFDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ1AsTUFBTUEsWUFBWTtBQUVsQixNQUFNQyxXQUE0QixDQUFDLEVBQUVDLEVBQUUsRUFBRUMs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
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0F1dG9zYXZlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5J1xuXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHVzZURlYm91bmNlIGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZURlYm91bmNlJ1xuaW1wb3J0IHsgZm9ybWF0VGltZVRvTm93IH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2Zvcm1hdERhdGUnXG5pbXBvcnQge1xuICB1c2VBbGxGb3JtRmllbGRzLFxuICB1c2VGb3JtLFxuICB1c2VGb3JtTW9kaWZpZWQsXG4gIHVzZUZvcm1TdWJtaXR0ZWQsXG59IGZyb20gJy4uLy4uL2Zvcm1zL0Zvcm0vY29udGV4dCdcbmltcG9ydCByZWR1Y2VGaWVsZHNUb1ZhbHVlcyBmcm9tICcuLi8uLi9mb3Jtcy9Gb3JtL3JlZHVjZUZpZWxkc1RvVmFsdWVzJ1xuaW1wb3J0IHsgcmVkdWNlRmllbGRzVG9WYWx1ZXNXaXRoVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL2Zvcm1zL0Zvcm0vcmVkdWNlRmllbGRzVG9WYWx1ZXNXaXRoVmFsaWRhdGlvbidcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Db25maWcnXG5pbXBvcnQgeyB1c2VEb2N1bWVudEluZm8gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvRG9jdW1lbnRJbmZvJ1xuaW1wb3J0IHsgdXNlRWRpdERlcHRoIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0VkaXREZXB0aCdcbmltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Mb2NhbGUnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmNvbnN0IGJhc2VDbGFzcyA9ICdhdXRvc2F2ZSdcblxuY29uc3QgQXV0b3NhdmU6IFJlYWN0LkZDPFByb3BzPiA9ICh7IGlkLCBjb2xsZWN0aW9uLCBnbG9iYWwsIG9uU2F2ZSwgcHVibGlzaGVkRG9jVXBkYXRlZEF0IH0pID0+IHtcbiAgY29uc3Qge1xuICAgIHJvdXRlczogeyBhZG1pbiwgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgeyBnZXRWZXJzaW9ucywgdmVyc2lvbnMgfSA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IFtmaWVsZHNdID0gdXNlQWxsRm9ybUZpZWxkcygpXG4gIGNvbnN0IG1vZGlmaWVkID0gdXNlRm9ybU1vZGlmaWVkKClcbiAgY29uc3QgeyBjb2RlOiBsb2NhbGUgfSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IHN1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuICBjb25zdCB7IGRpc3BhdGNoRmllbGRzLCBzZXRTdWJtaXR0ZWQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ3ZlcnNpb24nKVxuICBjb25zdCBkZXB0aCA9IHVzZUVkaXREZXB0aCgpXG5cbiAgbGV0IGludGVydmFsID0gODAwXG4gIGNvbnN0IHZhbGlkYXRlRHJhZnRzID1cbiAgICAoY29sbGVjdGlvbj8udmVyc2lvbnMuZHJhZnRzICYmIGNvbGxlY3Rpb24udmVyc2lvbnM/LmRyYWZ0cz8udmFsaWRhdGUpIHx8XG4gICAgKGdsb2JhbD8udmVyc2lvbnMuZHJhZnRzICYmIGdsb2JhbC52ZXJzaW9ucz8uZHJhZnRzPy52YWxpZGF0ZSlcbiAgaWYgKGNvbGxlY3Rpb24/LnZlcnNpb25zLmRyYWZ0cyAmJiBjb2xsZWN0aW9uLnZlcnNpb25zPy5kcmFmdHM/LmF1dG9zYXZlKVxuICAgIGludGVydmFsID0gY29sbGVjdGlvbi52ZXJzaW9ucy5kcmFmdHMuYXV0b3NhdmUuaW50ZXJ2YWxcbiAgaWYgKGdsb2JhbD8udmVyc2lvbnMuZHJhZnRzICYmIGdsb2JhbC52ZXJzaW9ucz8uZHJhZnRzPy5hdXRvc2F2ZSlcbiAgICBpbnRlcnZhbCA9IGdsb2JhbC52ZXJzaW9ucy5kcmFmdHMuYXV0b3NhdmUuaW50ZXJ2YWxcblxuICBjb25zdCBbc2F2aW5nLCBzZXRTYXZpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtsYXN0U2F2ZWQsIHNldExhc3RTYXZlZF0gPSB1c2VTdGF0ZTxudW1iZXI+KClcbiAgY29uc3QgZGVib3VuY2VkRmllbGRzID0gdXNlRGVib3VuY2UoZmllbGRzLCBpbnRlcnZhbClcbiAgY29uc3QgZmllbGRSZWYgPSB1c2VSZWYoZmllbGRzKVxuICBjb25zdCBtb2RpZmllZFJlZiA9IHVzZVJlZihtb2RpZmllZClcbiAgY29uc3QgbG9jYWxlUmVmID0gdXNlUmVmKGxvY2FsZSlcblxuICAvLyBTdG9yZSBmaWVsZHMgaW4gcmVmIHNvIHRoZSBhdXRvc2F2ZSBmdW5jXG4gIC8vIGNhbiBhbHdheXMgcmV0cmlldmUgdGhlIG1vc3QgdG8gZGF0ZSBjb3BpZXNcbiAgLy8gYWZ0ZXIgdGhlIHRpbWVvdXQgaGFzIGV4ZWN1dGVkXG4gIGZpZWxkUmVmLmN1cnJlbnQgPSBmaWVsZHNcblxuICAvLyBTdG9yZSBtb2RpZmllZCBpbiByZWYgc28gdGhlIGF1dG9zYXZlIGZ1bmNcbiAgLy8gY2FuIGJhaWwgb3V0IGlmIG1vZGlmaWVkIGJlY29tZXMgZmFsc2Ugd2hpbGVcbiAgLy8gdGltaW5nIG91dCBkdXJpbmcgYXV0b3NhdmVcbiAgbW9kaWZpZWRSZWYuY3VycmVudCA9IG1vZGlmaWVkXG5cbiAgY29uc3QgY3JlYXRlQ29sbGVjdGlvbkRvYyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChcbiAgICAgIGAke3NlcnZlclVSTH0ke2FwaX0vJHtjb2xsZWN0aW9uLnNsdWd9P2xvY2FsZT0ke2xvY2FsZX0mZmFsbGJhY2stbG9jYWxlPW51bGwmZGVwdGg9MCZkcmFmdD10cnVlJmF1dG9zYXZlPXRydWVgLFxuICAgICAge1xuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7fSksXG4gICAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICB9LFxuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgaWYgKHJlcy5zdGF0dXMgPT09IDIwMSkge1xuICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcy5qc29uKClcbiAgICAgIGlmIChkZXB0aCA9PT0gMSkge1xuICAgICAgICBoaXN0b3J5LnJlcGxhY2UoYCR7YWRtaW59L2NvbGxlY3Rpb25zLyR7Y29sbGVjdGlvbi5zbHVnfS8ke2pzb24uZG9jLmlkfWAsIHtcbiAgICAgICAgICBzdGF0ZToge1xuICAgICAgICAgICAgZGF0YToganNvbi5kb2MsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uU2F2ZShqc29uKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5lcnJvcih0KCdlcnJvcjphdXRvc2F2aW5nJykpXG4gICAgfVxuICB9LCBbc2VydmVyVVJMLCBhcGksIGNvbGxlY3Rpb24/LnNsdWcsIGxvY2FsZSwgaTE4bi5sYW5ndWFnZSwgaGlzdG9yeSwgYWRtaW4sIHQsIGRlcHRoLCBvblNhdmVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gSWYgbm8gSUQsIGJ1dCB0aGlzIGlzIHVzZWQgZm9yIGEgY29sbGVjdGlvbiBkb2MsXG4gICAgLy8gSW1tZWRpYXRlbHkgc2F2ZSBpdCBhbmQgc2V0IGxhc3RTYXZlZFxuICAgIGlmICghaWQgJiYgY29sbGVjdGlvbikge1xuICAgICAgdm9pZCBjcmVhdGVDb2xsZWN0aW9uRG9jKClcbiAgICB9XG4gIH0sIFtpZCwgY29sbGVjdGlvbiwgY3JlYXRlQ29sbGVjdGlvbkRvY10pXG5cbiAgLy8gV2hlbiBkZWJvdW5jZWQgZmllbGRzIGNoYW5nZSwgYXV0b3NhdmVcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKVxuICAgIGxldCBhdXRvc2F2ZVRpbWVvdXQgPSB1bmRlZmluZWRcblxuICAgIGNvbnN0IGF1dG9zYXZlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgaWYgKG1vZGlmaWVkKSB7XG4gICAgICAgIHNldFNhdmluZyh0cnVlKVxuXG4gICAgICAgIGxldCB1cmw6IHN0cmluZ1xuICAgICAgICBsZXQgbWV0aG9kOiBzdHJpbmdcblxuICAgICAgICBpZiAoY29sbGVjdGlvbiAmJiBpZCkge1xuICAgICAgICAgIHVybCA9IGAke3NlcnZlclVSTH0ke2FwaX0vJHtjb2xsZWN0aW9uLnNsdWd9LyR7aWR9P2RyYWZ0PXRydWUmYXV0b3NhdmU9dHJ1ZSZsb2NhbGU9JHtsb2NhbGVSZWYuY3VycmVudH1gXG4gICAgICAgICAgbWV0aG9kID0gJ1BBVENIJ1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGdsb2JhbCkge1xuICAgICAgICAgIHVybCA9IGAke3NlcnZlclVSTH0ke2FwaX0vZ2xvYmFscy8ke2dsb2JhbC5zbHVnfT9kcmFmdD10cnVlJmF1dG9zYXZlPXRydWUmbG9jYWxlPSR7bG9jYWxlUmVmLmN1cnJlbnR9YFxuICAgICAgICAgIG1ldGhvZCA9ICdQT1NUJ1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVybCkge1xuICAgICAgICAgIGF1dG9zYXZlVGltZW91dCA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKG1vZGlmaWVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBkYXRhLCB2YWxpZCB9ID0ge1xuICAgICAgICAgICAgICAgIC4uLnJlZHVjZUZpZWxkc1RvVmFsdWVzV2l0aFZhbGlkYXRpb24oZmllbGRSZWYuY3VycmVudCwgdHJ1ZSksXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGF0YS5fc3RhdHVzID0gJ2RyYWZ0J1xuICAgICAgICAgICAgICBjb25zdCBza2lwU3VibWlzc2lvbiA9IHN1Ym1pdHRlZCAmJiAhdmFsaWQgJiYgdmFsaWRhdGVEcmFmdHNcblxuICAgICAgICAgICAgICBpZiAoIXNraXBTdWJtaXNzaW9uKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICAgICAgICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICAgIHNldExhc3RTYXZlZChuZXdEYXRlLmdldFRpbWUoKSlcbiAgICAgICAgICAgICAgICAgIHZvaWQgZ2V0VmVyc2lvbnMoKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0ZURyYWZ0cyAmJiByZXMuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXMuanNvbigpXG4gICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShqc29uLmVycm9ycykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2ZpZWxkRXJyb3JzLCBub25GaWVsZEVycm9yc10gPSBqc29uLmVycm9ycy5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAgICAgKFtmaWVsZEVycnMsIG5vbkZpZWxkRXJyc10sIGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3RmllbGRFcnJzID0gW11cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld05vbkZpZWxkRXJycyA9IFtdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnI/Lm1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Tm9uRmllbGRFcnJzLnB1c2goZXJyKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlcnI/LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVyci5kYXRhLmZvckVhY2goKGRhdGFFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhRXJyb3I/LmZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdGaWVsZEVycnMucHVzaChkYXRhRXJyb3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld05vbkZpZWxkRXJycy5wdXNoKGRhdGFFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFsuLi5maWVsZEVycnMsIC4uLm5ld0ZpZWxkRXJyc10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFsuLi5ub25GaWVsZEVycnMsIC4uLm5ld05vbkZpZWxkRXJyc10sXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbW10sIFtdXSxcbiAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkRXJyb3JzLmZvckVhY2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoRmllbGRzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdVUERBVEUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGVyci5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICAgIG5vbkZpZWxkRXJyb3JzLmZvckVhY2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHRvYXN0LmVycm9yKGVyci5tZXNzYWdlIHx8IGkxOG4udCgnZXJyb3I6dW5rbm93bicpKVxuICAgICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICAgIHNldFN1Ym1pdHRlZCh0cnVlKVxuICAgICAgICAgICAgICAgICAgICBzZXRTYXZpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICAgICAgLi4ucmVkdWNlRmllbGRzVG9WYWx1ZXMoZmllbGRSZWYuY3VycmVudCwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgX3N0YXR1czogJ2RyYWZ0JyxcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIGlmIChyZXMuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgICBzZXRMYXN0U2F2ZWQobmV3IERhdGUoKS5nZXRUaW1lKCkpXG4gICAgICAgICAgICAgICAgdm9pZCBnZXRWZXJzaW9ucygpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0U2F2aW5nKGZhbHNlKVxuICAgICAgICAgIH0sIDEwMDApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2b2lkIGF1dG9zYXZlKClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQoYXV0b3NhdmVUaW1lb3V0KVxuICAgICAgaWYgKGFib3J0Q29udHJvbGxlci5zaWduYWwpIGFib3J0Q29udHJvbGxlci5hYm9ydCgpXG4gICAgICBzZXRTYXZpbmcoZmFsc2UpXG4gICAgfVxuICB9LCBbXG4gICAgaTE4bixcbiAgICBkZWJvdW5jZWRGaWVsZHMsXG4gICAgbW9kaWZpZWQsXG4gICAgc2VydmVyVVJMLFxuICAgIGFwaSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGdsb2JhbCxcbiAgICBpZCxcbiAgICBnZXRWZXJzaW9ucyxcbiAgICBsb2NhbGVSZWYsXG4gICAgbW9kaWZpZWRSZWYsXG4gICAgc3VibWl0dGVkLFxuICAgIHZhbGlkYXRlRHJhZnRzLFxuICAgIHNldFN1Ym1pdHRlZCxcbiAgICBkaXNwYXRjaEZpZWxkcyxcbiAgXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2ZXJzaW9ucz8uZG9jcz8uWzBdKSB7XG4gICAgICBzZXRMYXN0U2F2ZWQobmV3IERhdGUodmVyc2lvbnMuZG9jc1swXS51cGRhdGVkQXQpLmdldFRpbWUoKSlcbiAgICB9IGVsc2UgaWYgKHB1Ymxpc2hlZERvY1VwZGF0ZWRBdCkge1xuICAgICAgc2V0TGFzdFNhdmVkKG5ldyBEYXRlKHB1Ymxpc2hlZERvY1VwZGF0ZWRBdCkuZ2V0VGltZSgpKVxuICAgIH1cbiAgfSwgW3B1Ymxpc2hlZERvY1VwZGF0ZWRBdCwgdmVyc2lvbnNdKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICB7c2F2aW5nICYmIHQoJ3NhdmluZycpfVxuICAgICAgeyFzYXZpbmcgJiYgbGFzdFNhdmVkICYmIChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgIHt0KCdsYXN0U2F2ZWRBZ28nLCB7XG4gICAgICAgICAgICBkaXN0YW5jZTogZm9ybWF0VGltZVRvTm93KGxhc3RTYXZlZCwgaTE4bi5sYW5ndWFnZSksXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IEF1dG9zYXZlXG4iXSwibmFtZXMiOlsiYmFzZUNsYXNzIiwiQXV0b3NhdmUiLCJpZCIsImNvbGxlY3Rpb24iLCJnbG9iYWwiLCJvblNhdmUiLCJwdWJsaXNoZWREb2NVcGRhdGVkQXQiLCJyb3V0ZXMiLCJhZG1pbiIsImFwaSIsInNlcnZlclVSTCIsInVzZUNvbmZpZyIsImdldFZlcnNpb25zIiwidmVyc2lvbnMiLCJ1c2VEb2N1bWVudEluZm8iLCJmaWVsZHMiLCJ1c2VBbGxGb3JtRmllbGRzIiwibW9kaWZpZWQiLCJ1c2VGb3JtTW9kaWZpZWQiLCJjb2RlIiwibG9jYWxlIiwidXNlTG9jYWxlIiwic3VibWl0dGVkIiwidXNlRm9ybVN1Ym1pdHRlZCIsImRpc3BhdGNoRmllbGRzIiwic2V0U3VibWl0dGVkIiwidXNlRm9ybSIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwiaTE4biIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImRlcHRoIiwidXNlRWRpdERlcHRoIiwiaW50ZXJ2YWwiLCJ2YWxpZGF0ZURyYWZ0cyIsImRyYWZ0cyIsInZhbGlkYXRlIiwiYXV0b3NhdmUiLCJzYXZpbmciLCJzZXRTYXZpbmciLCJ1c2VTdGF0ZSIsImxhc3RTYXZlZCIsInNldExhc3RTYXZlZCIsImRlYm91bmNlZEZpZWxkcyIsInVzZURlYm91bmNlIiwiZmllbGRSZWYiLCJ1c2VSZWYiLCJtb2RpZmllZFJlZiIsImxvY2FsZVJlZiIsImN1cnJlbnQiLCJjcmVhdGVDb2xsZWN0aW9uRG9jIiwidXNlQ2FsbGJhY2siLCJyZXMiLCJmZXRjaCIsInNsdWciLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImNyZWRlbnRpYWxzIiwiaGVhZGVycyIsImxhbmd1YWdlIiwibWV0aG9kIiwic3RhdHVzIiwianNvbiIsInJlcGxhY2UiLCJkb2MiLCJzdGF0ZSIsImRhdGEiLCJ0b2FzdCIsImVycm9yIiwidXNlRWZmZWN0IiwiYWJvcnRDb250cm9sbGVyIiwiQWJvcnRDb250cm9sbGVyIiwiYXV0b3NhdmVUaW1lb3V0IiwidW5kZWZpbmVkIiwidXJsIiwic2V0VGltZW91dCIsInZhbGlkIiwicmVkdWNlRmllbGRzVG9WYWx1ZXNXaXRoVmFsaWRhdGlvbiIsIl9zdGF0dXMiLCJza2lwU3VibWlzc2lvbiIsInNpZ25hbCIsIm5ld0RhdGUiLCJEYXRlIiwiZ2V0VGltZSIsIkFycmF5IiwiaXNBcnJheSIsImVycm9ycyIsImZpZWxkRXJyb3JzIiwibm9uRmllbGRFcnJvcnMiLCJyZWR1Y2UiLCJmaWVsZEVycnMiLCJub25GaWVsZEVycnMiLCJlcnIiLCJuZXdGaWVsZEVycnMiLCJuZXdOb25GaWVsZEVycnMiLCJtZXNzYWdlIiwicHVzaCIsImZvckVhY2giLCJkYXRhRXJyb3IiLCJmaWVsZCIsInR5cGUiLCJlcnJvck1lc3NhZ2UiLCJwYXRoIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJjbGVhclRpbWVvdXQiLCJhYm9ydCIsImRvY3MiLCJ1cGRhdGVkQXQiLCJkaXYiLCJjbGFzc05hbWUiLCJSZWFjdCIsIkZyYWdtZW50IiwiZGlzdGFuY2UiLCJmb3JtYXRUaW1lVG9Ob3ciXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -1,9 +1,11 @@
1
1
  import type { SanitizedCollectionConfig } from '../../../../collections/config/types';
2
2
  import type { SanitizedGlobalConfig } from '../../../../globals/config/types';
3
+ import type { CollectionEditViewProps } from '../../views/types';
3
4
  export type Props = {
4
5
  collection?: SanitizedCollectionConfig;
5
6
  global?: SanitizedGlobalConfig;
6
7
  id?: number | string;
8
+ onSave?: CollectionEditViewProps['onSave'];
7
9
  publishedDocUpdatedAt: string;
8
10
  };
9
11
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Autosave/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAE7E,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/Autosave/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IAC1C,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA"}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import type { CollectionPermission, GlobalPermission } from '../../../../auth';
3
3
  import type { SanitizedCollectionConfig } from '../../../../collections/config/types';
4
4
  import type { SanitizedGlobalConfig } from '../../../../globals/config/types';
5
+ import type { CollectionEditViewProps } from '../../views/types';
5
6
  import './index.scss';
6
7
  export declare const DocumentControls: React.FC<{
7
8
  apiURL: string;
@@ -13,6 +14,7 @@ export declare const DocumentControls: React.FC<{
13
14
  id?: string;
14
15
  isAccountView?: boolean;
15
16
  isEditing?: boolean;
17
+ onSave?: CollectionEditViewProps['onSave'];
16
18
  permissions?: CollectionPermission | GlobalPermission;
17
19
  }>;
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAiB7E,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;CACtD,CAqNA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAiBhE,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IAC1C,WAAW,CAAC,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;CACtD,CAuNA,CAAA"}
@@ -74,7 +74,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
74
74
  }
75
75
  const baseClass = 'doc-controls';
76
76
  const DocumentControls = (props)=>{
77
- const { id, collection, data, disableActions, global, hasSavePermission, isAccountView, isEditing, permissions } = props;
77
+ const { id, collection, data, disableActions, global, hasSavePermission, isAccountView, isEditing, onSave, permissions } = props;
78
78
  const { slug, publishedDoc } = (0, _DocumentInfo.useDocumentInfo)();
79
79
  const { admin: { dateFormat }, collections, globals, routes: { admin: adminRoute } } = (0, _Config.useConfig)();
80
80
  const collectionConfig = collections.find((coll)=>coll.slug === slug);
@@ -114,6 +114,7 @@ const DocumentControls = (props)=>{
114
114
  collection: collection,
115
115
  global: global,
116
116
  id: id,
117
+ onSave: onSave,
117
118
  publishedDocUpdatedAt: publishedDoc?.updatedAt || data?.createdAt
118
119
  }))), collection?.timestamps && (isEditing || isAccountView) && /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, /*#__PURE__*/ _react.default.createElement("li", {
119
120
  className: [
@@ -172,4 +173,4 @@ const DocumentControls = (props)=>{
172
173
  }));
173
174
  };
174
175
 
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0RvY3VtZW50Q29udHJvbHMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25QZXJtaXNzaW9uLCBHbG9iYWxQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9mb3JtYXREYXRlJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0NvbmZpZydcbmltcG9ydCB7IHVzZURvY3VtZW50SW5mbyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Eb2N1bWVudEluZm8nXG5pbXBvcnQgQXV0b3NhdmUgZnJvbSAnLi4vQXV0b3NhdmUnXG5pbXBvcnQgRGVsZXRlRG9jdW1lbnQgZnJvbSAnLi4vRGVsZXRlRG9jdW1lbnQnXG5pbXBvcnQgRHVwbGljYXRlRG9jdW1lbnQgZnJvbSAnLi4vRHVwbGljYXRlRG9jdW1lbnQnXG5pbXBvcnQgeyBHdXR0ZXIgfSBmcm9tICcuLi9HdXR0ZXInXG5pbXBvcnQgUG9wdXAgZnJvbSAnLi4vUG9wdXAnXG5pbXBvcnQgKiBhcyBQb3B1cExpc3QgZnJvbSAnLi4vUG9wdXAvUG9wdXBCdXR0b25MaXN0J1xuaW1wb3J0IFByZXZpZXdCdXR0b24gZnJvbSAnLi4vUHJldmlld0J1dHRvbidcbmltcG9ydCB7IFB1Ymxpc2ggfSBmcm9tICcuLi9QdWJsaXNoJ1xuaW1wb3J0IHsgU2F2ZSB9IGZyb20gJy4uL1NhdmUnXG5pbXBvcnQgeyBTYXZlRHJhZnQgfSBmcm9tICcuLi9TYXZlRHJhZnQnXG5pbXBvcnQgU3RhdHVzIGZyb20gJy4uL1N0YXR1cydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZG9jLWNvbnRyb2xzJ1xuXG5leHBvcnQgY29uc3QgRG9jdW1lbnRDb250cm9sczogUmVhY3QuRkM8e1xuICBhcGlVUkw6IHN0cmluZ1xuICBjb2xsZWN0aW9uPzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBkYXRhPzogYW55XG4gIGRpc2FibGVBY3Rpb25zPzogYm9vbGVhblxuICBnbG9iYWw/OiBTYW5pdGl6ZWRHbG9iYWxDb25maWdcbiAgaGFzU2F2ZVBlcm1pc3Npb24/OiBib29sZWFuXG4gIGlkPzogc3RyaW5nXG4gIGlzQWNjb3VudFZpZXc/OiBib29sZWFuXG4gIGlzRWRpdGluZz86IGJvb2xlYW5cbiAgcGVybWlzc2lvbnM/OiBDb2xsZWN0aW9uUGVybWlzc2lvbiB8IEdsb2JhbFBlcm1pc3Npb25cbn0+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBpZCxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGRhdGEsXG4gICAgZGlzYWJsZUFjdGlvbnMsXG4gICAgZ2xvYmFsLFxuICAgIGhhc1NhdmVQZXJtaXNzaW9uLFxuICAgIGlzQWNjb3VudFZpZXcsXG4gICAgaXNFZGl0aW5nLFxuICAgIHBlcm1pc3Npb25zLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCB7IHNsdWcsIHB1Ymxpc2hlZERvYyB9ID0gdXNlRG9jdW1lbnRJbmZvKClcblxuICBjb25zdCB7XG4gICAgYWRtaW46IHsgZGF0ZUZvcm1hdCB9LFxuICAgIGNvbGxlY3Rpb25zLFxuICAgIGdsb2JhbHMsXG4gICAgcm91dGVzOiB7IGFkbWluOiBhZG1pblJvdXRlIH0sXG4gIH0gPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IGNvbGxlY3Rpb25Db25maWcgPSBjb2xsZWN0aW9ucy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IHNsdWcpXG4gIGNvbnN0IGdsb2JhbENvbmZpZyA9IGdsb2JhbHMuZmluZCgoZ2xvYmFsKSA9PiBnbG9iYWwuc2x1ZyA9PT0gc2x1ZylcblxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdnZW5lcmFsJylcblxuICBjb25zdCBoYXNDcmVhdGVQZXJtaXNzaW9uID0gJ2NyZWF0ZScgaW4gcGVybWlzc2lvbnMgJiYgcGVybWlzc2lvbnMuY3JlYXRlPy5wZXJtaXNzaW9uXG4gIGNvbnN0IGhhc0RlbGV0ZVBlcm1pc3Npb24gPSAnZGVsZXRlJyBpbiBwZXJtaXNzaW9ucyAmJiBwZXJtaXNzaW9ucy5kZWxldGU/LnBlcm1pc3Npb25cblxuICBjb25zdCBzaG93RG90TWVudSA9IEJvb2xlYW4oXG4gICAgY29sbGVjdGlvbiAmJiBpZCAmJiAhZGlzYWJsZUFjdGlvbnMgJiYgKGhhc0NyZWF0ZVBlcm1pc3Npb24gfHwgaGFzRGVsZXRlUGVybWlzc2lvbiksXG4gIClcblxuICBjb25zdCBjb2xsZWN0aW9uTGFiZWwgPSAoKSA9PiB7XG4gICAgY29uc3QgbGFiZWwgPSBjb2xsZWN0aW9uPy5sYWJlbHM/LnNpbmd1bGFyXG4gICAgaWYgKCFsYWJlbCkgcmV0dXJuIHQoJ2RvY3VtZW50JylcbiAgICByZXR1cm4gdHlwZW9mIGxhYmVsID09PSAnc3RyaW5nJyA/IGxhYmVsIDogZ2V0VHJhbnNsYXRpb24obGFiZWwsIGkxOG4pXG4gIH1cblxuICBjb25zdCB1bnNhdmVkRHJhZnRXaXRoVmFsaWRhdGlvbnMgPVxuICAgICFpZCAmJiBjb2xsZWN0aW9uQ29uZmlnPy52ZXJzaW9ucz8uZHJhZnRzICYmIGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnM/LmRyYWZ0cy52YWxpZGF0ZVxuXG4gIHJldHVybiAoXG4gICAgPEd1dHRlciBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcHBlcmB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fY29udGVudGB9PlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX21ldGFgfT5cbiAgICAgICAgICAgIHtjb2xsZWN0aW9uICYmICFpc0VkaXRpbmcgJiYgIWlzQWNjb3VudFZpZXcgJiYgKFxuICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19saXN0LWl0ZW1gfT5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3ZhbHVlYH0+XG4gICAgICAgICAgICAgICAgICB7dCgnY3JlYXRpbmdOZXdMYWJlbCcsIHsgbGFiZWw6IGNvbGxlY3Rpb25MYWJlbCgpIH0pfVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7KGNvbGxlY3Rpb24/LnZlcnNpb25zPy5kcmFmdHMgfHwgZ2xvYmFsPy52ZXJzaW9ucz8uZHJhZnRzKSAmJiAoXG4gICAgICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgICAgICB7KGdsb2JhbCB8fCAoY29sbGVjdGlvbiAmJiBpc0VkaXRpbmcpKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtbYCR7YmFzZUNsYXNzfV9fc3RhdHVzYCwgYCR7YmFzZUNsYXNzfV9fbGlzdC1pdGVtYF1cbiAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJyAnKX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFN0YXR1cyAvPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHsoKGNvbGxlY3Rpb25Db25maWc/LnZlcnNpb25zPy5kcmFmdHMgJiZcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25Db25maWc/LnZlcnNpb25zPy5kcmFmdHM/LmF1dG9zYXZlICYmXG4gICAgICAgICAgICAgICAgICAhdW5zYXZlZERyYWZ0V2l0aFZhbGlkYXRpb25zKSB8fFxuICAgICAgICAgICAgICAgICAgKGdsb2JhbENvbmZpZz8udmVyc2lvbnM/LmRyYWZ0cyAmJiBnbG9iYWxDb25maWc/LnZlcnNpb25zPy5kcmFmdHM/LmF1dG9zYXZlKSkgJiZcbiAgICAgICAgICAgICAgICAgIGhhc1NhdmVQZXJtaXNzaW9uICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGlzdC1pdGVtYH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEF1dG9zYXZlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsPXtnbG9iYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoZWREb2NVcGRhdGVkQXQ9e3B1Ymxpc2hlZERvYz8udXBkYXRlZEF0IHx8IGRhdGE/LmNyZWF0ZWRBdH1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7Y29sbGVjdGlvbj8udGltZXN0YW1wcyAmJiAoaXNFZGl0aW5nIHx8IGlzQWNjb3VudFZpZXcpICYmIChcbiAgICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtbYCR7YmFzZUNsYXNzfV9fbGlzdC1pdGVtYCwgYCR7YmFzZUNsYXNzfV9fdmFsdWUtd3JhcGBdXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJyAnKX1cbiAgICAgICAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgICAgICAgZGF0YT8udXBkYXRlZEF0ID8gZm9ybWF0RGF0ZShkYXRhPy51cGRhdGVkQXQsIGRhdGVGb3JtYXQsIGkxOG4/Lmxhbmd1YWdlKSA6ICcnXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdsYXN0TW9kaWZpZWQnKX06Jm5ic3A7PC9wPlxuICAgICAgICAgICAgICAgICAge2RhdGE/LnVwZGF0ZWRBdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdmFsdWVgfT5cbiAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0RGF0ZShkYXRhLnVwZGF0ZWRBdCwgZGF0ZUZvcm1hdCwgaTE4bj8ubGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1tgJHtiYXNlQ2xhc3N9X19saXN0LWl0ZW1gLCBgJHtiYXNlQ2xhc3N9X192YWx1ZS13cmFwYF1cbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignICcpfVxuICAgICAgICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICAgICAgICBwdWJsaXNoZWREb2M/LmNyZWF0ZWRBdCB8fCBkYXRhPy5jcmVhdGVkQXRcbiAgICAgICAgICAgICAgICAgICAgICA/IGZvcm1hdERhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hlZERvYz8uY3JlYXRlZEF0IHx8IGRhdGE/LmNyZWF0ZWRBdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaTE4bj8ubGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGFiZWxgfT57dCgnY3JlYXRlZCcpfTombmJzcDs8L3A+XG4gICAgICAgICAgICAgICAgICB7KHB1Ymxpc2hlZERvYz8uY3JlYXRlZEF0IHx8IGRhdGE/LmNyZWF0ZWRBdCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3ZhbHVlYH0+XG4gICAgICAgICAgICAgICAgICAgICAge2Zvcm1hdERhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoZWREb2M/LmNyZWF0ZWRBdCB8fCBkYXRhPy5jcmVhdGVkQXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgaTE4bj8ubGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NvbnRyb2xzLXdyYXBwZXJgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fY29udHJvbHNgfT5cbiAgICAgICAgICAgIHsoY29sbGVjdGlvbj8uYWRtaW4/LnByZXZpZXcgfHwgZ2xvYmFsPy5hZG1pbj8ucHJldmlldykgJiYgKFxuICAgICAgICAgICAgICA8UHJldmlld0J1dHRvblxuICAgICAgICAgICAgICAgIEN1c3RvbUNvbXBvbmVudD17XG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uPy5hZG1pbj8uY29tcG9uZW50cz8uZWRpdD8uUHJldmlld0J1dHRvbiB8fFxuICAgICAgICAgICAgICAgICAgZ2xvYmFsPy5hZG1pbj8uY29tcG9uZW50cz8uZWxlbWVudHM/LlByZXZpZXdCdXR0b25cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZ2VuZXJhdGVQcmV2aWV3VVJMPXtjb2xsZWN0aW9uPy5hZG1pbj8ucHJldmlldyB8fCBnbG9iYWw/LmFkbWluPy5wcmV2aWV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtoYXNTYXZlUGVybWlzc2lvbiAmJiAoXG4gICAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICB7Y29sbGVjdGlvbj8udmVyc2lvbnM/LmRyYWZ0cyB8fCBnbG9iYWw/LnZlcnNpb25zPy5kcmFmdHMgPyAoXG4gICAgICAgICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgICAgIHsoKGNvbGxlY3Rpb25Db25maWc/LnZlcnNpb25zPy5kcmFmdHMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAhY29sbGVjdGlvbkNvbmZpZz8udmVyc2lvbnM/LmRyYWZ0cz8uYXV0b3NhdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgdW5zYXZlZERyYWZ0V2l0aFZhbGlkYXRpb25zIHx8XG4gICAgICAgICAgICAgICAgICAgICAgKGdsb2JhbENvbmZpZz8udmVyc2lvbnM/LmRyYWZ0cyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWdsb2JhbENvbmZpZz8udmVyc2lvbnM/LmRyYWZ0cz8uYXV0b3NhdmUpKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPFNhdmVEcmFmdFxuICAgICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbj8uYWRtaW4/LmNvbXBvbmVudHM/LmVkaXQ/LlNhdmVEcmFmdEJ1dHRvbiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWw/LmFkbWluPy5jb21wb25lbnRzPy5lbGVtZW50cz8uU2F2ZURyYWZ0QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPFB1Ymxpc2hcbiAgICAgICAgICAgICAgICAgICAgICBDdXN0b21Db21wb25lbnQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbj8uYWRtaW4/LmNvbXBvbmVudHM/LmVkaXQ/LlB1Ymxpc2hCdXR0b24gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbD8uYWRtaW4/LmNvbXBvbmVudHM/LmVsZW1lbnRzPy5QdWJsaXNoQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPFNhdmVcbiAgICAgICAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uPy5hZG1pbj8uY29tcG9uZW50cz8uZWRpdD8uU2F2ZUJ1dHRvbiB8fFxuICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbD8uYWRtaW4/LmNvbXBvbmVudHM/LmVsZW1lbnRzPy5TYXZlQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAge3Nob3dEb3RNZW51ICYmIChcbiAgICAgICAgICAgIDxQb3B1cFxuICAgICAgICAgICAgICBidXR0b249e1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19kb3RzYH0+XG4gICAgICAgICAgICAgICAgICA8ZGl2IC8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IC8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19wb3B1cGB9XG4gICAgICAgICAgICAgIGhvcml6b250YWxBbGlnbj1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgdmVydGljYWxBbGlnbj1cImJvdHRvbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxQb3B1cExpc3QuQnV0dG9uR3JvdXA+XG4gICAgICAgICAgICAgICAge2hhc0NyZWF0ZVBlcm1pc3Npb24gJiYgKFxuICAgICAgICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICA8UG9wdXBMaXN0LkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWN0aW9uLWNyZWF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgdG89e2Ake2FkbWluUm91dGV9L2NvbGxlY3Rpb25zLyR7Y29sbGVjdGlvbj8uc2x1Z30vY3JlYXRlYH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjcmVhdGVOZXcnKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Qb3B1cExpc3QuQnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgIHshY29sbGVjdGlvbj8uYWRtaW4/LmRpc2FibGVEdXBsaWNhdGUgJiYgaXNFZGl0aW5nICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8RHVwbGljYXRlRG9jdW1lbnQgY29sbGVjdGlvbj17Y29sbGVjdGlvbn0gaWQ9e2lkfSBzbHVnPXtjb2xsZWN0aW9uPy5zbHVnfSAvPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtoYXNEZWxldGVQZXJtaXNzaW9uICYmIChcbiAgICAgICAgICAgICAgICAgIDxEZWxldGVEb2N1bWVudCBidXR0b25JZD1cImFjdGlvbi1kZWxldGVcIiBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSBpZD17aWR9IC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9Qb3B1cExpc3QuQnV0dG9uR3JvdXA+XG4gICAgICAgICAgICA8L1BvcHVwPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZGl2aWRlcmB9IC8+XG4gICAgPC9HdXR0ZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJEb2N1bWVudENvbnRyb2xzIiwiYmFzZUNsYXNzIiwicHJvcHMiLCJpZCIsImNvbGxlY3Rpb24iLCJkYXRhIiwiZGlzYWJsZUFjdGlvbnMiLCJnbG9iYWwiLCJoYXNTYXZlUGVybWlzc2lvbiIsImlzQWNjb3VudFZpZXciLCJpc0VkaXRpbmciLCJwZXJtaXNzaW9ucyIsInNsdWciLCJwdWJsaXNoZWREb2MiLCJ1c2VEb2N1bWVudEluZm8iLCJhZG1pbiIsImRhdGVGb3JtYXQiLCJjb2xsZWN0aW9ucyIsImdsb2JhbHMiLCJyb3V0ZXMiLCJhZG1pblJvdXRlIiwidXNlQ29uZmlnIiwiY29sbGVjdGlvbkNvbmZpZyIsImZpbmQiLCJjb2xsIiwiZ2xvYmFsQ29uZmlnIiwiaTE4biIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImhhc0NyZWF0ZVBlcm1pc3Npb24iLCJjcmVhdGUiLCJwZXJtaXNzaW9uIiwiaGFzRGVsZXRlUGVybWlzc2lvbiIsImRlbGV0ZSIsInNob3dEb3RNZW51IiwiQm9vbGVhbiIsImNvbGxlY3Rpb25MYWJlbCIsImxhYmVsIiwibGFiZWxzIiwic2luZ3VsYXIiLCJnZXRUcmFuc2xhdGlvbiIsInVuc2F2ZWREcmFmdFdpdGhWYWxpZGF0aW9ucyIsInZlcnNpb25zIiwiZHJhZnRzIiwidmFsaWRhdGUiLCJHdXR0ZXIiLCJjbGFzc05hbWUiLCJkaXYiLCJ1bCIsImxpIiwicCIsIkZyYWdtZW50IiwiZmlsdGVyIiwiam9pbiIsIlN0YXR1cyIsImF1dG9zYXZlIiwiQXV0b3NhdmUiLCJwdWJsaXNoZWREb2NVcGRhdGVkQXQiLCJ1cGRhdGVkQXQiLCJjcmVhdGVkQXQiLCJ0aW1lc3RhbXBzIiwidGl0bGUiLCJmb3JtYXREYXRlIiwibGFuZ3VhZ2UiLCJwcmV2aWV3IiwiUHJldmlld0J1dHRvbiIsIkN1c3RvbUNvbXBvbmVudCIsImNvbXBvbmVudHMiLCJlZGl0IiwiZWxlbWVudHMiLCJnZW5lcmF0ZVByZXZpZXdVUkwiLCJSZWFjdCIsIlNhdmVEcmFmdCIsIlNhdmVEcmFmdEJ1dHRvbiIsIlB1Ymxpc2giLCJQdWJsaXNoQnV0dG9uIiwiU2F2ZSIsIlNhdmVCdXR0b24iLCJQb3B1cCIsImJ1dHRvbiIsImhvcml6b250YWxBbGlnbiIsInNpemUiLCJ2ZXJ0aWNhbEFsaWduIiwiUG9wdXBMaXN0IiwiQnV0dG9uR3JvdXAiLCJCdXR0b24iLCJ0byIsImRpc2FibGVEdXBsaWNhdGUiLCJEdXBsaWNhdGVEb2N1bWVudCIsIkRlbGV0ZURvY3VtZW50IiwiYnV0dG9uSWQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkEwQmFBOzs7ZUFBQUE7OzsrREExQm1COzhCQUNEO2dDQU1BOzRCQUNKO3dCQUNEOzhCQUNNO2lFQUNYO3VFQUNNOzBFQUNHO3dCQUNQOzhEQUNMO3lFQUNTO3NFQUNEO3lCQUNGO3NCQUNIOzJCQUNLOytEQUNQO1FBQ1o7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUMsWUFBWTtBQUVYLE1BQU1ELG1CQVdSLENBQUNFO0lBQ0osTUFBTSxFQUNKQyxFQUFFLEVBQ0ZDLFVBQVUsRUFDVkMsSUFBSSxFQUNKQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsaUJBQWlCLEVBQ2pCQyxhQUFhLEVBQ2JDLFNBQVMsRUFDVEMsV0FBVyxFQUNaLEdBQUdUO0lBRUosTUFBTSxFQUFFVSxJQUFJLEVBQUVDLFlBQVksRUFBRSxHQUFHQyxJQUFBQSw2QkFBZTtJQUU5QyxNQUFNLEVBQ0pDLE9BQU8sRUFBRUMsVUFBVSxFQUFFLEVBQ3JCQyxXQUFXLEVBQ1hDLE9BQU8sRUFDUEMsUUFBUSxFQUFFSixPQUFPSyxVQUFVLEVBQUUsRUFDOUIsR0FBR0MsSUFBQUEsaUJBQVM7SUFFYixNQUFNQyxtQkFBbUJMLFlBQVlNLElBQUksQ0FBQyxDQUFDQyxP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
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0RvY3VtZW50Q29udHJvbHMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25QZXJtaXNzaW9uLCBHbG9iYWxQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25FZGl0Vmlld1Byb3BzIH0gZnJvbSAnLi4vLi4vdmlld3MvdHlwZXMnXG5cbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9mb3JtYXREYXRlJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0NvbmZpZydcbmltcG9ydCB7IHVzZURvY3VtZW50SW5mbyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Eb2N1bWVudEluZm8nXG5pbXBvcnQgQXV0b3NhdmUgZnJvbSAnLi4vQXV0b3NhdmUnXG5pbXBvcnQgRGVsZXRlRG9jdW1lbnQgZnJvbSAnLi4vRGVsZXRlRG9jdW1lbnQnXG5pbXBvcnQgRHVwbGljYXRlRG9jdW1lbnQgZnJvbSAnLi4vRHVwbGljYXRlRG9jdW1lbnQnXG5pbXBvcnQgeyBHdXR0ZXIgfSBmcm9tICcuLi9HdXR0ZXInXG5pbXBvcnQgUG9wdXAgZnJvbSAnLi4vUG9wdXAnXG5pbXBvcnQgKiBhcyBQb3B1cExpc3QgZnJvbSAnLi4vUG9wdXAvUG9wdXBCdXR0b25MaXN0J1xuaW1wb3J0IFByZXZpZXdCdXR0b24gZnJvbSAnLi4vUHJldmlld0J1dHRvbidcbmltcG9ydCB7IFB1Ymxpc2ggfSBmcm9tICcuLi9QdWJsaXNoJ1xuaW1wb3J0IHsgU2F2ZSB9IGZyb20gJy4uL1NhdmUnXG5pbXBvcnQgeyBTYXZlRHJhZnQgfSBmcm9tICcuLi9TYXZlRHJhZnQnXG5pbXBvcnQgU3RhdHVzIGZyb20gJy4uL1N0YXR1cydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZG9jLWNvbnRyb2xzJ1xuXG5leHBvcnQgY29uc3QgRG9jdW1lbnRDb250cm9sczogUmVhY3QuRkM8e1xuICBhcGlVUkw6IHN0cmluZ1xuICBjb2xsZWN0aW9uPzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBkYXRhPzogYW55XG4gIGRpc2FibGVBY3Rpb25zPzogYm9vbGVhblxuICBnbG9iYWw/OiBTYW5pdGl6ZWRHbG9iYWxDb25maWdcbiAgaGFzU2F2ZVBlcm1pc3Npb24/OiBib29sZWFuXG4gIGlkPzogc3RyaW5nXG4gIGlzQWNjb3VudFZpZXc/OiBib29sZWFuXG4gIGlzRWRpdGluZz86IGJvb2xlYW5cbiAgb25TYXZlPzogQ29sbGVjdGlvbkVkaXRWaWV3UHJvcHNbJ29uU2F2ZSddXG4gIHBlcm1pc3Npb25zPzogQ29sbGVjdGlvblBlcm1pc3Npb24gfCBHbG9iYWxQZXJtaXNzaW9uXG59PiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgaWQsXG4gICAgY29sbGVjdGlvbixcbiAgICBkYXRhLFxuICAgIGRpc2FibGVBY3Rpb25zLFxuICAgIGdsb2JhbCxcbiAgICBoYXNTYXZlUGVybWlzc2lvbixcbiAgICBpc0FjY291bnRWaWV3LFxuICAgIGlzRWRpdGluZyxcbiAgICBvblNhdmUsXG4gICAgcGVybWlzc2lvbnMsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IHsgc2x1ZywgcHVibGlzaGVkRG9jIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuXG4gIGNvbnN0IHtcbiAgICBhZG1pbjogeyBkYXRlRm9ybWF0IH0sXG4gICAgY29sbGVjdGlvbnMsXG4gICAgZ2xvYmFscyxcbiAgICByb3V0ZXM6IHsgYWRtaW46IGFkbWluUm91dGUgfSxcbiAgfSA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgY29sbGVjdGlvbkNvbmZpZyA9IGNvbGxlY3Rpb25zLmZpbmQoKGNvbGwpID0+IGNvbGwuc2x1ZyA9PT0gc2x1ZylcbiAgY29uc3QgZ2xvYmFsQ29uZmlnID0gZ2xvYmFscy5maW5kKChnbG9iYWwpID0+IGdsb2JhbC5zbHVnID09PSBzbHVnKVxuXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIGNvbnN0IGhhc0NyZWF0ZVBlcm1pc3Npb24gPSAnY3JlYXRlJyBpbiBwZXJtaXNzaW9ucyAmJiBwZXJtaXNzaW9ucy5jcmVhdGU/LnBlcm1pc3Npb25cbiAgY29uc3QgaGFzRGVsZXRlUGVybWlzc2lvbiA9ICdkZWxldGUnIGluIHBlcm1pc3Npb25zICYmIHBlcm1pc3Npb25zLmRlbGV0ZT8ucGVybWlzc2lvblxuXG4gIGNvbnN0IHNob3dEb3RNZW51ID0gQm9vbGVhbihcbiAgICBjb2xsZWN0aW9uICYmIGlkICYmICFkaXNhYmxlQWN0aW9ucyAmJiAoaGFzQ3JlYXRlUGVybWlzc2lvbiB8fCBoYXNEZWxldGVQZXJtaXNzaW9uKSxcbiAgKVxuXG4gIGNvbnN0IGNvbGxlY3Rpb25MYWJlbCA9ICgpID0+IHtcbiAgICBjb25zdCBsYWJlbCA9IGNvbGxlY3Rpb24/LmxhYmVscz8uc2luZ3VsYXJcbiAgICBpZiAoIWxhYmVsKSByZXR1cm4gdCgnZG9jdW1lbnQnKVxuICAgIHJldHVybiB0eXBlb2YgbGFiZWwgPT09ICdzdHJpbmcnID8gbGFiZWwgOiBnZXRUcmFuc2xhdGlvbihsYWJlbCwgaTE4bilcbiAgfVxuXG4gIGNvbnN0IHVuc2F2ZWREcmFmdFdpdGhWYWxpZGF0aW9ucyA9XG4gICAgIWlkICYmIGNvbGxlY3Rpb25Db25maWc/LnZlcnNpb25zPy5kcmFmdHMgJiYgY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucz8uZHJhZnRzLnZhbGlkYXRlXG5cbiAgcmV0dXJuIChcbiAgICA8R3V0dGVyIGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X193cmFwcGVyYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb250ZW50YH0+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbWV0YWB9PlxuICAgICAgICAgICAge2NvbGxlY3Rpb24gJiYgIWlzRWRpdGluZyAmJiAhaXNBY2NvdW50VmlldyAmJiAoXG4gICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2xpc3QtaXRlbWB9PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdmFsdWVgfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjcmVhdGluZ05ld0xhYmVsJywgeyBsYWJlbDogY29sbGVjdGlvbkxhYmVsKCkgfSl9XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHsoY29sbGVjdGlvbj8udmVyc2lvbnM/LmRyYWZ0cyB8fCBnbG9iYWw/LnZlcnNpb25zPy5kcmFmdHMpICYmIChcbiAgICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgIHsoZ2xvYmFsIHx8IChjb2xsZWN0aW9uICYmIGlzRWRpdGluZykpICYmIChcbiAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1tgJHtiYXNlQ2xhc3N9X19zdGF0dXNgLCBgJHtiYXNlQ2xhc3N9X19saXN0LWl0ZW1gXVxuICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgICAgICAgICAgICAuam9pbignICcpfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8U3RhdHVzIC8+XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgeygoY29sbGVjdGlvbkNvbmZpZz8udmVyc2lvbnM/LmRyYWZ0cyAmJlxuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbkNvbmZpZz8udmVyc2lvbnM/LmRyYWZ0cz8uYXV0b3NhdmUgJiZcbiAgICAgICAgICAgICAgICAgICF1bnNhdmVkRHJhZnRXaXRoVmFsaWRhdGlvbnMpIHx8XG4gICAgICAgICAgICAgICAgICAoZ2xvYmFsQ29uZmlnPy52ZXJzaW9ucz8uZHJhZnRzICYmIGdsb2JhbENvbmZpZz8udmVyc2lvbnM/LmRyYWZ0cz8uYXV0b3NhdmUpKSAmJlxuICAgICAgICAgICAgICAgICAgaGFzU2F2ZVBlcm1pc3Npb24gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19saXN0LWl0ZW1gfT5cbiAgICAgICAgICAgICAgICAgICAgICA8QXV0b3NhdmVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWw9e2dsb2JhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uU2F2ZT17b25TYXZlfVxuICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGVkRG9jVXBkYXRlZEF0PXtwdWJsaXNoZWREb2M/LnVwZGF0ZWRBdCB8fCBkYXRhPy5jcmVhdGVkQXR9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2NvbGxlY3Rpb24/LnRpbWVzdGFtcHMgJiYgKGlzRWRpdGluZyB8fCBpc0FjY291bnRWaWV3KSAmJiAoXG4gICAgICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17W2Ake2Jhc2VDbGFzc31fX2xpc3QtaXRlbWAsIGAke2Jhc2VDbGFzc31fX3ZhbHVlLXdyYXBgXVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcgJyl9XG4gICAgICAgICAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICAgICAgICAgIGRhdGE/LnVwZGF0ZWRBdCA/IGZvcm1hdERhdGUoZGF0YT8udXBkYXRlZEF0LCBkYXRlRm9ybWF0LCBpMThuPy5sYW5ndWFnZSkgOiAnJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGFiZWxgfT57dCgnbGFzdE1vZGlmaWVkJyl9OiZuYnNwOzwvcD5cbiAgICAgICAgICAgICAgICAgIHtkYXRhPy51cGRhdGVkQXQgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3ZhbHVlYH0+XG4gICAgICAgICAgICAgICAgICAgICAge2Zvcm1hdERhdGUoZGF0YS51cGRhdGVkQXQsIGRhdGVGb3JtYXQsIGkxOG4/Lmxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtbYCR7YmFzZUNsYXNzfV9fbGlzdC1pdGVtYCwgYCR7YmFzZUNsYXNzfV9fdmFsdWUtd3JhcGBdXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJyAnKX1cbiAgICAgICAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgICAgICAgcHVibGlzaGVkRG9jPy5jcmVhdGVkQXQgfHwgZGF0YT8uY3JlYXRlZEF0XG4gICAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXREYXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoZWREb2M/LmNyZWF0ZWRBdCB8fCBkYXRhPy5jcmVhdGVkQXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGkxOG4/Lmxhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2xhYmVsYH0+e3QoJ2NyZWF0ZWQnKX06Jm5ic3A7PC9wPlxuICAgICAgICAgICAgICAgICAgeyhwdWJsaXNoZWREb2M/LmNyZWF0ZWRBdCB8fCBkYXRhPy5jcmVhdGVkQXQpICYmIChcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X192YWx1ZWB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtmb3JtYXREYXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGVkRG9jPy5jcmVhdGVkQXQgfHwgZGF0YT8uY3JlYXRlZEF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGkxOG4/Lmxhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb250cm9scy13cmFwcGVyYH0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NvbnRyb2xzYH0+XG4gICAgICAgICAgICB7KGNvbGxlY3Rpb24/LmFkbWluPy5wcmV2aWV3IHx8IGdsb2JhbD8uYWRtaW4/LnByZXZpZXcpICYmIChcbiAgICAgICAgICAgICAgPFByZXZpZXdCdXR0b25cbiAgICAgICAgICAgICAgICBDdXN0b21Db21wb25lbnQ9e1xuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbj8uYWRtaW4/LmNvbXBvbmVudHM/LmVkaXQ/LlByZXZpZXdCdXR0b24gfHxcbiAgICAgICAgICAgICAgICAgIGdsb2JhbD8uYWRtaW4/LmNvbXBvbmVudHM/LmVsZW1lbnRzPy5QcmV2aWV3QnV0dG9uXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGdlbmVyYXRlUHJldmlld1VSTD17Y29sbGVjdGlvbj8uYWRtaW4/LnByZXZpZXcgfHwgZ2xvYmFsPy5hZG1pbj8ucHJldmlld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7aGFzU2F2ZVBlcm1pc3Npb24gJiYgKFxuICAgICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAge2NvbGxlY3Rpb24/LnZlcnNpb25zPy5kcmFmdHMgfHwgZ2xvYmFsPy52ZXJzaW9ucz8uZHJhZnRzID8gKFxuICAgICAgICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICB7KChjb2xsZWN0aW9uQ29uZmlnPy52ZXJzaW9ucz8uZHJhZnRzICYmXG4gICAgICAgICAgICAgICAgICAgICAgIWNvbGxlY3Rpb25Db25maWc/LnZlcnNpb25zPy5kcmFmdHM/LmF1dG9zYXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgIHVuc2F2ZWREcmFmdFdpdGhWYWxpZGF0aW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICAgIChnbG9iYWxDb25maWc/LnZlcnNpb25zPy5kcmFmdHMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFnbG9iYWxDb25maWc/LnZlcnNpb25zPy5kcmFmdHM/LmF1dG9zYXZlKSkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgIDxTYXZlRHJhZnRcbiAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbUNvbXBvbmVudD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24/LmFkbWluPy5jb21wb25lbnRzPy5lZGl0Py5TYXZlRHJhZnRCdXR0b24gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsPy5hZG1pbj8uY29tcG9uZW50cz8uZWxlbWVudHM/LlNhdmVEcmFmdEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxQdWJsaXNoXG4gICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24/LmFkbWluPy5jb21wb25lbnRzPy5lZGl0Py5QdWJsaXNoQnV0dG9uIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWw/LmFkbWluPy5jb21wb25lbnRzPy5lbGVtZW50cz8uUHVibGlzaEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxTYXZlXG4gICAgICAgICAgICAgICAgICAgIEN1c3RvbUNvbXBvbmVudD17XG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbj8uYWRtaW4/LmNvbXBvbmVudHM/LmVkaXQ/LlNhdmVCdXR0b24gfHxcbiAgICAgICAgICAgICAgICAgICAgICBnbG9iYWw/LmFkbWluPy5jb21wb25lbnRzPy5lbGVtZW50cz8uU2F2ZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtzaG93RG90TWVudSAmJiAoXG4gICAgICAgICAgICA8UG9wdXBcbiAgICAgICAgICAgICAgYnV0dG9uPXtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZG90c2B9PlxuICAgICAgICAgICAgICAgICAgPGRpdiAvPlxuICAgICAgICAgICAgICAgICAgPGRpdiAvPlxuICAgICAgICAgICAgICAgICAgPGRpdiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcG9wdXBgfVxuICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ249XCJyaWdodFwiXG4gICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ249XCJib3R0b21cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8UG9wdXBMaXN0LkJ1dHRvbkdyb3VwPlxuICAgICAgICAgICAgICAgIHtoYXNDcmVhdGVQZXJtaXNzaW9uICYmIChcbiAgICAgICAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPFBvcHVwTGlzdC5CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBpZD1cImFjdGlvbi1jcmVhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIHRvPXtgJHthZG1pblJvdXRlfS9jb2xsZWN0aW9ucy8ke2NvbGxlY3Rpb24/LnNsdWd9L2NyZWF0ZWB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnY3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgICAgIDwvUG9wdXBMaXN0LkJ1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICB7IWNvbGxlY3Rpb24/LmFkbWluPy5kaXNhYmxlRHVwbGljYXRlICYmIGlzRWRpdGluZyAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPER1cGxpY2F0ZURvY3VtZW50IGNvbGxlY3Rpb249e2NvbGxlY3Rpb259IGlkPXtpZH0gc2x1Zz17Y29sbGVjdGlvbj8uc2x1Z30gLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7aGFzRGVsZXRlUGVybWlzc2lvbiAmJiAoXG4gICAgICAgICAgICAgICAgICA8RGVsZXRlRG9jdW1lbnQgYnV0dG9uSWQ9XCJhY3Rpb24tZGVsZXRlXCIgY29sbGVjdGlvbj17Y29sbGVjdGlvbn0gaWQ9e2lkfSAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvUG9wdXBMaXN0LkJ1dHRvbkdyb3VwPlxuICAgICAgICAgICAgPC9Qb3B1cD5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RpdmlkZXJgfSAvPlxuICAgIDwvR3V0dGVyPlxuICApXG59XG4iXSwibmFtZXMiOlsiRG9jdW1lbnRDb250cm9scyIsImJhc2VDbGFzcyIsInByb3BzIiwiaWQiLCJjb2xsZWN0aW9uIiwiZGF0YSIsImRpc2FibGVBY3Rpb25zIiwiZ2xvYmFsIiwiaGFzU2F2ZVBlcm1pc3Npb24iLCJpc0FjY291bnRWaWV3IiwiaXNFZGl0aW5nIiwib25TYXZlIiwicGVybWlzc2lvbnMiLCJzbHVnIiwicHVibGlzaGVkRG9jIiwidXNlRG9jdW1lbnRJbmZvIiwiYWRtaW4iLCJkYXRlRm9ybWF0IiwiY29sbGVjdGlvbnMiLCJnbG9iYWxzIiwicm91dGVzIiwiYWRtaW5Sb3V0ZSIsInVzZUNvbmZpZyIsImNvbGxlY3Rpb25Db25maWciLCJmaW5kIiwiY29sbCIsImdsb2JhbENvbmZpZyIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJoYXNDcmVhdGVQZXJtaXNzaW9uIiwiY3JlYXRlIiwicGVybWlzc2lvbiIsImhhc0RlbGV0ZVBlcm1pc3Npb24iLCJkZWxldGUiLCJzaG93RG90TWVudSIsIkJvb2xlYW4iLCJjb2xsZWN0aW9uTGFiZWwiLCJsYWJlbCIsImxhYmVscyIsInNpbmd1bGFyIiwiZ2V0VHJhbnNsYXRpb24iLCJ1bnNhdmVkRHJhZnRXaXRoVmFsaWRhdGlvbnMiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsInZhbGlkYXRlIiwiR3V0dGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwidWwiLCJsaSIsInAiLCJGcmFnbWVudCIsImZpbHRlciIsImpvaW4iLCJTdGF0dXMiLCJhdXRvc2F2ZSIsIkF1dG9zYXZlIiwicHVibGlzaGVkRG9jVXBkYXRlZEF0IiwidXBkYXRlZEF0IiwiY3JlYXRlZEF0IiwidGltZXN0YW1wcyIsInRpdGxlIiwiZm9ybWF0RGF0ZSIsImxhbmd1YWdlIiwicHJldmlldyIsIlByZXZpZXdCdXR0b24iLCJDdXN0b21Db21wb25lbnQiLCJjb21wb25lbnRzIiwiZWRpdCIsImVsZW1lbnRzIiwiZ2VuZXJhdGVQcmV2aWV3VVJMIiwiUmVhY3QiLCJTYXZlRHJhZnQiLCJTYXZlRHJhZnRCdXR0b24iLCJQdWJsaXNoIiwiUHVibGlzaEJ1dHRvbiIsIlNhdmUiLCJTYXZlQnV0dG9uIiwiUG9wdXAiLCJidXR0b24iLCJob3Jpem9udGFsQWxpZ24iLCJzaXplIiwidmVydGljYWxBbGlnbiIsIlBvcHVwTGlzdCIsIkJ1dHRvbkdyb3VwIiwiQnV0dG9uIiwidG8iLCJkaXNhYmxlRHVwbGljYXRlIiwiRHVwbGljYXRlRG9jdW1lbnQiLCJEZWxldGVEb2N1bWVudCIsImJ1dHRvbklkIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQTJCYUE7OztlQUFBQTs7OytEQTNCbUI7OEJBQ0Q7Z0NBT0E7NEJBQ0o7d0JBQ0Q7OEJBQ007aUVBQ1g7dUVBQ007MEVBQ0c7d0JBQ1A7OERBQ0w7eUVBQ1M7c0VBQ0Q7eUJBQ0Y7c0JBQ0g7MkJBQ0s7K0RBQ1A7UUFDWjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQyxZQUFZO0FBRVgsTUFBTUQsbUJBWVIsQ0FBQ0U7SUFDSixNQUFNLEVBQ0pDLEVBQUUsRUFDRkMsVUFBVSxFQUNWQyxJQUFJLEVBQ0pDLGNBQWMsRUFDZEMsTUFBTSxFQUNOQyxpQkFBaUIsRUFDakJDLGFBQWEsRUFDYkMsU0FBUyxFQUNUQyxNQUFNLEVBQ05DLFdBQVcsRUFDWixHQUFHVjtJQUVKLE1BQU0sRUFBRVcsSUFBSSxFQUFFQyxZ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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,CAkUhE,CAAA;AAED,eAAO,MAAM,OAAO,gCAAyE,CAAA"}
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((user)=>{
119
- setUser(user);
120
- userIDRef.current = user?.id || null;
121
- void refreshPermissions();
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+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Db250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCB1c2VBdXRoID0gPFQgPSBVc2VyLD4oKTogQXV0aENvbnRleHQ8VD4gPT4gdXNlQ29udGV4dChDb250ZXh0KSBhcyBBdXRoQ29udGV4dDxUPlxuIl0sIm5hbWVzIjpbIkF1dGhQcm92aWRlciIsInVzZUF1dGgiLCJDb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsIm1heFRpbWVvdXRUaW1lIiwiY2hpbGRyZW4iLCJ1c2VyIiwic2V0VXNlciIsInVzZVN0YXRlIiwidG9rZW5Jbk1lbW9yeSIsInNldFRva2VuSW5NZW1vcnkiLCJ0b2tlbkV4cGlyYXRpb24iLCJzZXRUb2tlbkV4cGlyYXRpb24iLCJzdHJhdGVneSIsInNldFN0cmF0ZWd5IiwicGF0aG5hbWUiLCJ1c2VMb2NhdGlvbiIsInB1c2giLCJ1c2VIaXN0b3J5IiwiY29uZmlnIiwidXNlQ29uZmlnIiwiYWRtaW4iLCJhdXRvTG9naW4iLCJpbmFjdGl2aXR5Um91dGUiLCJsb2dvdXRJbmFjdGl2aXR5Um91dGUiLCJ1c2VyU2x1ZyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInBlcm1pc3Npb25zIiwic2V0UGVybWlzc2lvbnMiLCJpMThuIiwidXNlVHJhbnNsYXRpb24iLCJjbG9zZUFsbE1vZGFscyIsIm9wZW5Nb2RhbCIsInVzZU1vZGFsIiwibGFzdExvY2F0aW9uQ2hhbmdlIiwic2V0TGFzdExvY2F0aW9uQ2hhbmdlIiwiZGVib3VuY2VkTG9jYXRpb25DaGFuZ2UiLCJ1c2VEZWJvdW5jZSIsInVzZXJJRFJlZiIsIlJlYWN0IiwidXNlUmVmIiwiaWQiLCJyZWZyZXNoUGVybWlzc2lvbnMiLCJ1c2VDYWxsYmFjayIsImxvY2FsZSIsInBhcmFtcyIsInJlcXVlc3QiLCJyZXF1ZXN0cyIsImdldCIsInFzIiwic3RyaW5naWZ5IiwiYWRkUXVlcnlQcmVmaXgiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJzdGF0dXMiLCJqc29uIiwiRXJyb3IiLCJlIiwidG9hc3QiLCJlcnJvciIsIm1lc3NhZ2UiLCJzZXRBY3RpdmVVc2VyIiwiY3VycmVudCIsInJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInN0YXJ0c1dpdGgiLCJyZWRpcmVjdFBhcmFtIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsInJldm9rZVRva2VuQW5kRXhwaXJlIiwidW5kZWZpbmVkIiwic2V0VG9rZW5BbmRFeHBpcmF0aW9uIiwidG9rZW4iLCJyZWZyZXNoZWRUb2tlbiIsImV4cCIsInJlZnJlc2hDb29raWUiLCJmb3JjZVJlZnJlc2giLCJub3ciLCJNYXRoIiwicm91bmQiLCJEYXRlIiwiZ2V0VGltZSIsInJlbWFpbmluZ1RpbWUiLCJzZXRUaW1lb3V0IiwicG9zdCIsInJlZnJlc2hDb29raWVBc3luYyIsInNraXBTZXRVc2VyIiwibG9nT3V0IiwiZmV0Y2hGdWxsVXNlciIsInByZWZpbGxPbmx5IiwiYXV0b0xvZ2luUmVzdWx0IiwiYm9keSIsIkpTT04iLCJlbWFpbCIsInBhc3N3b3JkIiwiYXV0b0xvZ2luSnNvbiIsInVzZUVmZmVjdCIsInJlbWluZGVyIiwibWF4IiwibWluIiwiY2xlYXJUaW1lb3V0IiwiZm9yY2VMb2dPdXQiLCJQcm92aWRlciIsInZhbHVlIiwidXNlQ29udGV4dCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBa0JhQSxZQUFZO2VBQVpBOztJQW9VQUMsT0FBTztlQUFQQTs7O3VCQXRWWTsyREFDVjsrREFDb0U7OEJBQ3BEO2dDQUNTOytCQUNsQjtxQkFLRztvRUFDRDt3QkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsTUFBTUMsd0JBQVVDLElBQUFBLG9CQUFhLEVBQUMsQ0FBQztBQUUvQixNQUFNQyxpQkFBaUI7QUFFaEIsTUFBTUosZUFBd0QsQ0FBQyxFQUFFSyxRQUFRLEVBQUU7SUFDaEYsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUdDLElBQUFBLGVBQVE7SUFDaEMsTUFBTSxDQUFDQyxlQUFlQyxpQkFBaUIsR0FBR0YsSUFBQUEsZUFBUTtJQUNsRCxNQUFNLENBQUNHLGlCQUFpQkMsbUJBQW1CLEdBQUdKLElBQUFBLGVBQVE7SUFDdEQsTUFBTSxDQUFDSyxVQUFVQyxZQUFZLEdBQUdOLElBQUFBLGVBQVE7SUFDeEMsTUFBTSxFQUFFTyxRQUFRLEVBQUUsR0FBR0MsSUFBQUEsMkJBQVc7SUFDaEMsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsSUFBQUEsMEJBQVU7SUFFM0IsTUFBTUMsU0FBU0MsSUFBQUEsaUJBQVM7SUFFeEIsTUFBTSxFQUNKQyxPQUFPLEVBQUVDLFNBQVMsRUFBRUMsaUJBQWlCQyxxQkFBcUIsRUFBRWxCLE1BQU1tQixRQUFRLEVBQUUsRUFDNUVDLFFBQVEsRUFBRUwsS0FBSyxFQUFFTSxHQUFHLEVBQUUsRUFDdEJDLFNBQVMsRUFDVixHQUFHVDtJQUVKLE1BQU0sQ0FBQ1UsYUFBYUMsZUFBZSxHQUFHdEIsSUFBQUEsZUFBUTtJQUU5QyxNQUFNLEVBQUV1QixJQUFJLEVBQUUsR0FBR0MsSUFBQUEsNEJBQWM7SUFDL0IsTUFBTSxFQUFFQyxjQUFjLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxJQUFBQSxlQUFRO0lBQzlDLE1BQU0sQ0FBQ0Msb0JBQW9CQyxzQkFBc0IsR0FBRzdCLElBQUFBLGVBQVEsRUFBQztJQUM3RCxNQUFNOEIsMEJBQTBCQyxJQUFBQSxvQkFBVyxFQUFDSCxvQkFBb0I7SUFDaEUsTUFBTUksWUFBWUMsY0FBSyxDQUFDQyxNQUFNO0lBRTlCLE1BQU1DLEtBQUtyQyxNQUFNcUM7SUFFakIsTUFBTUMscUJBQXFCQyxJQUFBQSxrQkFBVyxFQUNwQyxPQUFPLEVBQUVDLE1BQU0sRUFBdUIsR0FBRyxDQUFDLENBQUM7UUFDekMsTUFBTUMsU0FBUztZQUNiRDtRQUNGO1FBQ0EsSUFBSTtZQUNGLE1BQU1FLFVBQVUsTUFBTUMsYUFBUSxDQUFDQyxHQUFHLENBQ2hDLENBQUMsRUFBRXRCLFVBQVUsRUFBRUQsSUFBSSxPQUFPLEVBQUV3QixXQUFFLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUTtnQkFBRU0sZ0JBQWdCO1lBQUssR0FBRyxDQUFDLEVBQzVFO2dCQUNFQyxTQUFTO29CQUNQLG1CQUFtQnZCLEtBQUt3QixRQUFRO2dCQUNsQztZQUNGO1lBR0YsSUFBSVAsUUFBUVEsTUFBTSxLQUFLLEtBQUs7Z0JBQzFCLE1BQU1DLE9BQW9CLE1BQU1ULFFBQVFTLElBQUk7Z0JBQzVDM0IsZUFBZTJCO1lBQ2pCLE9BQU87Z0JBQ0wsTUFBTSxJQUFJQyxNQUFNLENBQUMsNkNBQTZDLEVBQUVWLFFBQVFRLE1BQU0sQ0FBQyxDQUFDO1lBQ2xGO1FBQ0YsRUFBRSxPQUFPRyxHQUFHO1lBQ1ZDLG9CQUFLLENBQUNDLEtBQUssQ0FBQyxDQUFDLCtCQUErQixFQUFFRixFQUFFRyxPQUFPLENBQUMsQ0FBQztRQUMzRDtJQUNGLEdBQ0E7UUFBQ2xDO1FBQVdEO1FBQUtJO0tBQUs7SUFHeEIsTUFBTWdDLGdCQUFnQnRCLGNBQUssQ0FBQ0ksV0FBVyxDQUNyQyxDQUFDdkM7UUFDQ0MsUUFBUUQ7UUFDUmtDLFVBQVV3QixPQUFPLEdBQUcxRCxNQUFNcUMsTUFBTTtRQUNoQyxLQUFLQztJQUNQLEdBQ0E7UUFBQ0E7S0FBbUI7SUFHdEIsTUFBTXFCLDRCQUE0QnBCLElBQUFBLGtCQUFXLEVBQUM7UUFDNUMsSUFBSXFCLE9BQU9DLFFBQVEsQ0FBQ3BELFFBQVEsQ0FBQ3FELFVBQVUsQ0FBQy9DLFFBQVE7WUFDOUMsTUFBTWdELGdCQUFnQixDQUFDLFVBQVUsRUFBRUMsbUJBQ2pDSixPQUFPQyxRQUFRLENBQUNwRCxRQUFRLENBQUN3RCxPQUFPLENBQUNsRCxPQUFPLEtBQ3hDLENBQUM7WUFDSEosS0FBSyxDQUFDLEVBQUVJLE1BQU0sRUFBRUcsc0JBQXNCLEVBQUU2QyxjQUFjLENBQUM7UUFDekQsT0FBTztZQUNMcEQsS0FBSyxDQUFDLEVBQUVJLE1BQU0sRUFBRUcsc0JBQXNCLENBQUM7UUFDekM7UUFDQVM7SUFDRixHQUFHO1FBQUNoQjtRQUFNSTtRQUFPRztRQUF1QlM7S0FBZTtJQUV2RCxNQUFNdUMsdUJBQXVCM0IsSUFBQUEsa0JBQVcsRUFBQztRQUN2Q25DLGlCQUFpQitEO1FBQ2pCN0QsbUJBQW1CNkQ7UUFDbkIzRCxZQUFZMkQ7SUFDZCxHQUFHLEVBQUU7SUFFTCxNQUFNQyx3QkFBd0I3QixJQUFBQSxrQkFBVyxFQUN2QyxDQUFDWTtRQUNDLE1BQU1rQixRQUFRbEIsTUFBTWtCLFNBQVNsQixNQUFNbUI7UUFDbkMsSUFBSUQsU0FBU2xCLE1BQU1vQixLQUFLO1lBQ3RCbkUsaUJBQWlCaUU7WUFDakIvRCxtQkFBbUI2QyxLQUFLb0IsR0FBRztZQUMzQixJQUFJcEIsS0FBSzVDLFFBQVEsRUFBRTtnQkFDakJDLFlBQVkyQyxLQUFLNUMsUUFBUTtZQUMzQjtRQUNGLE9BQU87WUFDTDJEO1FBQ0Y7SUFDRixHQUNBO1FBQUNBO0tBQXFCO0lBR3hCLE1BQU1NLGdCQUFnQmpDLElBQUFBLGtCQUFXLEVBQy9CLENBQUNrQztRQUNDLE1BQU1DLE1BQU1DLEtBQUtDLEtBQUssQ0FBQyxJQUFJQyxPQUFPQyxPQUFPLEtBQUs7UUFDOUMsTUFBTUMsZ0JBQWdCLEFBQUMsQ0FBQSxPQUFPMUUsb0JBQW9CLFdBQVdBLGtCQUFrQixDQUFBLElBQUtxRTtRQUVwRixJQUFJRCxnQkFBaUJwRSxtQkFBbUIwRSxnQkFBZ0IsS0FBTTtZQUM1REMsV0FBVztnQkFDVCxJQUFJO29CQUNGLE1BQU10QyxVQUFVLE1BQU1DLGFBQVEsQ0FBQ3NDLElBQUksQ0FBQyxDQUFDLEVBQUUzRCxVQUFVLEVBQUVELElBQUksQ0FBQyxFQUFFRixTQUFTLGNBQWMsQ0FBQyxFQUFFO3dCQUNsRjZCLFNBQVM7NEJBQ1AsbUJBQW1CdkIsS0FBS3dCLFFBQVE7d0JBQ2xDO29CQUNGO29CQUVBLElBQUlQLFFBQVFRLE1BQU0sS0FBSyxLQUFLO3dCQUMxQixNQUFNQyxPQUFPLE1BQU1ULFFBQVFTLElBQUk7d0JBQy9CTSxjQUFjTixLQUFLbkQsSUFBSTt3QkFDdkJvRSxzQkFBc0JqQjtvQkFDeEIsT0FBTzt3QkFDTE0sY0FBYzt3QkFDZEU7b0JBQ0Y7Z0JBQ0YsRUFBRSxPQUFPTixHQUFHO29CQUNWQyxvQkFBSyxDQUFDQyxLQUFLLENBQUNGLEVBQUVHLE9BQU87Z0JBQ3ZCO1lBQ0YsR0FBRztRQUNMO0lBQ0YsR0FDQTtRQUNFbkQ7UUFDQWlCO1FBQ0FEO1FBQ0FGO1FBQ0FNLEtBQUt3QixRQUFRO1FBQ2JRO1FBQ0FXO1FBQ0FUO0tBQ0Q7SUFHSCxNQUFNdUIscUJBQXFCM0MsSUFBQUEsa0JBQVcsRUFDcEMsT0FBTzRDO1FBQ0wsSUFBSTtZQUNGLE1BQU16QyxVQUFVLE1BQU1DLGFBQVEsQ0FBQ3NDLElBQUksQ0FBQyxDQUFDLEVBQUUzRCxVQUFVLEVBQUVELElBQUksQ0FBQyxFQUFFRixTQUFTLGNBQWMsQ0FBQyxFQUFFO2dCQUNsRjZCLFNBQVM7b0JBQ1AsbUJBQW1CdkIsS0FBS3dCLFFBQVE7Z0JBQ2xDO1lBQ0Y7WUFFQSxJQUFJUCxRQUFRUSxNQUFNLEtBQUssS0FBSztnQkFDMUIsTUFBTUMsT0FBTyxNQUFNVCxRQUFRUyxJQUFJO2dCQUMvQixJQUFJLENBQUNnQyxhQUFhO29CQUNoQjFCLGNBQWNOLEtBQUtuRCxJQUFJO29CQUN2Qm9FLHNCQUFzQmpCO2dCQUN4QjtnQkFDQSxPQUFPQSxLQUFLbkQsSUFBSTtZQUNsQjtZQUVBeUQsY0FBYztZQUNkRTtZQUNBLE9BQU87UUFDVCxFQUFFLE9BQU9OLEdBQUc7WUFDVkMsb0JBQUssQ0FBQ0MsS0FBSyxDQUFDLENBQUMseUJBQXlCLEVBQUVGLEVBQUVHLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELE9BQU87UUFDVDtJQUNGLEdBQ0E7UUFDRWxDO1FBQ0FEO1FBQ0FGO1FBQ0FNO1FBQ0FrQztRQUNBUztRQUNBWDtLQUNEO0lBR0gsTUFBTTJCLFNBQVM3QyxJQUFBQSxrQkFBVyxFQUFDO1FBQ3pCa0IsY0FBYztRQUNkUztRQUNBLEtBQUt2QixhQUFRLENBQUNzQyxJQUFJLENBQUMsQ0FBQyxFQUFFM0QsVUFBVSxFQUFFRCxJQUFJLENBQUMsRUFBRUYsU0FBUyxPQUFPLENBQUM7SUFDNUQsR0FBRztRQUFDRztRQUFXRDtRQUFLRjtRQUFVK0M7UUFBc0JUO0tBQWM7SUFFbEUsTUFBTTRCLGdCQUFnQmxELGNBQUssQ0FBQ0ksV0FBVyxDQUFDO1FBQ3RDLElBQUk7WUFDRixNQUFNRyxVQUFVLE1BQU1DLGFBQVEsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsRUFBRXRCLFVBQVUsRUFBRUQsSUFBSSxDQUFDLEVBQUVGLFNBQVMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3RFNkIsU0FBUztvQkFDUCxtQkFBbUJ2QixLQUFLd0IsUUFBUTtnQkFDbEM7WUFDRjtZQUVBLElBQUlQLFFBQVFRLE1BQU0sS0FBSyxLQUFLO2dCQUMxQixNQUFNQyxPQUFPLE1BQU1ULFFBQVFTLElBQUk7Z0JBRS9CLElBQUlBLE1BQU1uRCxNQUFNO29CQUNkeUQsY0FBY04sS0FBS25ELElBQUk7b0JBQ3ZCLElBQUltRCxNQUFNa0IsT0FBTzt3QkFDZkQsc0JBQXNCakI7b0JBQ3hCO2dCQUNGLE9BQU8sSUFBSW5DLGFBQWFBLFVBQVVzRSxXQUFXLEtBQUssTUFBTTtvQkFDdEQsZ0ZBQWdGO29CQUNoRixrREFBa0Q7b0JBQ2xELE1BQU1DLGtCQUFrQixNQUFNNUMsYUFBUSxDQUFDc0MsSUFBSSxDQUFDLENBQUMsRUFBRTNELFVBQVUsRUFBRUQsSUFBSSxDQUFDLEVBQUVGLFNBQVMsTUFBTSxDQUFDLEVBQUU7d0JBQ2xGcUUsTUFBTUMsS0FBSzNDLFNBQVMsQ0FBQzs0QkFDbkI0QyxPQUFPMUUsVUFBVTBFLEtBQUs7NEJBQ3RCQyxVQUFVM0UsVUFBVTJFLFFBQVE7d0JBQzlCO3dCQUNBM0MsU0FBUzs0QkFDUCxtQkFBbUJ2QixLQUFLd0IsUUFBUTs0QkFDaEMsZ0JBQWdCO3dCQUNsQjtvQkFDRjtvQkFDQSxJQUFJc0MsZ0JBQWdCckMsTUFBTSxLQUFLLEtBQUs7d0JBQ2xDLE1BQU0wQyxnQkFBZ0IsTUFBTUwsZ0JBQWdCcEMsSUFBSTt3QkFDaERNLGNBQWNtQyxjQUFjNUYsSUFBSTt3QkFDaEMsSUFBSTRGLGVBQWV2QixPQUFPOzRCQUN4QkQsc0JBQXNCd0I7d0JBQ3hCO29CQUNGLE9BQU87d0JBQ0xuQyxjQUFjO3dCQUNkUztvQkFDRjtnQkFDRixPQUFPO29CQUNMVCxjQUFjO29CQUNkUztnQkFDRjtZQUNGO1FBQ0YsRUFBRSxPQUFPYixHQUFHO1lBQ1ZDLG9CQUFLLENBQUNDLEtBQUssQ0FBQyxDQUFDLHNCQUFzQixFQUFFRixFQUFFRyxPQUFPLENBQUMsQ0FBQztRQUNsRDtJQUNGLEdBQUc7UUFDRGxDO1FBQ0FEO1FBQ0FGO1FBQ0FNO1FBQ0FUO1FBQ0FvRDtRQUNBRjtRQUNBVDtLQUNEO0lBRUQsNkJBQTZCO0lBQzdCb0MsSUFBQUEsZ0JBQVMsRUFBQztRQUNSLElBQUl4RCxPQUFPOEIsYUFBYTlCLE9BQU9ILFVBQVV3QixPQUFPLEVBQUU7WUFDaEQsS0FBSzJCO1FBQ1A7SUFDRixHQUFHO1FBQUNBO1FBQWVoRDtLQUFHO0lBRXRCLHdDQUF3QztJQUN4Q3dELElBQUFBLGdCQUFTLEVBQUM7UUFDUixJQUFJeEQsSUFBSTtZQUNObUM7UUFDRjtJQUNGLEdBQUc7UUFBQ3hDO1FBQXlCd0M7UUFBZW5DO0tBQUc7SUFFL0N3RCxJQUFBQSxnQkFBUyxFQUFDO1FBQ1I5RCxzQkFBc0I4QyxLQUFLSCxHQUFHO0lBQ2hDLEdBQUc7UUFBQ2pFO0tBQVM7SUFFYm9GLElBQUFBLGdCQUFTLEVBQUM7UUFDUixJQUFJQztRQUNKLE1BQU1wQixNQUFNQyxLQUFLQyxLQUFLLENBQUMsSUFBSUMsT0FBT0MsT0FBTyxLQUFLO1FBQzlDLE1BQU1DLGdCQUFnQixPQUFPMUUsb0JBQW9CLFdBQVdBLGtCQUFrQnFFLE1BQU07UUFFcEYsSUFBSUssZ0JBQWdCLEdBQUc7WUFDckJlLFdBQVdkLFdBQ1Q7Z0JBQ0VwRCxVQUFVO1lBQ1osR0FDQStDLEtBQUtvQixHQUFHLENBQUNwQixLQUFLcUIsR0FBRyxDQUFDLEFBQUNqQixDQUFBQSxnQkFBZ0IsRUFBQyxJQUFLLE1BQU1qRjtRQUVuRDtRQUVBLE9BQU87WUFDTCxJQUFJZ0csVUFBVUcsYUFBYUg7UUFDN0I7SUFDRixHQUFHO1FBQUN6RjtRQUFpQnVCO0tBQVU7SUFFL0JpRSxJQUFBQSxnQkFBUyxFQUFDO1FBQ1IsSUFBSUs7UUFDSixNQUFNeEIsTUFBTUMsS0FBS0MsS0FBSyxDQUFDLElBQUlDLE9BQU9DLE9BQU8sS0FBSztRQUM5QyxNQUFNQyxnQkFBZ0IsT0FBTzFFLG9CQUFvQixXQUFXQSxrQkFBa0JxRSxNQUFNO1FBRXBGLElBQUlLLGdCQUFnQixHQUFHO1lBQ3JCbUIsY0FBY2xCLFdBQ1o7Z0JBQ0V2QixjQUFjO2dCQUNkUztnQkFDQVA7WUFDRixHQUNBZ0IsS0FBS29CLEdBQUcsQ0FBQ3BCLEtBQUtxQixHQUFHLENBQUNqQixnQkFBZ0IsTUFBTWpGLGlCQUFpQjtRQUU3RDtRQUVBLE9BQU87WUFDTCxJQUFJb0csYUFBYUQsYUFBYUM7UUFDaEM7SUFDRixHQUFHO1FBQ0Q3RjtRQUNBc0I7UUFDQUY7UUFDQWtDO1FBQ0FPO1FBQ0FUO0tBQ0Q7SUFFRCxxQkFDRSw2QkFBQzdELFFBQVF1RyxRQUFRO1FBQ2ZDLE9BQU87WUFDTGY7WUFDQUQ7WUFDQTdEO1lBQ0FpRDtZQUNBVTtZQUNBNUM7WUFDQXJDLFNBQVN3RDtZQUNUbEQ7WUFDQThELE9BQU9sRTtZQUNQRTtZQUNBTDtRQUNGO09BRUNEO0FBR1A7QUFFTyxNQUFNSixVQUFVLElBQWlDMEcsSUFBQUEsaUJBQVUsRUFBQ3pHIn0=
372
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9BdXRoL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBxcyBmcm9tICdxcydcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHR5cGUgeyBQZXJtaXNzaW9ucywgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEF1dGhDb250ZXh0IH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgcmVxdWVzdHMgfSBmcm9tICcuLi8uLi8uLi9hcGknXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi9Db25maWcnXG5cbmNvbnN0IENvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9IGFzIEF1dGhDb250ZXh0KVxuXG5jb25zdCBtYXhUaW1lb3V0VGltZSA9IDIxNDc0ODM2NDdcblxuZXhwb3J0IGNvbnN0IEF1dGhQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4oKVxuICBjb25zdCBbdG9rZW5Jbk1lbW9yeSwgc2V0VG9rZW5Jbk1lbW9yeV0gPSB1c2VTdGF0ZTxzdHJpbmc+KClcbiAgY29uc3QgW3Rva2VuRXhwaXJhdGlvbiwgc2V0VG9rZW5FeHBpcmF0aW9uXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbc3RyYXRlZ3ksIHNldFN0cmF0ZWd5XSA9IHVzZVN0YXRlPHN0cmluZz4oKVxuICBjb25zdCB7IHBhdGhuYW1lIH0gPSB1c2VMb2NhdGlvbigpXG4gIGNvbnN0IHsgcHVzaCB9ID0gdXNlSGlzdG9yeSgpXG5cbiAgY29uc3QgY29uZmlnID0gdXNlQ29uZmlnKClcblxuICBjb25zdCB7XG4gICAgYWRtaW46IHsgYXV0b0xvZ2luLCBpbmFjdGl2aXR5Um91dGU6IGxvZ291dEluYWN0aXZpdHlSb3V0ZSwgdXNlcjogdXNlclNsdWcgfSxcbiAgICByb3V0ZXM6IHsgYWRtaW4sIGFwaSB9LFxuICAgIHNlcnZlclVSTCxcbiAgfSA9IGNvbmZpZ1xuXG4gIGNvbnN0IFtwZXJtaXNzaW9ucywgc2V0UGVybWlzc2lvbnNdID0gdXNlU3RhdGU8UGVybWlzc2lvbnM+KClcblxuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgeyBjbG9zZUFsbE1vZGFscywgb3Blbk1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IFtsYXN0TG9jYXRpb25DaGFuZ2UsIHNldExhc3RMb2NhdGlvbkNoYW5nZV0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSA9IHVzZURlYm91bmNlKGxhc3RMb2NhdGlvbkNoYW5nZSwgMTAwMDApXG4gIGNvbnN0IHVzZXJJRFJlZiA9IFJlYWN0LnVzZVJlZjxudWxsIHwgbnVtYmVyIHwgc3RyaW5nPigpXG5cbiAgY29uc3QgaWQgPSB1c2VyPy5pZFxuXG4gIGNvbnN0IHJlZnJlc2hQZXJtaXNzaW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7IGxvY2FsZSB9OiB7IGxvY2FsZT86IHN0cmluZyB9ID0ge30pID0+IHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgbG9jYWxlLFxuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLmdldChcbiAgICAgICAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9L2FjY2VzcyR7cXMuc3RyaW5naWZ5KHBhcmFtcywgeyBhZGRRdWVyeVByZWZpeDogdHJ1ZSB9KX1gLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIClcblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGpzb246IFBlcm1pc3Npb25zID0gYXdhaXQgcmVxdWVzdC5qc29uKClcbiAgICAgICAgICBzZXRQZXJtaXNzaW9ucyhqc29uKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmV0Y2hpbmcgcGVybWlzc2lvbnMgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJHtyZXF1ZXN0LnN0YXR1c31gKVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKGBSZWZyZXNoaW5nIHBlcm1pc3Npb25zIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXJ2ZXJVUkwsIGFwaSwgaTE4bl0sXG4gIClcblxuICBjb25zdCBzZXRBY3RpdmVVc2VyID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHVzZXJUb1NldDogVXNlciB8IG51bGwpID0+IHtcbiAgICAgIGlmICgodXNlcklEUmVmLmN1cnJlbnQgJiYgIXVzZXJUb1NldD8uaWQpIHx8IHVzZXJUb1NldD8uaWQpIHtcbiAgICAgICAgLy8gcmVmcmVzaCBvbiBsb2dvdXQgYW5kIGxvZ2luXG4gICAgICAgIGF3YWl0IHJlZnJlc2hQZXJtaXNzaW9ucygpXG4gICAgICB9XG4gICAgICB1c2VySURSZWYuY3VycmVudCA9IHVzZXJUb1NldD8uaWQgfHwgbnVsbFxuICAgICAgc2V0VXNlcih1c2VyVG9TZXQpXG4gICAgfSxcbiAgICBbcmVmcmVzaFBlcm1pc3Npb25zXSxcbiAgKVxuXG4gIGNvbnN0IHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKGFkbWluKSkge1xuICAgICAgY29uc3QgcmVkaXJlY3RQYXJhbSA9IGA/cmVkaXJlY3Q9JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKGFkbWluLCAnJyksXG4gICAgICApfWBcbiAgICAgIHB1c2goYCR7YWRtaW59JHtsb2dvdXRJbmFjdGl2aXR5Um91dGV9JHtyZWRpcmVjdFBhcmFtfWApXG4gICAgfSBlbHNlIHtcbiAgICAgIHB1c2goYCR7YWRtaW59JHtsb2dvdXRJbmFjdGl2aXR5Um91dGV9YClcbiAgICB9XG4gICAgY2xvc2VBbGxNb2RhbHMoKVxuICB9LCBbcHVzaCwgYWRtaW4sIGxvZ291dEluYWN0aXZpdHlSb3V0ZSwgY2xvc2VBbGxNb2RhbHNdKVxuXG4gIGNvbnN0IHJldm9rZVRva2VuQW5kRXhwaXJlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRva2VuSW5NZW1vcnkodW5kZWZpbmVkKVxuICAgIHNldFRva2VuRXhwaXJhdGlvbih1bmRlZmluZWQpXG4gICAgc2V0U3RyYXRlZ3kodW5kZWZpbmVkKVxuICB9LCBbXSlcblxuICBjb25zdCBzZXRUb2tlbkFuZEV4cGlyYXRpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoanNvbikgPT4ge1xuICAgICAgY29uc3QgdG9rZW4gPSBqc29uPy50b2tlbiB8fCBqc29uPy5yZWZyZXNoZWRUb2tlblxuICAgICAgaWYgKHRva2VuICYmIGpzb24/LmV4cCkge1xuICAgICAgICBzZXRUb2tlbkluTWVtb3J5KHRva2VuKVxuICAgICAgICBzZXRUb2tlbkV4cGlyYXRpb24oanNvbi5leHApXG4gICAgICAgIGlmIChqc29uLnN0cmF0ZWd5KSB7XG4gICAgICAgICAgc2V0U3RyYXRlZ3koanNvbi5zdHJhdGVneSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3Jldm9rZVRva2VuQW5kRXhwaXJlXSxcbiAgKVxuXG4gIGNvbnN0IHJlZnJlc2hDb29raWUgPSB1c2VDYWxsYmFjayhcbiAgICAoZm9yY2VSZWZyZXNoPzogYm9vbGVhbikgPT4ge1xuICAgICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgICBjb25zdCByZW1haW5pbmdUaW1lID0gKHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIDogMCkgLSBub3dcblxuICAgICAgaWYgKGZvcmNlUmVmcmVzaCB8fCAodG9rZW5FeHBpcmF0aW9uICYmIHJlbWFpbmluZ1RpbWUgPCAxMjApKSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L3JlZnJlc2gtdG9rZW5gLCB7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKGpzb24udXNlcilcbiAgICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKG51bGwpXG4gICAgICAgICAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKGUubWVzc2FnZSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMDApXG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICB0b2tlbkV4cGlyYXRpb24sXG4gICAgICBzZXJ2ZXJVUkwsXG4gICAgICBhcGksXG4gICAgICB1c2VyU2x1ZyxcbiAgICAgIGkxOG4ubGFuZ3VhZ2UsXG4gICAgICBzZXRBY3RpdmVVc2VyLFxuICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uLFxuICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSxcbiAgICBdLFxuICApXG5cbiAgY29uc3QgcmVmcmVzaENvb2tpZUFzeW5jID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHNraXBTZXRVc2VyPzogYm9vbGVhbik6IFByb21pc2U8VXNlcj4gPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLnBvc3QoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9yZWZyZXNoLXRva2VuYCwge1xuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVxdWVzdC5qc29uKClcbiAgICAgICAgICBpZiAoIXNraXBTZXRVc2VyKSB7XG4gICAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKGpzb24udXNlcilcbiAgICAgICAgICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbihqc29uKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ganNvbi51c2VyXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKG51bGwpXG4gICAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUoKVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0b2FzdC5lcnJvcihgUmVmcmVzaGluZyB0b2tlbiBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBzZXJ2ZXJVUkwsXG4gICAgICBhcGksXG4gICAgICB1c2VyU2x1ZyxcbiAgICAgIGkxOG4sXG4gICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlLFxuICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uLFxuICAgICAgc2V0QWN0aXZlVXNlcixcbiAgICBdLFxuICApXG5cbiAgY29uc3QgbG9nT3V0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgdm9pZCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vbG9nb3V0YClcbiAgfSwgW3NlcnZlclVSTCwgYXBpLCB1c2VyU2x1ZywgcmV2b2tlVG9rZW5BbmRFeHBpcmUsIHNldEFjdGl2ZVVzZXJdKVxuXG4gIGNvbnN0IGZldGNoRnVsbFVzZXIgPSBSZWFjdC51c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5nZXQoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9tZWAsIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICB9LFxuICAgICAgfSlcblxuICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG5cbiAgICAgICAgaWYgKGpzb24/LnVzZXIpIHtcbiAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKGpzb24udXNlcilcbiAgICAgICAgICBpZiAoanNvbj8udG9rZW4pIHtcbiAgICAgICAgICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbihqc29uKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChhdXRvTG9naW4gJiYgYXV0b0xvZ2luLnByZWZpbGxPbmx5ICE9PSB0cnVlKSB7XG4gICAgICAgICAgLy8gYXV0byBsb2ctaW4gd2l0aCB0aGUgcHJvdmlkZWQgYXV0b0xvZ2luIGNyZWRlbnRpYWxzLiBUaGlzIGlzIHVzZWQgaW4gZGV2IG1vZGVcbiAgICAgICAgICAvLyBzbyB5b3UgZG9uJ3QgaGF2ZSB0byBsb2cgaW4gb3ZlciBhbmQgb3ZlciBhZ2FpblxuICAgICAgICAgIGNvbnN0IGF1dG9Mb2dpblJlc3VsdCA9IGF3YWl0IHJlcXVlc3RzLnBvc3QoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9sb2dpbmAsIHtcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgZW1haWw6IGF1dG9Mb2dpbi5lbWFpbCxcbiAgICAgICAgICAgICAgcGFzc3dvcmQ6IGF1dG9Mb2dpbi5wYXNzd29yZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgICBpZiAoYXV0b0xvZ2luUmVzdWx0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBhdXRvTG9naW5Kc29uID0gYXdhaXQgYXV0b0xvZ2luUmVzdWx0Lmpzb24oKVxuICAgICAgICAgICAgYXdhaXQgc2V0QWN0aXZlVXNlcihhdXRvTG9naW5Kc29uLnVzZXIpXG4gICAgICAgICAgICBpZiAoYXV0b0xvZ2luSnNvbj8udG9rZW4pIHtcbiAgICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGF1dG9Mb2dpbkpzb24pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICAgICAgICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgc2V0QWN0aXZlVXNlcihudWxsKVxuICAgICAgICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRvYXN0LmVycm9yKGBGZXRjaGluZyB1c2VyIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICB9XG4gIH0sIFtcbiAgICBzZXJ2ZXJVUkwsXG4gICAgYXBpLFxuICAgIHVzZXJTbHVnLFxuICAgIGkxOG4sXG4gICAgYXV0b0xvZ2luLFxuICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbixcbiAgICByZXZva2VUb2tlbkFuZEV4cGlyZSxcbiAgICBzZXRBY3RpdmVVc2VyLFxuICBdKVxuXG4gIC8vIE9uIG1vdW50LCBnZXQgdXNlciBhbmQgc2V0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkID09PSB1bmRlZmluZWQgfHwgaWQgIT09IHVzZXJJRFJlZi5jdXJyZW50KSB7XG4gICAgICB2b2lkIGZldGNoRnVsbFVzZXIoKVxuICAgIH1cbiAgfSwgW2ZldGNoRnVsbFVzZXIsIGlkXSlcblxuICAvLyBXaGVuIGxvY2F0aW9uIGNoYW5nZXMsIHJlZnJlc2ggY29va2llXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICByZWZyZXNoQ29va2llKClcbiAgICB9XG4gIH0sIFtkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSwgcmVmcmVzaENvb2tpZSwgaWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TGFzdExvY2F0aW9uQ2hhbmdlKERhdGUubm93KCkpXG4gIH0sIFtwYXRobmFtZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgcmVtaW5kZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+XG4gICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgY29uc3QgcmVtYWluaW5nVGltZSA9IHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIC0gbm93IDogMFxuXG4gICAgaWYgKHJlbWFpbmluZ1RpbWUgPiAwKSB7XG4gICAgICByZW1pbmRlciA9IHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBvcGVuTW9kYWwoJ3N0YXktbG9nZ2VkLWluJylcbiAgICAgICAgfSxcbiAgICAgICAgTWF0aC5tYXgoTWF0aC5taW4oKHJlbWFpbmluZ1RpbWUgLSA2MCkgKiAxMDAwLCBtYXhUaW1lb3V0VGltZSkpLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVtaW5kZXIpIGNsZWFyVGltZW91dChyZW1pbmRlcilcbiAgICB9XG4gIH0sIFt0b2tlbkV4cGlyYXRpb24sIG9wZW5Nb2RhbF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgZm9yY2VMb2dPdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+XG4gICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgY29uc3QgcmVtYWluaW5nVGltZSA9IHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIC0gbm93IDogMFxuXG4gICAgaWYgKHJlbWFpbmluZ1RpbWUgPiAwKSB7XG4gICAgICBmb3JjZUxvZ091dCA9IHNldFRpbWVvdXQoXG4gICAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgICBhd2FpdCBzZXRBY3RpdmVVc2VyKG51bGwpXG4gICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUoKVxuICAgICAgICB9LFxuICAgICAgICBNYXRoLm1heChNYXRoLm1pbihyZW1haW5pbmdUaW1lICogMTAwMCwgbWF4VGltZW91dFRpbWUpLCAwKSxcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGZvcmNlTG9nT3V0KSBjbGVhclRpbWVvdXQoZm9yY2VMb2dPdXQpXG4gICAgfVxuICB9LCBbXG4gICAgdG9rZW5FeHBpcmF0aW9uLFxuICAgIGNsb3NlQWxsTW9kYWxzLFxuICAgIGkxOG4sXG4gICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSxcbiAgICByZXZva2VUb2tlbkFuZEV4cGlyZSxcbiAgICBzZXRBY3RpdmVVc2VyLFxuICBdKVxuXG4gIHJldHVybiAoXG4gICAgPENvbnRleHQuUHJvdmlkZXJcbiAgICAgIHZhbHVlPXt7XG4gICAgICAgIGZldGNoRnVsbFVzZXIsXG4gICAgICAgIGxvZ091dCxcbiAgICAgICAgcGVybWlzc2lvbnMsXG4gICAgICAgIHJlZnJlc2hDb29raWUsXG4gICAgICAgIHJlZnJlc2hDb29raWVBc3luYyxcbiAgICAgICAgcmVmcmVzaFBlcm1pc3Npb25zLFxuICAgICAgICBzZXRVc2VyOiBzZXRBY3RpdmVVc2VyLFxuICAgICAgICBzdHJhdGVneSxcbiAgICAgICAgdG9rZW46IHRva2VuSW5NZW1vcnksXG4gICAgICAgIHRva2VuRXhwaXJhdGlvbixcbiAgICAgICAgdXNlcixcbiAgICAgIH19XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlQXV0aCA9IDxUID0gVXNlciw+KCk6IEF1dGhDb250ZXh0PFQ+ID0+IHVzZUNvbnRleHQoQ29udGV4dCkgYXMgQXV0aENvbnRleHQ8VD5cbiJdLCJuYW1lcyI6WyJBdXRoUHJvdmlkZXIiLCJ1c2VBdXRoIiwiQ29udGV4dCIsImNyZWF0ZUNvbnRleHQiLCJtYXhUaW1lb3V0VGltZSIsImNoaWxkcmVuIiwidXNlciIsInNldFVzZXIiLCJ1c2VTdGF0ZSIsInRva2VuSW5NZW1vcnkiLCJzZXRUb2tlbkluTWVtb3J5IiwidG9rZW5FeHBpcmF0aW9uIiwic2V0VG9rZW5FeHBpcmF0aW9uIiwic3RyYXRlZ3kiLCJzZXRTdHJhdGVneSIsInBhdGhuYW1lIiwidXNlTG9jYXRpb24iLCJwdXNoIiwidXNlSGlzdG9yeSIsImNvbmZpZyIsInVzZUNvbmZpZyIsImFkbWluIiwiYXV0b0xvZ2luIiwiaW5hY3Rpdml0eVJvdXRlIiwibG9nb3V0SW5hY3Rpdml0eVJvdXRlIiwidXNlclNsdWciLCJyb3V0ZXMiLCJhcGkiLCJzZXJ2ZXJVUkwiLCJwZXJtaXNzaW9ucyIsInNldFBlcm1pc3Npb25zIiwiaTE4biIsInVzZVRyYW5zbGF0aW9uIiwiY2xvc2VBbGxNb2RhbHMiLCJvcGVuTW9kYWwiLCJ1c2VNb2RhbCIsImxhc3RMb2NhdGlvbkNoYW5nZSIsInNldExhc3RMb2NhdGlvbkNoYW5nZSIsImRlYm91bmNlZExvY2F0aW9uQ2hhbmdlIiwidXNlRGVib3VuY2UiLCJ1c2VySURSZWYiLCJSZWFjdCIsInVzZVJlZiIsImlkIiwicmVmcmVzaFBlcm1pc3Npb25zIiwidXNlQ2FsbGJhY2siLCJsb2NhbGUiLCJwYXJhbXMiLCJyZXF1ZXN0IiwicmVxdWVzdHMiLCJnZXQiLCJxcyIsInN0cmluZ2lmeSIsImFkZFF1ZXJ5UHJlZml4IiwiaGVhZGVycyIsImxhbmd1YWdlIiwic3RhdHVzIiwianNvbiIsIkVycm9yIiwiZSIsInRvYXN0IiwiZXJyb3IiLCJtZXNzYWdlIiwic2V0QWN0aXZlVXNlciIsInVzZXJUb1NldCIsImN1cnJlbnQiLCJyZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlIiwid2luZG93IiwibG9jYXRpb24iLCJzdGFydHNXaXRoIiwicmVkaXJlY3RQYXJhbSIsImVuY29kZVVSSUNvbXBvbmVudCIsInJlcGxhY2UiLCJyZXZva2VUb2tlbkFuZEV4cGlyZSIsInVuZGVmaW5lZCIsInNldFRva2VuQW5kRXhwaXJhdGlvbiIsInRva2VuIiwicmVmcmVzaGVkVG9rZW4iLCJleHAiLCJyZWZyZXNoQ29va2llIiwiZm9yY2VSZWZyZXNoIiwibm93IiwiTWF0aCIsInJvdW5kIiwiRGF0ZSIsImdldFRpbWUiLCJyZW1haW5pbmdUaW1lIiwic2V0VGltZW91dCIsInBvc3QiLCJyZWZyZXNoQ29va2llQXN5bmMiLCJza2lwU2V0VXNlciIsImxvZ091dCIsImZldGNoRnVsbFVzZXIiLCJwcmVmaWxsT25seSIsImF1dG9Mb2dpblJlc3VsdCIsImJvZHkiLCJKU09OIiwiZW1haWwiLCJwYXNzd29yZCIsImF1dG9Mb2dpbkpzb24iLCJ1c2VFZmZlY3QiLCJyZW1pbmRlciIsIm1heCIsIm1pbiIsImNsZWFyVGltZW91dCIsImZvcmNlTG9nT3V0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVzZUNvbnRleHQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -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;IAClB,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,IAAI,CAAA;IAC1B,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"}
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL0xvZ291dC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uLy4uL2VsZW1lbnRzL0J1dHRvbidcbmltcG9ydCBNaW5pbWFsIGZyb20gJy4uLy4uL3RlbXBsYXRlcy9NaW5pbWFsJ1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BdXRoJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0NvbmZpZydcbmltcG9ydCBNZXRhIGZyb20gJy4uLy4uL3V0aWxpdGllcy9NZXRhJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdsb2dvdXQnXG5cbmNvbnN0IExvZ291dDogUmVhY3QuRkM8eyBpbmFjdGl2aXR5PzogYm9vbGVhbiB9PiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGluYWN0aXZpdHkgfSA9IHByb3BzXG5cbiAgY29uc3QgeyBsb2dPdXQgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7XG4gICAgcm91dGVzOiB7IGFkbWluIH0sXG4gIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhdXRoZW50aWNhdGlvbicpXG5cbiAgLy8gRmV0Y2ggJ3JlZGlyZWN0JyBmcm9tIHRoZSBxdWVyeSBzdHJpbmcgd2hpY2ggZGVub3RlcyB0aGUgVVJMIHRoZSB1c2VyIG9yaWdpbmFsbHkgdHJpZWQgdG8gdmlzaXQuIFRoaXMgaXMgc2V0IGluIHRoZSBSb3V0ZXMudHN4IGZpbGUgd2hlbiBhIHVzZXIgdHJpZXMgdG8gYWNjZXNzIGEgcHJvdGVjdGVkIHJvdXRlIGFuZCBpcyByZWRpcmVjdGVkIHRvIHRoZSBsb2dpbiBzY3JlZW4uXG4gIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1c2VMb2NhdGlvbigpLnNlYXJjaClcbiAgY29uc3QgcmVkaXJlY3QgPSBxdWVyeS5nZXQoJ3JlZGlyZWN0JylcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxvZ091dCgpXG4gIH0sIFtsb2dPdXRdKVxuXG4gIHJldHVybiAoXG4gICAgPE1pbmltYWwgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAgPE1ldGEgZGVzY3JpcHRpb249e3QoJ2xvZ291dFVzZXInKX0ga2V5d29yZHM9e3QoJ2xvZ291dCcpfSB0aXRsZT17dCgnbG9nb3V0Jyl9IC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcGB9PlxuICAgICAgICB7aW5hY3Rpdml0eSAmJiA8aDI+e3QoJ2xvZ2dlZE91dEluYWN0aXZpdHknKX08L2gyPn1cbiAgICAgICAgeyFpbmFjdGl2aXR5ICYmIDxoMj57dCgnbG9nZ2VkT3V0U3VjY2Vzc2Z1bGx5Jyl9PC9oMj59XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICBidXR0b25TdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgZWw9XCJhbmNob3JcIlxuICAgICAgICAgIHVybD17YCR7YWRtaW59L2xvZ2luJHtcbiAgICAgICAgICAgIHJlZGlyZWN0ICYmIHJlZGlyZWN0Lmxlbmd0aCA+IDAgPyBgP3JlZGlyZWN0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHJlZGlyZWN0KX1gIDogJydcbiAgICAgICAgICB9YH1cbiAgICAgICAgPlxuICAgICAgICAgIHt0KCdsb2dCYWNrSW4nKX1cbiAgICAgICAgPC9CdXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L01pbmltYWw+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgTG9nb3V0XG4iXSwibmFtZXMiOlsiYmFzZUNsYXNzIiwiTG9nb3V0IiwicHJvcHMiLCJpbmFjdGl2aXR5IiwibG9nT3V0IiwidXNlQXV0aCIsInJvdXRlcyIsImFkbWluIiwidXNlQ29uZmlnIiwidCIsInVzZVRyYW5zbGF0aW9uIiwicXVlcnkiLCJVUkxTZWFyY2hQYXJhbXMiLCJ1c2VMb2NhdGlvbiIsInNlYXJjaCIsInJlZGlyZWN0IiwiZ2V0IiwidXNlRWZmZWN0IiwiTWluaW1hbCIsImNsYXNzTmFtZSIsIk1ldGEiLCJkZXNjcmlwdGlvbiIsImtleXdvcmRzIiwidGl0bGUiLCJkaXYiLCJoMiIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwiZWwiLCJ1cmwiLCJsZW5ndGgiLCJlbmNvZGVVUklDb21wb25lbnQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQWtEQTs7O2VBQUE7OzsrREFsRGlDOzhCQUNGO2dDQUNIOytEQUVUO2dFQUNDO3NCQUNJO3dCQUNFOzZEQUNUO1FBQ1Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUEsWUFBWTtBQUVsQixNQUFNQyxTQUE2QyxDQUFDQztJQUNsRCxNQUFNLEVBQUVDLFVBQVUsRUFBRSxHQUFHRDtJQUV2QixNQUFNLEVBQUVFLE1BQU0sRUFBRSxHQUFHQyxJQUFBQSxhQUFPO0lBQzFCLE1BQU0sRUFDSkMsUUFBUSxFQUFFQyxLQUFLLEVBQUUsRUFDbEIsR0FBR0MsSUFBQUEsaUJBQVM7SUFDYixNQUFNLEVBQUVDLENBQUMsRUFBRSxHQUFHQyxJQUFBQSw0QkFBYyxFQUFDO0lBRTdCLDJOQUEyTjtJQUMzTixNQUFNQyxRQUFRLElBQUlDLGdCQUFnQkMsSUFBQUEsMkJBQVcsSUFBR0MsTUFBTTtJQUN0RCxNQUFNQyxXQUFXSixNQUFNSyxHQUFHLENBQUM7SUFFM0JDLElBQUFBLGdCQUFTLEVBQUM7UUFDUmI7SUFDRixHQUFHO1FBQUNBO0tBQU87SUFFWCxxQkFDRSw2QkFBQ2MsZ0JBQU87UUFBQ0MsV0FBV25CO3FCQUNsQiw2QkFBQ29CLGFBQUk7UUFBQ0MsYUFBYVosRUFBRTtRQUFlYSxVQUFVYixFQUFFO1FBQVdjLE9BQU9kLEVBQUU7c0JBQ3BFLDZCQUFDZTtRQUFJTCxXQUFXLENBQUMsRUFBRW5CLFVBQVUsTUFBTSxDQUFDO09BQ2pDRyw0QkFBYyw2QkFBQ3NCLFlBQUloQixFQUFFLHlCQUNyQixDQUFDTiw0QkFBYyw2QkFBQ3NCLFlBQUloQixFQUFFLHlDQUN2Qiw2QkFBQ2lCLGVBQU07UUFDTEMsYUFBWTtRQUNaQyxJQUFHO1FBQ0hDLEtBQUssQ0FBQyxFQUFFdEIsTUFBTSxNQUFNLEVBQ2xCUSxZQUFZQSxTQUFTZSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRUMsbUJBQW1CaEIsVUFBVSxDQUFDLEdBQUcsR0FDakYsQ0FBQztPQUVETixFQUFFO0FBS2I7TUFFQSxXQUFlUiJ9
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,CA2EF,CAAA"}
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+IHtcbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbignZ2VuZXJhbCcpXG5cbiAgY29uc3Qge1xuICAgIGlkLFxuICAgIGFwaVVSTCxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGRhdGEsXG4gICAgZGlzYWJsZUFjdGlvbnMsXG4gICAgZGlzYWJsZUxlYXZlV2l0aG91dFNhdmluZyxcbiAgICBmaWVsZFR5cGVzLFxuICAgIGhhc1NhdmVQZXJtaXNzaW9uLFxuICAgIGludGVybmFsU3RhdGUsXG4gICAgaXNFZGl0aW5nLFxuICAgIHBlcm1pc3Npb25zLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCB7IGF1dGgsIHVwbG9hZCB9ID0gY29sbGVjdGlvblxuXG4gIGNvbnN0IFtmaWVsZHNdID0gdXNlU3RhdGUoKCkgPT4gZm9ybWF0RmllbGRzKGNvbGxlY3Rpb24sIGlzRWRpdGluZykpXG5cbiAgY29uc3Qgb3BlcmF0aW9uID0gaXNFZGl0aW5nID8gJ3VwZGF0ZScgOiAnY3JlYXRlJ1xuXG4gIHJldHVybiAoXG4gICAgPEZyYWdtZW50PlxuICAgICAgPE1ldGFcbiAgICAgICAgZGVzY3JpcHRpb249e2Ake2lzRWRpdGluZyA/IHQoJ2VkaXRpbmcnKSA6IHQoJ2NyZWF0aW5nJyl9IC0gJHtnZXRUcmFuc2xhdGlvbihcbiAgICAgICAgICBjb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhcixcbiAgICAgICAgICBpMThuLFxuICAgICAgICApfWB9XG4gICAgICAgIGtleXdvcmRzPXtgJHtnZXRUcmFuc2xhdGlvbihjb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhciwgaTE4bil9LCBQYXlsb2FkLCBDTVNgfVxuICAgICAgICB0aXRsZT17YCR7aXNFZGl0aW5nID8gdCgnZWRpdGluZycpIDogdCgnY3JlYXRpbmcnKX0gLSAke2dldFRyYW5zbGF0aW9uKFxuICAgICAgICAgIGNvbGxlY3Rpb24ubGFiZWxzLnNpbmd1bGFyLFxuICAgICAgICAgIGkxOG4sXG4gICAgICAgICl9YH1cbiAgICAgIC8+XG4gICAgICB7IShjb2xsZWN0aW9uLnZlcnNpb25zPy5kcmFmdHMgJiYgY29sbGVjdGlvbi52ZXJzaW9ucz8uZHJhZnRzPy5hdXRvc2F2ZSkgJiZcbiAgICAgICAgIWRpc2FibGVMZWF2ZVdpdGhvdXRTYXZpbmcgJiYgPExlYXZlV2l0aG91dFNhdmluZyAvPn1cbiAgICAgIDxTZXRTdGVwTmF2IGNvbGxlY3Rpb249e2NvbGxlY3Rpb259IGlkPXtpZH0gaXNFZGl0aW5nPXtpc0VkaXRpbmd9IC8+XG4gICAgICA8RG9jdW1lbnRDb250cm9sc1xuICAgICAgICBhcGlVUkw9e2FwaVVSTH1cbiAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgZGlzYWJsZUFjdGlvbnM9e2Rpc2FibGVBY3Rpb25zfVxuICAgICAgICBoYXNTYXZlUGVybWlzc2lvbj17aGFzU2F2ZVBlcm1pc3Npb259XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAgaXNFZGl0aW5nPXtpc0VkaXRpbmd9XG4gICAgICAgIHBlcm1pc3Npb25zPXtwZXJtaXNzaW9uc31cbiAgICAgIC8+XG4gICAgICA8RG9jdW1lbnRGaWVsZHNcbiAgICAgICAgQmVmb3JlRmllbGRzPXtcbiAgICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICB7YXV0aCAmJiAoXG4gICAgICAgICAgICAgIDxBdXRoXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hdXRoYH1cbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufVxuICAgICAgICAgICAgICAgIGVtYWlsPXtkYXRhPy5lbWFpbH1cbiAgICAgICAgICAgICAgICBvcGVyYXRpb249e29wZXJhdGlvbn1cbiAgICAgICAgICAgICAgICByZWFkT25seT17IWhhc1NhdmVQZXJtaXNzaW9ufVxuICAgICAgICAgICAgICAgIHJlcXVpcmVQYXNzd29yZD17IWlzRWRpdGluZ31cbiAgICAgICAgICAgICAgICB1c2VBUElLZXk9e2F1dGgudXNlQVBJS2V5fVxuICAgICAgICAgICAgICAgIHZlcmlmeT17YXV0aC52ZXJpZnl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge3VwbG9hZCAmJiA8VXBsb2FkIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259IGludGVybmFsU3RhdGU9e2ludGVybmFsU3RhdGV9IC8+fVxuICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgIH1cbiAgICAgICAgZmllbGRUeXBlcz17ZmllbGRUeXBlc31cbiAgICAgICAgZmllbGRzPXtmaWVsZHN9XG4gICAgICAgIGhhc1NhdmVQZXJtaXNzaW9uPXtoYXNTYXZlUGVybWlzc2lvbn1cbiAgICAgICAgcGVybWlzc2lvbnM9e3Blcm1pc3Npb25zfVxuICAgICAgLz5cbiAgICA8L0ZyYWdtZW50PlxuICApXG59XG4iXSwibmFtZXMiOlsiRGVmYXVsdENvbGxlY3Rpb25FZGl0IiwiYmFzZUNsYXNzIiwicHJvcHMiLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiaWQiLCJhcGlVUkwiLCJjb2xsZWN0aW9uIiwiZGF0YSIsImRpc2FibGVBY3Rpb25zIiwiZGlzYWJsZUxlYXZlV2l0aG91dFNhdmluZyIsImZpZWxkVHlwZXMiLCJoYXNTYXZlUGVybWlzc2lvbiIsImludGVybmFsU3RhdGUiLCJpc0VkaXRpbmciLCJwZXJtaXNzaW9ucyIsImF1dGgiLCJ1cGxvYWQiLCJmaWVsZHMiLCJ1c2VTdGF0ZSIsImZvcm1hdEZpZWxkcyIsIm9wZXJhdGlvbiIsIkZyYWdtZW50IiwiTWV0YSIsImRlc2NyaXB0aW9uIiwiZ2V0VHJhbnNsYXRpb24iLCJsYWJlbHMiLCJzaW5ndWxhciIsImtleXdvcmRzIiwidGl0bGUiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsImF1dG9zYXZlIiwiTGVhdmVXaXRob3V0U2F2aW5nIiwiU2V0U3RlcE5hdiIsIkRvY3VtZW50Q29udHJvbHMiLCJEb2N1bWVudEZpZWxkcyIsIkJlZm9yZUZpZWxkcyIsIkF1dGgiLCJjbGFzc05hbWUiLCJlbWFpbCIsInJlYWRPbmx5IiwicmVxdWlyZVBhc3N3b3JkIiwidXNlQVBJS2V5IiwidmVyaWZ5IiwiVXBsb2FkIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFtQmFBOzs7ZUFBQUE7OzsrREFuQjZCOzhCQUNYO2dDQUtBO2tDQUNFO2dDQUNGO29DQUNJOzZEQUNsQjs2REFDQTs0QkFDVTt3QkFDSjtxRUFDRTtRQUNsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQyxZQUFZO0FBRVgsTUFBTUQsd0JBSVQsQ0FBQ0U7SUFDSCxNQUFNLEVBQUVDLElBQUksRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFbkMsTUFBTSxFQUNKQyxFQUFFLEVBQ0ZDLE1BQU0sRUFDTkMsVUFBVSxFQUNWQyxJQUFJLEVBQ0pDLGNBQWMsRUFDZEMseUJBQXlCLEVBQ3pCQyxVQUFVLEVBQ1ZDLGlCQUFpQixFQUNqQkMsYUFBYSxFQUNiQyxTQUFTLEVBQ1RDLFdBQVcsRUFDWixHQUFHZDtJQUVKLE1BQU0sRUFBRWUsSUFBSSxFQUFFQyxNQUFNLEVBQUUsR0FBR1Y7SUFFekIsTUFBTSxDQUFDVyxPQUFPLEdBQUdDLElBQUFBLGVBQVEsRUFBQyxJQUFNQyxJQUFBQSxxQkFBWSxFQUFDYixZQUFZTztJQUV6RCxNQUFNTyxZQUFZUCxZQUFZLFdBQVc7SUFFekMscUJBQ0UsNkJBQUNRLGVBQVEsc0JBQ1AsNkJBQUNDLGFBQUk7UUFDSEMsYUFBYSxDQUFDLEVBQUVWLFlBQVlYLEVBQUUsYUFBYUEsRUFBRSxZQUFZLEdBQUcsRUFBRXNCLElBQUFBLDhCQUFjLEVBQzFFbEIsV0FBV21CLE1BQU0sQ0FBQ0MsUUFBUSxFQUMxQnpCLE1BQ0EsQ0FBQztRQUNIMEIsVUFBVSxDQUFDLEVBQUVILElBQUFBLDhCQUFjLEVBQUNsQixXQUFXbUIsTUFBTSxDQUFDQyxRQUFRLEVBQUV6QixNQUFNLGNBQWMsQ0FBQztRQUM3RTJCLE9BQU8sQ0FBQyxFQUFFZixZQUFZWCxFQUFFLGFBQWFBLEVBQUUsWUFBWSxHQUFHLEVBQUVzQixJQUFBQSw4QkFBYyxFQUNwRWxCLFdBQVdtQixNQUFNLENBQUNDLFFBQVEsRUFDMUJ6QixNQUNBLENBQUM7UUFFSixDQUFFSyxDQUFBQSxXQUFXdUIsUUFBUSxFQUFFQyxVQUFVeEIsV0FBV3VCLFFBQVEsRUFBRUMsUUFBUUMsUUFBTyxLQUNwRSxDQUFDdEIsMkNBQTZCLDZCQUFDdUIsc0NBQWtCLHVCQUNuRCw2QkFBQ0Msc0JBQVU7UUFBQzNCLFlBQVlBO1FBQVlGLElBQUlBO1FBQUlTLFdBQVdBO3NCQUN2RCw2QkFBQ3FCLGtDQUFnQjtRQUNmN0IsUUFBUUE7UUFDUkMsWUFBWUE7UUFDWkMsTUFBTUE7UUFDTkMsZ0JBQWdCQTtRQUNoQkcsbUJBQW1CQTtRQUNuQlAsSUFBSUE7UUFDSlMsV0FBV0E7UUFDWEMsYUFBYUE7c0JBRWYsNkJBQUNxQiw4QkFBYztRQUNiQyw0QkFDRSw2QkFBQ2YsZUFBUSxRQUNOTixzQkFDQyw2QkFBQ3NCLGFBQUk7WUFDSEMsV0FBVyxDQUFDLEVBQUV2QyxVQUFVLE1BQU0sQ0FBQztZQUMvQk8sWUFBWUE7WUFDWmlDLE9BQU9oQyxNQUFNZ0M7WUFDYm5CLFdBQVdBO1lBQ1hvQixVQUFVLENBQUM3QjtZQUNYOEIsaUJBQWlCLENBQUM1QjtZQUNsQjZCLFdBQVczQixLQUFLMkIsU0FBUztZQUN6QkMsUUFBUTVCLEtBQUs0QixNQUFNO1lBR3RCM0Isd0JBQVUsNkJBQUM0QixjQUFNO1lBQUN0QyxZQUFZQTtZQUFZTSxlQUFlQTs7UUFHOURGLFlBQVlBO1FBQ1pPLFFBQVFBO1FBQ1JOLG1CQUFtQkE7UUFDbkJHLGFBQWFBOztBQUlyQiJ9
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvRGVmYXVsdC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9maWVsZC10eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkVkaXRWaWV3UHJvcHMgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5pbXBvcnQgeyBEb2N1bWVudENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRG9jdW1lbnRDb250cm9scydcbmltcG9ydCB7IERvY3VtZW50RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRG9jdW1lbnRGaWVsZHMnXG5pbXBvcnQgeyBMZWF2ZVdpdGhvdXRTYXZpbmcgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RhbHMvTGVhdmVXaXRob3V0U2F2aW5nJ1xuaW1wb3J0IE1ldGEgZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL01ldGEnXG5pbXBvcnQgQXV0aCBmcm9tICcuLi9BdXRoJ1xuaW1wb3J0IHsgU2V0U3RlcE5hdiB9IGZyb20gJy4uL1NldFN0ZXBOYXYnXG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tICcuLi9VcGxvYWQnXG5pbXBvcnQgZm9ybWF0RmllbGRzIGZyb20gJy4uL2Zvcm1hdEZpZWxkcydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnY29sbGVjdGlvbi1kZWZhdWx0LWVkaXQnXG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29sbGVjdGlvbkVkaXQ6IFJlYWN0LkZDPFxuICBDb2xsZWN0aW9uRWRpdFZpZXdQcm9wcyAmIHtcbiAgICBmaWVsZFR5cGVzOiBGaWVsZFR5cGVzXG4gIH1cbj4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbignZ2VuZXJhbCcpXG5cbiAgY29uc3Qge1xuICAgIGlkLFxuICAgIGFwaVVSTCxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGRhdGEsXG4gICAgZGlzYWJsZUFjdGlvbnMsXG4gICAgZGlzYWJsZUxlYXZlV2l0aG91dFNhdmluZyxcbiAgICBmaWVsZFR5cGVzLFxuICAgIGhhc1NhdmVQZXJtaXNzaW9uLFxuICAgIGludGVybmFsU3RhdGUsXG4gICAgaXNFZGl0aW5nLFxuICAgIG9uU2F2ZSxcbiAgICBwZXJtaXNzaW9ucyxcbiAgfSA9IHByb3BzXG5cbiAgY29uc3QgeyBhdXRoLCB1cGxvYWQgfSA9IGNvbGxlY3Rpb25cblxuICBjb25zdCBbZmllbGRzXSA9IHVzZVN0YXRlKCgpID0+IGZvcm1hdEZpZWxkcyhjb2xsZWN0aW9uLCBpc0VkaXRpbmcpKVxuXG4gIGNvbnN0IG9wZXJhdGlvbiA9IGlzRWRpdGluZyA/ICd1cGRhdGUnIDogJ2NyZWF0ZSdcblxuICByZXR1cm4gKFxuICAgIDxGcmFnbWVudD5cbiAgICAgIDxNZXRhXG4gICAgICAgIGRlc2NyaXB0aW9uPXtgJHtpc0VkaXRpbmcgPyB0KCdlZGl0aW5nJykgOiB0KCdjcmVhdGluZycpfSAtICR7Z2V0VHJhbnNsYXRpb24oXG4gICAgICAgICAgY29sbGVjdGlvbi5sYWJlbHMuc2luZ3VsYXIsXG4gICAgICAgICAgaTE4bixcbiAgICAgICAgKX1gfVxuICAgICAgICBrZXl3b3Jkcz17YCR7Z2V0VHJhbnNsYXRpb24oY29sbGVjdGlvbi5sYWJlbHMuc2luZ3VsYXIsIGkxOG4pfSwgUGF5bG9hZCwgQ01TYH1cbiAgICAgICAgdGl0bGU9e2Ake2lzRWRpdGluZyA/IHQoJ2VkaXRpbmcnKSA6IHQoJ2NyZWF0aW5nJyl9IC0gJHtnZXRUcmFuc2xhdGlvbihcbiAgICAgICAgICBjb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhcixcbiAgICAgICAgICBpMThuLFxuICAgICAgICApfWB9XG4gICAgICAvPlxuICAgICAgeyEoY29sbGVjdGlvbi52ZXJzaW9ucz8uZHJhZnRzICYmIGNvbGxlY3Rpb24udmVyc2lvbnM/LmRyYWZ0cz8uYXV0b3NhdmUpICYmXG4gICAgICAgICFkaXNhYmxlTGVhdmVXaXRob3V0U2F2aW5nICYmIDxMZWF2ZVdpdGhvdXRTYXZpbmcgLz59XG4gICAgICA8U2V0U3RlcE5hdiBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSBpZD17aWR9IGlzRWRpdGluZz17aXNFZGl0aW5nfSAvPlxuICAgICAgPERvY3VtZW50Q29udHJvbHNcbiAgICAgICAgYXBpVVJMPXthcGlVUkx9XG4gICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgIGRhdGE9e2RhdGF9XG4gICAgICAgIGRpc2FibGVBY3Rpb25zPXtkaXNhYmxlQWN0aW9uc31cbiAgICAgICAgaGFzU2F2ZVBlcm1pc3Npb249e2hhc1NhdmVQZXJtaXNzaW9ufVxuICAgICAgICBpZD17aWR9XG4gICAgICAgIGlzRWRpdGluZz17aXNFZGl0aW5nfVxuICAgICAgICBvblNhdmU9e29uU2F2ZX1cbiAgICAgICAgcGVybWlzc2lvbnM9e3Blcm1pc3Npb25zfVxuICAgICAgLz5cbiAgICAgIDxEb2N1bWVudEZpZWxkc1xuICAgICAgICBCZWZvcmVGaWVsZHM9e1xuICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgIHthdXRoICYmIChcbiAgICAgICAgICAgICAgPEF1dGhcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2F1dGhgfVxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgICAgZW1haWw9e2RhdGE/LmVtYWlsfVxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbj17b3BlcmF0aW9ufVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshaGFzU2F2ZVBlcm1pc3Npb259XG4gICAgICAgICAgICAgICAgcmVxdWlyZVBhc3N3b3JkPXshaXNFZGl0aW5nfVxuICAgICAgICAgICAgICAgIHVzZUFQSUtleT17YXV0aC51c2VBUElLZXl9XG4gICAgICAgICAgICAgICAgdmVyaWZ5PXthdXRoLnZlcmlmeX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7dXBsb2FkICYmIDxVcGxvYWQgY29sbGVjdGlvbj17Y29sbGVjdGlvbn0gaW50ZXJuYWxTdGF0ZT17aW50ZXJuYWxTdGF0ZX0gLz59XG4gICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgfVxuICAgICAgICBmaWVsZFR5cGVzPXtmaWVsZFR5cGVzfVxuICAgICAgICBmaWVsZHM9e2ZpZWxkc31cbiAgICAgICAgaGFzU2F2ZVBlcm1pc3Npb249e2hhc1NhdmVQZXJtaXNzaW9ufVxuICAgICAgICBwZXJtaXNzaW9ucz17cGVybWlzc2lvbnN9XG4gICAgICAvPlxuICAgIDwvRnJhZ21lbnQ+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJEZWZhdWx0Q29sbGVjdGlvbkVkaXQiLCJiYXNlQ2xhc3MiLCJwcm9wcyIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJpZCIsImFwaVVSTCIsImNvbGxlY3Rpb24iLCJkYXRhIiwiZGlzYWJsZUFjdGlvbnMiLCJkaXNhYmxlTGVhdmVXaXRob3V0U2F2aW5nIiwiZmllbGRUeXBlcyIsImhhc1NhdmVQZXJtaXNzaW9uIiwiaW50ZXJuYWxTdGF0ZSIsImlzRWRpdGluZyIsIm9uU2F2ZSIsInBlcm1pc3Npb25zIiwiYXV0aCIsInVwbG9hZCIsImZpZWxkcyIsInVzZVN0YXRlIiwiZm9ybWF0RmllbGRzIiwib3BlcmF0aW9uIiwiRnJhZ21lbnQiLCJNZXRhIiwiZGVzY3JpcHRpb24iLCJnZXRUcmFuc2xhdGlvbiIsImxhYmVscyIsInNpbmd1bGFyIiwia2V5d29yZHMiLCJ0aXRsZSIsInZlcnNpb25zIiwiZHJhZnRzIiwiYXV0b3NhdmUiLCJMZWF2ZVdpdGhvdXRTYXZpbmciLCJTZXRTdGVwTmF2IiwiRG9jdW1lbnRDb250cm9scyIsIkRvY3VtZW50RmllbGRzIiwiQmVmb3JlRmllbGRzIiwiQXV0aCIsImNsYXNzTmFtZSIsImVtYWlsIiwicmVhZE9ubHkiLCJyZXF1aXJlUGFzc3dvcmQiLCJ1c2VBUElLZXkiLCJ2ZXJpZnkiLCJVcGxvYWQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFtQmFBOzs7ZUFBQUE7OzsrREFuQjZCOzhCQUNYO2dDQUtBO2tDQUNFO2dDQUNGO29DQUNJOzZEQUNsQjs2REFDQTs0QkFDVTt3QkFDSjtxRUFDRTtRQUNsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQyxZQUFZO0FBRVgsTUFBTUQsd0JBSVQsQ0FBQ0U7SUFDSCxNQUFNLEVBQUVDLElBQUksRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFbkMsTUFBTSxFQUNKQyxFQUFFLEVBQ0ZDLE1BQU0sRUFDTkMsVUFBVSxFQUNWQyxJQUFJLEVBQ0pDLGNBQWMsRUFDZEMseUJBQXlCLEVBQ3pCQyxVQUFVLEVBQ1ZDLGlCQUFpQixFQUNqQkMsYUFBYSxFQUNiQyxTQUFTLEVBQ1RDLE1BQU0sRUFDTkMsV0FBVyxFQUNaLEdBQUdmO0lBRUosTUFBTSxFQUFFZ0IsSUFBSSxFQUFFQyxNQUFNLEVBQUUsR0FBR1g7SUFFekIsTUFBTSxDQUFDWSxPQUFPLEdBQUdDLElBQUFBLGVBQVEsRUFBQyxJQUFNQyxJQUFBQSxxQkFBWSxFQUFDZCxZQUFZTztJQUV6RCxNQUFNUSxZQUFZUixZQUFZLFdBQVc7SUFFekMscUJBQ0UsNkJBQUNTLGVBQVEsc0JBQ1AsNkJBQUNDLGFBQUk7UUFDSEMsYUFBYSxDQUFDLEVBQUVYLFlBQVlYLEVBQUUsYUFBYUEsRUFBRSxZQUFZLEdBQUcsRUFBRXVCLElBQUFBLDhCQUFjLEVBQzFFbkIsV0FBV29CLE1BQU0sQ0FBQ0MsUUFBUSxFQUMxQjFCLE1BQ0EsQ0FBQztRQUNIMkIsVUFBVSxDQUFDLEVBQUVILElBQUFBLDhCQUFjLEVBQUNuQixXQUFXb0IsTUFBTSxDQUFDQyxRQUFRLEVBQUUxQixNQUFNLGNBQWMsQ0FBQztRQUM3RTRCLE9BQU8sQ0FBQyxFQUFFaEIsWUFBWVgsRUFBRSxhQUFhQSxFQUFFLFlBQVksR0FBRyxFQUFFdUIsSUFBQUEsOEJBQWMsRUFDcEVuQixXQUFXb0IsTUFBTSxDQUFDQyxRQUFRLEVBQzFCMUIsTUFDQSxDQUFDO1FBRUosQ0FBRUssQ0FBQUEsV0FBV3dCLFFBQVEsRUFBRUMsVUFBVXpCLFdBQVd3QixRQUFRLEVBQUVDLFFBQVFDLFFBQU8sS0FDcEUsQ0FBQ3ZCLDJDQUE2Qiw2QkFBQ3dCLHNDQUFrQix1QkFDbkQsNkJBQUNDLHNCQUFVO1FBQUM1QixZQUFZQTtRQUFZRixJQUFJQTtRQUFJUyxXQUFXQTtzQkFDdkQsNkJBQUNzQixrQ0FBZ0I7UUFDZjlCLFFBQVFBO1FBQ1JDLFlBQVlBO1FBQ1pDLE1BQU1BO1FBQ05DLGdCQUFnQkE7UUFDaEJHLG1CQUFtQkE7UUFDbkJQLElBQUlBO1FBQ0pTLFdBQVdBO1FBQ1hDLFFBQVFBO1FBQ1JDLGFBQWFBO3NCQUVmLDZCQUFDcUIsOEJBQWM7UUFDYkMsNEJBQ0UsNkJBQUNmLGVBQVEsUUFDTk4sc0JBQ0MsNkJBQUNzQixhQUFJO1lBQ0hDLFdBQVcsQ0FBQyxFQUFFeEMsVUFBVSxNQUFNLENBQUM7WUFDL0JPLFlBQVlBO1lBQ1prQyxPQUFPakMsTUFBTWlDO1lBQ2JuQixXQUFXQTtZQUNYb0IsVUFBVSxDQUFDOUI7WUFDWCtCLGlCQUFpQixDQUFDN0I7WUFDbEI4QixXQUFXM0IsS0FBSzJCLFNBQVM7WUFDekJDLFFBQVE1QixLQUFLNEIsTUFBTTtZQUd0QjNCLHdCQUFVLDZCQUFDNEIsY0FBTTtZQUFDdkMsWUFBWUE7WUFBWU0sZUFBZUE7O1FBRzlERixZQUFZQTtRQUNaUSxRQUFRQTtRQUNSUCxtQkFBbUJBO1FBQ25CSSxhQUFhQTs7QUFJckIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"cloneDataFromOriginalDoc.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/cloneDataFromOriginalDoc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,oBAAqB,OAAO,KAAG,OAkBnE,CAAA"}
1
+ {"version":3,"file":"cloneDataFromOriginalDoc.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/cloneDataFromOriginalDoc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,oBAAqB,OAAO,KAAG,OAsBnE,CAAA"}
@@ -19,6 +19,9 @@ const cloneDataFromOriginalDoc = (originalDocData)=>{
19
19
  return row;
20
20
  });
21
21
  }
22
+ if (originalDocData instanceof Date) {
23
+ return originalDocData;
24
+ }
22
25
  if (typeof originalDocData === 'object' && originalDocData !== null) {
23
26
  return {
24
27
  ...originalDocData
@@ -27,4 +30,4 @@ const cloneDataFromOriginalDoc = (originalDocData)=>{
27
30
  return originalDocData;
28
31
  };
29
32
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2Nsb25lRGF0YUZyb21PcmlnaW5hbERvYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY2xvbmVEYXRhRnJvbU9yaWdpbmFsRG9jID0gKG9yaWdpbmFsRG9jRGF0YTogdW5rbm93bik6IHVua25vd24gPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShvcmlnaW5hbERvY0RhdGEpKSB7XG4gICAgcmV0dXJuIG9yaWdpbmFsRG9jRGF0YS5tYXAoKHJvdykgPT4ge1xuICAgICAgaWYgKHR5cGVvZiByb3cgPT09ICdvYmplY3QnICYmIHJvdyAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucm93LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByb3dcbiAgICB9KVxuICB9XG5cbiAgaWYgKHR5cGVvZiBvcmlnaW5hbERvY0RhdGEgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsRG9jRGF0YSAhPT0gbnVsbCkge1xuICAgIHJldHVybiB7IC4uLm9yaWdpbmFsRG9jRGF0YSB9XG4gIH1cblxuICByZXR1cm4gb3JpZ2luYWxEb2NEYXRhXG59XG4iXSwibmFtZXMiOlsiY2xvbmVEYXRhRnJvbU9yaWdpbmFsRG9jIiwib3JpZ2luYWxEb2NEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwicm93Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsMkJBQTJCLENBQUNDO0lBQ3ZDLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0Ysa0JBQWtCO1FBQ2xDLE9BQU9BLGdCQUFnQkcsR0FBRyxDQUFDLENBQUNDO1lBQzFCLElBQUksT0FBT0EsUUFBUSxZQUFZQSxPQUFPLE1BQU07Z0JBQzFDLE9BQU87b0JBQ0wsR0FBR0EsR0FBRztnQkFDUjtZQUNGO1lBRUEsT0FBT0E7UUFDVDtJQUNGO0lBRUEsSUFBSSxPQUFPSixvQkFBb0IsWUFBWUEsb0JBQW9CLE1BQU07UUFDbkUsT0FBTztZQUFFLEdBQUdBLGVBQWU7UUFBQztJQUM5QjtJQUVBLE9BQU9BO0FBQ1QifQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2Nsb25lRGF0YUZyb21PcmlnaW5hbERvYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY2xvbmVEYXRhRnJvbU9yaWdpbmFsRG9jID0gKG9yaWdpbmFsRG9jRGF0YTogdW5rbm93bik6IHVua25vd24gPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShvcmlnaW5hbERvY0RhdGEpKSB7XG4gICAgcmV0dXJuIG9yaWdpbmFsRG9jRGF0YS5tYXAoKHJvdykgPT4ge1xuICAgICAgaWYgKHR5cGVvZiByb3cgPT09ICdvYmplY3QnICYmIHJvdyAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucm93LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByb3dcbiAgICB9KVxuICB9XG5cbiAgaWYgKG9yaWdpbmFsRG9jRGF0YSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICByZXR1cm4gb3JpZ2luYWxEb2NEYXRhXG4gIH1cblxuICBpZiAodHlwZW9mIG9yaWdpbmFsRG9jRGF0YSA9PT0gJ29iamVjdCcgJiYgb3JpZ2luYWxEb2NEYXRhICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHsgLi4ub3JpZ2luYWxEb2NEYXRhIH1cbiAgfVxuXG4gIHJldHVybiBvcmlnaW5hbERvY0RhdGFcbn1cbiJdLCJuYW1lcyI6WyJjbG9uZURhdGFGcm9tT3JpZ2luYWxEb2MiLCJvcmlnaW5hbERvY0RhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJyb3ciLCJEYXRlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsMkJBQTJCLENBQUNDO0lBQ3ZDLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0Ysa0JBQWtCO1FBQ2xDLE9BQU9BLGdCQUFnQkcsR0FBRyxDQUFDLENBQUNDO1lBQzFCLElBQUksT0FBT0EsUUFBUSxZQUFZQSxPQUFPLE1BQU07Z0JBQzFDLE9BQU87b0JBQ0wsR0FBR0EsR0FBRztnQkFDUjtZQUNGO1lBRUEsT0FBT0E7UUFDVDtJQUNGO0lBRUEsSUFBSUosMkJBQTJCSyxNQUFNO1FBQ25DLE9BQU9MO0lBQ1Q7SUFFQSxJQUFJLE9BQU9BLG9CQUFvQixZQUFZQSxvQkFBb0IsTUFBTTtRQUNuRSxPQUFPO1lBQUUsR0FBR0EsZUFBZTtRQUFDO0lBQzlCO0lBRUEsT0FBT0E7QUFDVCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":";AAIA,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;AAQvB,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAuCtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAsB1D,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,CAqB9D,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,CA8D/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,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAO5E,CAAA;AAgCD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAgC1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAKxD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAKzD,CAAA;AA6HD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAkB1D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CA8DtE,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,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAqBxD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAkBC"}
1
+ {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":";AAIA,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;AAQvB,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAuCtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAsB1D,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,CAqB9D,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,CA8D/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,CAmBtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAO5E,CAAA;AAgCD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAgC1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAKxD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAKzD,CAAA;AA6HD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAkB1D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CA8DtE,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,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAqBxD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAkBC"}
@@ -225,6 +225,9 @@ const checkbox = (value, { required, t })=>{
225
225
  return true;
226
226
  };
227
227
  const date = (value, { required, t })=>{
228
+ if (value instanceof Date) {
229
+ return true;
230
+ }
228
231
  if (value && !isNaN(Date.parse(value.toString()))) {
229
232
  /* eslint-disable-line */ return true;
230
233
  }
@@ -537,4 +540,4 @@ const _default = {
537
540
  upload
538
541
  };
539
542
 
540
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFqdiBmcm9tICdhanYnXG5pbXBvcnQgT2JqZWN0SUQgZnJvbSAnYnNvbi1vYmplY3RpZCdcblxuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNOdW1iZXInXG5pbXBvcnQgeyBpc1ZhbGlkSUQgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNWYWxpZElEJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgdGV4dDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dEZpZWxkPiA9IChcbiAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLFxuICB7IGNvbmZpZywgaGFzTWFueSwgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWF4Um93cywgbWluTGVuZ3RoLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICghcmVxdWlyZWQpIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKGhhc01hbnkgPT09IHRydWUpIHtcbiAgICBjb25zdCBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVBcnJheUxlbmd0aCh2YWx1ZSwgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9KVxuICAgIGlmICh0eXBlb2YgbGVuZ3RoVmFsaWRhdGlvblJlc3VsdCA9PT0gJ3N0cmluZycpIHJldHVybiBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0XG4gIH1cblxuICBpZiAodHlwZW9mIGNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBjb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG5cbiAgY29uc3Qgc3RyaW5nc1RvVmFsaWRhdGU6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICBmb3IgKGNvbnN0IHN0cmluZ1ZhbHVlIG9mIHN0cmluZ3NUb1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gc3RyaW5nVmFsdWU/Lmxlbmd0aCB8fCAwXG5cbiAgICBpZiAodHlwZW9mIG1heExlbmd0aCA9PT0gJ251bWJlcicgJiYgbGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbGFiZWw6IHQoJ3ZhbHVlJyksIG1heExlbmd0aCwgc3RyaW5nVmFsdWUgfSlcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1pbkxlbmd0aCA9PT0gJ251bWJlcicgJiYgbGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluTGVuZ3RoLCBzdHJpbmdWYWx1ZSB9KVxuICAgIH1cbiAgfVxuXG4gIGlmIChyZXF1aXJlZCkge1xuICAgIGlmICghKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHx8IHZhbHVlPy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcGFzc3dvcmQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuXG4gIGlmICh2YWx1ZSAmJiBtYXhMZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnLCB7IG1heExlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHZhbHVlICYmIG1pbkxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPCBtaW5MZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBtaW5MZW5ndGggfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCAmJiAhdmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgZW1haWw6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEVtYWlsRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAoKHZhbHVlICYmICEvXFxTW15cXHNAXSpAXFxTK1xcLlxcUysvLnRlc3QodmFsdWUpKSB8fCAoIXZhbHVlICYmIHJlcXVpcmVkKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVtYWlsQWRkcmVzcycpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdGV4dGFyZWE6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRhcmVhRmllbGQ+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGNvbmZpZywgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWluTGVuZ3RoLCBwYXlsb2FkLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICh0eXBlb2YgY29uZmlnPy5kZWZhdWx0TWF4VGV4dExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGNvbmZpZy5kZWZhdWx0TWF4VGV4dExlbmd0aFxuICBpZiAodHlwZW9mIGZpZWxkTWF4TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gZmllbGRNYXhMZW5ndGhcbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjb2RlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBDb2RlRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBqc29uOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBKU09ORmllbGQgJiB7IGpzb25FcnJvcj86IHN0cmluZyB9PiA9IGFzeW5jIChcbiAgdmFsdWU6IHN0cmluZyxcbiAgeyBqc29uRXJyb3IsIGpzb25TY2hlbWEsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmIChqc29uRXJyb3IgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICBjb25zdCBpc05vdEVtcHR5ID0gKHZhbHVlKSA9PiB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBjb25zdCBmZXRjaFNjaGVtYSA9ICh7IHNjaGVtYSwgdXJpIH0pID0+IHtcbiAgICBpZiAodXJpICYmIHNjaGVtYSkgcmV0dXJuIHNjaGVtYVxuICAgIHJldHVybiBmZXRjaCh1cmkpXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTmV0d29yayByZXNwb25zZSB3YXMgbm90IG9rJylcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpXG4gICAgICB9KVxuICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgY29uc3QganNvblNjaGVtYVNhbml0aXphdGlvbnMgPSB7XG4gICAgICAgICAgaWQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAkaWQ6IGpzb24uaWQsXG4gICAgICAgICAgJHNjaGVtYTogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oanNvbiwganNvblNjaGVtYVNhbml0aXphdGlvbnMpXG4gICAgICB9KVxuICB9XG5cbiAgaWYgKCFjYW5Vc2VET00gJiYganNvblNjaGVtYSAmJiBpc05vdEVtcHR5KHZhbHVlKSkge1xuICAgIHRyeSB7XG4gICAgICBqc29uU2NoZW1hLnNjaGVtYSA9IGF3YWl0IGZldGNoU2NoZW1hKGpzb25TY2hlbWEpXG4gICAgICBjb25zdCB7IHNjaGVtYSB9ID0ganNvblNjaGVtYVxuICAgICAgY29uc3QgYWp2ID0gbmV3IEFqdigpXG5cbiAgICAgIGlmICghYWp2LnZhbGlkYXRlKHNjaGVtYSwgdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB0KGFqdi5lcnJvcnNUZXh0KCkpXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiB0KGVycm9yLm1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNoZWNrYm94OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBDaGVja2JveEZpZWxkPiA9IChcbiAgdmFsdWU6IGJvb2xlYW4sXG4gIHsgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAoKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSB8fCAocmVxdWlyZWQgJiYgdHlwZW9mIHZhbHVlICE9PSAnYm9vbGVhbicpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246dHJ1ZU9yRmFsc2UnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIERhdGVGaWVsZD4gPSAodmFsdWUsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAodmFsdWUgJiYgIWlzTmFOKERhdGUucGFyc2UodmFsdWUudG9TdHJpbmcoKSkpKSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUtbGluZSAqL1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBpZiAodmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpub3RWYWxpZERhdGUnLCB7IHZhbHVlIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcmljaFRleHQ6IFZhbGlkYXRlPG9iamVjdCwgdW5rbm93biwgUmljaFRleHRGaWVsZCwgUmljaFRleHRGaWVsZD4gPSBhc3luYyAoXG4gIHZhbHVlLFxuICBvcHRpb25zLFxuKSA9PiB7XG4gIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gb3B0aW9ucz8uZWRpdG9yXG5cbiAgcmV0dXJuIGF3YWl0IGVkaXRvci52YWxpZGF0ZSh2YWx1ZSwgb3B0aW9ucylcbn1cblxuY29uc3QgdmFsaWRhdGVBcnJheUxlbmd0aDogYW55ID0gKFxuICB2YWx1ZSxcbiAgb3B0aW9uczoge1xuICAgIG1heFJvd3M/OiBudW1iZXJcbiAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuXG4gICAgdDogKGtleTogc3RyaW5nLCBvcHRpb25zPzogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfCBzdHJpbmcgfSkgPT4gc3RyaW5nXG4gIH0sXG4pID0+IHtcbiAgY29uc3QgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9ID0gb3B0aW9uc1xuXG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5sZW5ndGggOiAwXG5cbiAgaWYgKCFyZXF1aXJlZCAmJiBhcnJheUxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWVcblxuICBpZiAobWluUm93cyAmJiBhcnJheUxlbmd0aCA8IG1pblJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiBtaW5Sb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAobWF4Um93cyAmJiBhcnJheUxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nLCB7IGNvdW50OiBtYXhSb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIWFycmF5TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogMSwgbGFiZWw6IHQoJ3JvdycpIH0pXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgbnVtYmVyOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBOdW1iZXJGaWVsZD4gPSAoXG4gIHZhbHVlOiBudW1iZXIgfCBudW1iZXJbXSxcbiAgeyBoYXNNYW55LCBtYXgsIG1heFJvd3MsIG1pbiwgbWluUm93cywgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAoaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbmd0aFZhbGlkYXRpb25SZXN1bHQgPSB2YWxpZGF0ZUFycmF5TGVuZ3RoKHZhbHVlLCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0pXG4gICAgaWYgKHR5cGVvZiBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0ID09PSAnc3RyaW5nJykgcmV0dXJuIGxlbmd0aFZhbGlkYXRpb25SZXN1bHRcbiAgfVxuXG4gIGlmICghdmFsdWUgJiYgIWlzTnVtYmVyKHZhbHVlKSkge1xuICAgIC8vIGlmIG5vIHZhbHVlIGlzIHByZXNlbnQsIHZhbGlkYXRlIGJhc2VkIG9uIHJlcXVpcmVkXG4gICAgaWYgKHJlcXVpcmVkKSByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgaWYgKCFyZXF1aXJlZCkgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGNvbnN0IG51bWJlcnNUb1ZhbGlkYXRlOiBudW1iZXJbXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdXG5cbiAgZm9yIChjb25zdCBudW1iZXIgb2YgbnVtYmVyc1RvVmFsaWRhdGUpIHtcbiAgICBpZiAoIWlzTnVtYmVyKG51bWJlcikpIHJldHVybiB0KCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcblxuICAgIGNvbnN0IG51bWJlclZhbHVlID0gcGFyc2VGbG9hdChudW1iZXIgYXMgdW5rbm93biBhcyBzdHJpbmcpXG5cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgJiYgbnVtYmVyVmFsdWUgPiBtYXgpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4JywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWF4LCB2YWx1ZSB9KVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbWluID09PSAnbnVtYmVyJyAmJiBudW1iZXJWYWx1ZSA8IG1pbikge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtaW4sIHZhbHVlIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGFycmF5OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBBcnJheUZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICByZXR1cm4gdmFsaWRhdGVBcnJheUxlbmd0aCh2YWx1ZSwgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9KVxufVxuXG5leHBvcnQgY29uc3QgYmxvY2tzOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBCbG9ja0ZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICByZXR1cm4gdmFsaWRhdGVBcnJheUxlbmd0aCh2YWx1ZSwgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9KVxufVxuXG5jb25zdCB2YWxpZGF0ZUZpbHRlck9wdGlvbnM6IFZhbGlkYXRlID0gYXN5bmMgKFxuICB2YWx1ZSxcbiAgeyBpZCwgZGF0YSwgZmlsdGVyT3B0aW9ucywgcGF5bG9hZCwgcmVsYXRpb25UbywgcmVxLCBzaWJsaW5nRGF0YSwgdCwgdXNlciB9LFxuKSA9PiB7XG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiBmaWx0ZXJPcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSkge1xuICAgIGNvbnN0IG9wdGlvbnM6IHtcbiAgICAgIFtjb2xsZWN0aW9uOiBzdHJpbmddOiAobnVtYmVyIHwgc3RyaW5nKVtdXG4gICAgfSA9IHt9XG5cbiAgICBjb25zdCBmYWxzZUNvbGxlY3Rpb25zOiBzdHJpbmdbXSA9IFtdXG4gICAgY29uc3QgY29sbGVjdGlvbnMgPSB0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycgPyBbcmVsYXRpb25Ub10gOiByZWxhdGlvblRvXG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgY29sbGVjdGlvbnMubWFwKGFzeW5jIChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbGV0IG9wdGlvbkZpbHRlciA9XG4gICAgICAgICAgICB0eXBlb2YgZmlsdGVyT3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICA/IGF3YWl0IGZpbHRlck9wdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25UbzogY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhLFxuICAgICAgICAgICAgICAgICAgdXNlcixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICA6IGZpbHRlck9wdGlvbnNcblxuICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgIG9wdGlvbkZpbHRlciA9IG51bGxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB2YWx1ZUlEczogKG51bWJlciB8IHN0cmluZylbXSA9IFtdXG5cbiAgICAgICAgICB2YWx1ZXMuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgaWYgKHZhbD8udmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZUlEcy5wdXNoKHZhbC52YWx1ZSlcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChPYmplY3RJRC5pc1ZhbGlkKHZhbCkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZUlEcy5wdXNoKG5ldyBPYmplY3RJRCh2YWwpLnRvSGV4U3RyaW5nKCkpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAodmFsdWVJRHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZmluZFdoZXJlID0ge1xuICAgICAgICAgICAgICBhbmQ6IFt7IGlkOiB7IGluOiB2YWx1ZUlEcyB9IH1dLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uRmlsdGVyKSBmaW5kV2hlcmUuYW5kLnB1c2gob3B0aW9uRmlsdGVyKVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uRmlsdGVyID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICBmYWxzZUNvbGxlY3Rpb25zLnB1c2gob3B0aW9uRmlsdGVyKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgICAgbGltaXQ6IDAsXG4gICAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIHdoZXJlOiBmaW5kV2hlcmUsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gcmVzdWx0LmRvY3MubWFwKChkb2MpID0+IGRvYy5pZClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3B0aW9uc1tjb2xsZWN0aW9uXSA9IFtdXG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICByZXEucGF5bG9hZC5sb2dnZXIuZXJyb3Ioe1xuICAgICAgICAgICAgZXJyLFxuICAgICAgICAgICAgbXNnOiBgRXJyb3IgdmFsaWRhdGluZyBmaWx0ZXIgb3B0aW9ucyBmb3IgY29sbGVjdGlvbiAke2NvbGxlY3Rpb259YCxcbiAgICAgICAgICB9KVxuICAgICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSBbXVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG5cbiAgICBjb25zdCBpbnZhbGlkUmVsYXRpb25zaGlwcyA9IHZhbHVlcy5maWx0ZXIoKHZhbCkgPT4ge1xuICAgICAgbGV0IGNvbGxlY3Rpb246IHN0cmluZ1xuICAgICAgbGV0IHJlcXVlc3RlZElEOiBudW1iZXIgfCBzdHJpbmdcblxuICAgICAgaWYgKHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb2xsZWN0aW9uID0gcmVsYXRpb25Ub1xuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHJlcXVlc3RlZElEID0gdmFsXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgT2JqZWN0SUQuaXNWYWxpZCh2YWwpKSB7XG4gICAgICAgICAgcmVxdWVzdGVkSUQgPSBuZXcgT2JqZWN0SUQodmFsKS50b0hleFN0cmluZygpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy5yZWxhdGlvblRvKSB7XG4gICAgICAgIGNvbGxlY3Rpb24gPSB2YWwucmVsYXRpb25Ub1xuICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbC52YWx1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoZmFsc2VDb2xsZWN0aW9ucy5maW5kKChzbHVnKSA9PiByZWxhdGlvblRvID09PSBzbHVnKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3B0aW9uc1tjb2xsZWN0aW9uXS5pbmRleE9mKHJlcXVlc3RlZElEKSA9PT0gLTFcbiAgICB9KVxuXG4gICAgaWYgKGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBpbnZhbGlkUmVsYXRpb25zaGlwcy5yZWR1Y2UoKGVyciwgaW52YWxpZCwgaSkgPT4ge1xuICAgICAgICByZXR1cm4gYCR7ZXJyfSAke0pTT04uc3RyaW5naWZ5KGludmFsaWQpfSR7XG4gICAgICAgICAgaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID09PSBpICsgMSA/ICcsJyA6ICcnXG4gICAgICAgIH0gYFxuICAgICAgfSwgdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9ucycpKSBhcyBzdHJpbmdcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHVwbG9hZDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVXBsb2FkRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIG9wdGlvbnMpID0+IHtcbiAgaWYgKCF2YWx1ZSAmJiBvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMudCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoIWNhblVzZURPTSAmJiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgaWRGaWVsZCA9IG9wdGlvbnM/LmNvbmZpZz8uY29sbGVjdGlvbnNcbiAgICAgID8uZmluZCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBvcHRpb25zLnJlbGF0aW9uVG8pXG4gICAgICA/LmZpZWxkcz8uZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgICBjb25zdCB0eXBlID0gZ2V0SURUeXBlKGlkRmllbGQsIG9wdGlvbnM/LnBheWxvYWQ/LmRiPy5kZWZhdWx0SURUeXBlKVxuXG4gICAgaWYgKCFpc1ZhbGlkSUQodmFsdWUsIHR5cGUpKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy50KCd2YWxpZGF0aW9uOnZhbGlkVXBsb2FkSUQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZUZpbHRlck9wdGlvbnModmFsdWUsIG9wdGlvbnMpXG59XG5cbmV4cG9ydCBjb25zdCByZWxhdGlvbnNoaXA6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFJlbGF0aW9uc2hpcEZpZWxkPiA9IGFzeW5jIChcbiAgdmFsdWU6IFJlbGF0aW9uc2hpcFZhbHVlLFxuICBvcHRpb25zLFxuKSA9PiB7XG4gIGNvbnN0IHsgY29uZmlnLCBtYXhSb3dzLCBtaW5Sb3dzLCBwYXlsb2FkLCByZWxhdGlvblRvLCByZXF1aXJlZCwgdCB9ID0gb3B0aW9uc1xuXG4gIGlmICgoIXZhbHVlIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApKSAmJiByZXF1aXJlZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgaWYgKG1pblJvd3MgJiYgdmFsdWUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7IGxhYmVsOiB0KCdyb3dzJyksIG1pbjogbWluUm93cywgdmFsdWU6IHZhbHVlLmxlbmd0aCB9KVxuICAgIH1cblxuICAgIGlmIChtYXhSb3dzICYmIHZhbHVlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4JywgeyBsYWJlbDogdCgncm93cycpLCBtYXg6IG1heFJvd3MsIHZhbHVlOiB2YWx1ZS5sZW5ndGggfSlcbiAgICB9XG4gIH1cblxuICBpZiAoIWNhblVzZURPTSAmJiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGNvbnN0IGludmFsaWRSZWxhdGlvbnNoaXBzID0gdmFsdWVzLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBsZXQgY29sbGVjdGlvblNsdWc6IHN0cmluZ1xuICAgICAgbGV0IHJlcXVlc3RlZElEXG5cbiAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29sbGVjdGlvblNsdWcgPSByZWxhdGlvblRvXG5cbiAgICAgICAgLy8gY3VzdG9tIGlkXG4gICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZyA9IHZhbC5yZWxhdGlvblRvXG4gICAgICAgIHJlcXVlc3RlZElEID0gdmFsLnZhbHVlXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXF1ZXN0ZWRJRCA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlXG5cbiAgICAgIGNvbnN0IGlkRmllbGQgPSBjb25maWc/LmNvbGxlY3Rpb25zXG4gICAgICAgID8uZmluZCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBjb2xsZWN0aW9uU2x1ZylcbiAgICAgICAgPy5maWVsZHM/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuXG4gICAgICBjb25zdCB0eXBlID0gZ2V0SURUeXBlKGlkRmllbGQsIHBheWxvYWQ/LmRiPy5kZWZhdWx0SURUeXBlKVxuXG4gICAgICByZXR1cm4gIWlzVmFsaWRJRChyZXF1ZXN0ZWRJRCwgdHlwZSlcbiAgICB9KVxuXG4gICAgaWYgKGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBgVGhpcyByZWxhdGlvbnNoaXAgZmllbGQgaGFzIHRoZSBmb2xsb3dpbmcgaW52YWxpZCByZWxhdGlvbnNoaXBzOiAke2ludmFsaWRSZWxhdGlvbnNoaXBzXG4gICAgICAgIC5tYXAoKGVyciwgaW52YWxpZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgJHtlcnJ9ICR7SlNPTi5zdHJpbmdpZnkoaW52YWxpZCl9YFxuICAgICAgICB9KVxuICAgICAgICAuam9pbignLCAnKX1gXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlRmlsdGVyT3B0aW9ucyh2YWx1ZSwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IHNlbGVjdDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgU2VsZWN0RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBoYXNNYW55LCBvcHRpb25zLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlLnNvbWUoXG4gICAgICAoaW5wdXQpID0+XG4gICAgICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSBpbnB1dCB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uPy52YWx1ZSA9PT0gaW5wdXQpLFxuICAgICAgICApLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICAgIHZhbHVlID09PSBudWxsIHx8XG4gICAgICAoaGFzTWFueSAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAodmFsdWUgYXMgW10pPy5sZW5ndGggPT09IDApKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcmFkaW86IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFJhZGlvRmllbGQ+ID0gKHZhbHVlLCB7IG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgY29uc3QgdmFsdWVNYXRjaGVzT3B0aW9uID0gb3B0aW9ucy5zb21lKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSB2YWx1ZSB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uLnZhbHVlID09PSB2YWx1ZSksXG4gICAgKVxuICAgIHJldHVybiB2YWx1ZU1hdGNoZXNPcHRpb24gfHwgdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIHJldHVybiByZXF1aXJlZCA/IHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSA6IHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHBvaW50OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBQb2ludEZpZWxkPiA9IChcbiAgdmFsdWU6IFtudW1iZXIgfCBzdHJpbmcsIG51bWJlciB8IHN0cmluZ10gPSBbJycsICcnXSxcbiAgeyByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGNvbnN0IGxuZyA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbHVlWzBdKSlcbiAgY29uc3QgbGF0ID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWVbMV0pKVxuICBpZiAoXG4gICAgcmVxdWlyZWQgJiZcbiAgICAoKHZhbHVlWzBdICYmIHZhbHVlWzFdICYmIHR5cGVvZiBsbmcgIT09ICdudW1iZXInICYmIHR5cGVvZiBsYXQgIT09ICdudW1iZXInKSB8fFxuICAgICAgTnVtYmVyLmlzTmFOKGxuZykgfHxcbiAgICAgIE51bWJlci5pc05hTihsYXQpIHx8XG4gICAgICAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoICE9PSAyKSlcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNUd29OdW1iZXJzJylcbiAgfVxuXG4gIGlmICgodmFsdWVbMV0gJiYgTnVtYmVyLmlzTmFOKGxuZykpIHx8ICh2YWx1ZVswXSAmJiBOdW1iZXIuaXNOYU4obGF0KSkpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkSW5wdXQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBhcnJheSxcbiAgYmxvY2tzLFxuICBjaGVja2JveCxcbiAgY29kZSxcbiAgZGF0ZSxcbiAgZW1haWwsXG4gIGpzb24sXG4gIG51bWJlcixcbiAgcGFzc3dvcmQsXG4gIHBvaW50LFxuICByYWRpbyxcbiAgcmVsYXRpb25zaGlwLFxuICByaWNoVGV4dCxcbiAgc2VsZWN0LFxuICB0ZXh0LFxuICB0ZXh0YXJlYSxcbiAgdXBsb2FkLFxufVxuIl0sIm5hbWVzIjpbImFycmF5IiwiYmxvY2tzIiwiY2hlY2tib3giLCJjb2RlIiwiZGF0ZSIsImVtYWlsIiwianNvbiIsIm51bWJlciIsInBhc3N3b3JkIiwicG9pbnQiLCJyYWRpbyIsInJlbGF0aW9uc2hpcCIsInJpY2hUZXh0Iiwic2VsZWN0IiwidGV4dCIsInRleHRhcmVhIiwidXBsb2FkIiwidmFsdWUiLCJjb25maWciLCJoYXNNYW55IiwibWF4TGVuZ3RoIiwiZmllbGRNYXhMZW5ndGgiLCJtYXhSb3dzIiwibWluTGVuZ3RoIiwibWluUm93cyIsInJlcXVpcmVkIiwidCIsImxlbmd0aFZhbGlkYXRpb25SZXN1bHQiLCJ2YWxpZGF0ZUFycmF5TGVuZ3RoIiwiZGVmYXVsdE1heFRleHRMZW5ndGgiLCJzdHJpbmdzVG9WYWxpZGF0ZSIsIkFycmF5IiwiaXNBcnJheSIsInN0cmluZ1ZhbHVlIiwibGVuZ3RoIiwibGFiZWwiLCJwYXlsb2FkIiwidGVzdCIsInVuZGVmaW5lZCIsImpzb25FcnJvciIsImpzb25TY2hlbWEiLCJpc05vdEVtcHR5IiwiT2JqZWN0Iiwia2V5cyIsImZldGNoU2NoZW1hIiwic2NoZW1hIiwidXJpIiwiZmV0Y2giLCJ0aGVuIiwicmVzcG9uc2UiLCJvayIsIkVycm9yIiwianNvblNjaGVtYVNhbml0aXphdGlvbnMiLCJpZCIsIiRpZCIsIiRzY2hlbWEiLCJhc3NpZ24iLCJjYW5Vc2VET00iLCJhanYiLCJBanYiLCJ2YWxpZGF0ZSIsImVycm9yc1RleHQiLCJlcnJvciIsIm1lc3NhZ2UiLCJpc05hTiIsIkRhdGUiLCJwYXJzZSIsInRvU3RyaW5nIiwib3B0aW9ucyIsImVkaXRvciIsImFycmF5TGVuZ3RoIiwiY291bnQiLCJtYXgiLCJtaW4iLCJpc051bWJlciIsIm51bWJlcnNUb1ZhbGlkYXRlIiwibnVtYmVyVmFsdWUiLCJwYXJzZUZsb2F0IiwidmFsaWRhdGVGaWx0ZXJPcHRpb25zIiwiZGF0YSIsImZpbHRlck9wdGlvbnMiLCJyZWxhdGlvblRvIiwicmVxIiwic2libGluZ0RhdGEiLCJ1c2VyIiwiZmFsc2VDb2xsZWN0aW9ucyIsImNvbGxlY3Rpb25zIiwidmFsdWVzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImNvbGxlY3Rpb24iLCJvcHRpb25GaWx0ZXIiLCJ2YWx1ZUlEcyIsImZvckVhY2giLCJ2YWwiLCJwdXNoIiwiT2JqZWN0SUQiLCJpc1ZhbGlkIiwidG9IZXhTdHJpbmciLCJmaW5kV2hlcmUiLCJhbmQiLCJpbiIsInJlc3VsdCIsImZpbmQiLCJkZXB0aCIsImxpbWl0IiwicGFnaW5hdGlvbiIsIndoZXJlIiwiZG9jcyIsImRvYyIsImVyciIsImxvZ2dlciIsIm1zZyIsImludmFsaWRSZWxhdGlvbnNoaXBzIiwiZmlsdGVyIiwicmVxdWVzdGVkSUQiLCJzbHVnIiwiaW5kZXhPZiIsInJlZHVjZSIsImludmFsaWQiLCJpIiwiSlNPTiIsInN0cmluZ2lmeSIsImlkRmllbGQiLCJmaWVsZHMiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwidHlwZSIsImdldElEVHlwZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsImlzVmFsaWRJRCIsImNvbGxlY3Rpb25TbHVnIiwiam9pbiIsInNvbWUiLCJpbnB1dCIsIm9wdGlvbiIsInZhbHVlTWF0Y2hlc09wdGlvbiIsImxuZyIsIlN0cmluZyIsImxhdCIsIk51bWJlciJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
543
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFqdiBmcm9tICdhanYnXG5pbXBvcnQgT2JqZWN0SUQgZnJvbSAnYnNvbi1vYmplY3RpZCdcblxuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNOdW1iZXInXG5pbXBvcnQgeyBpc1ZhbGlkSUQgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNWYWxpZElEJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgdGV4dDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dEZpZWxkPiA9IChcbiAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLFxuICB7IGNvbmZpZywgaGFzTWFueSwgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWF4Um93cywgbWluTGVuZ3RoLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICghcmVxdWlyZWQpIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKGhhc01hbnkgPT09IHRydWUpIHtcbiAgICBjb25zdCBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVBcnJheUxlbmd0aCh2YWx1ZSwgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9KVxuICAgIGlmICh0eXBlb2YgbGVuZ3RoVmFsaWRhdGlvblJlc3VsdCA9PT0gJ3N0cmluZycpIHJldHVybiBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0XG4gIH1cblxuICBpZiAodHlwZW9mIGNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBjb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG5cbiAgY29uc3Qgc3RyaW5nc1RvVmFsaWRhdGU6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICBmb3IgKGNvbnN0IHN0cmluZ1ZhbHVlIG9mIHN0cmluZ3NUb1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gc3RyaW5nVmFsdWU/Lmxlbmd0aCB8fCAwXG5cbiAgICBpZiAodHlwZW9mIG1heExlbmd0aCA9PT0gJ251bWJlcicgJiYgbGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbGFiZWw6IHQoJ3ZhbHVlJyksIG1heExlbmd0aCwgc3RyaW5nVmFsdWUgfSlcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1pbkxlbmd0aCA9PT0gJ251bWJlcicgJiYgbGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluTGVuZ3RoLCBzdHJpbmdWYWx1ZSB9KVxuICAgIH1cbiAgfVxuXG4gIGlmIChyZXF1aXJlZCkge1xuICAgIGlmICghKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHx8IHZhbHVlPy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcGFzc3dvcmQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuXG4gIGlmICh2YWx1ZSAmJiBtYXhMZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnLCB7IG1heExlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHZhbHVlICYmIG1pbkxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPCBtaW5MZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBtaW5MZW5ndGggfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCAmJiAhdmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgZW1haWw6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEVtYWlsRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAoKHZhbHVlICYmICEvXFxTW15cXHNAXSpAXFxTK1xcLlxcUysvLnRlc3QodmFsdWUpKSB8fCAoIXZhbHVlICYmIHJlcXVpcmVkKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVtYWlsQWRkcmVzcycpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdGV4dGFyZWE6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRhcmVhRmllbGQ+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGNvbmZpZywgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWluTGVuZ3RoLCBwYXlsb2FkLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICh0eXBlb2YgY29uZmlnPy5kZWZhdWx0TWF4VGV4dExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGNvbmZpZy5kZWZhdWx0TWF4VGV4dExlbmd0aFxuICBpZiAodHlwZW9mIGZpZWxkTWF4TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gZmllbGRNYXhMZW5ndGhcbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjb2RlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBDb2RlRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBqc29uOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBKU09ORmllbGQgJiB7IGpzb25FcnJvcj86IHN0cmluZyB9PiA9IGFzeW5jIChcbiAgdmFsdWU6IHN0cmluZyxcbiAgeyBqc29uRXJyb3IsIGpzb25TY2hlbWEsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmIChqc29uRXJyb3IgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICBjb25zdCBpc05vdEVtcHR5ID0gKHZhbHVlKSA9PiB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBjb25zdCBmZXRjaFNjaGVtYSA9ICh7IHNjaGVtYSwgdXJpIH0pID0+IHtcbiAgICBpZiAodXJpICYmIHNjaGVtYSkgcmV0dXJuIHNjaGVtYVxuICAgIHJldHVybiBmZXRjaCh1cmkpXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTmV0d29yayByZXNwb25zZSB3YXMgbm90IG9rJylcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpXG4gICAgICB9KVxuICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgY29uc3QganNvblNjaGVtYVNhbml0aXphdGlvbnMgPSB7XG4gICAgICAgICAgaWQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAkaWQ6IGpzb24uaWQsXG4gICAgICAgICAgJHNjaGVtYTogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oanNvbiwganNvblNjaGVtYVNhbml0aXphdGlvbnMpXG4gICAgICB9KVxuICB9XG5cbiAgaWYgKCFjYW5Vc2VET00gJiYganNvblNjaGVtYSAmJiBpc05vdEVtcHR5KHZhbHVlKSkge1xuICAgIHRyeSB7XG4gICAgICBqc29uU2NoZW1hLnNjaGVtYSA9IGF3YWl0IGZldGNoU2NoZW1hKGpzb25TY2hlbWEpXG4gICAgICBjb25zdCB7IHNjaGVtYSB9ID0ganNvblNjaGVtYVxuICAgICAgY29uc3QgYWp2ID0gbmV3IEFqdigpXG5cbiAgICAgIGlmICghYWp2LnZhbGlkYXRlKHNjaGVtYSwgdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB0KGFqdi5lcnJvcnNUZXh0KCkpXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiB0KGVycm9yLm1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNoZWNrYm94OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBDaGVja2JveEZpZWxkPiA9IChcbiAgdmFsdWU6IGJvb2xlYW4sXG4gIHsgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAoKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSB8fCAocmVxdWlyZWQgJiYgdHlwZW9mIHZhbHVlICE9PSAnYm9vbGVhbicpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246dHJ1ZU9yRmFsc2UnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIERhdGVGaWVsZD4gPSAodmFsdWUsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiAhaXNOYU4oRGF0ZS5wYXJzZSh2YWx1ZS50b1N0cmluZygpKSkpIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZS1saW5lICovXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGlmICh2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOm5vdFZhbGlkRGF0ZScsIHsgdmFsdWUgfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCByaWNoVGV4dDogVmFsaWRhdGU8b2JqZWN0LCB1bmtub3duLCBSaWNoVGV4dEZpZWxkLCBSaWNoVGV4dEZpZWxkPiA9IGFzeW5jIChcbiAgdmFsdWUsXG4gIG9wdGlvbnMsXG4pID0+IHtcbiAgY29uc3QgZWRpdG9yOiBSaWNoVGV4dEFkYXB0ZXIgPSBvcHRpb25zPy5lZGl0b3JcblxuICByZXR1cm4gYXdhaXQgZWRpdG9yLnZhbGlkYXRlKHZhbHVlLCBvcHRpb25zKVxufVxuXG5jb25zdCB2YWxpZGF0ZUFycmF5TGVuZ3RoOiBhbnkgPSAoXG4gIHZhbHVlLFxuICBvcHRpb25zOiB7XG4gICAgbWF4Um93cz86IG51bWJlclxuICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0OiAoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB8IHN0cmluZyB9KSA9PiBzdHJpbmdcbiAgfSxcbikgPT4ge1xuICBjb25zdCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0gPSBvcHRpb25zXG5cbiAgY29uc3QgYXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6IDBcblxuICBpZiAoIXJlcXVpcmVkICYmIGFycmF5TGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZVxuXG4gIGlmIChtaW5Sb3dzICYmIGFycmF5TGVuZ3RoIDwgbWluUm93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHsgY291bnQ6IG1pblJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmIChtYXhSb3dzICYmIGFycmF5TGVuZ3RoID4gbWF4Um93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzTm9Nb3JlVGhhbicsIHsgY291bnQ6IG1heFJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCAmJiAhYXJyYXlMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiAxLCBsYWJlbDogdCgncm93JykgfSlcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBudW1iZXI6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIE51bWJlckZpZWxkPiA9IChcbiAgdmFsdWU6IG51bWJlciB8IG51bWJlcltdLFxuICB7IGhhc01hbnksIG1heCwgbWF4Um93cywgbWluLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGlmIChoYXNNYW55ID09PSB0cnVlKSB7XG4gICAgY29uc3QgbGVuZ3RoVmFsaWRhdGlvblJlc3VsdCA9IHZhbGlkYXRlQXJyYXlMZW5ndGgodmFsdWUsIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSlcbiAgICBpZiAodHlwZW9mIGxlbmd0aFZhbGlkYXRpb25SZXN1bHQgPT09ICdzdHJpbmcnKSByZXR1cm4gbGVuZ3RoVmFsaWRhdGlvblJlc3VsdFxuICB9XG5cbiAgaWYgKCF2YWx1ZSAmJiAhaXNOdW1iZXIodmFsdWUpKSB7XG4gICAgLy8gaWYgbm8gdmFsdWUgaXMgcHJlc2VudCwgdmFsaWRhdGUgYmFzZWQgb24gcmVxdWlyZWRcbiAgICBpZiAocmVxdWlyZWQpIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICBpZiAoIXJlcXVpcmVkKSByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgY29uc3QgbnVtYmVyc1RvVmFsaWRhdGU6IG51bWJlcltdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICBmb3IgKGNvbnN0IG51bWJlciBvZiBudW1iZXJzVG9WYWxpZGF0ZSkge1xuICAgIGlmICghaXNOdW1iZXIobnVtYmVyKSkgcmV0dXJuIHQoJ3ZhbGlkYXRpb246ZW50ZXJOdW1iZXInKVxuXG4gICAgY29uc3QgbnVtYmVyVmFsdWUgPSBwYXJzZUZsb2F0KG51bWJlciBhcyB1bmtub3duIGFzIHN0cmluZylcblxuICAgIGlmICh0eXBlb2YgbWF4ID09PSAnbnVtYmVyJyAmJiBudW1iZXJWYWx1ZSA+IG1heCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtYXgsIHZhbHVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtaW4gPT09ICdudW1iZXInICYmIG51bWJlclZhbHVlIDwgbWluKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicsIHsgbGFiZWw6IHQoJ3ZhbHVlJyksIG1pbiwgdmFsdWUgfSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgYXJyYXk6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEFycmF5RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIHJldHVybiB2YWxpZGF0ZUFycmF5TGVuZ3RoKHZhbHVlLCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0pXG59XG5cbmV4cG9ydCBjb25zdCBibG9ja3M6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEJsb2NrRmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIHJldHVybiB2YWxpZGF0ZUFycmF5TGVuZ3RoKHZhbHVlLCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0pXG59XG5cbmNvbnN0IHZhbGlkYXRlRmlsdGVyT3B0aW9uczogVmFsaWRhdGUgPSBhc3luYyAoXG4gIHZhbHVlLFxuICB7IGlkLCBkYXRhLCBmaWx0ZXJPcHRpb25zLCBwYXlsb2FkLCByZWxhdGlvblRvLCByZXEsIHNpYmxpbmdEYXRhLCB0LCB1c2VyIH0sXG4pID0+IHtcbiAgaWYgKCFjYW5Vc2VET00gJiYgdHlwZW9mIGZpbHRlck9wdGlvbnMgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlKSB7XG4gICAgY29uc3Qgb3B0aW9uczoge1xuICAgICAgW2NvbGxlY3Rpb246IHN0cmluZ106IChudW1iZXIgfCBzdHJpbmcpW11cbiAgICB9ID0ge31cblxuICAgIGNvbnN0IGZhbHNlQ29sbGVjdGlvbnM6IHN0cmluZ1tdID0gW11cbiAgICBjb25zdCBjb2xsZWN0aW9ucyA9IHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJyA/IFtyZWxhdGlvblRvXSA6IHJlbGF0aW9uVG9cbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjb2xsZWN0aW9ucy5tYXAoYXN5bmMgKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsZXQgb3B0aW9uRmlsdGVyID1cbiAgICAgICAgICAgIHR5cGVvZiBmaWx0ZXJPcHRpb25zID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgID8gYXdhaXQgZmlsdGVyT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgc2libGluZ0RhdGEsXG4gICAgICAgICAgICAgICAgICB1c2VyLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIDogZmlsdGVyT3B0aW9uc1xuXG4gICAgICAgICAgaWYgKG9wdGlvbkZpbHRlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgb3B0aW9uRmlsdGVyID0gbnVsbFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHZhbHVlSURzOiAobnVtYmVyIHwgc3RyaW5nKVtdID0gW11cblxuICAgICAgICAgIHZhbHVlcy5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICBpZiAodmFsPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsLnZhbHVlKVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKE9iamVjdElELmlzVmFsaWQodmFsKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlSURzLnB1c2gobmV3IE9iamVjdElEKHZhbCkudG9IZXhTdHJpbmcoKSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgdmFsdWVJRHMucHVzaCh2YWwpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICh2YWx1ZUlEcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmaW5kV2hlcmUgPSB7XG4gICAgICAgICAgICAgIGFuZDogW3sgaWQ6IHsgaW46IHZhbHVlSURzIH0gfV0sXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIpIGZpbmRXaGVyZS5hbmQucHVzaChvcHRpb25GaWx0ZXIpXG5cbiAgICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIGZhbHNlQ29sbGVjdGlvbnMucHVzaChvcHRpb25GaWx0ZXIpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgICAgICBsaW1pdDogMCxcbiAgICAgICAgICAgICAgcGFnaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgd2hlcmU6IGZpbmRXaGVyZSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSByZXN1bHQuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmlkKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gW11cbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHJlcS5wYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICBtc2c6IGBFcnJvciB2YWxpZGF0aW5nIGZpbHRlciBvcHRpb25zIGZvciBjb2xsZWN0aW9uICR7Y29sbGVjdGlvbn1gLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgb3B0aW9uc1tjb2xsZWN0aW9uXSA9IFtdXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcblxuICAgIGNvbnN0IGludmFsaWRSZWxhdGlvbnNoaXBzID0gdmFsdWVzLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBsZXQgY29sbGVjdGlvbjogc3RyaW5nXG4gICAgICBsZXQgcmVxdWVzdGVkSUQ6IG51bWJlciB8IHN0cmluZ1xuXG4gICAgICBpZiAodHlwZW9mIHJlbGF0aW9uVG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbGxlY3Rpb24gPSByZWxhdGlvblRvXG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiBPYmplY3RJRC5pc1ZhbGlkKHZhbCkpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IG5ldyBPYmplY3RJRCh2YWwpLnRvSGV4U3RyaW5nKClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWw/LnJlbGF0aW9uVG8pIHtcbiAgICAgICAgY29sbGVjdGlvbiA9IHZhbC5yZWxhdGlvblRvXG4gICAgICAgIHJlcXVlc3RlZElEID0gdmFsLnZhbHVlXG4gICAgICB9XG5cbiAgICAgIGlmIChmYWxzZUNvbGxlY3Rpb25zLmZpbmQoKHNsdWcpID0+IHJlbGF0aW9uVG8gPT09IHNsdWcpKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvcHRpb25zW2NvbGxlY3Rpb25dLmluZGV4T2YocmVxdWVzdGVkSUQpID09PSAtMVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGludmFsaWRSZWxhdGlvbnNoaXBzLnJlZHVjZSgoZXJyLCBpbnZhbGlkLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiBgJHtlcnJ9ICR7SlNPTi5zdHJpbmdpZnkoaW52YWxpZCl9JHtcbiAgICAgICAgICBpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPT09IGkgKyAxID8gJywnIDogJydcbiAgICAgICAgfSBgXG4gICAgICB9LCB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb25zJykpIGFzIHN0cmluZ1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdXBsb2FkOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBVcGxvYWRGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgb3B0aW9ucykgPT4ge1xuICBpZiAoIXZhbHVlICYmIG9wdGlvbnMucmVxdWlyZWQpIHtcbiAgICByZXR1cm4gb3B0aW9ucy50KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCBpZEZpZWxkID0gb3B0aW9ucz8uY29uZmlnPy5jb2xsZWN0aW9uc1xuICAgICAgPy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IG9wdGlvbnMucmVsYXRpb25UbylcbiAgICAgID8uZmllbGRzPy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcblxuICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgb3B0aW9ucz8ucGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICBpZiAoIWlzVmFsaWRJRCh2YWx1ZSwgdHlwZSkpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLnQoJ3ZhbGlkYXRpb246dmFsaWRVcGxvYWRJRCcpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlRmlsdGVyT3B0aW9ucyh2YWx1ZSwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IHJlbGF0aW9uc2hpcDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUmVsYXRpb25zaGlwRmllbGQ+ID0gYXN5bmMgKFxuICB2YWx1ZTogUmVsYXRpb25zaGlwVmFsdWUsXG4gIG9wdGlvbnMsXG4pID0+IHtcbiAgY29uc3QgeyBjb25maWcsIG1heFJvd3MsIG1pblJvd3MsIHBheWxvYWQsIHJlbGF0aW9uVG8sIHJlcXVpcmVkLCB0IH0gPSBvcHRpb25zXG5cbiAgaWYgKCghdmFsdWUgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkpICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICBpZiAobWluUm93cyAmJiB2YWx1ZS5sZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicsIHsgbGFiZWw6IHQoJ3Jvd3MnKSwgbWluOiBtaW5Sb3dzLCB2YWx1ZTogdmFsdWUubGVuZ3RoIH0pXG4gICAgfVxuXG4gICAgaWYgKG1heFJvd3MgJiYgdmFsdWUubGVuZ3RoID4gbWF4Um93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCdyb3dzJyksIG1heDogbWF4Um93cywgdmFsdWU6IHZhbHVlLmxlbmd0aCB9KVxuICAgIH1cbiAgfVxuXG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uU2x1Zzogc3RyaW5nXG4gICAgICBsZXQgcmVxdWVzdGVkSURcblxuICAgICAgaWYgKHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZyA9IHJlbGF0aW9uVG9cblxuICAgICAgICAvLyBjdXN0b20gaWRcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHJlcXVlc3RlZElEID0gdmFsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy5yZWxhdGlvblRvKSB7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVlc3RlZElEID09PSBudWxsKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgaWRGaWVsZCA9IGNvbmZpZz8uY29sbGVjdGlvbnNcbiAgICAgICAgPy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IGNvbGxlY3Rpb25TbHVnKVxuICAgICAgICA/LmZpZWxkcz8uZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgcGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICAgIHJldHVybiAhaXNWYWxpZElEKHJlcXVlc3RlZElELCB0eXBlKVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGBUaGlzIHJlbGF0aW9uc2hpcCBmaWVsZCBoYXMgdGhlIGZvbGxvd2luZyBpbnZhbGlkIHJlbGF0aW9uc2hpcHM6ICR7aW52YWxpZFJlbGF0aW9uc2hpcHNcbiAgICAgICAgLm1hcCgoZXJyLCBpbnZhbGlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX1gXG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpfWBcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBTZWxlY3RGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IGhhc01hbnksIG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgdmFsdWUuc29tZShcbiAgICAgIChpbnB1dCkgPT5cbiAgICAgICAgIW9wdGlvbnMuc29tZShcbiAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IGlucHV0IHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24/LnZhbHVlID09PSBpbnB1dCksXG4gICAgICAgICksXG4gICAgKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmXG4gICAgIW9wdGlvbnMuc29tZShcbiAgICAgIChvcHRpb24pID0+IG9wdGlvbiA9PT0gdmFsdWUgfHwgKHR5cGVvZiBvcHRpb24gIT09ICdzdHJpbmcnICYmIG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgcmVxdWlyZWQgJiZcbiAgICAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdmFsdWUgPT09IG51bGwgfHxcbiAgICAgIChoYXNNYW55ICYmIEFycmF5LmlzQXJyYXkodmFsdWUpICYmICh2YWx1ZSBhcyBbXSk/Lmxlbmd0aCA9PT0gMCkpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCByYWRpbzogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUmFkaW9GaWVsZD4gPSAodmFsdWUsIHsgb3B0aW9ucywgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAodmFsdWUpIHtcbiAgICBjb25zdCB2YWx1ZU1hdGNoZXNPcHRpb24gPSBvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICAgcmV0dXJuIHZhbHVlTWF0Y2hlc09wdGlvbiB8fCB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgcmV0dXJuIHJlcXVpcmVkID8gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpIDogdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcG9pbnQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFBvaW50RmllbGQ+ID0gKFxuICB2YWx1ZTogW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXSA9IFsnJywgJyddLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgbG5nID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWVbMF0pKVxuICBjb25zdCBsYXQgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZVsxXSkpXG4gIGlmIChcbiAgICByZXF1aXJlZCAmJlxuICAgICgodmFsdWVbMF0gJiYgdmFsdWVbMV0gJiYgdHlwZW9mIGxuZyAhPT0gJ251bWJlcicgJiYgdHlwZW9mIGxhdCAhPT0gJ251bWJlcicpIHx8XG4gICAgICBOdW1iZXIuaXNOYU4obG5nKSB8fFxuICAgICAgTnVtYmVyLmlzTmFOKGxhdCkgfHxcbiAgICAgIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggIT09IDIpKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc1R3b051bWJlcnMnKVxuICB9XG5cbiAgaWYgKCh2YWx1ZVsxXSAmJiBOdW1iZXIuaXNOYU4obG5nKSkgfHwgKHZhbHVlWzBdICYmIE51bWJlci5pc05hTihsYXQpKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGFycmF5LFxuICBibG9ja3MsXG4gIGNoZWNrYm94LFxuICBjb2RlLFxuICBkYXRlLFxuICBlbWFpbCxcbiAganNvbixcbiAgbnVtYmVyLFxuICBwYXNzd29yZCxcbiAgcG9pbnQsXG4gIHJhZGlvLFxuICByZWxhdGlvbnNoaXAsXG4gIHJpY2hUZXh0LFxuICBzZWxlY3QsXG4gIHRleHQsXG4gIHRleHRhcmVhLFxuICB1cGxvYWQsXG59XG4iXSwibmFtZXMiOlsiYXJyYXkiLCJibG9ja3MiLCJjaGVja2JveCIsImNvZGUiLCJkYXRlIiwiZW1haWwiLCJqc29uIiwibnVtYmVyIiwicGFzc3dvcmQiLCJwb2ludCIsInJhZGlvIiwicmVsYXRpb25zaGlwIiwicmljaFRleHQiLCJzZWxlY3QiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJ2YWx1ZSIsImNvbmZpZyIsImhhc01hbnkiLCJtYXhMZW5ndGgiLCJmaWVsZE1heExlbmd0aCIsIm1heFJvd3MiLCJtaW5MZW5ndGgiLCJtaW5Sb3dzIiwicmVxdWlyZWQiLCJ0IiwibGVuZ3RoVmFsaWRhdGlvblJlc3VsdCIsInZhbGlkYXRlQXJyYXlMZW5ndGgiLCJkZWZhdWx0TWF4VGV4dExlbmd0aCIsInN0cmluZ3NUb1ZhbGlkYXRlIiwiQXJyYXkiLCJpc0FycmF5Iiwic3RyaW5nVmFsdWUiLCJsZW5ndGgiLCJsYWJlbCIsInBheWxvYWQiLCJ0ZXN0IiwidW5kZWZpbmVkIiwianNvbkVycm9yIiwianNvblNjaGVtYSIsImlzTm90RW1wdHkiLCJPYmplY3QiLCJrZXlzIiwiZmV0Y2hTY2hlbWEiLCJzY2hlbWEiLCJ1cmkiLCJmZXRjaCIsInRoZW4iLCJyZXNwb25zZSIsIm9rIiwiRXJyb3IiLCJqc29uU2NoZW1hU2FuaXRpemF0aW9ucyIsImlkIiwiJGlkIiwiJHNjaGVtYSIsImFzc2lnbiIsImNhblVzZURPTSIsImFqdiIsIkFqdiIsInZhbGlkYXRlIiwiZXJyb3JzVGV4dCIsImVycm9yIiwibWVzc2FnZSIsIkRhdGUiLCJpc05hTiIsInBhcnNlIiwidG9TdHJpbmciLCJvcHRpb25zIiwiZWRpdG9yIiwiYXJyYXlMZW5ndGgiLCJjb3VudCIsIm1heCIsIm1pbiIsImlzTnVtYmVyIiwibnVtYmVyc1RvVmFsaWRhdGUiLCJudW1iZXJWYWx1ZSIsInBhcnNlRmxvYXQiLCJ2YWxpZGF0ZUZpbHRlck9wdGlvbnMiLCJkYXRhIiwiZmlsdGVyT3B0aW9ucyIsInJlbGF0aW9uVG8iLCJyZXEiLCJzaWJsaW5nRGF0YSIsInVzZXIiLCJmYWxzZUNvbGxlY3Rpb25zIiwiY29sbGVjdGlvbnMiLCJ2YWx1ZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiY29sbGVjdGlvbiIsIm9wdGlvbkZpbHRlciIsInZhbHVlSURzIiwiZm9yRWFjaCIsInZhbCIsInB1c2giLCJPYmplY3RJRCIsImlzVmFsaWQiLCJ0b0hleFN0cmluZyIsImZpbmRXaGVyZSIsImFuZCIsImluIiwicmVzdWx0IiwiZmluZCIsImRlcHRoIiwibGltaXQiLCJwYWdpbmF0aW9uIiwid2hlcmUiLCJkb2NzIiwiZG9jIiwiZXJyIiwibG9nZ2VyIiwibXNnIiwiaW52YWxpZFJlbGF0aW9uc2hpcHMiLCJmaWx0ZXIiLCJyZXF1ZXN0ZWRJRCIsInNsdWciLCJpbmRleE9mIiwicmVkdWNlIiwiaW52YWxpZCIsImkiLCJKU09OIiwic3RyaW5naWZ5IiwiaWRGaWVsZCIsImZpZWxkcyIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIiwiZ2V0SURUeXBlIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiaXNWYWxpZElEIiwiY29sbGVjdGlvblNsdWciLCJqb2luIiwic29tZSIsImlucHV0Iiwib3B0aW9uIiwidmFsdWVNYXRjaGVzT3B0aW9uIiwibG5nIiwiU3RyaW5nIiwibGF0IiwiTnVtYmVyIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "2.24.1",
3
+ "version": "2.24.2",
4
4
  "description": "Node, React and MongoDB Headless CMS and Application Framework",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",