payload 3.0.0-alpha.4 → 3.0.0-alpha.40
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/auth.d.ts +5 -5
- package/auth.js +5 -44
- package/bin.js +17 -1
- package/components.d.ts +14 -0
- package/components.js +71 -0
- package/config.d.ts +10 -10
- package/config.js +10 -59
- package/database.d.ts +22 -22
- package/database.js +21 -108
- package/dist/admin/RichText.d.ts +9 -5
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js +2 -5
- package/dist/admin/elements/Cell.d.ts +2 -2
- package/dist/admin/elements/Cell.d.ts.map +1 -1
- package/dist/admin/elements/Cell.js +2 -5
- package/dist/admin/elements/DatePicker.js +2 -5
- package/dist/admin/elements/PreviewButton.js +2 -5
- package/dist/admin/elements/PublishButton.js +2 -5
- package/dist/admin/elements/SaveButton.js +2 -5
- package/dist/admin/elements/SaveDraftButton.js +2 -5
- package/dist/admin/elements/Tab.d.ts +3 -3
- package/dist/admin/elements/Tab.d.ts.map +1 -1
- package/dist/admin/elements/Tab.js +2 -5
- package/dist/admin/forms/Error.js +2 -5
- package/dist/admin/forms/FieldDescription.js +2 -5
- package/dist/admin/forms/FieldTypes.js +2 -5
- package/dist/admin/forms/Form.d.ts +22 -0
- package/dist/admin/forms/Form.d.ts.map +1 -1
- package/dist/admin/forms/Form.js +2 -5
- package/dist/admin/forms/Label.js +2 -5
- package/dist/admin/forms/RowLabel.d.ts +1 -1
- package/dist/admin/forms/RowLabel.d.ts.map +1 -1
- package/dist/admin/forms/RowLabel.js +2 -5
- package/dist/admin/types.d.ts +19 -18
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js +2 -5
- package/dist/admin/views/types.d.ts +41 -0
- package/dist/admin/views/types.d.ts.map +1 -0
- package/dist/admin/views/types.js +3 -0
- package/dist/assets/assets.d.js +0 -1
- package/dist/auth/baseFields/accountLock.d.ts +1 -1
- package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
- package/dist/auth/baseFields/accountLock.js +6 -16
- package/dist/auth/baseFields/apiKey.d.ts +1 -1
- package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
- package/dist/auth/baseFields/apiKey.js +6 -21
- package/dist/auth/baseFields/auth.d.ts +1 -1
- package/dist/auth/baseFields/auth.d.ts.map +1 -1
- package/dist/auth/baseFields/auth.js +6 -16
- package/dist/auth/baseFields/verification.d.ts +1 -1
- package/dist/auth/baseFields/verification.d.ts.map +1 -1
- package/dist/auth/baseFields/verification.js +8 -18
- package/dist/auth/cookies.d.ts +2 -2
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/cookies.js +6 -33
- package/dist/auth/crypto.js +7 -30
- package/dist/auth/defaultAccess.d.ts +1 -1
- package/dist/auth/defaultAccess.d.ts.map +1 -1
- package/dist/auth/defaultAccess.js +2 -12
- package/dist/auth/defaultUser.d.ts +1 -1
- package/dist/auth/defaultUser.d.ts.map +1 -1
- package/dist/auth/defaultUser.js +6 -16
- package/dist/auth/executeAccess.d.ts +2 -2
- package/dist/auth/executeAccess.d.ts.map +1 -1
- package/dist/auth/executeAccess.js +5 -15
- package/dist/auth/extractJWT.d.ts +1 -1
- package/dist/auth/extractJWT.d.ts.map +1 -1
- package/dist/auth/extractJWT.js +4 -14
- package/dist/auth/getAccessResults.d.ts +2 -2
- package/dist/auth/getAccessResults.d.ts.map +1 -1
- package/dist/auth/getAccessResults.js +9 -19
- package/dist/auth/getAuthenticatedUser.d.ts +1 -1
- package/dist/auth/getAuthenticatedUser.d.ts.map +1 -1
- package/dist/auth/getAuthenticatedUser.js +2 -12
- package/dist/auth/getFieldsToSign.d.ts +2 -2
- package/dist/auth/getFieldsToSign.d.ts.map +1 -1
- package/dist/auth/getFieldsToSign.js +5 -15
- package/dist/auth/index.d.ts +3 -3
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +4 -27
- package/dist/auth/isLocked.js +2 -12
- package/dist/auth/operations/access.d.ts +2 -2
- package/dist/auth/operations/access.d.ts.map +1 -1
- package/dist/auth/operations/access.js +12 -22
- package/dist/auth/operations/forgotPassword.d.ts +2 -2
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.js +21 -32
- package/dist/auth/operations/init.d.ts +1 -1
- package/dist/auth/operations/init.d.ts.map +1 -1
- package/dist/auth/operations/init.js +2 -12
- package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
- package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/forgotPassword.js +8 -18
- package/dist/auth/operations/local/index.d.ts +5 -5
- package/dist/auth/operations/local/index.d.ts.map +1 -1
- package/dist/auth/operations/local/index.js +12 -27
- package/dist/auth/operations/local/login.d.ts +4 -4
- package/dist/auth/operations/local/login.d.ts.map +1 -1
- package/dist/auth/operations/local/login.js +8 -18
- package/dist/auth/operations/local/resetPassword.d.ts +4 -4
- package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/resetPassword.js +8 -18
- package/dist/auth/operations/local/unlock.d.ts +3 -3
- package/dist/auth/operations/local/unlock.d.ts.map +1 -1
- package/dist/auth/operations/local/unlock.js +8 -18
- package/dist/auth/operations/local/verifyEmail.d.ts +3 -3
- package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/local/verifyEmail.js +8 -18
- package/dist/auth/operations/login.d.ts +7 -7
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +32 -47
- package/dist/auth/operations/logout.d.ts +2 -2
- package/dist/auth/operations/logout.d.ts.map +1 -1
- package/dist/auth/operations/logout.js +6 -21
- package/dist/auth/operations/me.d.ts +3 -3
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/me.js +4 -19
- package/dist/auth/operations/refresh.d.ts +3 -3
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/refresh.js +19 -34
- package/dist/auth/operations/registerFirstUser.d.ts +9 -9
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/registerFirstUser.js +11 -21
- package/dist/auth/operations/resetPassword.d.ts +2 -2
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js +21 -43
- package/dist/auth/operations/unlock.d.ts +2 -2
- package/dist/auth/operations/unlock.d.ts.map +1 -1
- package/dist/auth/operations/unlock.js +17 -39
- package/dist/auth/operations/verifyEmail.d.ts +2 -2
- package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/verifyEmail.js +14 -37
- package/dist/auth/sendVerificationEmail.d.ts +5 -5
- package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
- package/dist/auth/sendVerificationEmail.js +4 -14
- package/dist/auth/strategies/apiKey.d.ts +2 -2
- package/dist/auth/strategies/apiKey.d.ts.map +1 -1
- package/dist/auth/strategies/apiKey.js +4 -19
- package/dist/auth/strategies/jwt.d.ts +1 -1
- package/dist/auth/strategies/jwt.d.ts.map +1 -1
- package/dist/auth/strategies/jwt.js +6 -21
- package/dist/auth/strategies/local/authenticate.d.ts +1 -1
- package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
- package/dist/auth/strategies/local/authenticate.js +6 -21
- package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +3 -3
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
- package/dist/auth/strategies/local/register.d.ts +3 -3
- package/dist/auth/strategies/local/register.d.ts.map +1 -1
- package/dist/auth/strategies/local/register.js +6 -16
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts +3 -3
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
- package/dist/auth/types.d.ts +2 -2
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js +2 -12
- package/dist/bin/generateTypes.d.ts +1 -1
- package/dist/bin/generateTypes.d.ts.map +1 -1
- package/dist/bin/generateTypes.js +10 -34
- package/dist/bin/index.d.ts +1 -1
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/bin/index.js +25 -69
- package/dist/bin/loadEnv.js +13 -26
- package/dist/bin/migrate.d.ts +7 -1
- package/dist/bin/migrate.d.ts.map +1 -1
- package/dist/bin/migrate.js +12 -37
- package/dist/bin/register/clientExtensions.d.ts +2 -0
- package/dist/bin/register/clientExtensions.d.ts.map +1 -0
- package/dist/bin/register/clientExtensions.js +13 -0
- package/dist/bin/register/index.d.ts +34 -0
- package/dist/bin/register/index.d.ts.map +1 -0
- package/dist/bin/register/index.js +95 -0
- package/dist/bin/register/read-default-tsconfig.d.ts +4 -0
- package/dist/bin/register/read-default-tsconfig.d.ts.map +1 -0
- package/dist/bin/register/read-default-tsconfig.js +92 -0
- package/dist/bin/register/register.d.ts +15 -0
- package/dist/bin/register/register.d.ts.map +1 -0
- package/dist/bin/register/register.js +92 -0
- package/dist/collections/config/build.d.ts +1 -1
- package/dist/collections/config/build.d.ts.map +1 -1
- package/dist/collections/config/build.js +2 -12
- package/dist/collections/config/defaults.d.ts +5 -5
- package/dist/collections/config/defaults.js +9 -32
- package/dist/collections/config/sanitize.d.ts +2 -2
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +34 -49
- package/dist/collections/config/schema.js +157 -172
- package/dist/collections/config/types.d.ts +13 -13
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js +2 -5
- package/dist/collections/dataloader.d.ts +2 -2
- package/dist/collections/dataloader.d.ts.map +1 -1
- package/dist/collections/dataloader.js +8 -23
- package/dist/collections/operations/create.d.ts +9 -9
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +38 -53
- package/dist/collections/operations/delete.d.ts +9 -10
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +27 -42
- package/dist/collections/operations/deleteByID.d.ts +2 -3
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +27 -42
- package/dist/collections/operations/docAccess.d.ts +3 -3
- package/dist/collections/operations/docAccess.d.ts.map +1 -1
- package/dist/collections/operations/docAccess.js +12 -22
- package/dist/collections/operations/find.d.ts +3 -4
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +25 -40
- package/dist/collections/operations/findByID.d.ts +2 -2
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +21 -36
- package/dist/collections/operations/findVersionByID.d.ts +3 -3
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +19 -34
- package/dist/collections/operations/findVersions.d.ts +4 -5
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +20 -35
- package/dist/collections/operations/local/create.d.ts +4 -5
- package/dist/collections/operations/local/create.d.ts.map +1 -1
- package/dist/collections/operations/local/create.js +10 -25
- package/dist/collections/operations/local/delete.d.ts +5 -5
- package/dist/collections/operations/local/delete.d.ts.map +1 -1
- package/dist/collections/operations/local/delete.js +10 -20
- package/dist/collections/operations/local/find.d.ts +3 -4
- package/dist/collections/operations/local/find.d.ts.map +1 -1
- package/dist/collections/operations/local/find.js +8 -18
- package/dist/collections/operations/local/findByID.d.ts +2 -4
- package/dist/collections/operations/local/findByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findByID.js +8 -18
- package/dist/collections/operations/local/findVersionByID.d.ts +3 -4
- package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersionByID.js +8 -18
- package/dist/collections/operations/local/findVersions.d.ts +4 -5
- package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersions.js +8 -18
- package/dist/collections/operations/local/index.d.ts +13 -13
- package/dist/collections/operations/local/index.d.ts.map +1 -1
- package/dist/collections/operations/local/index.js +20 -35
- package/dist/collections/operations/local/restoreVersion.d.ts +2 -3
- package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/local/restoreVersion.js +8 -18
- package/dist/collections/operations/local/update.d.ts +4 -5
- package/dist/collections/operations/local/update.d.ts.map +1 -1
- package/dist/collections/operations/local/update.js +12 -27
- package/dist/collections/operations/restoreVersion.d.ts +2 -2
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +26 -41
- package/dist/collections/operations/update.d.ts +7 -8
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +43 -58
- package/dist/collections/operations/updateByID.d.ts +9 -9
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +44 -59
- package/dist/collections/operations/utils.d.ts +12 -12
- package/dist/collections/operations/utils.d.ts.map +1 -1
- package/dist/collections/operations/utils.js +3 -12
- package/dist/config/build.d.ts +1 -1
- package/dist/config/build.d.ts.map +1 -1
- package/dist/config/build.js +9 -15
- package/dist/config/createClientConfig.d.ts +1243 -3
- package/dist/config/createClientConfig.d.ts.map +1 -1
- package/dist/config/createClientConfig.js +107 -72
- package/dist/config/defaults.d.ts +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +4 -19
- package/dist/config/find.d.ts +1 -2
- package/dist/config/find.d.ts.map +1 -1
- package/dist/config/find.js +18 -34
- package/dist/config/load.d.ts +2 -2
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +17 -30
- package/dist/config/sanitize.d.ts +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +25 -40
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +116 -133
- package/dist/config/shared/adminViewSchema.js +9 -24
- package/dist/config/shared/componentSchema.js +21 -50
- package/dist/config/types.d.ts +28 -34
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +9 -21
- package/dist/config/validate.d.ts +1 -1
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +15 -71
- package/dist/database/combineQueries.d.ts +1 -1
- package/dist/database/combineQueries.d.ts.map +1 -1
- package/dist/database/combineQueries.js +4 -14
- package/dist/database/createDatabaseAdapter.d.ts +1 -1
- package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
- package/dist/database/createDatabaseAdapter.js +14 -24
- package/dist/database/flattenWhereToOperators.d.ts +1 -1
- package/dist/database/flattenWhereToOperators.d.ts.map +1 -1
- package/dist/database/flattenWhereToOperators.js +2 -12
- package/dist/database/getLocalizedPaths.d.ts +3 -3
- package/dist/database/getLocalizedPaths.d.ts.map +1 -1
- package/dist/database/getLocalizedPaths.js +7 -22
- package/dist/database/migrations/createMigration.d.ts +1 -1
- package/dist/database/migrations/createMigration.d.ts.map +1 -1
- package/dist/database/migrations/createMigration.js +7 -22
- package/dist/database/migrations/getMigrations.d.ts +2 -2
- package/dist/database/migrations/getMigrations.d.ts.map +1 -1
- package/dist/database/migrations/getMigrations.js +4 -12
- package/dist/database/migrations/migrate.d.ts +1 -1
- package/dist/database/migrations/migrate.d.ts.map +1 -1
- package/dist/database/migrations/migrate.js +12 -22
- package/dist/database/migrations/migrateDown.d.ts +1 -1
- package/dist/database/migrations/migrateDown.d.ts.map +1 -1
- package/dist/database/migrations/migrateDown.js +12 -22
- package/dist/database/migrations/migrateRefresh.d.ts +1 -1
- package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
- package/dist/database/migrations/migrateRefresh.js +16 -24
- package/dist/database/migrations/migrateReset.d.ts +1 -1
- package/dist/database/migrations/migrateReset.d.ts.map +1 -1
- package/dist/database/migrations/migrateReset.js +12 -22
- package/dist/database/migrations/migrateStatus.d.ts +1 -1
- package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
- package/dist/database/migrations/migrateStatus.js +8 -18
- package/dist/database/migrations/migrationTemplate.js +2 -12
- package/dist/database/migrations/migrationsCollection.d.ts +1 -1
- package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
- package/dist/database/migrations/migrationsCollection.js +2 -12
- package/dist/database/migrations/readMigrationFiles.d.ts +2 -2
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/database/migrations/readMigrationFiles.js +17 -25
- package/dist/database/queryValidation/types.d.ts +2 -2
- package/dist/database/queryValidation/types.d.ts.map +1 -1
- package/dist/database/queryValidation/types.js +2 -5
- package/dist/database/queryValidation/validateQueryPaths.d.ts +5 -5
- package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js +13 -28
- package/dist/database/queryValidation/validateSearchParams.d.ts +5 -5
- package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.js +17 -25
- package/dist/database/types.d.ts +11 -9
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js +2 -5
- package/dist/email/build.d.ts +2 -2
- package/dist/email/build.d.ts.map +1 -1
- package/dist/email/build.js +11 -26
- package/dist/email/defaults.d.ts +1 -1
- package/dist/email/defaults.d.ts.map +1 -1
- package/dist/email/defaults.js +2 -12
- package/dist/email/mockHandler.d.ts +2 -2
- package/dist/email/mockHandler.d.ts.map +1 -1
- package/dist/email/mockHandler.js +8 -23
- package/dist/email/sendEmail.js +2 -12
- package/dist/email/types.js +2 -5
- package/dist/errors/APIError.js +4 -19
- package/dist/errors/AuthenticationError.d.ts +1 -1
- package/dist/errors/AuthenticationError.d.ts.map +1 -1
- package/dist/errors/AuthenticationError.js +7 -22
- package/dist/errors/DuplicateCollection.d.ts +1 -1
- package/dist/errors/DuplicateCollection.d.ts.map +1 -1
- package/dist/errors/DuplicateCollection.js +4 -19
- package/dist/errors/DuplicateFieldName.d.ts +1 -1
- package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
- package/dist/errors/DuplicateFieldName.js +4 -19
- package/dist/errors/DuplicateGlobal.d.ts +2 -2
- package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
- package/dist/errors/DuplicateGlobal.js +4 -19
- package/dist/errors/ErrorDeletingFile.d.ts +1 -1
- package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
- package/dist/errors/ErrorDeletingFile.js +7 -22
- package/dist/errors/FileUploadError.d.ts +1 -1
- package/dist/errors/FileUploadError.d.ts.map +1 -1
- package/dist/errors/FileUploadError.js +7 -22
- package/dist/errors/Forbidden.d.ts +1 -1
- package/dist/errors/Forbidden.d.ts.map +1 -1
- package/dist/errors/Forbidden.js +7 -22
- package/dist/errors/InvalidConfiguration.d.ts +1 -1
- package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
- package/dist/errors/InvalidConfiguration.js +6 -21
- package/dist/errors/InvalidFieldName.d.ts +2 -2
- package/dist/errors/InvalidFieldName.d.ts.map +1 -1
- package/dist/errors/InvalidFieldName.js +4 -19
- package/dist/errors/InvalidFieldRelationship.d.ts +2 -2
- package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
- package/dist/errors/InvalidFieldRelationship.js +4 -19
- package/dist/errors/InvalidSchema.d.ts +1 -1
- package/dist/errors/InvalidSchema.d.ts.map +1 -1
- package/dist/errors/InvalidSchema.js +6 -21
- package/dist/errors/LockedAuth.d.ts +1 -1
- package/dist/errors/LockedAuth.d.ts.map +1 -1
- package/dist/errors/LockedAuth.js +7 -22
- package/dist/errors/MissingCollectionLabel.d.ts +1 -1
- package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
- package/dist/errors/MissingCollectionLabel.js +4 -19
- package/dist/errors/MissingFieldInputOptions.d.ts +2 -2
- package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
- package/dist/errors/MissingFieldInputOptions.js +4 -19
- package/dist/errors/MissingFieldType.d.ts +2 -2
- package/dist/errors/MissingFieldType.d.ts.map +1 -1
- package/dist/errors/MissingFieldType.js +6 -21
- package/dist/errors/MissingFile.d.ts +1 -1
- package/dist/errors/MissingFile.d.ts.map +1 -1
- package/dist/errors/MissingFile.js +7 -22
- package/dist/errors/NotFound.d.ts +1 -1
- package/dist/errors/NotFound.d.ts.map +1 -1
- package/dist/errors/NotFound.js +7 -22
- package/dist/errors/QueryError.d.ts +1 -1
- package/dist/errors/QueryError.d.ts.map +1 -1
- package/dist/errors/QueryError.js +6 -21
- package/dist/errors/TimestampsRequired.d.ts +2 -2
- package/dist/errors/TimestampsRequired.d.ts.map +1 -1
- package/dist/errors/TimestampsRequired.js +4 -19
- package/dist/errors/UnathorizedError.d.ts +1 -1
- package/dist/errors/UnathorizedError.d.ts.map +1 -1
- package/dist/errors/UnathorizedError.js +7 -22
- package/dist/errors/ValidationError.d.ts +1 -1
- package/dist/errors/ValidationError.d.ts.map +1 -1
- package/dist/errors/ValidationError.js +8 -23
- package/dist/errors/index.d.ts +19 -19
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +20 -94
- package/dist/errors/types.d.ts +1 -1
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +2 -19
- package/dist/exports/auth.d.ts +5 -5
- package/dist/exports/auth.d.ts.map +1 -1
- package/dist/exports/auth.js +5 -44
- package/dist/exports/components/utilities.js +0 -1
- package/dist/exports/config.d.ts +10 -10
- package/dist/exports/config.d.ts.map +1 -1
- package/dist/exports/config.js +10 -59
- package/dist/exports/database.d.ts +22 -22
- package/dist/exports/database.d.ts.map +1 -1
- package/dist/exports/database.js +21 -108
- package/dist/exports/errors.d.ts +1 -1
- package/dist/exports/errors.d.ts.map +1 -1
- package/dist/exports/errors.js +2 -68
- package/dist/exports/fields/index.d.ts +2 -2
- package/dist/exports/fields/index.d.ts.map +1 -1
- package/dist/exports/fields/index.js +3 -26
- package/dist/exports/fields/validations.d.ts +1 -1
- package/dist/exports/fields/validations.d.ts.map +1 -1
- package/dist/exports/fields/validations.js +2 -19
- package/dist/exports/operations.d.ts +28 -28
- package/dist/exports/operations.d.ts.map +1 -1
- package/dist/exports/operations.js +29 -125
- package/dist/exports/types.d.ts +11 -11
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js +4 -74
- package/dist/exports/utilities.d.ts +28 -27
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +29 -141
- package/dist/exports/versions.d.ts +9 -9
- package/dist/exports/versions.d.ts.map +1 -1
- package/dist/exports/versions.js +9 -45
- package/dist/fields/baseFields/baseBlockFields.d.ts +1 -1
- package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
- package/dist/fields/baseFields/baseBlockFields.js +6 -16
- package/dist/fields/baseFields/baseIDField.d.ts +1 -1
- package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
- package/dist/fields/baseFields/baseIDField.js +7 -21
- package/dist/fields/config/sanitize.d.ts +2 -2
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +28 -43
- package/dist/fields/config/sanitize.spec.js +25 -29
- package/dist/fields/config/schema.js +336 -431
- package/dist/fields/config/types.d.ts +5 -6
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +15 -69
- package/dist/fields/getDefaultValue.d.ts +1 -1
- package/dist/fields/getDefaultValue.d.ts.map +1 -1
- package/dist/fields/getDefaultValue.js +2 -12
- package/dist/fields/hooks/afterChange/index.d.ts +3 -3
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/index.js +6 -16
- package/dist/fields/hooks/afterChange/promise.d.ts +4 -4
- package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/promise.js +14 -22
- package/dist/fields/hooks/afterChange/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
- package/dist/fields/hooks/afterRead/index.d.ts +3 -3
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.js +6 -16
- package/dist/fields/hooks/afterRead/promise.d.ts +4 -4
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +28 -38
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
- package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
- package/dist/fields/hooks/beforeChange/index.d.ts +3 -4
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.js +8 -18
- package/dist/fields/hooks/beforeChange/promise.d.ts +4 -5
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +26 -35
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts +4 -5
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
- package/dist/fields/hooks/beforeValidate/index.d.ts +3 -3
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.js +6 -16
- package/dist/fields/hooks/beforeValidate/promise.d.ts +4 -4
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +30 -39
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
- package/dist/fields/mergeBaseFields.d.ts +1 -1
- package/dist/fields/mergeBaseFields.d.ts.map +1 -1
- package/dist/fields/mergeBaseFields.js +8 -23
- package/dist/fields/sortableFieldTypes.js +2 -12
- package/dist/fields/validations.d.ts +6 -6
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +31 -97
- package/dist/fields/validations.spec.js +93 -87
- package/dist/globals/config/sanitize.d.ts +2 -2
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +23 -34
- package/dist/globals/config/schema.js +55 -70
- package/dist/globals/config/types.d.ts +11 -11
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js +2 -5
- package/dist/globals/operations/docAccess.d.ts +3 -3
- package/dist/globals/operations/docAccess.d.ts.map +1 -1
- package/dist/globals/operations/docAccess.js +12 -22
- package/dist/globals/operations/findOne.d.ts +2 -2
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +14 -29
- package/dist/globals/operations/findVersionByID.d.ts +3 -3
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +18 -33
- package/dist/globals/operations/findVersions.d.ts +4 -5
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +20 -35
- package/dist/globals/operations/local/findOne.d.ts +2 -4
- package/dist/globals/operations/local/findOne.d.ts.map +1 -1
- package/dist/globals/operations/local/findOne.js +11 -21
- package/dist/globals/operations/local/findVersionByID.d.ts +3 -5
- package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersionByID.js +9 -19
- package/dist/globals/operations/local/findVersions.d.ts +4 -6
- package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersions.js +9 -19
- package/dist/globals/operations/local/index.d.ts +5 -5
- package/dist/globals/operations/local/index.d.ts.map +1 -1
- package/dist/globals/operations/local/index.js +12 -27
- package/dist/globals/operations/local/restoreVersion.d.ts +2 -4
- package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/local/restoreVersion.js +9 -19
- package/dist/globals/operations/local/update.d.ts +2 -4
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js +9 -19
- package/dist/globals/operations/restoreVersion.d.ts +3 -3
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +16 -31
- package/dist/globals/operations/update.d.ts +9 -9
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +23 -38
- package/dist/index.d.ts +29 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -71
- package/dist/localization/middleware.js +2 -12
- package/dist/localization/sanitizeFallbackLocale.js +2 -12
- package/dist/preferences/deleteUserPreferences.d.ts +3 -3
- package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
- package/dist/preferences/deleteUserPreferences.js +2 -12
- package/dist/preferences/operations/delete.d.ts +2 -2
- package/dist/preferences/operations/delete.d.ts.map +1 -1
- package/dist/preferences/operations/delete.js +10 -25
- package/dist/preferences/operations/findOne.d.ts +2 -2
- package/dist/preferences/operations/findOne.d.ts.map +1 -1
- package/dist/preferences/operations/findOne.js +2 -12
- package/dist/preferences/operations/update.d.ts +1 -1
- package/dist/preferences/operations/update.d.ts.map +1 -1
- package/dist/preferences/operations/update.js +8 -23
- package/dist/preferences/preferencesCollection.d.ts +2 -2
- package/dist/preferences/preferencesCollection.d.ts.map +1 -1
- package/dist/preferences/preferencesCollection.js +8 -18
- package/dist/preferences/requestHandlers/delete.d.ts +1 -1
- package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/delete.js +6 -21
- package/dist/preferences/requestHandlers/findOne.d.ts +1 -1
- package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/findOne.js +6 -21
- package/dist/preferences/requestHandlers/update.d.ts +1 -1
- package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/update.js +6 -21
- package/dist/preferences/types.d.ts +2 -2
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js +2 -5
- package/dist/translations/extractTranslations.js +4 -14
- package/dist/translations/getLocalI18n.d.ts +1 -1
- package/dist/translations/getLocalI18n.d.ts.map +1 -1
- package/dist/translations/getLocalI18n.js +5 -15
- package/dist/types/constants.js +2 -12
- package/dist/types/index.d.ts +8 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -12
- package/dist/uploads/canResizeImage.js +2 -12
- package/dist/uploads/cropImage.d.ts +3 -7
- package/dist/uploads/cropImage.d.ts.map +1 -1
- package/dist/uploads/cropImage.js +4 -28
- package/dist/uploads/deleteAssociatedFiles.d.ts +4 -4
- package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
- package/dist/uploads/deleteAssociatedFiles.js +11 -26
- package/dist/uploads/docWithFilenameExists.d.ts +1 -1
- package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
- package/dist/uploads/docWithFilenameExists.js +2 -12
- package/dist/uploads/fileExists.js +4 -19
- package/dist/uploads/formatFilesize.js +2 -12
- package/dist/uploads/generateFileData.d.ts +4 -4
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +42 -55
- package/dist/uploads/getBaseFields.d.ts +3 -3
- package/dist/uploads/getBaseFields.d.ts.map +1 -1
- package/dist/uploads/getBaseFields.js +6 -16
- package/dist/uploads/getExternalFile.d.ts +2 -2
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getExternalFile.js +5 -15
- package/dist/uploads/getFileByPath.d.ts +1 -1
- package/dist/uploads/getFileByPath.d.ts.map +1 -1
- package/dist/uploads/getFileByPath.js +11 -25
- package/dist/uploads/getImageSize.d.ts +3 -3
- package/dist/uploads/getImageSize.d.ts.map +1 -1
- package/dist/uploads/getImageSize.js +14 -22
- package/dist/uploads/getSafeFilename.d.ts +1 -1
- package/dist/uploads/getSafeFilename.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.js +8 -23
- package/dist/uploads/imageResizer.d.ts +6 -5
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +29 -44
- package/dist/uploads/isImage.js +2 -12
- package/dist/uploads/mimeTypeValidator.d.ts +1 -1
- package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
- package/dist/uploads/mimeTypeValidator.js +2 -12
- package/dist/uploads/mimeTypeValidator.spec.js +11 -15
- package/dist/uploads/saveBufferToFile.d.ts +1 -1
- package/dist/uploads/saveBufferToFile.js +6 -21
- package/dist/uploads/types.d.ts +8 -4
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js +2 -5
- package/dist/uploads/unlinkTempFiles.d.ts +3 -3
- package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
- package/dist/uploads/unlinkTempFiles.js +9 -22
- package/dist/uploads/uploadFiles.d.ts +3 -3
- package/dist/uploads/uploadFiles.d.ts.map +1 -1
- package/dist/uploads/uploadFiles.js +6 -21
- package/dist/utilities/checkDuplicateCollections.d.ts +1 -1
- package/dist/utilities/checkDuplicateCollections.d.ts.map +1 -1
- package/dist/utilities/checkDuplicateCollections.js +4 -14
- package/dist/utilities/combineMerge.js +4 -19
- package/dist/utilities/commitTransaction.d.ts +1 -1
- package/dist/utilities/commitTransaction.d.ts.map +1 -1
- package/dist/utilities/commitTransaction.js +4 -12
- package/dist/utilities/configToJSONSchema.d.ts +12 -6
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +82 -97
- package/dist/utilities/configToJSONSchema.spec.js +5 -9
- package/dist/utilities/convertData.js +3 -23
- package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
- package/dist/utilities/createLocalReq.d.ts +3 -3
- package/dist/utilities/createLocalReq.d.ts.map +1 -1
- package/dist/utilities/createLocalReq.js +7 -16
- package/dist/utilities/deepCopyObject.js +2 -12
- package/dist/utilities/deepMerge.js +2 -12
- package/dist/utilities/fieldSchemaToJSON.d.ts +2 -2
- package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
- package/dist/utilities/fieldSchemaToJSON.js +2 -12
- package/dist/utilities/flattenTopLevelFields.d.ts +1 -1
- package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
- package/dist/utilities/flattenTopLevelFields.js +6 -16
- package/dist/utilities/formatLabels.d.ts +2 -1
- package/dist/utilities/formatLabels.d.ts.map +1 -1
- package/dist/utilities/formatLabels.js +10 -70
- package/dist/utilities/formatLabels.spec.js +8 -12
- package/dist/utilities/getCSSVariable.js +2 -12
- package/dist/utilities/getCollectionIDFieldTypes.d.ts +13 -0
- package/dist/utilities/getCollectionIDFieldTypes.d.ts.map +1 -0
- package/dist/utilities/getCollectionIDFieldTypes.js +16 -0
- package/dist/utilities/getEntityPolicies.d.ts +4 -4
- package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
- package/dist/utilities/getEntityPolicies.js +4 -14
- package/dist/utilities/getIDType.d.ts +2 -2
- package/dist/utilities/getIDType.d.ts.map +1 -1
- package/dist/utilities/getIDType.js +2 -12
- package/dist/utilities/getObjectDotNotation.js +2 -12
- package/dist/utilities/getUniqueListBy.js +2 -12
- package/dist/utilities/initTransaction.d.ts +1 -1
- package/dist/utilities/initTransaction.d.ts.map +1 -1
- package/dist/utilities/initTransaction.js +5 -12
- package/dist/utilities/isEntityHidden.d.ts +2 -2
- package/dist/utilities/isEntityHidden.d.ts.map +1 -1
- package/dist/utilities/isEntityHidden.js +2 -12
- package/dist/utilities/isNumber.js +2 -12
- package/dist/utilities/isPlainObject.d.ts +2 -0
- package/dist/utilities/isPlainObject.d.ts.map +1 -0
- package/dist/utilities/isPlainObject.js +25 -0
- package/dist/utilities/isValidID.d.ts.map +1 -1
- package/dist/utilities/isValidID.js +6 -20
- package/dist/utilities/isolateObjectProperty.js +2 -12
- package/dist/utilities/killTransaction.d.ts +1 -1
- package/dist/utilities/killTransaction.d.ts.map +1 -1
- package/dist/utilities/killTransaction.js +4 -12
- package/dist/utilities/logger.d.ts +6 -6
- package/dist/utilities/logger.d.ts.map +1 -1
- package/dist/utilities/logger.js +18 -37
- package/dist/utilities/mapAsync.js +2 -12
- package/dist/utilities/overwriteMerge.js +2 -12
- package/dist/utilities/parseCookies.js +4 -14
- package/dist/utilities/sanitizeInternalFields.js +2 -12
- package/dist/utilities/setsAreEqual.js +2 -12
- package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
- package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.js +7 -17
- package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
- package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/serverInit.js +4 -14
- package/dist/utilities/telemetry/index.d.ts +3 -3
- package/dist/utilities/telemetry/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/index.js +23 -41
- package/dist/utilities/telemetry/oneWayHash.js +4 -14
- package/dist/utilities/timestamp.js +2 -12
- package/dist/utilities/toKebabCase.js +2 -12
- package/dist/utilities/wait.js +2 -12
- package/dist/utilities/wordBoundariesRegex.js +3 -13
- package/dist/versions/baseFields.d.ts +1 -1
- package/dist/versions/baseFields.d.ts.map +1 -1
- package/dist/versions/baseFields.js +7 -25
- package/dist/versions/buildCollectionFields.d.ts +2 -2
- package/dist/versions/buildCollectionFields.d.ts.map +1 -1
- package/dist/versions/buildCollectionFields.js +2 -12
- package/dist/versions/buildGlobalFields.d.ts +2 -2
- package/dist/versions/buildGlobalFields.d.ts.map +1 -1
- package/dist/versions/buildGlobalFields.js +12 -22
- package/dist/versions/deleteCollectionVersions.d.ts +3 -3
- package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
- package/dist/versions/deleteCollectionVersions.js +2 -12
- package/dist/versions/drafts/appendVersionToQueryKey.d.ts +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
- package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +4 -4
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
- package/dist/versions/enforceMaxVersions.d.ts +3 -3
- package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
- package/dist/versions/enforceMaxVersions.js +2 -12
- package/dist/versions/getLatestCollectionVersion.d.ts +3 -3
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.js +4 -14
- package/dist/versions/getLatestGlobalVersion.d.ts +3 -3
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.js +5 -15
- package/dist/versions/getVersionsModelName.d.ts +2 -2
- package/dist/versions/getVersionsModelName.d.ts.map +1 -1
- package/dist/versions/getVersionsModelName.js +2 -12
- package/dist/versions/saveVersion.d.ts +4 -4
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +8 -23
- package/dist/versions/types.js +2 -5
- package/errors.d.ts +1 -1
- package/errors.js +2 -68
- package/graphql.d.ts +3 -0
- package/graphql.js +27 -0
- package/operations.d.ts +28 -28
- package/operations.js +29 -125
- package/package.json +10 -7
- package/types.d.ts +11 -11
- package/types.js +4 -74
- package/utilities.d.ts +28 -27
- package/utilities.js +29 -141
- package/versions.d.ts +9 -9
- package/versions.js +9 -45
- package/.eslintrc.js +0 -58
- package/dist/bundlers/mocks/db-mongodb.js +0 -3
- package/dist/bundlers/mocks/db-postgres.js +0 -13
- package/dist/bundlers/mocks/dotENV.js +0 -15
- package/dist/bundlers/mocks/emptyModule.js +0 -13
- package/dist/bundlers/mocks/fileMock.js +0 -13
- package/dist/bundlers/types.d.ts +0 -8
- package/dist/bundlers/types.d.ts.map +0 -1
- package/dist/bundlers/types.js +0 -6
- package/dist/config/clientFiles.d.ts +0 -2
- package/dist/config/clientFiles.d.ts.map +0 -1
- package/dist/config/clientFiles.js +0 -23
- package/dist/express/middleware/errorHandler.d.ts +0 -2
- package/dist/express/middleware/errorHandler.d.ts.map +0 -1
- package/dist/express/middleware/errorHandler.js +0 -3
- package/dist/express/middleware/index.d.ts +0 -2
- package/dist/express/middleware/index.d.ts.map +0 -1
- package/dist/express/middleware/index.js +0 -3
- package/dist/globals/config/build.d.ts +0 -2
- package/dist/globals/config/build.d.ts.map +0 -1
- package/dist/globals/config/build.js +0 -3
- package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -2
- package/dist/globals/graphql/resolvers/docAccess.d.ts.map +0 -1
- package/dist/globals/graphql/resolvers/docAccess.js +0 -3
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
const _errors = require("../../errors");
|
|
6
|
-
const _sanitize = require("./sanitize");
|
|
1
|
+
import { InvalidFieldName, InvalidFieldRelationship, MissingFieldType } from '../../errors';
|
|
2
|
+
import { sanitizeFields } from './sanitize';
|
|
7
3
|
const dummyConfig = {
|
|
8
4
|
collections: [],
|
|
9
5
|
db: ()=>({})
|
|
@@ -21,12 +17,12 @@ describe('sanitizeFields', ()=>{
|
|
|
21
17
|
expect(()=>{
|
|
22
18
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
23
19
|
// @ts-ignore
|
|
24
|
-
|
|
20
|
+
sanitizeFields({
|
|
25
21
|
config: dummyConfig,
|
|
26
22
|
fields,
|
|
27
23
|
validRelationships: []
|
|
28
24
|
});
|
|
29
|
-
}).toThrow(
|
|
25
|
+
}).toThrow(MissingFieldType);
|
|
30
26
|
});
|
|
31
27
|
it('should throw on invalid field name', ()=>{
|
|
32
28
|
const fields = [
|
|
@@ -37,12 +33,12 @@ describe('sanitizeFields', ()=>{
|
|
|
37
33
|
}
|
|
38
34
|
];
|
|
39
35
|
expect(()=>{
|
|
40
|
-
|
|
36
|
+
sanitizeFields({
|
|
41
37
|
config: dummyConfig,
|
|
42
38
|
fields,
|
|
43
39
|
validRelationships: []
|
|
44
40
|
});
|
|
45
|
-
}).toThrow(
|
|
41
|
+
}).toThrow(InvalidFieldName);
|
|
46
42
|
});
|
|
47
43
|
describe('auto-labeling', ()=>{
|
|
48
44
|
it('should populate label if missing', ()=>{
|
|
@@ -52,7 +48,7 @@ describe('sanitizeFields', ()=>{
|
|
|
52
48
|
type: 'text'
|
|
53
49
|
}
|
|
54
50
|
];
|
|
55
|
-
const sanitizedField =
|
|
51
|
+
const sanitizedField = sanitizeFields({
|
|
56
52
|
config: dummyConfig,
|
|
57
53
|
fields,
|
|
58
54
|
validRelationships: []
|
|
@@ -69,7 +65,7 @@ describe('sanitizeFields', ()=>{
|
|
|
69
65
|
type: 'text'
|
|
70
66
|
}
|
|
71
67
|
];
|
|
72
|
-
const sanitizedField =
|
|
68
|
+
const sanitizedField = sanitizeFields({
|
|
73
69
|
config: dummyConfig,
|
|
74
70
|
fields,
|
|
75
71
|
validRelationships: []
|
|
@@ -87,7 +83,7 @@ describe('sanitizeFields', ()=>{
|
|
|
87
83
|
type: 'text'
|
|
88
84
|
}
|
|
89
85
|
];
|
|
90
|
-
const sanitizedField =
|
|
86
|
+
const sanitizedField = sanitizeFields({
|
|
91
87
|
config: dummyConfig,
|
|
92
88
|
fields,
|
|
93
89
|
validRelationships: []
|
|
@@ -108,7 +104,7 @@ describe('sanitizeFields', ()=>{
|
|
|
108
104
|
name: 'items',
|
|
109
105
|
type: 'array'
|
|
110
106
|
};
|
|
111
|
-
const sanitizedField =
|
|
107
|
+
const sanitizedField = sanitizeFields({
|
|
112
108
|
config: dummyConfig,
|
|
113
109
|
fields: [
|
|
114
110
|
arrayField
|
|
@@ -139,7 +135,7 @@ describe('sanitizeFields', ()=>{
|
|
|
139
135
|
type: 'blocks'
|
|
140
136
|
}
|
|
141
137
|
];
|
|
142
|
-
const sanitizedField =
|
|
138
|
+
const sanitizedField = sanitizeFields({
|
|
143
139
|
config: dummyConfig,
|
|
144
140
|
fields,
|
|
145
141
|
validRelationships: []
|
|
@@ -163,7 +159,7 @@ describe('sanitizeFields', ()=>{
|
|
|
163
159
|
type: 'array'
|
|
164
160
|
}
|
|
165
161
|
];
|
|
166
|
-
const sanitizedField =
|
|
162
|
+
const sanitizedField = sanitizeFields({
|
|
167
163
|
config: dummyConfig,
|
|
168
164
|
fields,
|
|
169
165
|
validRelationships: []
|
|
@@ -194,7 +190,7 @@ describe('sanitizeFields', ()=>{
|
|
|
194
190
|
type: 'blocks'
|
|
195
191
|
}
|
|
196
192
|
];
|
|
197
|
-
const sanitizedField =
|
|
193
|
+
const sanitizedField = sanitizeFields({
|
|
198
194
|
config: dummyConfig,
|
|
199
195
|
fields,
|
|
200
196
|
validRelationships: []
|
|
@@ -223,7 +219,7 @@ describe('sanitizeFields', ()=>{
|
|
|
223
219
|
}
|
|
224
220
|
];
|
|
225
221
|
expect(()=>{
|
|
226
|
-
|
|
222
|
+
sanitizeFields({
|
|
227
223
|
config: dummyConfig,
|
|
228
224
|
fields,
|
|
229
225
|
validRelationships
|
|
@@ -247,7 +243,7 @@ describe('sanitizeFields', ()=>{
|
|
|
247
243
|
}
|
|
248
244
|
];
|
|
249
245
|
expect(()=>{
|
|
250
|
-
|
|
246
|
+
sanitizeFields({
|
|
251
247
|
config: dummyConfig,
|
|
252
248
|
fields,
|
|
253
249
|
validRelationships
|
|
@@ -280,7 +276,7 @@ describe('sanitizeFields', ()=>{
|
|
|
280
276
|
}
|
|
281
277
|
];
|
|
282
278
|
expect(()=>{
|
|
283
|
-
|
|
279
|
+
sanitizeFields({
|
|
284
280
|
config: dummyConfig,
|
|
285
281
|
fields,
|
|
286
282
|
validRelationships
|
|
@@ -300,12 +296,12 @@ describe('sanitizeFields', ()=>{
|
|
|
300
296
|
}
|
|
301
297
|
];
|
|
302
298
|
expect(()=>{
|
|
303
|
-
|
|
299
|
+
sanitizeFields({
|
|
304
300
|
config: dummyConfig,
|
|
305
301
|
fields,
|
|
306
302
|
validRelationships
|
|
307
303
|
});
|
|
308
|
-
}).toThrow(
|
|
304
|
+
}).toThrow(InvalidFieldRelationship);
|
|
309
305
|
});
|
|
310
306
|
it('should throw on invalid relationship - multiple', ()=>{
|
|
311
307
|
const validRelationships = [
|
|
@@ -324,12 +320,12 @@ describe('sanitizeFields', ()=>{
|
|
|
324
320
|
}
|
|
325
321
|
];
|
|
326
322
|
expect(()=>{
|
|
327
|
-
|
|
323
|
+
sanitizeFields({
|
|
328
324
|
config: dummyConfig,
|
|
329
325
|
fields,
|
|
330
326
|
validRelationships
|
|
331
327
|
});
|
|
332
|
-
}).toThrow(
|
|
328
|
+
}).toThrow(InvalidFieldRelationship);
|
|
333
329
|
});
|
|
334
330
|
it('should throw on invalid relationship inside blocks', ()=>{
|
|
335
331
|
const validRelationships = [
|
|
@@ -357,12 +353,12 @@ describe('sanitizeFields', ()=>{
|
|
|
357
353
|
}
|
|
358
354
|
];
|
|
359
355
|
expect(()=>{
|
|
360
|
-
|
|
356
|
+
sanitizeFields({
|
|
361
357
|
config: dummyConfig,
|
|
362
358
|
fields,
|
|
363
359
|
validRelationships
|
|
364
360
|
});
|
|
365
|
-
}).toThrow(
|
|
361
|
+
}).toThrow(InvalidFieldRelationship);
|
|
366
362
|
});
|
|
367
363
|
it('should defaultValue of checkbox to false if required and undefined', ()=>{
|
|
368
364
|
const fields = [
|
|
@@ -372,7 +368,7 @@ describe('sanitizeFields', ()=>{
|
|
|
372
368
|
type: 'checkbox'
|
|
373
369
|
}
|
|
374
370
|
];
|
|
375
|
-
const sanitizedField =
|
|
371
|
+
const sanitizedField = sanitizeFields({
|
|
376
372
|
config: dummyConfig,
|
|
377
373
|
fields,
|
|
378
374
|
validRelationships: []
|
|
@@ -380,7 +376,7 @@ describe('sanitizeFields', ()=>{
|
|
|
380
376
|
expect(sanitizedField.defaultValue).toStrictEqual(false);
|
|
381
377
|
});
|
|
382
378
|
it('should return empty field array if no fields', ()=>{
|
|
383
|
-
const sanitizedFields =
|
|
379
|
+
const sanitizedFields = sanitizeFields({
|
|
384
380
|
config: dummyConfig,
|
|
385
381
|
fields: [],
|
|
386
382
|
validRelationships: []
|
|
@@ -390,4 +386,4 @@ describe('sanitizeFields', ()=>{
|
|
|
390
386
|
});
|
|
391
387
|
});
|
|
392
388
|
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3Nhbml0aXplLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9jayxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgRmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBUZXh0RmllbGQsXG59IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyBJbnZhbGlkRmllbGROYW1lLCBJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXAsIE1pc3NpbmdGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJy4vc2FuaXRpemUnXG5pbXBvcnQgeyBEYXRhYmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLidcblxuY29uc3QgZHVtbXlDb25maWc6IENvbmZpZyA9IHtcbiAgY29sbGVjdGlvbnM6IFtdLFxuICBkYjogKCkgPT4gKHt9KSBhcyBEYXRhYmFzZUFkYXB0ZXIsXG59XG5cbmRlc2NyaWJlKCdzYW5pdGl6ZUZpZWxkcycsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBtaXNzaW5nIHR5cGUgZmllbGQnLCAoKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnc29tZS1jb2xsZWN0aW9uJyxcbiAgICAgICAgbmFtZTogJ1NvbWUgQ29sbGVjdGlvbicsXG4gICAgICB9LFxuICAgIF1cbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVxuICAgIH0pLnRvVGhyb3coTWlzc2luZ0ZpZWxkVHlwZSlcbiAgfSlcbiAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBpbnZhbGlkIGZpZWxkIG5hbWUnLCAoKSA9PiB7XG4gICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ3NvbWUuY29sbGVjdGlvbicsXG4gICAgICAgIG5hbWU6ICdzb21lLmNvbGxlY3Rpb24nLFxuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICB9LFxuICAgIF1cbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVxuICAgIH0pLnRvVGhyb3coSW52YWxpZEZpZWxkTmFtZSlcbiAgfSlcblxuICBkZXNjcmliZSgnYXV0by1sYWJlbGluZycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHBvcHVsYXRlIGxhYmVsIGlmIG1pc3NpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnc29tZUZpZWxkJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgfSlbMF0gYXMgVGV4dEZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnc29tZUZpZWxkJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbCgnU29tZSBGaWVsZCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgndGV4dCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IGF1dG8tbGFiZWwgb3ZlcnJpZGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0RvIG5vdCBsYWJlbCcsXG4gICAgICAgICAgbmFtZTogJ3NvbWVGaWVsZCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgY29uc3Qgc2FuaXRpemVkRmllbGQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgIH0pWzBdIGFzIFRleHRGaWVsZFxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ3NvbWVGaWVsZCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWwpLnRvU3RyaWN0RXF1YWwoJ0RvIG5vdCBsYWJlbCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgndGV4dCcpXG4gICAgfSlcblxuICAgIGRlc2NyaWJlKCdvcHQtb3V0JywgKCkgPT4ge1xuICAgICAgaXQoJ3Nob3VsZCBhbGxvdyBsYWJlbCBvcHQtb3V0JywgKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IGZhbHNlLFxuICAgICAgICAgICAgbmFtZTogJ3NvbWVGaWVsZCcsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgICB9KVswXSBhcyBUZXh0RmllbGRcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ3NvbWVGaWVsZCcpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbChmYWxzZSlcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLnR5cGUpLnRvU3RyaWN0RXF1YWwoJ3RleHQnKVxuICAgICAgfSlcblxuICAgICAgaXQoJ3Nob3VsZCBhbGxvdyBsYWJlbCBvcHQtb3V0IGZvciBhcnJheXMnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFycmF5RmllbGQ6IEFycmF5RmllbGQgPSB7XG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdpdGVtTmFtZScsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBsYWJlbDogZmFsc2UsXG4gICAgICAgICAgbmFtZTogJ2l0ZW1zJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgICAgZmllbGRzOiBbYXJyYXlGaWVsZF0sXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgICAgfSlbMF0gYXMgQXJyYXlGaWVsZFxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnaXRlbXMnKVxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWwpLnRvU3RyaWN0RXF1YWwoZmFsc2UpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC50eXBlKS50b1N0cmljdEVxdWFsKCdhcnJheScpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbHMpLnRvQmVVbmRlZmluZWQoKVxuICAgICAgfSlcbiAgICAgIGl0KCdzaG91bGQgYWxsb3cgbGFiZWwgb3B0LW91dCBmb3IgYmxvY2tzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmxvY2tzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3Rlc3ROdW1iZXInLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBzbHVnOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsYWJlbDogZmFsc2UsXG4gICAgICAgICAgICBuYW1lOiAnbm9MYWJlbEJsb2NrJyxcbiAgICAgICAgICAgIHR5cGU6ICdibG9ja3MnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgICAgY29uc3Qgc2FuaXRpemVkRmllbGQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgICAgfSlbMF0gYXMgQmxvY2tGaWVsZFxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnbm9MYWJlbEJsb2NrJylcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVsKS50b1N0cmljdEVxdWFsKGZhbHNlKVxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYmxvY2tzJylcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVscykudG9CZVVuZGVmaW5lZCgpXG4gICAgICB9KVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIGxhYmVsIGFycmF5cyB3aXRoIHBsdXJhbCBhbmQgc2luZ3VsYXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2l0ZW1OYW1lJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG5hbWU6ICdpdGVtcycsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBBcnJheUZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnaXRlbXMnKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVsKS50b1N0cmljdEVxdWFsKCdJdGVtcycpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYXJyYXknKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVscykudG9NYXRjaE9iamVjdCh7IHBsdXJhbDogJ0l0ZW1zJywgc2luZ3VsYXI6ICdJdGVtJyB9KVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIGxhYmVsIGJsb2NrcyB3aXRoIHBsdXJhbCBhbmQgc2luZ3VsYXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBibG9ja3M6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmllbGRzOiBbeyBuYW1lOiAndGVzdE51bWJlcicsIHR5cGU6ICdudW1iZXInIH1dLFxuICAgICAgICAgICAgICBzbHVnOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBuYW1lOiAnc3BlY2lhbEJsb2NrJyxcbiAgICAgICAgICB0eXBlOiAnYmxvY2tzJyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBCbG9ja0ZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnc3BlY2lhbEJsb2NrJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbCgnU3BlY2lhbCBCbG9jaycpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYmxvY2tzJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbHMpLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgICBwbHVyYWw6ICdTcGVjaWFsIEJsb2NrcycsXG4gICAgICAgIHNpbmd1bGFyOiAnU3BlY2lhbCBCbG9jaycsXG4gICAgICB9KVxuICAgICAgZXhwZWN0KChzYW5pdGl6ZWRGaWVsZC5ibG9ja3NbMF0uZmllbGRzWzBdIGFzIE51bWJlckZpZWxkKS5sYWJlbCkudG9TdHJpY3RFcXVhbCgnVGVzdCBOdW1iZXInKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3JlbGF0aW9uc2hpcHMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBub3QgdGhyb3cgb24gdmFsaWQgcmVsYXRpb25zaGlwJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIG5hbWU6ICdNeSBSZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIHJlbGF0aW9uVG86ICdzb21lLWNvbGxlY3Rpb24nLFxuICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkubm90LnRvVGhyb3coKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIG5vdCB0aHJvdyBvbiB2YWxpZCByZWxhdGlvbnNoaXAgLSBtdWx0aXBsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJywgJ2Fub3RoZXItY29sbGVjdGlvbiddXG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgbmFtZTogJ015IFJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgcmVsYXRpb25UbzogWydzb21lLWNvbGxlY3Rpb24nLCAnYW5vdGhlci1jb2xsZWN0aW9uJ10sXG4gICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgICBzYW5pdGl6ZUZpZWxkcyh7IGNvbmZpZzogZHVtbXlDb25maWcsIGZpZWxkcywgdmFsaWRSZWxhdGlvbnNoaXBzIH0pXG4gICAgICB9KS5ub3QudG9UaHJvdygpXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgbm90IHRocm93IG9uIHZhbGlkIHJlbGF0aW9uc2hpcCBpbnNpZGUgYmxvY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQmxvY2s6IEJsb2NrID0ge1xuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgICBuYW1lOiAnTXkgUmVsYXRpb25zaGlwJyxcbiAgICAgICAgICAgIHJlbGF0aW9uVG86ICdzb21lLWNvbGxlY3Rpb24nLFxuICAgICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc2x1ZzogJ3JlbGF0aW9uc2hpcEJsb2NrJyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGJsb2NrczogW3JlbGF0aW9uc2hpcEJsb2NrXSxcbiAgICAgICAgICBsYWJlbDogJ0xheW91dCBCbG9ja3MnLFxuICAgICAgICAgIG5hbWU6ICdsYXlvdXQnLFxuICAgICAgICAgIHR5cGU6ICdibG9ja3MnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkubm90LnRvVGhyb3coKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIHRocm93IG9uIGludmFsaWQgcmVsYXRpb25zaGlwJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIG5hbWU6ICdNeSBSZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIHJlbGF0aW9uVG86ICdub3QtdmFsaWQnLFxuICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkudG9UaHJvdyhJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXApXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgb24gaW52YWxpZCByZWxhdGlvbnNoaXAgLSBtdWx0aXBsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJywgJ2Fub3RoZXItY29sbGVjdGlvbiddXG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgbmFtZTogJ015IFJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgcmVsYXRpb25UbzogWydzb21lLWNvbGxlY3Rpb24nLCAnbm90LXZhbGlkJ10sXG4gICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgICBzYW5pdGl6ZUZpZWxkcyh7IGNvbmZpZzogZHVtbXlDb25maWcsIGZpZWxkcywgdmFsaWRSZWxhdGlvbnNoaXBzIH0pXG4gICAgICB9KS50b1Rocm93KEludmFsaWRGaWVsZFJlbGF0aW9uc2hpcClcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBpbnZhbGlkIHJlbGF0aW9uc2hpcCBpbnNpZGUgYmxvY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQmxvY2s6IEJsb2NrID0ge1xuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgICBuYW1lOiAnTXkgUmVsYXRpb25zaGlwJyxcbiAgICAgICAgICAgIHJlbGF0aW9uVG86ICdub3QtdmFsaWQnLFxuICAgICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc2x1ZzogJ3JlbGF0aW9uc2hpcEJsb2NrJyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGJsb2NrczogW3JlbGF0aW9uc2hpcEJsb2NrXSxcbiAgICAgICAgICBsYWJlbDogJ0xheW91dCBCbG9ja3MnLFxuICAgICAgICAgIG5hbWU6ICdsYXlvdXQnLFxuICAgICAgICAgIHR5cGU6ICdibG9ja3MnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkudG9UaHJvdyhJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXApXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgZGVmYXVsdFZhbHVlIG9mIGNoZWNrYm94IHRvIGZhbHNlIGlmIHJlcXVpcmVkIGFuZCB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnTXkgQ2hlY2tib3gnLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBDaGVja2JveEZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQuZGVmYXVsdFZhbHVlKS50b1N0cmljdEVxdWFsKGZhbHNlKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBlbXB0eSBmaWVsZCBhcnJheSBpZiBubyBmaWVsZHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgIGZpZWxkczogW10sXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkcykudG9TdHJpY3RFcXVhbChbXSlcbiAgICB9KVxuICB9KVxufSlcbiJdLCJuYW1lcyI6WyJkdW1teUNvbmZpZyIsImNvbGxlY3Rpb25zIiwiZGIiLCJkZXNjcmliZSIsIml0IiwiZmllbGRzIiwibGFiZWwiLCJuYW1lIiwiZXhwZWN0Iiwic2FuaXRpemVGaWVsZHMiLCJjb25maWciLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJ0b1Rocm93IiwiTWlzc2luZ0ZpZWxkVHlwZSIsInR5cGUiLCJJbnZhbGlkRmllbGROYW1lIiwic2FuaXRpemVkRmllbGQiLCJ0b1N0cmljdEVxdWFsIiwiYXJyYXlGaWVsZCIsImxhYmVscyIsInRvQmVVbmRlZmluZWQiLCJibG9ja3MiLCJzbHVnIiwidG9NYXRjaE9iamVjdCIsInBsdXJhbCIsInNpbmd1bGFyIiwicmVsYXRpb25UbyIsIm5vdCIsInJlbGF0aW9uc2hpcEJsb2NrIiwiSW52YWxpZEZpZWxkUmVsYXRpb25zaGlwIiwicmVxdWlyZWQiLCJkZWZhdWx0VmFsdWUiLCJzYW5pdGl6ZWRGaWVsZHMiXSwibWFwcGluZ3MiOiI7Ozs7d0JBVTZFOzBCQUM5QztBQUcvQixNQUFNQSxjQUFzQjtJQUMxQkMsYUFBYSxFQUFFO0lBQ2ZDLElBQUksSUFBTyxDQUFBLENBQUMsQ0FBQTtBQUNkO0FBRUFDLFNBQVMsa0JBQWtCO0lBQ3pCQyxHQUFHLHNDQUFzQztRQUN2Qyw2REFBNkQ7UUFDN0QsYUFBYTtRQUNiLE1BQU1DLFNBQWtCO1lBQ3RCO2dCQUNFQyxPQUFPO2dCQUNQQyxNQUFNO1lBQ1I7U0FDRDtRQUNEQyxPQUFPO1lBQ0wsNkRBQTZEO1lBQzdELGFBQWE7WUFDYkMsSUFBQUEsd0JBQWMsRUFBQztnQkFDYkMsUUFBUVY7Z0JBQ1JLO2dCQUNBTSxvQkFBb0IsRUFBRTtZQUN4QjtRQUNGLEdBQUdDLE9BQU8sQ0FBQ0Msd0JBQWdCO0lBQzdCO0lBQ0FULEdBQUcsc0NBQXNDO1FBQ3ZDLE1BQU1DLFNBQWtCO1lBQ3RCO2dCQUNFQyxPQUFPO2dCQUNQQyxNQUFNO2dCQUNOTyxNQUFNO1lBQ1I7U0FDRDtRQUNETixPQUFPO1lBQ0xDLElBQUFB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
|
|
389
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3Nhbml0aXplLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9jayxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgRmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBUZXh0RmllbGQsXG59IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyBJbnZhbGlkRmllbGROYW1lLCBJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXAsIE1pc3NpbmdGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJy4vc2FuaXRpemUnXG5pbXBvcnQgdHlwZSB7IEJhc2VEYXRhYmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS90eXBlcy5qcydcblxuY29uc3QgZHVtbXlDb25maWc6IENvbmZpZyA9IHtcbiAgY29sbGVjdGlvbnM6IFtdLFxuICBkYjogKCkgPT4gKHt9KSBhcyBCYXNlRGF0YWJhc2VBZGFwdGVyLFxufVxuXG5kZXNjcmliZSgnc2FuaXRpemVGaWVsZHMnLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgdGhyb3cgb24gbWlzc2luZyB0eXBlIGZpZWxkJywgKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ3NvbWUtY29sbGVjdGlvbicsXG4gICAgICAgIG5hbWU6ICdTb21lIENvbGxlY3Rpb24nLFxuICAgICAgfSxcbiAgICBdXG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgfSlcbiAgICB9KS50b1Rocm93KE1pc3NpbmdGaWVsZFR5cGUpXG4gIH0pXG4gIGl0KCdzaG91bGQgdGhyb3cgb24gaW52YWxpZCBmaWVsZCBuYW1lJywgKCkgPT4ge1xuICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdzb21lLmNvbGxlY3Rpb24nLFxuICAgICAgICBuYW1lOiAnc29tZS5jb2xsZWN0aW9uJyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICBdXG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgfSlcbiAgICB9KS50b1Rocm93KEludmFsaWRGaWVsZE5hbWUpXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ2F1dG8tbGFiZWxpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBwb3B1bGF0ZSBsYWJlbCBpZiBtaXNzaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3NvbWVGaWVsZCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgY29uc3Qgc2FuaXRpemVkRmllbGQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgIH0pWzBdIGFzIFRleHRGaWVsZFxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ3NvbWVGaWVsZCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWwpLnRvU3RyaWN0RXF1YWwoJ1NvbWUgRmllbGQnKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLnR5cGUpLnRvU3RyaWN0RXF1YWwoJ3RleHQnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyBhdXRvLWxhYmVsIG92ZXJyaWRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdEbyBub3QgbGFiZWwnLFxuICAgICAgICAgIG5hbWU6ICdzb21lRmllbGQnLFxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBUZXh0RmllbGRcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5uYW1lKS50b1N0cmljdEVxdWFsKCdzb21lRmllbGQnKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVsKS50b1N0cmljdEVxdWFsKCdEbyBub3QgbGFiZWwnKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLnR5cGUpLnRvU3RyaWN0RXF1YWwoJ3RleHQnKVxuICAgIH0pXG5cbiAgICBkZXNjcmliZSgnb3B0LW91dCcsICgpID0+IHtcbiAgICAgIGl0KCdzaG91bGQgYWxsb3cgbGFiZWwgb3B0LW91dCcsICgpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBmYWxzZSxcbiAgICAgICAgICAgIG5hbWU6ICdzb21lRmllbGQnLFxuICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgICAgY29uc3Qgc2FuaXRpemVkRmllbGQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgICAgfSlbMF0gYXMgVGV4dEZpZWxkXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5uYW1lKS50b1N0cmljdEVxdWFsKCdzb21lRmllbGQnKVxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWwpLnRvU3RyaWN0RXF1YWwoZmFsc2UpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC50eXBlKS50b1N0cmljdEVxdWFsKCd0ZXh0JylcbiAgICAgIH0pXG5cbiAgICAgIGl0KCdzaG91bGQgYWxsb3cgbGFiZWwgb3B0LW91dCBmb3IgYXJyYXlzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBhcnJheUZpZWxkOiBBcnJheUZpZWxkID0ge1xuICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnaXRlbU5hbWUnLFxuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbGFiZWw6IGZhbHNlLFxuICAgICAgICAgIG5hbWU6ICdpdGVtcycsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICAgIGZpZWxkczogW2FycmF5RmllbGRdLFxuICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICAgIH0pWzBdIGFzIEFycmF5RmllbGRcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ2l0ZW1zJylcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVsKS50b1N0cmljdEVxdWFsKGZhbHNlKVxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYXJyYXknKVxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWxzKS50b0JlVW5kZWZpbmVkKClcbiAgICAgIH0pXG4gICAgICBpdCgnc2hvdWxkIGFsbG93IGxhYmVsIG9wdC1vdXQgZm9yIGJsb2NrcycsICgpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJsb2NrczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICd0ZXN0TnVtYmVyJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgc2x1ZzogJ251bWJlcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGFiZWw6IGZhbHNlLFxuICAgICAgICAgICAgbmFtZTogJ25vTGFiZWxCbG9jaycsXG4gICAgICAgICAgICB0eXBlOiAnYmxvY2tzJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgICAgZmllbGRzLFxuICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICAgIH0pWzBdIGFzIEJsb2NrRmllbGRcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ25vTGFiZWxCbG9jaycpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbChmYWxzZSlcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLnR5cGUpLnRvU3RyaWN0RXF1YWwoJ2Jsb2NrcycpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbHMpLnRvQmVVbmRlZmluZWQoKVxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCBsYWJlbCBhcnJheXMgd2l0aCBwbHVyYWwgYW5kIHNpbmd1bGFyJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdpdGVtTmFtZScsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBuYW1lOiAnaXRlbXMnLFxuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgfSlbMF0gYXMgQXJyYXlGaWVsZFxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ2l0ZW1zJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbCgnSXRlbXMnKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLnR5cGUpLnRvU3RyaWN0RXF1YWwoJ2FycmF5JylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbHMpLnRvTWF0Y2hPYmplY3QoeyBwbHVyYWw6ICdJdGVtcycsIHNpbmd1bGFyOiAnSXRlbScgfSlcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCBsYWJlbCBibG9ja3Mgd2l0aCBwbHVyYWwgYW5kIHNpbmd1bGFyJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgYmxvY2tzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGZpZWxkczogW3sgbmFtZTogJ3Rlc3ROdW1iZXInLCB0eXBlOiAnbnVtYmVyJyB9XSxcbiAgICAgICAgICAgICAgc2x1ZzogJ251bWJlcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbmFtZTogJ3NwZWNpYWxCbG9jaycsXG4gICAgICAgICAgdHlwZTogJ2Jsb2NrcycsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgfSlbMF0gYXMgQmxvY2tGaWVsZFxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ3NwZWNpYWxCbG9jaycpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWwpLnRvU3RyaWN0RXF1YWwoJ1NwZWNpYWwgQmxvY2snKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLnR5cGUpLnRvU3RyaWN0RXF1YWwoJ2Jsb2NrcycpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWxzKS50b01hdGNoT2JqZWN0KHtcbiAgICAgICAgcGx1cmFsOiAnU3BlY2lhbCBCbG9ja3MnLFxuICAgICAgICBzaW5ndWxhcjogJ1NwZWNpYWwgQmxvY2snLFxuICAgICAgfSlcbiAgICAgIGV4cGVjdCgoc2FuaXRpemVkRmllbGQuYmxvY2tzWzBdLmZpZWxkc1swXSBhcyBOdW1iZXJGaWVsZCkubGFiZWwpLnRvU3RyaWN0RXF1YWwoJ1Rlc3QgTnVtYmVyJylcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdyZWxhdGlvbnNoaXBzJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgbm90IHRocm93IG9uIHZhbGlkIHJlbGF0aW9uc2hpcCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJ11cbiAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnbXktcmVsYXRpb25zaGlwJyxcbiAgICAgICAgICBuYW1lOiAnTXkgUmVsYXRpb25zaGlwJyxcbiAgICAgICAgICByZWxhdGlvblRvOiAnc29tZS1jb2xsZWN0aW9uJyxcbiAgICAgICAgICB0eXBlOiAncmVsYXRpb25zaGlwJyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgIHNhbml0aXplRmllbGRzKHsgY29uZmlnOiBkdW1teUNvbmZpZywgZmllbGRzLCB2YWxpZFJlbGF0aW9uc2hpcHMgfSlcbiAgICAgIH0pLm5vdC50b1Rocm93KClcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCBub3QgdGhyb3cgb24gdmFsaWQgcmVsYXRpb25zaGlwIC0gbXVsdGlwbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWxpZFJlbGF0aW9uc2hpcHMgPSBbJ3NvbWUtY29sbGVjdGlvbicsICdhbm90aGVyLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIG5hbWU6ICdNeSBSZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIHJlbGF0aW9uVG86IFsnc29tZS1jb2xsZWN0aW9uJywgJ2Fub3RoZXItY29sbGVjdGlvbiddLFxuICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkubm90LnRvVGhyb3coKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIG5vdCB0aHJvdyBvbiB2YWxpZCByZWxhdGlvbnNoaXAgaW5zaWRlIGJsb2NrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJ11cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcEJsb2NrOiBCbG9jayA9IHtcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgICAgbmFtZTogJ015IFJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgICByZWxhdGlvblRvOiAnc29tZS1jb2xsZWN0aW9uJyxcbiAgICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHNsdWc6ICdyZWxhdGlvbnNoaXBCbG9jaycsXG4gICAgICB9XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBibG9ja3M6IFtyZWxhdGlvbnNoaXBCbG9ja10sXG4gICAgICAgICAgbGFiZWw6ICdMYXlvdXQgQmxvY2tzJyxcbiAgICAgICAgICBuYW1lOiAnbGF5b3V0JyxcbiAgICAgICAgICB0eXBlOiAnYmxvY2tzJyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgIHNhbml0aXplRmllbGRzKHsgY29uZmlnOiBkdW1teUNvbmZpZywgZmllbGRzLCB2YWxpZFJlbGF0aW9uc2hpcHMgfSlcbiAgICAgIH0pLm5vdC50b1Rocm93KClcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBpbnZhbGlkIHJlbGF0aW9uc2hpcCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJ11cbiAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnbXktcmVsYXRpb25zaGlwJyxcbiAgICAgICAgICBuYW1lOiAnTXkgUmVsYXRpb25zaGlwJyxcbiAgICAgICAgICByZWxhdGlvblRvOiAnbm90LXZhbGlkJyxcbiAgICAgICAgICB0eXBlOiAncmVsYXRpb25zaGlwJyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgIHNhbml0aXplRmllbGRzKHsgY29uZmlnOiBkdW1teUNvbmZpZywgZmllbGRzLCB2YWxpZFJlbGF0aW9uc2hpcHMgfSlcbiAgICAgIH0pLnRvVGhyb3coSW52YWxpZEZpZWxkUmVsYXRpb25zaGlwKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIHRocm93IG9uIGludmFsaWQgcmVsYXRpb25zaGlwIC0gbXVsdGlwbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWxpZFJlbGF0aW9uc2hpcHMgPSBbJ3NvbWUtY29sbGVjdGlvbicsICdhbm90aGVyLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIG5hbWU6ICdNeSBSZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIHJlbGF0aW9uVG86IFsnc29tZS1jb2xsZWN0aW9uJywgJ25vdC12YWxpZCddLFxuICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkudG9UaHJvdyhJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXApXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgb24gaW52YWxpZCByZWxhdGlvbnNoaXAgaW5zaWRlIGJsb2NrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJ11cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcEJsb2NrOiBCbG9jayA9IHtcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgICAgbmFtZTogJ015IFJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgICByZWxhdGlvblRvOiAnbm90LXZhbGlkJyxcbiAgICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHNsdWc6ICdyZWxhdGlvbnNoaXBCbG9jaycsXG4gICAgICB9XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBibG9ja3M6IFtyZWxhdGlvbnNoaXBCbG9ja10sXG4gICAgICAgICAgbGFiZWw6ICdMYXlvdXQgQmxvY2tzJyxcbiAgICAgICAgICBuYW1lOiAnbGF5b3V0JyxcbiAgICAgICAgICB0eXBlOiAnYmxvY2tzJyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgIHNhbml0aXplRmllbGRzKHsgY29uZmlnOiBkdW1teUNvbmZpZywgZmllbGRzLCB2YWxpZFJlbGF0aW9uc2hpcHMgfSlcbiAgICAgIH0pLnRvVGhyb3coSW52YWxpZEZpZWxkUmVsYXRpb25zaGlwKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIGRlZmF1bHRWYWx1ZSBvZiBjaGVja2JveCB0byBmYWxzZSBpZiByZXF1aXJlZCBhbmQgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ015IENoZWNrYm94JyxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICB9LFxuICAgICAgXVxuXG4gICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgfSlbMF0gYXMgQ2hlY2tib3hGaWVsZFxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmRlZmF1bHRWYWx1ZSkudG9TdHJpY3RFcXVhbChmYWxzZSlcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZW1wdHkgZmllbGQgYXJyYXkgaWYgbm8gZmllbGRzJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc2FuaXRpemVkRmllbGRzID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHM6IFtdLFxuICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgfSlcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZHMpLnRvU3RyaWN0RXF1YWwoW10pXG4gICAgfSlcbiAgfSlcbn0pXG4iXSwibmFtZXMiOlsiSW52YWxpZEZpZWxkTmFtZSIsIkludmFsaWRGaWVsZFJlbGF0aW9uc2hpcCIsIk1pc3NpbmdGaWVsZFR5cGUiLCJzYW5pdGl6ZUZpZWxkcyIsImR1bW15Q29uZmlnIiwiY29sbGVjdGlvbnMiLCJkYiIsImRlc2NyaWJlIiwiaXQiLCJmaWVsZHMiLCJsYWJlbCIsIm5hbWUiLCJleHBlY3QiLCJjb25maWciLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJ0b1Rocm93IiwidHlwZSIsInNhbml0aXplZEZpZWxkIiwidG9TdHJpY3RFcXVhbCIsImFycmF5RmllbGQiLCJsYWJlbHMiLCJ0b0JlVW5kZWZpbmVkIiwiYmxvY2tzIiwic2x1ZyIsInRvTWF0Y2hPYmplY3QiLCJwbHVyYWwiLCJzaW5ndWxhciIsInJlbGF0aW9uVG8iLCJub3QiLCJyZWxhdGlvbnNoaXBCbG9jayIsInJlcXVpcmVkIiwiZGVmYXVsdFZhbHVlIiwic2FuaXRpemVkRmllbGRzIl0sIm1hcHBpbmdzIjoiQUFVQSxTQUFTQSxnQkFBZ0IsRUFBRUMsd0JBQXdCLEVBQUVDLGdCQUFnQixRQUFRLGVBQWM7QUFDM0YsU0FBU0MsY0FBYyxRQUFRLGFBQVk7QUFHM0MsTUFBTUMsY0FBc0I7SUFDMUJDLGFBQWEsRUFBRTtJQUNmQyxJQUFJLElBQU8sQ0FBQSxDQUFDLENBQUE7QUFDZDtBQUVBQyxTQUFTLGtCQUFrQjtJQUN6QkMsR0FBRyxzQ0FBc0M7UUFDdkMsNkRBQTZEO1FBQzdELGFBQWE7UUFDYixNQUFNQyxTQUFrQjtZQUN0QjtnQkFDRUMsT0FBTztnQkFDUEMsTUFBTTtZQUNSO1NBQ0Q7UUFDREMsT0FBTztZQUNMLDZEQUE2RDtZQUM3RCxhQUFhO1lBQ2JULGVBQWU7Z0JBQ2JVLFFBQVFUO2dCQUNSSztnQkFDQUssb0JBQW9CLEVBQUU7WUFDeEI7UUFDRixHQUFHQyxPQUFPLENBQUNiO0lBQ2I7SUFDQU0sR0FBRyxzQ0FBc0M7UUFDdkMsTUFBTUMsU0FBa0I7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
|