payload 2.0.13 → 2.0.15
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/components/forms.d.ts +2 -0
- package/components/forms.js +13 -5
- package/components/index.js +1 -1
- package/components/styles.css +1 -1
- package/dist/admin/components/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/admin/components/elements/DatePicker/DatePicker.js +16 -4
- package/dist/admin/components/elements/DatePicker/types.d.ts +2 -0
- package/dist/admin/components/elements/DatePicker/types.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +2 -2
- package/dist/admin/components/elements/DocumentFields/index.d.ts +1 -0
- package/dist/admin/components/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentFields/index.js +6 -5
- package/dist/admin/components/elements/DocumentFields/index.scss +29 -0
- package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts +3 -2
- package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.js +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts +10 -0
- package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +1 -0
- package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.js +24 -0
- package/dist/admin/components/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/index.js +28 -12
- package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.d.ts +4 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.js +26 -17
- package/dist/admin/components/elements/DocumentHeader/Tabs/types.d.ts +2 -2
- package/dist/admin/components/elements/DocumentHeader/Tabs/types.d.ts.map +1 -1
- package/dist/admin/components/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DuplicateDocument/index.js +27 -42
- package/dist/admin/components/elements/FileDetails/index.scss +1 -1
- package/dist/admin/components/elements/ListControls/index.d.ts.map +1 -1
- package/dist/admin/components/elements/ListControls/index.js +5 -7
- package/dist/admin/components/elements/ListControls/index.scss +3 -6
- package/dist/admin/components/elements/Nav/NavToggler/index.js +2 -2
- package/dist/admin/components/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/admin/components/elements/SortColumn/index.js +7 -5
- package/dist/admin/components/elements/StepNav/index.d.ts.map +1 -1
- package/dist/admin/components/elements/StepNav/index.js +11 -5
- package/dist/admin/components/elements/StepNav/index.scss +2 -0
- package/dist/admin/components/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/admin/components/elements/Tooltip/index.js +15 -6
- package/dist/admin/components/elements/Tooltip/index.scss +24 -1
- package/dist/admin/components/elements/Tooltip/types.d.ts +1 -0
- package/dist/admin/components/elements/Tooltip/types.d.ts.map +1 -1
- package/dist/admin/components/forms/Error/index.js +3 -2
- package/dist/admin/components/forms/Error/index.scss +2 -1
- package/dist/admin/components/forms/Error/types.d.ts +1 -0
- package/dist/admin/components/forms/Error/types.d.ts.map +1 -1
- package/dist/admin/components/forms/RenderFields/filterFields.d.ts.map +1 -1
- package/dist/admin/components/forms/RenderFields/filterFields.js +12 -5
- package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/Input.js +2 -2
- package/dist/admin/components/forms/field-types/Checkbox/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/index.js +5 -3
- package/dist/admin/components/forms/field-types/DateTime/Input.d.ts +21 -0
- package/dist/admin/components/forms/field-types/DateTime/Input.d.ts.map +1 -0
- package/dist/admin/components/forms/field-types/DateTime/Input.js +65 -0
- package/dist/admin/components/forms/field-types/DateTime/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/DateTime/index.js +15 -41
- package/dist/admin/components/forms/field-types/RichText/types.d.ts +7 -7
- package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Tabs/index.js +2 -2
- package/dist/admin/components/forms/field-types/Text/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Text/Input.js +2 -2
- package/dist/admin/components/views/Account/Default.d.ts.map +1 -1
- package/dist/admin/components/views/Account/Default.js +3 -3
- package/dist/admin/components/views/Account/index.js +2 -2
- package/dist/admin/components/views/Global/Routes/custom.js +3 -3
- package/dist/admin/components/views/LivePreview/index.d.ts.map +1 -1
- package/dist/admin/components/views/LivePreview/index.js +12 -22
- package/dist/admin/components/views/LivePreview/index.scss +0 -24
- package/dist/admin/components/views/Version/Compare/index.d.ts.map +1 -1
- package/dist/admin/components/views/Version/Compare/index.js +7 -6
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +4 -2
- package/dist/admin/components/views/Versions/index.d.ts.map +1 -1
- package/dist/admin/components/views/Versions/index.js +3 -3
- package/dist/admin/components/views/collections/Edit/Routes/custom.js +3 -3
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.js +3 -2
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +3 -2
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/registerFirstUser.js +3 -2
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js +3 -2
- package/dist/auth/operations/unlock.d.ts.map +1 -1
- package/dist/auth/operations/unlock.js +3 -2
- package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/verifyEmail.js +3 -2
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +3 -1
- package/dist/collections/config/types.d.ts +11 -10
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js +1 -1
- package/dist/collections/dataloader.js +5 -5
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +8 -18
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +3 -2
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +3 -2
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +3 -2
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +11 -6
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +3 -2
- package/dist/collections/operations/findVersions.d.ts +1 -0
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +5 -3
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +3 -2
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +3 -2
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +3 -2
- package/dist/collections/requestHandlers/findVersions.js +1 -1
- package/dist/config/sanitize.js +4 -4
- package/dist/config/shared/componentSchema.js +3 -3
- package/dist/config/types.d.ts +16 -5
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +1 -1
- package/dist/database/queryValidation/validateSearchParams.js +2 -2
- package/dist/exports/components/forms.d.ts +2 -0
- package/dist/exports/components/forms.d.ts.map +1 -1
- package/dist/exports/components/forms.js +13 -5
- package/dist/exports/types.d.ts +1 -1
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js +7 -1
- package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
- package/dist/fields/baseFields/baseIDField.js +2 -2
- package/dist/fields/config/types.d.ts +3 -4
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/globals/config/types.d.ts +11 -10
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +3 -2
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +5 -2
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +8 -3
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +5 -2
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +5 -2
- package/dist/graphql/schema/buildMutationInputType.d.ts.map +1 -1
- package/dist/graphql/schema/buildMutationInputType.js +8 -11
- package/dist/graphql/schema/buildObjectType.d.ts.map +1 -1
- package/dist/graphql/schema/buildObjectType.js +1 -2
- package/dist/graphql/schema/buildWhereInputType.d.ts.map +1 -1
- package/dist/graphql/schema/buildWhereInputType.js +22 -13
- package/dist/graphql/schema/withOperators.d.ts.map +1 -1
- package/dist/graphql/schema/withOperators.js +8 -11
- package/dist/preferences/operations/update.js +4 -4
- package/dist/translations/ar.json +3 -2
- package/dist/translations/az.json +3 -2
- package/dist/translations/bg.json +3 -2
- package/dist/translations/cs.json +3 -2
- package/dist/translations/de.json +3 -2
- package/dist/translations/en.json +1 -0
- package/dist/translations/es.json +3 -2
- package/dist/translations/fa.json +3 -2
- package/dist/translations/fr.json +3 -2
- package/dist/translations/hr.json +3 -2
- package/dist/translations/hu.json +3 -2
- package/dist/translations/index.d.ts +51 -25
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/translations/it.json +3 -2
- package/dist/translations/ja.json +3 -2
- package/dist/translations/my.json +3 -2
- package/dist/translations/nb.json +3 -2
- package/dist/translations/nl.json +3 -2
- package/dist/translations/pl.json +6 -5
- package/dist/translations/pt.json +3 -2
- package/dist/translations/ro.json +3 -2
- package/dist/translations/ru.json +3 -2
- package/dist/translations/sv.json +3 -2
- package/dist/translations/th.json +3 -2
- package/dist/translations/tr.json +3 -2
- package/dist/translations/translation-schema.json +3 -0
- package/dist/translations/ua.json +3 -2
- package/dist/translations/vi.json +3 -2
- package/dist/translations/zh.json +3 -2
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +17 -2
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +19 -16
- package/dist/utilities/commitTransaction.d.ts +6 -0
- package/dist/utilities/commitTransaction.d.ts.map +1 -0
- package/dist/utilities/commitTransaction.js +17 -0
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +95 -107
- package/dist/utilities/configToJSONSchema.spec.js +12 -6
- package/dist/utilities/parseCookies.d.ts.map +1 -1
- package/dist/utilities/parseCookies.js +10 -2
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +5 -1
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +8 -10
- package/package.json +1 -1
- package/types.d.ts +1 -1
- package/types.js +7 -1
|
@@ -358,7 +358,6 @@ function buildObjectType({ name, baseFields = {}, fields, forceNullable, parentN
|
|
|
358
358
|
if ((0, _types.tabHasName)(tab)) {
|
|
359
359
|
const interfaceName = tab?.interfaceName || (0, _combineParentName.default)(parentName, (0, _formatLabels.toWords)(tab.name, true));
|
|
360
360
|
if (!payload.types.tabTypes[interfaceName]) {
|
|
361
|
-
// eslint-disable-next-line no-param-reassign
|
|
362
361
|
payload.types.tabTypes[interfaceName] = buildObjectType({
|
|
363
362
|
name: interfaceName,
|
|
364
363
|
fields: tab.fields,
|
|
@@ -474,4 +473,4 @@ function buildObjectType({ name, baseFields = {}, fields, forceNullable, parentN
|
|
|
474
473
|
}
|
|
475
474
|
const _default = buildObjectType;
|
|
476
475
|
|
|
477
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE9iamVjdFR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1hd2FpdC1pbi1sb29wICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFMRmllbGRDb25maWcsIEdyYXBoUUxUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxFbnVtVHlwZSxcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTE5vbk51bGwsXG4gIEdyYXBoUUxPYmplY3RUeXBlLFxuICBHcmFwaFFMU3RyaW5nLFxuICBHcmFwaFFMVW5pb25UeXBlLFxufSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHsgRGF0ZVRpbWVSZXNvbHZlciwgRW1haWxBZGRyZXNzUmVzb2x2ZXIgfSBmcm9tICdncmFwaHFsLXNjYWxhcnMnXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuaW1wb3J0IHsgR3JhcGhRTEpTT04gfSBmcm9tICdncmFwaHFsLXR5cGUtanNvbidcblxuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIENvbGxhcHNpYmxlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgRmllbGQsXG4gIEdyb3VwRmllbGQsXG4gIEpTT05GaWVsZCxcbiAgTnVtYmVyRmllbGQsXG4gIFBvaW50RmllbGQsXG4gIFJhZGlvRmllbGQsXG4gIFJlbGF0aW9uc2hpcEZpZWxkLFxuICBSaWNoVGV4dEZpZWxkLFxuICBSb3dGaWVsZCxcbiAgU2VsZWN0RmllbGQsXG4gIFRhYnNGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uLy4uL3BheWxvYWQnXG5cbmltcG9ydCB7IHRhYkhhc05hbWUgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5pbXBvcnQgY29tYmluZVBhcmVudE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2NvbWJpbmVQYXJlbnROYW1lJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgZm9ybWF0T3B0aW9ucyBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0T3B0aW9ucydcbmltcG9ydCBidWlsZFdoZXJlSW5wdXRUeXBlIGZyb20gJy4vYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBpc0ZpZWxkTnVsbGFibGUgZnJvbSAnLi9pc0ZpZWxkTnVsbGFibGUnXG5pbXBvcnQgd2l0aE51bGxhYmxlVHlwZSBmcm9tICcuL3dpdGhOdWxsYWJsZVR5cGUnXG5cbnR5cGUgTG9jYWxlSW5wdXRUeXBlID0ge1xuICBmYWxsYmFja0xvY2FsZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbiAgbG9jYWxlOiB7XG4gICAgdHlwZTogR3JhcGhRTFR5cGVcbiAgfVxuICB3aGVyZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgT2JqZWN0VHlwZUNvbmZpZyA9IHtcbiAgW3BhdGg6IHN0cmluZ106IEdyYXBoUUxGaWVsZENvbmZpZzxhbnksIGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBiYXNlRmllbGRzPzogT2JqZWN0VHlwZUNvbmZpZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VOdWxsYWJsZT86IGJvb2xlYW5cbiAgbmFtZTogc3RyaW5nXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xuICBwYXlsb2FkOiBQYXlsb2FkXG59XG5cbmZ1bmN0aW9uIGJ1aWxkT2JqZWN0VHlwZSh7XG4gIG5hbWUsXG4gIGJhc2VGaWVsZHMgPSB7fSxcbiAgZmllbGRzLFxuICBmb3JjZU51bGxhYmxlLFxuICBwYXJlbnROYW1lLFxuICBwYXlsb2FkLFxufTogQXJncyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRUb1NjaGVtYU1hcCA9IHtcbiAgICBhcnJheTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBBcnJheUZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFwYXlsb2FkLnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIHBheWxvYWQudHlwZXMuYXJyYXlUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXJyYXlUeXBlID0gbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChwYXlsb2FkLnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgYXJyYXlUeXBlKSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgYmxvY2tzOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEJsb2NrRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGJsb2NrVHlwZXMgPSBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICBpZiAoIXBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXSkge1xuICAgICAgICAgIGNvbnN0IGludGVyZmFjZU5hbWUgPVxuICAgICAgICAgICAgYmxvY2s/LmludGVyZmFjZU5hbWUgfHwgYmxvY2s/LmdyYXBoUUw/LnNpbmd1bGFyTmFtZSB8fCB0b1dvcmRzKGJsb2NrLnNsdWcsIHRydWUpXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgcGF5bG9hZC50eXBlcy5ibG9ja1R5cGVzW2Jsb2NrLnNsdWddID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgLi4uYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2Jsb2NrVHlwZScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXVxuICAgICAgfSlcblxuICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKGZpZWxkLm5hbWUsIHRydWUpKVxuXG4gICAgICBjb25zdCB0eXBlID0gbmV3IEdyYXBoUUxMaXN0KFxuICAgICAgICBuZXcgR3JhcGhRTE5vbk51bGwoXG4gICAgICAgICAgbmV3IEdyYXBoUUxVbmlvblR5cGUoe1xuICAgICAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgICAgICByZXNvbHZlVHlwZTogKGRhdGEpID0+IHBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tkYXRhLmJsb2NrVHlwZV0ubmFtZSxcbiAgICAgICAgICAgIHR5cGVzOiBibG9ja1R5cGVzLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSkgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGNoZWNrYm94OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENoZWNrYm94RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxCb29sZWFuLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGNvZGU6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29kZUZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGNvbGxhcHNpYmxlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBhZGRTdWJGaWVsZCA9IGZpZWxkVG9TY2hlbWFNYXBbc3ViRmllbGQudHlwZV1cbiAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQob2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkcywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzXG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICBkYXRlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IERhdGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgRGF0ZVRpbWVSZXNvbHZlciwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBlbWFpbDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBFbWFpbEFkZHJlc3NSZXNvbHZlciwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBncm91cDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBHcm91cEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFwYXlsb2FkLnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIHBheWxvYWQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBKU09ORmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgZmllbGQ/Lmhhc01hbnkgPT09IHRydWUgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlLFxuICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgcG9pbnQ6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUG9pbnRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxGbG9hdCkpLFxuICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJhZGlvRmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKSxcbiAgICAgICAgICAgIHZhbHVlczogZm9ybWF0T3B0aW9ucyhmaWVsZCksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCB7IHJlbGF0aW9uVG8gfSA9IGZpZWxkXG4gICAgICBjb25zdCBpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbylcbiAgICAgIGNvbnN0IGhhc01hbnlWYWx1ZXMgPSBmaWVsZC5oYXNNYW55XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgbGV0IHR5cGVcbiAgICAgIGxldCByZWxhdGlvblRvVHlwZSA9IG51bGxcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykpIHtcbiAgICAgICAgcmVsYXRpb25Ub1R5cGUgPSBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtyZWxhdGlvbnNoaXBOYW1lfV9SZWxhdGlvblRvYCxcbiAgICAgICAgICB2YWx1ZXM6IHJlbGF0aW9uVG8ucmVkdWNlKFxuICAgICAgICAgICAgKHJlbGF0aW9ucywgcmVsYXRpb24pID0+ICh7XG4gICAgICAgICAgICAgIC4uLnJlbGF0aW9ucyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUocmVsYXRpb24pXToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiByZWxhdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKSxcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCB0eXBlcyA9IHJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4gcGF5bG9hZC5jb2xsZWN0aW9uc1tyZWxhdGlvbl0uZ3JhcGhRTC50eXBlKVxuXG4gICAgICAgIHR5cGUgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGAke3JlbGF0aW9uc2hpcE5hbWV9X1JlbGF0aW9uc2hpcGAsXG4gICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICByZWxhdGlvblRvOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHJlbGF0aW9uVG9UeXBlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMVW5pb25UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgICAgICAgIGFzeW5jIHJlc29sdmVUeXBlKGRhdGEsIHsgcmVxIH0pIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBwYXlsb2FkLmNvbGxlY3Rpb25zW2RhdGEuY29sbGVjdGlvbl0uZ3JhcGhRTC50eXBlLm5hbWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHR5cGVzLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIDsoeyB0eXBlIH0gPSBwYXlsb2FkLmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmdyYXBoUUwpXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSByZWxhdGlvbnNoaXBUeXBlIGlzIHVuZGVmaW5lZCBhdCB0aGlzIHBvaW50LFxuICAgICAgLy8gaXQgY2FuIGJlIGFzc3VtZWQgdGhhdCB0aGlzIGJsb2NrVHlwZSBjYW4gaGF2ZSBhIHJlbGF0aW9uc2hpcFxuICAgICAgLy8gdG8gaXRzZWxmLiBUaGVyZWZvcmUsIHdlIHNldCB0aGUgcmVsYXRpb25zaGlwVHlwZSBlcXVhbCB0byB0aGUgYmxvY2tUeXBlXG4gICAgICAvLyB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBjcmVhdGVkLlxuXG4gICAgICB0eXBlID0gdHlwZSB8fCBuZXdseUNyZWF0ZWRCbG9ja1R5cGVcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQXJnczoge1xuICAgICAgICBmYWxsYmFja0xvY2FsZT86IHVua25vd25cbiAgICAgICAgbGltaXQ/OiB1bmtub3duXG4gICAgICAgIGxvY2FsZT86IHVua25vd25cbiAgICAgICAgcGFnZT86IHVua25vd25cbiAgICAgICAgd2hlcmU/OiB1bmtub3duXG4gICAgICB9ID0ge31cblxuICAgICAgaWYgKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICByZWxhdGlvbnNoaXBBcmdzLmxvY2FsZSA9IHtcbiAgICAgICAgICB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSxcbiAgICAgICAgfVxuXG4gICAgICAgIHJlbGF0aW9uc2hpcEFyZ3MuZmFsbGJhY2tMb2NhbGUgPSB7XG4gICAgICAgICAgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZWxhdGlvbnNoaXAgPSB7XG4gICAgICAgIGFyZ3M6IHJlbGF0aW9uc2hpcEFyZ3MsXG4gICAgICAgIGV4dGVuc2lvbnM6IHsgY29tcGxleGl0eTogMTAgfSxcbiAgICAgICAgYXN5bmMgcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHQpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmVudFtmaWVsZC5uYW1lXVxuICAgICAgICAgIGNvbnN0IGxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGNvbnRleHQucmVxLmxvY2FsZVxuICAgICAgICAgIGNvbnN0IGZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZSB8fCBjb250ZXh0LnJlcS5mYWxsYmFja0xvY2FsZVxuICAgICAgICAgIGxldCByZWxhdGVkQ29sbGVjdGlvblNsdWcgPSBmaWVsZC5yZWxhdGlvblRvXG5cbiAgICAgICAgICBpZiAoaGFzTWFueVZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdXG4gICAgICAgICAgICBjb25zdCByZXN1bHRQcm9taXNlcyA9IFtdXG5cbiAgICAgICAgICAgIGNvbnN0IGNyZWF0ZVBvcHVsYXRpb25Qcm9taXNlID0gYXN5bmMgKHJlbGF0ZWREb2MsIGkpID0+IHtcbiAgICAgICAgICAgICAgbGV0IGlkID0gcmVsYXRlZERvY1xuICAgICAgICAgICAgICBsZXQgY29sbGVjdGlvblNsdWcgPSBmaWVsZC5yZWxhdGlvblRvXG5cbiAgICAgICAgICAgICAgaWYgKGlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvblNsdWcgPSByZWxhdGVkRG9jLnJlbGF0aW9uVG9cbiAgICAgICAgICAgICAgICBpZCA9IHJlbGF0ZWREb2MudmFsdWVcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5yZXEudHJhbnNhY3Rpb25JRCxcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdHNbaV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0c1tpXSA9IHJlc3VsdFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgocmVsYXRlZERvYywgaSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdFByb21pc2VzLnB1c2goY3JlYXRlUG9wdWxhdGlvblByb21pc2UocmVsYXRlZERvYywgaSkpXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHJlc3VsdFByb21pc2VzKVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHNcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgaWQgPSB2YWx1ZVxuICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgaWQgPSB2YWx1ZS52YWx1ZVxuICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnID0gdmFsdWUucmVsYXRpb25Ub1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgY29uc3QgcmVsYXRlZERvY3VtZW50ID0gYXdhaXQgY29udGV4dC5yZXEucGF5bG9hZERhdGFMb2FkZXIubG9hZChcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgIGNvbnRleHQucmVxLnRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBpZiAocmVsYXRlZERvY3VtZW50KSB7XG4gICAgICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiByZWxhdGVkQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAuLi5yZWxhdGVkRG9jdW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlbGF0ZWREb2N1bWVudFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgaGFzTWFueVZhbHVlcyA/IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwodHlwZSkpIDogdHlwZSxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICApLFxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHJlbGF0aW9uc2hpcCxcbiAgICAgIH1cbiAgICB9LFxuICAgIHJpY2hUZXh0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJpY2hUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBkZXB0aDoge1xuICAgICAgICAgICAgdHlwZTogR3JhcGhRTEludCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhc3luYyByZXNvbHZlKHBhcmVudCwgYXJncywgY29udGV4dCkge1xuICAgICAgICAgIGxldCBkZXB0aCA9IHBheWxvYWQuY29uZmlnLmRlZmF1bHREZXB0aFxuICAgICAgICAgIGlmICh0eXBlb2YgYXJncy5kZXB0aCAhPT0gJ3VuZGVmaW5lZCcpIGRlcHRoID0gYXJncy5kZXB0aFxuICAgICAgICAgIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gZmllbGQ/LmVkaXRvclxuXG4gICAgICAgICAgLy8gUmljaFRleHQgZmllbGRzIGhhdmUgdGhlaXIgb3duIGRlcHRoIGFyZ3VtZW50IGluIEdyYXBoUUwuXG4gICAgICAgICAgLy8gVGhpcyBpcyB3aHkgdGhlIHBvcHVsYXRpb25Qcm9taXNlICh3aGljaCBwb3B1bGF0ZXMgcmljaHRleHQgZmllbGRzIGxpa2UgdXBsb2FkcyBhbmQgcmVsYXRpb25zaGlwcylcbiAgICAgICAgICAvLyBpcyBydW4gaGVyZSBhZ2Fpbiwgd2l0aCB0aGUgcHJvdmlkZWQgZGVwdGguXG4gICAgICAgICAgLy8gSW4gdGhlIGdyYXBocWwgZmluZC50cyByZXNvbHZlciwgdGhlIGRlcHRoIGlzIHRoZW4gaGFyZC1jb2RlZCB0byAwLlxuICAgICAgICAgIC8vIEVmZmVjdGl2ZWx5LCB0aGlzIG1lYW5zIHRoYXQgdGhlIHBvcHVsYXRpb25Qcm9taXNlIGZvciBHcmFwaFFMIGlzIG9ubHkgcnVuIGhlcmUsIGFuZCBub3QgaW4gdGhlIGZpbmQudHMgcmVzb2x2ZXIgLyBub3JtYWwgcG9wdWxhdGlvbiBwcm9taXNlLlxuICAgICAgICAgIGlmIChlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKSB7XG4gICAgICAgICAgICBhd2FpdCBlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKHtcbiAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICByZXE6IGNvbnRleHQucmVxLFxuICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzOiBmYWxzZSxcbiAgICAgICAgICAgICAgc2libGluZ0RvYzogcGFyZW50LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcGFyZW50W2ZpZWxkLm5hbWVdXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcm93OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJvd0ZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgob2JqZWN0VHlwZUNvbmZpZ1dpdGhSb3dGaWVsZHMsIHN1YkZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkc1xuICAgICAgfSwgb2JqZWN0VHlwZUNvbmZpZyksXG4gICAgc2VsZWN0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFNlbGVjdEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpXG5cbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgdmFsdWVzOiBmb3JtYXRPcHRpb25zKGZpZWxkKSxcbiAgICAgIH0pXG5cbiAgICAgIHR5cGUgPSBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbCh0eXBlKSkgOiB0eXBlXG4gICAgICB0eXBlID0gd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSwgZm9yY2VOdWxsYWJsZSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYnM6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGFic0ZpZWxkKSA9PlxuICAgICAgZmllbGQudGFicy5yZWR1Y2UoKHRhYlNjaGVtYSwgdGFiKSA9PiB7XG4gICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgICAgIHRhYj8uaW50ZXJmYWNlTmFtZSB8fCBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKHRhYi5uYW1lLCB0cnVlKSlcblxuICAgICAgICAgIGlmICghcGF5bG9hZC50eXBlcy50YWJUeXBlc1tpbnRlcmZhY2VOYW1lXSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgICBwYXlsb2FkLnR5cGVzLnRhYlR5cGVzW2ludGVyZmFjZU5hbWVdID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGFiU2NoZW1hLFxuICAgICAgICAgICAgW3RhYi5uYW1lXTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLnRhYlR5cGVzW2ludGVyZmFjZU5hbWVdIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50YWJTY2hlbWEsXG4gICAgICAgICAgLi4udGFiLmZpZWxkcy5yZWR1Y2UoKHN1YkZpZWxkU2NoZW1hLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpXG4gICAgICAgICAgICByZXR1cm4gc3ViRmllbGRTY2hlbWFcbiAgICAgICAgICB9LCB0YWJTY2hlbWEpLFxuICAgICAgICB9XG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICB0ZXh0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICB0ZXh0YXJlYTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0YXJlYUZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHVwbG9hZDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBVcGxvYWRGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgeyByZWxhdGlvblRvIH0gPSBmaWVsZFxuXG4gICAgICBjb25zdCB1cGxvYWROYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgLy8gSWYgdGhlIHJlbGF0aW9uc2hpcFR5cGUgaXMgdW5kZWZpbmVkIGF0IHRoaXMgcG9pbnQsXG4gICAgICAvLyBpdCBjYW4gYmUgYXNzdW1lZCB0aGF0IHRoaXMgYmxvY2tUeXBlIGNhbiBoYXZlIGEgcmVsYXRpb25zaGlwXG4gICAgICAvLyB0byBpdHNlbGYuIFRoZXJlZm9yZSwgd2Ugc2V0IHRoZSByZWxhdGlvbnNoaXBUeXBlIGVxdWFsIHRvIHRoZSBibG9ja1R5cGVcbiAgICAgIC8vIHRoYXQgaXMgY3VycmVudGx5IGJlaW5nIGNyZWF0ZWQuXG5cbiAgICAgIGNvbnN0IHR5cGUgPSB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgcGF5bG9hZC5jb2xsZWN0aW9uc1tyZWxhdGlvblRvXS5ncmFwaFFMLnR5cGUgfHwgbmV3bHlDcmVhdGVkQmxvY2tUeXBlLFxuICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgKVxuXG4gICAgICBjb25zdCB1cGxvYWRBcmdzID0ge30gYXMgTG9jYWxlSW5wdXRUeXBlXG5cbiAgICAgIGlmIChwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgdXBsb2FkQXJncy5sb2NhbGUgPSB7XG4gICAgICAgICAgdHlwZTogcGF5bG9hZC50eXBlcy5sb2NhbGVJbnB1dFR5cGUsXG4gICAgICAgIH1cblxuICAgICAgICB1cGxvYWRBcmdzLmZhbGxiYWNrTG9jYWxlID0ge1xuICAgICAgICAgIHR5cGU6IHBheWxvYWQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVsYXRlZENvbGxlY3Rpb25TbHVnID0gZmllbGQucmVsYXRpb25Ub1xuXG4gICAgICBjb25zdCB1cGxvYWQgPSB7XG4gICAgICAgIGFyZ3M6IHVwbG9hZEFyZ3MsXG4gICAgICAgIGV4dGVuc2lvbnM6IHsgY29tcGxleGl0eTogMjAgfSxcbiAgICAgICAgYXN5bmMgcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHQpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmVudFtmaWVsZC5uYW1lXVxuICAgICAgICAgIGNvbnN0IGxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGNvbnRleHQucmVxLmxvY2FsZVxuICAgICAgICAgIGNvbnN0IGZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZSB8fCBjb250ZXh0LnJlcS5mYWxsYmFja0xvY2FsZVxuICAgICAgICAgIGNvbnN0IGlkID0gdmFsdWVcblxuICAgICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgY29uc3QgcmVsYXRlZERvY3VtZW50ID0gYXdhaXQgY29udGV4dC5yZXEucGF5bG9hZERhdGFMb2FkZXIubG9hZChcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgIGNvbnRleHQucmVxLnRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICByZXR1cm4gcmVsYXRlZERvY3VtZW50IHx8IG51bGxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICB9LFxuICAgICAgICB0eXBlLFxuICAgICAgfVxuXG4gICAgICBjb25zdCB3aGVyZUZpZWxkcyA9IHBheWxvYWQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnLmZpZWxkc1xuXG4gICAgICB1cGxvYWQuYXJncy53aGVyZSA9IHtcbiAgICAgICAgdHlwZTogYnVpbGRXaGVyZUlucHV0VHlwZSh7XG4gICAgICAgICAgbmFtZTogdXBsb2FkTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IHdoZXJlRmllbGRzLFxuICAgICAgICAgIHBhcmVudE5hbWU6IHVwbG9hZE5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSksXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIFtmaWVsZC5uYW1lXTogdXBsb2FkLFxuICAgICAgfVxuICAgIH0sXG4gIH1cblxuICBjb25zdCBvYmplY3RTY2hlbWEgPSB7XG4gICAgbmFtZSxcbiAgICBmaWVsZHM6ICgpID0+XG4gICAgICBmaWVsZHMucmVkdWNlKChvYmplY3RUeXBlQ29uZmlnLCBmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFNjaGVtYSA9IGZpZWxkVG9TY2hlbWFNYXBbZmllbGQudHlwZV1cblxuICAgICAgICBpZiAodHlwZW9mIGZpZWxkU2NoZW1hICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdFR5cGVDb25maWdcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgICAuLi5maWVsZFNjaGVtYShvYmplY3RUeXBlQ29uZmlnLCBmaWVsZCksXG4gICAgICAgIH1cbiAgICAgIH0sIGJhc2VGaWVsZHMpLFxuICB9XG5cbiAgY29uc3QgbmV3bHlDcmVhdGVkQmxvY2tUeXBlID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKG9iamVjdFNjaGVtYSlcblxuICByZXR1cm4gbmV3bHlDcmVhdGVkQmxvY2tUeXBlXG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkT2JqZWN0VHlwZVxuIl0sIm5hbWVzIjpbImJ1aWxkT2JqZWN0VHlwZSIsIm5hbWUiLCJiYXNlRmllbGRzIiwiZmllbGRzIiwiZm9yY2VOdWxsYWJsZSIsInBhcmVudE5hbWUiLCJwYXlsb2FkIiwiZmllbGRUb1NjaGVtYU1hcCIsImFycmF5Iiwib2JqZWN0VHlwZUNvbmZpZyIsImZpZWxkIiwiaW50ZXJmYWNlTmFtZSIsImNvbWJpbmVQYXJlbnROYW1lIiwidG9Xb3JkcyIsInR5cGVzIiwiYXJyYXlUeXBlcyIsImlzRmllbGROdWxsYWJsZSIsImFycmF5VHlwZSIsIkdyYXBoUUxMaXN0IiwiR3JhcGhRTE5vbk51bGwiLCJ0eXBlIiwid2l0aE51bGxhYmxlVHlwZSIsImJsb2NrcyIsImJsb2NrVHlwZXMiLCJtYXAiLCJibG9jayIsInNsdWciLCJncmFwaFFMIiwic2luZ3VsYXJOYW1lIiwiZnVsbE5hbWUiLCJHcmFwaFFMVW5pb25UeXBlIiwicmVzb2x2ZVR5cGUiLCJkYXRhIiwiYmxvY2tUeXBlIiwiY2hlY2tib3giLCJHcmFwaFFMQm9vbGVhbiIsImNvZGUiLCJHcmFwaFFMU3RyaW5nIiwiY29sbGFwc2libGUiLCJyZWR1Y2UiLCJvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzIiwic3ViRmllbGQiLCJhZGRTdWJGaWVsZCIsImRhdGUiLCJEYXRlVGltZVJlc29sdmVyIiwiZW1haWwiLCJFbWFpbEFkZHJlc3NSZXNvbHZlciIsImdyb3VwIiwiZ3JvdXBUeXBlcyIsImpzb24iLCJHcmFwaFFMSlNPTiIsIm51bWJlciIsIkdyYXBoUUxJbnQiLCJHcmFwaFFMRmxvYXQiLCJoYXNNYW55IiwicG9pbnQiLCJyYWRpbyIsIkdyYXBoUUxFbnVtVHlwZSIsInZhbHVlcyIsImZvcm1hdE9wdGlvbnMiLCJyZWxhdGlvbnNoaXAiLCJyZWxhdGlvblRvIiwiaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJoYXNNYW55VmFsdWVzIiwicmVsYXRpb25zaGlwTmFtZSIsInJlbGF0aW9uVG9UeXBlIiwicmVsYXRpb25zIiwicmVsYXRpb24iLCJmb3JtYXROYW1lIiwidmFsdWUiLCJjb2xsZWN0aW9ucyIsIkdyYXBoUUxPYmplY3RUeXBlIiwicmVxIiwiY29sbGVjdGlvbiIsIm5ld2x5Q3JlYXRlZEJsb2NrVHlwZSIsInJlbGF0aW9uc2hpcEFyZ3MiLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJsb2NhbGUiLCJsb2NhbGVJbnB1dFR5cGUiLCJmYWxsYmFja0xvY2FsZSIsImZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIiwiYXJncyIsImV4dGVuc2lvbnMiLCJjb21wbGV4aXR5IiwicmVzb2x2ZSIsInBhcmVudCIsImNvbnRleHQiLCJyZWxhdGVkQ29sbGVjdGlvblNsdWciLCJyZXN1bHRzIiwicmVzdWx0UHJvbWlzZXMiLCJjcmVhdGVQb3B1bGF0aW9uUHJvbWlzZSIsInJlbGF0ZWREb2MiLCJpIiwiaWQiLCJjb2xsZWN0aW9uU2x1ZyIsInJlc3VsdCIsInBheWxvYWREYXRhTG9hZGVyIiwibG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0cmFuc2FjdGlvbklEIiwiZm9yRWFjaCIsInB1c2giLCJQcm9taXNlIiwiYWxsIiwicmVsYXRlZERvY3VtZW50IiwicmljaFRleHQiLCJkZXB0aCIsImRlZmF1bHREZXB0aCIsImVkaXRvciIsInBvcHVsYXRpb25Qcm9taXNlIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpYmxpbmdEb2MiLCJyb3ciLCJvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcyIsInNlbGVjdCIsInRhYnMiLCJ0YWJTY2hlbWEiLCJ0YWIiLCJ0YWJIYXNOYW1lIiwidGFiVHlwZXMiLCJzdWJGaWVsZFNjaGVtYSIsInRleHQiLCJ0ZXh0YXJlYSIsInVwbG9hZCIsInVwbG9hZE5hbWUiLCJ1cGxvYWRBcmdzIiwid2hlcmVGaWVsZHMiLCJ3aGVyZSIsImJ1aWxkV2hlcmVJbnB1dFR5cGUiLCJvYmplY3RTY2hlbWEiLCJmaWVsZFNjaGVtYSJdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBELEdBQzFELG1DQUFtQyxHQUNuQyx1Q0FBdUM7Ozs7K0JBcW1CdkM7OztlQUFBOzs7eUJBeGxCTztnQ0FDZ0Q7aUNBRTNCO3VCQTRCRDs4QkFDSDswRUFDTTttRUFDUDtz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
|
|
476
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE9iamVjdFR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1hd2FpdC1pbi1sb29wICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFMRmllbGRDb25maWcsIEdyYXBoUUxUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxFbnVtVHlwZSxcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTE5vbk51bGwsXG4gIEdyYXBoUUxPYmplY3RUeXBlLFxuICBHcmFwaFFMU3RyaW5nLFxuICBHcmFwaFFMVW5pb25UeXBlLFxufSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHsgRGF0ZVRpbWVSZXNvbHZlciwgRW1haWxBZGRyZXNzUmVzb2x2ZXIgfSBmcm9tICdncmFwaHFsLXNjYWxhcnMnXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuaW1wb3J0IHsgR3JhcGhRTEpTT04gfSBmcm9tICdncmFwaHFsLXR5cGUtanNvbidcblxuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIENvbGxhcHNpYmxlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgRmllbGQsXG4gIEdyb3VwRmllbGQsXG4gIEpTT05GaWVsZCxcbiAgTnVtYmVyRmllbGQsXG4gIFBvaW50RmllbGQsXG4gIFJhZGlvRmllbGQsXG4gIFJlbGF0aW9uc2hpcEZpZWxkLFxuICBSaWNoVGV4dEZpZWxkLFxuICBSb3dGaWVsZCxcbiAgU2VsZWN0RmllbGQsXG4gIFRhYnNGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uLy4uL3BheWxvYWQnXG5cbmltcG9ydCB7IHRhYkhhc05hbWUgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5pbXBvcnQgY29tYmluZVBhcmVudE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2NvbWJpbmVQYXJlbnROYW1lJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgZm9ybWF0T3B0aW9ucyBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0T3B0aW9ucydcbmltcG9ydCBidWlsZFdoZXJlSW5wdXRUeXBlIGZyb20gJy4vYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBpc0ZpZWxkTnVsbGFibGUgZnJvbSAnLi9pc0ZpZWxkTnVsbGFibGUnXG5pbXBvcnQgd2l0aE51bGxhYmxlVHlwZSBmcm9tICcuL3dpdGhOdWxsYWJsZVR5cGUnXG5cbnR5cGUgTG9jYWxlSW5wdXRUeXBlID0ge1xuICBmYWxsYmFja0xvY2FsZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbiAgbG9jYWxlOiB7XG4gICAgdHlwZTogR3JhcGhRTFR5cGVcbiAgfVxuICB3aGVyZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgT2JqZWN0VHlwZUNvbmZpZyA9IHtcbiAgW3BhdGg6IHN0cmluZ106IEdyYXBoUUxGaWVsZENvbmZpZzxhbnksIGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBiYXNlRmllbGRzPzogT2JqZWN0VHlwZUNvbmZpZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VOdWxsYWJsZT86IGJvb2xlYW5cbiAgbmFtZTogc3RyaW5nXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xuICBwYXlsb2FkOiBQYXlsb2FkXG59XG5cbmZ1bmN0aW9uIGJ1aWxkT2JqZWN0VHlwZSh7XG4gIG5hbWUsXG4gIGJhc2VGaWVsZHMgPSB7fSxcbiAgZmllbGRzLFxuICBmb3JjZU51bGxhYmxlLFxuICBwYXJlbnROYW1lLFxuICBwYXlsb2FkLFxufTogQXJncyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRUb1NjaGVtYU1hcCA9IHtcbiAgICBhcnJheTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBBcnJheUZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFwYXlsb2FkLnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIHBheWxvYWQudHlwZXMuYXJyYXlUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXJyYXlUeXBlID0gbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChwYXlsb2FkLnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgYXJyYXlUeXBlKSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgYmxvY2tzOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEJsb2NrRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGJsb2NrVHlwZXMgPSBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICBpZiAoIXBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXSkge1xuICAgICAgICAgIGNvbnN0IGludGVyZmFjZU5hbWUgPVxuICAgICAgICAgICAgYmxvY2s/LmludGVyZmFjZU5hbWUgfHwgYmxvY2s/LmdyYXBoUUw/LnNpbmd1bGFyTmFtZSB8fCB0b1dvcmRzKGJsb2NrLnNsdWcsIHRydWUpXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgcGF5bG9hZC50eXBlcy5ibG9ja1R5cGVzW2Jsb2NrLnNsdWddID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgLi4uYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2Jsb2NrVHlwZScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXVxuICAgICAgfSlcblxuICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKGZpZWxkLm5hbWUsIHRydWUpKVxuXG4gICAgICBjb25zdCB0eXBlID0gbmV3IEdyYXBoUUxMaXN0KFxuICAgICAgICBuZXcgR3JhcGhRTE5vbk51bGwoXG4gICAgICAgICAgbmV3IEdyYXBoUUxVbmlvblR5cGUoe1xuICAgICAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgICAgICByZXNvbHZlVHlwZTogKGRhdGEpID0+IHBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tkYXRhLmJsb2NrVHlwZV0ubmFtZSxcbiAgICAgICAgICAgIHR5cGVzOiBibG9ja1R5cGVzLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSkgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGNoZWNrYm94OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENoZWNrYm94RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxCb29sZWFuLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGNvZGU6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29kZUZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGNvbGxhcHNpYmxlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBhZGRTdWJGaWVsZCA9IGZpZWxkVG9TY2hlbWFNYXBbc3ViRmllbGQudHlwZV1cbiAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQob2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkcywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzXG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICBkYXRlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IERhdGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgRGF0ZVRpbWVSZXNvbHZlciwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBlbWFpbDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBFbWFpbEFkZHJlc3NSZXNvbHZlciwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBncm91cDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBHcm91cEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFwYXlsb2FkLnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIHBheWxvYWQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBKU09ORmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgZmllbGQ/Lmhhc01hbnkgPT09IHRydWUgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlLFxuICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgcG9pbnQ6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUG9pbnRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxGbG9hdCkpLFxuICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJhZGlvRmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKSxcbiAgICAgICAgICAgIHZhbHVlczogZm9ybWF0T3B0aW9ucyhmaWVsZCksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCB7IHJlbGF0aW9uVG8gfSA9IGZpZWxkXG4gICAgICBjb25zdCBpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbylcbiAgICAgIGNvbnN0IGhhc01hbnlWYWx1ZXMgPSBmaWVsZC5oYXNNYW55XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgbGV0IHR5cGVcbiAgICAgIGxldCByZWxhdGlvblRvVHlwZSA9IG51bGxcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykpIHtcbiAgICAgICAgcmVsYXRpb25Ub1R5cGUgPSBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtyZWxhdGlvbnNoaXBOYW1lfV9SZWxhdGlvblRvYCxcbiAgICAgICAgICB2YWx1ZXM6IHJlbGF0aW9uVG8ucmVkdWNlKFxuICAgICAgICAgICAgKHJlbGF0aW9ucywgcmVsYXRpb24pID0+ICh7XG4gICAgICAgICAgICAgIC4uLnJlbGF0aW9ucyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUocmVsYXRpb24pXToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiByZWxhdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKSxcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCB0eXBlcyA9IHJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4gcGF5bG9hZC5jb2xsZWN0aW9uc1tyZWxhdGlvbl0uZ3JhcGhRTC50eXBlKVxuXG4gICAgICAgIHR5cGUgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGAke3JlbGF0aW9uc2hpcE5hbWV9X1JlbGF0aW9uc2hpcGAsXG4gICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICByZWxhdGlvblRvOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHJlbGF0aW9uVG9UeXBlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMVW5pb25UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgICAgICAgIGFzeW5jIHJlc29sdmVUeXBlKGRhdGEsIHsgcmVxIH0pIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBwYXlsb2FkLmNvbGxlY3Rpb25zW2RhdGEuY29sbGVjdGlvbl0uZ3JhcGhRTC50eXBlLm5hbWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHR5cGVzLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIDsoeyB0eXBlIH0gPSBwYXlsb2FkLmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmdyYXBoUUwpXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSByZWxhdGlvbnNoaXBUeXBlIGlzIHVuZGVmaW5lZCBhdCB0aGlzIHBvaW50LFxuICAgICAgLy8gaXQgY2FuIGJlIGFzc3VtZWQgdGhhdCB0aGlzIGJsb2NrVHlwZSBjYW4gaGF2ZSBhIHJlbGF0aW9uc2hpcFxuICAgICAgLy8gdG8gaXRzZWxmLiBUaGVyZWZvcmUsIHdlIHNldCB0aGUgcmVsYXRpb25zaGlwVHlwZSBlcXVhbCB0byB0aGUgYmxvY2tUeXBlXG4gICAgICAvLyB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBjcmVhdGVkLlxuXG4gICAgICB0eXBlID0gdHlwZSB8fCBuZXdseUNyZWF0ZWRCbG9ja1R5cGVcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQXJnczoge1xuICAgICAgICBmYWxsYmFja0xvY2FsZT86IHVua25vd25cbiAgICAgICAgbGltaXQ/OiB1bmtub3duXG4gICAgICAgIGxvY2FsZT86IHVua25vd25cbiAgICAgICAgcGFnZT86IHVua25vd25cbiAgICAgICAgd2hlcmU/OiB1bmtub3duXG4gICAgICB9ID0ge31cblxuICAgICAgaWYgKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICByZWxhdGlvbnNoaXBBcmdzLmxvY2FsZSA9IHtcbiAgICAgICAgICB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSxcbiAgICAgICAgfVxuXG4gICAgICAgIHJlbGF0aW9uc2hpcEFyZ3MuZmFsbGJhY2tMb2NhbGUgPSB7XG4gICAgICAgICAgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZWxhdGlvbnNoaXAgPSB7XG4gICAgICAgIGFyZ3M6IHJlbGF0aW9uc2hpcEFyZ3MsXG4gICAgICAgIGV4dGVuc2lvbnM6IHsgY29tcGxleGl0eTogMTAgfSxcbiAgICAgICAgYXN5bmMgcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHQpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmVudFtmaWVsZC5uYW1lXVxuICAgICAgICAgIGNvbnN0IGxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGNvbnRleHQucmVxLmxvY2FsZVxuICAgICAgICAgIGNvbnN0IGZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZSB8fCBjb250ZXh0LnJlcS5mYWxsYmFja0xvY2FsZVxuICAgICAgICAgIGxldCByZWxhdGVkQ29sbGVjdGlvblNsdWcgPSBmaWVsZC5yZWxhdGlvblRvXG5cbiAgICAgICAgICBpZiAoaGFzTWFueVZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdXG4gICAgICAgICAgICBjb25zdCByZXN1bHRQcm9taXNlcyA9IFtdXG5cbiAgICAgICAgICAgIGNvbnN0IGNyZWF0ZVBvcHVsYXRpb25Qcm9taXNlID0gYXN5bmMgKHJlbGF0ZWREb2MsIGkpID0+IHtcbiAgICAgICAgICAgICAgbGV0IGlkID0gcmVsYXRlZERvY1xuICAgICAgICAgICAgICBsZXQgY29sbGVjdGlvblNsdWcgPSBmaWVsZC5yZWxhdGlvblRvXG5cbiAgICAgICAgICAgICAgaWYgKGlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvblNsdWcgPSByZWxhdGVkRG9jLnJlbGF0aW9uVG9cbiAgICAgICAgICAgICAgICBpZCA9IHJlbGF0ZWREb2MudmFsdWVcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5yZXEudHJhbnNhY3Rpb25JRCxcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdHNbaV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0c1tpXSA9IHJlc3VsdFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgocmVsYXRlZERvYywgaSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdFByb21pc2VzLnB1c2goY3JlYXRlUG9wdWxhdGlvblByb21pc2UocmVsYXRlZERvYywgaSkpXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHJlc3VsdFByb21pc2VzKVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHNcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgaWQgPSB2YWx1ZVxuICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgaWQgPSB2YWx1ZS52YWx1ZVxuICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnID0gdmFsdWUucmVsYXRpb25Ub1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgY29uc3QgcmVsYXRlZERvY3VtZW50ID0gYXdhaXQgY29udGV4dC5yZXEucGF5bG9hZERhdGFMb2FkZXIubG9hZChcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgIGNvbnRleHQucmVxLnRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBpZiAocmVsYXRlZERvY3VtZW50KSB7XG4gICAgICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiByZWxhdGVkQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAuLi5yZWxhdGVkRG9jdW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlbGF0ZWREb2N1bWVudFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgaGFzTWFueVZhbHVlcyA/IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwodHlwZSkpIDogdHlwZSxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICApLFxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHJlbGF0aW9uc2hpcCxcbiAgICAgIH1cbiAgICB9LFxuICAgIHJpY2hUZXh0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJpY2hUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBkZXB0aDoge1xuICAgICAgICAgICAgdHlwZTogR3JhcGhRTEludCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhc3luYyByZXNvbHZlKHBhcmVudCwgYXJncywgY29udGV4dCkge1xuICAgICAgICAgIGxldCBkZXB0aCA9IHBheWxvYWQuY29uZmlnLmRlZmF1bHREZXB0aFxuICAgICAgICAgIGlmICh0eXBlb2YgYXJncy5kZXB0aCAhPT0gJ3VuZGVmaW5lZCcpIGRlcHRoID0gYXJncy5kZXB0aFxuICAgICAgICAgIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gZmllbGQ/LmVkaXRvclxuXG4gICAgICAgICAgLy8gUmljaFRleHQgZmllbGRzIGhhdmUgdGhlaXIgb3duIGRlcHRoIGFyZ3VtZW50IGluIEdyYXBoUUwuXG4gICAgICAgICAgLy8gVGhpcyBpcyB3aHkgdGhlIHBvcHVsYXRpb25Qcm9taXNlICh3aGljaCBwb3B1bGF0ZXMgcmljaHRleHQgZmllbGRzIGxpa2UgdXBsb2FkcyBhbmQgcmVsYXRpb25zaGlwcylcbiAgICAgICAgICAvLyBpcyBydW4gaGVyZSBhZ2Fpbiwgd2l0aCB0aGUgcHJvdmlkZWQgZGVwdGguXG4gICAgICAgICAgLy8gSW4gdGhlIGdyYXBocWwgZmluZC50cyByZXNvbHZlciwgdGhlIGRlcHRoIGlzIHRoZW4gaGFyZC1jb2RlZCB0byAwLlxuICAgICAgICAgIC8vIEVmZmVjdGl2ZWx5LCB0aGlzIG1lYW5zIHRoYXQgdGhlIHBvcHVsYXRpb25Qcm9taXNlIGZvciBHcmFwaFFMIGlzIG9ubHkgcnVuIGhlcmUsIGFuZCBub3QgaW4gdGhlIGZpbmQudHMgcmVzb2x2ZXIgLyBub3JtYWwgcG9wdWxhdGlvbiBwcm9taXNlLlxuICAgICAgICAgIGlmIChlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKSB7XG4gICAgICAgICAgICBhd2FpdCBlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKHtcbiAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICByZXE6IGNvbnRleHQucmVxLFxuICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzOiBmYWxzZSxcbiAgICAgICAgICAgICAgc2libGluZ0RvYzogcGFyZW50LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcGFyZW50W2ZpZWxkLm5hbWVdXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcm93OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJvd0ZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgob2JqZWN0VHlwZUNvbmZpZ1dpdGhSb3dGaWVsZHMsIHN1YkZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkc1xuICAgICAgfSwgb2JqZWN0VHlwZUNvbmZpZyksXG4gICAgc2VsZWN0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFNlbGVjdEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpXG5cbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgdmFsdWVzOiBmb3JtYXRPcHRpb25zKGZpZWxkKSxcbiAgICAgIH0pXG5cbiAgICAgIHR5cGUgPSBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbCh0eXBlKSkgOiB0eXBlXG4gICAgICB0eXBlID0gd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSwgZm9yY2VOdWxsYWJsZSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYnM6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGFic0ZpZWxkKSA9PlxuICAgICAgZmllbGQudGFicy5yZWR1Y2UoKHRhYlNjaGVtYSwgdGFiKSA9PiB7XG4gICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgICAgIHRhYj8uaW50ZXJmYWNlTmFtZSB8fCBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKHRhYi5uYW1lLCB0cnVlKSlcblxuICAgICAgICAgIGlmICghcGF5bG9hZC50eXBlcy50YWJUeXBlc1tpbnRlcmZhY2VOYW1lXSkge1xuICAgICAgICAgICAgcGF5bG9hZC50eXBlcy50YWJUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICAgICAgcGFyZW50TmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRhYlNjaGVtYSxcbiAgICAgICAgICAgIFt0YWIubmFtZV06IHsgdHlwZTogcGF5bG9hZC50eXBlcy50YWJUeXBlc1tpbnRlcmZhY2VOYW1lXSB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udGFiU2NoZW1hLFxuICAgICAgICAgIC4uLnRhYi5maWVsZHMucmVkdWNlKChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQoc3ViRmllbGRTY2hlbWEsIHN1YkZpZWxkKVxuICAgICAgICAgICAgcmV0dXJuIHN1YkZpZWxkU2NoZW1hXG4gICAgICAgICAgfSwgdGFiU2NoZW1hKSxcbiAgICAgICAgfVxuICAgICAgfSwgb2JqZWN0VHlwZUNvbmZpZyksXG4gICAgdGV4dDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgdGV4dGFyZWE6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGV4dGFyZWFGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICB1cGxvYWQ6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVXBsb2FkRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHsgcmVsYXRpb25UbyB9ID0gZmllbGRcblxuICAgICAgY29uc3QgdXBsb2FkTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG5cbiAgICAgIC8vIElmIHRoZSByZWxhdGlvbnNoaXBUeXBlIGlzIHVuZGVmaW5lZCBhdCB0aGlzIHBvaW50LFxuICAgICAgLy8gaXQgY2FuIGJlIGFzc3VtZWQgdGhhdCB0aGlzIGJsb2NrVHlwZSBjYW4gaGF2ZSBhIHJlbGF0aW9uc2hpcFxuICAgICAgLy8gdG8gaXRzZWxmLiBUaGVyZWZvcmUsIHdlIHNldCB0aGUgcmVsYXRpb25zaGlwVHlwZSBlcXVhbCB0byB0aGUgYmxvY2tUeXBlXG4gICAgICAvLyB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBjcmVhdGVkLlxuXG4gICAgICBjb25zdCB0eXBlID0gd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHBheWxvYWQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uZ3JhcGhRTC50eXBlIHx8IG5ld2x5Q3JlYXRlZEJsb2NrVHlwZSxcbiAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgIClcblxuICAgICAgY29uc3QgdXBsb2FkQXJncyA9IHt9IGFzIExvY2FsZUlucHV0VHlwZVxuXG4gICAgICBpZiAocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgIHVwbG9hZEFyZ3MubG9jYWxlID0ge1xuICAgICAgICAgIHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlLFxuICAgICAgICB9XG5cbiAgICAgICAgdXBsb2FkQXJncy5mYWxsYmFja0xvY2FsZSA9IHtcbiAgICAgICAgICB0eXBlOiBwYXlsb2FkLnR5cGVzLmZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyA9IGZpZWxkLnJlbGF0aW9uVG9cblxuICAgICAgY29uc3QgdXBsb2FkID0ge1xuICAgICAgICBhcmdzOiB1cGxvYWRBcmdzLFxuICAgICAgICBleHRlbnNpb25zOiB7IGNvbXBsZXhpdHk6IDIwIH0sXG4gICAgICAgIGFzeW5jIHJlc29sdmUocGFyZW50LCBhcmdzLCBjb250ZXh0KSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJlbnRbZmllbGQubmFtZV1cbiAgICAgICAgICBjb25zdCBsb2NhbGUgPSBhcmdzLmxvY2FsZSB8fCBjb250ZXh0LnJlcS5sb2NhbGVcbiAgICAgICAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgY29udGV4dC5yZXEuZmFsbGJhY2tMb2NhbGVcbiAgICAgICAgICBjb25zdCBpZCA9IHZhbHVlXG5cbiAgICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0ZWREb2N1bWVudCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcS50cmFuc2FjdGlvbklELFxuICAgICAgICAgICAgICAgIHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgcmV0dXJuIHJlbGF0ZWREb2N1bWVudCB8fCBudWxsXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZSxcbiAgICAgIH1cblxuICAgICAgY29uc3Qgd2hlcmVGaWVsZHMgPSBwYXlsb2FkLmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmNvbmZpZy5maWVsZHNcblxuICAgICAgdXBsb2FkLmFyZ3Mud2hlcmUgPSB7XG4gICAgICAgIHR5cGU6IGJ1aWxkV2hlcmVJbnB1dFR5cGUoe1xuICAgICAgICAgIG5hbWU6IHVwbG9hZE5hbWUsXG4gICAgICAgICAgZmllbGRzOiB3aGVyZUZpZWxkcyxcbiAgICAgICAgICBwYXJlbnROYW1lOiB1cGxvYWROYW1lLFxuICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgIH0pLFxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHVwbG9hZCxcbiAgICAgIH1cbiAgICB9LFxuICB9XG5cbiAgY29uc3Qgb2JqZWN0U2NoZW1hID0ge1xuICAgIG5hbWUsXG4gICAgZmllbGRzOiAoKSA9PlxuICAgICAgZmllbGRzLnJlZHVjZSgob2JqZWN0VHlwZUNvbmZpZywgZmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRTY2hlbWEgPSBmaWVsZFRvU2NoZW1hTWFwW2ZpZWxkLnR5cGVdXG5cbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZFNjaGVtYSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICAgICAgLi4uZmllbGRTY2hlbWEob2JqZWN0VHlwZUNvbmZpZywgZmllbGQpLFxuICAgICAgICB9XG4gICAgICB9LCBiYXNlRmllbGRzKSxcbiAgfVxuXG4gIGNvbnN0IG5ld2x5Q3JlYXRlZEJsb2NrVHlwZSA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZShvYmplY3RTY2hlbWEpXG5cbiAgcmV0dXJuIG5ld2x5Q3JlYXRlZEJsb2NrVHlwZVxufVxuXG5leHBvcnQgZGVmYXVsdCBidWlsZE9iamVjdFR5cGVcbiJdLCJuYW1lcyI6WyJidWlsZE9iamVjdFR5cGUiLCJuYW1lIiwiYmFzZUZpZWxkcyIsImZpZWxkcyIsImZvcmNlTnVsbGFibGUiLCJwYXJlbnROYW1lIiwicGF5bG9hZCIsImZpZWxkVG9TY2hlbWFNYXAiLCJhcnJheSIsIm9iamVjdFR5cGVDb25maWciLCJmaWVsZCIsImludGVyZmFjZU5hbWUiLCJjb21iaW5lUGFyZW50TmFtZSIsInRvV29yZHMiLCJ0eXBlcyIsImFycmF5VHlwZXMiLCJpc0ZpZWxkTnVsbGFibGUiLCJhcnJheVR5cGUiLCJHcmFwaFFMTGlzdCIsIkdyYXBoUUxOb25OdWxsIiwidHlwZSIsIndpdGhOdWxsYWJsZVR5cGUiLCJibG9ja3MiLCJibG9ja1R5cGVzIiwibWFwIiwiYmxvY2siLCJzbHVnIiwiZ3JhcGhRTCIsInNpbmd1bGFyTmFtZSIsImZ1bGxOYW1lIiwiR3JhcGhRTFVuaW9uVHlwZSIsInJlc29sdmVUeXBlIiwiZGF0YSIsImJsb2NrVHlwZSIsImNoZWNrYm94IiwiR3JhcGhRTEJvb2xlYW4iLCJjb2RlIiwiR3JhcGhRTFN0cmluZyIsImNvbGxhcHNpYmxlIiwicmVkdWNlIiwib2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkcyIsInN1YkZpZWxkIiwiYWRkU3ViRmllbGQiLCJkYXRlIiwiRGF0ZVRpbWVSZXNvbHZlciIsImVtYWlsIiwiRW1haWxBZGRyZXNzUmVzb2x2ZXIiLCJncm91cCIsImdyb3VwVHlwZXMiLCJqc29uIiwiR3JhcGhRTEpTT04iLCJudW1iZXIiLCJHcmFwaFFMSW50IiwiR3JhcGhRTEZsb2F0IiwiaGFzTWFueSIsInBvaW50IiwicmFkaW8iLCJHcmFwaFFMRW51bVR5cGUiLCJ2YWx1ZXMiLCJmb3JtYXRPcHRpb25zIiwicmVsYXRpb25zaGlwIiwicmVsYXRpb25UbyIsImlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zIiwiQXJyYXkiLCJpc0FycmF5IiwiaGFzTWFueVZhbHVlcyIsInJlbGF0aW9uc2hpcE5hbWUiLCJyZWxhdGlvblRvVHlwZSIsInJlbGF0aW9ucyIsInJlbGF0aW9uIiwiZm9ybWF0TmFtZSIsInZhbHVlIiwiY29sbGVjdGlvbnMiLCJHcmFwaFFMT2JqZWN0VHlwZSIsInJlcSIsImNvbGxlY3Rpb24iLCJuZXdseUNyZWF0ZWRCbG9ja1R5cGUiLCJyZWxhdGlvbnNoaXBBcmdzIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibG9jYWxlIiwibG9jYWxlSW5wdXRUeXBlIiwiZmFsbGJhY2tMb2NhbGUiLCJmYWxsYmFja0xvY2FsZUlucHV0VHlwZSIsImFyZ3MiLCJleHRlbnNpb25zIiwiY29tcGxleGl0eSIsInJlc29sdmUiLCJwYXJlbnQiLCJjb250ZXh0IiwicmVsYXRlZENvbGxlY3Rpb25TbHVnIiwicmVzdWx0cyIsInJlc3VsdFByb21pc2VzIiwiY3JlYXRlUG9wdWxhdGlvblByb21pc2UiLCJyZWxhdGVkRG9jIiwiaSIsImlkIiwiY29sbGVjdGlvblNsdWciLCJyZXN1bHQiLCJwYXlsb2FkRGF0YUxvYWRlciIsImxvYWQiLCJKU09OIiwic3RyaW5naWZ5IiwidHJhbnNhY3Rpb25JRCIsImZvckVhY2giLCJwdXNoIiwiUHJvbWlzZSIsImFsbCIsInJlbGF0ZWREb2N1bWVudCIsInJpY2hUZXh0IiwiZGVwdGgiLCJkZWZhdWx0RGVwdGgiLCJlZGl0b3IiLCJwb3B1bGF0aW9uUHJvbWlzZSIsInNob3dIaWRkZW5GaWVsZHMiLCJzaWJsaW5nRG9jIiwicm93Iiwib2JqZWN0VHlwZUNvbmZpZ1dpdGhSb3dGaWVsZHMiLCJzZWxlY3QiLCJ0YWJzIiwidGFiU2NoZW1hIiwidGFiIiwidGFiSGFzTmFtZSIsInRhYlR5cGVzIiwic3ViRmllbGRTY2hlbWEiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJ1cGxvYWROYW1lIiwidXBsb2FkQXJncyIsIndoZXJlRmllbGRzIiwid2hlcmUiLCJidWlsZFdoZXJlSW5wdXRUeXBlIiwib2JqZWN0U2NoZW1hIiwiZmllbGRTY2hlbWEiXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRCxHQUMxRCxtQ0FBbUMsR0FDbkMsdUNBQXVDOzs7OytCQW9tQnZDOzs7ZUFBQTs7O3lCQXZsQk87Z0NBQ2dEO2lDQUUzQjt1QkE0QkQ7OEJBQ0g7MEVBQ007bUVBQ1A7c0VBQ0c7NEVBQ007d0VBQ0o7eUVBQ0M7Ozs7OztBQTJCN0IsU0FBU0EsZ0JBQWdCLEVBQ3ZCQyxJQUFJ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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildWhereInputType.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/buildWhereInputType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAe,MAAM,SAAS,CAAA;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAsB,MAAM,2BAA2B,CAAA;AAW1E,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,mBAAmB,2CAKtB,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"buildWhereInputType.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/buildWhereInputType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAe,MAAM,SAAS,CAAA;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAsB,MAAM,2BAA2B,CAAA;AAW1E,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,mBAAmB,2CAKtB,IAAI,KAAG,sBAiFT,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -70,25 +70,34 @@ function _interop_require_default(obj) {
|
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
const fieldName = (0, _formatName.default)(name);
|
|
73
|
+
const recursiveFields = {
|
|
74
|
+
AND: {
|
|
75
|
+
type: new _graphql.GraphQLList(new _graphql.GraphQLInputObjectType({
|
|
76
|
+
name: `${fieldName}_where_and`,
|
|
77
|
+
fields: ()=>({
|
|
78
|
+
...fieldTypes,
|
|
79
|
+
...recursiveFields
|
|
80
|
+
})
|
|
81
|
+
}))
|
|
82
|
+
},
|
|
83
|
+
OR: {
|
|
84
|
+
type: new _graphql.GraphQLList(new _graphql.GraphQLInputObjectType({
|
|
85
|
+
name: `${fieldName}_where_or`,
|
|
86
|
+
fields: ()=>({
|
|
87
|
+
...fieldTypes,
|
|
88
|
+
...recursiveFields
|
|
89
|
+
})
|
|
90
|
+
}))
|
|
91
|
+
}
|
|
92
|
+
};
|
|
73
93
|
return new _graphql.GraphQLInputObjectType({
|
|
74
94
|
name: `${fieldName}_where`,
|
|
75
95
|
fields: {
|
|
76
96
|
...fieldTypes,
|
|
77
|
-
|
|
78
|
-
type: new _graphql.GraphQLList(new _graphql.GraphQLInputObjectType({
|
|
79
|
-
name: `${fieldName}_where_and`,
|
|
80
|
-
fields: fieldTypes
|
|
81
|
-
}))
|
|
82
|
-
},
|
|
83
|
-
OR: {
|
|
84
|
-
type: new _graphql.GraphQLList(new _graphql.GraphQLInputObjectType({
|
|
85
|
-
name: `${fieldName}_where_or`,
|
|
86
|
-
fields: fieldTypes
|
|
87
|
-
}))
|
|
88
|
-
}
|
|
97
|
+
...recursiveFields
|
|
89
98
|
}
|
|
90
99
|
});
|
|
91
100
|
};
|
|
92
101
|
const _default = buildWhereInputType;
|
|
93
102
|
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZFdoZXJlSW5wdXRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmltcG9ydCB7IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsIEdyYXBoUUxMaXN0IH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQge1xuICBmaWVsZEFmZmVjdHNEYXRhLFxuICBmaWVsZEhhc1N1YkZpZWxkcyxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbn0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IGZpZWxkVG9TY2hlbWFNYXAgZnJvbSAnLi9maWVsZFRvV2hlcmVJbnB1dFNjaGVtYU1hcCdcbmltcG9ydCB7IHdpdGhPcGVyYXRvcnMgfSBmcm9tICcuL3dpdGhPcGVyYXRvcnMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZmllbGRzOiBGaWVsZFtdXG4gIG5hbWU6IHN0cmluZ1xuICBwYXJlbnROYW1lOiBzdHJpbmdcbiAgcGF5bG9hZDogUGF5bG9hZFxufVxuXG4vKiogVGhpcyBkb2VzIGFzIHRoZSBmdW5jdGlvbiBuYW1lIHN1Z2dlc3RzLiBJdCBidWlsZHMgYSB3aGVyZSBHcmFwaFFMIGlucHV0IHR5cGVcbiAqIGZvciBhbGwgdGhlIGZpZWxkcyB3aGljaCBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAqIEVhY2ggZmllbGQgaGFzIGRpZmZlcmVudCBvcGVyYXRvcnMgd2hpY2ggbWF5IGJlIHZhbGlkIGZvciBhIHdoZXJlIGlucHV0IHR5cGUuXG4gKiBGb3IgZXhhbXBsZSwgYSB0ZXh0IGZpZWxkIG1heSBoYXZlIGEgXCJjb250YWluc1wiIG9wZXJhdG9yLCBidXQgYSBudW1iZXIgZmllbGRcbiAqIG1heSBub3QuXG4gKlxuICogYnVpbGRXaGVyZUlucHV0VHlwZSBpcyBzaW1pbGFyIHRvIGJ1aWxkT2JqZWN0VHlwZSBhbmQgb3BlcmF0ZXNcbiAqIG9uIGEgZmllbGQgYmFzaXMgd2l0aCBhIGZldyBkaXN0aW5jdCBkaWZmZXJlbmNlcy5cbiAqXG4gKiAxLiBFdmVyeXRoaW5nIG5lZWRzIHRvIGJlIGEgR3JhcGhRTElucHV0T2JqZWN0VHlwZSBvciBzY2FsYXIgLyBlbnVtXG4gKiAyLiBSZWxhdGlvbnNoaXBzLCBncm91cHMsIHJlcGVhdGVycyBhbmQgZmxleCBjb250ZW50IGFyZSBub3RcbiAqICAgIGRpcmVjdGx5IHNlYXJjaGFibGUuIEluc3RlYWQsIHdlIG5lZWQgdG8gYnVpbGQgYSBjaGFpbmVkIHBhdGhuYW1lXG4gKiAgICB1c2luZyBkb3Qgbm90YXRpb24gc28gTW9uZ29EQiBjYW4gcHJvcGVybHkgc2VhcmNoIG5lc3RlZCBwYXRocy5cbiAqL1xuY29uc3QgYnVpbGRXaGVyZUlucHV0VHlwZSA9ICh7XG4gIG5hbWUsXG4gIGZpZWxkcyxcbiAgcGFyZW50TmFtZSxcbiAgcGF5bG9hZCxcbn06IEFyZ3MpOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlID0+
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZFdoZXJlSW5wdXRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmltcG9ydCB7IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsIEdyYXBoUUxMaXN0IH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQge1xuICBmaWVsZEFmZmVjdHNEYXRhLFxuICBmaWVsZEhhc1N1YkZpZWxkcyxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbn0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IGZpZWxkVG9TY2hlbWFNYXAgZnJvbSAnLi9maWVsZFRvV2hlcmVJbnB1dFNjaGVtYU1hcCdcbmltcG9ydCB7IHdpdGhPcGVyYXRvcnMgfSBmcm9tICcuL3dpdGhPcGVyYXRvcnMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZmllbGRzOiBGaWVsZFtdXG4gIG5hbWU6IHN0cmluZ1xuICBwYXJlbnROYW1lOiBzdHJpbmdcbiAgcGF5bG9hZDogUGF5bG9hZFxufVxuXG4vKiogVGhpcyBkb2VzIGFzIHRoZSBmdW5jdGlvbiBuYW1lIHN1Z2dlc3RzLiBJdCBidWlsZHMgYSB3aGVyZSBHcmFwaFFMIGlucHV0IHR5cGVcbiAqIGZvciBhbGwgdGhlIGZpZWxkcyB3aGljaCBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAqIEVhY2ggZmllbGQgaGFzIGRpZmZlcmVudCBvcGVyYXRvcnMgd2hpY2ggbWF5IGJlIHZhbGlkIGZvciBhIHdoZXJlIGlucHV0IHR5cGUuXG4gKiBGb3IgZXhhbXBsZSwgYSB0ZXh0IGZpZWxkIG1heSBoYXZlIGEgXCJjb250YWluc1wiIG9wZXJhdG9yLCBidXQgYSBudW1iZXIgZmllbGRcbiAqIG1heSBub3QuXG4gKlxuICogYnVpbGRXaGVyZUlucHV0VHlwZSBpcyBzaW1pbGFyIHRvIGJ1aWxkT2JqZWN0VHlwZSBhbmQgb3BlcmF0ZXNcbiAqIG9uIGEgZmllbGQgYmFzaXMgd2l0aCBhIGZldyBkaXN0aW5jdCBkaWZmZXJlbmNlcy5cbiAqXG4gKiAxLiBFdmVyeXRoaW5nIG5lZWRzIHRvIGJlIGEgR3JhcGhRTElucHV0T2JqZWN0VHlwZSBvciBzY2FsYXIgLyBlbnVtXG4gKiAyLiBSZWxhdGlvbnNoaXBzLCBncm91cHMsIHJlcGVhdGVycyBhbmQgZmxleCBjb250ZW50IGFyZSBub3RcbiAqICAgIGRpcmVjdGx5IHNlYXJjaGFibGUuIEluc3RlYWQsIHdlIG5lZWQgdG8gYnVpbGQgYSBjaGFpbmVkIHBhdGhuYW1lXG4gKiAgICB1c2luZyBkb3Qgbm90YXRpb24gc28gTW9uZ29EQiBjYW4gcHJvcGVybHkgc2VhcmNoIG5lc3RlZCBwYXRocy5cbiAqL1xuY29uc3QgYnVpbGRXaGVyZUlucHV0VHlwZSA9ICh7XG4gIG5hbWUsXG4gIGZpZWxkcyxcbiAgcGFyZW50TmFtZSxcbiAgcGF5bG9hZCxcbn06IEFyZ3MpOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlID0+IHtcbiAgLy8gVGhpcyBpcyB0aGUgZnVuY3Rpb24gdGhhdCBidWlsZHMgbmVzdGVkIHBhdGhzIGZvciBhbGxcbiAgLy8gZmllbGQgdHlwZXMgd2l0aCBuZXN0ZWQgcGF0aHMuXG5cbiAgbGV0IGlkRmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YSB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0IGZpZWxkVHlwZXMgPSBmaWVsZHMucmVkdWNlKChzY2hlbWEsIGZpZWxkKSA9PiB7XG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpIGlkRmllbGQgPSBmaWVsZFxuXG4gICAgaWYgKCFmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkKSAmJiAhZmllbGQuaGlkZGVuKSB7XG4gICAgICBjb25zdCBnZXRGaWVsZFNjaGVtYSA9IGZpZWxkVG9TY2hlbWFNYXAoe1xuICAgICAgICBwYXJlbnROYW1lLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgfSlbZmllbGQudHlwZV1cblxuICAgICAgaWYgKGdldEZpZWxkU2NoZW1hKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gZ2V0RmllbGRTY2hlbWEoZmllbGQpXG5cbiAgICAgICAgaWYgKGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkKSB8fCBmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc2NoZW1hLFxuICAgICAgICAgICAgLi4uZmllbGRTY2hlbWEucmVkdWNlKFxuICAgICAgICAgICAgICAoc3ViRmllbGRzLCBzdWJGaWVsZCkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5zdWJGaWVsZHMsXG4gICAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUoc3ViRmllbGQua2V5KV06IHN1YkZpZWxkLnR5cGUsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zY2hlbWEsXG4gICAgICAgICAgW2Zvcm1hdE5hbWUoZmllbGQubmFtZSldOiBmaWVsZFNjaGVtYSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzY2hlbWFcbiAgfSwge30pXG5cbiAgaWYgKCFpZEZpZWxkKSB7XG4gICAgZmllbGRUeXBlcy5pZCA9IHtcbiAgICAgIHR5cGU6IHdpdGhPcGVyYXRvcnMoeyBuYW1lOiAnaWQnLCB0eXBlOiAndGV4dCcgfSBhcyBGaWVsZEFmZmVjdGluZ0RhdGEsIHBhcmVudE5hbWUpLFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUobmFtZSlcblxuICBjb25zdCByZWN1cnNpdmVGaWVsZHMgPSB7XG4gICAgQU5EOiB7XG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QoXG4gICAgICAgIG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtmaWVsZE5hbWV9X3doZXJlX2FuZGAsXG4gICAgICAgICAgZmllbGRzOiAoKSA9PiAoe1xuICAgICAgICAgICAgLi4uZmllbGRUeXBlcyxcbiAgICAgICAgICAgIC4uLnJlY3Vyc2l2ZUZpZWxkcyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH0sXG4gICAgT1I6IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChcbiAgICAgICAgbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGAke2ZpZWxkTmFtZX1fd2hlcmVfb3JgLFxuICAgICAgICAgIGZpZWxkczogKCkgPT4gKHtcbiAgICAgICAgICAgIC4uLmZpZWxkVHlwZXMsXG4gICAgICAgICAgICAuLi5yZWN1cnNpdmVGaWVsZHMsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBgJHtmaWVsZE5hbWV9X3doZXJlYCxcbiAgICBmaWVsZHM6IHtcbiAgICAgIC4uLmZpZWxkVHlwZXMsXG4gICAgICAuLi5yZWN1cnNpdmVGaWVsZHMsXG4gICAgfSxcbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRXaGVyZUlucHV0VHlwZVxuIl0sIm5hbWVzIjpbImJ1aWxkV2hlcmVJbnB1dFR5cGUiLCJuYW1lIiwiZmllbGRzIiwicGFyZW50TmFtZSIsInBheWxvYWQiLCJpZEZpZWxkIiwiZmllbGRUeXBlcyIsInJlZHVjZSIsInNjaGVtYSIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJoaWRkZW4iLCJnZXRGaWVsZFNjaGVtYSIsImZpZWxkVG9TY2hlbWFNYXAiLCJ0eXBlIiwiZmllbGRTY2hlbWEiLCJmaWVsZEhhc1N1YkZpZWxkcyIsInN1YkZpZWxkcyIsInN1YkZpZWxkIiwiZm9ybWF0TmFtZSIsImtleSIsImlkIiwid2l0aE9wZXJhdG9ycyIsImZpZWxkTmFtZSIsInJlY3Vyc2l2ZUZpZWxkcyIsIkFORCIsIkdyYXBoUUxMaXN0IiwiR3JhcGhRTElucHV0T2JqZWN0VHlwZSIsIk9SIl0sIm1hcHBpbmdzIjoiQUFBQSwwREFBMEQsR0FDMUQsdUNBQXVDOzs7OytCQTRIdkM7OztlQUFBOzs7eUJBM0hvRDt1QkFTN0M7bUVBQ2dCO21GQUNNOytCQUNDOzs7Ozs7QUFTOUI7Ozs7Ozs7Ozs7Ozs7Q0FhQyxHQUNELE1BQU1BLHNCQUFzQixDQUFDLEVBQzNCQyxJQUFJLEVBQ0pDLE1BQU0sRUFDTkMsVUFBVSxFQUNWQyxPQUFPLEVBQ0Y7SUFDTCx3REFBd0Q7SUFDeEQsaUNBQWlDO0lBRWpDLElBQUlDO0lBRUosTUFBTUMsYUFBYUosT0FBT0ssTUFBTSxDQUFDLENBQUNDLFFBQVFDO1FBQ3hDLElBQUlDLElBQUFBLHVCQUFnQixFQUFDRCxVQUFVQSxNQUFNUixJQUFJLEtBQUssTUFBTUksVUFBVUk7UUFFOUQsSUFBSSxDQUFDRSxJQUFBQSxnQ0FBeUIsRUFBQ0YsVUFBVSxDQUFDQSxNQUFNRyxNQUFNLEVBQUU7WUFDdEQsTUFBTUMsaUJBQWlCQyxJQUFBQSxtQ0FBZ0IsRUFBQztnQkFDdENYO2dCQUNBQztZQUNGLEVBQUUsQ0FBQ0ssTUFBTU0sSUFBSSxDQUFDO1lBRWQsSUFBSUYsZ0JBQWdCO2dCQUNsQixNQUFNRyxjQUFjSCxlQUFlSjtnQkFFbkMsSUFBSVEsSUFBQUEsd0JBQWlCLEVBQUNSLFVBQVVBLE1BQU1NLElBQUksS0FBSyxRQUFRO29CQUNyRCxPQUFPO3dCQUNMLEdBQUdQLE1BQU07d0JBQ1QsR0FBR1EsWUFBWVQsTUFBTSxDQUNuQixDQUFDVyxXQUFXQyxXQUFjLENBQUE7Z0NBQ3hCLEdBQUdELFNBQVM7Z0NBQ1osQ0FBQ0UsSUFBQUEsbUJBQVUsRUFBQ0QsU0FBU0UsR0FBRyxFQUFFLEVBQUVGLFNBQVNKLElBQUk7NEJBQzNDLENBQUEsR0FDQSxDQUFDLEVBQ0Y7b0JBQ0g7Z0JBQ0Y7Z0JBRUEsT0FBTztvQkFDTCxHQUFHUCxNQUFNO29CQUNULENBQUNZLElBQUFBLG1CQUFVLEVBQUNYLE1BQU1SLElBQUksRUFBRSxFQUFFZTtnQkFDNUI7WUFDRjtRQUNGO1FBRUEsT0FBT1I7SUFDVCxHQUFHLENBQUM7SUFFSixJQUFJLENBQUNILFNBQVM7UUFDWkMsV0FBV2dCLEVBQUUsR0FBRztZQUNkUCxNQUFNUSxJQUFBQSw0QkFBYSxFQUFDO2dCQUFFdEIsTUFBTTtnQkFBTWMsTUFBTTtZQUFPLEdBQXlCWjtRQUMxRTtJQUNGO0lBRUEsTUFBTXFCLFlBQVlKLElBQUFBLG1CQUFVLEVBQUNuQjtJQUU3QixNQUFNd0Isa0JBQWtCO1FBQ3RCQyxLQUFLO1lBQ0hYLE1BQU0sSUFBSVksb0JBQVcsQ0FDbkIsSUFBSUMsK0JBQXNCLENBQUM7Z0JBQ3pCM0IsTUFBTSxDQUFDLEVBQUV1QixVQUFVLFVBQVUsQ0FBQztnQkFDOUJ0QixRQUFRLElBQU8sQ0FBQTt3QkFDYixHQUFHSSxVQUFVO3dCQUNiLEdBQUdtQixlQUFlO29CQUNwQixDQUFBO1lBQ0Y7UUFFSjtRQUNBSSxJQUFJO1lBQ0ZkLE1BQU0sSUFBSVksb0JBQVcsQ0FDbkIsSUFBSUMsK0JBQXNCLENBQUM7Z0JBQ3pCM0IsTUFBTSxDQUFDLEVBQUV1QixVQUFVLFNBQVMsQ0FBQztnQkFDN0J0QixRQUFRLElBQU8sQ0FBQTt3QkFDYixHQUFHSSxVQUFVO3dCQUNiLEdBQUdtQixlQUFlO29CQUNwQixDQUFBO1lBQ0Y7UUFFSjtJQUNGO0lBRUEsT0FBTyxJQUFJRywrQkFBc0IsQ0FBQztRQUNoQzNCLE1BQU0sQ0FBQyxFQUFFdUIsVUFBVSxNQUFNLENBQUM7UUFDMUJ0QixRQUFRO1lBQ04sR0FBR0ksVUFBVTtZQUNiLEdBQUdtQixlQUFlO1FBQ3BCO0lBQ0Y7QUFDRjtNQUVBLFdBQWV6QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withOperators.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/withOperators.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,sBAAsB,EAIvB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"withOperators.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/withOperators.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,sBAAsB,EAIvB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,2BAA2B,CAAA;AA4OlC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,UACjB,kBAAkB,cACb,MAAM,KACjB,sBA+CF,CAAA"}
|
|
@@ -193,7 +193,7 @@ const defaults = {
|
|
|
193
193
|
type: (field, parentName)=>new _graphql.GraphQLEnumType({
|
|
194
194
|
name: `${(0, _combineParentName.default)(parentName, field.name)}_Input`,
|
|
195
195
|
values: field.options.reduce((values, option)=>{
|
|
196
|
-
if (
|
|
196
|
+
if ((0, _types.optionIsObject)(option)) {
|
|
197
197
|
return {
|
|
198
198
|
...values,
|
|
199
199
|
[(0, _formatName.default)(option.value)]: {
|
|
@@ -201,15 +201,12 @@ const defaults = {
|
|
|
201
201
|
}
|
|
202
202
|
};
|
|
203
203
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
return values;
|
|
204
|
+
return {
|
|
205
|
+
...values,
|
|
206
|
+
[(0, _formatName.default)(option)]: {
|
|
207
|
+
value: option
|
|
208
|
+
}
|
|
209
|
+
};
|
|
213
210
|
}, {})
|
|
214
211
|
})
|
|
215
212
|
}))
|
|
@@ -296,4 +293,4 @@ const withOperators = (field, parentName)=>{
|
|
|
296
293
|
});
|
|
297
294
|
};
|
|
298
295
|
|
|
299
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS93aXRoT3BlcmF0b3JzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhRTFR5cGUgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQge1xuICBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTEVudW1UeXBlLFxuICBHcmFwaFFMRmxvYXQsXG4gIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsXG4gIEdyYXBoUUxJbnQsXG4gIEdyYXBoUUxMaXN0LFxuICBHcmFwaFFMU3RyaW5nLFxufSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHsgRGF0ZVRpbWVSZXNvbHZlciwgRW1haWxBZGRyZXNzUmVzb2x2ZXIgfSBmcm9tICdncmFwaHFsLXNjYWxhcnMnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTiB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuXG5pbXBvcnQgdHlwZSB7XG4gIEZpZWxkQWZmZWN0aW5nRGF0YSxcbiAgTnVtYmVyRmllbGQsXG4gIFJhZGlvRmllbGQsXG4gIFNlbGVjdEZpZWxkLFxufSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBSZWxhdGlvbnNoaXBGaWVsZCwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IG9wZXJhdG9ycyBmcm9tICcuL29wZXJhdG9ycydcblxudHlwZSBzdGF0aWNUeXBlcyA9XG4gIHwgJ2NoZWNrYm94J1xuICB8ICdjb2RlJ1xuICB8ICdkYXRlJ1xuICB8ICdlbWFpbCdcbiAgfCAnanNvbidcbiAgfCAnbnVtYmVyJ1xuICB8ICdwb2ludCdcbiAgfCAncmVsYXRpb25zaGlwJ1xuICB8ICdyaWNoVGV4dCdcbiAgfCAndGV4dCdcbiAgfCAndGV4dGFyZWEnXG4gIHwgJ3VwbG9hZCdcblxudHlwZSBkeW5hbWljVHlwZXMgPSAncmFkaW8nIHwgJ3NlbGVjdCdcblxuY29uc3QgR2VvSlNPTk9iamVjdCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ0dlb0pTT05PYmplY3QnLFxuICBmaWVsZHM6IHtcbiAgICBjb29yZGluYXRlczoge1xuICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgfSxcbiAgICB0eXBlOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgfSxcbn0pXG5cbnR5cGUgRGVmYXVsdHNUeXBlID0ge1xuICBba2V5IGluIHN0YXRpY1R5cGVzXToge1xuICAgIG9wZXJhdG9yczoge1xuICAgICAgbmFtZTogc3RyaW5nXG4gICAgICB0eXBlOiAoKGZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEsIHBhcmVudE5hbWU6IHN0cmluZykgPT4gR3JhcGhRTFR5cGUpIHwgR3JhcGhRTFR5cGVcbiAgICB9W11cbiAgfVxufSAmIHtcbiAgW2tleSBpbiBkeW5hbWljVHlwZXNdOiB7XG4gICAgb3BlcmF0b3JzOiB7XG4gICAgICBuYW1lOiBzdHJpbmdcbiAgICAgIHR5cGU6IChmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhLCBwYXJlbnROYW1lOiBzdHJpbmcpID0+IEdyYXBoUUxUeXBlXG4gICAgfVtdXG4gIH1cbn1cblxuY29uc3QgZGVmYXVsdHM6IERlZmF1bHRzVHlwZSA9IHtcbiAgY2hlY2tib3g6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLm9wZXJhdG9ycy5lcXVhbGl0eS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEJvb2xlYW4sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgY29kZToge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGRhdGU6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5jb21wYXJpc29uLCAnbGlrZSddLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBEYXRlVGltZVJlc29sdmVyLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGVtYWlsOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMucGFydGlhbCwgLi4ub3BlcmF0b3JzLmNvbnRhaW5zXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogRW1haWxBZGRyZXNzUmVzb2x2ZXIsXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAganNvbjoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWwsIC4uLm9wZXJhdG9ycy5nZW9qc29uXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgbnVtYmVyOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29tcGFyaXNvbl0ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IChmaWVsZDogTnVtYmVyRmllbGQpOiBHcmFwaFFMVHlwZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgICB9LFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHBvaW50OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29tcGFyaXNvbiwgLi4ub3BlcmF0b3JzLmdlb10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMRmxvYXQpLFxuICAgICAgfSkpLFxuICAgICAgLi4ub3BlcmF0b3JzLmdlb2pzb24ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZXhhbXBsZTpcbiAgICAgICAgICogd2l0aGluOiB7XG4gICAgICAgICAqICB0eXBlOiBcIlBvbHlnb25cIixcbiAgICAgICAgICogIGNvb3JkaW5hdGVzOiBbW1xuICAgICAgICAgKiAgIFswLjAsIDAuMF0sXG4gICAgICAgICAqICAgWzEuMCwgMS4wXSxcbiAgICAgICAgICogICBbMS4wLCAwLjBdLFxuICAgICAgICAgKiAgIFswLjAsIDAuMF0sXG4gICAgICAgICAqICBdXSxcbiAgICAgICAgICogfVxuICAgICAgICAgKiBAZXhhbXBsZVxuICAgICAgICAgKiBpbnRlcnNlY3RzOiB7XG4gICAgICAgICAqICB0eXBlOiBcIlBvaW50XCIsXG4gICAgICAgICAqICBjb29yZGluYXRlczogWyAwLjUsIDAuNSBdXG4gICAgICAgICAqIH1cbiAgICAgICAgICovXG4gICAgICAgIHR5cGU6IEdlb0pTT05PYmplY3QsXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgcmFkaW86IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5wYXJ0aWFsXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogKGZpZWxkOiBSYWRpb0ZpZWxkLCBwYXJlbnROYW1lKTogR3JhcGhRTFR5cGUgPT5cbiAgICAgICAgICBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9JbnB1dGAsXG4gICAgICAgICAgICB2YWx1ZXM6IGZpZWxkLm9wdGlvbnMucmVkdWNlKCh2YWx1ZXMsIG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICBpZiAob3B0aW9uSXNPYmplY3Qob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24udmFsdWUpXToge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgfSksXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgcmVsYXRpb25zaGlwOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29udGFpbnNdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMSlNPTixcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICByaWNoVGV4dDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMSlNPTixcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICBzZWxlY3Q6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5jb250YWluc10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IChmaWVsZDogU2VsZWN0RmllbGQsIHBhcmVudE5hbWUpOiBHcmFwaFFMVHlwZSA9PlxuICAgICAgICAgIG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICAgICAgbmFtZTogYCR7Y29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgZmllbGQubmFtZSl9X0lucHV0YCxcbiAgICAgICAgICAgIHZhbHVlczogZmllbGQub3B0aW9ucy5yZWR1Y2UoKHZhbHVlcywgb3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uLnZhbHVlKV06IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICAgIFtvcHRpb25dOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZXNcbiAgICAgICAgICAgIH0sIHt9KSxcbiAgICAgICAgICB9KSxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICB0ZXh0OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMucGFydGlhbCwgLi4ub3BlcmF0b3JzLmNvbnRhaW5zXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICB0ZXh0YXJlYToge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHVwbG9hZDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4ub3BlcmF0b3JzLmVxdWFsaXR5Lm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIC8vIGFycmF5OiBuL2FcbiAgLy8gZ3JvdXA6IG4vYVxuICAvLyByb3c6IG4vYVxuICAvLyBjb2xsYXBzaWJsZTogbi9hXG4gIC8vIHRhYnM6IG4vYVxufVxuXG5jb25zdCBsaXN0T3BlcmF0b3JzID0gWydpbicsICdub3RfaW4nLCAnYWxsJ11cblxuY29uc3QgZ3FsVHlwZUNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMVHlwZT4gPSB7fVxuXG4vKipcbiAqIEluIEdyYXBoUUwsIHlvdSBjYW4gdXNlIFwid2hlcmVcIiBhcyBhbiBhcmd1bWVudCB0byBmaWx0ZXIgYSBjb2xsZWN0aW9uLiBFeGFtcGxlOlxuICogeyBQb3N0cyh3aGVyZTogeyB0aXRsZTogeyBlcXVhbHM6IFwiSGVsbG9cIiB9IH0pIHsgdGV4dCB9IH1cbiAqIFRoaXMgZnVuY3Rpb24gZGVmaW5lcyB0aGUgb3BlcmF0b3JzIGZvciBhIGZpZWxkJ3MgY29uZGl0aW9uIGluIHRoZSBcIndoZXJlXCIgYXJndW1lbnQgb2YgdGhlIGNvbGxlY3Rpb24gKGl0IHRodXMgZ2V0cyBjYWxsZWQgZm9yIGV2ZXJ5IGZpZWxkKS5cbiAqIEZvciBleGFtcGxlLCBpbiB0aGUgZXhhbXBsZSBhYm92ZSwgaXQgd291bGQgY29udHJvbCB0aGF0XG4gKiAtIFwiZXF1YWxzXCIgaXMgYSB2YWxpZCBvcGVyYXRvciBmb3IgdGhlIFwidGl0bGVcIiBmaWVsZFxuICogLSB0aGUgYWNjZXB0ZWQgdHlwZSBvZiB0aGUgXCJlcXVhbHNcIiBhcmd1bWVudCBoYXMgdG8gYmUgYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGZpZWxkIHRoZSBmaWVsZCBmb3Igd2hpY2ggdGhlaXIgdmFsaWQgb3BlcmF0b3JzIGluc2lkZSBhIFwid2hlcmVcIiBhcmd1bWVudCBpcyBiZWluZyBkZWZpbmVkXG4gKiBAcGFyYW0gcGFyZW50TmFtZSB0aGUgbmFtZSBvZiB0aGUgcGFyZW50IGZpZWxkIChpZiBhbnkpXG4gKiBAcmV0dXJucyBhbGwgdGhlIG9wZXJhdG9ycyAoaW5jbHVkaW5nIHRoZWlyIHR5cGVzKSB3aGljaCBjYW4gYmUgdXNlZCBhcyBhIGNvbmRpdGlvbiBmb3IgYSBnaXZlbiBmaWVsZCBpbnNpZGUgYSB3aGVyZVxuICovXG5leHBvcnQgY29uc3Qgd2l0aE9wZXJhdG9ycyA9IChcbiAgZmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YSxcbiAgcGFyZW50TmFtZTogc3RyaW5nLFxuKTogR3JhcGhRTElucHV0T2JqZWN0VHlwZSA9PiB7XG4gIGlmICghZGVmYXVsdHM/LltmaWVsZC50eXBlXSkgdGhyb3cgbmV3IEVycm9yKGBFcnJvcjogJHtmaWVsZC50eXBlfSBoYXMgbm8gZGVmYXVsdHMgY29uZmlndXJlZC5gKVxuXG4gIGNvbnN0IG5hbWUgPSBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fb3BlcmF0b3JgXG5cbiAgLy8gR2V0IHRoZSBkZWZhdWx0IG9wZXJhdG9ycyBmb3IgdGhlIGZpZWxkIHR5cGUgd2hpY2ggYXJlIGhhcmQtY29kZWQgYWJvdmVcbiAgY29uc3QgZmllbGRPcGVyYXRvcnMgPSBbLi4uZGVmYXVsdHNbZmllbGQudHlwZV0ub3BlcmF0b3JzXVxuXG4gIGlmICghKCdyZXF1aXJlZCcgaW4gZmllbGQpIHx8ICFmaWVsZC5yZXF1aXJlZCkge1xuICAgIGZpZWxkT3BlcmF0b3JzLnB1c2goe1xuICAgICAgbmFtZTogJ2V4aXN0cycsXG4gICAgICB0eXBlOiBmaWVsZE9wZXJhdG9yc1swXS50eXBlLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgIG5hbWUsXG4gICAgZmllbGRzOiBmaWVsZE9wZXJhdG9ycy5yZWR1Y2UoKG9iamVjdFR5cGVGaWVsZHMsIG9wZXJhdG9yKSA9PiB7XG4gICAgICAvLyBHZXQgdGhlIHR5cGUgb2YgdGhlIG9wZXJhdG9yLiBJdCBjYW4gYmUgZWl0aGVyIHN0YXRpYywgb3IgZHluYW1pYyAoPT4gYSBmdW5jdGlvbilcbiAgICAgIGxldCBncWxUeXBlOiBHcmFwaFFMVHlwZSA9XG4gICAgICAgIHR5cGVvZiBvcGVyYXRvci50eXBlID09PSAnZnVuY3Rpb24nID8gb3BlcmF0b3IudHlwZShmaWVsZCwgcGFyZW50TmFtZSkgOiBvcGVyYXRvci50eXBlXG5cbiAgICAgIC8vIEdyYXBoUUwgZG9lcyBub3QgYWxsb3cgdHlwZXMgd2l0aCBkdXBsaWNhdGUgbmFtZXMsIHNvIHdlIHVzZSB0aGlzIGNhY2hlIHRvIGF2b2lkIHRoYXQuXG4gICAgICAvLyBXaXRob3V0IHRoaXMsIHNlbGVjdCBhbmQgcmFkaW8gZmllbGRzIHdvdWxkIGhhdmUgdGhlIHNhbWUgbmFtZSwgYW5kIEdyYXBoUUwgd291bGQgdGhyb3cgYW4gZXJyb3JcbiAgICAgIC8vIFRoaXMgdXN1YWxseSBvbmx5IGhhcHBlbnMgaWYgYSBjdXN0b20gdHlwZSBpcyByZXR1cm5lZCBmcm9tIHRoZSBvcGVyYXRvci50eXBlIGZ1bmN0aW9uXG4gICAgICBpZiAodHlwZW9mIG9wZXJhdG9yLnR5cGUgPT09ICdmdW5jdGlvbicgJiYgJ25hbWUnIGluIGdxbFR5cGUpIHtcbiAgICAgICAgaWYgKGdxbFR5cGVDYWNoZVtncWxUeXBlLm5hbWVdKSB7XG4gICAgICAgICAgZ3FsVHlwZSA9IGdxbFR5cGVDYWNoZVtncWxUeXBlLm5hbWVdXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3FsVHlwZUNhY2hlW2dxbFR5cGUubmFtZV0gPSBncWxUeXBlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGxpc3RPcGVyYXRvcnMuaW5jbHVkZXMob3BlcmF0b3IubmFtZSkpIHtcbiAgICAgICAgZ3FsVHlwZSA9IG5ldyBHcmFwaFFMTGlzdChncWxUeXBlKVxuICAgICAgfSBlbHNlIGlmIChvcGVyYXRvci5uYW1lID09PSAnZXhpc3RzJykge1xuICAgICAgICBncWxUeXBlID0gR3JhcGhRTEJvb2xlYW5cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUZpZWxkcyxcbiAgICAgICAgW29wZXJhdG9yLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogZ3FsVHlwZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9LCB7fSksXG4gIH0pXG59XG4iXSwibmFtZXMiOlsid2l0aE9wZXJhdG9ycyIsIkdlb0pTT05PYmplY3QiLCJHcmFwaFFMSW5wdXRPYmplY3RUeXBlIiwibmFtZSIsImZpZWxkcyIsImNvb3JkaW5hdGVzIiwidHlwZSIsIkdyYXBoUUxKU09OIiwiR3JhcGhRTFN0cmluZyIsImRlZmF1bHRzIiwiY2hlY2tib3giLCJvcGVyYXRvcnMiLCJlcXVhbGl0eSIsIm1hcCIsIm9wZXJhdG9yIiwiR3JhcGhRTEJvb2xlYW4iLCJjb2RlIiwicGFydGlhbCIsImRhdGUiLCJjb21wYXJpc29uIiwiRGF0ZVRpbWVSZXNvbHZlciIsImVtYWlsIiwiY29udGFpbnMiLCJFbWFpbEFkZHJlc3NSZXNvbHZlciIsImpzb24iLCJnZW9qc29uIiwibnVtYmVyIiwiZmllbGQiLCJHcmFwaFFMSW50IiwiR3JhcGhRTEZsb2F0IiwicG9pbnQiLCJnZW8iLCJHcmFwaFFMTGlzdCIsInJhZGlvIiwicGFyZW50TmFtZSIsIkdyYXBoUUxFbnVtVHlwZSIsImNvbWJpbmVQYXJlbnROYW1lIiwidmFsdWVzIiwib3B0aW9ucyIsInJlZHVjZSIsIm9wdGlvbiIsIm9wdGlvbklzT2JqZWN0IiwiZm9ybWF0TmFtZSIsInZhbHVlIiwicmVsYXRpb25zaGlwIiwicmljaFRleHQiLCJzZWxlY3QiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJsaXN0T3BlcmF0b3JzIiwiZ3FsVHlwZUNhY2hlIiwiRXJyb3IiLCJmaWVsZE9wZXJhdG9ycyIsInJlcXVpcmVkIiwicHVzaCIsIm9iamVjdFR5cGVGaWVsZHMiLCJncWxUeXBlIiwiaW5jbHVkZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBK1Fh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
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS93aXRoT3BlcmF0b3JzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhRTFR5cGUgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQge1xuICBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTEVudW1UeXBlLFxuICBHcmFwaFFMRmxvYXQsXG4gIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsXG4gIEdyYXBoUUxJbnQsXG4gIEdyYXBoUUxMaXN0LFxuICBHcmFwaFFMU3RyaW5nLFxufSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHsgRGF0ZVRpbWVSZXNvbHZlciwgRW1haWxBZGRyZXNzUmVzb2x2ZXIgfSBmcm9tICdncmFwaHFsLXNjYWxhcnMnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTiB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuXG5pbXBvcnQgdHlwZSB7XG4gIEZpZWxkQWZmZWN0aW5nRGF0YSxcbiAgTnVtYmVyRmllbGQsXG4gIFJhZGlvRmllbGQsXG4gIFNlbGVjdEZpZWxkLFxufSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBSZWxhdGlvbnNoaXBGaWVsZCwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IG9wZXJhdG9ycyBmcm9tICcuL29wZXJhdG9ycydcblxudHlwZSBzdGF0aWNUeXBlcyA9XG4gIHwgJ2NoZWNrYm94J1xuICB8ICdjb2RlJ1xuICB8ICdkYXRlJ1xuICB8ICdlbWFpbCdcbiAgfCAnanNvbidcbiAgfCAnbnVtYmVyJ1xuICB8ICdwb2ludCdcbiAgfCAncmVsYXRpb25zaGlwJ1xuICB8ICdyaWNoVGV4dCdcbiAgfCAndGV4dCdcbiAgfCAndGV4dGFyZWEnXG4gIHwgJ3VwbG9hZCdcblxudHlwZSBkeW5hbWljVHlwZXMgPSAncmFkaW8nIHwgJ3NlbGVjdCdcblxuY29uc3QgR2VvSlNPTk9iamVjdCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ0dlb0pTT05PYmplY3QnLFxuICBmaWVsZHM6IHtcbiAgICBjb29yZGluYXRlczoge1xuICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgfSxcbiAgICB0eXBlOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgfSxcbn0pXG5cbnR5cGUgRGVmYXVsdHNUeXBlID0ge1xuICBba2V5IGluIHN0YXRpY1R5cGVzXToge1xuICAgIG9wZXJhdG9yczoge1xuICAgICAgbmFtZTogc3RyaW5nXG4gICAgICB0eXBlOiAoKGZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEsIHBhcmVudE5hbWU6IHN0cmluZykgPT4gR3JhcGhRTFR5cGUpIHwgR3JhcGhRTFR5cGVcbiAgICB9W11cbiAgfVxufSAmIHtcbiAgW2tleSBpbiBkeW5hbWljVHlwZXNdOiB7XG4gICAgb3BlcmF0b3JzOiB7XG4gICAgICBuYW1lOiBzdHJpbmdcbiAgICAgIHR5cGU6IChmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhLCBwYXJlbnROYW1lOiBzdHJpbmcpID0+IEdyYXBoUUxUeXBlXG4gICAgfVtdXG4gIH1cbn1cblxuY29uc3QgZGVmYXVsdHM6IERlZmF1bHRzVHlwZSA9IHtcbiAgY2hlY2tib3g6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLm9wZXJhdG9ycy5lcXVhbGl0eS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEJvb2xlYW4sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgY29kZToge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGRhdGU6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5jb21wYXJpc29uLCAnbGlrZSddLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBEYXRlVGltZVJlc29sdmVyLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGVtYWlsOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMucGFydGlhbCwgLi4ub3BlcmF0b3JzLmNvbnRhaW5zXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogRW1haWxBZGRyZXNzUmVzb2x2ZXIsXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAganNvbjoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWwsIC4uLm9wZXJhdG9ycy5nZW9qc29uXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgbnVtYmVyOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29tcGFyaXNvbl0ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IChmaWVsZDogTnVtYmVyRmllbGQpOiBHcmFwaFFMVHlwZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgICB9LFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHBvaW50OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29tcGFyaXNvbiwgLi4ub3BlcmF0b3JzLmdlb10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMRmxvYXQpLFxuICAgICAgfSkpLFxuICAgICAgLi4ub3BlcmF0b3JzLmdlb2pzb24ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZXhhbXBsZTpcbiAgICAgICAgICogd2l0aGluOiB7XG4gICAgICAgICAqICB0eXBlOiBcIlBvbHlnb25cIixcbiAgICAgICAgICogIGNvb3JkaW5hdGVzOiBbW1xuICAgICAgICAgKiAgIFswLjAsIDAuMF0sXG4gICAgICAgICAqICAgWzEuMCwgMS4wXSxcbiAgICAgICAgICogICBbMS4wLCAwLjBdLFxuICAgICAgICAgKiAgIFswLjAsIDAuMF0sXG4gICAgICAgICAqICBdXSxcbiAgICAgICAgICogfVxuICAgICAgICAgKiBAZXhhbXBsZVxuICAgICAgICAgKiBpbnRlcnNlY3RzOiB7XG4gICAgICAgICAqICB0eXBlOiBcIlBvaW50XCIsXG4gICAgICAgICAqICBjb29yZGluYXRlczogWyAwLjUsIDAuNSBdXG4gICAgICAgICAqIH1cbiAgICAgICAgICovXG4gICAgICAgIHR5cGU6IEdlb0pTT05PYmplY3QsXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgcmFkaW86IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5wYXJ0aWFsXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogKGZpZWxkOiBSYWRpb0ZpZWxkLCBwYXJlbnROYW1lKTogR3JhcGhRTFR5cGUgPT5cbiAgICAgICAgICBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9JbnB1dGAsXG4gICAgICAgICAgICB2YWx1ZXM6IGZpZWxkLm9wdGlvbnMucmVkdWNlKCh2YWx1ZXMsIG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICBpZiAob3B0aW9uSXNPYmplY3Qob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24udmFsdWUpXToge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgfSksXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgcmVsYXRpb25zaGlwOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29udGFpbnNdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMSlNPTixcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICByaWNoVGV4dDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMSlNPTixcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICBzZWxlY3Q6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5jb250YWluc10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IChmaWVsZDogU2VsZWN0RmllbGQsIHBhcmVudE5hbWUpOiBHcmFwaFFMVHlwZSA9PlxuICAgICAgICAgIG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICAgICAgbmFtZTogYCR7Y29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgZmllbGQubmFtZSl9X0lucHV0YCxcbiAgICAgICAgICAgIHZhbHVlczogZmllbGQub3B0aW9ucy5yZWR1Y2UoKHZhbHVlcywgb3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChvcHRpb25Jc09iamVjdChvcHRpb24pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICAgIFtmb3JtYXROYW1lKG9wdGlvbi52YWx1ZSldOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgIFtmb3JtYXROYW1lKG9wdGlvbildOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHt9KSxcbiAgICAgICAgICB9KSxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICB0ZXh0OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMucGFydGlhbCwgLi4ub3BlcmF0b3JzLmNvbnRhaW5zXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICB0ZXh0YXJlYToge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHVwbG9hZDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4ub3BlcmF0b3JzLmVxdWFsaXR5Lm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIC8vIGFycmF5OiBuL2FcbiAgLy8gZ3JvdXA6IG4vYVxuICAvLyByb3c6IG4vYVxuICAvLyBjb2xsYXBzaWJsZTogbi9hXG4gIC8vIHRhYnM6IG4vYVxufVxuXG5jb25zdCBsaXN0T3BlcmF0b3JzID0gWydpbicsICdub3RfaW4nLCAnYWxsJ11cblxuY29uc3QgZ3FsVHlwZUNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMVHlwZT4gPSB7fVxuXG4vKipcbiAqIEluIEdyYXBoUUwsIHlvdSBjYW4gdXNlIFwid2hlcmVcIiBhcyBhbiBhcmd1bWVudCB0byBmaWx0ZXIgYSBjb2xsZWN0aW9uLiBFeGFtcGxlOlxuICogeyBQb3N0cyh3aGVyZTogeyB0aXRsZTogeyBlcXVhbHM6IFwiSGVsbG9cIiB9IH0pIHsgdGV4dCB9IH1cbiAqIFRoaXMgZnVuY3Rpb24gZGVmaW5lcyB0aGUgb3BlcmF0b3JzIGZvciBhIGZpZWxkJ3MgY29uZGl0aW9uIGluIHRoZSBcIndoZXJlXCIgYXJndW1lbnQgb2YgdGhlIGNvbGxlY3Rpb24gKGl0IHRodXMgZ2V0cyBjYWxsZWQgZm9yIGV2ZXJ5IGZpZWxkKS5cbiAqIEZvciBleGFtcGxlLCBpbiB0aGUgZXhhbXBsZSBhYm92ZSwgaXQgd291bGQgY29udHJvbCB0aGF0XG4gKiAtIFwiZXF1YWxzXCIgaXMgYSB2YWxpZCBvcGVyYXRvciBmb3IgdGhlIFwidGl0bGVcIiBmaWVsZFxuICogLSB0aGUgYWNjZXB0ZWQgdHlwZSBvZiB0aGUgXCJlcXVhbHNcIiBhcmd1bWVudCBoYXMgdG8gYmUgYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGZpZWxkIHRoZSBmaWVsZCBmb3Igd2hpY2ggdGhlaXIgdmFsaWQgb3BlcmF0b3JzIGluc2lkZSBhIFwid2hlcmVcIiBhcmd1bWVudCBpcyBiZWluZyBkZWZpbmVkXG4gKiBAcGFyYW0gcGFyZW50TmFtZSB0aGUgbmFtZSBvZiB0aGUgcGFyZW50IGZpZWxkIChpZiBhbnkpXG4gKiBAcmV0dXJucyBhbGwgdGhlIG9wZXJhdG9ycyAoaW5jbHVkaW5nIHRoZWlyIHR5cGVzKSB3aGljaCBjYW4gYmUgdXNlZCBhcyBhIGNvbmRpdGlvbiBmb3IgYSBnaXZlbiBmaWVsZCBpbnNpZGUgYSB3aGVyZVxuICovXG5leHBvcnQgY29uc3Qgd2l0aE9wZXJhdG9ycyA9IChcbiAgZmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YSxcbiAgcGFyZW50TmFtZTogc3RyaW5nLFxuKTogR3JhcGhRTElucHV0T2JqZWN0VHlwZSA9PiB7XG4gIGlmICghZGVmYXVsdHM/LltmaWVsZC50eXBlXSkgdGhyb3cgbmV3IEVycm9yKGBFcnJvcjogJHtmaWVsZC50eXBlfSBoYXMgbm8gZGVmYXVsdHMgY29uZmlndXJlZC5gKVxuXG4gIGNvbnN0IG5hbWUgPSBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fb3BlcmF0b3JgXG5cbiAgLy8gR2V0IHRoZSBkZWZhdWx0IG9wZXJhdG9ycyBmb3IgdGhlIGZpZWxkIHR5cGUgd2hpY2ggYXJlIGhhcmQtY29kZWQgYWJvdmVcbiAgY29uc3QgZmllbGRPcGVyYXRvcnMgPSBbLi4uZGVmYXVsdHNbZmllbGQudHlwZV0ub3BlcmF0b3JzXVxuXG4gIGlmICghKCdyZXF1aXJlZCcgaW4gZmllbGQpIHx8ICFmaWVsZC5yZXF1aXJlZCkge1xuICAgIGZpZWxkT3BlcmF0b3JzLnB1c2goe1xuICAgICAgbmFtZTogJ2V4aXN0cycsXG4gICAgICB0eXBlOiBmaWVsZE9wZXJhdG9yc1swXS50eXBlLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgIG5hbWUsXG4gICAgZmllbGRzOiBmaWVsZE9wZXJhdG9ycy5yZWR1Y2UoKG9iamVjdFR5cGVGaWVsZHMsIG9wZXJhdG9yKSA9PiB7XG4gICAgICAvLyBHZXQgdGhlIHR5cGUgb2YgdGhlIG9wZXJhdG9yLiBJdCBjYW4gYmUgZWl0aGVyIHN0YXRpYywgb3IgZHluYW1pYyAoPT4gYSBmdW5jdGlvbilcbiAgICAgIGxldCBncWxUeXBlOiBHcmFwaFFMVHlwZSA9XG4gICAgICAgIHR5cGVvZiBvcGVyYXRvci50eXBlID09PSAnZnVuY3Rpb24nID8gb3BlcmF0b3IudHlwZShmaWVsZCwgcGFyZW50TmFtZSkgOiBvcGVyYXRvci50eXBlXG5cbiAgICAgIC8vIEdyYXBoUUwgZG9lcyBub3QgYWxsb3cgdHlwZXMgd2l0aCBkdXBsaWNhdGUgbmFtZXMsIHNvIHdlIHVzZSB0aGlzIGNhY2hlIHRvIGF2b2lkIHRoYXQuXG4gICAgICAvLyBXaXRob3V0IHRoaXMsIHNlbGVjdCBhbmQgcmFkaW8gZmllbGRzIHdvdWxkIGhhdmUgdGhlIHNhbWUgbmFtZSwgYW5kIEdyYXBoUUwgd291bGQgdGhyb3cgYW4gZXJyb3JcbiAgICAgIC8vIFRoaXMgdXN1YWxseSBvbmx5IGhhcHBlbnMgaWYgYSBjdXN0b20gdHlwZSBpcyByZXR1cm5lZCBmcm9tIHRoZSBvcGVyYXRvci50eXBlIGZ1bmN0aW9uXG4gICAgICBpZiAodHlwZW9mIG9wZXJhdG9yLnR5cGUgPT09ICdmdW5jdGlvbicgJiYgJ25hbWUnIGluIGdxbFR5cGUpIHtcbiAgICAgICAgaWYgKGdxbFR5cGVDYWNoZVtncWxUeXBlLm5hbWVdKSB7XG4gICAgICAgICAgZ3FsVHlwZSA9IGdxbFR5cGVDYWNoZVtncWxUeXBlLm5hbWVdXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3FsVHlwZUNhY2hlW2dxbFR5cGUubmFtZV0gPSBncWxUeXBlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGxpc3RPcGVyYXRvcnMuaW5jbHVkZXMob3BlcmF0b3IubmFtZSkpIHtcbiAgICAgICAgZ3FsVHlwZSA9IG5ldyBHcmFwaFFMTGlzdChncWxUeXBlKVxuICAgICAgfSBlbHNlIGlmIChvcGVyYXRvci5uYW1lID09PSAnZXhpc3RzJykge1xuICAgICAgICBncWxUeXBlID0gR3JhcGhRTEJvb2xlYW5cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUZpZWxkcyxcbiAgICAgICAgW29wZXJhdG9yLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogZ3FsVHlwZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9LCB7fSksXG4gIH0pXG59XG4iXSwibmFtZXMiOlsid2l0aE9wZXJhdG9ycyIsIkdlb0pTT05PYmplY3QiLCJHcmFwaFFMSW5wdXRPYmplY3RUeXBlIiwibmFtZSIsImZpZWxkcyIsImNvb3JkaW5hdGVzIiwidHlwZSIsIkdyYXBoUUxKU09OIiwiR3JhcGhRTFN0cmluZyIsImRlZmF1bHRzIiwiY2hlY2tib3giLCJvcGVyYXRvcnMiLCJlcXVhbGl0eSIsIm1hcCIsIm9wZXJhdG9yIiwiR3JhcGhRTEJvb2xlYW4iLCJjb2RlIiwicGFydGlhbCIsImRhdGUiLCJjb21wYXJpc29uIiwiRGF0ZVRpbWVSZXNvbHZlciIsImVtYWlsIiwiY29udGFpbnMiLCJFbWFpbEFkZHJlc3NSZXNvbHZlciIsImpzb24iLCJnZW9qc29uIiwibnVtYmVyIiwiZmllbGQiLCJHcmFwaFFMSW50IiwiR3JhcGhRTEZsb2F0IiwicG9pbnQiLCJnZW8iLCJHcmFwaFFMTGlzdCIsInJhZGlvIiwicGFyZW50TmFtZSIsIkdyYXBoUUxFbnVtVHlwZSIsImNvbWJpbmVQYXJlbnROYW1lIiwidmFsdWVzIiwib3B0aW9ucyIsInJlZHVjZSIsIm9wdGlvbiIsIm9wdGlvbklzT2JqZWN0IiwiZm9ybWF0TmFtZSIsInZhbHVlIiwicmVsYXRpb25zaGlwIiwicmljaFRleHQiLCJzZWxlY3QiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJsaXN0T3BlcmF0b3JzIiwiZ3FsVHlwZUNhY2hlIiwiRXJyb3IiLCJmaWVsZE9wZXJhdG9ycyIsInJlcXVpcmVkIiwicHVzaCIsIm9iamVjdFR5cGVGaWVsZHMiLCJncWxUeXBlIiwiaW5jbHVkZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBMlFhQTs7O2VBQUFBOzs7eUJBalFOO2dDQUNnRDtpQ0FDM0I7dUJBU3NCOzBFQUNwQjttRUFDUDtrRUFDRDs7Ozs7O0FBa0J0QixNQUFNQyxnQkFBZ0IsSUFBSUMsK0JBQXNCLENBQUM7SUFDL0NDLE1BQU07SUFD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
|
|
@@ -18,6 +18,9 @@ function _interop_require_default(obj) {
|
|
|
18
18
|
}
|
|
19
19
|
async function update(args) {
|
|
20
20
|
const { key, overrideAccess, req: { payload }, req, user, value } = args;
|
|
21
|
+
if (!user) {
|
|
22
|
+
throw new _UnathorizedError.default(req.t);
|
|
23
|
+
}
|
|
21
24
|
const collection = 'payload-preferences';
|
|
22
25
|
const filter = {
|
|
23
26
|
key: {
|
|
@@ -38,9 +41,6 @@ async function update(args) {
|
|
|
38
41
|
},
|
|
39
42
|
value
|
|
40
43
|
};
|
|
41
|
-
if (!user) {
|
|
42
|
-
throw new _UnathorizedError.default(req.t);
|
|
43
|
-
}
|
|
44
44
|
if (!overrideAccess) {
|
|
45
45
|
await (0, _executeAccess.default)({
|
|
46
46
|
req
|
|
@@ -65,4 +65,4 @@ async function update(args) {
|
|
|
65
65
|
}
|
|
66
66
|
const _default = update;
|
|
67
67
|
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVmZXJlbmNlcy9vcGVyYXRpb25zL3VwZGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByZWZlcmVuY2VVcGRhdGVSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCBkZWZhdWx0QWNjZXNzIGZyb20gJy4uLy4uL2F1dGgvZGVmYXVsdEFjY2VzcydcbmltcG9ydCBleGVjdXRlQWNjZXNzIGZyb20gJy4uLy4uL2F1dGgvZXhlY3V0ZUFjY2VzcydcbmltcG9ydCBVbmF1dGhvcml6ZWRFcnJvciBmcm9tICcuLi8uLi9lcnJvcnMvVW5hdGhvcml6ZWRFcnJvcidcblxuYXN5bmMgZnVuY3Rpb24gdXBkYXRlKGFyZ3M6IFByZWZlcmVuY2VVcGRhdGVSZXF1ZXN0KSB7XG4gIGNvbnN0IHtcbiAgICBrZXksXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgcmVxOiB7IHBheWxvYWQgfSxcbiAgICByZXEsXG4gICAgdXNlcixcbiAgICB2YWx1ZSxcbiAgfSA9IGFyZ3NcblxuICBpZiAoIXVzZXIpIHtcbiAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IocmVxLnQpXG4gIH1cblxuICBjb25zdCBjb2xsZWN0aW9uID0gJ3BheWxvYWQtcHJlZmVyZW5jZXMnXG5cbiAgY29uc3QgZmlsdGVyID0ge1xuICAgIGtleTogeyBlcXVhbHM6IGtleSB9LFxuICAgICd1c2VyLnJlbGF0aW9uVG8nOiB7IGVxdWFsczogdXNlci5jb2xsZWN0aW9uIH0sXG4gICAgJ3VzZXIudmFsdWUnOiB7IGVxdWFsczogdXNlci5pZCB9LFxuICB9XG5cbiAgY29uc3QgcHJlZmVyZW5jZSA9IHtcbiAgICBrZXksXG4gICAgdXNlcjoge1xuICAgICAgcmVsYXRpb25UbzogdXNlci5jb2xsZWN0aW9uLFxuICAgICAgdmFsdWU6IHVzZXIuaWQsXG4gICAgfSxcbiAgICB2YWx1ZSxcbiAgfVxuXG4gIGlmICghb3ZlcnJpZGVBY2Nlc3MpIHtcbiAgICBhd2FpdCBleGVjdXRlQWNjZXNzKHsgcmVxIH0sIGRlZmF1bHRBY2Nlc3MpXG4gIH1cblxuICB0cnkge1xuICAgIC8vIHRyeS9jYXRjaCBiZWNhdXNlIHdlIGF0dGVtcHQgdG8gdXBkYXRlIHdpdGhvdXQgZmlyc3QgcmVhZGluZyB0byBjaGVjayBpZiBpdCBleGlzdHMgZmlyc3QgdG8gc2F2ZSBvbiBkYiBjYWxsc1xuICAgIGF3YWl0IHBheWxvYWQuZGIudXBkYXRlT25lKHtcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBkYXRhOiBwcmVmZXJlbmNlLFxuICAgICAgcmVxLFxuICAgICAgd2hlcmU6IGZpbHRlcixcbiAgICB9KVxuICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICBhd2FpdCBwYXlsb2FkLmRiLmNyZWF0ZSh7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZGF0YTogcHJlZmVyZW5jZSxcbiAgICAgIHJlcSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIHByZWZlcmVuY2Vcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXBkYXRlXG4iXSwibmFtZXMiOlsidXBkYXRlIiwiYXJncyIsImtleSIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwicGF5bG9hZCIsInVzZXIiLCJ2YWx1ZSIsIlVuYXV0aG9yaXplZEVycm9yIiwidCIsImNvbGxlY3Rpb24iLCJmaWx0ZXIiLCJlcXVhbHMiLCJpZCIsInByZWZlcmVuY2UiLCJyZWxhdGlvblRvIiwiZXhlY3V0ZUFjY2VzcyIsImRlZmF1bHRBY2Nlc3MiLCJkYiIsInVwZGF0ZU9uZSIsImRhdGEiLCJ3aGVyZSIsImVyciIsImNyZWF0ZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE0REE7OztlQUFBOzs7c0VBMUQwQjtzRUFDQTt5RUFDSTs7Ozs7O0FBRTlCLGVBQWVBLE9BQU9DLElBQTZCO0lBQ2pELE1BQU0sRUFDSkMsR0FBRyxFQUNIQyxjQUFjLEVBQ2RDLEtBQUssRUFBRUMsT0FBTyxFQUFFLEVBQ2hCRCxHQUFHLEVBQ0hFLElBQUksRUFDSkMsS0FBSyxFQUNOLEdBQUdOO0lBRUosSUFBSSxDQUFDSyxNQUFNO1FBQ1QsTUFBTSxJQUFJRSx5QkFBaUIsQ0FBQ0osSUFBSUssQ0FBQztJQUNuQztJQUVBLE1BQU1DLGFBQWE7SUFFbkIsTUFBTUMsU0FBUztRQUNiVCxLQUFLO1lBQUVVLFFBQVFWO1FBQUk7UUFDbkIsbUJBQW1CO1lBQUVVLFFBQVFOLEtBQUtJLFVBQVU7UUFBQztRQUM3QyxjQUFjO1lBQUVFLFFBQVFOLEtBQUtPLEVBQUU7UUFBQztJQUNsQztJQUVBLE1BQU1DLGFBQWE7UUFDakJaO1FBQ0FJLE1BQU07WUFDSlMsWUFBWVQsS0FBS0ksVUFBVTtZQUMzQkgsT0FBT0QsS0FBS08sRUFBRTtRQUNoQjtRQUNBTjtJQUNGO0lBRUEsSUFBSSxDQUFDSixnQkFBZ0I7UUFDbkIsTUFBTWEsSUFBQUEsc0JBQWEsRUFBQztZQUFFWjtRQUFJLEdBQUdhLHNCQUFhO0lBQzVDO0lBRUEsSUFBSTtRQUNGLCtHQUErRztRQUMvRyxNQUFNWixRQUFRYSxFQUFFLENBQUNDLFNBQVMsQ0FBQztZQUN6QlQ7WUFDQVUsTUFBTU47WUFDTlY7WUFDQWlCLE9BQU9WO1FBQ1Q7SUFDRixFQUFFLE9BQU9XLEtBQWM7UUFDckIsTUFBTWpCLFFBQVFhLEVBQUUsQ0FBQ0ssTUFBTSxDQUFDO1lBQ3RCYjtZQUNBVSxNQUFNTjtZQUNOVjtRQUNGO0lBQ0Y7SUFFQSxPQUFPVTtBQUNUO01BRUEsV0FBZWQifQ==
|
|
@@ -204,6 +204,7 @@
|
|
|
204
204
|
"loading": "يتمّ التّحميل",
|
|
205
205
|
"locale": "اللّغة",
|
|
206
206
|
"locales": "اللّغات",
|
|
207
|
+
"menu": "قائمة",
|
|
207
208
|
"moveDown": "التّحريك إلى الأسفل",
|
|
208
209
|
"moveUp": "التّحريك إلى الأعلى",
|
|
209
210
|
"newPassword": "كلمة مرور جديدة",
|
|
@@ -216,8 +217,8 @@
|
|
|
216
217
|
"notFound": "غير موجود",
|
|
217
218
|
"nothingFound": "لم يتم العثور على شيء",
|
|
218
219
|
"of": "من",
|
|
219
|
-
"or": "أو",
|
|
220
220
|
"open": "فتح",
|
|
221
|
+
"or": "أو",
|
|
221
222
|
"order": "التّرتيب",
|
|
222
223
|
"pageNotFound": "الصّفحة غير موجودة",
|
|
223
224
|
"password": "كلمة المرور",
|
|
@@ -368,4 +369,4 @@
|
|
|
368
369
|
"viewingVersions": "يتمّ استعراض النُّسَخ ل {{entityLabel}} {{documentTitle}}",
|
|
369
370
|
"viewingVersionsGlobal": "يتمّ استعراض النُّسَخ للاعداد العامّ {{entityLabel}}"
|
|
370
371
|
}
|
|
371
|
-
}
|
|
372
|
+
}
|
|
@@ -205,6 +205,7 @@
|
|
|
205
205
|
"loading": "Yüklənir",
|
|
206
206
|
"locale": "Lokal",
|
|
207
207
|
"locales": "Dillər",
|
|
208
|
+
"menu": "Menyu",
|
|
208
209
|
"moveDown": "Aşağı hərəkət et",
|
|
209
210
|
"moveUp": "Yuxarı hərəkət et",
|
|
210
211
|
"newPassword": "Yeni şifrə",
|
|
@@ -217,8 +218,8 @@
|
|
|
217
218
|
"notFound": "Tapılmadı",
|
|
218
219
|
"nothingFound": "Heç nə tapılmadı",
|
|
219
220
|
"of": "dən",
|
|
220
|
-
"or": "Və ya",
|
|
221
221
|
"open": "Aç",
|
|
222
|
+
"or": "Və ya",
|
|
222
223
|
"order": "Sıra",
|
|
223
224
|
"pageNotFound": "Səhifə tapılmadı",
|
|
224
225
|
"password": "Şifrə",
|
|
@@ -369,4 +370,4 @@
|
|
|
369
370
|
"viewingVersions": "{{entityLabel}} {{documentTitle}} üçün versiyaları göstərir",
|
|
370
371
|
"viewingVersionsGlobal": "Qlobal {{entityLabel}} üçün versiyaları göstərir"
|
|
371
372
|
}
|
|
372
|
-
}
|
|
373
|
+
}
|
|
@@ -204,6 +204,7 @@
|
|
|
204
204
|
"loading": "Зарежда се",
|
|
205
205
|
"locale": "Локализация",
|
|
206
206
|
"locales": "Локализации",
|
|
207
|
+
"menu": "Меню",
|
|
207
208
|
"moveDown": "Надолу",
|
|
208
209
|
"moveUp": "Нагоре",
|
|
209
210
|
"newPassword": "Нова парола",
|
|
@@ -216,8 +217,8 @@
|
|
|
216
217
|
"notFound": "Няма открит",
|
|
217
218
|
"nothingFound": "Нищо не беше открито",
|
|
218
219
|
"of": "от",
|
|
219
|
-
"or": "Или",
|
|
220
220
|
"open": "Отвори",
|
|
221
|
+
"or": "Или",
|
|
221
222
|
"order": "Ред",
|
|
222
223
|
"pageNotFound": "Страницата не беше открита",
|
|
223
224
|
"password": "Парола",
|
|
@@ -368,4 +369,4 @@
|
|
|
368
369
|
"viewingVersions": "Гледане на версии за {{entityLabel}} {{documentTitle}}",
|
|
369
370
|
"viewingVersionsGlobal": "Гледане на версии за глобалния документ {{entityLabel}}"
|
|
370
371
|
}
|
|
371
|
-
}
|
|
372
|
+
}
|
|
@@ -204,6 +204,7 @@
|
|
|
204
204
|
"loading": "Načítání",
|
|
205
205
|
"locale": "Místní verze",
|
|
206
206
|
"locales": "Lokality",
|
|
207
|
+
"menu": "Jídelní lístek",
|
|
207
208
|
"moveDown": "Posunout dolů",
|
|
208
209
|
"moveUp": "Posunout nahoru",
|
|
209
210
|
"newPassword": "Nové heslo",
|
|
@@ -216,8 +217,8 @@
|
|
|
216
217
|
"notFound": "Nenalezeno",
|
|
217
218
|
"nothingFound": "Nic nenalezeno",
|
|
218
219
|
"of": "z",
|
|
219
|
-
"or": "Nebo",
|
|
220
220
|
"open": "Otevřít",
|
|
221
|
+
"or": "Nebo",
|
|
221
222
|
"order": "Pořadí",
|
|
222
223
|
"pageNotFound": "Stránka nenalezena",
|
|
223
224
|
"password": "Heslo",
|
|
@@ -368,4 +369,4 @@
|
|
|
368
369
|
"viewingVersions": "Zobrazuji verze pro {{entityLabel}} {{documentTitle}}",
|
|
369
370
|
"viewingVersionsGlobal": "Zobrazuji verze pro globální {{entityLabel}}"
|
|
370
371
|
}
|
|
371
|
-
}
|
|
372
|
+
}
|
|
@@ -204,6 +204,7 @@
|
|
|
204
204
|
"loading": "Lädt",
|
|
205
205
|
"locale": "Sprachumgebung",
|
|
206
206
|
"locales": "Sprachumgebungen",
|
|
207
|
+
"menu": "Menü",
|
|
207
208
|
"moveDown": "Nach unten bewegen",
|
|
208
209
|
"moveUp": "Nach oben bewegen",
|
|
209
210
|
"newPassword": "Neues Passwort",
|
|
@@ -216,8 +217,8 @@
|
|
|
216
217
|
"notFound": "Nicht gefunden",
|
|
217
218
|
"nothingFound": "Keine Ergebnisse",
|
|
218
219
|
"of": "von",
|
|
219
|
-
"or": "oder",
|
|
220
220
|
"open": "Öffnen",
|
|
221
|
+
"or": "oder",
|
|
221
222
|
"order": "Reihenfolge",
|
|
222
223
|
"pageNotFound": "Seite nicht gefunden",
|
|
223
224
|
"password": "Passwort",
|
|
@@ -368,4 +369,4 @@
|
|
|
368
369
|
"viewingVersions": "Betrachte Versionen für {{entityLabel}} {{documentTitle}}",
|
|
369
370
|
"viewingVersionsGlobal": "`Betrachte Versionen für das Globale Dokument {{entityLabel}}"
|
|
370
371
|
}
|
|
371
|
-
}
|
|
372
|
+
}
|