runlify 0.0.714 → 0.0.715
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/build/cli.js +20 -52
- package/build/commands/availableEnvironments.js +16 -51
- package/build/commands/generate.js +10 -46
- package/build/commands/init.js +73 -140
- package/build/commands/login.js +6 -42
- package/build/commands/logout.js +5 -41
- package/build/commands/pullEnvs.js +23 -70
- package/build/commands/readEnv.js +16 -45
- package/build/commands/regen.js +17 -48
- package/build/commands/runlify.js +6 -37
- package/build/commands/showToken.js +14 -45
- package/build/commands/start.js +57 -84
- package/build/commands/tryGetMeta.js +7 -43
- package/build/documentation/algoritmToDoc.js +4 -4
- package/build/documentation/algoritmToDoc.spec.js +5 -5
- package/build/documentation/curlExampleToText.js +15 -16
- package/build/documentation/curlExampleToText.spec.js +32 -16
- package/build/documentation/doc.js +1 -2
- package/build/documentation/docToFlatDoc.js +13 -17
- package/build/documentation/docToFlatDoc.spec.js +9 -9
- package/build/documentation/flatDoc.js +1 -2
- package/build/documentation/flatDocToText.js +4 -6
- package/build/documentation/flatDocToText.spec.js +20 -8
- package/build/documentation/templateDoc.js +1 -2
- package/build/documentation/templateDocToDoc.js +2 -2
- package/build/extensions/auth.js +64 -124
- package/build/extensions/cli-extension.js +3 -3
- package/build/extensions/cloudEnv.js +76 -120
- package/build/extensions/cloudMeta.js +35 -73
- package/build/extensions/globalConfig.js +37 -80
- package/build/extensions/localConfig.js +15 -46
- package/build/extensions/preventRunningIfUpdateAvailable.js +18 -52
- package/build/log.js +6 -6
- package/build/projectsGeneration/args.js +33 -53
- package/build/projectsGeneration/builders/AdditionalServiceBuilder.js +62 -96
- package/build/projectsGeneration/builders/BaseBuilder.js +30 -34
- package/build/projectsGeneration/builders/BaseSavableEntityBuilder.js +272 -312
- package/build/projectsGeneration/builders/CatalogBuilder.js +17 -46
- package/build/projectsGeneration/builders/ConfigVarBuilder.js +25 -36
- package/build/projectsGeneration/builders/DeploymentBuilder.js +18 -47
- package/build/projectsGeneration/builders/DocumentBuilder.js +26 -56
- package/build/projectsGeneration/builders/InfoRegistryBuilder.js +106 -140
- package/build/projectsGeneration/builders/PageBuilder.js +22 -51
- package/build/projectsGeneration/builders/PermissionBuilder.js +12 -41
- package/build/projectsGeneration/builders/ReportBuilder.js +23 -52
- package/build/projectsGeneration/builders/RestApiBuilder.js +20 -50
- package/build/projectsGeneration/builders/RestApiMethodBuilder.js +25 -54
- package/build/projectsGeneration/builders/RoleBuilder.js +12 -41
- package/build/projectsGeneration/builders/SumRegistryBuilder.js +100 -133
- package/build/projectsGeneration/builders/SystemMetaBuilder.js +281 -324
- package/build/projectsGeneration/builders/TelegramBotBuilder.js +18 -47
- package/build/projectsGeneration/builders/docs/DocumentationOfDocumentBuilder.js +8 -9
- package/build/projectsGeneration/builders/fields/BaseFieldBuilder.js +89 -105
- package/build/projectsGeneration/builders/fields/IdFieldBuilder.js +24 -54
- package/build/projectsGeneration/builders/fields/LinkFieldBuilder.js +33 -62
- package/build/projectsGeneration/builders/fields/ModelFieldBuilder.js +18 -47
- package/build/projectsGeneration/builders/fields/ScalarFieldBuilder.js +11 -42
- package/build/projectsGeneration/builders/fields/ViewLinkFieldBuilder.js +26 -55
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientArgsModelBuilder.js +6 -23
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientBaseModelBuilder.js +28 -57
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientBuilder.js +25 -54
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientQueryMethodsBuilder.js +18 -47
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientReturnModelBuilder.js +12 -41
- package/build/projectsGeneration/builders/materialUiIcons.js +2 -2
- package/build/projectsGeneration/builders/mehods/ArgsModelBuilder.js +6 -23
- package/build/projectsGeneration/builders/mehods/BaseModelBuilder.js +30 -59
- package/build/projectsGeneration/builders/mehods/MethodBuilder.js +36 -66
- package/build/projectsGeneration/builders/mehods/ReturnModelBuilder.js +12 -41
- package/build/projectsGeneration/builders/menu/BaseMenuItemBuilder.js +24 -54
- package/build/projectsGeneration/builders/menu/ExternalEnvMenuItemBuilder.js +11 -40
- package/build/projectsGeneration/builders/menu/ExternalMenuItemBuilder.js +11 -40
- package/build/projectsGeneration/builders/menu/GroupMenuItemBuilder.js +31 -66
- package/build/projectsGeneration/builders/menu/InternalMenuItemBuilder.js +16 -45
- package/build/projectsGeneration/builders/tsFilterFields.js +11 -12
- package/build/projectsGeneration/builders/tsFilterFields.spec.js +29 -11
- package/build/projectsGeneration/builders/ui/FormsBuilder.js +9 -10
- package/build/projectsGeneration/builders/ui/ListFormBuilder.js +9 -10
- package/build/projectsGeneration/builders/ui/ListFormFilterBuilder.js +14 -16
- package/build/projectsGeneration/builders/ui/ListFormFilterFieldBuilder.js +8 -9
- package/build/projectsGeneration/builders/utils/accessFunctions.js +4 -4
- package/build/projectsGeneration/builders/validation/baseValudationToYupAssertions.js +4 -4
- package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.js +5 -5
- package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.spec.js +7 -7
- package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.js +4 -4
- package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.spec.js +6 -6
- package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.js +9 -9
- package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.spec.js +9 -9
- package/build/projectsGeneration/builders/validation/numberValudationToYupAssertions.js +10 -10
- package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.js +6 -6
- package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.spec.js +6 -6
- package/build/projectsGeneration/commonEntities/addAggregateTrackings.js +3 -3
- package/build/projectsGeneration/commonEntities/addAuditLogs.js +6 -6
- package/build/projectsGeneration/commonEntities/addAutogeneration.js +4 -4
- package/build/projectsGeneration/commonEntities/addCommonCommands.js +2 -2
- package/build/projectsGeneration/commonEntities/addCommonEntities.js +14 -14
- package/build/projectsGeneration/commonEntities/addConfigurationVariables.js +4 -4
- package/build/projectsGeneration/commonEntities/addLanguages.js +3 -3
- package/build/projectsGeneration/commonEntities/addManagers.js +6 -6
- package/build/projectsGeneration/commonEntities/addRefreshTokens.js +4 -4
- package/build/projectsGeneration/commonEntities/addRoles.js +8 -8
- package/build/projectsGeneration/commonEntities/addTenants.js +3 -3
- package/build/projectsGeneration/commonEntities/addUserSettings.js +7 -7
- package/build/projectsGeneration/commonEntities/addUsers.js +4 -4
- package/build/projectsGeneration/defaultCatalogs/addElasticSearch.js +12 -13
- package/build/projectsGeneration/defaultCatalogs/files.js +6 -6
- package/build/projectsGeneration/fileCleaners/back/graphServices/cleanGraphServices.js +24 -59
- package/build/projectsGeneration/fileCleaners/back/services/cleanServices.js +32 -67
- package/build/projectsGeneration/fileCleaners/cleanFiles.js +7 -38
- package/build/projectsGeneration/fileCleaners/ui/cleanUi.js +7 -39
- package/build/projectsGeneration/fileCleaners/ui/pages/cleanPages.js +24 -59
- package/build/projectsGeneration/fileCleaners/ui/widgets/cleanWidgets.js +10 -40
- package/build/projectsGeneration/fileCleaners/ui/widgets/cleanWidgetsByType.js +29 -62
- package/build/projectsGeneration/genGraphSchemesByLocalGenerator.js +26 -68
- package/build/projectsGeneration/generateAdditionalService.js +41 -98
- package/build/projectsGeneration/generateEntity.js +215 -346
- package/build/projectsGeneration/generateEnvironment.js +157 -265
- package/build/projectsGeneration/generateProject.js +422 -724
- package/build/projectsGeneration/generators/fieldTypeToTsType.js +4 -4
- package/build/projectsGeneration/generators/fileTemplates/back/Entities.js +16 -14
- package/build/projectsGeneration/generators/fileTemplates/back/devEnum.js +17 -13
- package/build/projectsGeneration/generators/fileTemplates/back/elastic/elastic.js +8 -44
- package/build/projectsGeneration/generators/fileTemplates/back/elastic/jobs.js +36 -26
- package/build/projectsGeneration/generators/fileTemplates/back/enum.js +17 -13
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/Chart.js +12 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.js +128 -12
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.js +54 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/values.js +149 -13
- package/build/projectsGeneration/generators/fileTemplates/back/environment/ciNotify.js +19 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/defaultEnv.js +5 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.js +38 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.js +42 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocSpec.js +3 -6
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsConfiguration.js +27 -19
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsEntity.js +7 -5
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsIntegrationClient.js +44 -29
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsRestApi.js +45 -18
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/findLinksToEntities.js +2 -4
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/getAllSavableEntities.js +7 -11
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/getProjectSpec.js +206 -216
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/titleMd.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/back/environment/gitlabCi.js +272 -37
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +78 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/queue/getQueue.js +42 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/index.js +36 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/IntegrationClient.js +56 -5
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/IntegrationClients.js +12 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/fieldsToTsTypeFields.js +4 -6
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/integrationClientConstrictors.js +13 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/tsModelTmpl.js +6 -4
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/types.js +15 -7
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalResolvers.js +9 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalService/permissionToGraphql.js +16 -9
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalService/resolvers.js +32 -12
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalService/typeDefs.js +18 -11
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalTypes.js +7 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/entityAdditionalPermissionToGraphqlTmpl.js +20 -9
- package/build/projectsGeneration/generators/fileTemplates/back/graph/entityBasePermissionToGraphql.js +22 -10
- package/build/projectsGeneration/generators/fileTemplates/back/graph/entityPermissionToGraphqlTmpl.js +18 -9
- package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseResolvers.js +17 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseTypeDefs.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/back/graph/help/permissionsToGraphql.js +11 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/resolvers.js +26 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/typeDefs.js +17 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/permissionsToGraphql.js +52 -13
- package/build/projectsGeneration/generators/fileTemplates/back/graph/resolvers.js +52 -13
- package/build/projectsGeneration/generators/fileTemplates/back/graph/types.js +18 -11
- package/build/projectsGeneration/generators/fileTemplates/back/initCommon.js +30 -16
- package/build/projectsGeneration/generators/fileTemplates/back/initDev.js +27 -15
- package/build/projectsGeneration/generators/fileTemplates/back/initEntities.js +24 -10
- package/build/projectsGeneration/generators/fileTemplates/back/root/config/config.js +30 -16
- package/build/projectsGeneration/generators/fileTemplates/back/root/restRouter.js +21 -2
- package/build/projectsGeneration/generators/fileTemplates/back/services/AdditionalServices.js +7 -2
- package/build/projectsGeneration/generators/fileTemplates/back/services/BaseServices.js +18 -22
- package/build/projectsGeneration/generators/fileTemplates/back/services/HelpService/HelpService.js +30 -7
- package/build/projectsGeneration/generators/fileTemplates/back/services/additionalService/types.js +18 -13
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/additionalClass.js +7 -5
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +126 -49
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/config.js +59 -40
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnCreate.js +13 -5
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnDelete.js +14 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnUpdate.js +14 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterCreate.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterDelete.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterUpdate.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeCreate.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeDelete.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpdate.js +14 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpsert.js +30 -7
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/changeListFilter.js +14 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/tenantIdRequiredHooks.js +81 -8
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initBuiltInHooks.js +22 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initUserHooks.js +31 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/serviceConstrictors.js +26 -14
- package/build/projectsGeneration/generators/fileTemplates/ui/Dashboard.js +14 -2
- package/build/projectsGeneration/generators/fileTemplates/ui/MetaPage.js +120 -3
- package/build/projectsGeneration/generators/fileTemplates/ui/ResourcesPage.js +45 -10
- package/build/projectsGeneration/generators/fileTemplates/ui/additionalRoutes.js +5 -2
- package/build/projectsGeneration/generators/fileTemplates/ui/entityMapping.js +14 -12
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/Chart.js +12 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.js +118 -13
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.js +51 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/values.js +79 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/ciNotify.js +19 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/docs/adminAppDocsConfiguration.js +27 -21
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/gitlabCi.js +179 -26
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/App.js +107 -10
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/contexts/SpacesContext.js +67 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/getAdditionalMethods.js +55 -18
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/index.js +93 -13
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/i18nProvider/index.js +51 -19
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/AppBar.js +60 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/Menu.js +52 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/routes.js +38 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/functions/Functions.js +60 -7
- package/build/projectsGeneration/generators/fileTemplates/ui/getAdditionalMenu.js +11 -2
- package/build/projectsGeneration/generators/fileTemplates/ui/getDefaultMenu.js +136 -23
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangCatalogsTmpl.js +3 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangDocsTmpl.js +3 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangInfoRegistriesTmpl.js +3 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangReportsTmpl.js +3 -3
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangSumRegistriesTmpl.js +3 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsForServicesOfSavablesTmpl.js +33 -21
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsLangTmpl.js +23 -15
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/DefaultEntityCreate.js +101 -62
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/index.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/DefaultEntityEdit.js +176 -77
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/index.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityFilter.js +68 -50
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityList.js +83 -47
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/EntityFilter.js +12 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/index.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultActions.js +54 -19
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultEntityShow.js +53 -30
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultMainTab.js +45 -32
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DependencyTab.js +57 -41
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/MainTab.js +3 -2
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/additionalTabs.js +7 -3
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/index.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/Icon.js +8 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/getEntityValidation.js +45 -30
- package/build/projectsGeneration/generators/fileTemplates/ui/resources.js +46 -12
- package/build/projectsGeneration/generators/fileTemplates/ui/widgets/count/CountWidget.js +50 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/widgets/list/ListWidget.js +109 -14
- package/build/projectsGeneration/generators/graph/fieldTypeToGraphScalar.js +8 -9
- package/build/projectsGeneration/generators/graph/fieldTypeToGraphScalarStringified.js +4 -6
- package/build/projectsGeneration/generators/graph/fields/genGraphField.js +8 -9
- package/build/projectsGeneration/generators/graph/fields/genGraphIdField.js +7 -8
- package/build/projectsGeneration/generators/graph/fields/genGraphIdFieldType.js +6 -6
- package/build/projectsGeneration/generators/graph/fields/genGraphLinkField.js +10 -11
- package/build/projectsGeneration/generators/graph/fields/genGraphModelField.js +10 -11
- package/build/projectsGeneration/generators/graph/fields/genGraphScalarField.js +10 -11
- package/build/projectsGeneration/generators/graph/filters/genGraphField.js +7 -7
- package/build/projectsGeneration/generators/graph/filters/genGraphIdFilter.js +12 -14
- package/build/projectsGeneration/generators/graph/filters/genGraphLinkFilter.js +12 -24
- package/build/projectsGeneration/generators/graph/filters/genGraphScalarFilter.js +25 -37
- package/build/projectsGeneration/generators/graph/genGraphAdditionalServiceSchema.js +35 -35
- package/build/projectsGeneration/generators/graph/genGraphAdditionalServiceSchema.spec.js +148 -65
- package/build/projectsGeneration/generators/graph/genGraphCrudSchema.js +38 -50
- package/build/projectsGeneration/generators/graph/genGraphCrudSchema.spec.js +393 -34
- package/build/projectsGeneration/generators/graph/genGraphFilterType.js +11 -22
- package/build/projectsGeneration/generators/graph/genGraphFilterType.spec.js +75 -13
- package/build/projectsGeneration/generators/graph/genGraphModelType.js +15 -27
- package/build/projectsGeneration/generators/graph/genGraphType.js +7 -18
- package/build/projectsGeneration/generators/graph/genGraphType.spec.js +27 -12
- package/build/projectsGeneration/generators/graph/printGraphType.js +5 -7
- package/build/projectsGeneration/generators/graph/printGraphType.spec.js +11 -6
- package/build/projectsGeneration/generators/graph/utils/mapUtils.js +11 -30
- package/build/projectsGeneration/generators/graph/utils/models/getModelInitOrder.js +14 -28
- package/build/projectsGeneration/generators/graph/utils/models/getModelInitOrder.spec.js +18 -18
- package/build/projectsGeneration/generators/graph/utils/models/getUniqModels.js +3 -3
- package/build/projectsGeneration/generators/graph/utils/models/getUniqModels.spec.js +17 -28
- package/build/projectsGeneration/generators/graph/utils/models/getUsedModels.js +14 -19
- package/build/projectsGeneration/generators/graph/utils/models/getUsedModels.spec.js +40 -51
- package/build/projectsGeneration/generators/graph/utils/serviceModels/augmentInputModelsByUsedAsInputGeneralModelsAndPostfixThemByInput.js +17 -26
- package/build/projectsGeneration/generators/graph/utils/serviceModels/augmentInputModelsByUsedAsInputGeneralModelsAndPostfixThemByInput.spec.js +68 -68
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getGraphTypesFromInputOutputModels.js +21 -42
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getGraphTypesFromInputOutputModels.spec.js +85 -62
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getPreparedModelsForGraph.js +20 -31
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getPreparedModelsForGraph.spec.js +48 -49
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getServiceModels.js +7 -7
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedGraphModelsForService.js +6 -6
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedGraphModelsForService.spec.js +13 -13
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedModelsForService.js +18 -21
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedModelsForService.spec.js +153 -153
- package/build/projectsGeneration/generators/graph/utils/serviceModels/prefixServiceModelsWithServiceName.js +25 -26
- package/build/projectsGeneration/generators/graph/utils/serviceModels/prefixServiceModelsWithServiceName.spec.js +69 -69
- package/build/projectsGeneration/generators/graph/utils/serviceModels/removeDublicatesFromServiceModels.js +4 -4
- package/build/projectsGeneration/generators/graph/utils/serviceModels/removeUnusedInOutputGeneralModels.js +6 -17
- package/build/projectsGeneration/generators/graph/utils/serviceModels/removeVoidsInServiceModels.js +5 -5
- package/build/projectsGeneration/generators/prisma/fieldIdTypeToPrismaType.js +3 -3
- package/build/projectsGeneration/generators/prisma/fieldTypeToPrismaType.js +3 -3
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.js +3 -3
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.spec.js +20 -20
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaField.js +7 -8
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.js +6 -7
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.spec.js +7 -19
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.js +10 -11
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.spec.js +13 -13
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.js +15 -18
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.spec.js +27 -28
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.js +12 -14
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.spec.js +29 -30
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.js +23 -32
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.spec.js +104 -47
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.js +5 -7
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +19 -10
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNameToEditScalar.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditField.js +7 -7
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditIdField.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.js +5 -5
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.spec.js +10 -10
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditScalarField.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNameToShowScalar.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowField.js +7 -7
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowIdField.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.js +2 -14
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.spec.js +17 -17
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowScalarField.js +3 -3
- package/build/projectsGeneration/generators/ui/getLinkShowComponent.spec.js +18 -18
- package/build/projectsGeneration/generators/ui/getScalarShowComponent.spec.js +11 -11
- package/build/projectsGeneration/generators/ui/getShowComponent.js +19 -20
- package/build/projectsGeneration/links/getLinksFromExternalEntities.js +2 -4
- package/build/projectsGeneration/links/getLinksFromExternalEntities.spec.js +11 -22
- package/build/projectsGeneration/links/getLinksOfEntities.js +6 -8
- package/build/projectsGeneration/links/getLinksOfEntities.spec.js +20 -31
- package/build/projectsGeneration/links/getLinksToExternalEntities.js +2 -4
- package/build/projectsGeneration/links/getLinksToExternalEntities.spec.js +11 -22
- package/build/projectsGeneration/metaUtils.js +17 -23
- package/build/projectsGeneration/modelsGeneration.serialization.spec.js +8 -8
- package/build/projectsGeneration/modules/addEmailModuleEntities.js +11 -11
- package/build/projectsGeneration/types.js +6 -6
- package/build/projectsGeneration/utils.js +24 -61
- package/build/refs/yup.spec.js +7 -7
- package/build/types/projectsGeneration/builders/InfoRegistryBuilder.d.ts +0 -4
- package/build/types/projectsGeneration/builders/SumRegistryBuilder.d.ts +0 -3
- package/build/types/projectsGeneration/fileCleaners/cleanFiles.d.ts +1 -1
- package/build/types/projectsGeneration/generateProject.d.ts +0 -5
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/IntegrationClient.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/config.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/App.d.ts +1 -1
- package/build/utils/TermSignals.js +35 -43
- package/build/utils/cases.js +12 -18
- package/build/utils/getPkgManager.js +4 -4
- package/package.json +12 -24
- package/build/projectsGeneration/fileCleaners/back/cleanBack.js +0 -50
- package/build/types/projectsGeneration/fileCleaners/back/cleanBack.d.ts +0 -3
|
@@ -1,30 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
29
3
|
if (k2 === undefined) k2 = k;
|
|
30
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -48,33 +22,24 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
48
22
|
__setModuleDefault(result, mod);
|
|
49
23
|
return result;
|
|
50
24
|
};
|
|
51
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
52
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
53
|
-
if (ar || !(i in from)) {
|
|
54
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
55
|
-
ar[i] = from[i];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
59
|
-
};
|
|
60
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
61
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
62
27
|
};
|
|
63
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
29
|
+
const ScalarFieldBuilder_1 = __importDefault(require("./fields/ScalarFieldBuilder"));
|
|
30
|
+
const IdFieldBuilder_1 = __importDefault(require("./fields/IdFieldBuilder"));
|
|
31
|
+
const LinkFieldBuilder_1 = __importDefault(require("./fields/LinkFieldBuilder"));
|
|
32
|
+
const buildedTypes_1 = require("./buildedTypes");
|
|
33
|
+
const CatalogBuilder_1 = __importDefault(require("./CatalogBuilder"));
|
|
34
|
+
const BaseBuilder_1 = __importDefault(require("./BaseBuilder"));
|
|
35
|
+
const FormsBuilder_1 = __importDefault(require("./ui/FormsBuilder"));
|
|
36
|
+
const ViewLinkFieldBuilder_1 = __importDefault(require("./fields/ViewLinkFieldBuilder"));
|
|
37
|
+
const cases_1 = require("../../utils/cases");
|
|
38
|
+
const R = __importStar(require("ramda"));
|
|
39
|
+
const PermissionBuilder_1 = __importDefault(require("./PermissionBuilder"));
|
|
40
|
+
const PageBuilder_1 = __importDefault(require("./PageBuilder"));
|
|
41
|
+
const BaseModelBuilder_1 = __importDefault(require("./mehods/BaseModelBuilder"));
|
|
42
|
+
const MethodBuilder_1 = __importDefault(require("./mehods/MethodBuilder"));
|
|
78
43
|
// const readPermissions: string[] = [
|
|
79
44
|
// 'all',
|
|
80
45
|
// 'get',
|
|
@@ -87,257 +52,254 @@ var MethodBuilder_1 = __importDefault(require("./mehods/MethodBuilder"));
|
|
|
87
52
|
// 'update',
|
|
88
53
|
// 'delete',
|
|
89
54
|
// ]
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
function BaseSavableEntityBuilder(name, defaultLanguage, title) {
|
|
55
|
+
class BaseSavableEntityBuilder extends BaseBuilder_1.default {
|
|
56
|
+
constructor(name, defaultLanguage, title) {
|
|
93
57
|
var _a, _b, _c;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
58
|
+
super(name, defaultLanguage, title);
|
|
59
|
+
this.permissions = [];
|
|
60
|
+
this.fields = [];
|
|
61
|
+
this.uniqueConstraints = [];
|
|
62
|
+
this.indexes = [];
|
|
63
|
+
this.type = 'catalog';
|
|
64
|
+
this.deletable = false;
|
|
65
|
+
this.editable = true;
|
|
66
|
+
this.singleKey = true;
|
|
67
|
+
this.logging = false;
|
|
68
|
+
this.auditable = true;
|
|
69
|
+
this.creatableByUser = true;
|
|
70
|
+
this.updatableByUser = true;
|
|
71
|
+
this.removableByUser = true;
|
|
72
|
+
this.exportableByUser = true;
|
|
73
|
+
this.space = '';
|
|
74
|
+
this.sortField = 'id';
|
|
75
|
+
this.sortOrder = 'DESC';
|
|
76
|
+
this.sybsystems = [];
|
|
77
|
+
this.predefinedElements = [];
|
|
78
|
+
this.devPerefinedElements = [];
|
|
79
|
+
this.searchEnabled = true;
|
|
80
|
+
this.externalSearch = false;
|
|
81
|
+
this.elasticOnly = false;
|
|
82
|
+
this.multitenancy = 'none';
|
|
83
|
+
this.commonElementsVisibleToAll = false;
|
|
84
|
+
this.title = {};
|
|
85
|
+
this.externalSearchName = undefined;
|
|
86
|
+
this.sharded = false;
|
|
87
|
+
this.isExternalSearch = false;
|
|
88
|
+
this.clearDBAfter = [];
|
|
89
|
+
this.allowedToChange = '';
|
|
90
|
+
this.pages = [];
|
|
91
|
+
this.methods = [];
|
|
92
|
+
this.generalModels = []; // models that may be used as input or output
|
|
93
|
+
this.inputModels = []; // models that may be used only as input
|
|
94
|
+
this.outputModels = []; // models that may be used only as output
|
|
95
|
+
this.labels = [];
|
|
96
|
+
this.setTitle({ plural: (_a = title === null || title === void 0 ? void 0 : title.plural) !== null && _a !== void 0 ? _a : name, singular: (_c = (_b = title === null || title === void 0 ? void 0 : title.singular) !== null && _b !== void 0 ? _b : title === null || title === void 0 ? void 0 : title.plural) !== null && _c !== void 0 ? _c : name });
|
|
97
|
+
this.id = new IdFieldBuilder_1.default('id', defaultLanguage)
|
|
134
98
|
.setTitle('Id', 'en')
|
|
135
99
|
.setTitle('Ид', 'ru');
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
var resultedLangiage = language ? language : this.defaultLanguage;
|
|
100
|
+
this.titleField = new IdFieldBuilder_1.default('id', defaultLanguage);
|
|
101
|
+
this.setTitleFieldByName(this.getKey().name);
|
|
102
|
+
this.addPage(`${name}.all`, `/${name}`, `${(0, cases_1.camelPlural)(this.type)}.${this.name}.title.plural`).addRequiredPermission(`${name}.all`);
|
|
103
|
+
this.addPage(`${name}.create`, `/${name}/create`, `${(0, cases_1.camelPlural)(this.type)}.${this.name}.title.singular`).addRequiredPermission(`${name}.create`);
|
|
104
|
+
this.addMethod('all', buildedTypes_1.MethodType.Query).setExportedToApi();
|
|
105
|
+
this.addMethod('create', buildedTypes_1.MethodType.Mutation).setExportedToApi();
|
|
106
|
+
this.addMethod('update', buildedTypes_1.MethodType.Mutation).setExportedToApi();
|
|
107
|
+
this.addMethod('delete', buildedTypes_1.MethodType.Mutation).setExportedToApi();
|
|
108
|
+
this.addLabel(`${(0, cases_1.camelPlural)(this.type)}.${this.name}.title.plural`);
|
|
109
|
+
this.addLabel(`${(0, cases_1.camelPlural)(this.type)}.${this.name}.title.singular`);
|
|
110
|
+
}
|
|
111
|
+
setTitle(title, language) {
|
|
112
|
+
const resultedLangiage = language ? language : this.defaultLanguage;
|
|
150
113
|
this.title[resultedLangiage] = title;
|
|
151
114
|
return this;
|
|
152
|
-
}
|
|
153
|
-
|
|
115
|
+
}
|
|
116
|
+
setExternalSearch() {
|
|
154
117
|
this.externalSearch = true;
|
|
155
118
|
this.getKey().setType('string').setAutoGenerated(true);
|
|
156
|
-
this.externalSearchName =
|
|
119
|
+
this.externalSearchName = `external${(0, cases_1.pascal)(this.name)}SearchTrackings`;
|
|
157
120
|
this.setSearchEnabled();
|
|
158
121
|
return this;
|
|
159
|
-
}
|
|
160
|
-
|
|
122
|
+
}
|
|
123
|
+
setElasticOnly() {
|
|
161
124
|
this.elasticOnly = true;
|
|
162
125
|
this.getKey().setType('string').setAutoGenerated(true);
|
|
163
126
|
return this;
|
|
164
|
-
}
|
|
165
|
-
|
|
127
|
+
}
|
|
128
|
+
setSearchEnabled(searchEnabled) {
|
|
166
129
|
this.searchEnabled = searchEnabled !== null && searchEnabled !== void 0 ? searchEnabled : true;
|
|
167
|
-
|
|
130
|
+
const filed = this.getFieldIfExist('search');
|
|
168
131
|
if (!searchEnabled && filed) {
|
|
169
132
|
this.delField('search');
|
|
170
133
|
}
|
|
171
134
|
return this;
|
|
172
|
-
}
|
|
173
|
-
|
|
135
|
+
}
|
|
136
|
+
setAuditable(auditable) {
|
|
174
137
|
this.auditable = auditable !== null && auditable !== void 0 ? auditable : true;
|
|
175
138
|
return this;
|
|
176
|
-
}
|
|
177
|
-
|
|
139
|
+
}
|
|
140
|
+
setDeletable(deletable) {
|
|
178
141
|
this.deletable = deletable !== null && deletable !== void 0 ? deletable : true;
|
|
179
142
|
return this;
|
|
180
|
-
}
|
|
181
|
-
|
|
143
|
+
}
|
|
144
|
+
setEditable(editable) {
|
|
182
145
|
this.editable = editable !== null && editable !== void 0 ? editable : true;
|
|
183
146
|
return this;
|
|
184
|
-
}
|
|
185
|
-
|
|
147
|
+
}
|
|
148
|
+
setCreatableByUser(creatableByUser) {
|
|
186
149
|
this.creatableByUser = creatableByUser !== null && creatableByUser !== void 0 ? creatableByUser : true;
|
|
187
150
|
return this;
|
|
188
|
-
}
|
|
189
|
-
|
|
151
|
+
}
|
|
152
|
+
setUpdatableByUser(updatableByUser) {
|
|
190
153
|
this.updatableByUser = updatableByUser !== null && updatableByUser !== void 0 ? updatableByUser : true;
|
|
191
154
|
return this;
|
|
192
|
-
}
|
|
193
|
-
|
|
155
|
+
}
|
|
156
|
+
setRemovableByUser(removableByUser) {
|
|
194
157
|
this.removableByUser = removableByUser !== null && removableByUser !== void 0 ? removableByUser : true;
|
|
195
158
|
return this;
|
|
196
|
-
}
|
|
197
|
-
|
|
159
|
+
}
|
|
160
|
+
setExportableByUser(exportableByUser) {
|
|
198
161
|
this.exportableByUser = exportableByUser !== null && exportableByUser !== void 0 ? exportableByUser : true;
|
|
199
162
|
return this;
|
|
200
|
-
}
|
|
201
|
-
|
|
163
|
+
}
|
|
164
|
+
getKey() {
|
|
202
165
|
if (!this.singleKey) {
|
|
203
166
|
throw new Error('There is no single key');
|
|
204
167
|
}
|
|
205
168
|
return this.id;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
return this.fields.filter(
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
var isRegistrarDependentSumRegistry = this.type === 'sumRegistry' && registrarDependent;
|
|
169
|
+
}
|
|
170
|
+
getShardedFields() {
|
|
171
|
+
return this.fields.filter((f) => f.sharded);
|
|
172
|
+
}
|
|
173
|
+
getUniqueConstraints(registrarDependent = false) {
|
|
174
|
+
const uniqueConstraints = [...this.uniqueConstraints];
|
|
175
|
+
const uniqKeys = this.getShardedFields().map(f => f.name);
|
|
176
|
+
const isRegistrarDependentSumRegistry = this.type === 'sumRegistry' && registrarDependent;
|
|
215
177
|
if (!isRegistrarDependentSumRegistry && !R.isEmpty(uniqKeys) && !R.equals(uniqKeys, ['id'])) {
|
|
216
178
|
uniqueConstraints.push(uniqKeys);
|
|
217
179
|
}
|
|
218
180
|
return uniqueConstraints;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
return
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
return this.getFileds().find(
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
|
|
181
|
+
}
|
|
182
|
+
getFileds() {
|
|
183
|
+
return [this.id, ...this.fields];
|
|
184
|
+
}
|
|
185
|
+
getFieldIfExist(name) {
|
|
186
|
+
return this.getFileds().find((f) => f.name === name);
|
|
187
|
+
}
|
|
188
|
+
getFiled(name) {
|
|
189
|
+
const filed = this.getFieldIfExist(name);
|
|
228
190
|
if (!filed) {
|
|
229
|
-
throw new Error(
|
|
191
|
+
throw new Error(`There is no field with name "${name}"`);
|
|
230
192
|
}
|
|
231
193
|
return filed;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
return this.getFileds().filter(
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
throw new Error("There is already field with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
194
|
+
}
|
|
195
|
+
getLinkFileds() {
|
|
196
|
+
return this.getFileds().filter((field) => field.getCategory() === 'link');
|
|
197
|
+
}
|
|
198
|
+
addField(name, title, { isTitleField } = {}) {
|
|
199
|
+
if (this.fields.some((f) => f.name === name)) {
|
|
200
|
+
throw new Error(`There is already field with name "${name}". Entity ${this.name}`);
|
|
240
201
|
}
|
|
241
|
-
|
|
202
|
+
const field = new ScalarFieldBuilder_1.default(name, this.defaultLanguage, title);
|
|
242
203
|
this.fields.push(field);
|
|
243
204
|
if (isTitleField) {
|
|
244
205
|
this.setTitleFieldByName(name);
|
|
245
206
|
}
|
|
246
|
-
this.addLabel(
|
|
207
|
+
this.addLabel(`${(0, cases_1.camelPlural)(this.type)}.${this.name}.fields.${name}`);
|
|
247
208
|
return field;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
this.fields = this.fields.filter(
|
|
251
|
-
this.delLabel(
|
|
209
|
+
}
|
|
210
|
+
delField(name) {
|
|
211
|
+
this.fields = this.fields.filter((f) => f.name !== name);
|
|
212
|
+
this.delLabel(`${(0, cases_1.camelPlural)(this.type)}.${this.name}.fields.${name}`);
|
|
252
213
|
return this;
|
|
253
|
-
}
|
|
254
|
-
|
|
214
|
+
}
|
|
215
|
+
addLinkField(e, name, title) {
|
|
255
216
|
var _a;
|
|
256
|
-
|
|
257
|
-
if (this.fields.some(
|
|
258
|
-
throw new Error(
|
|
217
|
+
let entity = e;
|
|
218
|
+
if (this.fields.some((f) => f.name === name)) {
|
|
219
|
+
throw new Error(`There is already field with name "${name}". Entity ${this.name}`);
|
|
259
220
|
}
|
|
260
221
|
// get name from entity
|
|
261
222
|
if (entity instanceof CatalogBuilder_1.default) {
|
|
262
223
|
entity = entity.name;
|
|
263
224
|
}
|
|
264
|
-
|
|
225
|
+
const field = new LinkFieldBuilder_1.default(entity, name, this.defaultLanguage, title);
|
|
265
226
|
// get field type from entity
|
|
266
227
|
if (e instanceof CatalogBuilder_1.default) {
|
|
267
|
-
|
|
228
|
+
const entityType = (_a = e.fields.find((field) => field instanceof IdFieldBuilder_1.default)) === null || _a === void 0 ? void 0 : _a.type;
|
|
268
229
|
if (entityType && field.type !== entityType) {
|
|
269
230
|
field.setType(entityType);
|
|
270
231
|
}
|
|
271
232
|
}
|
|
272
233
|
this.fields.push(field);
|
|
273
234
|
return field;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
if (this.fields.some(
|
|
278
|
-
throw new Error(
|
|
235
|
+
}
|
|
236
|
+
addFileField(name, title) {
|
|
237
|
+
const entity = 'files';
|
|
238
|
+
if (this.fields.some((f) => f.name === name)) {
|
|
239
|
+
throw new Error(`There is already field with name "${name}". Entity ${this.name}`);
|
|
279
240
|
}
|
|
280
|
-
|
|
241
|
+
const field = new LinkFieldBuilder_1.default(entity, name, this.defaultLanguage, title);
|
|
281
242
|
field.setPredefinedLinkedEntity('file');
|
|
282
243
|
this.fields.push(field);
|
|
283
244
|
return field;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
if (this.fields.some(
|
|
288
|
-
throw new Error(
|
|
245
|
+
}
|
|
246
|
+
addImageField(name, title) {
|
|
247
|
+
const entity = 'files';
|
|
248
|
+
if (this.fields.some((f) => f.name === name)) {
|
|
249
|
+
throw new Error(`There is already field with name "${name}". Entity ${this.name}`);
|
|
289
250
|
}
|
|
290
|
-
|
|
251
|
+
const field = new LinkFieldBuilder_1.default(entity, name, this.defaultLanguage, title);
|
|
291
252
|
field.setPredefinedLinkedEntity('file');
|
|
292
253
|
field.setFileType('image');
|
|
293
254
|
this.fields.push(field);
|
|
294
255
|
return field;
|
|
295
|
-
}
|
|
296
|
-
|
|
256
|
+
}
|
|
257
|
+
addViewLinkField(e, name, title) {
|
|
297
258
|
var _a;
|
|
298
|
-
|
|
299
|
-
if (this.fields.some(
|
|
300
|
-
throw new Error(
|
|
259
|
+
let entity = e;
|
|
260
|
+
if (this.fields.some((f) => f.name === name)) {
|
|
261
|
+
throw new Error(`There is already field with name "${name}". Entity ${this.name}`);
|
|
301
262
|
}
|
|
302
263
|
// get name from entity
|
|
303
264
|
if (entity instanceof CatalogBuilder_1.default) {
|
|
304
265
|
entity = entity.name;
|
|
305
266
|
}
|
|
306
|
-
|
|
267
|
+
const field = new ViewLinkFieldBuilder_1.default(entity, name, this.defaultLanguage, title);
|
|
307
268
|
// get field type from entity
|
|
308
269
|
if (e instanceof CatalogBuilder_1.default) {
|
|
309
|
-
|
|
270
|
+
const entityType = (_a = e.fields.find((field) => field instanceof IdFieldBuilder_1.default)) === null || _a === void 0 ? void 0 : _a.type;
|
|
310
271
|
if (entityType && field.type !== entityType) {
|
|
311
272
|
field.setType(entityType);
|
|
312
273
|
}
|
|
313
274
|
}
|
|
314
275
|
this.fields.push(field);
|
|
315
276
|
return field;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
|
|
277
|
+
}
|
|
278
|
+
setTitleFieldByName(titleField) {
|
|
279
|
+
const field = this.getFileds().find((f) => f.name === titleField);
|
|
319
280
|
if (!field) {
|
|
320
|
-
throw new Error(
|
|
281
|
+
throw new Error(`There is no field with name "${titleField}", you can not set it as a title field. Entity ${this.name}`);
|
|
321
282
|
}
|
|
322
283
|
this.titleField = field;
|
|
323
284
|
return this;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
if (!this.getFileds().some(
|
|
327
|
-
throw new Error(
|
|
285
|
+
}
|
|
286
|
+
setSort(field, order) {
|
|
287
|
+
if (!this.getFileds().some((f) => f.name === field)) {
|
|
288
|
+
throw new Error(`There is no field with name "${field}", you can not set sort to this field. Entity ${this.name}`);
|
|
328
289
|
}
|
|
329
290
|
this.sortField = field;
|
|
330
291
|
this.sortOrder = order;
|
|
331
292
|
return this;
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
var currentFields = this.getFileds();
|
|
293
|
+
}
|
|
294
|
+
addUniqueConstraint(fields) {
|
|
295
|
+
const currentFields = this.getFileds();
|
|
336
296
|
// const currentRequiredFields = currentFields.filter(f => f.required);
|
|
337
|
-
|
|
297
|
+
const currentFieldNames = currentFields.map((f) => f.name);
|
|
338
298
|
// const currentRequiredFieldNames = currentRequiredFields.map(f => f.name);
|
|
339
|
-
if (fields.some(
|
|
340
|
-
throw new Error(
|
|
299
|
+
if (fields.some((f) => !currentFieldNames.includes(f))) {
|
|
300
|
+
throw new Error(`You trying to add constraint for non existing field.
|
|
301
|
+
Current fields: ${currentFields.map(f => f.title[this.defaultLanguage]).join(', ')}, fields for constraint: ${fields.join(', ')}, field not in current: ${fields.filter((f) => !currentFieldNames.includes(f))}.
|
|
302
|
+
Entity ${this.name}`);
|
|
341
303
|
}
|
|
342
304
|
// if (fields.some(f => !currentRequiredFieldNames.includes(f))) {
|
|
343
305
|
// throw new Error(`You trying to add constraint for not required field. Presence of not required filed breaks uniquiness check.
|
|
@@ -346,151 +308,152 @@ var BaseSavableEntityBuilder = /** @class */ (function (_super) {
|
|
|
346
308
|
// }
|
|
347
309
|
this.uniqueConstraints.push(fields);
|
|
348
310
|
return this;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
311
|
+
}
|
|
312
|
+
addIndex({ fields, type }) {
|
|
313
|
+
const currentFields = this.getFileds();
|
|
314
|
+
const currentFieldNames = currentFields.map((f) => f.name);
|
|
315
|
+
if (fields.some((f) => !currentFieldNames.includes(f))) {
|
|
316
|
+
throw new Error(`You trying to add index for non existing field.
|
|
317
|
+
Current fields: ${currentFields.map(f => f.title[this.defaultLanguage]).join(', ')}, fields for indexing: ${fields.join(', ')}, field not in current: ${fields.filter((f) => !currentFieldNames.includes(f))}.
|
|
318
|
+
Entity ${this.name}`);
|
|
357
319
|
}
|
|
358
320
|
if (type === buildedTypes_1.IndexType.Hash && fields.length > 1) {
|
|
359
|
-
throw new Error(
|
|
321
|
+
throw new Error(`Hash method doesn't support multicolumn indexes in entity ${this.name}`);
|
|
360
322
|
}
|
|
361
|
-
this.indexes.push({ fields
|
|
323
|
+
this.indexes.push({ fields, type });
|
|
362
324
|
return this;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
if (this.permissions.some(
|
|
366
|
-
throw new Error(
|
|
325
|
+
}
|
|
326
|
+
addPemission(name, type) {
|
|
327
|
+
if (this.permissions.some((p) => p.name === name)) {
|
|
328
|
+
throw new Error(`Entity "${this.name}" already have "${name}" pemission`);
|
|
367
329
|
}
|
|
368
|
-
|
|
330
|
+
const permission = new PermissionBuilder_1.default(`${this.name}.${name}`, type, this.defaultLanguage, `${this.name}.${name}`);
|
|
369
331
|
this.permissions.push(permission);
|
|
370
332
|
return this;
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
if (this.pages.some(
|
|
374
|
-
throw new Error(
|
|
333
|
+
}
|
|
334
|
+
addPage(name, link, label, title) {
|
|
335
|
+
if (this.pages.some(p => p.name === name)) {
|
|
336
|
+
throw new Error(`There is already "${name}" page`);
|
|
375
337
|
}
|
|
376
|
-
|
|
338
|
+
const page = new PageBuilder_1.default(name, link, label, this.defaultLanguage, title);
|
|
377
339
|
this.pages.push(page);
|
|
378
340
|
return page;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
|
|
341
|
+
}
|
|
342
|
+
getPageByName(pageName) {
|
|
343
|
+
const found = this.pages.find(p => p.name === pageName);
|
|
382
344
|
if (!found) {
|
|
383
|
-
throw new Error(
|
|
345
|
+
throw new Error(`Page "${pageName}" not found`);
|
|
384
346
|
}
|
|
385
347
|
return found;
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
return this.getPageByName(
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
return this.getPageByName(
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
if (this.methods.some(
|
|
395
|
-
throw new Error(
|
|
348
|
+
}
|
|
349
|
+
getAllPage() {
|
|
350
|
+
return this.getPageByName(`${this.name}.all`);
|
|
351
|
+
}
|
|
352
|
+
getCreatePage() {
|
|
353
|
+
return this.getPageByName(`${this.name}.create`);
|
|
354
|
+
}
|
|
355
|
+
addMethod(name, methodType, title) {
|
|
356
|
+
if (this.methods.some((f) => f.name === name)) {
|
|
357
|
+
throw new Error(`There is already field with name "${name}" in args model`);
|
|
396
358
|
}
|
|
397
|
-
|
|
359
|
+
const field = new MethodBuilder_1.default(this, name, methodType, this.defaultLanguage, title);
|
|
398
360
|
this.methods.push(field);
|
|
399
361
|
return field;
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
if (this.getAllModels().some(
|
|
403
|
-
throw new Error(
|
|
362
|
+
}
|
|
363
|
+
addGeneralModel(name, title) {
|
|
364
|
+
if (this.getAllModels().some((f) => f.name === name)) {
|
|
365
|
+
throw new Error(`There is already field with name "${name}" in args model`);
|
|
404
366
|
}
|
|
405
|
-
|
|
367
|
+
const model = new BaseModelBuilder_1.default(this, name, title !== null && title !== void 0 ? title : name, this.defaultLanguage);
|
|
406
368
|
this.generalModels.push(model);
|
|
407
369
|
return model;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
if (this.getAllModels().some(
|
|
411
|
-
throw new Error(
|
|
370
|
+
}
|
|
371
|
+
addInputModel(name, title) {
|
|
372
|
+
if (this.getAllModels().some((f) => f.name === name)) {
|
|
373
|
+
throw new Error(`There is already field with name "${name}" in args model`);
|
|
412
374
|
}
|
|
413
|
-
|
|
375
|
+
const model = new BaseModelBuilder_1.default(this, name, title !== null && title !== void 0 ? title : name, this.defaultLanguage);
|
|
414
376
|
this.inputModels.push(model);
|
|
415
377
|
return model;
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
if (this.getAllModels().some(
|
|
419
|
-
throw new Error(
|
|
378
|
+
}
|
|
379
|
+
addOutputModel(name, title) {
|
|
380
|
+
if (this.getAllModels().some((f) => f.name === name)) {
|
|
381
|
+
throw new Error(`There is already field with name "${name}" in args model`);
|
|
420
382
|
}
|
|
421
|
-
|
|
383
|
+
const model = new BaseModelBuilder_1.default(this, name, title !== null && title !== void 0 ? title : name, this.defaultLanguage);
|
|
422
384
|
this.outputModels.push(model);
|
|
423
385
|
return model;
|
|
424
|
-
}
|
|
425
|
-
|
|
386
|
+
}
|
|
387
|
+
getMethods() {
|
|
426
388
|
return this.methods;
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
return
|
|
430
|
-
|
|
431
|
-
|
|
389
|
+
}
|
|
390
|
+
getAllModels() {
|
|
391
|
+
return [
|
|
392
|
+
...this.inputModels,
|
|
393
|
+
...this.outputModels,
|
|
394
|
+
...this.generalModels,
|
|
395
|
+
];
|
|
396
|
+
}
|
|
397
|
+
getGeneralModels() {
|
|
432
398
|
return this.generalModels;
|
|
433
|
-
}
|
|
434
|
-
|
|
399
|
+
}
|
|
400
|
+
getInputModels() {
|
|
435
401
|
return this.inputModels;
|
|
436
|
-
}
|
|
437
|
-
|
|
402
|
+
}
|
|
403
|
+
getOutputModels() {
|
|
438
404
|
return this.outputModels;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
if (this.labels.some(
|
|
442
|
-
throw new Error(
|
|
405
|
+
}
|
|
406
|
+
addLabel(label) {
|
|
407
|
+
if (this.labels.some(l => l === label)) {
|
|
408
|
+
throw new Error(`There is already label "${label}" in "${this.name}" entity`);
|
|
443
409
|
}
|
|
444
410
|
this.labels.push(label);
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
this.labels = this.labels.filter(
|
|
411
|
+
}
|
|
412
|
+
delLabel(label) {
|
|
413
|
+
this.labels = this.labels.filter((l) => l !== label);
|
|
448
414
|
return this;
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
return
|
|
415
|
+
}
|
|
416
|
+
build() {
|
|
417
|
+
return Object.assign(Object.assign({}, super.build()), { title: this.title, singleKey: this.singleKey,
|
|
452
418
|
// titleField: this.titleField.build(),
|
|
453
419
|
titleField: this.titleField.name,
|
|
454
420
|
// linkFields: this.getLinkFileds().map(f => f.build()),
|
|
455
421
|
// keyField: this.getKey().build(),
|
|
456
|
-
keyField: this.getKey().name, fields: this.getFileds().map(
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
var _this = this;
|
|
422
|
+
keyField: this.getKey().name, fields: this.getFileds().map((field) => field.build()), uniqueConstraints: this.getUniqueConstraints(), indexes: this.indexes, forms: this.getForms().build(), predefinedElements: this.predefinedElements, devPerefinedElements: this.devPerefinedElements, auditable: this.auditable, externalSearch: this.externalSearch, elasticOnly: this.elasticOnly, searchEnabled: this.searchEnabled, sortField: this.sortField, sortOrder: this.sortOrder, multitenancy: this.multitenancy, commonElementsVisibleToAll: this.commonElementsVisibleToAll, externalSearchName: this.externalSearchName, sharded: this.sharded, isExternalSearch: this.isExternalSearch, creatableByUser: this.creatableByUser, updatableByUser: this.updatableByUser, removableByUser: this.removableByUser, exportableByUser: this.exportableByUser, clearDBAfter: this.clearDBAfter, allowedToChange: this.allowedToChange, permissions: this.permissions.map(p => p.build()), pages: this.pages.map(p => p.build()), generalModels: this.generalModels.map(m => m.build()), inputModels: this.inputModels.map(m => m.build()), outputModels: this.outputModels.map(m => m.build()), methods: this.methods.map(m => m.build()), labels: this.labels });
|
|
423
|
+
}
|
|
424
|
+
initFormas() {
|
|
460
425
|
if (!this.forms) {
|
|
461
|
-
this.forms = new FormsBuilder_1.default(
|
|
426
|
+
this.forms = new FormsBuilder_1.default(() => this);
|
|
462
427
|
}
|
|
463
428
|
return this;
|
|
464
|
-
}
|
|
465
|
-
|
|
429
|
+
}
|
|
430
|
+
getForms() {
|
|
466
431
|
this.initFormas();
|
|
467
432
|
return this.forms;
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
BaseSavableEntityBuilder.prototype.setPredefinedElements = function (fields) {
|
|
433
|
+
}
|
|
434
|
+
addPredefinedElements(fields) {
|
|
435
|
+
this.predefinedElements.push(...fields);
|
|
436
|
+
}
|
|
437
|
+
setPredefinedElements(fields) {
|
|
474
438
|
this.predefinedElements = fields;
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
BaseSavableEntityBuilder.prototype.setDevPredefinedElements = function (fields) {
|
|
439
|
+
}
|
|
440
|
+
addDevPredefinedElements(fields) {
|
|
441
|
+
this.devPerefinedElements.push(...fields);
|
|
442
|
+
}
|
|
443
|
+
setDevPredefinedElements(fields) {
|
|
481
444
|
this.devPerefinedElements = fields;
|
|
482
|
-
}
|
|
483
|
-
|
|
445
|
+
}
|
|
446
|
+
setMultitenancy(multitenancy, commonElementsVisibleToAll) {
|
|
484
447
|
this.multitenancy = multitenancy;
|
|
485
448
|
if (multitenancy !== 'optional' &&
|
|
486
449
|
commonElementsVisibleToAll !== undefined) {
|
|
487
|
-
throw new Error(
|
|
450
|
+
throw new Error(`You are trying to specify commonElementsVisibleToAll, but multitenancy is not optional (${multitenancy})`);
|
|
488
451
|
}
|
|
489
452
|
this.commonElementsVisibleToAll =
|
|
490
453
|
commonElementsVisibleToAll || multitenancy === 'optional';
|
|
491
454
|
this.delField('tenantId');
|
|
492
455
|
if (multitenancy !== 'none') {
|
|
493
|
-
|
|
456
|
+
const tenantField = this.addLinkField('tenants', 'tenantId')
|
|
494
457
|
.setType('int')
|
|
495
458
|
.setNotUpdatableByUser();
|
|
496
459
|
if (multitenancy === 'required') {
|
|
@@ -499,26 +462,23 @@ var BaseSavableEntityBuilder = /** @class */ (function (_super) {
|
|
|
499
462
|
.setNotUpdatableByUser(undefined, "await ctx.service('profile').getRequiredTenantId()");
|
|
500
463
|
}
|
|
501
464
|
}
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
if (value === void 0) { value = true; }
|
|
465
|
+
}
|
|
466
|
+
setSharded(value = true) {
|
|
505
467
|
this.sharded = value;
|
|
506
468
|
return this;
|
|
507
|
-
}
|
|
508
|
-
|
|
469
|
+
}
|
|
470
|
+
setIsExternalTable() {
|
|
509
471
|
this.isExternalSearch = true;
|
|
510
472
|
return this;
|
|
511
|
-
}
|
|
512
|
-
|
|
473
|
+
}
|
|
474
|
+
setClearDBAfter(count, unit) {
|
|
513
475
|
this.clearDBAfter.push({ 'count': count, 'unit': unit });
|
|
514
476
|
return this;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
if (value === void 0) { value = ''; }
|
|
477
|
+
}
|
|
478
|
+
setAllowedToChange(value = '') {
|
|
518
479
|
this.allowedToChange = value;
|
|
519
480
|
return this;
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
}(BaseBuilder_1.default));
|
|
481
|
+
}
|
|
482
|
+
}
|
|
523
483
|
exports.default = BaseSavableEntityBuilder;
|
|
524
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNhdmFibGVFbnRpdHlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9idWlsZGVycy9CYXNlU2F2YWJsZUVudGl0eUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUZBQTREO0FBQzVELDJFQUFvRDtBQUNwRCwrRUFBd0Q7QUFDeEQsK0NBQThIO0FBQzlILG9FQUE2QztBQUM3Qyw4REFBdUM7QUFDdkMsbUVBQTRDO0FBRTVDLHVGQUFnRTtBQUNoRSwyQ0FBdUQ7QUFDdkQsdUNBQTBCO0FBQzFCLDBFQUFtRDtBQUNuRCw4REFBdUM7QUFDdkMsK0VBQXdEO0FBQ3hELHlFQUEyRTtBQUUzRSxzQ0FBc0M7QUFDdEMsV0FBVztBQUNYLFdBQVc7QUFDWCxhQUFhO0FBQ2IsWUFBWTtBQUNaLElBQUk7QUFFSixrQ0FBa0M7QUFDbEMsd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYztBQUNkLElBQUk7QUFFSjtJQUFnRCw0Q0FBVztJQTBDekQsa0NBQVksSUFBWSxFQUFFLGVBQXVCLEVBQUUsS0FBNEM7O1FBQS9GLFlBQ0Usa0JBQU0sSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsU0FvQnBDO1FBN0RELGlCQUFXLEdBQXdCLEVBQUUsQ0FBQTtRQUNyQyxZQUFNLEdBQW1CLEVBQUUsQ0FBQTtRQUMzQix1QkFBaUIsR0FBZSxFQUFFLENBQUE7UUFDbEMsYUFBTyxHQUFpQixFQUFFLENBQUE7UUFDaEIsVUFBSSxHQUFHLFNBQVMsQ0FBQTtRQUUxQixlQUFTLEdBQUcsS0FBSyxDQUFBO1FBQ2pCLGNBQVEsR0FBRyxJQUFJLENBQUE7UUFDZixlQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLGFBQU8sR0FBRyxLQUFLLENBQUE7UUFD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
|
|
484
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNhdmFibGVFbnRpdHlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9idWlsZGVycy9CYXNlU2F2YWJsZUVudGl0eUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFGQUE0RDtBQUM1RCw2RUFBb0Q7QUFDcEQsaUZBQXdEO0FBQ3hELGlEQUE4SDtBQUM5SCxzRUFBNkM7QUFDN0MsZ0VBQXVDO0FBQ3ZDLHFFQUE0QztBQUU1Qyx5RkFBZ0U7QUFDaEUsNkNBQXVEO0FBQ3ZELHlDQUEwQjtBQUMxQiw0RUFBbUQ7QUFDbkQsZ0VBQXVDO0FBQ3ZDLGlGQUF3RDtBQUN4RCwyRUFBMkU7QUFFM0Usc0NBQXNDO0FBQ3RDLFdBQVc7QUFDWCxXQUFXO0FBQ1gsYUFBYTtBQUNiLFlBQVk7QUFDWixJQUFJO0FBRUosa0NBQWtDO0FBQ2xDLHdCQUF3QjtBQUN4QixjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxJQUFJO0FBRUosTUFBZSx3QkFBeUIsU0FBUSxxQkFBVztJQTBDekQsWUFBWSxJQUFZLEVBQUUsZUFBdUIsRUFBRSxLQUE0Qzs7UUFDN0YsS0FBSyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUE7UUF6Q3JDLGdCQUFXLEdBQXdCLEVBQUUsQ0FBQTtRQUNyQyxXQUFNLEdBQW1CLEVBQUUsQ0FBQTtRQUMzQixzQkFBaUIsR0FBZSxFQUFFLENBQUE7UUFDbEMsWUFBTyxHQUFpQixFQUFFLENBQUE7UUFDaEIsU0FBSSxHQUFHLFNBQVMsQ0FBQTtRQUUxQixjQUFTLEdBQUcsS0FBSyxDQUFBO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUE7UUFDZixjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLHFCQUFnQixHQUFHLElBQUksQ0FBQTtRQUN2QixVQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ1YsY0FBUyxHQUFHLElBQUksQ0FBQTtRQUNoQixjQUFTLEdBQW1CLE1BQU0sQ0FBQTtRQUNsQyxlQUFVLEdBQWEsRUFBRSxDQUFBO1FBRXpCLHVCQUFrQixHQUEwQixFQUFFLENBQUE7UUFDOUMseUJBQW9CLEdBQTBCLEVBQUUsQ0FBQTtRQUNoRCxrQkFBYSxHQUFHLElBQUksQ0FBQTtRQUNwQixtQkFBYyxHQUFHLEtBQUssQ0FBQTtRQUN0QixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUNuQixpQkFBWSxHQUFpQixNQUFNLENBQUE7UUFDbkMsK0JBQTBCLEdBQUcsS0FBSyxDQUFBO1FBQ2xDLFVBQUssR0FBdUQsRUFBRSxDQUFBO1FBQzlELHVCQUFrQixHQUF1QixTQUFTLENBQUE7UUFDbEQsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUNmLHFCQUFnQixHQUFHLEtBQUssQ0FBQTtRQUN4QixpQkFBWSxHQUFzQyxFQUFFLENBQUM7UUFDckQsb0JBQWUsR0FBVyxFQUFFLENBQUE7UUFDNUIsVUFBSyxHQUFrQixFQUFFLENBQUM7UUFDaEIsWUFBTyxHQUFvQixFQUFFLENBQUE7UUFDN0Isa0JBQWEsR0FBdUIsRUFBRSxDQUFDLENBQUMsNkNBQTZDO1FBQ3JGLGdCQUFXLEdBQXVCLEVBQUUsQ0FBQyxDQUFDLHdDQUF3QztRQUM5RSxpQkFBWSxHQUF1QixFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7UUFDMUYsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUlwQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsTUFBTSxFQUFFLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sbUNBQUksSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFBLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFFBQVEsbUNBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sbUNBQUksSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUVsRyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksd0JBQWMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDO2FBQ2hELFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQ3BCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLHdCQUFjLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFBO1FBRTNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFBLG1CQUFXLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsQ0FBQztRQUNwSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxTQUFTLEVBQUUsSUFBSSxJQUFJLFNBQVMsRUFBRSxHQUFHLElBQUEsbUJBQVcsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksaUJBQWlCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLElBQUksU0FBUyxDQUFDLENBQUM7UUFFbkosSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUseUJBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLHlCQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSx5QkFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUseUJBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRWpFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFBLG1CQUFXLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFBLG1CQUFXLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUF5QyxFQUFFLFFBQWlCO1FBQ25FLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUE7UUFDbkUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEtBQUssQ0FBQTtRQUVwQyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQTtRQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLElBQUEsY0FBTSxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUE7UUFDdkUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFFdkIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsYUFBdUI7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLGFBQWIsYUFBYSxjQUFiLGFBQWEsR0FBSSxJQUFJLENBQUE7UUFFMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxJQUFJLEtBQUssRUFBRTtZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1NBQ3hCO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksSUFBSSxDQUFBO1FBRWxDLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFtQjtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsYUFBVCxTQUFTLGNBQVQsU0FBUyxHQUFJLElBQUksQ0FBQTtRQUVsQyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxXQUFXLENBQUMsUUFBa0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLGFBQVIsUUFBUSxjQUFSLFFBQVEsR0FBSSxJQUFJLENBQUE7UUFFaEMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsZUFBeUI7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLGFBQWYsZUFBZSxjQUFmLGVBQWUsR0FBSSxJQUFJLENBQUE7UUFFOUMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsZUFBeUI7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLGFBQWYsZUFBZSxjQUFmLGVBQWUsR0FBSSxJQUFJLENBQUE7UUFFOUMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsZUFBeUI7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLGFBQWYsZUFBZSxjQUFmLGVBQWUsR0FBSSxJQUFJLENBQUE7UUFFOUMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsbUJBQW1CLENBQUMsZ0JBQTBCO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsYUFBaEIsZ0JBQWdCLGNBQWhCLGdCQUFnQixHQUFJLElBQUksQ0FBQTtRQUVoRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1NBQzFDO1FBRUQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFBO0lBQ2hCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVELG9CQUFvQixDQUFFLGtCQUFrQixHQUFHLEtBQUs7UUFDOUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXpELE1BQU0sK0JBQStCLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxhQUFhLElBQUksa0JBQWtCLENBQUM7UUFFMUYsSUFBSSxDQUFDLCtCQUErQixJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUMzRixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEM7UUFFRCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxHQUFHLENBQUMsQ0FBQTtTQUN6RDtRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQzVCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUNwQixDQUFBO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQ04sSUFBWSxFQUNaLEtBQWMsRUFDZCxFQUFFLFlBQVksS0FBaUMsRUFBRTtRQUVqRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQ2IscUNBQXFDLElBQUksYUFBYSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQ2xFLENBQUE7U0FDRjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksNEJBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFdkIsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFBO1NBQy9CO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUEsbUJBQVcsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUE7UUFFeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUEsbUJBQVcsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELFlBQVksQ0FDVixDQUEwQixFQUMxQixJQUFZLEVBQ1osS0FBYzs7UUFFZCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUE7UUFDZCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQ2IscUNBQXFDLElBQUksYUFBYSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQ2xFLENBQUE7U0FDRjtRQUVELHVCQUF1QjtRQUN2QixJQUFJLE1BQU0sWUFBWSx3QkFBYyxFQUFFO1lBQ3BDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFBO1NBQ3JCO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSwwQkFBZ0IsQ0FDaEMsTUFBTSxFQUNOLElBQUksRUFDSixJQUFJLENBQUMsZUFBZSxFQUNwQixLQUFLLENBQ04sQ0FBQTtRQUVELDZCQUE2QjtRQUM3QixJQUFJLENBQUMsWUFBWSx3QkFBYyxFQUFFO1lBQy9CLE1BQU0sVUFBVSxHQUFHLE1BQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzlCLENBQUMsS0FBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLHdCQUFjLENBQ3pELDBDQUFFLElBQWlDLENBQUE7WUFFcEMsSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7Z0JBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7YUFDMUI7U0FDRjtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRXZCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZLEVBQUUsS0FBYztRQUN2QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUM1QyxNQUFNLElBQUksS0FBSyxDQUNiLHFDQUFxQyxJQUFJLGFBQWEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUNsRSxDQUFBO1NBQ0Y7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLDBCQUFnQixDQUNoQyxNQUFNLEVBQ04sSUFBSSxFQUNKLElBQUksQ0FBQyxlQUFlLEVBQ3BCLEtBQUssQ0FDTixDQUFBO1FBQ0QsS0FBSyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRXZCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFZLEVBQUUsS0FBYztRQUN4QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUM1QyxNQUFNLElBQUksS0FBSyxDQUNiLHFDQUFxQyxJQUFJLGFBQWEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUNsRSxDQUFBO1NBQ0Y7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLDBCQUFnQixDQUNoQyxNQUFNLEVBQ04sSUFBSSxFQUNKLElBQUksQ0FBQyxlQUFlLEVBQ3BCLEtBQUssQ0FDTixDQUFBO1FBQ0QsS0FBSyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFdkIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCLENBQ2QsQ0FBMEIsRUFDMUIsSUFBWSxFQUNaLEtBQWM7O1FBRWQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFBO1FBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUM1QyxNQUFNLElBQUksS0FBSyxDQUNiLHFDQUFxQyxJQUFJLGFBQWEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUNsRSxDQUFBO1NBQ0Y7UUFFRCx1QkFBdUI7UUFDdkIsSUFBSSxNQUFNLFlBQVksd0JBQWMsRUFBRTtZQUNwQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQTtTQUNyQjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksOEJBQW9CLENBQ3BDLE1BQU0sRUFDTixJQUFJLEVBQ0osSUFBSSxDQUFDLGVBQWUsRUFDcEIsS0FBSyxDQUNOLENBQUE7UUFFRCw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLFlBQVksd0JBQWMsRUFBRTtZQUMvQixNQUFNLFVBQVUsR0FBRyxNQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM5QixDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSx3QkFBYyxDQUN6RCwwQ0FBRSxJQUFpQyxDQUFBO1lBRXBDLElBQUksVUFBVSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO2dCQUMzQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO2FBQzFCO1NBQ0Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUV2QixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxVQUFrQjtRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FHbkQsQ0FBQTtRQUNiLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUNiLGdDQUFnQyxVQUFVLGtEQUFrRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQ3hHLENBQUE7U0FDRjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO1FBRXZCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhLEVBQUUsS0FBcUI7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FDYixnQ0FBZ0MsS0FBSyxpREFBaUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUNsRyxDQUFBO1NBQ0Y7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtRQUV0QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFnQjtRQUNsQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFFdEMsdUVBQXVFO1FBQ3ZFLE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRTFELDRFQUE0RTtRQUM1RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQzt3QkFDRSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUE0QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsTUFBTSxDQUFDLE1BQU0sQ0FDckssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUN0QztlQUNRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1NBQ3RCO1FBRUQsa0VBQWtFO1FBQ2xFLGtJQUFrSTtRQUNsSSxxS0FBcUs7UUFDckssMkJBQTJCO1FBQzNCLElBQUk7UUFFSixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRW5DLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELFFBQVEsQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQVE7UUFDNUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBRXRDLE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRTFELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN0RCxNQUFNLElBQUksS0FBSyxDQUFDO3dCQUNFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixNQUFNLENBQUMsTUFBTSxDQUNuSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQ3RDO2VBQ1EsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7U0FDdEI7UUFFRCxJQUFJLElBQUksS0FBSyx3QkFBUyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUMzRjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFFbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVksRUFBRSxJQUFvQjtRQUM3QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsSUFBSSxhQUFhLENBQUMsQ0FBQTtTQUMxRTtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksMkJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3BILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRWpDLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELE9BQU8sQ0FDTCxJQUFZLEVBQ1osSUFBWSxFQUNaLEtBQWEsRUFDYixLQUFjO1FBRWQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxRQUFRLENBQUMsQ0FBQztTQUNwRDtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUkscUJBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBRTVFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXJCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFnQjtRQUM1QixNQUFNLEtBQUssR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxRQUFRLGFBQWEsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVMsQ0FDUCxJQUFZLEVBQ1osVUFBc0IsRUFDdEIsS0FBYztRQUVkLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxpQkFBaUIsQ0FBQyxDQUFBO1NBQzVFO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDcEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFeEIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUNiLElBQVksRUFDWixLQUFjO1FBRWQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ3BELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksaUJBQWlCLENBQUMsQ0FBQTtTQUM1RTtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksMEJBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ25GLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRTlCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELGFBQWEsQ0FDWCxJQUFZLEVBQ1osS0FBYztRQUVkLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNwRCxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLGlCQUFpQixDQUFDLENBQUE7U0FDNUU7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLDBCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUNuRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUU1QixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxjQUFjLENBQ1osSUFBWSxFQUNaLEtBQWM7UUFFZCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxpQkFBaUIsQ0FBQyxDQUFBO1NBQzVFO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSwwQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDbkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFN0IsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ25CLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDcEIsR0FBRyxJQUFJLENBQUMsYUFBYTtTQUN0QixDQUFBO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUM7U0FDL0U7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFBO1FBRXBELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELEtBQUs7UUFDSCx1Q0FDSyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsdUNBQXVDO1lBQ3ZDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7WUFDaEMsd0RBQXdEO1lBQ3hELG1DQUFtQztZQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFDNUIsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUN0RCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFDOUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQzlCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFDM0Msb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUMvQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQ25DLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUM3QixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUN6QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFDL0IsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixFQUMzRCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQzNDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUNyQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQ3ZDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFDckMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQ3JDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFDdkMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQy9CLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUNyQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFDakQsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQ3JDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUNyRCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFDakQsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQ25ELE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUN6QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFDcEI7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHNCQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDMUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRWpCLE9BQU8sSUFBSSxDQUFDLEtBQXFCLENBQUE7SUFDbkMsQ0FBQztJQUVELHFCQUFxQixDQUFDLE1BQTZCO1FBQ2pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBNkI7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQTtJQUNsQyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsTUFBNkI7UUFDcEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxNQUE2QjtRQUNwRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFBO0lBQ3BDLENBQUM7SUFFRCxlQUFlLENBQ2IsWUFBMEIsRUFDMUIsMEJBQW9DO1FBRXBDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFBO1FBRWhDLElBQ0UsWUFBWSxLQUFLLFVBQVU7WUFDM0IsMEJBQTBCLEtBQUssU0FBUyxFQUN4QztZQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkZBQTJGLFlBQVksR0FBRyxDQUMzRyxDQUFBO1NBQ0Y7UUFFRCxJQUFJLENBQUMsMEJBQTBCO1lBQzdCLDBCQUEwQixJQUFJLFlBQVksS0FBSyxVQUFVLENBQUE7UUFFM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN6QixJQUFJLFlBQVksS0FBSyxNQUFNLEVBQUU7WUFDM0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO2lCQUN6RCxPQUFPLENBQUMsS0FBSyxDQUFDO2lCQUNkLHFCQUFxQixFQUFFLENBQUE7WUFDMUIsSUFBSSxZQUFZLEtBQUssVUFBVSxFQUFFO2dCQUMvQixXQUFXO3FCQUNSLFdBQVcsRUFBRTtxQkFDYixxQkFBcUIsQ0FDcEIsU0FBUyxFQUNULG9EQUFvRCxDQUNyRCxDQUFBO2FBQ0o7U0FDRjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUUsS0FBSyxHQUFHLElBQUk7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFFcEIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUE7UUFDNUIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsZUFBZSxDQUFFLEtBQWEsRUFBRSxJQUFjO1FBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUV2RCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxrQkFBa0IsQ0FBRSxRQUFnQixFQUFFO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBRTVCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztDQUNGO0FBRUQsa0JBQWUsd0JBQXdCLENBQUEifQ==
|