payload 2.0.0-beta.16 → 2.0.0-beta.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +3 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts +3 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +8 -2
- package/dist/admin/components/forms/Form/buildStateFromSchema/index.d.ts +2 -0
- package/dist/admin/components/forms/Form/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/index.js +3 -2
- package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts +3 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.js +3 -2
- package/dist/admin/components/forms/Form/index.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/index.js +21 -6
- package/dist/admin/components/forms/Form/types.d.ts +1 -0
- package/dist/admin/components/forms/Form/types.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/index.scss +4 -0
- package/dist/admin/components/forms/field-types/RichText/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/RichText/index.js +2 -4
- package/dist/admin/components/forms/field-types/RichText/types.d.ts +2 -1
- package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
- package/dist/admin/components/forms/useField/index.d.ts.map +1 -1
- package/dist/admin/components/forms/useField/index.js +4 -1
- package/dist/admin/components/views/API/index.d.ts.map +1 -1
- package/dist/admin/components/views/API/index.js +3 -1
- package/dist/admin/components/views/API/index.scss +2 -1
- package/dist/admin/components/views/Account/index.d.ts.map +1 -1
- package/dist/admin/components/views/Account/index.js +4 -1
- package/dist/admin/components/views/Global/index.d.ts.map +1 -1
- package/dist/admin/components/views/Global/index.js +4 -1
- package/dist/admin/components/views/collections/Edit/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/Edit/index.js +4 -2
- package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.js +2 -4
- package/dist/bin/migrate.d.ts.map +1 -1
- package/dist/bin/migrate.js +4 -2
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +3 -2
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +5 -1
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +3 -2
- package/dist/fields/config/types.d.ts +2 -0
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/hooks/afterRead/promise.js +2 -2
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +2 -1
- package/dist/fields/validations.d.ts +3 -1
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +9 -1
- package/dist/graphql/schema/buildObjectType.js +2 -2
- package/dist/payload.d.ts.map +1 -1
- package/dist/payload.js +2 -2
- package/package.json +1 -1
- package/dist/admin/components/views/RestAPI/index.d.ts +0 -4
- package/dist/admin/components/views/RestAPI/index.d.ts.map +0 -1
- package/dist/admin/components/views/RestAPI/index.js +0 -113
- package/dist/admin/components/views/RestAPI/index.scss +0 -107
|
@@ -21,6 +21,7 @@ const _wait = /*#__PURE__*/ _interop_require_default(require("../../../../utilit
|
|
|
21
21
|
const _api = require("../../../api");
|
|
22
22
|
const _useThrottledEffect = /*#__PURE__*/ _interop_require_default(require("../../../hooks/useThrottledEffect"));
|
|
23
23
|
const _Auth = require("../../utilities/Auth");
|
|
24
|
+
const _Config = require("../../utilities/Config");
|
|
24
25
|
const _DocumentInfo = require("../../utilities/DocumentInfo");
|
|
25
26
|
const _Locale = require("../../utilities/Locale");
|
|
26
27
|
const _OperationProvider = require("../../utilities/OperationProvider");
|
|
@@ -81,13 +82,14 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
81
82
|
}
|
|
82
83
|
const baseClass = 'form';
|
|
83
84
|
const Form = (props)=>{
|
|
84
|
-
const { action, children, className, disableSuccessStatus, disabled, handleResponse, initialData, initialState, method, onSubmit, onSuccess, redirect, waitForAutocomplete } = props;
|
|
85
|
+
const { action, children, className, disableSuccessStatus, disabled, handleResponse, initialData, initialState, method, onSubmit, onSuccess, redirect, submitted: submittedFromProps, waitForAutocomplete } = props;
|
|
85
86
|
const history = (0, _reactrouterdom.useHistory)();
|
|
86
87
|
const { code: locale } = (0, _Locale.useLocale)();
|
|
87
88
|
const { i18n, t } = (0, _reacti18next.useTranslation)('general');
|
|
88
89
|
const { refreshCookie, user } = (0, _Auth.useAuth)();
|
|
89
90
|
const { id, collection, getDocPreferences, global } = (0, _DocumentInfo.useDocumentInfo)();
|
|
90
91
|
const operation = (0, _OperationProvider.useOperation)();
|
|
92
|
+
const config = (0, _Config.useConfig)();
|
|
91
93
|
const [modified, setModified] = (0, _react.useState)(false);
|
|
92
94
|
const [processing, setProcessing] = (0, _react.useState)(false);
|
|
93
95
|
const [submitted, setSubmitted] = (0, _react.useState)(false);
|
|
@@ -165,6 +167,7 @@ const Form = (props)=>{
|
|
|
165
167
|
if (typeof field.validate === 'function') {
|
|
166
168
|
validationResult = await field.validate(field.value, {
|
|
167
169
|
id,
|
|
170
|
+
config,
|
|
168
171
|
data,
|
|
169
172
|
operation,
|
|
170
173
|
siblingData: contextRef.current.getSiblingData(path),
|
|
@@ -194,7 +197,8 @@ const Form = (props)=>{
|
|
|
194
197
|
user,
|
|
195
198
|
operation,
|
|
196
199
|
t,
|
|
197
|
-
dispatchFields
|
|
200
|
+
dispatchFields,
|
|
201
|
+
config
|
|
198
202
|
]);
|
|
199
203
|
const submit = (0, _react.useCallback)(async (options = {}, e)=>{
|
|
200
204
|
const { action: actionToUse = action, method: methodToUse = method, overrides = {}, skipValidation } = options;
|
|
@@ -403,6 +407,7 @@ const Form = (props)=>{
|
|
|
403
407
|
if (fieldConfig) {
|
|
404
408
|
const subFieldState = await (0, _buildStateFromSchema.default)({
|
|
405
409
|
id,
|
|
410
|
+
config,
|
|
406
411
|
data,
|
|
407
412
|
fieldSchema: fieldConfig,
|
|
408
413
|
locale,
|
|
@@ -427,7 +432,8 @@ const Form = (props)=>{
|
|
|
427
432
|
operation,
|
|
428
433
|
locale,
|
|
429
434
|
t,
|
|
430
|
-
getRowConfigByPath
|
|
435
|
+
getRowConfigByPath,
|
|
436
|
+
config
|
|
431
437
|
]);
|
|
432
438
|
const removeFieldRow = (0, _react.useCallback)(async ({ path, rowIndex })=>{
|
|
433
439
|
dispatchFields({
|
|
@@ -447,6 +453,7 @@ const Form = (props)=>{
|
|
|
447
453
|
if (fieldConfig) {
|
|
448
454
|
const subFieldState = await (0, _buildStateFromSchema.default)({
|
|
449
455
|
id,
|
|
456
|
+
config,
|
|
450
457
|
data,
|
|
451
458
|
fieldSchema: fieldConfig,
|
|
452
459
|
locale,
|
|
@@ -471,7 +478,8 @@ const Form = (props)=>{
|
|
|
471
478
|
operation,
|
|
472
479
|
locale,
|
|
473
480
|
t,
|
|
474
|
-
getRowConfigByPath
|
|
481
|
+
getRowConfigByPath,
|
|
482
|
+
config
|
|
475
483
|
]);
|
|
476
484
|
const getFields = (0, _react.useCallback)(()=>contextRef.current.fields, [
|
|
477
485
|
contextRef
|
|
@@ -515,6 +523,7 @@ const Form = (props)=>{
|
|
|
515
523
|
const preferences = await getDocPreferences();
|
|
516
524
|
const state = await (0, _buildStateFromSchema.default)({
|
|
517
525
|
id,
|
|
526
|
+
config,
|
|
518
527
|
data,
|
|
519
528
|
fieldSchema,
|
|
520
529
|
locale,
|
|
@@ -538,7 +547,8 @@ const Form = (props)=>{
|
|
|
538
547
|
locale,
|
|
539
548
|
t,
|
|
540
549
|
dispatchFields,
|
|
541
|
-
getDocPreferences
|
|
550
|
+
getDocPreferences,
|
|
551
|
+
config
|
|
542
552
|
]);
|
|
543
553
|
const replaceState = (0, _react.useCallback)((state)=>{
|
|
544
554
|
contextRef.current = {
|
|
@@ -571,6 +581,11 @@ const Form = (props)=>{
|
|
|
571
581
|
contextRef.current.addFieldRow = addFieldRow;
|
|
572
582
|
contextRef.current.removeFieldRow = removeFieldRow;
|
|
573
583
|
contextRef.current.replaceFieldRow = replaceFieldRow;
|
|
584
|
+
(0, _react.useEffect)(()=>{
|
|
585
|
+
if (typeof submittedFromProps === 'boolean') setSubmitted(submittedFromProps);
|
|
586
|
+
}, [
|
|
587
|
+
submittedFromProps
|
|
588
|
+
]);
|
|
574
589
|
(0, _react.useEffect)(()=>{
|
|
575
590
|
if (initialState) {
|
|
576
591
|
contextRef.current = {
|
|
@@ -647,4 +662,4 @@ const Form = (props)=>{
|
|
|
647
662
|
};
|
|
648
663
|
const _default = Form;
|
|
649
664
|
|
|
650
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0Zvcm0vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLW5vbmludGVyYWN0aXZlLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQgaXNEZWVwRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB7IHNlcmlhbGl6ZSB9IGZyb20gJ29iamVjdC10by1mb3JtZGF0YSdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWR1Y2VyLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBDb250ZXh0LFxuICBGaWVsZHMsXG4gIENvbnRleHQgYXMgRm9ybUNvbnRleHRUeXBlLFxuICBHZXREYXRhQnlQYXRoLFxuICBQcm9wcyxcbiAgUm93LFxuICBTdWJtaXRPcHRpb25zLFxufSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9pc051bWJlcidcbmltcG9ydCB7IHNldHNBcmVFcXVhbCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9zZXRzQXJlRXF1YWwnXG5pbXBvcnQgeyBzcGxpdFBhdGhCeUFycmF5RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL3NwbGl0UGF0aEJ5QXJyYXlGaWVsZHMnXG5pbXBvcnQgd2FpdCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvd2FpdCdcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vLi4vYXBpJ1xuaW1wb3J0IHVzZVRocm90dGxlZEVmZmVjdCBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUaHJvdHRsZWRFZmZlY3QnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VEb2N1bWVudEluZm8gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvRG9jdW1lbnRJbmZvJ1xuaW1wb3J0IHsgdXNlTG9jYWxlIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0xvY2FsZSdcbmltcG9ydCB7IHVzZU9wZXJhdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9PcGVyYXRpb25Qcm92aWRlcidcbmltcG9ydCB7IFdhdGNoRm9ybUVycm9ycyB9IGZyb20gJy4vV2F0Y2hGb3JtRXJyb3JzJ1xuaW1wb3J0IHsgYnVpbGRGaWVsZFNjaGVtYU1hcCB9IGZyb20gJy4vYnVpbGRGaWVsZFNjaGVtYU1hcCdcbmltcG9ydCBidWlsZEluaXRpYWxTdGF0ZSBmcm9tICcuL2J1aWxkSW5pdGlhbFN0YXRlJ1xuaW1wb3J0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hIGZyb20gJy4vYnVpbGRTdGF0ZUZyb21TY2hlbWEnXG5pbXBvcnQge1xuICBGb3JtQ29udGV4dCxcbiAgRm9ybUZpZWxkc0NvbnRleHQsXG4gIEZvcm1XYXRjaENvbnRleHQsXG4gIE1vZGlmaWVkQ29udGV4dCxcbiAgUHJvY2Vzc2luZ0NvbnRleHQsXG4gIFN1Ym1pdHRlZENvbnRleHQsXG59IGZyb20gJy4vY29udGV4dCdcbmltcG9ydCBlcnJvck1lc3NhZ2VzIGZyb20gJy4vZXJyb3JNZXNzYWdlcydcbmltcG9ydCB7IGZpZWxkUmVkdWNlciB9IGZyb20gJy4vZmllbGRSZWR1Y2VyJ1xuaW1wb3J0IGdldERhdGFCeVBhdGhGdW5jIGZyb20gJy4vZ2V0RGF0YUJ5UGF0aCdcbmltcG9ydCBnZXRTaWJsaW5nRGF0YUZ1bmMgZnJvbSAnLi9nZXRTaWJsaW5nRGF0YSdcbmltcG9ydCBpbml0Q29udGV4dFN0YXRlIGZyb20gJy4vaW5pdENvbnRleHRTdGF0ZSdcbmltcG9ydCByZWR1Y2VGaWVsZHNUb1ZhbHVlcyBmcm9tICcuL3JlZHVjZUZpZWxkc1RvVmFsdWVzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZm9ybSdcblxuY29uc3QgRm9ybTogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBhY3Rpb24sXG4gICAgY2hpbGRyZW4sXG4gICAgY2xhc3NOYW1lLFxuICAgIGRpc2FibGVTdWNjZXNzU3RhdHVzLFxuICAgIGRpc2FibGVkLFxuICAgIGhhbmRsZVJlc3BvbnNlLFxuICAgIGluaXRpYWxEYXRhLCAvLyB2YWx1ZXMgb25seSwgcGF0aHMgYXJlIHJlcXVpcmVkIGFzIGtleSAtIGZvcm0gc2hvdWxkIGJ1aWxkIGluaXRpYWwgc3RhdGUgYXMgY29udmVuaWVuY2VcbiAgICBpbml0aWFsU3RhdGUsIC8vIGZ1bGx5IGZvcm1lZCBpbml0aWFsIGZpZWxkIHN0YXRlXG4gICAgbWV0aG9kLFxuICAgIG9uU3VibWl0LFxuICAgIG9uU3VjY2VzcyxcbiAgICByZWRpcmVjdCxcbiAgICB3YWl0Rm9yQXV0b2NvbXBsZXRlLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IHsgY29kZTogbG9jYWxlIH0gPSB1c2VMb2NhbGUoKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdnZW5lcmFsJylcbiAgY29uc3QgeyByZWZyZXNoQ29va2llLCB1c2VyIH0gPSB1c2VBdXRoKClcbiAgY29uc3QgeyBpZCwgY29sbGVjdGlvbiwgZ2V0RG9jUHJlZmVyZW5jZXMsIGdsb2JhbCB9ID0gdXNlRG9jdW1lbnRJbmZvKClcbiAgY29uc3Qgb3BlcmF0aW9uID0gdXNlT3BlcmF0aW9uKClcblxuICBjb25zdCBbbW9kaWZpZWQsIHNldE1vZGlmaWVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbcHJvY2Vzc2luZywgc2V0UHJvY2Vzc2luZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3N1Ym1pdHRlZCwgc2V0U3VibWl0dGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZm9ybWF0dGVkSW5pdGlhbERhdGEsIHNldEZvcm1hdHRlZEluaXRpYWxEYXRhXSA9IHVzZVN0YXRlKGJ1aWxkSW5pdGlhbFN0YXRlKGluaXRpYWxEYXRhKSlcblxuICBjb25zdCBmb3JtUmVmID0gdXNlUmVmPEhUTUxGb3JtRWxlbWVudD4obnVsbClcbiAgY29uc3QgY29udGV4dFJlZiA9IHVzZVJlZih7fSBhcyBGb3JtQ29udGV4dFR5cGUpXG5cbiAgbGV0IGluaXRpYWxGaWVsZFN0YXRlID0ge31cblxuICBpZiAoZm9ybWF0dGVkSW5pdGlhbERhdGEpIGluaXRpYWxGaWVsZFN0YXRlID0gZm9ybWF0dGVkSW5pdGlhbERhdGFcbiAgaWYgKGluaXRpYWxTdGF0ZSkgaW5pdGlhbEZpZWxkU3RhdGUgPSBpbml0aWFsU3RhdGVcblxuICBjb25zdCBmaWVsZHNSZWR1Y2VyID0gdXNlUmVkdWNlcihmaWVsZFJlZHVjZXIsIHt9LCAoKSA9PiBpbml0aWFsRmllbGRTdGF0ZSlcbiAgY29uc3QgW2ZpZWxkcywgZGlzcGF0Y2hGaWVsZHNdID0gZmllbGRzUmVkdWNlclxuXG4gIGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMgPSBmaWVsZHNcbiAgY29udGV4dFJlZi5jdXJyZW50LmRpc3BhdGNoRmllbGRzID0gZGlzcGF0Y2hGaWVsZHNcblxuICAvLyBCdWlsZCBhIGN1cnJlbnQgc2V0IG9mIGNoaWxkIGVycm9ycyBmb3IgYWxsIHJvd3MgaW4gZm9ybSBzdGF0ZVxuICBjb25zdCBidWlsZFJvd0Vycm9ycyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBleGlzdGluZ0ZpZWxkUm93czogeyBbcGF0aDogc3RyaW5nXTogUm93W10gfSA9IHt9XG4gICAgY29uc3QgbmV3RmllbGRSb3dzOiB7IFtwYXRoOiBzdHJpbmddOiBSb3dbXSB9ID0ge31cblxuICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkcykuZm9yRWFjaCgoW3BhdGgsIGZpZWxkXSkgPT4ge1xuICAgICAgY29uc3QgcGF0aFNlZ21lbnRzID0gc3BsaXRQYXRoQnlBcnJheUZpZWxkcyhwYXRoKVxuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGhTZWdtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBjb25zdCBmaWVsZFBhdGggPSBwYXRoU2VnbWVudHMuc2xpY2UoMCwgaSArIDEpLmpvaW4oJy4nKVxuICAgICAgICBjb25zdCBmb3JtRmllbGQgPSBmaWVsZHM/LltmaWVsZFBhdGhdXG5cbiAgICAgICAgLy8gSXMgdGhpcyBhbiBhcnJheSBvciBibG9ja3MgZmllbGQ/XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZvcm1GaWVsZD8ucm93cykpIHtcbiAgICAgICAgICAvLyBLZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBleGlzdGluZyByb3cgc3RhdGVcbiAgICAgICAgICBleGlzdGluZ0ZpZWxkUm93c1tmaWVsZFBhdGhdID0gZm9ybUZpZWxkLnJvd3NcblxuICAgICAgICAgIC8vIEEgbmV3IHJvdyBzdGF0ZSB3aWxsIGJlIHVzZWQgdG8gY29tcGFyZVxuICAgICAgICAgIC8vIGFnYWluc3QgdGhlIG9sZCBzdGF0ZSBsYXRlcixcbiAgICAgICAgICAvLyB0byBzZWUgaWYgd2UgbmVlZCB0byBkaXNwYXRjaCBhbiB1cGRhdGVcbiAgICAgICAgICBpZiAoIW5ld0ZpZWxkUm93c1tmaWVsZFBhdGhdKSB7XG4gICAgICAgICAgICBuZXdGaWVsZFJvd3NbZmllbGRQYXRoXSA9IGZvcm1GaWVsZC5yb3dzLm1hcCgoZXhpc3RpbmdSb3cpID0+ICh7XG4gICAgICAgICAgICAgIC4uLmV4aXN0aW5nUm93LFxuICAgICAgICAgICAgICBjaGlsZEVycm9yUGF0aHM6IG5ldyBTZXQoKSxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHJvd0luZGV4ID0gcGF0aFNlZ21lbnRzW2kgKyAxXVxuICAgICAgICAgIGNvbnN0IGNoaWxkRmllbGRQYXRoID0gcGF0aFNlZ21lbnRzLnNsaWNlKGkgKyAxKS5qb2luKCcuJylcblxuICAgICAgICAgIGlmIChmaWVsZC52YWxpZCA9PT0gZmFsc2UgJiYgY2hpbGRGaWVsZFBhdGgpIHtcbiAgICAgICAgICAgIG5ld0ZpZWxkUm93c1tmaWVsZFBhdGhdW3Jvd0luZGV4XS5jaGlsZEVycm9yUGF0aHMuYWRkKGAke2ZpZWxkUGF0aH0uJHtjaGlsZEZpZWxkUGF0aH1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyBOb3cgbG9vcCBvdmVyIGFsbCBmaWVsZHMgd2l0aCByb3dzIC1cbiAgICAvLyBpZiBhbnl0aGluZyBjaGFuZ2VkLCBkaXNwYXRjaCBhbiB1cGRhdGUgZm9yIHRoZSBmaWVsZFxuICAgIC8vIHdpdGggdGhlIG5ldyByb3cgc3RhdGVcbiAgICBPYmplY3QuZW50cmllcyhuZXdGaWVsZFJvd3MpLmZvckVhY2goKFtwYXRoLCBuZXdSb3dzXSkgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVNYXRjaGVzID0gbmV3Um93cy5ldmVyeSgobmV3Um93LCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUm93RXJyb3JQYXRocyA9IGV4aXN0aW5nRmllbGRSb3dzW3BhdGhdW2ldPy5jaGlsZEVycm9yUGF0aHNcbiAgICAgICAgcmV0dXJuIHNldHNBcmVFcXVhbChuZXdSb3cuY2hpbGRFcnJvclBhdGhzLCBleGlzdGluZ1Jvd0Vycm9yUGF0aHMpXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXN0YXRlTWF0Y2hlcykge1xuICAgICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByb3dzOiBuZXdSb3dzLFxuICAgICAgICAgIHR5cGU6ICdVUERBVEUnLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG4gIH0sIFtmaWVsZHMsIGRpc3BhdGNoRmllbGRzXSlcblxuICBjb25zdCB2YWxpZGF0ZUZvcm0gPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdmFsaWRhdGVkRmllbGRTdGF0ZSA9IHt9XG4gICAgbGV0IGlzVmFsaWQgPSB0cnVlXG4gICAgY29uc3QgZGF0YSA9IGNvbnRleHRSZWYuY3VycmVudC5nZXREYXRhKClcblxuICAgIGNvbnN0IHZhbGlkYXRpb25Qcm9taXNlcyA9IE9iamVjdC5lbnRyaWVzKGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMpLm1hcChcbiAgICAgIGFzeW5jIChbcGF0aCwgZmllbGRdKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZEZpZWxkID0ge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgIHZhbGlkOiB0cnVlLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkLnBhc3Nlc0NvbmRpdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICBsZXQgdmFsaWRhdGlvblJlc3VsdDogYm9vbGVhbiB8IHN0cmluZyA9IHRydWVcblxuICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQudmFsaWRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCBmaWVsZC52YWxpZGF0ZShmaWVsZC52YWx1ZSwge1xuICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBzaWJsaW5nRGF0YTogY29udGV4dFJlZi5jdXJyZW50LmdldFNpYmxpbmdEYXRhKHBhdGgpLFxuICAgICAgICAgICAgICB0LFxuICAgICAgICAgICAgICB1c2VyLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb25SZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZWRGaWVsZC5lcnJvck1lc3NhZ2UgPSB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICAgICAgICB2YWxpZGF0ZWRGaWVsZC52YWxpZCA9IGZhbHNlXG4gICAgICAgICAgICBpc1ZhbGlkID0gZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2YWxpZGF0ZWRGaWVsZFN0YXRlW3BhdGhdID0gdmFsaWRhdGVkRmllbGRcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwodmFsaWRhdGlvblByb21pc2VzKVxuXG4gICAgaWYgKCFpc0RlZXBFcXVhbChjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCB2YWxpZGF0ZWRGaWVsZFN0YXRlKSkge1xuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBzdGF0ZTogdmFsaWRhdGVkRmllbGRTdGF0ZSwgdHlwZTogJ1JFUExBQ0VfU1RBVEUnIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGlzVmFsaWRcbiAgfSwgW2NvbnRleHRSZWYsIGlkLCB1c2VyLCBvcGVyYXRpb24sIHQsIGRpc3BhdGNoRmllbGRzXSlcblxuICBjb25zdCBzdWJtaXQgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAob3B0aW9uczogU3VibWl0T3B0aW9ucyA9IHt9LCBlKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGFjdGlvbjogYWN0aW9uVG9Vc2UgPSBhY3Rpb24sXG4gICAgICAgIG1ldGhvZDogbWV0aG9kVG9Vc2UgPSBtZXRob2QsXG4gICAgICAgIG92ZXJyaWRlcyA9IHt9LFxuICAgICAgICBza2lwVmFsaWRhdGlvbixcbiAgICAgIH0gPSBvcHRpb25zXG5cbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICBpZiAoZSkge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoZSkge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuXG4gICAgICBzZXRQcm9jZXNzaW5nKHRydWUpXG5cbiAgICAgIGlmICh3YWl0Rm9yQXV0b2NvbXBsZXRlKSBhd2FpdCB3YWl0KDEwMClcblxuICAgICAgY29uc3QgaXNWYWxpZCA9IHNraXBWYWxpZGF0aW9uID8gdHJ1ZSA6IGF3YWl0IGNvbnRleHRSZWYuY3VycmVudC52YWxpZGF0ZUZvcm0oKVxuICAgICAgY29udGV4dFJlZi5jdXJyZW50LmJ1aWxkUm93RXJyb3JzKClcblxuICAgICAgaWYgKCFza2lwVmFsaWRhdGlvbikgc2V0U3VibWl0dGVkKHRydWUpXG5cbiAgICAgIC8vIElmIG5vdCB2YWxpZCwgcHJldmVudCBzdWJtaXNzaW9uXG4gICAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgICAgdG9hc3QuZXJyb3IodCgnZXJyb3I6Y29ycmVjdEludmFsaWRGaWVsZHMnKSlcbiAgICAgICAgc2V0UHJvY2Vzc2luZyhmYWxzZSlcblxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gSWYgc3VibWl0IGhhbmRsZXIgY29tZXMgdGhyb3VnaCB2aWEgcHJvcHMsIHJ1biB0aGF0XG4gICAgICBpZiAob25TdWJtaXQpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAuLi5yZWR1Y2VGaWVsZHNUb1ZhbHVlcyhmaWVsZHMsIHRydWUpLFxuICAgICAgICAgIC4uLm92ZXJyaWRlcyxcbiAgICAgICAgfVxuXG4gICAgICAgIG9uU3VibWl0KGZpZWxkcywgZGF0YSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgZm9ybURhdGEgPSBjb250ZXh0UmVmLmN1cnJlbnQuY3JlYXRlRm9ybURhdGEob3ZlcnJpZGVzKVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCByZXF1ZXN0c1ttZXRob2RUb1VzZS50b0xvd2VyQ2FzZSgpXShhY3Rpb25Ub1VzZSwge1xuICAgICAgICAgIGJvZHk6IGZvcm1EYXRhLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgc2V0TW9kaWZpZWQoZmFsc2UpXG5cbiAgICAgICAgaWYgKHR5cGVvZiBoYW5kbGVSZXNwb25zZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIGhhbmRsZVJlc3BvbnNlKHJlcylcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIHNldFByb2Nlc3NpbmcoZmFsc2UpXG5cbiAgICAgICAgY29uc3QgY29udGVudFR5cGUgPSByZXMuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpXG4gICAgICAgIGNvbnN0IGlzSlNPTiA9IGNvbnRlbnRUeXBlICYmIGNvbnRlbnRUeXBlLmluZGV4T2YoJ2FwcGxpY2F0aW9uL2pzb24nKSAhPT0gLTFcblxuICAgICAgICBsZXQganNvbjogYW55ID0ge31cblxuICAgICAgICBpZiAoaXNKU09OKSBqc29uID0gYXdhaXQgcmVzLmpzb24oKVxuXG4gICAgICAgIGlmIChyZXMuc3RhdHVzIDwgNDAwKSB7XG4gICAgICAgICAgc2V0U3VibWl0dGVkKGZhbHNlKVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBvblN1Y2Nlc3MgPT09ICdmdW5jdGlvbicpIG9uU3VjY2Vzcyhqc29uKVxuXG4gICAgICAgICAgaWYgKHJlZGlyZWN0KSB7XG4gICAgICAgICAgICBjb25zdCBkZXN0aW5hdGlvbiA9IHtcbiAgICAgICAgICAgICAgcGF0aG5hbWU6IHJlZGlyZWN0LFxuICAgICAgICAgICAgICBzdGF0ZToge30sXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YganNvbiA9PT0gJ29iamVjdCcgJiYganNvbi5tZXNzYWdlICYmICFkaXNhYmxlU3VjY2Vzc1N0YXR1cykge1xuICAgICAgICAgICAgICBkZXN0aW5hdGlvbi5zdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBzdGF0dXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZToganNvbi5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaGlzdG9yeS5wdXNoKGRlc3RpbmF0aW9uKVxuICAgICAgICAgIH0gZWxzZSBpZiAoIWRpc2FibGVTdWNjZXNzU3RhdHVzKSB7XG4gICAgICAgICAgICB0b2FzdC5zdWNjZXNzKGpzb24ubWVzc2FnZSB8fCB0KCdzdWJtaXNzaW9uU3VjY2Vzc2Z1bCcpLCB7IGF1dG9DbG9zZTogMzAwMCB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb250ZXh0UmVmLmN1cnJlbnQgPSB7IC4uLmNvbnRleHRSZWYuY3VycmVudCB9IC8vIHRyaWdnZXJzIHJlcmVuZGVyIG9mIGFsbCBjb21wb25lbnRzIHRoYXQgc3Vic2NyaWJlIHRvIGZvcm1cblxuICAgICAgICAgIGlmIChqc29uLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKGpzb24ubWVzc2FnZSlcblxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoanNvbi5lcnJvcnMpKSB7XG4gICAgICAgICAgICBjb25zdCBbZmllbGRFcnJvcnMsIG5vbkZpZWxkRXJyb3JzXSA9IGpzb24uZXJyb3JzLnJlZHVjZShcbiAgICAgICAgICAgICAgKFtmaWVsZEVycnMsIG5vbkZpZWxkRXJyc10sIGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0ZpZWxkRXJycyA9IFtdXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Tm9uRmllbGRFcnJzID0gW11cblxuICAgICAgICAgICAgICAgIGlmIChlcnI/Lm1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgIG5ld05vbkZpZWxkRXJycy5wdXNoKGVycilcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlcnI/LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICBlcnIuZGF0YS5mb3JFYWNoKChkYXRhRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGFFcnJvcj8uZmllbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBuZXdGaWVsZEVycnMucHVzaChkYXRhRXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3Tm9uRmllbGRFcnJzLnB1c2goZGF0YUVycm9yKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICBbLi4uZmllbGRFcnJzLCAuLi5uZXdGaWVsZEVycnNdLFxuICAgICAgICAgICAgICAgICAgWy4uLm5vbkZpZWxkRXJycywgLi4ubmV3Tm9uRmllbGRFcnJzXSxcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFtbXSwgW11dLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBmaWVsZEVycm9ycy5mb3JFYWNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgZGlzcGF0Y2hGaWVsZHMoe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdVUERBVEUnLFxuICAgICAgICAgICAgICAgIC4uLihjb250ZXh0UmVmLmN1cnJlbnQ/LmZpZWxkcz8uW2Vyci5maWVsZF0gfHwge30pLFxuICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZTogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgcGF0aDogZXJyLmZpZWxkLFxuICAgICAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIG5vbkZpZWxkRXJyb3JzLmZvckVhY2goKGVycikgPT4ge1xuICAgICAgICAgICAgICB0b2FzdC5lcnJvcihlcnIubWVzc2FnZSB8fCB0KCdlcnJvcjp1bmtub3duJykpXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3JNZXNzYWdlc1tyZXMuc3RhdHVzXSB8fCB0KCdlcnJvcjp1bmtub3duJylcblxuICAgICAgICAgIHRvYXN0LmVycm9yKG1lc3NhZ2UpXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBzZXRQcm9jZXNzaW5nKGZhbHNlKVxuXG4gICAgICAgIHRvYXN0LmVycm9yKGVycilcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIGFjdGlvbixcbiAgICAgIGRpc2FibGVTdWNjZXNzU3RhdHVzLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBkaXNwYXRjaEZpZWxkcyxcbiAgICAgIGZpZWxkcyxcbiAgICAgIGhhbmRsZVJlc3BvbnNlLFxuICAgICAgaGlzdG9yeSxcbiAgICAgIG1ldGhvZCxcbiAgICAgIG9uU3VibWl0LFxuICAgICAgb25TdWNjZXNzLFxuICAgICAgcmVkaXJlY3QsXG4gICAgICB0LFxuICAgICAgaTE4bixcbiAgICAgIHdhaXRGb3JBdXRvY29tcGxldGUsXG4gICAgXSxcbiAgKVxuXG4gIGNvbnN0IHRyYXZlcnNlUm93Q29uZmlncyA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICBmaWVsZENvbmZpZyxcbiAgICAgIHBhdGgsXG4gICAgICBwYXRoUHJlZml4LFxuICAgIH06IHtcbiAgICAgIGZpZWxkQ29uZmlnOiBGaWVsZFtdXG4gICAgICBwYXRoOiBzdHJpbmdcbiAgICAgIHBhdGhQcmVmaXg/OiBzdHJpbmdcbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSBmaWVsZENvbmZpZ1xuICAgICAgY29uc3QgcGF0aFNlZ21lbnRzID0gc3BsaXRQYXRoQnlBcnJheUZpZWxkcyhwYXRoKVxuICAgICAgY29uc3QgY29uZmlnTWFwID0gYnVpbGRGaWVsZFNjaGVtYU1hcChjb25maWcpXG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aFNlZ21lbnRzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgIGNvbnN0IHBhdGhTZWdtZW50ID0gcGF0aFNlZ21lbnRzW2ldXG5cbiAgICAgICAgaWYgKGlzTnVtYmVyKHBhdGhTZWdtZW50KSkge1xuICAgICAgICAgIGNvbnN0IHJvd0luZGV4ID0gcGFyc2VJbnQocGF0aFNlZ21lbnQsIDEwKVxuICAgICAgICAgIGNvbnN0IHBhcmVudEZpZWxkUGF0aCA9IHBhdGhTZWdtZW50cy5zbGljZSgwLCBpKS5qb2luKCcuJylcbiAgICAgICAgICBjb25zdCByZW1haW5pbmdQYXRoID0gcGF0aFNlZ21lbnRzLnNsaWNlKGkgKyAxKS5qb2luKCcuJylcbiAgICAgICAgICBjb25zdCBhcnJheUZpZWxkUGF0aCA9IHBhdGhQcmVmaXggPyBgJHtwYXRoUHJlZml4fS4ke3BhcmVudEZpZWxkUGF0aH1gIDogcGFyZW50RmllbGRQYXRoXG4gICAgICAgICAgY29uc3QgcGFyZW50QXJyYXlGaWVsZCA9IGNvbnRleHRSZWYuY3VycmVudC5nZXRGaWVsZChhcnJheUZpZWxkUGF0aClcbiAgICAgICAgICBjb25zdCByb3dGaWVsZCA9IHBhcmVudEFycmF5RmllbGQucm93c1tyb3dJbmRleF1cblxuICAgICAgICAgIGlmIChyb3dGaWVsZC5ibG9ja1R5cGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrQ29uZmlnID0gY29uZmlnTWFwLmdldChgJHtwYXJlbnRGaWVsZFBhdGh9LiR7cm93RmllbGQuYmxvY2tUeXBlfWApXG4gICAgICAgICAgICBpZiAoYmxvY2tDb25maWcpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRyYXZlcnNlUm93Q29uZmlncyh7XG4gICAgICAgICAgICAgICAgZmllbGRDb25maWc6IGJsb2NrQ29uZmlnLFxuICAgICAgICAgICAgICAgIHBhdGg6IHJlbWFpbmluZ1BhdGgsXG4gICAgICAgICAgICAgICAgcGF0aFByZWZpeDogYCR7YXJyYXlGaWVsZFBhdGh9LiR7cm93SW5kZXh9YCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBCbG9jayBjb25maWcgbm90IGZvdW5kIGZvciAke3Jvd0ZpZWxkLmJsb2NrVHlwZX0gYXQgcGF0aCAke3BhdGh9YClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRyYXZlcnNlUm93Q29uZmlncyh7XG4gICAgICAgICAgICAgIGZpZWxkQ29uZmlnOiBjb25maWdNYXAuZ2V0KHBhcmVudEZpZWxkUGF0aCksXG4gICAgICAgICAgICAgIHBhdGg6IHJlbWFpbmluZ1BhdGgsXG4gICAgICAgICAgICAgIHBhdGhQcmVmaXg6IGAke2FycmF5RmllbGRQYXRofS4ke3Jvd0luZGV4fWAsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29uZmlnXG4gICAgfSxcbiAgICBbXSxcbiAgKVxuXG4gIGNvbnN0IGdldFJvd0NvbmZpZ0J5UGF0aCA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICh7IGJsb2NrVHlwZSwgcGF0aCB9OiB7IGJsb2NrVHlwZT86IHN0cmluZzsgcGF0aDogc3RyaW5nIH0pID0+IHtcbiAgICAgIGNvbnN0IHJvd0NvbmZpZyA9IHRyYXZlcnNlUm93Q29uZmlncyh7XG4gICAgICAgIGZpZWxkQ29uZmlnOiBjb2xsZWN0aW9uPy5maWVsZHMgfHwgZ2xvYmFsPy5maWVsZHMsXG4gICAgICAgIHBhdGgsXG4gICAgICB9KVxuICAgICAgY29uc3Qgcm93RmllbGRDb25maWdzID0gYnVpbGRGaWVsZFNjaGVtYU1hcChyb3dDb25maWcpXG4gICAgICBjb25zdCBwYXRoU2VnbWVudHMgPSBzcGxpdFBhdGhCeUFycmF5RmllbGRzKHBhdGgpXG4gICAgICBjb25zdCBmaWVsZEtleSA9IHBhdGhTZWdtZW50cy5hdCgtMSlcbiAgICAgIHJldHVybiByb3dGaWVsZENvbmZpZ3MuZ2V0KGJsb2NrVHlwZSA/IGAke2ZpZWxkS2V5fS4ke2Jsb2NrVHlwZX1gIDogZmllbGRLZXkpXG4gICAgfSxcbiAgICBbdHJhdmVyc2VSb3dDb25maWdzLCBjb2xsZWN0aW9uPy5maWVsZHMsIGdsb2JhbD8uZmllbGRzXSxcbiAgKVxuXG4gIC8vIEFycmF5L0Jsb2NrIHJvdyBtYW5pcHVsYXRpb25cbiAgY29uc3QgYWRkRmllbGRSb3c6IENvbnRleHRbJ2FkZEZpZWxkUm93J10gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoeyBkYXRhLCBwYXRoLCByb3dJbmRleCB9KSA9PiB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlcyA9IGF3YWl0IGdldERvY1ByZWZlcmVuY2VzKClcbiAgICAgIGNvbnN0IGZpZWxkQ29uZmlnID0gZ2V0Um93Q29uZmlnQnlQYXRoKHtcbiAgICAgICAgYmxvY2tUeXBlOiBkYXRhPy5ibG9ja1R5cGUsXG4gICAgICAgIHBhdGgsXG4gICAgICB9KVxuXG4gICAgICBpZiAoZmllbGRDb25maWcpIHtcbiAgICAgICAgY29uc3Qgc3ViRmllbGRTdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGZpZWxkU2NoZW1hOiBmaWVsZENvbmZpZyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgIHByZWZlcmVuY2VzLFxuICAgICAgICAgIHQsXG4gICAgICAgICAgdXNlcixcbiAgICAgICAgfSlcbiAgICAgICAgZGlzcGF0Y2hGaWVsZHMoe1xuICAgICAgICAgIGJsb2NrVHlwZTogZGF0YT8uYmxvY2tUeXBlLFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgcm93SW5kZXgsXG4gICAgICAgICAgc3ViRmllbGRTdGF0ZSxcbiAgICAgICAgICB0eXBlOiAnQUREX1JPVycsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSxcbiAgICBbZGlzcGF0Y2hGaWVsZHMsIGdldERvY1ByZWZlcmVuY2VzLCBpZCwgdXNlciwgb3BlcmF0aW9uLCBsb2NhbGUsIHQsIGdldFJvd0NvbmZpZ0J5UGF0aF0sXG4gIClcblxuICBjb25zdCByZW1vdmVGaWVsZFJvdzogQ29udGV4dFsncmVtb3ZlRmllbGRSb3cnXSA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7IHBhdGgsIHJvd0luZGV4IH0pID0+IHtcbiAgICAgIGRpc3BhdGNoRmllbGRzKHsgcGF0aCwgcm93SW5kZXgsIHR5cGU6ICdSRU1PVkVfUk9XJyB9KVxuICAgIH0sXG4gICAgW2Rpc3BhdGNoRmllbGRzXSxcbiAgKVxuXG4gIGNvbnN0IHJlcGxhY2VGaWVsZFJvdzogQ29udGV4dFsncmVwbGFjZUZpZWxkUm93J10gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoeyBkYXRhLCBwYXRoLCByb3dJbmRleCB9KSA9PiB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlcyA9IGF3YWl0IGdldERvY1ByZWZlcmVuY2VzKClcbiAgICAgIGNvbnN0IGZpZWxkQ29uZmlnID0gZ2V0Um93Q29uZmlnQnlQYXRoKHtcbiAgICAgICAgYmxvY2tUeXBlOiBkYXRhPy5ibG9ja1R5cGUsXG4gICAgICAgIHBhdGgsXG4gICAgICB9KVxuXG4gICAgICBpZiAoZmllbGRDb25maWcpIHtcbiAgICAgICAgY29uc3Qgc3ViRmllbGRTdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGZpZWxkU2NoZW1hOiBmaWVsZENvbmZpZyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgIHByZWZlcmVuY2VzLFxuICAgICAgICAgIHQsXG4gICAgICAgICAgdXNlcixcbiAgICAgICAgfSlcbiAgICAgICAgZGlzcGF0Y2hGaWVsZHMoe1xuICAgICAgICAgIGJsb2NrVHlwZTogZGF0YT8uYmxvY2tUeXBlLFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgcm93SW5kZXgsXG4gICAgICAgICAgc3ViRmllbGRTdGF0ZSxcbiAgICAgICAgICB0eXBlOiAnUkVQTEFDRV9ST1cnLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sXG4gICAgW2Rpc3BhdGNoRmllbGRzLCBnZXREb2NQcmVmZXJlbmNlcywgaWQsIHVzZXIsIG9wZXJhdGlvbiwgbG9jYWxlLCB0LCBnZXRSb3dDb25maWdCeVBhdGhdLFxuICApXG5cbiAgY29uc3QgZ2V0RmllbGRzID0gdXNlQ2FsbGJhY2soKCkgPT4gY29udGV4dFJlZi5jdXJyZW50LmZpZWxkcywgW2NvbnRleHRSZWZdKVxuICBjb25zdCBnZXRGaWVsZCA9IHVzZUNhbGxiYWNrKChwYXRoOiBzdHJpbmcpID0+IGNvbnRleHRSZWYuY3VycmVudC5maWVsZHNbcGF0aF0sIFtjb250ZXh0UmVmXSlcbiAgY29uc3QgZ2V0RGF0YSA9IHVzZUNhbGxiYWNrKFxuICAgICgpID0+IHJlZHVjZUZpZWxkc1RvVmFsdWVzKGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMsIHRydWUpLFxuICAgIFtjb250ZXh0UmVmXSxcbiAgKVxuICBjb25zdCBnZXRTaWJsaW5nRGF0YSA9IHVzZUNhbGxiYWNrKFxuICAgIChwYXRoOiBzdHJpbmcpID0+IGdldFNpYmxpbmdEYXRhRnVuYyhjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCBwYXRoKSxcbiAgICBbY29udGV4dFJlZl0sXG4gIClcbiAgY29uc3QgZ2V0RGF0YUJ5UGF0aCA9IHVzZUNhbGxiYWNrPEdldERhdGFCeVBhdGg+KFxuICAgIChwYXRoOiBzdHJpbmcpID0+IGdldERhdGFCeVBhdGhGdW5jKGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMsIHBhdGgpLFxuICAgIFtjb250ZXh0UmVmXSxcbiAgKVxuXG4gIGNvbnN0IGNyZWF0ZUZvcm1EYXRhID0gdXNlQ2FsbGJhY2soXG4gICAgKG92ZXJyaWRlczogYW55ID0ge30pID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSByZWR1Y2VGaWVsZHNUb1ZhbHVlcyhjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCB0cnVlKVxuXG4gICAgICBjb25zdCBmaWxlID0gZGF0YT8uZmlsZVxuXG4gICAgICBpZiAoZmlsZSkge1xuICAgICAgICBkZWxldGUgZGF0YS5maWxlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGFXaXRoT3ZlcnJpZGVzID0ge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICAuLi5vdmVycmlkZXMsXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGFUb1NlcmlhbGl6ZSA9IHtcbiAgICAgICAgX3BheWxvYWQ6IEpTT04uc3RyaW5naWZ5KGRhdGFXaXRoT3ZlcnJpZGVzKSxcbiAgICAgICAgZmlsZSxcbiAgICAgIH1cblxuICAgICAgLy8gbnVsbEFzVW5kZWZpbmVkcyBpcyBpbXBvcnRhbnQgdG8gYWxsb3cgdXBsb2FkcyBhbmQgcmVsYXRpb25zaGlwIGZpZWxkcyB0byBjbGVhciB0aGVtc2VsdmVzXG4gICAgICBjb25zdCBmb3JtRGF0YSA9IHNlcmlhbGl6ZShkYXRhVG9TZXJpYWxpemUsIHsgaW5kaWNlczogdHJ1ZSwgbnVsbHNBc1VuZGVmaW5lZHM6IGZhbHNlIH0pXG4gICAgICByZXR1cm4gZm9ybURhdGFcbiAgICB9LFxuICAgIFtjb250ZXh0UmVmXSxcbiAgKVxuXG4gIGNvbnN0IHJlc2V0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGZpZWxkU2NoZW1hOiBGaWVsZFtdLCBkYXRhOiB1bmtub3duKSA9PiB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlcyA9IGF3YWl0IGdldERvY1ByZWZlcmVuY2VzKClcbiAgICAgIGNvbnN0IHN0YXRlID0gYXdhaXQgYnVpbGRTdGF0ZUZyb21TY2hlbWEoe1xuICAgICAgICBpZCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZmllbGRTY2hlbWEsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICBwcmVmZXJlbmNlcyxcbiAgICAgICAgdCxcbiAgICAgICAgdXNlcixcbiAgICAgIH0pXG4gICAgICBjb250ZXh0UmVmLmN1cnJlbnQgPSB7IC4uLmluaXRDb250ZXh0U3RhdGUgfSBhcyBGb3JtQ29udGV4dFR5cGVcbiAgICAgIHNldE1vZGlmaWVkKGZhbHNlKVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBzdGF0ZSwgdHlwZTogJ1JFUExBQ0VfU1RBVEUnIH0pXG4gICAgfSxcbiAgICBbaWQsIHVzZXIsIG9wZXJhdGlvbiwgbG9jYWxlLCB0LCBkaXNwYXRjaEZpZWxkcywgZ2V0RG9jUHJlZmVyZW5jZXNdLFxuICApXG5cbiAgY29uc3QgcmVwbGFjZVN0YXRlID0gdXNlQ2FsbGJhY2soXG4gICAgKHN0YXRlOiBGaWVsZHMpID0+IHtcbiAgICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uaW5pdENvbnRleHRTdGF0ZSB9IGFzIEZvcm1Db250ZXh0VHlwZVxuICAgICAgc2V0TW9kaWZpZWQoZmFsc2UpXG4gICAgICBkaXNwYXRjaEZpZWxkcyh7IHN0YXRlLCB0eXBlOiAnUkVQTEFDRV9TVEFURScgfSlcbiAgICB9LFxuICAgIFtkaXNwYXRjaEZpZWxkc10sXG4gIClcblxuICBjb250ZXh0UmVmLmN1cnJlbnQuc3VibWl0ID0gc3VibWl0XG4gIGNvbnRleHRSZWYuY3VycmVudC5nZXRGaWVsZHMgPSBnZXRGaWVsZHNcbiAgY29udGV4dFJlZi5jdXJyZW50LmdldEZpZWxkID0gZ2V0RmllbGRcbiAgY29udGV4dFJlZi5jdXJyZW50LmdldERhdGEgPSBnZXREYXRhXG4gIGNvbnRleHRSZWYuY3VycmVudC5nZXRTaWJsaW5nRGF0YSA9IGdldFNpYmxpbmdEYXRhXG4gIGNvbnRleHRSZWYuY3VycmVudC5nZXREYXRhQnlQYXRoID0gZ2V0RGF0YUJ5UGF0aFxuICBjb250ZXh0UmVmLmN1cnJlbnQudmFsaWRhdGVGb3JtID0gdmFsaWRhdGVGb3JtXG4gIGNvbnRleHRSZWYuY3VycmVudC5jcmVhdGVGb3JtRGF0YSA9IGNyZWF0ZUZvcm1EYXRhXG4gIGNvbnRleHRSZWYuY3VycmVudC5zZXRNb2RpZmllZCA9IHNldE1vZGlmaWVkXG4gIGNvbnRleHRSZWYuY3VycmVudC5zZXRQcm9jZXNzaW5nID0gc2V0UHJvY2Vzc2luZ1xuICBjb250ZXh0UmVmLmN1cnJlbnQuc2V0U3VibWl0dGVkID0gc2V0U3VibWl0dGVkXG4gIGNvbnRleHRSZWYuY3VycmVudC5kaXNhYmxlZCA9IGRpc2FibGVkXG4gIGNvbnRleHRSZWYuY3VycmVudC5mb3JtUmVmID0gZm9ybVJlZlxuICBjb250ZXh0UmVmLmN1cnJlbnQucmVzZXQgPSByZXNldFxuICBjb250ZXh0UmVmLmN1cnJlbnQucmVwbGFjZVN0YXRlID0gcmVwbGFjZVN0YXRlXG4gIGNvbnRleHRSZWYuY3VycmVudC5idWlsZFJvd0Vycm9ycyA9IGJ1aWxkUm93RXJyb3JzXG4gIGNvbnRleHRSZWYuY3VycmVudC5hZGRGaWVsZFJvdyA9IGFkZEZpZWxkUm93XG4gIGNvbnRleHRSZWYuY3VycmVudC5yZW1vdmVGaWVsZFJvdyA9IHJlbW92ZUZpZWxkUm93XG4gIGNvbnRleHRSZWYuY3VycmVudC5yZXBsYWNlRmllbGRSb3cgPSByZXBsYWNlRmllbGRSb3dcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uaW5pdENvbnRleHRTdGF0ZSB9IGFzIEZvcm1Db250ZXh0VHlwZVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBzdGF0ZTogaW5pdGlhbFN0YXRlLCB0eXBlOiAnUkVQTEFDRV9TVEFURScgfSlcbiAgICB9XG4gIH0sIFtpbml0aWFsU3RhdGUsIGRpc3BhdGNoRmllbGRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbml0aWFsRGF0YSkge1xuICAgICAgY29udGV4dFJlZi5jdXJyZW50ID0geyAuLi5pbml0Q29udGV4dFN0YXRlIH0gYXMgRm9ybUNvbnRleHRUeXBlXG4gICAgICBjb25zdCBidWlsdFN0YXRlID0gYnVpbGRJbml0aWFsU3RhdGUoaW5pdGlhbERhdGEpXG4gICAgICBzZXRGb3JtYXR0ZWRJbml0aWFsRGF0YShidWlsdFN0YXRlKVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBzdGF0ZTogYnVpbHRTdGF0ZSwgdHlwZTogJ1JFUExBQ0VfU1RBVEUnIH0pXG4gICAgfVxuICB9LCBbaW5pdGlhbERhdGEsIGRpc3BhdGNoRmllbGRzXSlcblxuICB1c2VUaHJvdHRsZWRFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgcmVmcmVzaENvb2tpZSgpXG4gICAgfSxcbiAgICAxNTAwMCxcbiAgICBbZmllbGRzXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29udGV4dFJlZi5jdXJyZW50ID0geyAuLi5jb250ZXh0UmVmLmN1cnJlbnQgfSAvLyB0cmlnZ2VycyByZXJlbmRlciBvZiBhbGwgY29tcG9uZW50cyB0aGF0IHN1YnNjcmliZSB0byBmb3JtXG4gICAgc2V0TW9kaWZpZWQoZmFsc2UpXG4gIH0sIFtsb2NhbGVdKVxuXG4gIGNvbnN0IGNsYXNzZXMgPSBbY2xhc3NOYW1lLCBiYXNlQ2xhc3NdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJylcblxuICByZXR1cm4gKFxuICAgIDxmb3JtXG4gICAgICBhY3Rpb249e2FjdGlvbn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlc31cbiAgICAgIG1ldGhvZD17bWV0aG9kfVxuICAgICAgbm9WYWxpZGF0ZVxuICAgICAgb25TdWJtaXQ9eyhlKSA9PiBjb250ZXh0UmVmLmN1cnJlbnQuc3VibWl0KHt9LCBlKX1cbiAgICAgIHJlZj17Zm9ybVJlZn1cbiAgICA+XG4gICAgICA8Rm9ybUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHRSZWYuY3VycmVudH0+XG4gICAgICAgIDxGb3JtV2F0Y2hDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgICAgdmFsdWU9e3tcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIC4uLmNvbnRleHRSZWYuY3VycmVudCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFN1Ym1pdHRlZENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3N1Ym1pdHRlZH0+XG4gICAgICAgICAgICA8UHJvY2Vzc2luZ0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3Byb2Nlc3Npbmd9PlxuICAgICAgICAgICAgICA8TW9kaWZpZWRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXttb2RpZmllZH0+XG4gICAgICAgICAgICAgICAgPEZvcm1GaWVsZHNDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtmaWVsZHNSZWR1Y2VyfT5cbiAgICAgICAgICAgICAgICAgIDxXYXRjaEZvcm1FcnJvcnMgYnVpbGRSb3dFcnJvcnM9e2J1aWxkUm93RXJyb3JzfSAvPlxuICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgIDwvRm9ybUZpZWxkc0NvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgICAgICAgIDwvTW9kaWZpZWRDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICAgICAgPC9Qcm9jZXNzaW5nQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgICA8L1N1Ym1pdHRlZENvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIDwvRm9ybVdhdGNoQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvRm9ybUNvbnRleHQuUHJvdmlkZXI+XG4gICAgPC9mb3JtPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvcm1cbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJGb3JtIiwicHJvcHMiLCJhY3Rpb24iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImRpc2FibGVTdWNjZXNzU3RhdHVzIiwiZGlzYWJsZWQiLCJoYW5kbGVSZXNwb25zZSIsImluaXRpYWxEYXRhIiwiaW5pdGlhbFN0YXRlIiwibWV0aG9kIiwib25TdWJtaXQiLCJvblN1Y2Nlc3MiLCJyZWRpcmVjdCIsIndhaXRGb3JBdXRvY29tcGxldGUiLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsImNvZGUiLCJsb2NhbGUiLCJ1c2VMb2NhbGUiLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwicmVmcmVzaENvb2tpZSIsInVzZXIiLCJ1c2VBdXRoIiwiaWQiLCJjb2xsZWN0aW9uIiwiZ2V0RG9jUHJlZmVyZW5jZXMiLCJnbG9iYWwiLCJ1c2VEb2N1bWVudEluZm8iLCJvcGVyYXRpb24iLCJ1c2VPcGVyYXRpb24iLCJtb2RpZmllZCIsInNldE1vZGlmaWVkIiwidXNlU3RhdGUiLCJwcm9jZXNzaW5nIiwic2V0UHJvY2Vzc2luZyIsInN1Ym1pdHRlZCIsInNldFN1Ym1pdHRlZCIsImZvcm1hdHRlZEluaXRpYWxEYXRhIiwic2V0Rm9ybWF0dGVkSW5pdGlhbERhdGEiLCJidWlsZEluaXRpYWxTdGF0ZSIsImZvcm1SZWYiLCJ1c2VSZWYiLCJjb250ZXh0UmVmIiwiaW5pdGlhbEZpZWxkU3RhdGUiLCJmaWVsZHNSZWR1Y2VyIiwidXNlUmVkdWNlciIsImZpZWxkUmVkdWNlciIsImZpZWxkcyIsImRpc3BhdGNoRmllbGRzIiwiY3VycmVudCIsImJ1aWxkUm93RXJyb3JzIiwidXNlQ2FsbGJhY2siLCJleGlzdGluZ0ZpZWxkUm93cyIsIm5ld0ZpZWxkUm93cyIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwicGF0aCIsImZpZWxkIiwicGF0aFNlZ21lbnRzIiwic3BsaXRQYXRoQnlBcnJheUZpZWxkcyIsImkiLCJsZW5ndGgiLCJmaWVsZFBhdGgiLCJzbGljZSIsImpvaW4iLCJmb3JtRmllbGQiLCJBcnJheSIsImlzQXJyYXkiLCJyb3dzIiwibWFwIiwiZXhpc3RpbmdSb3ciLCJjaGlsZEVycm9yUGF0aHMiLCJTZXQiLCJyb3dJbmRleCIsImNoaWxkRmllbGRQYXRoIiwidmFsaWQiLCJhZGQiLCJuZXdSb3dzIiwic3RhdGVNYXRjaGVzIiwiZXZlcnkiLCJuZXdSb3ciLCJleGlzdGluZ1Jvd0Vycm9yUGF0aHMiLCJzZXRzQXJlRXF1YWwiLCJ0eXBlIiwidmFsaWRhdGVGb3JtIiwidmFsaWRhdGVkRmllbGRTdGF0ZSIsImlzVmFsaWQiLCJkYXRhIiwiZ2V0RGF0YSIsInZhbGlkYXRpb25Qcm9taXNlcyIsInZhbGlkYXRlZEZpZWxkIiwicGFzc2VzQ29uZGl0aW9uIiwidmFsaWRhdGlvblJlc3VsdCIsInZhbGlkYXRlIiwidmFsdWUiLCJzaWJsaW5nRGF0YSIsImdldFNpYmxpbmdEYXRhIiwiZXJyb3JNZXNzYWdlIiwiUHJvbWlzZSIsImFsbCIsImlzRGVlcEVxdWFsIiwic3RhdGUiLCJzdWJtaXQiLCJvcHRpb25zIiwiZSIsImFjdGlvblRvVXNlIiwibWV0aG9kVG9Vc2UiLCJvdmVycmlkZXMiLCJza2lwVmFsaWRhdGlvbiIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwid2FpdCIsInRvYXN0IiwiZXJyb3IiLCJyZWR1Y2VGaWVsZHNUb1ZhbHVlcyIsImZvcm1EYXRhIiwiY3JlYXRlRm9ybURhdGEiLCJyZXMiLCJyZXF1ZXN0cyIsInRvTG93ZXJDYXNlIiwiYm9keSIsImhlYWRlcnMiLCJsYW5ndWFnZSIsImNvbnRlbnRUeXBlIiwiZ2V0IiwiaXNKU09OIiwiaW5kZXhPZiIsImpzb24iLCJzdGF0dXMiLCJkZXN0aW5hdGlvbiIsInBhdGhuYW1lIiwibWVzc2FnZSIsInB1c2giLCJzdWNjZXNzIiwiYXV0b0Nsb3NlIiwiZXJyb3JzIiwiZmllbGRFcnJvcnMiLCJub25GaWVsZEVycm9ycyIsInJlZHVjZSIsImZpZWxkRXJycyIsIm5vbkZpZWxkRXJycyIsImVyciIsIm5ld0ZpZWxkRXJycyIsIm5ld05vbkZpZWxkRXJycyIsImRhdGFFcnJvciIsImVycm9yTWVzc2FnZXMiLCJ0cmF2ZXJzZVJvd0NvbmZpZ3MiLCJSZWFjdCIsImZpZWxkQ29uZmlnIiwicGF0aFByZWZpeCIsImNvbmZpZyIsImNvbmZpZ01hcCIsImJ1aWxkRmllbGRTY2hlbWFNYXAiLCJwYXRoU2VnbWVudCIsImlzTnVtYmVyIiwicGFyc2VJbnQiLCJwYXJlbnRGaWVsZFBhdGgiLCJyZW1haW5pbmdQYXRoIiwiYXJyYXlGaWVsZFBhdGgiLCJwYXJlbnRBcnJheUZpZWxkIiwiZ2V0RmllbGQiLCJyb3dGaWVsZCIsImJsb2NrVHlwZSIsImJsb2NrQ29uZmlnIiwiRXJyb3IiLCJnZXRSb3dDb25maWdCeVBhdGgiLCJyb3dDb25maWciLCJyb3dGaWVsZENvbmZpZ3MiLCJmaWVsZEtleSIsImF0IiwiYWRkRmllbGRSb3ciLCJwcmVmZXJlbmNlcyIsInN1YkZpZWxkU3RhdGUiLCJidWlsZFN0YXRlRnJvbVNjaGVtYSIsImZpZWxkU2NoZW1hIiwicmVtb3ZlRmllbGRSb3ciLCJyZXBsYWNlRmllbGRSb3ciLCJnZXRGaWVsZHMiLCJnZXRTaWJsaW5nRGF0YUZ1bmMiLCJnZXREYXRhQnlQYXRoIiwiZ2V0RGF0YUJ5UGF0aEZ1bmMiLCJmaWxlIiwiZGF0YVdpdGhPdmVycmlkZXMiLCJkYXRhVG9TZXJpYWxpemUiLCJfcGF5bG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzZXJpYWxpemUiLCJpbmRpY2VzIiwibnVsbHNBc1VuZGVmaW5lZHMiLCJyZXNldCIsImluaXRDb250ZXh0U3RhdGUiLCJyZXBsYWNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJidWlsdFN0YXRlIiwidXNlVGhyb3R0bGVkRWZmZWN0IiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJmb3JtIiwibm9WYWxpZGF0ZSIsInJlZiIsIkZvcm1Db250ZXh0IiwiUHJvdmlkZXIiLCJGb3JtV2F0Y2hDb250ZXh0IiwiU3VibWl0dGVkQ29udGV4dCIsIlByb2Nlc3NpbmdDb250ZXh0IiwiTW9kaWZpZWRDb250ZXh0IiwiRm9ybUZpZWxkc0NvbnRleHQiLCJXYXRjaEZvcm1FcnJvcnMiXSwibWFwcGluZ3MiOiJBQUFBLGtFQUFrRTs7OzsrQkEwcEJsRTs7O2VBQUE7OztrRUF6cEJ3QjtrQ0FDRTsrREFDa0Q7OEJBQzdDO2dDQUNKOytCQUNMOzBCQWFHOzhCQUNJO3dDQUNVOzZEQUN0QjtxQkFDUTsyRUFDTTtzQkFDUDs4QkFDUTt3QkFDTjttQ0FDRztpQ0FDRztxQ0FDSTswRUFDTjs2RUFDRzt5QkFRMUI7c0VBQ21COzhCQUNHO3NFQUNDO3VFQUNDO3lFQUNGOzZFQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFakMsTUFBTUEsWUFBWTtBQUVsQixNQUFNQyxPQUF3QixDQUFDQztJQUM3QixNQUFNLEVBQ0pDLE1BQU0sRUFDTkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLG9CQUFvQixFQUNwQkMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLG1CQUFtQixFQUNwQixHQUFHYjtJQUVKLE1BQU1jLFVBQVVDLElBQUFBLDBCQUFVO0lBQzFCLE1BQU0sRUFBRUMsTUFBTUMsTUFBTSxFQUFFLEdBQUdDLElBQUFBLGlCQUFTO0lBQ2xDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxDQUFDLEVBQUUsR0FBR0MsSUFBQUEsNEJBQWMsRUFBQztJQUNuQyxNQUFNLEVBQUVDLGFBQWEsRUFBRUMsSUFBSSxFQUFFLEdBQUdDLElBQUFBLGFBQU87SUFDdkMsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLFVBQVUsRUFBRUMsaUJBQWlCLEVBQUVDLE1BQU0sRUFBRSxHQUFHQyxJQUFBQSw2QkFBZTtJQUNy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
|
|
665
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0Zvcm0vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLW5vbmludGVyYWN0aXZlLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQgaXNEZWVwRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB7IHNlcmlhbGl6ZSB9IGZyb20gJ29iamVjdC10by1mb3JtZGF0YSdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWR1Y2VyLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBDb250ZXh0LFxuICBGaWVsZHMsXG4gIENvbnRleHQgYXMgRm9ybUNvbnRleHRUeXBlLFxuICBHZXREYXRhQnlQYXRoLFxuICBQcm9wcyxcbiAgUm93LFxuICBTdWJtaXRPcHRpb25zLFxufSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9pc051bWJlcidcbmltcG9ydCB7IHNldHNBcmVFcXVhbCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9zZXRzQXJlRXF1YWwnXG5pbXBvcnQgeyBzcGxpdFBhdGhCeUFycmF5RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL3NwbGl0UGF0aEJ5QXJyYXlGaWVsZHMnXG5pbXBvcnQgd2FpdCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvd2FpdCdcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vLi4vYXBpJ1xuaW1wb3J0IHVzZVRocm90dGxlZEVmZmVjdCBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUaHJvdHRsZWRFZmZlY3QnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0RvY3VtZW50SW5mbydcbmltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Mb2NhbGUnXG5pbXBvcnQgeyB1c2VPcGVyYXRpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvT3BlcmF0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyBXYXRjaEZvcm1FcnJvcnMgfSBmcm9tICcuL1dhdGNoRm9ybUVycm9ycydcbmltcG9ydCB7IGJ1aWxkRmllbGRTY2hlbWFNYXAgfSBmcm9tICcuL2J1aWxkRmllbGRTY2hlbWFNYXAnXG5pbXBvcnQgYnVpbGRJbml0aWFsU3RhdGUgZnJvbSAnLi9idWlsZEluaXRpYWxTdGF0ZSdcbmltcG9ydCBidWlsZFN0YXRlRnJvbVNjaGVtYSBmcm9tICcuL2J1aWxkU3RhdGVGcm9tU2NoZW1hJ1xuaW1wb3J0IHtcbiAgRm9ybUNvbnRleHQsXG4gIEZvcm1GaWVsZHNDb250ZXh0LFxuICBGb3JtV2F0Y2hDb250ZXh0LFxuICBNb2RpZmllZENvbnRleHQsXG4gIFByb2Nlc3NpbmdDb250ZXh0LFxuICBTdWJtaXR0ZWRDb250ZXh0LFxufSBmcm9tICcuL2NvbnRleHQnXG5pbXBvcnQgZXJyb3JNZXNzYWdlcyBmcm9tICcuL2Vycm9yTWVzc2FnZXMnXG5pbXBvcnQgeyBmaWVsZFJlZHVjZXIgfSBmcm9tICcuL2ZpZWxkUmVkdWNlcidcbmltcG9ydCBnZXREYXRhQnlQYXRoRnVuYyBmcm9tICcuL2dldERhdGFCeVBhdGgnXG5pbXBvcnQgZ2V0U2libGluZ0RhdGFGdW5jIGZyb20gJy4vZ2V0U2libGluZ0RhdGEnXG5pbXBvcnQgaW5pdENvbnRleHRTdGF0ZSBmcm9tICcuL2luaXRDb250ZXh0U3RhdGUnXG5pbXBvcnQgcmVkdWNlRmllbGRzVG9WYWx1ZXMgZnJvbSAnLi9yZWR1Y2VGaWVsZHNUb1ZhbHVlcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2Zvcm0nXG5cbmNvbnN0IEZvcm06IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgYWN0aW9uLFxuICAgIGNoaWxkcmVuLFxuICAgIGNsYXNzTmFtZSxcbiAgICBkaXNhYmxlU3VjY2Vzc1N0YXR1cyxcbiAgICBkaXNhYmxlZCxcbiAgICBoYW5kbGVSZXNwb25zZSxcbiAgICBpbml0aWFsRGF0YSwgLy8gdmFsdWVzIG9ubHksIHBhdGhzIGFyZSByZXF1aXJlZCBhcyBrZXkgLSBmb3JtIHNob3VsZCBidWlsZCBpbml0aWFsIHN0YXRlIGFzIGNvbnZlbmllbmNlXG4gICAgaW5pdGlhbFN0YXRlLCAvLyBmdWxseSBmb3JtZWQgaW5pdGlhbCBmaWVsZCBzdGF0ZVxuICAgIG1ldGhvZCxcbiAgICBvblN1Ym1pdCxcbiAgICBvblN1Y2Nlc3MsXG4gICAgcmVkaXJlY3QsXG4gICAgc3VibWl0dGVkOiBzdWJtaXR0ZWRGcm9tUHJvcHMsXG4gICAgd2FpdEZvckF1dG9jb21wbGV0ZSxcbiAgfSA9IHByb3BzXG5cbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKVxuICBjb25zdCB7IGNvZGU6IGxvY2FsZSB9ID0gdXNlTG9jYWxlKClcbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbignZ2VuZXJhbCcpXG4gIGNvbnN0IHsgcmVmcmVzaENvb2tpZSwgdXNlciB9ID0gdXNlQXV0aCgpXG4gIGNvbnN0IHsgaWQsIGNvbGxlY3Rpb24sIGdldERvY1ByZWZlcmVuY2VzLCBnbG9iYWwgfSA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IG9wZXJhdGlvbiA9IHVzZU9wZXJhdGlvbigpXG5cbiAgY29uc3QgY29uZmlnID0gdXNlQ29uZmlnKClcblxuICBjb25zdCBbbW9kaWZpZWQsIHNldE1vZGlmaWVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbcHJvY2Vzc2luZywgc2V0UHJvY2Vzc2luZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3N1Ym1pdHRlZCwgc2V0U3VibWl0dGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZm9ybWF0dGVkSW5pdGlhbERhdGEsIHNldEZvcm1hdHRlZEluaXRpYWxEYXRhXSA9IHVzZVN0YXRlKGJ1aWxkSW5pdGlhbFN0YXRlKGluaXRpYWxEYXRhKSlcblxuICBjb25zdCBmb3JtUmVmID0gdXNlUmVmPEhUTUxGb3JtRWxlbWVudD4obnVsbClcbiAgY29uc3QgY29udGV4dFJlZiA9IHVzZVJlZih7fSBhcyBGb3JtQ29udGV4dFR5cGUpXG5cbiAgbGV0IGluaXRpYWxGaWVsZFN0YXRlID0ge31cblxuICBpZiAoZm9ybWF0dGVkSW5pdGlhbERhdGEpIGluaXRpYWxGaWVsZFN0YXRlID0gZm9ybWF0dGVkSW5pdGlhbERhdGFcbiAgaWYgKGluaXRpYWxTdGF0ZSkgaW5pdGlhbEZpZWxkU3RhdGUgPSBpbml0aWFsU3RhdGVcblxuICBjb25zdCBmaWVsZHNSZWR1Y2VyID0gdXNlUmVkdWNlcihmaWVsZFJlZHVjZXIsIHt9LCAoKSA9PiBpbml0aWFsRmllbGRTdGF0ZSlcbiAgY29uc3QgW2ZpZWxkcywgZGlzcGF0Y2hGaWVsZHNdID0gZmllbGRzUmVkdWNlclxuXG4gIGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMgPSBmaWVsZHNcbiAgY29udGV4dFJlZi5jdXJyZW50LmRpc3BhdGNoRmllbGRzID0gZGlzcGF0Y2hGaWVsZHNcblxuICAvLyBCdWlsZCBhIGN1cnJlbnQgc2V0IG9mIGNoaWxkIGVycm9ycyBmb3IgYWxsIHJvd3MgaW4gZm9ybSBzdGF0ZVxuICBjb25zdCBidWlsZFJvd0Vycm9ycyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBleGlzdGluZ0ZpZWxkUm93czogeyBbcGF0aDogc3RyaW5nXTogUm93W10gfSA9IHt9XG4gICAgY29uc3QgbmV3RmllbGRSb3dzOiB7IFtwYXRoOiBzdHJpbmddOiBSb3dbXSB9ID0ge31cblxuICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkcykuZm9yRWFjaCgoW3BhdGgsIGZpZWxkXSkgPT4ge1xuICAgICAgY29uc3QgcGF0aFNlZ21lbnRzID0gc3BsaXRQYXRoQnlBcnJheUZpZWxkcyhwYXRoKVxuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGhTZWdtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBjb25zdCBmaWVsZFBhdGggPSBwYXRoU2VnbWVudHMuc2xpY2UoMCwgaSArIDEpLmpvaW4oJy4nKVxuICAgICAgICBjb25zdCBmb3JtRmllbGQgPSBmaWVsZHM/LltmaWVsZFBhdGhdXG5cbiAgICAgICAgLy8gSXMgdGhpcyBhbiBhcnJheSBvciBibG9ja3MgZmllbGQ/XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZvcm1GaWVsZD8ucm93cykpIHtcbiAgICAgICAgICAvLyBLZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBleGlzdGluZyByb3cgc3RhdGVcbiAgICAgICAgICBleGlzdGluZ0ZpZWxkUm93c1tmaWVsZFBhdGhdID0gZm9ybUZpZWxkLnJvd3NcblxuICAgICAgICAgIC8vIEEgbmV3IHJvdyBzdGF0ZSB3aWxsIGJlIHVzZWQgdG8gY29tcGFyZVxuICAgICAgICAgIC8vIGFnYWluc3QgdGhlIG9sZCBzdGF0ZSBsYXRlcixcbiAgICAgICAgICAvLyB0byBzZWUgaWYgd2UgbmVlZCB0byBkaXNwYXRjaCBhbiB1cGRhdGVcbiAgICAgICAgICBpZiAoIW5ld0ZpZWxkUm93c1tmaWVsZFBhdGhdKSB7XG4gICAgICAgICAgICBuZXdGaWVsZFJvd3NbZmllbGRQYXRoXSA9IGZvcm1GaWVsZC5yb3dzLm1hcCgoZXhpc3RpbmdSb3cpID0+ICh7XG4gICAgICAgICAgICAgIC4uLmV4aXN0aW5nUm93LFxuICAgICAgICAgICAgICBjaGlsZEVycm9yUGF0aHM6IG5ldyBTZXQoKSxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHJvd0luZGV4ID0gcGF0aFNlZ21lbnRzW2kgKyAxXVxuICAgICAgICAgIGNvbnN0IGNoaWxkRmllbGRQYXRoID0gcGF0aFNlZ21lbnRzLnNsaWNlKGkgKyAxKS5qb2luKCcuJylcblxuICAgICAgICAgIGlmIChmaWVsZC52YWxpZCA9PT0gZmFsc2UgJiYgY2hpbGRGaWVsZFBhdGgpIHtcbiAgICAgICAgICAgIG5ld0ZpZWxkUm93c1tmaWVsZFBhdGhdW3Jvd0luZGV4XS5jaGlsZEVycm9yUGF0aHMuYWRkKGAke2ZpZWxkUGF0aH0uJHtjaGlsZEZpZWxkUGF0aH1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyBOb3cgbG9vcCBvdmVyIGFsbCBmaWVsZHMgd2l0aCByb3dzIC1cbiAgICAvLyBpZiBhbnl0aGluZyBjaGFuZ2VkLCBkaXNwYXRjaCBhbiB1cGRhdGUgZm9yIHRoZSBmaWVsZFxuICAgIC8vIHdpdGggdGhlIG5ldyByb3cgc3RhdGVcbiAgICBPYmplY3QuZW50cmllcyhuZXdGaWVsZFJvd3MpLmZvckVhY2goKFtwYXRoLCBuZXdSb3dzXSkgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVNYXRjaGVzID0gbmV3Um93cy5ldmVyeSgobmV3Um93LCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUm93RXJyb3JQYXRocyA9IGV4aXN0aW5nRmllbGRSb3dzW3BhdGhdW2ldPy5jaGlsZEVycm9yUGF0aHNcbiAgICAgICAgcmV0dXJuIHNldHNBcmVFcXVhbChuZXdSb3cuY2hpbGRFcnJvclBhdGhzLCBleGlzdGluZ1Jvd0Vycm9yUGF0aHMpXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXN0YXRlTWF0Y2hlcykge1xuICAgICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByb3dzOiBuZXdSb3dzLFxuICAgICAgICAgIHR5cGU6ICdVUERBVEUnLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG4gIH0sIFtmaWVsZHMsIGRpc3BhdGNoRmllbGRzXSlcblxuICBjb25zdCB2YWxpZGF0ZUZvcm0gPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdmFsaWRhdGVkRmllbGRTdGF0ZSA9IHt9XG4gICAgbGV0IGlzVmFsaWQgPSB0cnVlXG4gICAgY29uc3QgZGF0YSA9IGNvbnRleHRSZWYuY3VycmVudC5nZXREYXRhKClcblxuICAgIGNvbnN0IHZhbGlkYXRpb25Qcm9taXNlcyA9IE9iamVjdC5lbnRyaWVzKGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMpLm1hcChcbiAgICAgIGFzeW5jIChbcGF0aCwgZmllbGRdKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZEZpZWxkID0ge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgIHZhbGlkOiB0cnVlLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkLnBhc3Nlc0NvbmRpdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICBsZXQgdmFsaWRhdGlvblJlc3VsdDogYm9vbGVhbiB8IHN0cmluZyA9IHRydWVcblxuICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQudmFsaWRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCBmaWVsZC52YWxpZGF0ZShmaWVsZC52YWx1ZSwge1xuICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0U2libGluZ0RhdGEocGF0aCksXG4gICAgICAgICAgICAgIHQsXG4gICAgICAgICAgICAgIHVzZXIsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvblJlc3VsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHZhbGlkYXRlZEZpZWxkLmVycm9yTWVzc2FnZSA9IHZhbGlkYXRpb25SZXN1bHRcbiAgICAgICAgICAgIHZhbGlkYXRlZEZpZWxkLnZhbGlkID0gZmFsc2VcbiAgICAgICAgICAgIGlzVmFsaWQgPSBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhbGlkYXRlZEZpZWxkU3RhdGVbcGF0aF0gPSB2YWxpZGF0ZWRGaWVsZFxuICAgICAgfSxcbiAgICApXG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbCh2YWxpZGF0aW9uUHJvbWlzZXMpXG5cbiAgICBpZiAoIWlzRGVlcEVxdWFsKGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMsIHZhbGlkYXRlZEZpZWxkU3RhdGUpKSB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7IHN0YXRlOiB2YWxpZGF0ZWRGaWVsZFN0YXRlLCB0eXBlOiAnUkVQTEFDRV9TVEFURScgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gaXNWYWxpZFxuICB9LCBbY29udGV4dFJlZiwgaWQsIHVzZXIsIG9wZXJhdGlvbiwgdCwgZGlzcGF0Y2hGaWVsZHMsIGNvbmZpZ10pXG5cbiAgY29uc3Qgc3VibWl0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKG9wdGlvbnM6IFN1Ym1pdE9wdGlvbnMgPSB7fSwgZSk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3Qge1xuICAgICAgICBhY3Rpb246IGFjdGlvblRvVXNlID0gYWN0aW9uLFxuICAgICAgICBtZXRob2Q6IG1ldGhvZFRvVXNlID0gbWV0aG9kLFxuICAgICAgICBvdmVycmlkZXMgPSB7fSxcbiAgICAgICAgc2tpcFZhbGlkYXRpb24sXG4gICAgICB9ID0gb3B0aW9uc1xuXG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgaWYgKGUpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGUpIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cblxuICAgICAgc2V0UHJvY2Vzc2luZyh0cnVlKVxuXG4gICAgICBpZiAod2FpdEZvckF1dG9jb21wbGV0ZSkgYXdhaXQgd2FpdCgxMDApXG5cbiAgICAgIGNvbnN0IGlzVmFsaWQgPSBza2lwVmFsaWRhdGlvbiA/IHRydWUgOiBhd2FpdCBjb250ZXh0UmVmLmN1cnJlbnQudmFsaWRhdGVGb3JtKClcbiAgICAgIGNvbnRleHRSZWYuY3VycmVudC5idWlsZFJvd0Vycm9ycygpXG5cbiAgICAgIGlmICghc2tpcFZhbGlkYXRpb24pIHNldFN1Ym1pdHRlZCh0cnVlKVxuXG4gICAgICAvLyBJZiBub3QgdmFsaWQsIHByZXZlbnQgc3VibWlzc2lvblxuICAgICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKHQoJ2Vycm9yOmNvcnJlY3RJbnZhbGlkRmllbGRzJykpXG4gICAgICAgIHNldFByb2Nlc3NpbmcoZmFsc2UpXG5cbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHN1Ym1pdCBoYW5kbGVyIGNvbWVzIHRocm91Z2ggdmlhIHByb3BzLCBydW4gdGhhdFxuICAgICAgaWYgKG9uU3VibWl0KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgLi4ucmVkdWNlRmllbGRzVG9WYWx1ZXMoZmllbGRzLCB0cnVlKSxcbiAgICAgICAgICAuLi5vdmVycmlkZXMsXG4gICAgICAgIH1cblxuICAgICAgICBvblN1Ym1pdChmaWVsZHMsIGRhdGEpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZvcm1EYXRhID0gY29udGV4dFJlZi5jdXJyZW50LmNyZWF0ZUZvcm1EYXRhKG92ZXJyaWRlcylcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcmVxdWVzdHNbbWV0aG9kVG9Vc2UudG9Mb3dlckNhc2UoKV0oYWN0aW9uVG9Vc2UsIHtcbiAgICAgICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuXG4gICAgICAgIHNldE1vZGlmaWVkKGZhbHNlKVxuXG4gICAgICAgIGlmICh0eXBlb2YgaGFuZGxlUmVzcG9uc2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBoYW5kbGVSZXNwb25zZShyZXMpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBzZXRQcm9jZXNzaW5nKGZhbHNlKVxuXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVzLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKVxuICAgICAgICBjb25zdCBpc0pTT04gPSBjb250ZW50VHlwZSAmJiBjb250ZW50VHlwZS5pbmRleE9mKCdhcHBsaWNhdGlvbi9qc29uJykgIT09IC0xXG5cbiAgICAgICAgbGV0IGpzb246IGFueSA9IHt9XG5cbiAgICAgICAgaWYgKGlzSlNPTikganNvbiA9IGF3YWl0IHJlcy5qc29uKClcblxuICAgICAgICBpZiAocmVzLnN0YXR1cyA8IDQwMCkge1xuICAgICAgICAgIHNldFN1Ym1pdHRlZChmYWxzZSlcblxuICAgICAgICAgIGlmICh0eXBlb2Ygb25TdWNjZXNzID09PSAnZnVuY3Rpb24nKSBvblN1Y2Nlc3MoanNvbilcblxuICAgICAgICAgIGlmIChyZWRpcmVjdCkge1xuICAgICAgICAgICAgY29uc3QgZGVzdGluYXRpb24gPSB7XG4gICAgICAgICAgICAgIHBhdGhuYW1lOiByZWRpcmVjdCxcbiAgICAgICAgICAgICAgc3RhdGU6IHt9LFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGpzb24gPT09ICdvYmplY3QnICYmIGpzb24ubWVzc2FnZSAmJiAhZGlzYWJsZVN1Y2Nlc3NTdGF0dXMpIHtcbiAgICAgICAgICAgICAgZGVzdGluYXRpb24uc3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgc3RhdHVzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGpzb24ubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGhpc3RvcnkucHVzaChkZXN0aW5hdGlvbilcbiAgICAgICAgICB9IGVsc2UgaWYgKCFkaXNhYmxlU3VjY2Vzc1N0YXR1cykge1xuICAgICAgICAgICAgdG9hc3Quc3VjY2Vzcyhqc29uLm1lc3NhZ2UgfHwgdCgnc3VibWlzc2lvblN1Y2Nlc3NmdWwnKSwgeyBhdXRvQ2xvc2U6IDMwMDAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udGV4dFJlZi5jdXJyZW50ID0geyAuLi5jb250ZXh0UmVmLmN1cnJlbnQgfSAvLyB0cmlnZ2VycyByZXJlbmRlciBvZiBhbGwgY29tcG9uZW50cyB0aGF0IHN1YnNjcmliZSB0byBmb3JtXG5cbiAgICAgICAgICBpZiAoanNvbi5tZXNzYWdlKSB7XG4gICAgICAgICAgICB0b2FzdC5lcnJvcihqc29uLm1lc3NhZ2UpXG5cbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGpzb24uZXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgW2ZpZWxkRXJyb3JzLCBub25GaWVsZEVycm9yc10gPSBqc29uLmVycm9ycy5yZWR1Y2UoXG4gICAgICAgICAgICAgIChbZmllbGRFcnJzLCBub25GaWVsZEVycnNdLCBlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdGaWVsZEVycnMgPSBbXVxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld05vbkZpZWxkRXJycyA9IFtdXG5cbiAgICAgICAgICAgICAgICBpZiAoZXJyPy5tZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICBuZXdOb25GaWVsZEVycnMucHVzaChlcnIpXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXJyPy5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgZXJyLmRhdGEuZm9yRWFjaCgoZGF0YUVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhRXJyb3I/LmZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3RmllbGRFcnJzLnB1c2goZGF0YUVycm9yKVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIG5ld05vbkZpZWxkRXJycy5wdXNoKGRhdGFFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgWy4uLmZpZWxkRXJycywgLi4ubmV3RmllbGRFcnJzXSxcbiAgICAgICAgICAgICAgICAgIFsuLi5ub25GaWVsZEVycnMsIC4uLm5ld05vbkZpZWxkRXJyc10sXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBbW10sIFtdXSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgZmllbGRFcnJvcnMuZm9yRWFjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIGRpc3BhdGNoRmllbGRzKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnVVBEQVRFJyxcbiAgICAgICAgICAgICAgICAuLi4oY29udGV4dFJlZi5jdXJyZW50Py5maWVsZHM/LltlcnIuZmllbGRdIHx8IHt9KSxcbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2U6IGVyci5tZXNzYWdlLFxuICAgICAgICAgICAgICAgIHBhdGg6IGVyci5maWVsZCxcbiAgICAgICAgICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBub25GaWVsZEVycm9ycy5mb3JFYWNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgdG9hc3QuZXJyb3IoZXJyLm1lc3NhZ2UgfHwgdCgnZXJyb3I6dW5rbm93bicpKVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yTWVzc2FnZXNbcmVzLnN0YXR1c10gfHwgdCgnZXJyb3I6dW5rbm93bicpXG5cbiAgICAgICAgICB0b2FzdC5lcnJvcihtZXNzYWdlKVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgc2V0UHJvY2Vzc2luZyhmYWxzZSlcblxuICAgICAgICB0b2FzdC5lcnJvcihlcnIpXG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBhY3Rpb24sXG4gICAgICBkaXNhYmxlU3VjY2Vzc1N0YXR1cyxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZGlzcGF0Y2hGaWVsZHMsXG4gICAgICBmaWVsZHMsXG4gICAgICBoYW5kbGVSZXNwb25zZSxcbiAgICAgIGhpc3RvcnksXG4gICAgICBtZXRob2QsXG4gICAgICBvblN1Ym1pdCxcbiAgICAgIG9uU3VjY2VzcyxcbiAgICAgIHJlZGlyZWN0LFxuICAgICAgdCxcbiAgICAgIGkxOG4sXG4gICAgICB3YWl0Rm9yQXV0b2NvbXBsZXRlLFxuICAgIF0sXG4gIClcblxuICBjb25zdCB0cmF2ZXJzZVJvd0NvbmZpZ3MgPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmllbGRDb25maWcsXG4gICAgICBwYXRoLFxuICAgICAgcGF0aFByZWZpeCxcbiAgICB9OiB7XG4gICAgICBmaWVsZENvbmZpZzogRmllbGRbXVxuICAgICAgcGF0aDogc3RyaW5nXG4gICAgICBwYXRoUHJlZml4Pzogc3RyaW5nXG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgY29uZmlnID0gZmllbGRDb25maWdcbiAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHNwbGl0UGF0aEJ5QXJyYXlGaWVsZHMocGF0aClcbiAgICAgIGNvbnN0IGNvbmZpZ01hcCA9IGJ1aWxkRmllbGRTY2hlbWFNYXAoY29uZmlnKVxuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGhTZWdtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBjb25zdCBwYXRoU2VnbWVudCA9IHBhdGhTZWdtZW50c1tpXVxuXG4gICAgICAgIGlmIChpc051bWJlcihwYXRoU2VnbWVudCkpIHtcbiAgICAgICAgICBjb25zdCByb3dJbmRleCA9IHBhcnNlSW50KHBhdGhTZWdtZW50LCAxMClcbiAgICAgICAgICBjb25zdCBwYXJlbnRGaWVsZFBhdGggPSBwYXRoU2VnbWVudHMuc2xpY2UoMCwgaSkuam9pbignLicpXG4gICAgICAgICAgY29uc3QgcmVtYWluaW5nUGF0aCA9IHBhdGhTZWdtZW50cy5zbGljZShpICsgMSkuam9pbignLicpXG4gICAgICAgICAgY29uc3QgYXJyYXlGaWVsZFBhdGggPSBwYXRoUHJlZml4ID8gYCR7cGF0aFByZWZpeH0uJHtwYXJlbnRGaWVsZFBhdGh9YCA6IHBhcmVudEZpZWxkUGF0aFxuICAgICAgICAgIGNvbnN0IHBhcmVudEFycmF5RmllbGQgPSBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0RmllbGQoYXJyYXlGaWVsZFBhdGgpXG4gICAgICAgICAgY29uc3Qgcm93RmllbGQgPSBwYXJlbnRBcnJheUZpZWxkLnJvd3Nbcm93SW5kZXhdXG5cbiAgICAgICAgICBpZiAocm93RmllbGQuYmxvY2tUeXBlKSB7XG4gICAgICAgICAgICBjb25zdCBibG9ja0NvbmZpZyA9IGNvbmZpZ01hcC5nZXQoYCR7cGFyZW50RmllbGRQYXRofS4ke3Jvd0ZpZWxkLmJsb2NrVHlwZX1gKVxuICAgICAgICAgICAgaWYgKGJsb2NrQ29uZmlnKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZVJvd0NvbmZpZ3Moe1xuICAgICAgICAgICAgICAgIGZpZWxkQ29uZmlnOiBibG9ja0NvbmZpZyxcbiAgICAgICAgICAgICAgICBwYXRoOiByZW1haW5pbmdQYXRoLFxuICAgICAgICAgICAgICAgIHBhdGhQcmVmaXg6IGAke2FycmF5RmllbGRQYXRofS4ke3Jvd0luZGV4fWAsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQmxvY2sgY29uZmlnIG5vdCBmb3VuZCBmb3IgJHtyb3dGaWVsZC5ibG9ja1R5cGV9IGF0IHBhdGggJHtwYXRofWApXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZVJvd0NvbmZpZ3Moe1xuICAgICAgICAgICAgICBmaWVsZENvbmZpZzogY29uZmlnTWFwLmdldChwYXJlbnRGaWVsZFBhdGgpLFxuICAgICAgICAgICAgICBwYXRoOiByZW1haW5pbmdQYXRoLFxuICAgICAgICAgICAgICBwYXRoUHJlZml4OiBgJHthcnJheUZpZWxkUGF0aH0uJHtyb3dJbmRleH1gLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH0sXG4gICAgW10sXG4gIClcblxuICBjb25zdCBnZXRSb3dDb25maWdCeVBhdGggPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAoeyBibG9ja1R5cGUsIHBhdGggfTogeyBibG9ja1R5cGU/OiBzdHJpbmc7IHBhdGg6IHN0cmluZyB9KSA9PiB7XG4gICAgICBjb25zdCByb3dDb25maWcgPSB0cmF2ZXJzZVJvd0NvbmZpZ3Moe1xuICAgICAgICBmaWVsZENvbmZpZzogY29sbGVjdGlvbj8uZmllbGRzIHx8IGdsb2JhbD8uZmllbGRzLFxuICAgICAgICBwYXRoLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IHJvd0ZpZWxkQ29uZmlncyA9IGJ1aWxkRmllbGRTY2hlbWFNYXAocm93Q29uZmlnKVxuICAgICAgY29uc3QgcGF0aFNlZ21lbnRzID0gc3BsaXRQYXRoQnlBcnJheUZpZWxkcyhwYXRoKVxuICAgICAgY29uc3QgZmllbGRLZXkgPSBwYXRoU2VnbWVudHMuYXQoLTEpXG4gICAgICByZXR1cm4gcm93RmllbGRDb25maWdzLmdldChibG9ja1R5cGUgPyBgJHtmaWVsZEtleX0uJHtibG9ja1R5cGV9YCA6IGZpZWxkS2V5KVxuICAgIH0sXG4gICAgW3RyYXZlcnNlUm93Q29uZmlncywgY29sbGVjdGlvbj8uZmllbGRzLCBnbG9iYWw/LmZpZWxkc10sXG4gIClcblxuICAvLyBBcnJheS9CbG9jayByb3cgbWFuaXB1bGF0aW9uXG4gIGNvbnN0IGFkZEZpZWxkUm93OiBDb250ZXh0WydhZGRGaWVsZFJvdyddID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHsgZGF0YSwgcGF0aCwgcm93SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgcHJlZmVyZW5jZXMgPSBhd2FpdCBnZXREb2NQcmVmZXJlbmNlcygpXG4gICAgICBjb25zdCBmaWVsZENvbmZpZyA9IGdldFJvd0NvbmZpZ0J5UGF0aCh7XG4gICAgICAgIGJsb2NrVHlwZTogZGF0YT8uYmxvY2tUeXBlLFxuICAgICAgICBwYXRoLFxuICAgICAgfSlcblxuICAgICAgaWYgKGZpZWxkQ29uZmlnKSB7XG4gICAgICAgIGNvbnN0IHN1YkZpZWxkU3RhdGUgPSBhd2FpdCBidWlsZFN0YXRlRnJvbVNjaGVtYSh7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZmllbGRTY2hlbWE6IGZpZWxkQ29uZmlnLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgcHJlZmVyZW5jZXMsXG4gICAgICAgICAgdCxcbiAgICAgICAgICB1c2VyLFxuICAgICAgICB9KVxuICAgICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgICAgYmxvY2tUeXBlOiBkYXRhPy5ibG9ja1R5cGUsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByb3dJbmRleCxcbiAgICAgICAgICBzdWJGaWVsZFN0YXRlLFxuICAgICAgICAgIHR5cGU6ICdBRERfUk9XJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtkaXNwYXRjaEZpZWxkcywgZ2V0RG9jUHJlZmVyZW5jZXMsIGlkLCB1c2VyLCBvcGVyYXRpb24sIGxvY2FsZSwgdCwgZ2V0Um93Q29uZmlnQnlQYXRoLCBjb25maWddLFxuICApXG5cbiAgY29uc3QgcmVtb3ZlRmllbGRSb3c6IENvbnRleHRbJ3JlbW92ZUZpZWxkUm93J10gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoeyBwYXRoLCByb3dJbmRleCB9KSA9PiB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7IHBhdGgsIHJvd0luZGV4LCB0eXBlOiAnUkVNT1ZFX1JPVycgfSlcbiAgICB9LFxuICAgIFtkaXNwYXRjaEZpZWxkc10sXG4gIClcblxuICBjb25zdCByZXBsYWNlRmllbGRSb3c6IENvbnRleHRbJ3JlcGxhY2VGaWVsZFJvdyddID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHsgZGF0YSwgcGF0aCwgcm93SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgcHJlZmVyZW5jZXMgPSBhd2FpdCBnZXREb2NQcmVmZXJlbmNlcygpXG4gICAgICBjb25zdCBmaWVsZENvbmZpZyA9IGdldFJvd0NvbmZpZ0J5UGF0aCh7XG4gICAgICAgIGJsb2NrVHlwZTogZGF0YT8uYmxvY2tUeXBlLFxuICAgICAgICBwYXRoLFxuICAgICAgfSlcblxuICAgICAgaWYgKGZpZWxkQ29uZmlnKSB7XG4gICAgICAgIGNvbnN0IHN1YkZpZWxkU3RhdGUgPSBhd2FpdCBidWlsZFN0YXRlRnJvbVNjaGVtYSh7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZmllbGRTY2hlbWE6IGZpZWxkQ29uZmlnLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgcHJlZmVyZW5jZXMsXG4gICAgICAgICAgdCxcbiAgICAgICAgICB1c2VyLFxuICAgICAgICB9KVxuICAgICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgICAgYmxvY2tUeXBlOiBkYXRhPy5ibG9ja1R5cGUsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByb3dJbmRleCxcbiAgICAgICAgICBzdWJGaWVsZFN0YXRlLFxuICAgICAgICAgIHR5cGU6ICdSRVBMQUNFX1JPVycsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSxcbiAgICBbZGlzcGF0Y2hGaWVsZHMsIGdldERvY1ByZWZlcmVuY2VzLCBpZCwgdXNlciwgb3BlcmF0aW9uLCBsb2NhbGUsIHQsIGdldFJvd0NvbmZpZ0J5UGF0aCwgY29uZmlnXSxcbiAgKVxuXG4gIGNvbnN0IGdldEZpZWxkcyA9IHVzZUNhbGxiYWNrKCgpID0+IGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMsIFtjb250ZXh0UmVmXSlcbiAgY29uc3QgZ2V0RmllbGQgPSB1c2VDYWxsYmFjaygocGF0aDogc3RyaW5nKSA9PiBjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzW3BhdGhdLCBbY29udGV4dFJlZl0pXG4gIGNvbnN0IGdldERhdGEgPSB1c2VDYWxsYmFjayhcbiAgICAoKSA9PiByZWR1Y2VGaWVsZHNUb1ZhbHVlcyhjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCB0cnVlKSxcbiAgICBbY29udGV4dFJlZl0sXG4gIClcbiAgY29uc3QgZ2V0U2libGluZ0RhdGEgPSB1c2VDYWxsYmFjayhcbiAgICAocGF0aDogc3RyaW5nKSA9PiBnZXRTaWJsaW5nRGF0YUZ1bmMoY29udGV4dFJlZi5jdXJyZW50LmZpZWxkcywgcGF0aCksXG4gICAgW2NvbnRleHRSZWZdLFxuICApXG4gIGNvbnN0IGdldERhdGFCeVBhdGggPSB1c2VDYWxsYmFjazxHZXREYXRhQnlQYXRoPihcbiAgICAocGF0aDogc3RyaW5nKSA9PiBnZXREYXRhQnlQYXRoRnVuYyhjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCBwYXRoKSxcbiAgICBbY29udGV4dFJlZl0sXG4gIClcblxuICBjb25zdCBjcmVhdGVGb3JtRGF0YSA9IHVzZUNhbGxiYWNrKFxuICAgIChvdmVycmlkZXM6IGFueSA9IHt9KSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gcmVkdWNlRmllbGRzVG9WYWx1ZXMoY29udGV4dFJlZi5jdXJyZW50LmZpZWxkcywgdHJ1ZSlcblxuICAgICAgY29uc3QgZmlsZSA9IGRhdGE/LmZpbGVcblxuICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgZGVsZXRlIGRhdGEuZmlsZVxuICAgICAgfVxuXG4gICAgICBjb25zdCBkYXRhV2l0aE92ZXJyaWRlcyA9IHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgLi4ub3ZlcnJpZGVzLFxuICAgICAgfVxuXG4gICAgICBjb25zdCBkYXRhVG9TZXJpYWxpemUgPSB7XG4gICAgICAgIF9wYXlsb2FkOiBKU09OLnN0cmluZ2lmeShkYXRhV2l0aE92ZXJyaWRlcyksXG4gICAgICAgIGZpbGUsXG4gICAgICB9XG5cbiAgICAgIC8vIG51bGxBc1VuZGVmaW5lZHMgaXMgaW1wb3J0YW50IHRvIGFsbG93IHVwbG9hZHMgYW5kIHJlbGF0aW9uc2hpcCBmaWVsZHMgdG8gY2xlYXIgdGhlbXNlbHZlc1xuICAgICAgY29uc3QgZm9ybURhdGEgPSBzZXJpYWxpemUoZGF0YVRvU2VyaWFsaXplLCB7IGluZGljZXM6IHRydWUsIG51bGxzQXNVbmRlZmluZWRzOiBmYWxzZSB9KVxuICAgICAgcmV0dXJuIGZvcm1EYXRhXG4gICAgfSxcbiAgICBbY29udGV4dFJlZl0sXG4gIClcblxuICBjb25zdCByZXNldCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChmaWVsZFNjaGVtYTogRmllbGRbXSwgZGF0YTogdW5rbm93bikgPT4ge1xuICAgICAgY29uc3QgcHJlZmVyZW5jZXMgPSBhd2FpdCBnZXREb2NQcmVmZXJlbmNlcygpXG4gICAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZmllbGRTY2hlbWEsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICBwcmVmZXJlbmNlcyxcbiAgICAgICAgdCxcbiAgICAgICAgdXNlcixcbiAgICAgIH0pXG4gICAgICBjb250ZXh0UmVmLmN1cnJlbnQgPSB7IC4uLmluaXRDb250ZXh0U3RhdGUgfSBhcyBGb3JtQ29udGV4dFR5cGVcbiAgICAgIHNldE1vZGlmaWVkKGZhbHNlKVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBzdGF0ZSwgdHlwZTogJ1JFUExBQ0VfU1RBVEUnIH0pXG4gICAgfSxcbiAgICBbaWQsIHVzZXIsIG9wZXJhdGlvbiwgbG9jYWxlLCB0LCBkaXNwYXRjaEZpZWxkcywgZ2V0RG9jUHJlZmVyZW5jZXMsIGNvbmZpZ10sXG4gIClcblxuICBjb25zdCByZXBsYWNlU3RhdGUgPSB1c2VDYWxsYmFjayhcbiAgICAoc3RhdGU6IEZpZWxkcykgPT4ge1xuICAgICAgY29udGV4dFJlZi5jdXJyZW50ID0geyAuLi5pbml0Q29udGV4dFN0YXRlIH0gYXMgRm9ybUNvbnRleHRUeXBlXG4gICAgICBzZXRNb2RpZmllZChmYWxzZSlcbiAgICAgIGRpc3BhdGNoRmllbGRzKHsgc3RhdGUsIHR5cGU6ICdSRVBMQUNFX1NUQVRFJyB9KVxuICAgIH0sXG4gICAgW2Rpc3BhdGNoRmllbGRzXSxcbiAgKVxuXG4gIGNvbnRleHRSZWYuY3VycmVudC5zdWJtaXQgPSBzdWJtaXRcbiAgY29udGV4dFJlZi5jdXJyZW50LmdldEZpZWxkcyA9IGdldEZpZWxkc1xuICBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0RmllbGQgPSBnZXRGaWVsZFxuICBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0RGF0YSA9IGdldERhdGFcbiAgY29udGV4dFJlZi5jdXJyZW50LmdldFNpYmxpbmdEYXRhID0gZ2V0U2libGluZ0RhdGFcbiAgY29udGV4dFJlZi5jdXJyZW50LmdldERhdGFCeVBhdGggPSBnZXREYXRhQnlQYXRoXG4gIGNvbnRleHRSZWYuY3VycmVudC52YWxpZGF0ZUZvcm0gPSB2YWxpZGF0ZUZvcm1cbiAgY29udGV4dFJlZi5jdXJyZW50LmNyZWF0ZUZvcm1EYXRhID0gY3JlYXRlRm9ybURhdGFcbiAgY29udGV4dFJlZi5jdXJyZW50LnNldE1vZGlmaWVkID0gc2V0TW9kaWZpZWRcbiAgY29udGV4dFJlZi5jdXJyZW50LnNldFByb2Nlc3NpbmcgPSBzZXRQcm9jZXNzaW5nXG4gIGNvbnRleHRSZWYuY3VycmVudC5zZXRTdWJtaXR0ZWQgPSBzZXRTdWJtaXR0ZWRcbiAgY29udGV4dFJlZi5jdXJyZW50LmRpc2FibGVkID0gZGlzYWJsZWRcbiAgY29udGV4dFJlZi5jdXJyZW50LmZvcm1SZWYgPSBmb3JtUmVmXG4gIGNvbnRleHRSZWYuY3VycmVudC5yZXNldCA9IHJlc2V0XG4gIGNvbnRleHRSZWYuY3VycmVudC5yZXBsYWNlU3RhdGUgPSByZXBsYWNlU3RhdGVcbiAgY29udGV4dFJlZi5jdXJyZW50LmJ1aWxkUm93RXJyb3JzID0gYnVpbGRSb3dFcnJvcnNcbiAgY29udGV4dFJlZi5jdXJyZW50LmFkZEZpZWxkUm93ID0gYWRkRmllbGRSb3dcbiAgY29udGV4dFJlZi5jdXJyZW50LnJlbW92ZUZpZWxkUm93ID0gcmVtb3ZlRmllbGRSb3dcbiAgY29udGV4dFJlZi5jdXJyZW50LnJlcGxhY2VGaWVsZFJvdyA9IHJlcGxhY2VGaWVsZFJvd1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBzdWJtaXR0ZWRGcm9tUHJvcHMgPT09ICdib29sZWFuJykgc2V0U3VibWl0dGVkKHN1Ym1pdHRlZEZyb21Qcm9wcylcbiAgfSwgW3N1Ym1pdHRlZEZyb21Qcm9wc10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjb250ZXh0UmVmLmN1cnJlbnQgPSB7IC4uLmluaXRDb250ZXh0U3RhdGUgfSBhcyBGb3JtQ29udGV4dFR5cGVcbiAgICAgIGRpc3BhdGNoRmllbGRzKHsgc3RhdGU6IGluaXRpYWxTdGF0ZSwgdHlwZTogJ1JFUExBQ0VfU1RBVEUnIH0pXG4gICAgfVxuICB9LCBbaW5pdGlhbFN0YXRlLCBkaXNwYXRjaEZpZWxkc10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaW5pdGlhbERhdGEpIHtcbiAgICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uaW5pdENvbnRleHRTdGF0ZSB9IGFzIEZvcm1Db250ZXh0VHlwZVxuICAgICAgY29uc3QgYnVpbHRTdGF0ZSA9IGJ1aWxkSW5pdGlhbFN0YXRlKGluaXRpYWxEYXRhKVxuICAgICAgc2V0Rm9ybWF0dGVkSW5pdGlhbERhdGEoYnVpbHRTdGF0ZSlcbiAgICAgIGRpc3BhdGNoRmllbGRzKHsgc3RhdGU6IGJ1aWx0U3RhdGUsIHR5cGU6ICdSRVBMQUNFX1NUQVRFJyB9KVxuICAgIH1cbiAgfSwgW2luaXRpYWxEYXRhLCBkaXNwYXRjaEZpZWxkc10pXG5cbiAgdXNlVGhyb3R0bGVkRWZmZWN0KFxuICAgICgpID0+IHtcbiAgICAgIHJlZnJlc2hDb29raWUoKVxuICAgIH0sXG4gICAgMTUwMDAsXG4gICAgW2ZpZWxkc10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uY29udGV4dFJlZi5jdXJyZW50IH0gLy8gdHJpZ2dlcnMgcmVyZW5kZXIgb2YgYWxsIGNvbXBvbmVudHMgdGhhdCBzdWJzY3JpYmUgdG8gZm9ybVxuICAgIHNldE1vZGlmaWVkKGZhbHNlKVxuICB9LCBbbG9jYWxlXSlcblxuICBjb25zdCBjbGFzc2VzID0gW2NsYXNzTmFtZSwgYmFzZUNsYXNzXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpXG5cbiAgcmV0dXJuIChcbiAgICA8Zm9ybVxuICAgICAgYWN0aW9uPXthY3Rpb259XG4gICAgICBjbGFzc05hbWU9e2NsYXNzZXN9XG4gICAgICBtZXRob2Q9e21ldGhvZH1cbiAgICAgIG5vVmFsaWRhdGVcbiAgICAgIG9uU3VibWl0PXsoZSkgPT4gY29udGV4dFJlZi5jdXJyZW50LnN1Ym1pdCh7fSwgZSl9XG4gICAgICByZWY9e2Zvcm1SZWZ9XG4gICAgPlxuICAgICAgPEZvcm1Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0UmVmLmN1cnJlbnR9PlxuICAgICAgICA8Rm9ybVdhdGNoQ29udGV4dC5Qcm92aWRlclxuICAgICAgICAgIHZhbHVlPXt7XG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICAuLi5jb250ZXh0UmVmLmN1cnJlbnQsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxTdWJtaXR0ZWRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtzdWJtaXR0ZWR9PlxuICAgICAgICAgICAgPFByb2Nlc3NpbmdDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtwcm9jZXNzaW5nfT5cbiAgICAgICAgICAgICAgPE1vZGlmaWVkQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bW9kaWZpZWR9PlxuICAgICAgICAgICAgICAgIDxGb3JtRmllbGRzQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17ZmllbGRzUmVkdWNlcn0+XG4gICAgICAgICAgICAgICAgICA8V2F0Y2hGb3JtRXJyb3JzIGJ1aWxkUm93RXJyb3JzPXtidWlsZFJvd0Vycm9yc30gLz5cbiAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICA8L0Zvcm1GaWVsZHNDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICAgICAgICA8L01vZGlmaWVkQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgICAgIDwvUHJvY2Vzc2luZ0NvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgICAgPC9TdWJtaXR0ZWRDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICA8L0Zvcm1XYXRjaENvbnRleHQuUHJvdmlkZXI+XG4gICAgICA8L0Zvcm1Db250ZXh0LlByb3ZpZGVyPlxuICAgIDwvZm9ybT5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBGb3JtXG4iXSwibmFtZXMiOlsiYmFzZUNsYXNzIiwiRm9ybSIsInByb3BzIiwiYWN0aW9uIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJkaXNhYmxlU3VjY2Vzc1N0YXR1cyIsImRpc2FibGVkIiwiaGFuZGxlUmVzcG9uc2UiLCJpbml0aWFsRGF0YSIsImluaXRpYWxTdGF0ZSIsIm1ldGhvZCIsIm9uU3VibWl0Iiwib25TdWNjZXNzIiwicmVkaXJlY3QiLCJzdWJtaXR0ZWQiLCJzdWJtaXR0ZWRGcm9tUHJvcHMiLCJ3YWl0Rm9yQXV0b2NvbXBsZXRlIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJjb2RlIiwibG9jYWxlIiwidXNlTG9jYWxlIiwiaTE4biIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsInJlZnJlc2hDb29raWUiLCJ1c2VyIiwidXNlQXV0aCIsImlkIiwiY29sbGVjdGlvbiIsImdldERvY1ByZWZlcmVuY2VzIiwiZ2xvYmFsIiwidXNlRG9jdW1lbnRJbmZvIiwib3BlcmF0aW9uIiwidXNlT3BlcmF0aW9uIiwiY29uZmlnIiwidXNlQ29uZmlnIiwibW9kaWZpZWQiLCJzZXRNb2RpZmllZCIsInVzZVN0YXRlIiwicHJvY2Vzc2luZyIsInNldFByb2Nlc3NpbmciLCJzZXRTdWJtaXR0ZWQiLCJmb3JtYXR0ZWRJbml0aWFsRGF0YSIsInNldEZvcm1hdHRlZEluaXRpYWxEYXRhIiwiYnVpbGRJbml0aWFsU3RhdGUiLCJmb3JtUmVmIiwidXNlUmVmIiwiY29udGV4dFJlZiIsImluaXRpYWxGaWVsZFN0YXRlIiwiZmllbGRzUmVkdWNlciIsInVzZVJlZHVjZXIiLCJmaWVsZFJlZHVjZXIiLCJmaWVsZHMiLCJkaXNwYXRjaEZpZWxkcyIsImN1cnJlbnQiLCJidWlsZFJvd0Vycm9ycyIsInVzZUNhbGxiYWNrIiwiZXhpc3RpbmdGaWVsZFJvd3MiLCJuZXdGaWVsZFJvd3MiLCJPYmplY3QiLCJlbnRyaWVzIiwiZm9yRWFjaCIsInBhdGgiLCJmaWVsZCIsInBhdGhTZWdtZW50cyIsInNwbGl0UGF0aEJ5QXJyYXlGaWVsZHMiLCJpIiwibGVuZ3RoIiwiZmllbGRQYXRoIiwic2xpY2UiLCJqb2luIiwiZm9ybUZpZWxkIiwiQXJyYXkiLCJpc0FycmF5Iiwicm93cyIsIm1hcCIsImV4aXN0aW5nUm93IiwiY2hpbGRFcnJvclBhdGhzIiwiU2V0Iiwicm93SW5kZXgiLCJjaGlsZEZpZWxkUGF0aCIsInZhbGlkIiwiYWRkIiwibmV3Um93cyIsInN0YXRlTWF0Y2hlcyIsImV2ZXJ5IiwibmV3Um93IiwiZXhpc3RpbmdSb3dFcnJvclBhdGhzIiwic2V0c0FyZUVxdWFsIiwidHlwZSIsInZhbGlkYXRlRm9ybSIsInZhbGlkYXRlZEZpZWxkU3RhdGUiLCJpc1ZhbGlkIiwiZGF0YSIsImdldERhdGEiLCJ2YWxpZGF0aW9uUHJvbWlzZXMiLCJ2YWxpZGF0ZWRGaWVsZCIsInBhc3Nlc0NvbmRpdGlvbiIsInZhbGlkYXRpb25SZXN1bHQiLCJ2YWxpZGF0ZSIsInZhbHVlIiwic2libGluZ0RhdGEiLCJnZXRTaWJsaW5nRGF0YSIsImVycm9yTWVzc2FnZSIsIlByb21pc2UiLCJhbGwiLCJpc0RlZXBFcXVhbCIsInN0YXRlIiwic3VibWl0Iiwib3B0aW9ucyIsImUiLCJhY3Rpb25Ub1VzZSIsIm1ldGhvZFRvVXNlIiwib3ZlcnJpZGVzIiwic2tpcFZhbGlkYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIndhaXQiLCJ0b2FzdCIsImVycm9yIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJmb3JtRGF0YSIsImNyZWF0ZUZvcm1EYXRhIiwicmVzIiwicmVxdWVzdHMiLCJ0b0xvd2VyQ2FzZSIsImJvZHkiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJjb250ZW50VHlwZSIsImdldCIsImlzSlNPTiIsImluZGV4T2YiLCJqc29uIiwic3RhdHVzIiwiZGVzdGluYXRpb24iLCJwYXRobmFtZSIsIm1lc3NhZ2UiLCJwdXNoIiwic3VjY2VzcyIsImF1dG9DbG9zZSIsImVycm9ycyIsImZpZWxkRXJyb3JzIiwibm9uRmllbGRFcnJvcnMiLCJyZWR1Y2UiLCJmaWVsZEVycnMiLCJub25GaWVsZEVycnMiLCJlcnIiLCJuZXdGaWVsZEVycnMiLCJuZXdOb25GaWVsZEVycnMiLCJkYXRhRXJyb3IiLCJlcnJvck1lc3NhZ2VzIiwidHJhdmVyc2VSb3dDb25maWdzIiwiUmVhY3QiLCJmaWVsZENvbmZpZyIsInBhdGhQcmVmaXgiLCJjb25maWdNYXAiLCJidWlsZEZpZWxkU2NoZW1hTWFwIiwicGF0aFNlZ21lbnQiLCJpc051bWJlciIsInBhcnNlSW50IiwicGFyZW50RmllbGRQYXRoIiwicmVtYWluaW5nUGF0aCIsImFycmF5RmllbGRQYXRoIiwicGFyZW50QXJyYXlGaWVsZCIsImdldEZpZWxkIiwicm93RmllbGQiLCJibG9ja1R5cGUiLCJibG9ja0NvbmZpZyIsIkVycm9yIiwiZ2V0Um93Q29uZmlnQnlQYXRoIiwicm93Q29uZmlnIiwicm93RmllbGRDb25maWdzIiwiZmllbGRLZXkiLCJhdCIsImFkZEZpZWxkUm93IiwicHJlZmVyZW5jZXMiLCJzdWJGaWVsZFN0YXRlIiwiYnVpbGRTdGF0ZUZyb21TY2hlbWEiLCJmaWVsZFNjaGVtYSIsInJlbW92ZUZpZWxkUm93IiwicmVwbGFjZUZpZWxkUm93IiwiZ2V0RmllbGRzIiwiZ2V0U2libGluZ0RhdGFGdW5jIiwiZ2V0RGF0YUJ5UGF0aCIsImdldERhdGFCeVBhdGhGdW5jIiwiZmlsZSIsImRhdGFXaXRoT3ZlcnJpZGVzIiwiZGF0YVRvU2VyaWFsaXplIiwiX3BheWxvYWQiLCJKU09OIiwic3RyaW5naWZ5Iiwic2VyaWFsaXplIiwiaW5kaWNlcyIsIm51bGxzQXNVbmRlZmluZWRzIiwicmVzZXQiLCJpbml0Q29udGV4dFN0YXRlIiwicmVwbGFjZVN0YXRlIiwidXNlRWZmZWN0IiwiYnVpbHRTdGF0ZSIsInVzZVRocm90dGxlZEVmZmVjdCIsImNsYXNzZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiZm9ybSIsIm5vVmFsaWRhdGUiLCJyZWYiLCJGb3JtQ29udGV4dCIsIlByb3ZpZGVyIiwiRm9ybVdhdGNoQ29udGV4dCIsIlN1Ym1pdHRlZENvbnRleHQiLCJQcm9jZXNzaW5nQ29udGV4dCIsIk1vZGlmaWVkQ29udGV4dCIsIkZvcm1GaWVsZHNDb250ZXh0IiwiV2F0Y2hGb3JtRXJyb3JzIl0sIm1hcHBpbmdzIjoiQUFBQSxrRUFBa0U7Ozs7K0JBc3FCbEU7OztlQUFBOzs7a0VBcnFCd0I7a0NBQ0U7K0RBQ2tEOzhCQUM3QztnQ0FDSjsrQkFDTDswQkFhRzs4QkFDSTt3Q0FDVTs2REFDdEI7cUJBQ1E7MkVBQ007c0JBQ1A7d0JBQ0U7OEJBQ007d0JBQ047bUNBQ0c7aUNBQ0c7cUNBQ0k7MEVBQ047NkVBQ0c7eUJBUTFCO3NFQUNtQjs4QkFDRztzRUFDQzt1RUFDQzt5RUFDRjs2RUFDSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpDLE1BQU1BLFlBQVk7QUFFbEIsTUFBTUMsT0FBd0IsQ0FBQ0M7SUFDN0IsTUFBTSxFQUNKQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsU0FBUyxFQUNU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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/Form/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/Form/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/RichText/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/RichText/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAGvE,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAIrC,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -9,18 +9,16 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _react = /*#__PURE__*/ _interop_require_default(require("react"));
|
|
12
|
-
const _Config = require("../../../utilities/Config");
|
|
13
12
|
function _interop_require_default(obj) {
|
|
14
13
|
return obj && obj.__esModule ? obj : {
|
|
15
14
|
default: obj
|
|
16
15
|
};
|
|
17
16
|
}
|
|
18
17
|
const RichText = (props)=>{
|
|
19
|
-
const config = (0, _Config.useConfig)();
|
|
20
18
|
// eslint-disable-next-line react/destructuring-assignment
|
|
21
|
-
const editor = props.editor
|
|
19
|
+
const editor = props.editor;
|
|
22
20
|
return /*#__PURE__*/ _react.default.createElement(editor.FieldComponent, props);
|
|
23
21
|
};
|
|
24
22
|
const _default = RichText;
|
|
25
23
|
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgUmljaFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFJpY2hUZXh0QWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmNvbnN0IFJpY2hUZXh0OiBSZWFjdC5GQzxSaWNoVGV4dEZpZWxkPiA9IChwcm9wcykgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGVzdHJ1Y3R1cmluZy1hc3NpZ25tZW50XG4gIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gcHJvcHMuZWRpdG9yXG4gIHJldHVybiA8ZWRpdG9yLkZpZWxkQ29tcG9uZW50IHsuLi5wcm9wc30gLz5cbn1cblxuZXhwb3J0IGRlZmF1bHQgUmljaFRleHRcbiJdLCJuYW1lcyI6WyJSaWNoVGV4dCIsInByb3BzIiwiZWRpdG9yIiwiRmllbGRDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBV0E7OztlQUFBOzs7OERBWGtCOzs7Ozs7QUFLbEIsTUFBTUEsV0FBb0MsQ0FBQ0M7SUFDekMsMERBQTBEO0lBQzFELE1BQU1DLFNBQTBCRCxNQUFNQyxNQUFNO0lBQzVDLHFCQUFPLDZCQUFDQSxPQUFPQyxjQUFjLEVBQUtGO0FBQ3BDO01BRUEsV0FBZUQifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { PayloadRequest } from '../../../../../express/types';
|
|
3
|
-
import type { RichTextField } from '../../../../../fields/config/types';
|
|
3
|
+
import type { RichTextField, Validate } from '../../../../../fields/config/types';
|
|
4
4
|
import type { CellComponentProps } from '../../../views/collections/List/Cell/types';
|
|
5
5
|
export type RichTextFieldProps<AdapterProps = unknown> = Omit<RichTextField<AdapterProps>, 'type'> & {
|
|
6
6
|
path?: string;
|
|
@@ -17,5 +17,6 @@ export type RichTextAdapter<AdapterProps = unknown> = {
|
|
|
17
17
|
showHiddenFields: boolean;
|
|
18
18
|
siblingDoc: Record<string, unknown>;
|
|
19
19
|
}) => Promise<void> | null;
|
|
20
|
+
validate: Validate<unknown, unknown, RichTextField<AdapterProps>>;
|
|
20
21
|
};
|
|
21
22
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/RichText/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/RichText/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAEpF,MAAM,MAAM,kBAAkB,CAAC,YAAY,GAAG,OAAO,IAAI,IAAI,CAC3D,aAAa,CAAC,YAAY,CAAC,EAC3B,MAAM,CACP,GAAG;IACF,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,YAAY,GAAG,OAAO,IAAI;IACpD,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACxE,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAA;IAC1D,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QACxB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;QAClC,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,GAAG,EAAE,cAAc,CAAA;QACnB,gBAAgB,EAAE,OAAO,CAAA;QACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACpC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAA;CAClE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/useField/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/useField/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AASjD;;;;GAIG;AACH,QAAA,MAAM,QAAQ,eAAiB,OAAO,iBAwIrC,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -12,6 +12,7 @@ const _react = require("react");
|
|
|
12
12
|
const _reacti18next = require("react-i18next");
|
|
13
13
|
const _useThrottledEffect = /*#__PURE__*/ _interop_require_default(require("../../../hooks/useThrottledEffect"));
|
|
14
14
|
const _Auth = require("../../utilities/Auth");
|
|
15
|
+
const _Config = require("../../utilities/Config");
|
|
15
16
|
const _DocumentInfo = require("../../utilities/DocumentInfo");
|
|
16
17
|
const _OperationProvider = require("../../utilities/OperationProvider");
|
|
17
18
|
const _context = require("../Form/context");
|
|
@@ -34,6 +35,7 @@ function _interop_require_default(obj) {
|
|
|
34
35
|
const field = (0, _context.useFormFields)(([fields])=>fields[path]);
|
|
35
36
|
const { t } = (0, _reacti18next.useTranslation)();
|
|
36
37
|
const dispatchField = (0, _context.useFormFields)(([_, dispatch])=>dispatch);
|
|
38
|
+
const config = (0, _Config.useConfig)();
|
|
37
39
|
const { getData, getSiblingData, setModified } = (0, _context.useForm)();
|
|
38
40
|
const value = field?.value;
|
|
39
41
|
const initialValue = field?.initialValue;
|
|
@@ -104,6 +106,7 @@ function _interop_require_default(obj) {
|
|
|
104
106
|
};
|
|
105
107
|
const validateOptions = {
|
|
106
108
|
id,
|
|
109
|
+
config,
|
|
107
110
|
data: getData(),
|
|
108
111
|
operation,
|
|
109
112
|
siblingData: getSiblingData(path),
|
|
@@ -141,4 +144,4 @@ function _interop_require_default(obj) {
|
|
|
141
144
|
};
|
|
142
145
|
const _default = useField;
|
|
143
146
|
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL3VzZUZpZWxkL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IFVQREFURSB9IGZyb20gJy4uL0Zvcm0vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkVHlwZSwgT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB1c2VUaHJvdHRsZWRFZmZlY3QgZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVGhyb3R0bGVkRWZmZWN0J1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BdXRoJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0NvbmZpZydcbmltcG9ydCB7IHVzZURvY3VtZW50SW5mbyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Eb2N1bWVudEluZm8nXG5pbXBvcnQgeyB1c2VPcGVyYXRpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvT3BlcmF0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyB1c2VGb3JtLCB1c2VGb3JtRmllbGRzLCB1c2VGb3JtUHJvY2Vzc2luZywgdXNlRm9ybVN1Ym1pdHRlZCB9IGZyb20gJy4uL0Zvcm0vY29udGV4dCdcblxuLyoqXG4gKiBHZXQgYW5kIHNldCB0aGUgdmFsdWUgb2YgYSBmb3JtIGZpZWxkLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2FkbWluL2hvb2tzI3VzZWZpZWxkXG4gKi9cbmNvbnN0IHVzZUZpZWxkID0gPFQsPihvcHRpb25zOiBPcHRpb25zKTogRmllbGRUeXBlPFQ+ID0+IHtcbiAgY29uc3QgeyBjb25kaXRpb24sIGRpc2FibGVGb3JtRGF0YSA9IGZhbHNlLCBoYXNSb3dzLCBwYXRoLCB2YWxpZGF0ZSB9ID0gb3B0aW9uc1xuXG4gIGNvbnN0IHN1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuICBjb25zdCBwcm9jZXNzaW5nID0gdXNlRm9ybVByb2Nlc3NpbmcoKVxuICBjb25zdCB7IHVzZXIgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7IGlkIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuICBjb25zdCBvcGVyYXRpb24gPSB1c2VPcGVyYXRpb24oKVxuICBjb25zdCBmaWVsZCA9IHVzZUZvcm1GaWVsZHMoKFtmaWVsZHNdKSA9PiBmaWVsZHNbcGF0aF0pXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCBkaXNwYXRjaEZpZWxkID0gdXNlRm9ybUZpZWxkcygoW18sIGRpc3BhdGNoXSkgPT4gZGlzcGF0Y2gpXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgeyBnZXREYXRhLCBnZXRTaWJsaW5nRGF0YSwgc2V0TW9kaWZpZWQgfSA9IHVzZUZvcm0oKVxuXG4gIGNvbnN0IHZhbHVlID0gZmllbGQ/LnZhbHVlIGFzIFRcbiAgY29uc3QgaW5pdGlhbFZhbHVlID0gZmllbGQ/LmluaXRpYWxWYWx1ZSBhcyBUXG4gIGNvbnN0IHZhbGlkID0gdHlwZW9mIGZpZWxkPy52YWxpZCA9PT0gJ2Jvb2xlYW4nID8gZmllbGQudmFsaWQgOiB0cnVlXG4gIGNvbnN0IHNob3dFcnJvciA9IHZhbGlkID09PSBmYWxzZSAmJiBzdWJtaXR0ZWRcblxuICAvLyBNZXRob2QgdG8gcmV0dXJuIGZyb20gYHVzZUZpZWxkYCwgdXNlZCB0b1xuICAvLyB1cGRhdGUgZmllbGQgdmFsdWVzIGZyb20gZmllbGQgY29tcG9uZW50KHMpXG4gIGNvbnN0IHNldFZhbHVlID0gdXNlQ2FsbGJhY2soXG4gICAgKGUsIGRpc2FibGVNb2RpZnlpbmdGb3JtID0gZmFsc2UpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IGUgJiYgZS50YXJnZXQgPyBlLnRhcmdldC52YWx1ZSA6IGVcblxuICAgICAgaWYgKCFkaXNhYmxlTW9kaWZ5aW5nRm9ybSkge1xuICAgICAgICBpZiAodHlwZW9mIHNldE1vZGlmaWVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gVXBkYXRlIG1vZGlmaWVkIHN0YXRlIGFmdGVyIGZpZWxkIHZhbHVlIGNvbWVzIGJhY2tcbiAgICAgICAgICAvLyB0byBhdm9pZCBjdXJzb3IganVtcCBjYXVzZWQgYnkgc3RhdGUgdmFsdWUgLyBET00gbWlzbWF0Y2hcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHNldE1vZGlmaWVkKHRydWUpXG4gICAgICAgICAgfSwgMTApXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2hGaWVsZCh7XG4gICAgICAgIGRpc2FibGVGb3JtRGF0YTogZGlzYWJsZUZvcm1EYXRhIHx8IChoYXNSb3dzICYmIHZhbCA+IDApLFxuICAgICAgICBwYXRoLFxuICAgICAgICB0eXBlOiAnVVBEQVRFJyxcbiAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbc2V0TW9kaWZpZWQsIHBhdGgsIGRpc3BhdGNoRmllbGQsIGRpc2FibGVGb3JtRGF0YSwgaGFzUm93c10sXG4gIClcblxuICAvLyBTdG9yZSByZXN1bHQgZnJvbSBob29rIGFzIHJlZlxuICAvLyB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IHJlcmVuZGVyc1xuICBjb25zdCByZXN1bHQ6IEZpZWxkVHlwZTxUPiA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGVycm9yTWVzc2FnZTogZmllbGQ/LmVycm9yTWVzc2FnZSxcbiAgICAgIGZvcm1Qcm9jZXNzaW5nOiBwcm9jZXNzaW5nLFxuICAgICAgZm9ybVN1Ym1pdHRlZDogc3VibWl0dGVkLFxuICAgICAgaW5pdGlhbFZhbHVlLFxuICAgICAgcm93czogZmllbGQ/LnJvd3MsXG4gICAgICBzZXRWYWx1ZSxcbiAgICAgIHNob3dFcnJvcixcbiAgICAgIHZhbGlkOiBmaWVsZD8udmFsaWQsXG4gICAgICB2YWx1ZSxcbiAgICB9KSxcbiAgICBbXG4gICAgICBmaWVsZD8uZXJyb3JNZXNzYWdlLFxuICAgICAgZmllbGQ/LnJvd3MsXG4gICAgICBmaWVsZD8udmFsaWQsXG4gICAgICBwcm9jZXNzaW5nLFxuICAgICAgc2V0VmFsdWUsXG4gICAgICBzaG93RXJyb3IsXG4gICAgICBzdWJtaXR0ZWQsXG4gICAgICB2YWx1ZSxcbiAgICAgIGluaXRpYWxWYWx1ZSxcbiAgICBdLFxuICApXG5cbiAgLy8gVGhyb3R0bGUgdGhlIHZhbGlkYXRlIGZ1bmN0aW9uXG4gIHVzZVRocm90dGxlZEVmZmVjdChcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCB2YWxpZGF0ZUZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBhY3Rpb246IFVQREFURSA9IHtcbiAgICAgICAgICBjb25kaXRpb24sXG4gICAgICAgICAgZGlzYWJsZUZvcm1EYXRhOlxuICAgICAgICAgICAgZGlzYWJsZUZvcm1EYXRhIHx8IChoYXNSb3dzID8gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSA+IDAgOiBmYWxzZSksXG4gICAgICAgICAgZXJyb3JNZXNzYWdlOiB1bmRlZmluZWQsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByb3dzOiBmaWVsZD8ucm93cyxcbiAgICAgICAgICB0eXBlOiAnVVBEQVRFJyxcbiAgICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgICAgdmFsaWRhdGUsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWxpZGF0ZU9wdGlvbnMgPSB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGRhdGE6IGdldERhdGEoKSxcbiAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgc2libGluZ0RhdGE6IGdldFNpYmxpbmdEYXRhKHBhdGgpLFxuICAgICAgICAgIHQsXG4gICAgICAgICAgdXNlcixcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPVxuICAgICAgICAgIHR5cGVvZiB2YWxpZGF0ZSA9PT0gJ2Z1bmN0aW9uJyA/IGF3YWl0IHZhbGlkYXRlKHZhbHVlLCB2YWxpZGF0ZU9wdGlvbnMpIDogdHJ1ZVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvblJlc3VsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBhY3Rpb24uZXJyb3JNZXNzYWdlID0gdmFsaWRhdGlvblJlc3VsdFxuICAgICAgICAgIGFjdGlvbi52YWxpZCA9IGZhbHNlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWN0aW9uLnZhbGlkID0gdmFsaWRhdGlvblJlc3VsdFxuICAgICAgICAgIGFjdGlvbi5lcnJvck1lc3NhZ2UgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgZGlzcGF0Y2hGaWVsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIGRpc3BhdGNoRmllbGQoYWN0aW9uKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhbGlkYXRlRmllbGQoKVxuICAgIH0sXG4gICAgMTUwLFxuICAgIFtcbiAgICAgIHZhbHVlLFxuICAgICAgY29uZGl0aW9uLFxuICAgICAgZGlzYWJsZUZvcm1EYXRhLFxuICAgICAgZGlzcGF0Y2hGaWVsZCxcbiAgICAgIGdldERhdGEsXG4gICAgICBnZXRTaWJsaW5nRGF0YSxcbiAgICAgIGlkLFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgcGF0aCxcbiAgICAgIHVzZXIsXG4gICAgICB2YWxpZGF0ZSxcbiAgICAgIGZpZWxkPy5yb3dzLFxuICAgIF0sXG4gIClcblxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZUZpZWxkXG4iXSwibmFtZXMiOlsidXNlRmllbGQiLCJvcHRpb25zIiwiY29uZGl0aW9uIiwiZGlzYWJsZUZvcm1EYXRhIiwiaGFzUm93cyIsInBhdGgiLCJ2YWxpZGF0ZSIsInN1Ym1pdHRlZCIsInVzZUZvcm1TdWJtaXR0ZWQiLCJwcm9jZXNzaW5nIiwidXNlRm9ybVByb2Nlc3NpbmciLCJ1c2VyIiwidXNlQXV0aCIsImlkIiwidXNlRG9jdW1lbnRJbmZvIiwib3BlcmF0aW9uIiwidXNlT3BlcmF0aW9uIiwiZmllbGQiLCJ1c2VGb3JtRmllbGRzIiwiZmllbGRzIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiZGlzcGF0Y2hGaWVsZCIsIl8iLCJkaXNwYXRjaCIsImNvbmZpZyIsInVzZUNvbmZpZyIsImdldERhdGEiLCJnZXRTaWJsaW5nRGF0YSIsInNldE1vZGlmaWVkIiwidXNlRm9ybSIsInZhbHVlIiwiaW5pdGlhbFZhbHVlIiwidmFsaWQiLCJzaG93RXJyb3IiLCJzZXRWYWx1ZSIsInVzZUNhbGxiYWNrIiwiZSIsImRpc2FibGVNb2RpZnlpbmdGb3JtIiwidmFsIiwidGFyZ2V0Iiwic2V0VGltZW91dCIsInR5cGUiLCJyZXN1bHQiLCJ1c2VNZW1vIiwiZXJyb3JNZXNzYWdlIiwiZm9ybVByb2Nlc3NpbmciLCJmb3JtU3VibWl0dGVkIiwicm93cyIsInVzZVRocm90dGxlZEVmZmVjdCIsInZhbGlkYXRlRmllbGQiLCJhY3Rpb24iLCJ1bmRlZmluZWQiLCJ2YWxpZGF0ZU9wdGlvbnMiLCJkYXRhIiwic2libGluZ0RhdGEiLCJ2YWxpZGF0aW9uUmVzdWx0Il0sIm1hcHBpbmdzIjoiOzs7OytCQTRKQTs7O2VBQUE7Ozt1QkE1SnFDOzhCQUNOOzJFQUtBO3NCQUNQO3dCQUNFOzhCQUNNO21DQUNIO3lCQUMrQzs7Ozs7O0FBRTVFOzs7O0NBSUMsR0FDRCxNQUFNQSxXQUFXLENBQUtDO0lBQ3BCLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxrQkFBa0IsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFLEdBQUdMO0lBRXhFLE1BQU1NLFlBQVlDLElBQUFBLHlC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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/views/API/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAa9B,OAAO,cAAc,CAAA;AAiJrB,eAAO,MAAM,GAAG;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/views/API/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAa9B,OAAO,cAAc,CAAA;AAiJrB,eAAO,MAAM,GAAG;;uBA4If,CAAA"}
|